• 검색 결과가 없습니다.

멀티 태스크 학습 기반 포인터 네트워크를 이용한 한국어 의존 구문 분석

N/A
N/A
Protected

Academic year: 2021

Share "멀티 태스크 학습 기반 포인터 네트워크를 이용한 한국어 의존 구문 분석"

Copied!
3
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

멀티 태스크 학습 기반 포인터 네트워크를 이용한 한국어 의존 구문 분석

박천음 이창기 강원대학교 컴퓨터과학과 {parkce, leeck} @ kangwon.ac.kr

Korean Dependency Parsing for Pointer Networks based on Multi-task learning

Cheoneum Park, Changki Lee

Kangwon National University Dept. of Computer Science

요 약

본 논문에서는 멀티 태스크 학습 기반 포인터 네트워크를 이용한 한국어 의존 구문 분석 모델을 제안한 다. 멀티 태스크 학습은 두 개 이상의 문제를 동시에 학습시켜 성능을 향상시키는 방법으로, 본 논문에서 는 이 방법에 기반한 포인터 네트워크를 이용하여 어절 간의 의존 관계와 의존 레이블 정보를 동시에 구 하여 의존 구문 분석을 수행한다. 실험 결과, 본 논문에서 제안한 모델이 기존 한국어 의존 구문 분석 연 구들 보다 좋은 UAS 91.65%, LAS 89.34%의 성능을 보였다.

1. 서 론

구문 분석은 문장성분 사이의 관계를 분석하고 구조화하여 문장의 구조적, 의미적 중의성을 해결하는 자연어처리 문제이며, 구구조 구 문 분석(Phrase structure parsing)과 의존 구문 분석(Dependency parsing) 등이 있다. 의존 구문 분석은 문장구조를 중심어(head)와 수식어 (modifier)로 이루어진 의존 관계로 표현하는 방법으로[1], 한국 어와 같이 어순이 자유롭고 문장성분의 생략이 빈번한 언어에 서 주로 연구되었다. 의존 구문 분석은 의미 분석(상호참조해결, 의미역 결정, 개체명 인식 등)과 정보 추출, 온톨로지 확장, 질 의응답, 문서요약 등에 응용될 수 있다.

포인터 네트워크(Pointer Networks)[2]는 어텐션 메커니즘 (Attention mechanism)[3]을 이용하여 입력열에 대응되는 위치를 출력하는 Recurrent Neural Network (RNN)의 확장된 모델이다. 본 논문에서는 포인터 네트워크를 이용하여 입력문장에서 각 어절 의 중심어를 찾고 동시에 의존 구문 분석의 레이블(label) 정보 를 출력하는 멀티 태스크 학습(Multi-task learning) 기반 포인터 네트워크를 이용한 한국어 의존 구문 분석을 제안한다.

2. 관련 연구

최근 딥 러닝을 이용한 전이 기반 의존 구문 분석이 활발히 연구되고 있다[4, 5, 6, 7, 8]. [4]는 Feed-forward Neural Network (FFNN)와 다양한 자질조합을 이용하였고, [5]는 RNN을 이용하 여 전이 기반 의존 구문 분석을 수행하였다. [7, 8]의 경우, Stack LSTM 모델과 음절, 형태소 정보를 이용한 전이 기반 의존구 문 분석을 수행하였다.

본 논문에서 제안하는 멀티 태스크 학습 기반 포인터 네트 워크는 어텐션 메커니즘을 이용하여 입력 문장에서 각 어절의 중심어 위치를 출력하고, 동시에 의존 레이블 정보를 출력한

다. 따라서 기존 의존 구문 분석 모델들(전이기반[9] 및 그래 프기반 의존 구문 분석[10])을 적용하지 않아도 네트워크 출력 결과 만으로 의존 관계를 파악할 수 있다. 또한 멀티 태스크 학습 기반 포인터 네트워크는 중심어의 위치와 의존 레이블 (label) 정보를 동시에 학습할 수 있다.

3. 멀티 태스크 학습 기반 포인터 네트워크

