• 검색 결과가 없습니다.

Multi-resolution 포인터 네트워크를 이용한 한국어 상호 참조해결

N/A
N/A
Protected

Academic year: 2021

Share "Multi-resolution 포인터 네트워크를 이용한 한국어 상호 참조해결"

Copied!
3
0
0

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

전체 글

(1)

Multi-resolution 포인터 네트워크를 이용한 한국어 상호 참조해결

박천음*O 이창기* 김현기**

강원대학교 컴퓨터과학과*, 한국전자통신연구원 {parkce, leeck} @ kangwon.ac.kr, [email protected]

Korean Coreference Resolution using Multi-resolution Pointer Networks

Cheoneum Park*O, Changki Lee*, Hyunki Kim**

Kangwon National University Dept. of Computer Science*, ETRI**

Multi-resolution RNN은 입력된 병렬 시퀀스를 RNN으로 모델링하는 방법이다. 상호참조해결은 문서 내에 등장하는 개체를 표현하는 여러 단어들을 하나의 클러스터로 정의하는 자연어처리 문제이며, 포인터 네 트워크로 해결할 수 있다. 포인터 네트워크를 이용한 상호참조해결의 인코더 입력열은 문서의 모든 형태 소가 되며, 디코더 입력열은 문서에서 등장한 모든 명사가 된다. 본 논문에서는, 인코더에서 문서의 모든 형태소와 문서의 명사 리스트를 병렬적으로 인코딩을 수행하고, 디코더에서 두 인코딩 hidden state를 모두 사용하여 디코딩을 수행하는 Multi-resolution 포인터 네트워크 모델 2가지를 제안하고, 이를 기반으로 상 호참조해결을 수행한다. 실험 결과, 본 논문에서 제안한 모델 중 Multi-resolution1이 CoNLL F1 71.44%, Multi-resolution2가 CoNLL F1 70.52% 의 성능을 보였다.

1. 서 론

문맥 내에 등장한 임의의 개체에 대하여 언급할 때, 한번 언 급한 단어의 반복 사용을 피하기 위하여 대명사나 한정사구로 대체하여 사용하거나 약어, 별명 등으로 바꿔 표현한다. 이처 럼 하나의 개체에 대하여 다르게 표현된 단어들은 서로 상호 참조(Coreference) 관계에 있으며, 이들 간의 참조 관계를 찾아 하나의 개체에 포함시키는 것을 상호참조해결(Coreference resolution)이라 한다. 자연어처리에서 상호참조해결이 올바르 게 수행되면, 문맥에서 언급되는 대상의 정보를 일관성 있게 유지하고 올바르게 전달할 수 있기 때문에 개체를 이해하고 파악하는데 중요한 역할을 한다. 특히 자연어처리를 응용하는 태스크인 질의 응답, 문서 요약, 기계 번역 등에서 유용하게 사용될 수 있다.

상호참조해결은 주어진 문서 내에 등장한 개체들을 찾는 문제 이기 때문에 RNN (Recurrent Neural Network) 모델 중 포인터 네 트워크(Pointer networks) 모델[1]이 적합하다. 포인터 네트워크는 어텐션 메커니즘(Attention mechanism)[2]을 이용하여 학습 및 예 측을 수행하는 RNN의 확장된 모델이며, sequence-to-sequence 모 델과 달리 어텐션 가중치를 계산하여 가장 높은 점수를 갖는 위 치를 출력 결과로 만드는 모델이다. 어텐션 메커니즘은 주어진 입 력 열 중에서 출력 결과에 영향을 미치는 위치를 더욱 집중하여 계산하는 어텐션 가중치(attention weight)를 학습하는 방법이다.

상호참조해결을 수행하기 위하여 포인터 네트워크를 이용할 경 우, 디코더의 입력은 주로 입력 문서에 등장하는 모든 명사(멘션 의 중심어)가 된다.

Multi-resolution RNN [3]은 RNN 모델에 입력된 다중 시퀀스

(multi sequence)를 각 시퀀스 별로 인코딩을 수행하고, 디코더에 서 각 시퀀스의 인코딩 히든 스테이트(hidden state)를 모두 이용 하는 방법이다. 본 논문에서는 인코더에서 두 개의 입력열(입력 문서의 모든 형태소와 입력 문서에 등장한 명사 리스트)을 이용 하여 Multi-resolution RNN을 수행하고, 디코더에서 두 인코딩 hidden state를 이용하여 어텐션 스코어를 계산하는 Multi- resolution 포인터 네트워크 모델 2가지를 제안하며, 이를 이용한 상호참조해결을 제안한다.

