NAACL 2024 [paper]
Chen et al.
15 Jun 2024
Introduction
Claim에 대해 fact-checking(e.g. true, mostly false, false)하기 위해 지지하거나 반박하는 증거를 찾는 것은 중요합니다. 기존 연구들은 1) claim이 생성된 시점보다 더 늦게 생성된 증거에도 접근합니다. 또는 2) claim이 단순히 포함되어 있는 문서를 검색하거나 3) claim에 대해 fact-checker가 작성한 글을 검색하도록 하는 제약이 없는 검색을 수행합니다.
본 논문에서는 claim이 생성되기 이전 시점의 문서들만 검색하도록 제한을 둠으로써, 웹사이트로부터 날것의 증거를 검색하여 claim을 검증하는 파이프라인을 제안합니다. 파이프라인은 claim decomposition, raw document retrieval, fine-grained evidence retrieval, claim-focused summarization, and veracity judgment 5가지의 컴포넌트로 구성됩니다.
- claim을 yes/no 하위 질문 세트로 분해합니다.
- 하위 질문 세트를 상용 검색 엔진에 전달하여 위에 언급한 제한을 가지고 관련 문서를 검색합니다. (1단계 검색)
- 문서들 중 가장 관련있는 paragraphs을 분리하기 위해 세분화된 검색을 수행합니다. (2단계 검색)
- 검색된 내용들로부터 claim-focused 요약을 생성하기 위해 SOTA LLM을 사용합니다.
- 생성된 요약으로 veracity classifier를 학습하여 veracity(진실성)를 판단합니다.
위 파이프라인의 각 컴포넌트들을 검증하는 것은 각 단계마다 정답 annotations이 없기 때문에 상당히 어렵습니다. 따라서 fact-checking 전문가가 제공하는 레이블과 비교하면서 veracity 분류 성능에 대해 자동 평가를 수행합니다. 다시 말하면, claim-focused 요약을 사람이 평가함으로써 실험을 보완합니다.
Methodology
위에 설명했듯이, 논문에서 제시하는 claim에 대한 fact-checking 파이프라인은 5가지 요소로 구성됩니다(claim decomposition, raw document retrieval, fine-grained evidence retrieval, claim-focused summarization, and veracity judgment). 각 방법에 대해 더 자세히 살펴보겠습니다.
1. Claim decomposition
복잡한 claim이 주어지면, 먼저 claim에 대한 fact-checking을 할 때 유용한 yes/no 하위 질문 세트로 분해합니다. 분해하기 위해서 text-davinci-003 LLM을 프롬프팅합니다. 프롬프트는 claim을 subquestions들로 분해하는 4개의 (claim-instruction-subquestions) 쌍으로 구성된 few-shot prompt를 사용합니다. 이를 10개의 서로 다른 질문들이 수집될 때까지 샘플링을 진행합니다.
2. Raw document retrieval (1단계 검색)
이전 단계에서 생성한 각 질문들을 상용 검색 엔진 API에 전달함으로써 관련 문서들을 수집합니다. 단, claim이 만들어진 이후에 게시된 페이지들에는 접근하지 못하는 temporal constraints를 부여합니다. 또한, fact-checking 웹사이트가 claim의 veracity 판단에 어떤 영향을 미치는 지 조사하기 위해서 fact-checking 웹사이트로부터 얻은 문서는 필터링하는 site constraints를 부여합니다. 구체적으로는 7개의 웹사이트와 URLs에 "fact-check"나 "factcheck"가 들어가는 사이트, 그리고 일부 PDF 파일과 비디오 파일을 필터링합니다. 최종적으로 1단계 검색에서는 Bing Search API를 이용하되, 위 constraints에 의해 필터링하면서 하위 질문 당 10개의 문서를 검색합니다. (위에 언급했듯이 하위 질문도 10개)
3. Fine-grained retrieval (2단계 검색)
1단계 검색에서 수집된 문서들은 수 만개의 단어들을 가지고 있을 수 있어서 LLM이 처리하기에 많은 비용이 들 수 있습니다. 또한 SOTA 모델을 활용하더라도 긴 context에 대해 복잡한 추론을 수행하는 것은 어려움이 있습니다. 따라서 2단계 검색을 수행하여 검색된 문서들로부터 claim과 가장 관련있는 text spans를 추출합니다.
구체적으로, 문서를 $k_1$개의 단어들을 포함하는 text spans로 나누며, 각 span은 $\frac{1}{2} k_1$ 개의 단어 간격으로 이동합니다. 동시에 이는 $\pm k_2$ 개의 단어를 가진 spans로 확장될 수 있습니다. 그리고 BM-25를 사용해서 최종적으로 highest-scored text spans를 가지는 문서 집합들을 출력합니다.
4. Claim-focused summarization
위에 검색된 문서들을 기반으로, 프롬프팅된 text-davinci-003을 이용하여 각 문서를 독립적으로 요약합니다.
zero-shot prompt
few-shot prompt
4개의 문서를 선정하여 (document-instruction-summarization) 쌍의 예시를 작성했습니다. claim과 관련없는 문서들에 대해서는 “the document is not relevant to checking the claim”를 출력하도록 합니다.(근데 appendix 예시에는 안 보인다..)
5. Veracity classification
파이프라인의 마지막 단계로, 이전 단계에서 생성된 요약을 기반으로 진실성에 대해 판단합니다. 이전 단계는 off-the-shelf tools를 사용했지만, 여기서는 DeBERTa-large 모델을 학습시켜서 6가지의 veracity 분류를 수행합니다.
=> true, mostly true, half true, barely true, false, pants-on-fire
파이프라인은 training, development, CLAIMDECOMP test data를 거쳐 실행되고, 학습은 (claim+summary, label) 쌍 형식에서 수행됩니다. 데이터셋이 작기 때문에 논문에서는 다른 랜덤시드를 가지고 classifier를 5번 훈련했고, development set에서 가장 좋은 성능을 보이는 모델을 사용하여 test set 성능을 확인했습니다.
최종 파이프라인
아래 그림은 최종 파이프라인의 결과 예시입니다. Claim이 주어지면 10개의 하위 질문들로 분해하고, 이를 기반으로 문서를 검색하고 요약하여 veracity에 대해 판단합니다.
Experiments
Setup
- Data
PolitiFact의 1,200(train: 800, dev: 200, test: 200)개의 복잡한 claim을 포함한 CLAIMDECOMP를 사용합니다. 각 claim은 6개의 veracity labels 중 하나, fact-checking 전문가가 작성한 paragraph, annotated subquestions를 가지고 레이블링 되었습니다. - Hyperparameters
2단계 검색에서 top-K1 = 10 (highest-scored text spans), top-K2 = 4 (highest-scored documents), k1 = 30 (chunk size), k2 = 150 (expansion parameter)으로 설정했습니다. 그리고 veracity classifier 모델로는 DeBERTa-large를 사용했고 batch size는 32로 설정했습니다. - Evaluation Metric
Accuracy, Mean Absolute Error(MAE, on 6-point scale), Macro-F1 - Comparision Systems
Claim-only: 지금까지 소개한 파이프라인을 시스템으로, claim과 claim의 출처, speaker를 포함한 메타데이터를 합치고 이 합쳐진 텍스트를 classifier에 전달하는 방법입니다.
Claim+Justification: Claim-only의 연장선으로, 사람이 작성한 justification paragraph를 claim에 추가하되, 레이블을 포함한 문장은 제외하고 추가한 방법입니다.
1. Constrained vs. Unconstrained Search
Temporal and site constraints를 다르게 설정함으로써 파이프라인에 대해 실험합니다. Unconstrained 세팅에서는 논문에서의 constrained settings에 의해 걸러진 문서들이 다수 포함되어 있었습니다. 15,379개의 claim 중 12,721개(약 82.7%)가 filtered website 목록에 최소 한 페이지가 포함되어 있었고, 검색된 웹페이지들의 24.4%는 fact-checking 웹사이트에서 가져왔습니다.
위 표는 다양한 검색 제약에 따른 veracity 분류 성능을 보여줍니다. 첫 번째 행이 논문에서 제시한 시스템입니다. "+"는 test set에서 Claim only보다 상당한 향상이 있음을 나타냅니다.
- 위 4개의 모델과 claim-only 모델의 성능을 비교해보면, 4가지 metrics 모두에서 거의 모든 세팅들이 향상됨을 확인할 수 있습니다. 이는 증거를 검색하고 요약하는 것이 veracity label을 예측하는 데 도움을 준다라는 것을 말해줍니다.
- Temporal이나 site 제약 중 하나만 추가하는 것은 성능을 많이 감소시키는 것을 확인할 수 있습니다. 이는 웹을 통한 검색이 claim 시점 이후에 게시된 fact-check를 합성된 증거로서 검색하기 때문이라고 저자들은 말했습니다.
2. Stage Ablations
각 stage가 최종 성능에 얼마나 기여하는 지 평가합니다.
1단계 검색: subquestions vs original claim
- 위 표에서 B와 ①을 보면, 웹 검색 입력으로 subquestions 대신에 original claim을 사용했을 때 성능이 감소합니다. Subquestions는 claim의 여러 측면을 내포하므로, 검색 엔진은 개별적인 검색을 통해서 관련 정보를 더 쉽게 찾을 수 있습니다.
- 위 표에서 B와 ②를 보면, gold subquestions를 사용하면 기존의 예측된 subquestions보다 성능이 더 떨어집니다. 이는 10개의 하위 질문을 예측했기 때문에 3개의 gold subquestions보다 더 많은 관련 데이터를 얻을 수 있기 때문이라고 주장합니다.
2단계 검색
Subquestions를 가지고 검색하는 것 대신에 Claim(③), Gold subQs(④), oracle 정보를 사용한 Justification(⑤)을 가지고 검색을 수행했습니다. 각 방법들은 성능적으로 약간의 차이만 보였습니다(심지어 사람이 작성한 justification을 사용했을 때도). 논문에서는 이러한 이유에 대해서 context window(±150 words)에 의해 검색된 text span으로 확장되었기 때문이라고 말합니다. 결과적으로 검색 단계는 관련 정보를 포착하기 위해 엄청 중요한 것 같지는 않다고 주장합니다.
Claim-focused 요약
요약을 생성할 때의 zero-shot(B), few-shot(⑥)과 no summary(⑦)를 비교합니다. no summary는 text spans를 2단계 검색에서 veracity classifier로 직접 전달합니다. no summary(⑦)는 모든 지표에서 나쁜 성능을 보이며, 요약의 중요성을 강조시켜 줍니다.
3. 1단계 검색의 안정성
시간이 지남에 따라 상용 검색 엔진은 변화하기 때문에, 논문에서는 1단계 검색에 대한 reproducibility(재현성)을 확인하는 실험을 수행합니다. 이를 위해 기본 시스템 세팅을 가지고 T=0, T=1 week, T=2 months에 3번의 검색을 수행했습니다. 웹 검색이 변함에 따라 시스템의 결과가 얼마나 변화하는 지 이해하기 위해서, 검색된 URLs 세트의 Jaccard similarity와 veracity를 평가합니다. Jaccard similarity는 URL sets끼리 계산됩니다.
위 표를 보면, 시간이 지남에 따라 서로 다른 검색주기에서 Jaccard score가 점점 감소합니다. 하지만 감소해도 정확도 평가에서 모델의 효율성에는 크게 영향을 미치지 않습니다.
4. Human Evaluation of Summaries
요약에 대한 퀄리티를 보다 심층적으로 확인하기 위해서, CLAIMDECOMP의 development set으로부터 200개의 document-summary pairs를 가지고 있는 50개의 claims을 무작위로 고른 후, 이를 이용하여 두 가지 human evaluation을 수행합니다. 각 태스크마다 Amazon Mechanical Turk로부터 faithfulness 태스트에 대해 17명, comprehensiveness 연구에 대해 15명의 annotators를 채용했습니다.
Faithfulness Evaluation
LLM이 요약한 결과에 대해 진실이 아닌 내용을 생성하는 빈도와 정도를 평가합니다. Annotators는 아래 4개의 레이블 중 하나를 선택합니다. “Faithful”, “Minor”, “Major”, “Completely Wrong”에 각각 4, 3, 2, 1점을 배정하여 Avg score를 계산합니다.
- Faithful: 요약이 원본 문서의 의미와 세부적인 정보를 정확하게 나타냅니다.
- Minor Factual Error: 요약의 일부 정보들은 원본 문서와 align이 안 됐지만 전반적인 메세지에는 손상이 없습니다.
- Major Factual Error: 요약이 원본 문서를 잘못 표현하고 있는 사실적인 오류가 있습니다.
- Completely Wrong: 요약이 원본 문서의 의미를 완전히 변경하는 내용으로 환각하고 있습니다.
위 표를 보면, few-shot prompting에서 요약의 hallucinations 확률이 상당히 감소했습니다. 요약의 89%가 classifier에게 유용하다고 판단할 수 있습니다. 또한, zero-shot-001과 zero-shot-003을 비교하면 약한 모델이 더 큰 factual errors를 만드는 것을 알 수 있습니다. 따라서 더 강력한 모델과 더 나은 프롬프트로 요약 모델이 더 향상될 수 있다고 기대할 수 있습니다.
Comprehensiveness Evaluation
LLM이 요약한 결과가 claim을 다룰 수 있는 정도를 평가합니다. 이는 매우 주관적이고 평가하기 어렵습니다. 요약의 comprehensiveness를 평가하기 위해서 CLAIMDECOMP 데이터셋의 human-annotated yes/no subquestions를 활용합니다. 제공된 요약이 사람에게 yes/no 질문에 답하는 데 도움이 될 수 있다면 요약이 포괄적이라고 가정합니다.
이 태스크에서는 annotators에게 summary / subquestion pair와 subquestion label(“answerable”, “partially answerable”, “unanswerable”)이 주어지며, 질문이 “answerable”로 레이블링 된 경우에는 yes/no 답변을 제공합니다. 또한, Annotators에게 답변에 대한 자연어 justification을 요청합니다. 50개의 claim과 관련된 161개의 질문에 대해 annotation을 수집했습니다.
위 표를 보면, zero-shot 요약이 few-shot 요약보다 더 answerable한 질문을 출력합니다. 그러나, 이는 zero-shot 요약의 hallucination에 의해 발생하는 것을 암시하고 있습니다. 도움이 되는 것처럼 보이지만 문서에서 지원되지 않는 정보를 제공합니다. 그렇지만 그래도 gold annotated subquestions의 60% 이상을 부분적으로 나마 다룰 수 있습니다.
Conclusion
이 논문에서는 복잡한 claim에 대해 웹 문서들로부터 증거를 검색하고 fact-checking을 하는 파이프라인을 소개하고, 검색된 증거를 가공하고 통합하여 최종 fact-checking accuracy를 향상시키는 데 의의를 둘 수 있습니다.