공부방/Upstage AI Lab 4기

[논문 리뷰] 팩트체크 시스템의 기초를 마련한 FEVER 데이터셋

Eddie_D 2024. 12. 2. 19:51

FEVER:
a large-scale dataset for Fact Extraction and VERification (논문 링크)

 

논문 이름은 a large-scale dataset for Fact Extraction and VERification. 사실 추출과 검증을 위한 대규모 데이터셋으로, 줄여서 FEVER라고 부릅니다. 이 논문은 2018년에 발표됐고, 셰필드 대학교와 아마존 리서치 연구자들이 함께 쓴 논문이라는 점이 인상적입니다. 

이런 데이터셋을 만든 이유?

먼저 논문 서론에서 이 데이터셋을 만든 이유에 대해서 3가지 이유를 소개하고 있습니다. 첫 번째는 검증에 대한 수요가 늘어나는 것인데요. 저널리즘 관점에서 가짜 뉴스를 판별하는 문제는 과거부터 뜨거운 문제였죠. 이 외에도 논문을 쓸 때나 제품에 대한 리뷰를 하는 객관적인 근근거가 중요한 영역에서도 이런 텍스트 검증이 중요해지고 있습니다. 두 번째는 기존의 데이터셋의 한계입니다. 당시 사실 검증용 데이터셋은 몇백 개 수준으로 매우 작았다는 것인데요. 2017년도에 Fake News Challenge라는 대회가 있었는데 이때에도 300개의 '문장'을 가지고 대회를 했을 정도로 열악한 상황이였다고 합니다. 세 번째는 기존의 접근 방식에 대한 한계인데, 자연어처리 분야에서 널리 시행됐던 태스크 중 QA나 TE(텍스트 함의) 작업에서 접근하는 방식으로는 사실 검증을 할 수 없었기 때문입니다. QA는 질문 안에 답을 찾을 수 있는 정보들이 포함되어 있고, 또 TE 작업에는 검증할 구절을 미리 주어지는데, 팩트체크를 할때에는 관련 증거를 직접 찾아야 하기 때문에 접근 방식이 달라야 한다는 것입니다.

그래서 이 데이터셋의 목표는 뭐다?

로버스트하고 큰 스케일의 리소스와, 신뢰할 수 있는 텍스트 자료를 제공하여 특정 사실 주장을 검증할 수 있는 시스템을 개발하고 평가하는 것이 주요 목적입니다. 즉 문장의 참과 거짓을 판별하는 것에서 끝나는 것이 아니라, 주장에 대한 근거를 찾게 하는 것까지! 비유적으로 말하자면 팩트체크 인공지능을 훈련시키고자 하는 셈이였습니다. 

How! 어떻게 데이터셋을 만들었나?

데이터셋은 두 단계 스텝으로 나뉘어 만들어졌는데요. 먼저 위키피디아 페이지에서 5만개의 인기있는 페이지를 뽑습니다. 그리고 페이지의 도입부에서 문장들을 샘플링하고요. 어노테이터에게 이 샘플링 된 문장을 주면, 어노테이터는 이 문장을 바탕으로 사실에 대한 주장, claim을 생성합니다. 이렇게 만든 claim도 있고요, 처음 만든 claim을 가지고 다른 어노테이터가 변형된 claim을 생성합니다. 변형 유형은 6가지가 있는데, 바꿔쓰기, 부정, 비슷한 개체/관계로 대체하기, 다른 개체/관계로 대체하기, 더 일반적으로 만들기, 더 구체적으로 만들기 이렇게 6가지 방법이 사용됐습니다. 여기서 어노테이터들에게는 사전이 제공됐고, 사전에는 원본 문장에 링크된 용어와 그 용어의 위키피디아 첫 문장이 포함됐습니다. 이 사전 정보를 보고 어노테이터들은 더 복잡한 claim을 생성할 수 있게 했습니다. 이를 통해 기본적인 주장은 위키피디아 내용에 근거하도록 했고, 변형을 통해 다양한 유형의 참과 거짓 주장을 생성해낸 것입니다.

