Action 기반 Local attention mechanism을 이용한 linear time 한국어 형태소 분석
황현선O 이창기 강원대학교 컴퓨터과학과 {hhs4322, leeck}@kangwon.ac.kr
Linear time Korean morphological analysis using Action-based Local attention mechanism
HyunSun Hwang, ChangKi Lee
Dept. of Computer Science, Kangwon National University 요 약
Sequence-to-sequence 모델은 입력열을 길이가 다른 출력열로 변환하는 End-to-end 방식의 딥 러닝 모델로 다양한 자연어처리의 열 생성 문제에 적용할 수 있다. 그러나 이러한 sequence-to-sequence 모 델은 높은 성능을 위해 attention mechanism, copying mechanism등의 기술들을 사용하게 되는데 이는 입력열의 길이 n에 대해 시간복잡도 O(n2)을 가지게 된다. 본 논문에서는 한국어 형태소 분석의 특성을 고려한 action 기반의 local attention mechanism을 적용하여 시간복잡도 O(n)의 End-to-end 한국어 형 태소 분석 방법을 제안한다. 실험 결과 단일 스레드 환경에서 약 5배의 속도 향상을 보였다.
1. 서 론
한국어 형태소 분석은 한국어 자연어처리 중 하나로 형태소 분리, 품사 태깅, 원형 복원 등의 여러 단계를 거쳐 분석을 하게 되어 난이도가 높은 작업에 속한다.
최근 딥 러닝의 모델 중 하나인 sequence-to-sequence 모델의 등장으로 기계번역 문제를 열 생성 문제로 바꾸어 복잡한 작업 없이 End-to-end 방식으로 해결하는 연구들이 진행이 되었다[1,2]. 이는 기계번역 이외의 출력열을 생성하는 자연어처리의 문제들에 대해서도 sequence-to- sequence 모델을 적용할 수 있으며 이를 이용한 다양한 연구들이 진행되었다[3,4,5].
Sequence-to-sequence 모델은 높은 성능을 내기 위해 attention mechanism[2], copying mechanism[6]등의 기술들이 연구되었으나, 이러한 기술들은 출력 단어를 생성할 때 마다 입력열 전체에 대한 matrix 연산을 수행하게 되어 sequence-to-sequence 모델을 입력열의 길이 n에 대해 O(n2)의 시간복잡도를 가지게 된다. 본 논문에서는 monotone 입출력 관계를 가지는 한국어 형태소 분석의 특성을 이용하여 action 기반의 local attention mechanism을 적용하여 O(n)의 시간복잡도를 가지는 End-to-end 방식의 한국어 형태소 분석 방법을 제안한다.
2. 관련연구
한국어 형태소 분석은 여러 단계를 거쳐 분석이 되어 난이도가 높은 작업에 속하나, 최근 sequence-to-sequence 모델을 이용한 End-to-end 방식의 분석 방법이 연구되었다[3,4]. [3]에서는 형태소 분석이 될 문장을
음절단위로 sequence-to-sequence 모델에 입력하여 형태소 분석이 된 결과를 음절단위 및 품사태그로 출력을 하여 End- to-end 방식의 형태소 분석을 시도하였다. [4]에서는 대부분의 입력 음절들이 출력열에서도 등장하는 형태소 분석의 특징을 반영하여 copying mechanism을 적용한 sequence-to-sequence 모델로 형태소 분석을 시도하였다.
Sequence-to-sequence 모델은 출력열 생성 문제를 End- to-end 방식으로 해결할 수 있는 모델[1]로 높은 성능을 내기 위해 다양한 기술들이 연구되었다[2,6]. [7]에서는 sequence-to-sequence 모델이 해결하려는 문제가 특정 입출력 attention 관계를 가질 때 적용할 수 있는 local attention mechanism을 제안하여 불필요한 연산을 최소화 하였다. [5]에서는 [7]에서 적용한 monotone 입출력 관계에서의 local attention mechanism을 확장하여 monotone과 유사하지만 입력열과 출력열의 길이가 다른 입출력 관계를 가지는 문제에 대해 action 기반 hard attention mechanism을 제안하였다.
본 논문에서는 monotone과 유사하지만 입력열과 출력열의 길이가 다른 한국어 형태소 분석 특성을 반영하여 [5]에서의 action 기반 hard attention mechanism을 local soft attention mechanism으로 수정한 모델을 제안한다.
3. Action 기반 local attention mechanism을 이용한 한국어 형태소 분석
[7]에서의 local attention mechanism은 출력단어 생성시 입력열에서 집중할 위치를 알고 있다고 가정하였다. 그러나
655
2017년 한국소프트웨어종합학술대회 논문집
입력열과 출력열의 길이가 다른 한국어 형태소 분석의 경우 집중할 위치를 구체적으로 알기 어렵다는 문제가 있다(그림 1). 이에 따라 본 논문에서는 다음과 같은 모델을 제안한다.
그림 1. Global attention mechanism이 적용된 한국어 형태소 분석의 attention weight 예시
3.1 ‘<step>’ action 기반 모델
그림 2. Action 기반 local attention mechanism을 이용한 한국어 형태소 분석 모델
그림 3. Local attention mechanism이 적용된 모델의 그림
우선 sequence-to-sequence 모델의 출력단어 사전에
‘<step>’ 이라는 action을 추가하였다. 이 ‘<step>’은 출력단어 생성시 입력열에서 집중하는 위치를 움직이는 action으로 그 외의 단어 생성시에는 위치를 움직이지 않게 된다. 이때 집중하는 위치는 한쪽 방향으로만 움직인다고 가정하여 ‘<step>’ action을 생성시 해당 출력단어 생성할 때의 집중하는 위치를 1 증가시키게 된다(그림 2 참고).
다음은 local attention mechanism이 적용된 한국어 형태소 분석 모델의 그림(그림 3)이다. 기본 모델은 [4]에서의 attention mechanism, input-feeding, copying mechanism이 적용된 모델과 동일하며, attention mechanism과 copying mechanism을 입력열에서 집중할 위치(그림 3에서 p)를 기준으로 지정된 window-size(그림 3에서 d) 만큼의 범위만을 계산하며, 상세한 수식은 다음과 같다.
{ℎ1, ⋯ , ℎ𝑇} = 𝑏𝑖𝐺𝑅𝑈({𝑥1, ⋯ , 𝑥𝑇})
𝑒𝑖𝑡= 𝑓𝐴𝑇𝑇(𝐸𝑡𝑔𝑡(𝑦𝑡−1), ℎ1𝑡−1, ℎ2𝑡−1, ℎ𝑖), (𝑝𝑛− 𝑑) ≤ 𝑖 ≤ (𝑝𝑛+ 𝑑)
𝑎𝑖𝑡= exp(𝑒𝑖𝑡)
∑𝑝𝑝𝑛𝑛+𝑑−𝑑exp(𝑒𝑗𝑡)
𝑐𝑡= ∑ 𝑎𝑖𝑡ℎ𝑖 𝑝𝑛+𝑑
𝑖=𝑝𝑛−𝑑
P(𝑦𝑡|x)
= { 1
𝑧(exp(𝑠𝑡) + ∑ exp (𝑒𝑐𝑜𝑝𝑦
𝑗𝑡)
𝑗:𝑥𝑗=𝑛𝑒𝑤 𝑦𝑡
) , 𝑦𝑡∈ {𝑥𝑝𝑛−𝑑, ⋯ , 𝑥𝑝𝑛+𝑑} 1
𝑧exp(𝑠𝑡) , 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 𝑝𝑛= {𝑝𝑛−1+ 1, 𝑦𝑡−1=′< 𝑠𝑡𝑒𝑝 > ′
𝑝𝑛−1, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
기존의 attention mechanism과 달리 context vector(𝑐𝑡)를 구할 때 입력열의 1부터 T까지의 범위가 아닌 𝑝𝑛− 𝑑 부터 𝑝𝑛+ 𝑑 까지의 범위만을 계산하게 되며 이는 copying mechanism에도 동일하게 사용된다. 이때 디코딩 시간 n에서의 입력열에서 집중할 위치(𝑝𝑛)는 이전 디코딩 시간의 출력단어가 ‘<step>’인 경우에 이전시간의 위치에서 1을 증가시키고 아닌 경우에는 그대로 사용하게 된다.
3.2 기존의 학습데이터 변환
이러한 action 방식의 모델은 local attention mechanism이 집중할 위치를 특정할 수 있다는 장점이 있으나, 기존의 학습데이터는 이러한 ‘<step>’ action에 대한 정보가 없다는 문제가 있다. 본 논문에서는 ‘<step>’ action 정보를 학습데이터에 추가하기 위해 [4]의 최고성능 모델의 출력 결과를 활용하였다. 디코더의 입력으로 정답 출력단어를 넣어 attention weight 정보를 얻고, 디코더의 각 시간 별로 이전시간에서 집중되었던 위치와 비교하여 ‘<step>’ action을 출력 단어들 사이에 추가하였다. 이때 집중하는 위치가 감소하지 않는다고 가정하여(학습데이터 중에서 0.1%미만으로
656
2017년 한국소프트웨어종합학술대회 논문집
관측됨) 만약 감소되는 경우 이전시간의 위치를 그대로 사용하게 하였다.
4. 실험 및 평가
본 논문에서 제안한 모델의 성능을 평가하기 위해 [4]와 동일한 세종 품사 태깅 코퍼스를 사용하였으며, 88,225문장을 학습데이터로, 9,185문장을 평가데이터로 사용하였으며 평가데이터 중 1,000문장을 개발데이터로 사용하였다. 동일한 비교를 위해 모델의 파라미터들은 [4]와 동일하게 hidden layer의 차원은 1,000, word embedding의 차원은 모두 200, beam-size는 10으로 지정하였으며 local attention mechanism을 위한 window-size는 2로 고정하였다.
표 1. 모델 별 형태소 분석 성능(F1-measure)
개발데이터 평가데이터
Global[4] 97.64% 97.08%
Local 96.40% 96.19%
Local(small) 94.05% 92.36%
Local(small +KD) 94.11% 92.99%
표 1은 모델 별 형태소 분석 성능을 나타낸 표이다. Global 모델은 [4]의 모델로 global attention mechanism을 나타낸다.
Local 모델은 본 논문에서 제안한 action 기반 local attention mechanism이 적용된 모델이다. Small은 hidden layer의 차원을 100, word embedding의 차원을 50까지 줄인 모델이며, KD는 Sequence-Level Knowledge Distillation[8]을 적용한 모델이다. Local 모델들의 ‘<step>’ action 학습 정보는 global 모델의 출력 결과를 참고하였으며, KD의 학습데이터는 global 모델의 beam-size 10의 출력결과를 이용하였다. 실험 결과 local 모델의 성능이 하락하여 한국어 형태소 분석 시, window-size 2만큼의 context 정보 이외의 정보가 필요하다는 것을 확인할 수 있었다. 그러나 본 논문에서 제안한 local 모델이 Attention mechanism과 copying mechanism을 유지한 채 시간복잡도 O(n)의 한국어 형태소 분석을 시도하여 성능저하를 최소화 한 것을 볼 수 있었다.
표 2. 모델 별 입출력 길이 및 걸린 시간 입력열
길이(평균)
출력열 길이(평균)
걸린시간 (평균 sec) Global[4]
73.5음절 (15.5어절)
115.6음절 226.40
Local 188.8음절 45.05
Local(small) 187.9음절 1.55 Local
(small +KD) 188.0음절 1.51
제안된 action 기반 local attention mechanism이 적용된 모델의 처리속도 측정을 위해 평가데이터에서 10문장을 임의 추출하여 beam-size 10의 처리속도를 CPU의 단일 스레드 환경에서 측정하였으며 그 결과는 표 2와 같다. 출력된
10문장의 평균 길이는 global 모델은 115.6음절, local 모델은 188.8음절 이다. 이는 local 모델의 경우 출력열에 ‘<step>’
action이 추가되어 생긴 차이이며, global 모델과 local 모델의 문장당 걸린시간 차이는 5배가량 차이가 나고 이를 생성 단어(음절)당으로 바꾸면 local 모델이 global 모델에 비해 순수하게 8배가량 빠른 것을 확인할 수 있다.
5. 결론
본 논문에서는 non-monotone의 입출력열 관계를 가지는 한국어 형태소 분석에 action 기반 local attention mechanism을 적용하였다. Sequence-to-sequence 모델의 성능을 높이기 위한 attention mechanism과 copying mechanism의 기술들을 살리면서 O(n)의 시간복잡도를 가지는 End-to-end 한국어 형태소 분석 방법을 제안하였다.
실험 결과 성능저하를 최소화하면서 단일 스레드 환경에서 속도가 향상되는 것을 보였다. 향후 연구로는 ‘<step>’
action의 추가로 늘어난 출력열의 길이와 copying mechanism의 복잡한 연산을 줄이는 방안을 연구할 예정이다.
감사의글
이 논문은 2016년도 정부(미래창조과학부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업임 (No.
NRF-2016R1C1B1014124)
참고문헌
[1] Cho, Kyunghyun, et al. "Learning phrase representations using RNN encoder-decoder for statistical machine translation." EMNLP 2014.
[2] Bahdanau, Dzmitry, Kyunghyun Cho, and Yoshua Bengio.
"Neural machine translation by jointly learning to align and translate." International Confernece on Learing Represnetations, 2015.
[3] 이건일, 이의현, 이종혁. "Sequence-to-sequence 기반 한국어 형태소 분석 및 품사 태깅." 정보과학회논문지 44.1 (2017): 57-62.
[4] 황현선, 이창기. "Copying mechanism 을 이용한 Sequence-to-Sequence 모델기반 한국어 형태소 분석."
한국정보과학회 학술발표논문집 (2016): 443-445.
[5] Aharoni, Roee, Yoav Goldberg, and Israel Ramat-Gan.
"Morphological Inflection Generation with Hard Monotonic Attention." Proceedings of ACL2017.
[6] Gu Jiatao, et al, "Incorporating copying mechanism in sequence-to-sequence learning." arXiv preprint arXiv:1603.06393 (2016).
[7] Luong, Minh-Thang, Hieu Pham, and Christopher D.
Manning. "Effective approaches to attention-based neural machine translation." EMNLP 2015.
[8] Yoon Kim and Alexander M Rush. 2016. Sequence-level knowledge distillation. arXiv preprint arXiv:1606.07947.
657