FastText와 Bert를 이용한 자동 용어추출 : 최규현, 나승훈 (전북대학교 인지컴퓨팅 연구실)
(제 33회 한글 및 한국어 정보처리 학술대회 논문집(2021년))

00. 서론
자연어 처리의 다양한 task에서 핵심이 되는 용어를 추출하는 것은 중요하다. 방대한 데이터를 읽고 사람이 직접 용어를 뽑아내는 것은 굉장히 많은 노동력을 필요로 하는 작업이기 때문에 이를 자동으로 수행하는 자동추출 기술이 요구 되고 있다. 이 논문에서는 용어를 추출하는 모델을 2가지로 제안하고 있다.
01. 용어 추출

용어란 텍스트에서 중요한 역할을 하는 단어를 말한다. 텍스트의 주제에 관계가 깊은 단어라고 생각하면 된다. 전문적인 내용을 담고 있는 문서에서 용어란 그 분야의 도메인에서 우세하게 등장하는 단어를 말한다. 예를 들어 의학 분야의 문서안에서 용어들은 대부분 의학적인 뜻을 가진 단어들일 것이다. 비전문적인 문서에서는 텍스트 내에서 중요한 역할을 하는 단어가 용어의 역할을 할 수 있다. 자동용어 추출은 컴퓨터 알고리즘을 통해 텍스트를 읽어 자동으로 용어라고 판단되는 단어를 필터링 하는 기술을 말한다.
02. 단어 표현

인공신경망을 이용해 학습을 하기 위해서 텍스트(단어)를 숫자로 표현하는 방법이 반드시 선행되어야 한다. 단어를 숫자로 표현한 벡터를 단어 임베딩이라 하고 이 벡터를 단어 표현이라고 부르기도 한다. 신경망을 사용해 언어 모델을 구축하게 되면 다차원으로 단어 표현이 형성된다. 단어 표현은 주변 단어의 빈도수 / 앞, 뒤 문맥을 반영해 형성이 되고 벡터의 각 차원들은 단어 표현의 분포적, 문맥적 특성을 반영한다.
용어에 해당하는 단어들을 대표하는 벡터를 형성해 용어라는 문장성분으로서의 특성을 나타내도록 한다. 그리고 텍스트의 단어들과 이 용어 벡터의 유사도를 계산하여 용어를 자동으로 추출하는 방식을 사용하는 것이 이 논문이 사용한 방법이다.
03. 관련 연구