두 번째 단계는 어노테이터들이 직접 분류하여 라벨링을 붙이는 것입니다. 라벨링은 세 가지 중 하나로 붙였는데, 주장에 근거가 확실하게 뒷받침되는 경우 '증거 입증됨'이라는 의미로 서포티드, 주장이 근거에 의해 반박됐거나 거짓으로 확인된 경우 'REFUTED' 반박됨, 그리고 주어진 증거만으로 참이나 거짓을 판단할 수 없는 경우는 정보부족으로 라벨링했습니다. 그리고 서포티드와 레퓨티드로 분류한 경우에는 그들이 직접 분류한 증거를 대도록 했습니다. 구체적인 문장을 근거로 제시해야하고, 근거는 하나가 아니라 위키피디아 문서 여러 개에서 가져올 수도 있게 했습니다. 

데이터셋 품질을 높이기 위해서 어노테이터는 50명으로 구성된 영어 원어민들이였고, 논문 저자와 선배 어노테이터에게 다이렉트로 훈련받았습니다. 이 품질은 플라이스 카파 점수라고 하는 통계 지표로도 확인할 수 있는데, 플라이스 카파 점수 0.6841로, 평가자들이 이 라벨링 결과에 대해 높은 수준의 동의를 보였습니다. 그리고 슈퍼 어노테이터를 둬서 아주 꼼꼼하게(시간 제한 없이) 클레임의 라벨을 검증할 수 있도록 했습니다. 

베이스라인

이제 본격적으로 검증 베이스라인 파이프라인을 소개해드리겠습니다. 이 베이스라인 파이프라인은 3개의 메인 컴포넌트로 이루어져있습니다. 첫 번째는 문서 리트리벌 컴포넌트로, 위키피디아의 수많은 문서 중에서 관련있는 문서를 찾아오는 것입니다. DrQA system에서 가져온 문서 리트리벌 컴포넌트를 사용했고, 문서와 쿼리의 문자 벡터들의 TF-IDF 스코어를 계산하여 코사인 유사도를 계산하여 유사도가 가장 높은 k개의 문서를 가져오는 방식입니다. 쉽게 말하면, 주장에 있는 중요한 단어들이 얼마나 많이 등장하는지를 기준으로 문서를 찾는 방법입니다. 두 번째는 문장 선택 컴포넌트인데, 찾아온 문서 중에서 주장과 가장 관련있는 구체적인 문장을 고르는 것입니다. 아까와 동일하게 TF-IDF 스코어룰 계산하고 문장 단위로 스코어를 비교해 순위를 매깁니다. 세번째는 텍스트 함의 인식이라고 하는, Recognizing Textual Entailment(RTE) 컴포넌트입니다. 이 컴포넌트에서는 찾아낸 문장을 바탕으로 주장이 사실인지 거짓인지 정보부족인지를 결정하는 부분입니다. 여기서 2가지 모델을 시도했는데, 하나는 다층 퍼셉트론이고 다른 하나는 Decomposable attention model이라고 불리는 분해가능한 주의집중 모델입니다. MLP는 Riedel이 개발한 MLP 모델을 사용했고, 이 모델은 2017년 Fake News Challenge에서 사용된 것인데, 이는 단일 은닉층을 가진 간단한 MLP 구조를 가지고 있습니다. DA 모델은 당시 스탠포드 자연어 추론 과제에서 가장 높은 점수를 받았던 SOTA 모델이였고, 구문 분석이 필요하지 않고 앙상블 모델이 아니었기 때문에 사용했다고 설명했습니다.

실험