2. Multi-resolution 포인터 네트워크

Multi-resolution RNN은 병렬 시퀀스(parallel sequence)에 대하 여 RNN으로 모델링 하는 방법이며, 본 논문에서는 포인터 네 트워크의 인코더 부분에 적용한다. 포인터 네트워크는 어텐션 메커니즘에 기반하여 입력열에 대응되는 위치를 출력 결과로 학습하는 RNN Encoder-decoder 모델로서, 상호참조해결과 같 이 입력 문서 중에 출력 결과를 찾는 문제에 적합하다.

Multi-resolution 기반 포인터 네트워크는 인코더(Encoder RNN) 부분의 RNN을 병렬로 구성하여 인코딩을 수행하고, 디코더(Decoder RNN)에서 디코딩을 수행할 때 병렬 인코딩 hidden state를 이용하여 출력 결과를 학습 및 예측한다. 본 논 문에서 Multi-resolution 포인터 네트워크의 인코더는 입력 문 서의 모든 형태소(natural language representation)와 문서에 포 함된 명사들의 리스트(coarse representation)로 구성된 병렬 시 퀀스를 인코딩하는 RNN으로, bidirectional Gated Recurrent Unit (BiGRU) [4]을 사용하며, 식은 아래와 같다.

(2)

2.1. Multi-resolution 1 모델

 입력 문서의 모든 형태소에 대한 인코더 (Natural Language Representation)

𝑒𝑠= 𝑊𝑒𝑥𝑠 ℎ⃗ s= 𝐺𝑅𝑈(𝑒𝑠, ℎ⃗ s−1) ℎ⃖⃗𝑠= 𝐺𝑅𝑈(𝑒𝑠, ℎ⃖⃗𝑠−1)

𝑠𝑀= [ℎ⃗ s; ℎ⃖⃗𝑠]

문서 입력열의 길이는 𝑆이며, 𝑋 = {𝑥1, 𝑥2, … , 𝑥𝑆}는 문서의 입 력열이다. 입력열의 s 번째 단어인 𝑥𝑠 는 단어표현 (word embedding) 𝑊𝑒를 이용하여 𝑒𝑠를 구하고, 𝑒𝑠를 Bidirectional GRU의 입력으로 주어 ℎ⃗ s와 ℎ⃖⃗𝑠를 구한다. ℎ𝑠𝑀는 ℎ⃗ s와 ℎ⃖⃗𝑠를 연 결(concatenate)한 것이며, 입력 문서에 대한 인코딩 hidden state가 된다.

 명사 리스트에 대한 인코더 (Coarse Representation) 명사 리스트는 디코더의 입력(𝑌𝑖𝑛𝑝𝑢𝑡)과 같으며, 디코더의 입 력은 𝑌𝑖𝑛𝑝𝑢𝑡= {𝑦𝑖1, 𝑦𝑖2, … 𝑦𝑖𝑇} 과 같고 디코더 입력의 길이는 𝑇 이다. 각 𝑦𝑖𝑡는 명사의 위치이며, 인코더의 문서 입력열에서 𝑦𝑖𝑡가 위치한 단어 표현 𝑒𝑦𝑖𝑡가 디코더의 입력이 된다. 명사 리 스트에 대한 인코딩은 문서 입력열과 같이 bidirectional GRU 를 이용하여 ℎ𝑦𝑖𝑁𝑡을 만든다.

𝑦𝑖𝑁𝑡= 𝐵𝑖𝐺𝑅𝑈(𝑒𝑦𝑖𝑡, ℎyi𝑁t−1)

디코더에서는 앞서 생성한 문서 입력에 대한 인코딩 hidden state ℎ𝑀과 명사 리스트(즉, 디코더의 입력)에 대한 인코딩 hidden state ℎ𝑁을 이용하고, 디코더 입력 𝑦𝑖𝑡∈ 𝑌𝑖𝑛𝑝𝑢𝑡 (즉, 입 력된 문서에서의 명사들 위치)를 입력 받아 디코딩을 수행한 다. 이때 입력과 대응되는 위치( 𝑦𝑡∈ 𝑌𝑜𝑢𝑡𝑝𝑢𝑡)의 조건부확률을 학습하는데, 수식은 아래와 같다.

