FALSESUM : Generating Document-level NLI Examples for Recognizing Factual Inconsistency in Summarization
논문 정보
- Date: 2023-04-20
- Reviewer: 전민진
-
Property: Text summarization, Data augmentation
-
Abstract
-
abstractive summarization model의 경우 원문과 factually inconsistent한 요약을 생성하는 경향이 있음
-
이전까지는 이러한 factual inconsistency를 인식하는 task를 NLI의 downstream application으로 소개
-
하지만 SOTA NLI model도 target task에 일반화할 수 있는 능력이 부족해, 위의 task에서는 성능이 좋지 않음
-
본 논문에서는 training data을 task에 맞춰서 augmented해 NLI모델이 이 task에 효과적일 수 있다는 사실을 밝힘
-
FALSESUM: data generation pipeline leveraging a controllable text generation model to perturb human-annotated summaries, introducing varying types of factual inconsistencies
- 이전에 소개된 document-level NLI dataset과 달리, 본 연구에서 생성한 데이터셋은 다양하고 inconsistent하지만 plausible한 데이터들을 포함함
-
-
FALSESUM-augmented NLI dataset에 학습한 모델이 factual inconsistency를 감지하는 task에서 SOTA 달성
-
-
Introduction
-
NLI dataset의 경우 abstractive summarization에서 자연스럽게 발생하는 entailment 현상만 포착하고 있지 않음
-
또한, 우선 input granularity의 관점에서 discrepancy가 존재
- 예를 들어, consistency classification task에서 premise는 여러 문장으로 이뤄져 있지만(원문), 보통의 NLI dataset에서는 한문장의 premise를 가지고 있음
-
본 논문에서는 이러한 차이를 해소하고자, document와 gold summaries가 positive pair로, 생성된 inconsistent summaries와의 pair를 negative examples로 하는 NLI dataset을 만드는 data generation pipeline, FALSESUM을 제안
- 여기서 inconsistent summaries를 만드는 generator에서 생성된 output에서 보이는 factual error의 type을 결정하는 input control codes을 변경할 수 있음
-
본 논문의 contribution은 다음과 같음
-
document, gold summary pair를 input으로해 factually inconsistent한 summary를 만드는 novel한 training pipeline을 제안
-
이렇게 생성한 dataset의 유용함을 증명
- 사람이 쓴 요약문이랑 구별하기 어려우면서, 있을법한 inconsistent summary
-
-
-
Related Work
-
ground-truth summary text와 generated summary에서 relation tuples를 추출하는 information extraction model을 사용해 overlap되는 부분을 세서 factuality의 지표로 씀
-
QA모델을 바탕으로 document와 summary를 context로 사용해 predicted answer를 매칭함으로써, factual inconsisteny를 감지하도록 함
- 같은 질문에 대해 summary를 context로 줬을 때, document를 context로 줬을 때, 요약이 doucment와 factually consistent하다면 유사한 답변이 나올거라고 가정
-
factually consistency문제를 NLI로 해결하려 함
-
NLI model을 바탕으로 entailment label에 배정될 확률을 사용해 summary candidates를 re-rank
- 하지만 consistency error가 개선되진 않았음
-
inconsistency detection을 binary classification setting으로 두고 NLI모델을 바로 사용했을 땐, 다수결보다 조금 나은 성능을 보임
-
FactCC - transformation rules(sentence negation, entity swappinng 등)을 바탕으로 inconsistent summary의 example을 얻는 synthetic NLI data generation process
-
NLI모델이 여러 summarization model의 결과를 manully annotating해 얻은 현실 test case에 대해 좋은 성능을 보임
-
하지만 rule-based 특성 때문에 다양한 consistency error type을 만들진 않고, 더 abstractive할 수록 error distribution이 잘 align되지 않음
-
-
-
-
FALSESUM Approach
-
Design Overview
-
input으로 source document D와 그에 따른 reference sumary S+를 input으로 받음
-
이후 preprocess와 format과정을 거쳐서 나온 D와 S+를 generation model G에 넣음
- G의 결과는 factually inconsistent summary S-
-
각 summarization example에 대해서, positive와 negative NLI를 가짐
- (D, S+, Y=1), (D, S-, Y=0)
-
FALSESUM의 목표는 S+와 대조되는 자연스러운 S-를 만드는 것
-
즉, S+와 S-는 표면적인 특징에서는 구별 불가능해야함(style, length, vocabularies)
-
오직, D에 관해서 factual consistency만 달라야 함
-
-
이는 NLI모델이 surface feature를 기반으로 구별하는게 아니라 정확한 factual consistency의 개념을 학습하게 함
-
또한, 자연스러움에 더불어 다양한 consistency error type이 나오도록 해야함
-
consistency error typology를 바탕으로 error를 크게 2가지로 분류
-
intrinsic : source document에서 잘못된 정보 통합으로 인한 오류
-
extrinsic : source document에서 직접적으로 추론할 수 없는 새로운 정보를 가정함으로써 발생하는 오류
-
-
-
-

