-
Text Summarization : Models[+] 인공지능 [+] 2021. 3. 7. 23:14
Extractive Models
SummaRuNNer - R Nallapati et al (2016)
- 두개의 양방향 RNN 사용
- 매 타입스탭 마다 단어를 입력으로 받아 vector를 생성후 평균 풀링을 진행하여 한 문장을 하나의 벡터로 표현
- 문장 벡터들이 순차적으로 RNN을 거쳐 Classification 수행
- 일반적인 Classification과는 달리 다양한 파라미터를 추가해서 고유성, 차별성, 위치 정보 등을 고려함
NeuSum - Qingyu Zhou et al (2018)
Neural Document Summarization by Jointly Learning to Score and Select Sentences
- 기존 추출 요약에서는 각 문장에 점수를 매긴 후, 점수에 기반하여 추출 요약문으로 선정할지를 판단하는데 해당 모델은 두 작업을 하나로 통합한다.
- 추출 요약문으로 선정될 문장은 1, 그렇지 않은 문장을 0으로 선정하는 기존방식과는 다르게
- ROUGE Score에 기반한 목적함수를 사용함 (각 문장의 레이블은 연속적인 값을 갖음)
- 매 타입스탭마다 해당 문장이 추출 요약문에 포함할지 여부를 변화하는 ROUGE Score에 따라 판단
BERTSum - Yang Liu et al (2019)
Text Summarization with Pretrained Encoders
- 기존 BERT에서는 입력 문장의 시작 부분에 [CLS] 토큰을 추가
- 하지만, BERTSum 에서는 [SEP]으로 구분된 모든 문장의 시작 부분에 [CLS] 토큰을 추가하여, 각 문장마다 Classification이 가능
- BERTSumExt
- Transformer Encoder(단, 이떄 Masking은 Causal Attention을 사용한다)와 이진분류 층을 추가
- BertSum의 output을 Transformer모델의 입력으로 제공하여 생성 요약을 수행 (문장 간 Attention을 계산한다는 점에서 의미가 크다)
- 이후 이진분류를 통해 추출 요약문으로 선정할지 말지를 판단
- 본 논문에서는 이진 분류층, 순환신경망, Transformer 세가지에 대해 모두 실험을 진행, 이후 Transformer 방식을 채택
- BERTSumAbs
- Transformer decoder를 추가하여 생성요약 또한 수행가능
- BERTSumExtAbs
- BERTSum에 Transformer encoder를 추가하여 추출 요약 학습 (BERTSumExt)
- 이후 encoder 대신 decoder를 추가하여 생성요약 학습 (BERTSumAbs)
- BERTSumAbs 보다 추출요약을 학습한 BERTSumExtAbs 가 더 성능이 뛰어남
Abstractive Models
PEGASUS - Jingqing Zhang et al (2019)
PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization
- 적용하고자 하는 Downstream task가 있다면 그 목적에 맞는 Pre-training을 선정해야한다.
- 요약의 경우 BERT는 MLM을 사용한다. MLM이 요약에 적합한 Pre-training 일까?
- 본 논문에서는 MLM을 수행하였으나 성능 향상에 영향을 주지 않아서 제외됨
- 기본적인 아키텍쳐는 Transformer구조를 사용
- 본 눈문은 Pre-training단계에 GSG(Gap Sentence Generation)를 수행
- GSG 수행 방식:
- 단어가 아닌 문장 단위의 마스킹
- 무작위 m개의 문장
- 최초의 m개의 문장
- 선택된 문장과 남아있는 문장 간의 ROUGE Score가 가장 높은 m개의 문장
- 위의 3가지 문장을 선정하여 마스킹 후 예측을 시도
Big Bird - Manzil Zaheer et al (2020)
Big Bird: Transformers for Longer Sequences
추출 요약 모델은 아니지만 PEGASUS에 적용하여 Text Summarization Task에 높은 성능을 보인 까닭에 추가하였습니다!
- 기존 어텐션 방식에는 Quadratic Dependency가 존재
- 길이가 n 짜리인 시퀀스 두개를 내적하여 어탠션 맵을 형성한 후 그 어탠션 맵에 의존하여 계산하게 되는데 계산복잡도가 $ n^2 $만큼 증가하다보니, 길이가 긴 시퀀스를 학습시키는건 부담스럽다.
- 실제 모델의 파라미터를 Pruning해도 성능이 유지되는 경우가 많다.
- 중요하지 않은 파라미터가 있다. 즉, 모든 파라미터를 계산할 필요가 있을까?
- Full Attention에서 탈피하여 최적화 해보고자함
- 새로운 방식의 Attention구조 제안
- Random Attention : 각 query에 대한 무작위 key r개를 선택하여 Attention계산. 위 그림에서 r=2
- Window Attention : 언어학적인 관점에서 해당 단어는 인접한 단어와 높은 상관관계를 갖는다는 점을 착안. 좌우 인접한 w개의 단어에 대한 Attention계산. 위 그림에서 w=3
- Global Attention : 문장이 시작할때 사용되는 g개의 토큰에 대하여 Attention 계산. 위 그림에서 g=2
- 공백이 존재하는 sparse한 형태의 Attention사용
- 시퀀스 길이에 따른 계산 복잡도 경감
- 긴 입력 시퀀스를 처리해야하는 Text Summarization Task에 적합한 기법
BART - Mike Lewis et al (2019)
- Seq2Seq Transformer구조를 사용 (BERT와 GPT의 특징을 취합한 모델)
- Denoising Auto Encoder에 기반한 Pre-training을 수행한다
- Token Masking : MLM과 동일
- Token Deletion : 무작위 토큰 삭제
- Sentence Permutation : 문장 순서 섞기
- Document Rotation : 시작 문장을 다르게 지정
- Text Infiling : 포아송 분포에서 Span Length를 추출한 길이 만큼의 토큰을 하나의 [MASK] 토큰으로 대체
- 손상된 문장을 입력으로 받아 Self Attention을 적용하여 인코딩 (BERT)
- 이후 Casual Attention을 적용하여 디코딩 (GPT)
'[+] 인공지능 [+]' 카테고리의 다른 글
NLLB-200 distilled 350M 두근두근 개발일지 (1) 2024.04.26 [논문 리뷰] ELMo : Deep contextualized word representations (0) 2021.05.11 Text Summarization: Overview and Metric (0) 2021.02.20 BERT 구조와 Transformer Encoder 살펴보기 (0) 2021.01.23 CNN 개요와 흐름 (0) 2020.12.13