𝑡= 𝐺𝑅𝑈(ℎ𝑦𝑖𝑀𝑡, ℎ𝑡−1) ℎ0= 𝑊𝑒𝑛𝑑[ℎ𝑆𝑀; ℎ𝑁𝑇] + 𝑏𝑒𝑛𝑑

𝑎𝑠𝑡= exp (𝑠𝑐𝑜𝑟𝑒𝑎(ℎ𝑡, ℎ𝑀𝑠)) exp (𝑠𝑐𝑜𝑟𝑒𝑎(ℎ𝑡, ℎ𝑠𝑁))

∑ exp(𝑠𝑐𝑜𝑟𝑒𝑠 𝑎(ℎ𝑡, ℎ𝑠𝑀)) exp(𝑠𝑐𝑜𝑟𝑒𝑎(ℎ𝑡, ℎ𝑠𝑁)) 𝑠𝑐𝑜𝑟𝑒𝑎(ℎ𝑡, ℎ𝑠) = 𝑣𝑡Ttanh⁡(𝑊𝑎[ℎ𝑡; ℎ𝑦𝑖𝑀𝑡; ℎ𝑀])

𝑦𝑡= 𝑎𝑟𝑔𝑚𝑎𝑥𝑠(𝑎𝑡𝑠)

디코더의 hidden state ℎ𝑡는 Forward GRU를 사용하며, 인코더 의 hidden state ℎ𝑦𝑖𝑁𝑡과 디코더의 이전 hidden state를 입력으로 받아 계산한다. 디코더 hidden state의 초기 값은, ℎ0와 같이 모 든 형태소 인코딩의 마지막 hidden state ℎ𝑆𝑀와 명사 리스트 인 코딩의 마지막 hidden state ℎ𝑇𝑁를 연결하여 FFNN을 수행한 벡터이다. 𝑎𝑡𝑠′는 𝑠𝑐𝑜𝑟𝑒𝑎(. )함수를 이용하여 𝑦𝑖𝑡와 입력열에 대한 결과 벡터를 정규화한 값(attention weight)이며, 본 논문에서는 Multi-resolution 인코딩 hidden state 모두를 함께 확인하여 스 코어를 계산한다. 𝑎𝑡𝑠′에서 가장 높은 점수를 갖는 위치가 𝑦𝑖𝑡에 대응되는 위치인 출력 결과 𝑦𝑡가 된다. 본 논문에서 사용한 𝑠𝑐𝑜𝑟𝑒𝑎(. ) 함수는 [5]에 따라 가장 좋은 성능을 보인 concat2를 이용하며, concat2는 디코더 hidden state ℎ𝑡와 디코더의 입력 hidden state ℎ𝑦𝑖𝑀𝑡, 입력 문서에 대한 인코딩 hidden state ℎ𝑀를 연결하여 점수를 계산하는 방법이다.

2.2. Multi-resolution 2 모델

Multi-resolution2는 명사 리스트에 대한 인코딩을 수행할 때,

명사 리스트와 디코더 입력열 간의 각 단어에 대한 alignment score 𝑎𝑡를 구하고, 문맥 벡터 c𝑡를 만든다. 이때 스코어 함수 는 Multi-resolution1에서 사용한 concat2와 같다. 문맥 벡터 c𝑡 는 명사 리스트와 연결( [ℎ𝑡𝑁; 𝑐𝑡])하여 모델링을 수행하여 인코 딩 hidden state ℎ𝑠𝑁2를 만든다.

𝑡𝑁2= 𝐵𝑖𝐺𝑅𝑈([ℎ𝑡𝑁; 𝑐𝑡], ℎ𝑡−1𝑁2 ) 𝑎𝑖𝑡= 𝑎𝑡𝑡𝐺𝑅𝑈(ℎ𝑡𝑁, ℎ𝑡−1𝑁 , ℎ𝑁)

c𝑡= ∑𝑛𝑖=1𝑎𝑖𝑡𝑖𝑡

Multi-resolution2의 디코더는 Multi-resolution1의 디코더와 같 은 모델을 이용하며, 아래 수식과 같다.

𝑡= 𝐺𝑅𝑈([ℎ𝑦𝑖𝑀𝑡; ℎ𝑡𝑁2], ℎ𝑡−1)

