NLG :summarization
(1) 해결하고자 하는 문제는 무엇인가?

- 정보가 방대하지면 요약의 중요성이 대두되고 있다.
- 요약 중에서 extractive summarization는 문장 간의 순위를 정하여 주어진 문서에서 요약을 잘 나타내는 단어나 문장으로 요약하는 작업을 한다.
그림 출처
(2) 데이터셋: CNN/Daily Mail
- text summarization을 위한 익명화되지 않은 데이터셋
- article: 요약할 문서로 사용되는 뉴스 기사의 텍스트
- highlights: 텍스트의 요약문
- train : 286,817 , validation : 13,368 , test : 11,487
- 다운로드 크기: 558.32MiB 데이터 집합의 크기:1,27GiB
FeaturesDict({
'article': Text(shape=(), dtype=tf.string),
'highlights': Text(shape=(), dtype=tf.string),
})
출처
(3-1) SOTA 모델: HAHSum
주요 키워드: constituency parse, oracle summary

- 1) 문서에서 문장을 선택
2) constituency parses 기반으로 한 가능한 요약 문장들을 식별
3) 신경망 모델로 그들의 요약 점수를 매겨 최종 요약 문장을 선택
- 원본 문서와 해당 문장을 인코딩 다음 요약할 문장 세트를 순차적으로 선택
- 의미와 문법을 유지하기 위해 요약 option이 각 문장마다 있다
- 신경 모델은 문서와 문장 디코더의 문맥을 고려한 요약문장을 점수를 매기고 선택
- for learning
: oracle extractive-compressive summary를 구성
constituency parsing
: 구성 요소라고도 알려진 하위 구문으로 분류하여 분석하는 과정
- 하위 구문들은 NP (명구)와 VP (동사구)와 같은 문법의 특정 범주에 속합니다.

보라색: 문장에 쓰여진 단어, 빨간색: POS tag, 검은색: constituent(구성 성분)
- 문장이 어떻게 sub-phrases로 나누어졌는지 확인 가능합니다.
- constituent 마다 다르게 태그되어있음 ex) VP -verb phrase
출처
oracle summary

출처 및 더 알아보기
주요 키워드: Sliding window, Dilated Sliding Window, Global Attention
- Transformer에서 인풋 시퀀스 길이의 제곱에 비례하여 메모리와 계산량이 늘어납니다. BERT 또한 512로 시퀀스를 제한하는 등 긴 문서에 대해 처리하기 힘들다는 문제가 있습니다.
- 이런 문제를 개선하고자 인풋 시퀀스의 길이에 선형적으로 비례하는 계산량을 가진 attention 매커니즘을 제안하였습니다.

Sliding window
: window(w) 만큼의 토큰에만 attention 기법을 사용하여 계산량을 줄입니다.
- 멀리 떨어진 토큰은 attention을 계산하지 않습니다.
- layer를 여러 개 쌓으면 receptive field가 넓어짐
- L개의 층을 쌓았을 때: receptive field = L* w
Dilated Sliding Window
- d만큼 건너 뛰면서 w에 해당하는만큼 attention을 적용합니다
- Sliding window와 Dilated Sliding Window를 적절히 섞어가며 사용합니다
- receptive field = L w d
Global Attention
- BERT의 [CLS] 같은 special token을 사용합니다
- special token는 전체 token에 대한 attention을 구할 필요가 있습니다.
- special token에 한해 glbal 하게 attention을 구하는 방식을 취합니다
- 별로 많지 않기에 global attention이 별로 크지 않음
출처
더 알아보기
저도 HAHSum 모델을 SOTA 모델로 선정하였는데 논문을 읽어도 자세하게 이해가 안되던 부분을 기록하셔서 이해하는데 도움이 되었습니다.