이제 실험 결과를 살펴보겠습니다. 실험을 위해 근거를 주석으로 단 claim들을 학습용, 개발용, 테스트용으로 나눴습니다. 평가 매트릭은 먼저 분류가 3가지 중에 맞게 됐는지를 측정하고, 개발과 테스트셋에는 각 클래스가 동일한 양으로 분포되어 무작위로 추측한다면 33%의 정확도를 보이게끔 만들었습니다. 근거를 평가할 때에는 suppoted, refuted 클래스에 한해서 근거 평가가 이뤄집니다. 예측된 문장과 어노테이터가 선택한 문장을 비교해서 F1 스코어를 계산하는 방식입니다. 어떤 주장은 여러 문장의 증거가 필요할 수도 있는데, 여러 문장을 모두 찾아야 정답으로 인정했습니다.

결과적으로 가장 성능이 좋았던 테스트셋의 결과는 정확도 31.87%였습니다. 근거는 빼고 분류만 정확히 했는가를 따졌을 때에는 50.91%로 더 높은 점수가 나왔지만, 근거도 확실하게 찾고 분류도 확실하게 해야 할 때에는 31.87%로 점수가 훨씬 낮았습니다. 그리고 DA 모델이 MLP보다 성능이 더 좋았습니다. 이 표에 나온 것은 개발 데이터셋에 대한 결과값인데, 모델을 개발하고 튜닝하는 과정에서 32.57%, 분류만 단독으로 했을 때는 52.09%가 나왔습니다. 개발 세트와 테스트 세트의 성능 차이가 0.7% 정도로 매우 작아, 과적합되지 않고 일반화가 잘 됐다는 것을 알 수 있습니다. 

(+참고
테스트 세트에서 증거가 필요한 주장들에 대한 문서 및 문장 검색 모듈의 재현율은 45.89%(완전한 증거 그룹을 고려했을 때. 정답으로 있는 증거 문장들 중에서 45.89%만 찾았다.)였고, 정밀도는 10.79%(시스템이 찾아온 문장들 중 실제 증거로 맞는 것은 10.79%뿐이라는 뜻)였습니다. 이로 인한 F1 점수는 17.47%입니다.)

 

정확도가 왜 이렇게 낮았을까요?

논문의 저자들은 테스트 세트의 부정확한 레이블(근거 문장)을 샘플링하여 분석해보았는데, 이중 28.51%는 예측된 레이블이 정확했지만, 증거에 대한 요구사항을 충족하지 못했고. 정보 검색 컴포넌트는 58.27%(560개)의 경우에서 올바른 증거를 전혀 식별하지 못했다고 합니다. 적절한 증거가 발견된 경우에도, RTE 컴포넌트가 13.84%(133개)의 주장을 잘못 분류했고요. 이중에서 가장 큰 문제점은 정보 검색 컴포넌트이며, 이 부분에서 추가 연구가 필요하다고 얘기했습니다. 

모델은 인간 어노테이터가 놓쳤던 주요 근거들을 더 찾기도 했습니다. 이는 모델과 인간이 함께 상호보완할 수 있다고 해석할 수 있고, 이 외에도 가이드라인에 맞지 않았던 클레임이나 증거가 필요없던 주장들, 어노테이터가 실수로 잘못 만든 근거문, 심지어 위키피디아에서 잘못 기재된 정보도 찾아낼 수 있었습니다. 

이후에도 팩트체크와 관련된 후속 연구들이 나왔고, 지금은 LLM을 활용해서 사실 검증을 더욱 정확히 할 수 있게 됏습니다. 

이 FEVER라는 데이터셋이 마련된 이후로, 이걸 중심으로 학회(?) 소모임(?) 워크샵(?) 같은 것이 매년 개최되고 있는 것 같습니다. 영국에서 열리네요. 

https://fever.ai/

 

Fact Extraction and VERification

Zhijiang Guo Dr Zhijiang Guo is a Senior Research Scientist at Huawei Noah’s Ark Lab. Before that, he was a Research Associate at Cambridge University, supervised by Andreas Vlachos and working on automated fact checking. He received his PhD from Singapo

fever.ai