Multi-resolution2 디코더의 입력 hidden state는 [ℎ𝑦𝑖𝑀𝑡;⁡ ℎ𝑡𝑁2]와 같이 모든 형태소에 대한 인코딩 hidden state와 명사 리스트 에 대한 인코딩 hidden state를 연결한 벡터를 사용한다. 이와 같은 경우, 디코더의 입력은 입력 문장에서 생성된 인코딩 hidden state ℎ𝑦𝑖𝑀𝑡뿐만 아니라, 모델링 과정을 거쳐 어텐션 가 중치가 적용된 hidden state ℎ𝑡𝑁2 정보를 모두 이용하게 된다.

3. Multi-resolution 포인터 네트워크를 이용한 상호참조해결 상호참조해결을 위한 Multi-resolution1 포인터 네트워크의 모 델 구조는 [그림 1]과 같다.

그림 1. Multi-resolution1 포인터 네트워크 모델 구조

[그림 1]은 입력 문서의 모든 형태소(natural language representation)에 대한 인코더 𝑋𝑖𝑛𝑝𝑢𝑡= {세종대왕/nnp, 은/jx, 조 선/nnp, 의/jkg, 4/sn, 대/nnb, 군주/nng, …, 조선/nnp, …, </s>}, 명사 리스트(coarse representation)에 대한 인코더 𝑌𝑖𝑛𝑝𝑢𝑡= {0, 2, 6, 31} 과 디코더로 구성된다. 모든 형태소에 대한 인코더의 입력 원소는 각 형태소 분석 결과(형태소/품사태그)이고, </s>는 문장의 끝을 알리는 기호이다. 프로젝션 레이어에서 입력열에 단 어 표현(word embedding)을 적용하고, 히든 레이어에서 인코딩을 수행한다. 명사 리스트에 대한 인코더의 입력 원소는 문장 내 등 장한 명사들의 위치이며, 모든 형태소 인코딩 hidden state에서 해 당 위치의 hidden state를 복사하여 인코딩을 수행한다.

디코더의 입력은 입력문서의 모든 멘션들의 중심어 위치로 이 루어진 𝑌𝑖𝑛𝑝𝑢𝑡(명사 리스트 인코더 입력과 같음)이 되고, 이에 따 른 출력열은 디코더의 입력 멘션들의 엔티티 번호(같은 엔티티에 포함된 멘션들 중 첫 번째 멘션의 위치, 싱글톤은 문장의 마지막 위치)로 이루어진 𝑌𝑜𝑢𝑡𝑝𝑢𝑡= {0, 2, 56, 0, 2}가 된다. 각 디코더 입력

(3)

은 출력결과로 자신이 포함된 엔티티의 위치를 가리킨다.

그림 2. Multi-resolution2 포인터 네트워크 모델 구조

[그림 2]는 Multi-resolution2에 대한 구조를 보이며, [그림 1]의 모델 구조를 기반으로 한다. Multi-resolution2는 명사 리스트 인코 더에서 인코딩을 수행하고, 명사 리스트만 대상으로 디코딩을 수 행하여 어텐션 가중치를 구하고 문맥 벡터를 만든다. 이때 문맥 벡터에는 유사 단어 간의 높은 스코어가 반영되며, 모델링 레이어 (Modeling Layer)에서 앞서 수행한 인코딩 hidden state와 문맥 벡 터를 함께 모델링하여 더 높은 차원의 인코딩 hidden state를 만 든다. 디코더에서는 모든 형태소와 명사 리스트에 대한 인코딩 hidden state를 이용하여 디코딩을 수행하며, 디코더의 입력은 입 력 위치에 해당하는 모든 형태소 인코딩의 hidden state, 명사 리 스트 인코딩의 hidden state를 서로 연결하여 사용한다.

4. 실험

본 논문에서는 상호참조해결의 실험 데이터로 [5]에서 사용한 ETRI 데이터 셋에서 추가 검증이 수행된 퀴즈 도메인 상호참조 해결 데이터 셋을 이용하였다. 이 데이터 셋은 퀴즈 도메인(장 학퀴즈와 wiseQA)의 질문문서로 구성되어 있으며, 학습 데이터 는 1,819 문서, 개발(development) 데이터는 184 문서, 평가 데 이터는 221 문서로 구성된다. 상호참조해결에 대한 평가 지표는 CoNLL F1 값[6]을 이용하였으며, 중심어 기반으로 성능을 측정 하였다.