- 위 그림과 같이, generation model G는 summarizatoin model의 consistency mistakes를 모방하도록 학습
- source document에서 잘못된 정보를 original summary의 random span에 삽입
- summary에 source document에 없는 새로운 fact를 넣음
- 이를 위해, framework는 generator에서 이용가능한 source document의 information이나 fact가 무엇인지, 어디에 틀린 정보가 gold summary에 삽입될 수 있는지를 식별해야하는데 이를 input preprocessing과 formatting 단계를 수행
- 모델 G를 학습하는 seq2seq 태스크를 다음과 같이 정의
- Given a list of shuffled and formatted pieces of information extracted from source document and gold summary and a partially masked gold summary, fill in the blanks and generate the original gold summary
-
Input Preprocessing
-
source document와 gold summary에 있는 fact는 OpenIE tuple로 정의될 수 있음
-
문장에서 찾은 predicate와 argument structure를 표현
-
각각의 relation tuple를 (ARG_0, PRED, … , ARG_n)으로 표기
-
PRED는 event를 표현(What happend), ARG는 event의 who, to whom, where, how를 나타내는 semantic argument를 표현
-
즉, predicate는 보통 clause의 핵심 동사
-
predicate와 argument는 token의 span을 구성
-
-
-
-
OpenIE를 사용해 source document와 reference summaries에서 relation tuple를 추출
-
랜덤하게 tuple에서 argument하나를 선택, 제거해 추출한 “fact”를 corrupt시킴
- 멀쩡한 fact가 generation model에 들어갈 경우, consistent한 summary를 만들 수 있음
-

- 예를 들어 위와 같은 relation이 있다고 하면, 랜덤하게 apple를 선택해서 tuple에서 제거해 버림
- 혹은 각 argument와 predicate span의 dependency root word를 lemmatize
- e.g., plans to give ⇒ plan to give
- 이렇게 하면 모델이 grammaticality에 대한 correct를 학습할 수 있음
- 모든 span이 추출되고 처리되면, 2개의 list로 grouping하고 shuffle
- predicates와 argument에 대한 list
-
Input Formatting
-
P = (PRED_1, … , PRED_n), A = (ARG_1, … , ARG_m)
- sorcue document D와 summary sentence S+에서 추출한 unordered list
-
여기에 masked summary sentence M, control code variable c \in {extrinsic, intrinsic}
-
Generator G는 p(S+ P,A,M,c)를 계산하도록 학습됨 -
모든 conditional variables를 다음과 같은 format으로 encode
- Predicates: P; Arguments: A; Code: c; Summary: M
-

- step 1 : Span Removal(핵심 span삭제)
- 처음엔 gold summary에서의 predicate, argument span을 포함하고, 이를 사용해 S+를 reconstruct
- 하지만 test time땐, gold span을 제거해 G가 consistency mistake를 하도록 유도
- 혹은 control code extrinsic으로 G를 학습할 때도 제거
- 그럴듯한 unseen span을 예측하도록
- gold summary에 있는 pred, arg가 input document에도 있을 수 있는데, 이 경우 간단한 휴리스틱을 통해 제거
- step 2 : Span Reduction(랜덤 span 삭제)
- G가 fine-grained error을 생성하도록 하기 위해, incorrect modifier를 P와 A의 span으로 hallucinate하도록 학습
- 완전하지 않은 list를 바탕으로, 그럴듯하게 만들기 때문인 것으로 추청됨
- 이를 위해, gold predicate와 argument span의 10%정도 랜덤하게 adjectives와 adverbs를 drop
- 예를 들어, “recently elected prime minister”이라는 argument span이 있을 때, 여기서 minister를 제거
- 이를 통해, 모델이 formatted input만 context로 제공될 때, span의 남아있는 부분을 생성하도록 함
- step 3 : Control Code
- G에서 생성된 consistency error의 종류를 control하기 위해, “code:”라는 string을 다음에 “intrinsic” 혹은 “extrinsic”을 input token에 추가
- 이 코드는 0.5의 확률로 랜덤하게 선택됨
- 코드가 선택되고 나면 아래 그림(table 1)과 같이 남은 formatting step을 수행
- step 4 : Sumamry Masking
- 랜덤하게 선택된 predicate와 argument의 span을 special token로 교체해 masked summary M을 만듦
- special token <span_i>, where i = 0 is reserved for the predicate and i > 0 for their arguments
- 이러한 token들은 generator model에 의해 original sumamry에 틀린 정보가 삽입되도록 함

