SimCLS: a simple framework for contrastive learning of abstractive summarization, acl2021
SimCLS: a simple framework for contrastive learning of abstractive summarization, acl2021
- cmu 논문
여러개의 요약을 생성하고, 이들을 순위화해서 가장 좋은 것을 선택
- BART와 beam search를 이용해서 여러개의 요약 생성
- 입력 문서와 요약간의 유사도를 이용해서 순위화
- RoBERTa 의 cls로 텍스트 representation
- 두개 cls간의 cosine similarity로 유사도 계산
contrastive training
- 요약문의 순위를 정하고, 순위가 높은 문서가 입력 문서와 유사도가 높도록 학습
- 요약문의 순위는 ROUGE로 정함
- 2가지 loss를 함께 사용함
- 정답 요약문이 생성된 요약문들보다 문서와의 유사도가 높아야 한다.
- ROUGE 점수가 높은 요약문이 낮은 요약문보다 문서와의 유사도가 높아야 한다.
- loss function
- $S$ : 정답 요약문
- $S_i$ : $i$ 번째 생성된 요약문
- $S_i$는 ROUGE 점수의 내림차순으로 정렬되어 있음. 즉, $i$가 작으면 ROUGE 점수가 높고, 좋은 요약문임
- $h$ : 두 문서간의 cosine similarity 함수 (RoBERTa의 cls로 텍스트 표현)
- $\lambda_{ij} = (j-i)*\lambda$
- 논문의 수식 (2)에서 살짝 바꿈: 동일한 내용인데 latex 기술 문제로 :-)
$$L = \sum_j max(0, h(D, S_i) - h(D, S)) + \sum_i \sum_{j>i} max(0, h(D, S_j) - h(D, S_i) + \lambda_{ij}) $$
학습시에 요약 평가 척도인 ROUGE 점수를 이용함
- BART 등을 이용하는 경우에는 학습시에 ROUGE 점수를 이용하지 않는 문제를 해결함
CNN/DailyMail 에서는 결과가 잘 나오지만, XSum에서는 결과 향상이 크지 않음
- XSum에서 요약은 한문장 정도로 짧아서인거 같음. 이로 인해 다양한 요약문 후보가 생성되지 않음
댓글