BART 새로운 표현 추출 기법으로 소개

안녕하세요.올해 9월까지 대학원에서 자연언어처리 연구를 해왔고, 올해 10월부터 산산주식회사에 입사했다.업무 외에 자연 언어 처리 기술을 추구하는 것 외에 분석 경기와 경쟁 전공도 진행한다.
이 글은 Sansan Advent Calendar 2021 17일째 되는 글이다.

개시하다


오늘BART을 사용하여 고유 표현 추출을 하는 기법Template-Based Named Entity Recognition Using BART을 소개합니다.이 연구는 자연 언어로 처리된 국제회의 ACL2021을 통과시켰다.저자 구현가 공개됐기 때문에 글의 후반부에서 일본어로 이동하는 실험을 했다.

논문 소개


이른바 고유의 표현이 추출되다


고유적 표현은 고유명사, 시간적 표현, 금액적 표현 등을 총칭한다.추출고유표현은'문장에 포함된 고유표현을 추출하라','추출된 단어가 어떤 표현인지 추측한다(인명, 조직명...)'등 두 가지가 있다.
입력
山田太郎は10月にXX株式会社に入社しました
출력
山田太郎:人名
10月:時間表現
XX株式会社:組織名

기존 방법



그림은 원 논문에서 인용한 것이다.문장을 단어 단위로 나누어 Enceoder에 입력하고 MLP(CRF) 층을 통해 문제를 분류하는 것처럼 출력합니다.이 Enocder 섹션에서는 BERT와 같은 언어 모델을 자주 사용합니다.

제안 수법


프리 프로세싱


이 말
ACL will be held in Bangkok.
의 느낌으로 모든 경계에 대해 문장을 만든다.Bangkok is a location entity.처럼 고유명사를 포함하는 문장은 모두 학습에 사용되며, 그렇지 않으면 문장을 샘플링한 후 일부분만 사용한다.실제 학습 데이터는 다음과 같다.
ACL is a conference entity.
ACL will is not an entity.
……
in Bangkok is not an entity.
Bangkok is a location entity.

배우다


하는 일은 매우 간단하다. 방금 한 데이터 집합의 input 문장을 입력 출력 output의 문장처럼 BART를 배운다.

추론


추론할 때 모든 경계를 각각 틀에 채워서 어느 것이 가장 적합한 점수를 선택한다.마지막으로 득점의 높낮이 순서에 따라 같은 영패를 두 번 포함하지 않는 것을 선택한다.

이 예는'ACL will은 고유의 표현이 아니다'와'뱅콕은 지명'이다.

결실



CoNLL 2003에서 실험한 점수입니다.Sequence Labeling-BERT가 기존 기법의 장에 소개한 모델입니다.멀티-template-BART는 제안 기법이 성능을 가장 잘 표현하는 설정으로 이 임무에서 고성능을 발휘하는 모델과 동등한 성능을 나타낸다.

이는 CoNLL 2003에서 학습한 후 라벨을 추가해 다른 어료고의 설정에서 F1점을 학습한 것이다.상부의 10,20,50100200500은 추가 학습의 어료 라이브러리 라벨의 건수를 나타낸다.Template-based-BART는 다른 방법에 비해 적은 어료 라이브러리라도 더 높은 성능을 얻을 수 있음을 알 수 있다.

실험


이 기사를 읽은 사람 중 절반가량은'영어로 표현할 수 있다는 건 알지만 일본어는 어떤가요?'그렇게 생각하시는 것 같습니다.저도 그렇게 생각해서 일본어로 실험하기로 했어요.

원래 설정 및 수정된 점


언어 모델


