顶会论文解读:Fact-Checking Complex Claims with Program-Guided Reasoning

本文章是2023ACL CCF-A顶会文章,Program-FC非常值得一读。文章利用大语言模型分步骤做事实验证。

一、🧐基本信息

标题: Fact-Checking Complex Claims with Program-Guided Reasoning
时间: 2023-05-22
作者:

  • Liangming Pan
    🔵期刊: https://2023.aclweb.org/
    🔵影响因子: 26.90
    🙌引用数: 13

📙阅读记录:
🔹1、2024-02-05
🔹2、2024-02-16
🔹3、2024-02-17


二、📖这篇文章用什么方法解决了什么问题,实验结果如何:

在NLP领域Checking简单的 c l a i m claim claim 取得了较好的效果,但是面对较为复杂的 c l a i m claim claim ,想要找到直接的证据去support/refute它是很困难的。
对于多步推理,需要考虑两个方面:

  • 可解释性
  • 数据利用的效率
    面对上述问题,作者提出参照人类判断事实的方法将问题进行decompose,通过收集多条evidence并逐步执行推理的方法,并提出了 P r o g r a m − G u i d e d F a c t C h e c k i n g ( P R O G R A M F C ) Program-Guided FactChecking (PROGRAMFC) ProgramGuidedFactChecking(PROGRAMFC)

三、📚文章细节剖析:(如果文章很重要的话)

3.1 Problem Statement

![[Pasted image 20240217194212.png]]

框架图

执行流程如下:
1、Input complex claims
2、Decompose them into simpler sub-task(为输出生成程序,这是一个子任务的序列)
3、Verify each sub-task
4、Aggregating every result.
![[Pasted image 20240217200913.png]]

生成程序的Prompt

![[Pasted image 20240217201103.png]]

使用FLAN-T5做QA问答

3.2 文章方法

本文重点在于实验部分,所以这里详细介绍一下实验部分是如何处理的。
1、数据集(使用验证集评估,因为测试集未公开)

  • H O V E R HOVER HOVER (包含需要结合多篇维基百科文章才能判断真假的阐述)
    • 比较迷惑的地方是文章提到的 h o p hop hop ,后面查到这是知识图谱里面的一个领域 m a n y − h o p s many-hops manyhops ,指需要多少个信息点( h o p hop hop)才能推断 c l a i m claim claim 的真假。在这里作者将 H O V E R HOVER HOVER 划分成 H O V E R − 2 h o p HOVER-2hop HOVER2hop (1126条)、 H O V E R − 3 h o p HOVER-3hop HOVER3hop (1835条)、 H O V E R − 4 h o p HOVER-4hop HOVER4hop (1039条)(一般需要信息点越多的 c l a i m claim claim 越难推断真假)
  • F E V E R O U S FEVEROUS FEVEROUS
    • 因为原本的数据集包含了文本、表格格式的数据,而这篇文章专注于文本数据,因此作者从中挑选了仅需要文本证据的 c l a i m claim claim (2962条),后文称其为 F E V E R O U S − S FEVEROUS-S FEVEROUSS

2、Baselines
作者根据模型的类别将模型划分为三组:

  • Pre-trained models(预训练模型): B E R T − F C BERT-FC BERTFC L i s T 5 LisT5 LisT5
  • FC/NLI fine-tuned models(微调模型): R o B E R T a − N L I RoBERTa-NLI RoBERTaNLI D e B E R T a V 3 − N L I DeBERTaV3-NLI DeBERTaV3NLI M U L T I V E R S MULTIVERS MULTIVERS (后两者都用了 F E V E R FEVER FEVER 的数据去微调)
  • In-context learning models(上下文学习模型): F L A N − T 5 FLAN-T5 FLANT5 C o d e x Codex Codex
    ![[Pasted image 20240216215642.png]]

作者给出的Baseline,这里的分数是Macro-F1 scores,使用了Gold evidence setting 和 open book setting.

作者提到,在实验中由于同时采用了Gold evidence setting(文中提到的ground-truth)和 open book setting,而模型更倾向于检索出open book setting中的evidence,因此作者采用了 B M 25 BM25 BM25 P y s e r i n i t o o l k i t Pyserini toolkit Pyserinitoolkit 去对检索到的文章进行打分,最后选择分数排名前10的文档作为evidence。

3.3 实验结果:

作者指出三点观察:
一、ProgramFC在复杂的 c l a i m s claims claims 里更有效率
二、将 c l a i m s claims claims 分解为多个子任务比一步到位预测更有效率
三、融合多个推断程序是有效果的(作者设定了N=1和N=5个推断程序)
![[Pasted image 20240217190707.png]]

和FLAN-T5对比

同时作者发现,使用Codex生成的python代码几乎没有标点符号错误,但随着 c l a i m s claims claims 的复杂化,语义错误的占比也会增加:
![[Pasted image 20240217191356.png]]

错误执行产生原因的占比