이 모델은 BERT와 skip-gram을 융합한 모델로 논문에서 제안하는 모델의 기본이 되는 모델이다. skip-gram이랑 cbow랑 맨날 헷갈리는데 skip-gram은 중심단어로 주변단어를 예측하는 것이고 cbow는 주변단어로 중심단어를 예측하는 것이다.
skip-gram의 중심단어를 BERT의 단어표현으로 대체하고(그림의 오른쪽) skip-gram의 주변단어들과 attention product를 계산해 하나의 문맥벡터(context 벡터)를 형성한다(그림의 왼쪽 output). BERT단어 표현을 입력으로 주고, context벡터를 타겟으로 설정하여 테스트 단계에서 BERT단어 표현을 입력으로 했을 때 context벡터를 잘 예측하도록 NCEloss를 사용해 학습을 진행한다.
04. 제안 모델
이 논문에서는 두개의 모델을 제안한다. FastText모델에 이진분류기를 합친 모델과 앞에서 설명한 모델에서 아이디어를 얻은 BERT와 FastText를 융합한 모델이다.
이 그림이 논문에는 잘려 있었는데 발표자료에는 남아 있어서 다행히 참고 할 수 있었다. 논문 쓸 때 그림이 안잘리도록 신경을 잘 써야겠다... 하나 배움..!
먼저 FastText에 이진분류기를 얹은 모델이다. 주어진 코퍼스의 문장들은 (s = {w1, w2, ..., wn}) N그램 또는 Entity셋으로 구성되어 있고, Entity셋은 추출한 용어의 특성을 나타내줄 정답 레이블에 해당한다. 모든 Entity에 대한 단어 표현인 ei를 추출하고 모든 Entity를 대표하는 E를 구한다.
$$E = \frac{1}{N}\sum_{i=1}^{N}e_{i}$$
E와 유사도를 비교하여 0.5를 넘는 N그램에는 1, 0.5를 넘지 않는 N그램은 0을 태깅해 FNN을 사용하여 이진분류 학습을 진행한다. 테스트 단계에서 N그램들을 입력한 후 순전파 시켜 시그모이드함수를 통과시키면 0과 1사이의 실수값을 얻을 수 있는데 이 값이 1에 가까울 수록 추출하고자 하는 용어에 가까운 단어 표현이라고 할 수 있다.
두번째 모델은 Yile Wang의 모델에서 skip-gram을 FastText로 바꾼 모델이다. FastText에서 활용할 중심 단어의 단어 표현 ui를 BERT를 사용해 추출한다. FastText는 BERT에서 추출한 중심단어의 주변단어들(W_i-ws, ..., W_i+ws)의 단어 표현(v_i-ws, ..., v_i+ws)들을 추출하여 attention distribution을 계산한다.
e^t에 소프트맥스 함수를 적용하여, 모든 값을 합하면 1이 되는 확률 분포를 얻어냅니다. 이를 어텐션 분포(Attention Distribution)라고 하며, 각각의 값은 어텐션 가중치(Attention Weight)라고 합니다.
출처 https://wikidocs.net/22893
$$a_{j} = softmax(\left ( \frac{u_{i}^{T}v_{j}^{'}}{\sqrt{d_{v^{'}}}} \right ))$$
각 어텐션 분포의 결과값들을 FastText 단어 표현들과 곱한 후 전부 더해 v'_i_context를 얻는다. 형성된 context벡터를 NCEloss를 사용해 학습시킨다.
05. 실험
실험에 사용할 코퍼스는 한국어 위키백과에서 10,000문장 임의 추출한다. 문장 내 일부 단어들은 사람이름, 장소, 기관등으로 Entity태깅이 되어 있고, 형태소 단위로 토큰화 되어있다. Entity태깅된 단어들은 1-9개의 토큰으로 구성되는데 토큰이 4-9로 구성된 것은 전체의 0.83%밖에 되지 않기 때문에 불필요한 계산을 피하기 위해 tri-gram까지만 생성한다. 소수인 것은 그냥 무시한다는 말이다. 각 모델별로 용어임을 잘 나타내는 점수를 산출하여 정렬하여 구간을 정해 전체 N그램 중 용어에 해당하는 N그램들이 각 구간내에 잡히는 비율을 측정한다.
비교 분석을 진행할 모델이다. TF-IDF모델은 N그램 목록을 사용하여 String-matching을 통해 계산한다. TF-IDF가 큰 순서대로 정렬 후 각 구간내 N그램과 Entity목록의 교집합의 개수를 산출하고 전체 N그램 개수로 나누어 구간별 백분율 점수를 산출한다.
FastText모델에서는 Entity목록에 해당하는 단어 표현을 추출하고 평균을 구해 N그램 단어 표현과 유사도를 계산한다. 유사도가 높은 순으로 정렬하고 마찬가지로 Entity포함 비율을 측정한다.
이진분류기가 더해진 모델은 시그모이드 값이 큰 순서로 정렬한다.
BERT모델은 파인 튜닝 과정 없이 사전학습된 모델을 그대로 사용하고, Entity평균 벡터와 N그램 임베딩의 코사인 유사도를 측정해 높은 순으로 정렬한다.
FastText와 BERT융합 모델은 NCE학습된 N그램 임베딩 그룹의 각 벡터들을 Entity 평균벡터와 코사인 유사도를 측정한다.
이렇게 5개의 모델을 비교 분석하는 실험을 진행하였다.
06. 실험결과
이진 분류기가 붙은 모델이 가장 좋은 성능을 나타내며 BERT와 FastText융합 모델은 top 10000까지 좋은 성능을 보이다가 다른 모델에 역정당하는 것을 알 수 있다.
07. 끝
원래 알려진 모델의 아이디어를 가지고 와서 모델을 제안했다는 점에서 배울점이 많았다. 그 모델이 별로 성능이 좋지는 않았고, 왜 성능이 좋지 않은가에 대한 분석은 나와있지 않았지만 이런 아이디어를 생각할 수 있다는 것을 배웠다.
제일 처음 리뷰한 논문이라서 너무너무 힘들었다. 세미나 발표를 하면서도 부족한 점이 많아서 앞에서 진짜 진땀을 흘린 기억이 난다. 준비를 너무 안일하게 한 것 같아 그 이후로 교수님이 절대 의문이 생기지 않도록 준비를 철저하게 해야겠다는 굳은 다짐을 이끌어준... 하하!!!
'논문리뷰' 카테고리의 다른 글
[논문 리뷰 #6] 문장 수준 관계 추출을 위한 개체 중심 구문 트리 기반 모델 (1) | 2023.05.15 |
---|---|
[논문 리뷰 #5] 한국어 오픈 도메인 대화 모델의 CTRL을 활용한 혐오 표현 생성 완화 (1) | 2023.05.14 |
[논문 리뷰 #4] Attention Mechanism에 따른 포인터 네트워크 기반 의존 구문 분석 모델 비교 (0) | 2023.05.13 |
[논문 리뷰 #3] 긴 문서를 위한 BERT 기반의 End-to-End 한국어 상호참조 해결 (1) | 2023.05.12 |
[논문 리뷰 #2] 마스크 언어 모델 기반 비병렬 한국어 텍스트 스타일 변환 (0) | 2022.03.11 |
댓글