如何信任你的「谣言粉碎机」?可解释事实检验算法研究|AAAI 2022

简介: 如何信任你的「谣言粉碎机」?可解释事实检验算法研究|AAAI 2022

【新智元导读】互联网技术的发展让信息得以快速传播,同时也让我们每日能够接收到的信息以接近「爆炸」的速度增长。大量的信息输入使得人们已经难以依赖自己有限的知识鉴别这些消息的真假,尤其是在一些如新冠疫情的重要事件上。因此,我们需要寻求自动化的事实验证算法,利用可靠的信息源(如百科)来判断给定的陈述是否可信。


事实检验算法旨在利用现有知识库来检验文本的事实正确性。


目前,事实验证的方法通常是将问题拆解为两个步骤:检索阶段(retrieval)和验证阶段(verification)。

在检索阶段,检索模型根据给定的陈述文本(claim)从知识库中检索得到相关的文本描述,作为用于验证最终结果的证据(evidence);在验证阶段,验证模型则会根据检索到的证据来推理得出最终的预测结果。
然而,大多数现有模型通常只是给出最终分类结果,缺乏对一个陈述正确与否的解释,导致我们很难知道模型为何做出了这样的预测。这对于构建值得信任的人工智能应用是十分有害的。为了解决事实检验中的可解释性问题,字节跳动人工智能实验室和复旦大学的团队提出了 LOREN ,一种全新的可解释事实检验范式:将针对整个陈述的验证拆解为短语级别的验证。

Paper: https://arxiv.org/abs/2012.13577

Code: https://github.com/jiangjiechen/LOREN

在该范式下,模型能够给出整个陈述的细粒度验证结果,从而以更直观的方式帮助大家了解模型推理过程,也能够更快地锁定事实错误。

可解释验证


问题建模LOREN的主要思想是将句子级别(sentence-level)的验证拆解为短语级别(phrase-level的验证。图2:LOREN 框架针对给定的陈述以及证据集组成的输入,模型需要在得到最终预测结果的同时,给出陈述中所有短语的验证结果,其中分别表示符合事实 (Supports),不符合事实 (Refutes) 和无法验证 (Not Enough Information)。

定义隐变量为所有短语的预测结果,显然最终的预测结果依赖于每个短语的预测结果,因此可以将最终的预测结果用概率表示为:。在给定输入数据对应的标签后,可以得到整个模型的优化目标:。该问题的一种解法是使用 EM 算法,然而的真实后验分布很难求解(intractable)。因此,利用变分推断(variational inference)的方法,通过引入一个变分后验分布,将问题转化为优化对应的变分下界目标函数——negative Evidence Lower BOund(ELBO):,为KL散度。为了得到短语验证结果的先验分布,作者借鉴了自然语言推理(Natural Language Inference,NLI)的工作,将 NLI 中的,和标签分别对应到。借助在 NLI 数据上预训练好的预训练模型,就可以计算得到先验分布。逻辑约束本工作中最大的挑战在于:现有的数据并不支持短语粒度的学习,因为没有(也不可能有)短语的事实正确性标注结果。

针对这个问题,作者提出并利用了事实检验问题中天然存在的一套逻辑聚合规则来提供弱监督信号来帮助学习,并事实上将其转化为最终标签与短语级别标签之间的一种逻辑约束。

可以观察到以下逻辑规则:

如果一个陈述是不符合事实的(REF),那么其中至少存在一个短语不符合事实;

如果一个陈述是符合事实的(SUP),那么其中所有短语都应该符合事实;

如果一个陈述是无法验证的(NEI),那么应该不存在不符合事实的短语,并且其中至少一个短语是无法验证的。

这种逻辑规则可以被形式化地表示为:




其中分别对应于,表示验证结果。用概率软化上述逻辑规则:




其中且。
这样通过概率聚合得到的结果就包含了上述的逻辑知识。作者将其作为老师模型 (teacher model) 去指导,即进行逻辑知识蒸馏:。最终,模型的优化目标包含两部分:。构造局部前提为了实现上述短语级别的验证,需要解决两个问题:

找到陈述中需要被验证的短语;

在知识库中找到足以检验这些短语的信息。这些都可以在训练上述验证模型之前离线完成。

针对第一个问题,作者利用现有的 NLP 解析工具去识别给定陈述中的命名实体,名词短语,动词短语以及形容词短语。例如给定陈述「Kung Fu Panda was released in 2016.」,我们可以将其拆分为「Kung Fu Panda」(命名实体), 「released」(动词短语)以及「2016」(名词短语)。针对第二个问题,作者将其建模为一种阅读理解 (MRC) 任务。给定陈述和短语,首先对给定的短语构造引导问题,如「Kung Fu Panda was released in [MASK].」和「When was Kung Fu Panda released?」,并利用 MRC 模型从证据集中获取到对应的事实部分,如证据集中存在描述「Kung Fu Panda premiered in the United States on June 6, 2008.」,那么我们希望模型能够回答出「2008」。将这个事实回填到陈述的对应位置后,就可以得到一个短语对应的局部前提(local premise) ,如「Joe Biden won the 2020 election.」。具体地,利用的数据去自监督地构造数据并训练这个生成式 MRC 模型。事实验证得到了陈述的局部前提,就可以利用神经网络参数化和这两个分布以用于最终的事实验证。利用预训练语言模型来编码局部信息(陈述与局部前提拼接为)和全局信息陈述与证据集拼接),并得到了与。得到全局与局部的信息表示后,分别利用全连接网络来构建最终的和:接收标签的向量表示和全局信息与局部信息作为输入,输出的预测概率分布。接收隐变量与全局与局部信息作为输入,输出的预测概率分布。在预测阶段,通过随机初始化变量并迭代地解码和直至收敛,至此,就能够在预测最终标签的同时,针对给定陈述中不同的短语进行细粒度的验证。