- gold input span은 intrinsic training할 때만 볼 수 있음
- 위의 표를 보면, intrinsic을 학습할 때는 summary를 randomly masking해 주어진 listed spans를 통합해 그럴듯한 요약문을 생성하도록 함
- 이와 달리 extrinsic을 학습할 때는, gold input span을 삭제함에도 원문 요약을 생성하게 함으로써, hallucinate을 유도
- test시에는 두 가지 code 모두 gold span삭제 후 생성
-
Training FALSESUM
-
CNN/DM corpus의 train split에 대해 FALSESUM data generation pipleline을 학습
-
CNN/DM은 원래 QA를 위해 데이터를 수집했지만, summarization으로 reformulated됨
-
dataset은 영어 기사와 사람이 쓴 요약문이 pair로 존재, 각각은 여러 문장으로 구성됨
- summary를 한 문장씩 쪼개서 document text and a single sentence summary의 pair로 만듦
-
각 document-summary pair에 대해 preprocessing과 formatting 단계를 거침
-
formatted된 input과 target output의 pair는 train 394774, test 262,692개
-
-
T5-base모델을 사용해서 G를 seq2seq task에 fintuning
-
“Given (♦i) a list of shuffled and formatted pieces of information extracted from source document and gold summary and (♦ii) a partially masked gold summary, fill in the blanks and generate the original gold summary.”
- **fine-tune된 generator를 사용해 전처리되고 포맷팅 된 test split에 대한 NLI example를 생성**
- 본 논문의 실험에서는 100,000개의 FALSESUM example를 샘플링해 NLI dataset을 보강(augmented)
-
Experimental Settings
-
FALSESUM-generated document-level examples for NLI dataset augmentation의 효과성을 입증하는게 목표!
-
NLI 모델의 downstream performance를 평가하기 위해 generated summaries의 factual inconsistency를 결정하는 여러 벤치마크들과 비교
-
Training
-
NLI models
-
RoBERTa-base를 MNLI에 fine-tuning
-
MNLI dataset는 392702개의 train instances로 각 라벨은 entailment, neutral, contradiction 중에 하나로 되어 있지만, NLI data의 application을 가능하게 하기 위해 binary formulation을 사용해 neutral, contradiction을 non-entailment로 통합
- sentence pair로 구성되어 있음
-
-
Document-lebel NLI dataset
-
augmentation 비교를 위해서 요약 혹은 news 도메인의 multi-sentence NLI dataset사용
-
ANLI : 대부분 Wiki data, 소수의 news text로 구성됨. paragraph-level NLI dataset.
-
DocNLI : QA examples 혹은 news summaries을 NLI로 번형한 데이터셋. news summaries의 단어와 문장을 LM을 사용해서 교체. document-level NLI dataset
-
-
-

- FactCC : summary factual correctness classification model을 학습하기 위해 생성된 large-scale dataset. FactCC의 positive는 CNN/DM의 news story를 back translation해서 만듦. negative는 predefined rules를 사용해 sentence를 perturbing.
- 형평성을 위해 랜덤하게 100000개의 데이터만 샘플링 해 사용
-
Benchmark Datasets
-
NLI model을 평가하기 위해 abstractive summaries의 factual consistency를 분류하는 4가지 벤치마크에 사용
-
기존에 consistent, inconsistent로 라벨링 되어있던 것을 NLI모델을 평가 하기 위해 entailment, non-entailment로 mapping
-
FactCC : 1431개의 document와 single-sentence summary pair로 구성됨. CNN/DM에 대해 학습한 abstractive summarization모델이 생성한 summary를 사용.
-
Ranksum : 107개의 문서와 sumamrization model이 beam search로 생성한 5개 순위의 summary candidates가 pair로 구성됨. task는 list를 re-rank하는 것으로 top-1 summary가 factually consistent함
-
Summeval : 7개의 extrative model이 생성한 summaries와 16개의 abstractive model이 생성한 summaries를 포함. 각각은 3명의 notator가 5-Likert scale를 사용해서 consistency를 판단. 5점일 경우에만 consistency하다고 라벨링.
-
QAGS : XSUM에서 239개의 test set instances과 CNN/DM(multi sentence summaries를 single-sentence summary test instance로 쪼갠 후의 개수)에서 714개의 instences로 구성된 dataset. 각 instance는 source document와 single-sentence summary의 pair로 구성되어 있고, 다수의 annotator가 선택한 label이 data의 label이 됨
-
-
Results and Discussion
-
Main Results
-
FactCC, QAGS, SummEval에 대한 성능은 balanced accuracy를 사용해 측정됨
-
balanced accuracy는 class imbalanced settings에 적합한 방식
- consistency에 대한 acc와 inconsistency에 대한 acc를 평균내 계산
-
몇몇 벤치마크 데이터셋에서는 consistentcy가 다수의 라벨이기 때문
-
다수의 label에 대한 voting이 50%의 점수만 얻도록 2 class의 average recall로 정의됨
-
라벨 각각에 대한 예측률의 평균
-
-
Ranksum에서 ranking performance를 측정하기 위해서, average Precision@1을 계산
-
각 test instance에서 factually consistent summary가 가장 높은 순위를 차지한 비율
-
모델이 매긴 순위를 바탕으로, 1위가 실제로 consistency라벨인 경우
-
-
random seed 5개에 대한 성능을 평균내서 사용
-
-

