김형석 | 고려대 데이터 사이언스&비즈니스 애널리틱 연구실
요점을 말하다: 포인트 생성 네트워크 기반의 문서 요약
(Get To The Point: Summarization with Pointer-GENERATOR Networks)*1
본 논문 구글 리서치(Google Research)팀이 ACL 2017에서 발표한 연구 결과이다. 텍스트(text)로부터 주요 핵심 내용을 1~2문장 길이로 요약해 주는 기술의 소개가 이 논문의 골자이다. 기존 추상적 문서 요약(abstractive text summarization) 방식에서 문제시 되던 부정확한 재현성과 반복적인 생성 문제를 각각 'Point-GeneratorNetwork'와 'Coverage Mechanism'을 통해 해결했다는 것이 이 연구의 특징이다.
딥러닝 이전 문서 요약의 경우, 규칙 위주(rule based)의 혹은 통계적 기반(statistical based) 방법론이 주를 이루었지만 상용화 할 수 있는 부분이 제한적이었고 그 성능 또한 사람에 의한 문서 요약보다 월등히 떨어졌다. 하지만, 현재 RNN(recurrent neural network), CNN(convolutional neural network)과 같은 다양한 딥러닝 기법을 활용하게 되면서 문서 요약(text summarization)은 비약적으로 그 성능을 향상시킬 수 있었다.
문서 요약이란, 주어진 문서로부터 특정 사용자나 작업에 적합한 축약된 형태의 문서로 재생성하는 작업을 말한다. 이를 통해서 복잡도를 줄이면서 필요한 정보를 유지하는 것이 문서 요약의 주목적이다. 일반적으로 문서 요약의 접근법은 크게 2가지 방법으로 나누어 볼 수가 있다. 첫 번째는 추출식 접근법(extractiveapproach)으로 말 그대로 본문에서 의미 있는 부분을 선택하고 추출하여 이를 재정렬 하도록 요약하는 접근법이다. 쉽게 말하면, 일종의 하이라이터(highlighter)라고 생각할 수 있다. 두 번째는 추상적 접근법(abstractive approach)이다. 이는 RNN과 같은 자연어 생성 기술을 활용하여 기존 텍스트(text) 문장을 토대로 창의적인 새로운 문장을 작성하는 방법이다.
이 논문의 연구 결과는 기본적으로는 두 번째 추상적 접근법을 취하면서, 필요 시에는 앞선 추출식 접근법을하이브리드(hybrid)로 동시에 사용하여 좀 더 자연스럽고 함축적인 문서 요약을 가능하게 한다.
시퀀스-투-시퀀스 주목 모델*2
라메쉬 날라파티(Ramesh Nallapati) 외 4명의 연구자가 2016년에 발표한 '시퀀스-투-시퀀스 순환신경망을 활용한 추상적 문서 요약'*3논문의 주목 메커니즘(attention mechanism)을 통한 시퀀스 투시퀀스 RNN 모델(seq2seq RNN model)*4을 바탕에 두고 있다. Attentional seq2seq RNN model은 크게 4가지 모듈로 구성되어 있다.
1) 인코더 RNN(Encoder RNN)
원문 텍스트로부터 word2Vec으로 표현된 단어들을 각 단어(word-by-word) 단위로 읽는 모듈(module)이다. 일반적으로 인코더(encoder)는 양방향의 순서를 고려한 양방향 RNN(bidirectional RNN)을 활용한다.
2) 디코더 RNN(Decoder RNN)
요약을 구성하는 단어들의 시퀀스(sequence) 형태로 결과값(output)을 반환하게 된다. 디코더 RNN(decoder RNN)은 인코더(encoder)와 다르게 한 방향 RNN(directional RNN)을 활용하여, 이전 요약 단계의 단어들을 입력값(input)으로 받게 된다. 원문 텍스트로부터 부분적인 문서 요약이 반환되는 것이다.
3) 주의 분포(Attention Distribution) 와 문맥 벡터(ContextVector)
원문 텍스트로부터 다음 단어를 생성할 때, 원문 텍스트(text)의 단어에 대한 확률인 주목 분포(attention distribution)는 인코더 RNN(encoder RNN)과 디코더 RNN(decoder RNN)의 은닉상태(hidden state)를 입력값(input)으로 하여 아래와 같은 함수를 통해서 표현된다. 이는 직관적으로 해당 네트워크가 다음 단어를 생성 시 원문 텍스트 중에 어떠한 단어에 주목하여 봐야 할지를표현해 주는 것이다.
4) 어휘 분포(Vocabulary Distribution)
최종적으로 문맥 벡터(context vector)와 디코더 은닉 상태(decoder hidden state)의 출력값(output)을 결합하여 2개의 선형결합 층(layer)을 통해서 단어의 분포(vocabulary distribution)를 표현한다. 이는 원문 텍스트가 아닌 전체 단어(일반적으로 그 사이즈를 제한)에 대한 확률을 표현한다. 이를 통해서 최종적으로 문서 요약을 통해 생성될 단어들이 순서대로 표현된다.
포인터 생성 네트워크
본 논문에서 제안하는 '포인트 생성 네트워크(pointer-generatornetwork)'는 기준 모델(baseline model)로 언급한 상기 '주목 기반 순환신경망 모델'(attentional seq2seq RNN model)과 2015년 비냘스(Vinyals) 외 2명의 연구자가 제안한 '포인터 네트워크(pointernetwork)'*5의 중간에 있는 하이브리드 네트워크(hybridnetwork)로 간주될 수 있다. 상기 2개 모델의 하이브리드 네트워크 기능을 수행하는 'Pointer-generator network'를 통해 요약(summarization)단계에서, 기존 텍스트 본문에서의 단어들을 (1-Pgen)의 확률로 인용하거나 새로운 단어(novel words)들을 Pgen 확률로 생성할 수 있다. 아래 그림을 통해서 '포인트 생성네트워크'의 다이어그램(diagram)을 확인할 수 있다.
직관적으로 '포인트 생성 신경망(pointer-generator network)'은 (1) 기존 baseline model의 출력값(vocabulary distribution)과 (2) 원문 텍스트로부터의 주목분포 사이에서 '포인터 생성 신경망'기반의 학습된 생성 확률(Pgen)을 반영하여 새로운 단어를 생성하여 문서를 요약(abstractive summarization)하거나, 기존 원문 텍스트를 재현하여 요약(extractive summarization)할지를 학습을 통해서 결정하는 역할을 수행하게 된다. 예를 들면, 생성확률(Pgen)이 0에 가까우면 기존 원문 단어로부터 재현된 단어들을 통해 문서 요약이 수행되고, 이와 반대로 생성 확률(Pgen)이 1에가까우면 encoder-decoder기반의 생성 단어들을 통해서 문서 요약이 수행되도록 하는 것이다.
Coverage mechanism
기존 주목 기반 순환신경망 모델의 문서 요약 단계에서 특정 단어가 재활용 되는 문제를 해결하기 위해서, 이 연구에서는 coverage vector를 통해서 일종의 패널티 조건(penalty term)을 손실(loss)에 반영하여 문제를 사전에 방지하고자 하였다. 이는 현재까지 사용되었던 단어의 주목 분포의 누적값을 coverage vector라정의하고, 이를 'covLos'에 반영하여 요약 단계에서 같은 위치에 반복적으로 등장하는 것을 방지하는 역할을 한다. 이러한 'covLos'를 반영하여 기존 attention distribution과 학습을 위한 Loss는 기존방법에서 아래와 같이 변화된다.
아래는 기존 baseline-model*6과 본 논문의 'Summarization with Pointer-Generator Networks'의 문서 요약 예시이다.
두 번째로 제시된 baseline(seq2seq+attention)의 경우에서'UNK'으로 표시된 비이상적인 단어들로 인해 부정확한 요약 결과가 생성되는 반면에, 해당 방법론을 사용한 경우 필요 시 원문 텍스트의 어휘들을 재현하면서도, 함축적인 새로운 어휘들을 통해서 문서 요약이 잘 수행된 것을 확인할 수 있다. 이로써 본 접근법이 'abstractive'와 'extractive'의 장점을 잘 반영한 문서 요약이 가능함을 알 수 있다.
논문의 한계점 및 시사점
본 논문에서 소개된 연구 내용은 원문 텍스트와 문서 요약된텍스트가 쌍으로 존재할 경우 수행이 가능한 접근법이다. 한글에서는 한 쌍의(pair) 학습 데이터 구성이 쉽지 않아, 정확한 학습이 어려울 것으로 예상되어 한글에서 연구 결과를 적용시키기는 어려울 것으로 판단된다. 한글로 된 뉴스의 첫 문단을 문서의 요약 문단으로 정의하고 학습하는 방법도 하나의 대안이 될수 있을 것이라 생각된다.
또한 영문과 달리 조사 및 어미 등의 결합이 존재하고 있는 한글의 특성상 자연스러운 문장 요약이 매우 어려울 것으로 판단된다. 이러한 문제점을 잘 반영하여 함축적이고 가독성 좋은 문서 요약을 가능하도록 하는 후속 연구 과제는 유의할 것으로평가된다.
글 | 김형석 hskim0263@korea.ac.kr
한때는 요리사가 꿈이었지만, 통계가 재미있어 결심한 대학원 석사과정 중 텍스트 마이닝 및 자연어 처리에 빠지게 되어 돌연 석박사 통합과정으로 전환하였다. 현재는 고려대학교 산업경영공학과 박사과정에 있으며, 주 연구 분야는 정보 검색(IR) 및 문서 요약(Text Summarization)이다. 투박한 생김새와 다르게 디테일을 추구하는 섬세한 공대생. 언젠가는 매일보는 논문을 잘 정리 요약 해주는 Tool을 만들어 대학원생들의 워너비 스타를 꿈꾸기도 한다.
참고문헌
*1 출처 | See, A. (2017). Get to the point : Summarization with pointer-generator networks, doi : arXiv:1704.04368.
*2 참고 | sequence-to-sequence attentional model
*3 참고 | abstractive text summarization using sequence-to-sequence RNNs and beyond
*4 참고 | 부정확한 재현성과 반복적단어의 재활용 등이 문제점으로 지적된다.
*5 참고 | Vinyas, O., Fortunato, M., Jaitly, N. (2017). Pointernetworks. doi : arXiv:1506.03134 *6 논문 | Nallapati, R., Zhou, B., & Santos C. (2016). Abstractive textsummarization using sequence-to-sequece RNNs and Beyond, doi : arXiv:1602.06023
[카카오 AI 리포트] Vol. 7_06. 다운받기
[카카오 AI 리포트] Vol. 7 전체글 다운받기