主要实验结果

作者在事实验证数据集 FEVER 上开展了实验,并采用官方的 Label Accuracy 以及 Fever score 作为评估指标,整体结果如表1所示。对比 LOREN 与 KGAT[2],可以发现在相同量级的模型下,LOREN 取得了显著的效果提升。

虽然 DREAM[3] 与 LOREN 在检索阶段采用了不同的策略,但是 LOREN 在最终指标上的提升也表明了该框架的优势。然而 LisT5[4] 因为其强大的预训练模型(T5-3B,十倍于RoBERTa-large),在测试集上的效果要明显优于其他模型。表1:在FEVER数据及上的整体表现短语验证效果LOREN 最大的优势体现在能够针对短语级别进行验证,而这一特性则是通过引入实现的,因此作者验证了在不同超参下 LOREN 的表现,如表2所示。结果显示,通过 LOREN 框架学习得到的解释既正确又忠实。具体地,表示利用逻辑聚合得到最终的结果的准确率(accuracy),而则表示聚合结果与模型最终预测结果之间的一致性(faithfulness)。可以看到引入逻辑约束之后,模型在和上都得到了提升,并且概率软逻辑的聚合方式整体上要优于离散逻辑的聚合方式。特别地,当时,短语事实正确性的学习没有了逻辑约束,因此这些中间结果也就失去了意义和可解释性。表2:逻辑约束对模型效果的影响Case study图3:Case study

图3展示了 LOREN 的一些验证结果。在第一个例子中,LOREN 能够正确地在给定的陈述中找到错误的短语「number three」并将其纠正为「number one」,并且基于局部的验证结果,LOREN 正确地给出了最终的验证结果。然而 LOREN 也会在一些缺少充分证据支持的场景下出现错误,如例2的证据只提及了「Ashley Cole」出生于「England」,而没有提及「England」和「Iranian」的关系,因此只能给出,但是 LOREN 错误地给出了。例3则表明 LOREN 具备检测包含多个错误的陈述的能力。

总结

本文提出了一种基于短语级别分解的可解释事实检验算法 LOREN。通过利用 MRC 对分解的短语寻找验证信息,并通过聚合逻辑约束短语正确性的学习,使黑盒模型获得了既准确又忠实的解释性。