교토대 다크브리지 연구실은 Fairseq에 대응하는 일본어 BART 모델을 공개했다.저자의 실시는transformers를 이용했기 때문에 처음에 나는 이 일본어 BART를transformers의 형식으로 바꾸고 싶었다.그런데 잘 안 돼요.우선 이동해야 하지만 영패의 예측 등으로 수출이 부자연스러워진 것이 뚜렷하다.(잘 바꾸는 방법을 아는 사람이 있으면 알려주세요)
따라서 실험에 사용되는 언어 모델은facebook/mBART-large-cc25이다.이것mBART은 BART를 바탕으로 번역 성능을 향상시키는 것을 목적으로 하는 언어 모델이다.일본어를 포함한 다국어 어료고를 활용해 BART에 가까운 사전 학습을 하기 때문에 일본어 BART와 비슷한 움직임을 기대할 수 있다.

추론적 행위


작가의 실현은 평점이다{i=0}^N {p{w i} 방법으로 계산합니다.p_{w i}는 모든 단어의 단어 w입니다.출력 i의 확률(0긴 고유표현이 있느냐 없느냐의 전제도 문제없지만 길수록 점수가 작아져 긴 고유명사를 포착할 수 없다.일본어 실험에서는 저자의 실제 상황에 따라 진행하면 잘 돌아가지 못하고 고유의 표현이 거의 검출되지 않는다.
따라서 출현 확률의 적은perplexity로 변경된다.공식으로 쓰면.
\frac{1}{N}\sum_{i=0}^N\log{p{w i}.경계의 길이로 나누면 길이의 영향을 받기 어렵다.

태그 변경


논문에서 영어만 실험했기 때문에 일본어 라벨을 만들 필요가 있다.이곳의 라벨은'인명','조직명'등을 가리킨다.mbert의tokenizer는 일본어를 상당히 세밀하게 분할했기 때문에 분할된 영패 수를 동일하게 설정했다.

결실


precision
recall
f1
baseline
66.75
68.77
67.74
proposed
56.14
54.16
55.13
베이스라인은 기존 방법의 장에서 소개한 엔코더bert-base-multilingual-cased가 MLP층을 사용하여 출력하는 모델이다.
성능과 관련해서는 매개 변수 설정 등이 이뤄지지 않아 단순히 비교할 수는 없지만, 기존 방법과 비교하면 하나뿐이다.일본어도 그만큼 발전할 수 있다는 것을 깨달았기 때문에 일본어만 미리 배운 BART로 매개 변수의 조정과 추론의 득점을 계산하는 방법에 조금 더 공을 들이면 개선될 수 있을 것으로 보인다.

고찰과 감상


실제 실험의 소감으로 학습 시간은 별로 신경 쓰지 않았지만 GPU 사용도 느린 것으로 추정된다.기존 방법 장절에서 소개한 방법에 비해 이 방법의 추론 시간은 (라벨수 +1)x(한 문장에 포함된 경계의 수량)의 배이다.예를 들어 라벨 수가 12개이고 1~9개의 영패로 구성된 경계를 모두 고려하면 30개의 영패로 구성된 문장에 포함된 경계가 234개이기 때문에 간단한 계산을 통해 추론시간은 약 3000배에 이른다.따라서 실제 사용할 때는 세분화되지 않은 만담 기사를 사용하고 후보의 경계를 좁히는 방법을 결합시켜야 한다고 생각한다.
이 기법의 논문에서 쓰지 않은 장점은 학습 데이터의 편성이 매우 난잡하다는 것이다.경계가 고유명사인지 아닌지를 하나하나 판단하기 위해 한 문장에 여러 고유 표현이 포함된 경우 모두 개편하지 않으면 성능이 떨어지지 않는다.이 때문에 현실적으로 가능할지 모르겠지만'추리 시간이 늦어도 되니 많은 교잡 후의 데이터로 공부하고 싶다'는 때와 딱 맞을 수도 있다.

최후


이 글은 Template-Based Named Entity Recognition Using BART의 기법과 일본어의 실험을 소개했다.저는 고유 표현 이외의 자연 언어 처리 기술을 추출하는 데도 관심이 많아서 이런 것들을 소개할 기회가 있었으면 좋겠습니다.끝까지 읽어주셔서 감사합니다.

좋은 웹페이지 즐겨찾기