同时还对比了在 C l o s e d − B o o k Closed-Book ClosedBook 设定下的效果对比(效果相比175B的InstructGPT已经很强大了):
![[Pasted image 20240217193308.png]]

![[Pasted image 20240217201739.png]]

效果图


四、🌟文章的亮点:

1、有较强的可解释性
2、少量的上下文演示并且没有额外训练


五、🙄文章的缺陷:

1、作者指出文章所用的数据集存在一定缺陷,虽然 H O V E R HOVER HOVER F E V E R O U S FEVEROUS FEVEROUS 数据集看起来比较复杂,但是他们在语义结构上都比较容易分解成简单的sub-tasks,这在一定程度上降低了推理的难度。作者在复杂、隐晦的 c l a i m s claims claims 上做了实验,发现用 C o d e x Codex Codex 很难生成正确的推理程序,这或许是未来该领域需要突破的地方。
2、因为要用大预言模型(Codex)生成程序并进一步调用多个子任务模型,因此PROGRAM-FC的计算时间比 F L A N − T 5 FLAN-T5 FLANT5 等端到端的模型高4到5倍。


六、💡一点想法:

作者在结尾说可以用在虚假新闻检测领域,想起来这篇文章好像跟MUSER: A MUlti-Step Evidence Retrieval Enhancement Framework for Fake News Detection很相似,不同在于MUSER还需要对新闻的核心信息进行摘要提取(摘要可以理解为 c l a i m s claims claims )。MUSER的multi-retrieval 用了 R o B E R T a − l a r g e RoBERTa-large RoBERTalarge 去做,这篇文章用了FLAN-T5去做。(感觉有点东西可以进化一下,还在考虑之中)


七、🌐知识补充:

7.1 Macro-F1 scores

在上一篇文章介绍了F1 score
F 1 = 2 ∗ P ∗ R P + R F_{1}=\frac {2*P*R} {P+R} F1=P+R2PR
Macro-F1是对每类F1 score计算算术平均值,该方法平等对待所有类,而不考虑不同类别的重要性

7.2 Gold evidence setting 和 open book setting.

Gold evidence setting: 经过精心挑选的能够证明或反驳 c l a i m claim claim 的证据
Open book setting: 从Wikipedia等外部语料库检索证据

7.3 BM25

BM25(Best Matching 25)是一种经典的信息检索算法,是基于Okapi TF-IDF 算法的改进版本,旨在解决Okapi TF-IDF算法的一些不足之处(文档长度、参数、饱和度问题)。其被广泛应用于信息检索领域的排名函数,用于评估文档 D D D 与用户查询 Q Q Q 之间的相关性。

它是一种基于概率检索框架的改进,特别是在处理长文档短查询时表现出色。

BM25的核心思想是基于 词频(TF)逆文档频率(IDF),同时还引入了文档的长度信息来计算文档 D D D 和查询 Q Q Q 之间的相关性。
BM25算法的基本公式如下:
S c o r e ( D , Q ) = ∑ i = 1 n I D F ( Q i ) ⋅ f ( q i , D ) ⋅ ( k 1 + 1 ) f ( q i , D ) + k 1 ⋅ ( 1 − b + b ⋅ ∣ D ∣ a v g d l ) Score(D,Q) = \sum_{i=1}^{n}IDF(Q_{i}) ·\frac {f(q_{i},D)·(k_{1}+1)} {f(q_{i},D)+k_{1}·(1-b+b·\frac {|D|} {avgdl})} Score(D,Q)=i=1nIDF(Qi)f(qi,D)+k1(1b+bavgdlD)f(qi,D)(k1+1)
其中:
S c o r e ( D , Q ) Score(D,Q) Score(D,Q) 是文档 D D D 和查询 Q Q Q 的相关性得分;
q i q_{i} qi 是查询第 i i i 个词
f ( q i , D ) f(q_{i},D) f(qi,D) 是词 q i q_{i} qi 在文档 D D D 中的频率。
I D F ( q i ) IDF(q_{i}) IDF(qi) q i q_{i} qi 的逆文档频率
∣ D ∣ |D| D 是文档 D D D 的长度
a v g d l avgdl avgdl 是所有文档的平均长度
k 1 k_{1} k1 b b b 是超参数,通常 k 1 k_{1} k1 在1.2和2之间,用于控制词频对评分的影响(正相关), b b b 通常设为0.75,用于控制文档长度对评分的影响,取值在0到1之间(0表示没有影响,1表示影响最大)

I D F IDF IDF 计算方法如下:
I D F ( q i ) = log ⁡ ( N − n ( q i ) + 0.5 n ( q i ) + 0.5 + 1 ) IDF(q_{i}) = \log(\frac {N-n(q_{i})+0.5} {n(q_{i}) +0.5} +1) IDF(qi)=log(n(qi)+0.5Nn(qi)+0.5+1)
其中:
N N N 是文档集合中的文档总数
n ( q i ) n(q_{i}) n(qi) 是包含词 q i q_{i} qi 的文档数量

  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值