与此同时,在事实检验基准数据集 FEVER 上的结果说明了 LOREN 模型达到了与相同量级模型更好的结果。当然,LOREN 也存在许多尚未解决的问题,如常识推理能力、更强的证据检索能力、更一般的陈述分解方法等等。LOREN 在事实检验领域做出了可解释推理的简单尝试,希望未来出现更多推动模型具备推理能力的研究 (make a system right for the right reasons)。

作者介绍


论文一作陈江捷,复旦大学三年级博士生,复旦大学知识工场实验室成员。主要研究兴趣为自然语言推理与生成。


参考资料:

Jiangjie Chen, Qiaoben Bao, Changzhi Sun, Xinbo Zhang, Hao Zhou, Jiaze Chen, Yanghua Xiao, and Lei Li. "LOREN: Logic Enhanced Neural Reasoning for Fact Verification." AAAI 2022 (pre-print).

Zhenghao Liu, Chenyan Xiong, Maosong Sun, and Zhiyuan Liu. "Fine-grained fact verification with kernel graph attention network." ACL 2020.

Wanjun Zhong, Jingjing Xu, Duyu Tang, Zenan Xu, Nan Duan, Ming Zhou, Jiahai Wang, and Jian Yin. "Reasoning over semantic-level graph for fact checking." ACL 2020.

Jiang, Kelvin, Ronak Pradeep, and Jimmy Lin. "Exploring listwise evidence reasoning with t5 for fact verification." ACL 2021.


相关文章
|
2月前
|
机器学习/深度学习 数据采集 搜索推荐
Paper Digest | 突破个性化推荐数据稀疏性:长尾增强的图对比学习算法研究
本文提出了一种新的长尾增强的图对比学习方法(LAGCL),该方法促使模型同时兼顾头部节点与尾部节点之间的知识,并通过长尾增强技术来使模型产出更均匀更准确的节点表征,从而改进基于 GNN 的推荐任务。
|
3天前
|
数据采集 算法 数据可视化
MATLAB、R用改进Fuzzy C-means模糊C均值聚类算法的微博用户特征调研数据聚类研究
MATLAB、R用改进Fuzzy C-means模糊C均值聚类算法的微博用户特征调研数据聚类研究
10 1
|
3月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
234 1
|
7月前
|
机器学习/深度学习 传感器 算法
【WSN】基于蚁群算法的WSN路由协议(最短路径)消耗节点能量研究(Matlab代码实现)
【WSN】基于蚁群算法的WSN路由协议(最短路径)消耗节点能量研究(Matlab代码实现)
|
8月前
|
机器学习/深度学习 算法 调度
【经济调度】基于多目标宇宙优化算法优化人工神经网络环境经济调度研究(Matlab代码实现)
【经济调度】基于多目标宇宙优化算法优化人工神经网络环境经济调度研究(Matlab代码实现)
|
8月前
|
编解码 算法 数据可视化
【高光谱图像的去噪算法】通过全变异最小化对受激拉曼光谱图像进行去噪研究(Matlab代码实现)
【高光谱图像的去噪算法】通过全变异最小化对受激拉曼光谱图像进行去噪研究(Matlab代码实现)
|
8月前
|
算法
【分布式能源的选址与定容】基于多目标粒子群算法分布式电源选址定容规划研究(Matlab代码实现)
【分布式能源的选址与定容】基于多目标粒子群算法分布式电源选址定容规划研究(Matlab代码实现)
|
8月前
|
算法 数据处理
基于霍夫变换的航迹起始算法研究(Matlab代码实现)
基于霍夫变换的航迹起始算法研究(Matlab代码实现)
|
8月前
|
算法
【Vuvuzela 声音去噪算法】基于流行的频谱减法技术的声音去噪算法研究(Matlab代码实现)
【Vuvuzela 声音去噪算法】基于流行的频谱减法技术的声音去噪算法研究(Matlab代码实现)
|
8月前
|
算法 计算机视觉
【图像去噪】基于进化算法——自组织迁移算法(SOMA)的图像去噪研究(Matlab代码实现)
【图像去噪】基于进化算法——自组织迁移算法(SOMA)的图像去噪研究(Matlab代码实现)