포인터 네트워크는 출력 클래스의 개수가 입력 열 길이에 따라 변하는 문제를 처리할 수 있는 모델(즉, 출력이 입력열의 위치인 모델)이며, RNN encoder-decoder 모델[11] 기반으로 어텐션 메커니 즘을 이용한다. RNN encoder-decoder 모델은 주어진 입력 열을 인 코딩(encoding)하는 인코더(encoder RNN)와 인코딩을 이용하여 결 과 열을 생성하는 디코더(decoder RNN)로 구성된다. 어텐션 메커 니즘은 인코더의 hidden state와 현재까지 생성한 디코더의 hidden state를 이용하여 입력에 대한 어텐션 가중치(attention weight)를 학 습하고, 입력열 중 정답에 큰 영향을 주는 위치가 어디인지 결정 한다. 본 논문에서는 어텐션 메커니즘을 이용하여 주어진 단어와 중심어 의존 관계가 있는 단어의 위치를 결정한다.

멀티 태스크 학습 기반 포인터 네트워크는 [그림 1]과 같이 어탠션 가중치(attention weight, 입력열의 위치 별 확률)를 디코 더의 출력( ܻ௢௨௧௣௨௧ )으로 사용하고, 어텐션 가중치를 이용하여 생성한 문맥 벡터(context vector)를 기반으로 의존 레이블이 무 엇인지 판별하여 출력(ܼ௢௨௧௣௨௧ )한다. 본 논문에서는 bidirectional Gated Recurrent Unit(bi-GRU)[3]을 기반으로 인코더를 구성하며, 다음과 같이 정의한다.

ℎሬԦ௦= ܩܴܷ൫ܧሺݔ௦ሻ, ℎሬԦ௦ିଵ൯ ℎശሬ௦= ܩܴܷ൫ܧሺݔ௦ሻ, ℎശሬ௦ାଵ

ℎി= [ℎሬԦ, ℎശሬ]

440

2016년 동계학술발표회 논문집

(2)

여기서 와 는 입력 열에 대한 Forward, Backward Network이 며,  는 단어표현(word embedding)을 적용하는 함수이다. 는 입력 순서 정보와 역순의 정보를 모두 보기 위하여 와 를 연 결(concatenate)한 것이다. 디코더에서는 입력열의 특정 위치( 

혹은  )를 입력 받아 그에 따른 출력 결과(중심어 위치와 의존 레이블)의 조건부확률을 학습하며, 다음과 같이 정의된다.

 ,  

′  exp  ,  

∑ exp  ,   argmax  

 

 h,   '