활성함수는 인코더 디코더에 tanh를 사용하였고, attention layer는 relu를 사용하였다. 학습 알고리즘은 RMSprop을 이용 하였으며, 학습율은 0.05을 시작으로 성능 개선이 없으면 3 에 포크(epoch)마다 50%씩 감소시켰다. Dropout의 확률과 히든 레이어 유닛 수는 개발셋(development set)을 이용하여 최적의 값(히든 레이어: 100, dropout: 0.3)을 찾았으며, 평가셋(test)으로 최종 성능을 측정하였다. 단어표현은 10만 단어에 대하여 2년 치 뉴스기사를 NNLM(Neural Network Language Model)[7]으 로 학습한 것을 사용하였다.

[표 1]은 본 논문에서 제안한 방법과 일반 규칙기반[8] 그 리고 일반 포인터 네트워크 방법, 계층적 포인터 네트워크 방 법을 이용한 상호참조해결의 성능을 비교한 것이다. 본 논문 에서 제안한 방법이 Multi-resolution1일 때 F1 71.44%, Multi-

resolution2일 때 F1 70.51%로 Multi-resolution1이 0.93% 더 높 은 성능을 보였다. 또한 본 논문에서 제안한 Multi-resolution1 은 규칙기반과 일반 포인터 네트워크에 비하여 각각 20.84%, 1.91%, 계층적 포인터 네트워크에 비하여 1.19%% 더 좋은 성 능을 보였다.

표 1. 규칙기반과 계층적 포인터 네트워크 성능 비교 (test) Model Pre Rec CoNLL F1 규칙기반[8] 54.95 46.98 50.60 포인터 네트워크 85.62 58.58 69.53 계층적 포인터 네트워크[5] 85.07 59.89 70.25 Multi-resolution1 87.71 60.32 71.44 Multi-resolution2 86.20 59.75 70.51

5. 결론

본 논문에서는 2가지의 Multi-resolution 포인터 네트워크 모델을 제안하고, 이를 모든 멘션 대상의 한국어 상호참조해결에 적용하 였다. 실험 결과, 본 논문에서 제안한 방법 중 Multi-resolution1이 CoNLL F1 (test) 71.44%로, 계층적 포인터 네트워크보다 1.19% 높 고, 기존 규칙기반 상호참조해결 보다 20.84%, 일반 포인터 네트 워크 기반 상호참조해결 보다 1.91% 더 좋은 성능을 보였다.

향후 연구로는 본 논문의 모델에 계층적 방법을 적용하여 더 긴 문장과 더 많은 엔티티를 가진 일반 문서에 적용할 수 있도록 연구할 예정이며, 더 많은 데이터를 구축할 것이다.

감사의 글

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

참고문헌

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

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

[3] I.V. Serban, et al. Multi-resolution Recurrent Neural Networks: An Application to Dialogue Response Generation. arXiv:1606.00776, 2016.

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

14, 2014.

[5] 박천음, 이창기. 계층적 포인터 네트워크를 이용한 한국어 상호참 조해결.

[6] M. Vilain, et al. “A model-theoretic coreference scoring scheme,”

In:Proceedings of the 6th conference on Message understanding.

Association for Computational Linguistics, pp. 45-52, 1995.

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

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

[8] C. Park, et al. Korean Coreference Resolution with Guided Mention Pair Model using the Deep Learning. To be published in ETRI Journal, 2016

참조

관련 문서

 person이라는 구조체를 만들어보자. 이 구조체에는 문자 배열로 된 이름, 사람의 나이를 나타내는 정수값, 각 개인 의 월급을 나타내는 float값 등이 변수로

CHAP 3:배열,

 컴퓨터공학과의 김이화 학생과 환경공학과의 홍이화 학생의 정보를 저장 하고자 한다... (예제2) 학과 주소를

-If 와 Calculate 엑티버티에서 value 변수와 Merge엑티버티를 이용해 간단하게 반복문 구성 -If 엑티버티의 조건문에 value 변수를 이용한 반복문 종료조건

특히 다국적 기업에 의한

그러므로 이와 같이 형 변홖 (type casting) 연산자를 사용하여 드러 나게 형을 맞추어주는 것이 좋은 프로그램 습관이다.. 이 시작 주소가

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

본 절에서는 DCNN 기반 심전도를 이용한 사용자 인식 시스템의 성능을 확인하 기 위해 공개 네트워크의 전이학습방법을 사용하였을 때의 성능과 직접 구현한