본문 바로가기
자연어처리(NLP)/논문 리뷰

[논문 리뷰] BERTSUM : Text Summarization with Pretrained Encoders, 2019

by jun0823 2023. 1. 17.
반응형

https://arxiv.org/pdf/1908.08345.pdf

 

Abstract

 

BERT는 최근 넓은 NLP 분야에서 성능을 크게 향상시킨 모델이다.

 

이 논문에서는 BERT 모델을 어떻게 text summarization task에 적용할지와 extractive / abstractive summarization에 대한 model을 제안한다.

 

최신의 document-level encoder를 추가하여 BERT가 document의 semantics들을 표현하고, 각각의 문장들의 표현을 가지고 있을 수 있도록 설계하였다.

 

Extractive model에서는 해당 encoder의 가장 윗단에 몇개의 intersentence Transformer layer를 추가하였다.

 

Abstractive model에서는 새로운 fine-tuning schedule을 제안하여 encoder와 decoder에 있는 서로 다른 optimizer에 적용시킬 수 있도록 하고, model이 만들어낸 summaries들의 quality를 크게 향상시킬 수 있는 two-staged fine-tuning approach를 제시한다.

 

 

Introduction

 

Language model pretraining 기법은 많은 분야의 NLP task에서 성능을 크게 향상시켰다.

 

특히 BERT model은 word와 sentence representation들을 very large transformer에서 combine한다. 이 과정에서 방대한 양의 text로 MLM이나 NSP(Next Sentence Prediction) 방법을 통해 pretrained되고, 다양한 task로 fine-tuned 된다.

 

이렇게 pretrained language model 들은 보통 NLU problem이나 classification task에서 사용되지만, 이 논문에서는 text-summarization에 미치는 영향을 조사하도록 한다.

 

이전 task와는 달리 summarization task는 words나 sentences 각각의 의미를 알아내는 것과는 달리, 전체적인 맥락을 이해할 수 있는 NLU를 필요로 한다.

 

결국 summarization은 document의 의미를 가장 잘 유지하면서 document를 더 짧은 버전으로 압축하는 것이 목표이다.

 

abstractive summarization 관점에서는 source text에 없는 새로운 단어들을 이용하여 summary를 create 하는 문제로 정의할 수 있고, extractive summarization 관점에서는 해당 sentence가 summary에 포함되어야 하는 label을 가지고 있는지 아닌지를 파악하는 binary classification 문제로 정의할 수 있다.

 

이 논문에서는 BERT를 text summarization에 적용하기 위해 document level encoder를 사용하여 document를 encode하고, 각각의 sentence에 대한 표현을 가질 수 있도록 하였다.

 

extractive model의 경우 encoder 위에 몇 겹의 intersentence transformer layers들을 쌓아 sentence에서 뽑아낸 document-level features들을 얻을 수 있도록 한다.

 

abstractive model의 경우 pretrained BERT encoder와 random하게 initialized된 transformer decoder를 결합한 encoder-decoder architecture를 채택하였다.

 

Background

 

Pretrained Language Models

 

 

general architecture of BERT를 먼저 살펴보자면,

 

1. Input text가 두개의 special token에 삽입되면서 첫번째로 pre-processing 된다.

[CLS] 는 text의 처음을 나타내는 token으로 삽입되고, 이 token의 output은 전체 sequence의 정보를 결합한 것이 된다.(for classification tasks)

 

2. [SEP] token은 각각의 sentence 끝에 넣어 sentence의 boundary를 표시하는 역할을 한다.

 

modified text는 token의 sequence X = [w1,w2, ... , w_n]으로 표현되고, 각각의 token w_i는 다음과 같은 3가지의 embedding 종류를 가진다.

 

- token embedding : 각각 token의 의미를 가리킴

 

- segmentation embedding : 두 sentence 사이를 구별하기 위해 사용된다.

 

- position embedding : text sequence에서 각각의 token의 위치를 의미한다.

 

이러한 3가지의 embeddings 들은 input vector x_i에 더해지고, bidirectional Transformer with multiple layers에 넣어진다.

 

h0 = x(input vector), l = layer depth

 

top layer에서 BERT는 rich information 속에서 각각의 token의 output vector t_i를 만들어 낸다.

 

Fine-tuning BERT for Summarization

 

Summarization Encoder

 

지금까지 BERT는 다양한 NLP task에서 사용되었지만, summarization 부문에서는 널리 활용되지 않았다.

BERT 자체가 masked-language model로 학습되었기 때문에, output vector가 sentence 대신 token 단위로 이루어져 있고, 이는 sentence-level로 표현되어야 하는 summarization 분야와 맞지 않다.

 