(tanh+ ,; . , /0 (tanh+ ,; ; . , /02 (tanh+ ,;  ; . , /03

,   34ReLU+8; ; 9 , /0 4ReLU+,; ; . , /02 : argmax ;<0= ,  >

디코더의 hidden state 는 인코더의 hidden state와 디코더의 이 전 시간 hidden state를 입력으로 받는다. 는  함수의 결과 벡터를 정규화한 값(즉, attention weight)이며, 입력 열의 위치를 가리킨다.  함수는 얼라인먼트 스코어(alignment score)를 계산하며, /0과 /02 , /03로 나뉜다. 먼저 /0은

와 를 합(concatenate)하여 점수(score)를 계산하며, /02는

와  , 를 합하여 점수를 계산한다. 마지막으로 /03는

와  , 를 합하여 점수를 계산한다. 여기서 는 문맥 벡 터이며, 에서 가장 높은 얼라인먼트 스코어를 가진 를 이용 (하드 어텐션(hard attention))하여 구한다.

:는 의존 관계 레이블로, 를 이용한 함수로 구한다.

는 /0과 /02로 나뉜다. /0은 

/0을 기반으로 하며,  , 를 합(concatenate)하여 점수를 계 산한다. /02는  에서 /02 또는 /03를 기반 으로 하며, , , 를 합하여 점수를 계산한다.

4. 멀티 태스크 학습 기반 포인터 네트워크를 이용한 의존 구문 분석

포인터 네트워크를 이용한 의존 구문 분석은 주어진 임의의 어절(즉, 디코더의 입력)에 대하여 중심어 의존 관계를 갖는 중심어의 위치를 결과로 출력하여 분석을 수행한다. 멀티 태 스크 학습은 두 개 이상의 문제를 하나의 모델로 학습 및 예 측을 수행하는 것으로, 본 논문에서는 멀티 태스크 학습 기반 포인터 네트워크를 이용하여 두 어절 간의 의존 관계와 의존 레이블 정보를 분석한다. 이에 따른 포인터 네트워크 모델의 구조는 [그림 1]과 같다.

[그림 1]에서 인코더의 입력은 A, B, C, D로 입력 문장의 각 형태소이고, </s>는 문장의 끝을 알리는 종료 기호이다. 디코더 에는 각 시간에 따른 입력이 하나의 열( 

?0, 1, 2, 3B )로 주어지고, 그에 대응되는 출력열들(위치

를 출력하는  ?1, 2, 3, 4/B , 의존 레이블 정 보를 출력하는 D ?a, b, c, dB)을 생성한다

그림 1. 멀티 태스크 학습 기반 포인터 네트워크 모델 구조

인코더의 입력은 입력 문장의 어절들을 형태소 단위로 바꾼 것을 사용하며, 어절 정보를 표현하기 위하여 어절 사이에 띄어 쓰기 심볼(<sp>)을 추가한다. 디코더의 입력은 각 어절의 위치 정보이며, 출력 Y는 각 어절의 중심어 위치이고, 출력 Z는 그 두 어절 간의 의존 관계 레이블 정보이다. 이때 입력 단위는 형 태소이기 때문에 [표 1]과 같이 입력기준(어절의 대표 형태소 위치)을 정의하여 학습데이터를 구축하였다. [표 1]은 입력 문장

“나 당신의 그림자를 밟으며 갑니다.”에 대한 예를 보이며, 입력 문장에 대한 형태소 정보는 “형태소/품사태그:단어사전id[인덱 스]”와 같이 표현하며, 입력 기준에 대한 정보는  ,  ,

D에 대하여 “형태소/품사태그[인덱스]”와 같이 표현한다.

표 1. 의존 구문 분석 디코더 입력 기준 Input sentence

나/NP:201[0] <sp>:2[1] 당신/NP:2834[2] 의/JKG:9[3] <sp>:2[4] 그림자 /NNG:6803[5] 를/JKO:12[6] <sp>:2[7] 밟/VV:2241[8] 으며/EC:163[9]

<sp>:2[10] 가/VV:262[11] ㅂ니다/EF:213[12] ./SF:3[13] </s>:1[14]

Input criteria Input explanation

Dp0

입력되는 각 어절의 시작 형태소의 인덱스

௜௡௣௨௧{나/NP[0], 당신/NP[2],그림자/NNG[5], 밟 /VV[8], 가/VV[11]}

௢௨௧௣௨௧{밟/VV[8], 그림자/NNG[5], 밟/VV[8], 가 /VV[11], </s>[14]}

௢௨௧௣௨௧ ௌ஻௃, ெை஽, ை஻௃, , 

Dp1

입력되는 각 어절의 마지막 형태소의 인덱스 심볼표현은 제외 (바로 앞 형태소를 입력으로 정의)

௜௡௣௨௧{나/NP[0], 의/JKG[3], 를/JKO[6], 으며/EC[9], ㅂ니다/EF[12]}

௢௨௧௣௨௧{으며/EC[9], 를/JKO[6], 으며/EC[9], ./SF[13],

</s>[14]}

441

2016년 동계학술발표회 논문집

(3)

ܼ௢௨௧௣௨௧= {ܰܲௌ஻௃, ܰܲெை஽, ܰܲை஻௃, ܸܲ, ܸܲ}

5. 실험

본 논문에서는 의존 구문 분석의 학습을 위하여 [4]와 동일한 조건으로 학습하고 평가하였다. 의존 구조로 변환된 세종 데 이터셋[12]을 사용하였으며, 데이터셋은 총 59,659 문장으로, 90%인 53,842 문장을 학습에 사용하고, 10%인 5,817 문장을 평 가에 사용하였다. 평가 척도는 Unlabeled Attachment Score(UAS) 와 Labeled Attachment Score(LAS)를 사용하였다. 모든 실험은 Intel i7-4790 CPU (3.60GHz), 32GB RAM, Ubuntu 14.04 OS, GeForce GTX 1070에서 수행되었다.

단어표현(word embedding)은 10만 단어에 대해 2년치 뉴스 기사를 NNLM(Neural Network Language Model)[4]으로 학습 한 것을 사용하였다. 인코더와 디코더, 어텐션 레이어의 활성 함수는 tanh를 사용하였고, ܼ௢௨௧௣௨௧의 히든 레이어에 적용한 활 성함수는 relu를 사용하였다. 학습율(learning rate)은 Dp0은 0.01 을, Dp1은 0.05를 시작으로 성능 개선이 없으면 5 에포크 (epoch)마다 50%씩 감소시켰다.

[표 2]는 각 입력기준마다 3개의 얼라인먼트 스코어 방법을 실험한 결과이다. Dp0은 RMSprop을 이용하여 학습하였고, 히 든 레이어 유닛 수는 [800, 400], 드랍아웃(dropout) [0.1, 0.1]로 설정하였다. Dp1은 모멘텀(momentum)을 이용하여 학습하고, 히 든 레이어 유닛 수는 [400, 200], 드랍아웃은 [0, 0]으로 설정하 였다. 실험 결과, Dp0, Dp1 모두 concat2 방법에서 UAS 91.36%, 91.38%의 성능을 보였다.

표 2. 입력 기준과 얼라인먼트 스코어 방법에 따른 성능 비교 Input criteria Score method Hidden unit dropout UAS

Dp0

concat

[800, 400] [0.1, 0.1]

91.35

concat2

91.36

concat3

91.30

Dp1

concat

[400, 200] [0, 0]

91.33

concat2

91.38

concat3

91.27

[표 3]은 [표 2]에서 가장 좋은 성능을 보인 concat2의 성능과 기존 한국어 의존 구문 분석 연구[4, 5, 6, 7, 8]들의 성능을 비교한 것이다. 본 논문에서 제안한 모델이 기존 연구 성능인 UAS 88~90% 보다 높은 91.3~91.65%의 성능을 보였으며, 일반 포인터 네트워크에서 수행할 수 없었던 의존 관계 레이블 분류문제도 해 결할 수 있음을 알 수 있다. 가장 좋은 성능을 보인 입력 기준은 Dp1 방식(어절의 마지막 형태소를 어절의 대표 위치로 사용)으 로 히든 유닛 [800, 400], 드랍아웃 [0.2, 0.2] 일 때 UAS 91.65%, LAS 89.34%의 성능을 보였다.

표 3. 한국어 의존 구문 분석 성능 비교(자동 분석 형태소 이용) Dependency parsing UAS LAS

임수종[13]: 세종코퍼스

88.15 -

이창기[4] with MI

90.37 88.17

이건일[5]

90.33 -

나승훈[6]: String-to-dependency SMT 모델

88.16 -

나승훈[7]: Stack LSTM 기반

90.11 87.70

나승훈[8]: Stack LSTM + 음절과 형태소 결합

90.44 87.93

Our: Dp0 concat2 [800, 400] dropout[0.1, 0.1]

91.36 88.67

Our: Dp1 concat2 [400, 200] dropout[0.1, 0.1]

91.46 89.05

Our: Dp1 concat2 [400, 200] dropout[0.2, 0.2]

91.55 89.16

Our: Dp1 concat2 [800, 400] dropout[0.2, 0.2]

91.65 89.34

6. 결론

본 논문에서는 멀티 태스크 학습 기반 포인터 네트워크를 이용 하여 한국어 의존 구문 분석을 수행하였다. 실험 결과, 본 논문 에서 제안한 방법이 일반 포인터 네트워크에서 수행하지 못하 던 의존 관계 레이블 분류에 대하여 의존 관계 위치를 찾는 문 제와 함께 수행이 가능했으며, 입력기준 Dp1에서 concat2의 얼 라인먼트 스코어 방법과 히든 유닛 [800, 400], 드랍아웃 [0.2, 0.2]

일 때 UAS 91.65%, LAS 89.34%의 성능을 보였다. 본 논문은 어 절의 구분을 <sp> 심볼로만 적용하였는데, 향후 연구로는 Hierarchical Pointer Networks를 이용하여 어절을 구분할 예정이다.

감사의 글

이 논문은 2016년도 정부(미래창조과학부)의 재원으로 정보통신기술진흥센 터의 지원을 받아 수행된 연구임. (No.R0101-16-0062, (엑소브레인-1세부) 휴 먼 지식증강 서비스를 위한 지능진화형 WiseQA 플랫폼 기술 개발)

참고문헌

[1] D. Hays. Dependency theory: a formalism and some observations. Language, pp. 511-525, 1964

[2] O. Vinyals, et al. Pointer Networks. Advances in Neural Information Processing Systems, pp. 2674-2682, 2015

[3] D. Bahdanau, et al. Neural machine translation by jointly learning to align and translate. Proceedings of ICLR’ 15, arXiv:1409.0473, 2015.

[4] 이창기, 김준석, 김정희. 딥 러닝을 이용한 한국어 의존 구문 분석.

제26회 한글 및 한국어 정보처리 학술대회, pp. 87-91, 2014.

[5] 이건일, 이종혁. 순환 신경망을 이용한 전이 기반 한국어 의존 구 문 분석. 정보과학회 컴퓨팅의 실제 논문지 제 21권 제 8호, 2015.

[6] 나승훈. String-to-Dependency SMT 모델을 이용한 구 기반 의존 파 싱. KCC 2015.

[7] 나승훈, 김강일, 김영길. Stack LSTM을 이용한 전이 기반 한국어 의 존 파싱. KCC 2016

[8] 나승훈, 신종훈, 김강일. Stack LSTM 기반 한국어 의존 파싱을 위한 음절과 형태소의 결합 단어 표상 방법. 제 28회 한글 및 한국어 정보처리 학술대회, pp. 9-13, 2016.

[9] J. Nivre. Non-Projective Dependency Parsing in Expected Linear Time. In Proc. ACL-IJCNLP, pp. 351-359, 2009

[10] R. McDonald, et al. Online Large-margin Training of Dependency Parsers.

In Proc. of ACL, pp. 91-98, 2005

[11] K. Cho, et al. Learning phrase representation using RNN encoder-decoder for statistical machine translation. Proceedings of EMNLP’ 14, 2014.

[12] 국립국어원. 21세기세종계획. 2012.

[13] 임수종, 김영태, 나동열. 자질 가중치의 기계학습에 기반한 한국어 의존파싱. 정보과학회논문지, 소프트웨어 및 응용 제38권 제4호, 2011.

442

2016년 동계학술발표회 논문집

참조

관련 문서

[r]

장치 레이저 포인터 오목거울

시간에 종속되는 통행 속도의 특 성을 반영하기 위해 적용되었던 시계열 분석 기법인 Autoregressive Integrated Moving Average(ARIMA)와 순환 신경망(Recurrent

◈ _messageEntries: 각 메시지 종류에 따라서 메시지 식별 번호, Function Pointer 등을 가 지는 엔트리의 Array. ◈ messageMap: 기반 클래스의 messageMap에 대한

• FortiAI 버추얼 보안 분석가(VSA)의 시나리오 기반 엔진 (악성코드 동작 방식과 시간대별 공격 패턴을 인지) 을 통해서 네트워크 경로를 통한 시간대별 감염 패턴

&#34;Deeply learning molecular structure-property relationships using graph attention neural network.&#34; arXiv preprint arXiv:1805.10988 (2018)..

(Taekwondo, Weight Lifting Players) (90 min × 6 days/week) Warming

15) 세광음악출판사