- FALSESUM을 사용해 학습한 모델이 제일 좋은 성능을 냄
- sentence-level MNLI dataset로 학습한 모델의 경우 max-seq을 128에서 512까지 늘려도 document-level benchmark에서는 성능이 안좋음
- 하지만 document를 문장별로 쪼개서 sentence-wise prediction을 하면 나아짐(하지만 계산량이..)
- 다음과 같은 방식으로 classification

- DocNLI와 ANLI는 더 긴 premise sentences를 가지고 있지만 성능이 좋지 않고, 이는 length match가 주요한 원인이 아님을 보임
-
Ablation Anaysis on FALSESUM Data
-
NLI examples에서 얻은 (D,S+)에서 constrative property를 제거하기 위해 positive 혹은 negative 둘 중에 하나를 제거하거나, negative pair만 가지고 type에 따라 dataset을 분류
-
이렇게 쪼갠 데이터를 -contrastive, -intrinsic, -extrinsic 으로 표기
-
각각의 학습 데이터는 100000개로 샘플링해서 맞춰줌
-
-

- 보면 intrinsic을 제거했을 때 가장 성능이 저하됨
- 즉, 벤치마크에서 intrinsic consistency error가 지배적이라는 걸 알 수 있음
-
Fine-grained Evaluation
-
이전 연구에 따르면, NLI모델은 entailment label을 lexical overlap과 연관시키는 안좋은 휴리스틱을 가지고 있음
-
factual consistency task에서 모델이 highly extrative summaries을 consistent label과 연관시키는 것과 유사
-
과연 이러한 경향이, FALSESUM에서 줄어들었는지를 비교 분석
-

- 이를 위해 FactCC test examples을 lexical overlap정도에 따라 5가지로 분류, 각각의 balanced accuracy를 측정.
- overlap은 Normalized coverage and Density summary extrativeness score로 계산
- 1은 summary의 모든 단어가 source document에 존재함을 의미
- 즉 summary가 거의 source document의 일부를 copy해서 나온 결과라는 뜻
- overlap = normalized coverage x density로 계산
- 측정 결과, FALSESUM으로 학습한 모델이 모든 subset에서 우수, 특히 0.9 overlap subset에서는 큰 차이를 보임
- 즉, FactCC는 overlap정도가 심하면 모두 consistent하다고 예측해 majority voting performacne인 50%에 가깝다는 것을 알 수 있음
- 하지만 FALSESUM으로 학습할 경우, overlap정도와 상관없이 꾸준한 성능을 보임
-
Data Quality Analysis
-
FALSESUM-generated dataset에서 manual, automatic quality evaluation을 진행
-
우선 200개의 negative example을 샘플링한 뒤, 직접 1) 이 요약이 정말 factually inconsistent한지, 2) consistent error가 지정한 control code와 맞는지 3) incorrect “fact”가 특정 missing span에 삽입되었는지를 확인
-

- 생성된 dataset의 자연스러움을 평가!
- CNN/DM의 positive examples과 FALSESUM의 negative examples을 사용해서 NLI model을 학습
- 모델은 premise없이 semantic plausibility 와 spurious surface features(예를 들면 문법적 오류나 유창성 오류)를 보고 entailed과 non-entailed hypotheses를 구별해야함
- FALSESUM에 대한 low acc를 보이는 것으로 보아 FALSESUM이 자연스러운 negative를 만든다는 것을 알 수 있음

-
Conclusion
-
FALSESUM이라는 data generation pipeline을 제안해서, large-scale document-level NLI dataset을 manual annotation없이 렌더링
-
본 논문에서 제안한 방법으로 더 자연스럽고 다양한 factually inconsistent summaries를 생성하도록 학습할 수 있었음
-
NLI dataset을 augmenting해 이를 바탕으로 학습한 모델이 4가지 summary factual inconsistency benchmark에 대해 SOTA를 달성함
-