따라서 individual sentences를 표현하기 위해, [CLS] token을 각각의 sentence 앞에 넣고, 각각의 [CLS] token이 sentence feature를 가질 수 있도록 한다.

 

또한 interval segment embedding을 사용하여 document 안에 있는 multiple sentences들을 구별할 수 있게 한다.

예를 들어 짝수번째 문장은 E_A로, 홀수번째 문장은 E_B로 segment embedding을 해주는 방식으로

document = [sent1, sent2, sent3, sent4, sent5]로 구성되어 있다면, [Ea,Eb,Ea,Eb,Ea]와 같이 embedding을 배정해 줄 수 있다.

 

이 방법을 사용하면 document를 hierarchically하게 학습할 수 있는데, lower Transformer layer에서는 인접 sentences들을 표현할 수 있는 반면 higher layer에서는 self-attention의 combination으로 이루어져 있기 때문에 여러 문장이 결합된 담화를 표현할 수 있다.

 

BERT model의 positional embedding의 경우 최대 512개의 token을 가질 수 있었는데, 이러한 limitation을 randomly하게 초기화되고, encoder에 있는 다른 parameter에 대해 fine-tuned된 position embedding을 더 추가함으로써 해결할 수 있었다고 한다.

 

 

Extractive Summarization

 

document d = [sent1, sent2, ... , sent_m] 라 하자

 

Extractive summarization은 각각의 sent_i가 summary에 포함되어야 할지 아닐지에 대한 label 배정하는 task로 정의할 수 있다.

 

BERTSUM model에서 가장 top layer에 있는 i번째 [CLS] symbol이 나타내는 vector t_i가 sent_i를 나타내는 representation으로 사용될 수 있다.

 

몇몇의 inter-sentence transformer layers들은 BERT ouput의 가장 위에 쌓이면서 document-level feature를 포착한다.

h^0 = PosEmb(T)

T : BERTSUM의 sentence vectors output

PosEmb : sinusoid positional embedding to T

 

final output layer using sigmoid classifier

(h_i)^L : transformer의 L-th layer를 통과한 sent_i vector

 

L = 1, 2, 3일 때를 실험해 보았을 때 L=2일 때 가장 성능이 좋았다고 한다. => BERTSUMEXT model

 

Loss는 해당 token의 label y_i에 대한 binay classification entropy loss 를 사용하였다.

 

Abstractive Summarization

 

abstractive summarization을 위해 standard encoder-decoder framework를 사용하였다.

 

encoder는 pretrained BERTSUM encoder를 사용하였고, decoder는 random하게 initialized된 6-layered Transformer를 사용하였다.

 

하지만 여기서 encoder와 decoder 사이에 mismatch가 있다고 생각할 수 있는데, 이는 전자는 pretrained된 반면, 후자는 scratch부터 train 해주어야 하기 때문이다.

 

이러한 방법은 fine-tuning을 unstable하게 만들 수 있는데,

예를 들어 encoder는 특정 data에 overfit 되어 있을 수 있지만, decoder는 반대로 underfit 되어 있을 수 있기 때문이다. (반대의 경우도 가능)

 

이 현상을 회피하기 위해 이 논문에서는 새로운 fine-tuning schedule를 design 했고, encoder와 decoder의 optimizer를 분리하였다.

 

두 optimizer의 beta 값을 다르게 하고, warmup step과 learning rate도 다르게 설정하였다.

pretrained encoder는 더욱 작은 learning rate + smoother decay를 가지고 있어야 한다.

 

추가적으로 two-stage fine-tuning approach를 제안하여 처음에는 encoder가 extractive summarization task에 적용할 수 있도록 fine-tune해주고, 그 후에 abstractive summarization task에 fine-tune 해준다.

 

결국 extractive objectives를 사용하는 것이 abstractive summarization의 성능도 boost 할 수 있다고 말한다.

 

또한 two-stage approach가 컨셉적으로 매우 간단하고, model이 근본적으로 각각의 architecture를 바꾸지 않으면서 두 task 사이의 information을 공유할 수 있다는 장점이 있다고 말한다.

 

abstractive model을 BERTSUMABS라 하고, two-stage fine-tuned model을 BERTSUMEXTABS라 한다.

 

Conclusion

 

이 논문에서는 pretrained BERT가 text summarization에 효과적으로 적용될 수 있음을 보여주었다.

 

novel document-level encoder와 abstractive / extractive summarization의 general framework를 제시하였다.

 

Experimental result를 보았을 때 계산된 평가지표와 human-based evaluation 모두 SOTA의 성능을 내었다.

반응형

댓글