打开网易新闻 查看更多图片

AI 科技评论报道

作者 | 盛强

AI 科技评论今天介绍一篇被 ACL 2021 收录的论文,这篇论文介绍了一种基于记忆增强关键句匹配的检索信息重排序方法,可以用于一项事实核查与假新闻检测的新任务——检测已被核查过的消息。

论文题目:《Article Reranking by Memory-Enhanced Key Sentence Matching for Detecting Previously Fact-Checked Claims》

作者:盛强、曹娟、张雪遥、李锡荣、钟雷

单位:中国科学院计算技术研究所、中国科学院大学、中国人民大学

论文地址:https://aclanthology.org/2021.acl-long.425/

GitHub: https://github.com/ICTMCG/MTM

1

背景介绍

在过去的十多年里,虚假信息在互联网上的广泛传播为构建可信的网络空间带来了严峻的挑战。为应对上述问题,世界各国出现了众多事实核查组织。杜克大学Reporters' Lab的统计显示,目前全球有341个活跃的事实核查网站(大部分为人工核查)[1],如美国的Snopes[2],中国的较真[3]、捉谣记[4]等。同时,学术界也针对人工核查的低效问题展开了自动事实核查(automatic fact-checking)方面的研究,开发了若干自动化系统[5-8]。

然而,有一种现象在过去的工作中被很大程度上忽视了:许多新发布的假新闻,其实早就被核查过了,即常说的“旧谣新传”。腾讯公司政务舆情部发布的《2019年网络谣言特征观察与趋势研判》显示,网络谣言中“旧谣新传”占比达到了12%。此外,我们还在微博数据上找到了一个相当极端的例子:

打开网易新闻 查看更多图片
一个中文微博世界的极端案例。文字经过翻译。

图中左侧是一条2012年6月26日的微博帖子,声称照片中的女性是比尔盖茨的女儿,并赞赏了其低调的行头和自信的状态。然而,早在2008年4月30日,《华商报》的一篇事实核查文[9](即专门用于展示消息真实性核查过程的文本)就检查了上述图片,发现这张照片来自美国女演员瑞切尔·蕾·库克。在帖子发出一天后,微博社区管理中心就对该微博进行了“不实信息”标记[10]。从最早的辟谣文出现到这条微博的发布,时间跨度长达四年。更离谱的是,通过在微博的简单搜索,我们又发现在2019年2月,这条不实信息以“全新版本”再次传播。从可找到的第一篇正规的事实核查文,到最新一条不实信息的公开传播,中间跨越了近11年。

基于上述现象,学者们意识到发布一篇事实核查文章并不是治理虚假信息的终点,即便是已被核查过的消息,也有继续传播的风险。为此,学界提出了不实信息治理中的新任务:检测已核查消息(Detecting Previously Fact-checked Claims)。

2

问题建模与已有工作

已核查消息的检测被形式化为一个信息检索问题,即用待测消息(Claim)作为Query,到核查文章库中检索相关文章(Documents/Articles),通过检索结果的匹配程度,来判断该消息是否已被核查。这里使用的检索库包含的是事实核查文章,而不是以往收集的不实信息原文,一方面是出于泛化性考虑,因为消息表述变化可能很大(如上文的例子中,7年后传播是同一说法的全新版本);另一方面是因为核查文章本身还可以起到提供人可理解的解释(即证据)的作用。

具体地,该检索流程使用了两阶段范式,即第一阶段使用BM25快速检索出Top-k个文档,第二阶段使用重排器(Reranker)进行排序。当前研究工作的焦点都在于如何提高在这个特定场景(Query:消息;Document/Article:事实核查文)的重排性能。

目前该领域文章较少:Vo and Lee的工作[11]建模了Claim与Article整体的交互关系(该工作还将配图考虑了进来,但本文仅讨论基于文本的部分);Shaar等人[12]使用了SentenceBERT[13]得到句子向量,并训练了一个RankSVM完成重排序。但是上述工作更偏向通用检索框架的构建,没有充分考虑“事实核查文”本身的特点。

3

消息与事实核查文之间的特殊联系

打开网易新闻 查看更多图片

本文关注于提升句子级匹配性能,即给定消息,我们希望在找对事实核查文的同时,还能从中找到对匹配和解释有帮助的关键句。上图展示了消息“热柠檬水能够在不伤害正常细胞的情况下杀死癌细胞”和候选事实核查文(由BM25检索得到)中的三个句子。基于此,文章给出了如下观察:

  • 语料中存在主题相似、语义差别细微的不同核查文, 单纯依赖于语义匹配存在风险。S1实际上驳斥的是“喝柠檬水会致癌”的说法,但两者主题相似,对于通用模型而言不好分辨。

  • 消息本身经常被关键句直接引用。S2中直接出现了“hot lemonade can kill cancer cells”这种与消息本身完全一样的表述。

  • 关键句中存在一些常用的“模板”,用于介绍将被核查的消息,或对其给出结论性的驳斥。例如,S2中的“The rumor saying... has spread over years"和S3中的“It is just a groundless inference that...”。

考虑到上述特性,本文设计了一个新的重排模型,Memory-enhanced Transformer for Matching (MTM)。

4

MTM模型介绍

1、整体结构

遵循常见的流程,本文将排序过程建模成了 query-document pair 的相关性评分(尽管监督信号是相关/不相关标签),使用最后的得分进行重排。即给定消息q和文档d(包含l个句子),MTM即一个相关度打分函数

MTM共有两部分组成,第一部分用于关键句识别,第二部分用于相关度预测。

2、关键句识别

基于前两点观察,本文认为在语义匹配的基础上,应适当引入文字匹配信号。具体地,MTM使用了ROUGE得分作为引导,对预训练好的Transformer进行Post-training,让模型对字面的匹配程度更加敏感。基于第三点观察,本文引入了Memory Bank,将高频出现的模式在表示空间存储了起来,用于检测句子中的模式成分。

2.1 ROUGE引导的Transformer(ROT)

为了将字面匹配和语义匹配能力结合起来,本文在预训练好的单层Transformer进行了Post-training。具体地,本文将q和s拼接后输入单层Transformer,并取的输出向量(即)输入单独的MLP,并以 q 和 s 的ROUGE得分作为监督信号,期望模型输出能尽可能逼近ROUGE得分。

这里之所以使用单层Transformer(预训练权重取自12层 BERT-base 模型的第一层),一方面是因为低层模块对基本语义保留得更多,另一方面也是考虑了核查文章的句子数可能很大。而之所以借用在摘要评价中广泛应用的ROUGE指标,是因为ROUGE本身有n-gram overlapping的含义,适合体现字面上的匹配程度。此外,为了避免模型“矫枉过正”,本文还约束了参数的变化程度(损失函数的第二项)。

在推断时,所有的对都将经过ROT,在获取Claim-Sentence Vectors的同时,使用q和s在embedding空间的距离得到Claim-Sentence Scores。

2.2 Pattern Memory Bank(PMB)

PMB存储了本任务需要的个模式向量(Pattern Vectors),记为。这些模式向量一定程度上代表事实核查文中关键句经常含有的模式成分。这里首先如何初始化PMB,之后介绍如何在推断中使用PMB中的模式向量,最后介绍模式向量如何更新。

初始化:PMB的初始化是通过对Claim与Sentence Embedding之间的部分残差进行聚类完成的。这样做的假设是,因为模式部分很可能是关键句与Claim不相同的部分,尽管它很嘈杂,但经过聚类寻找共性之后,应当能在语义空间过滤出一定的模式信息。具体操作并不复杂,首先对所有Claim和Sentence的表示(通过token embedding平均得到)做差得到残差表示,之后划定一个范围过滤掉太相似或太不相似的残差表示,之后使用K-means获得模式向量。

推断:在推断时,所有对的残差表示都会与PMB中的模式向量计算距离,找到距离最近的模式向量,该距离规范化到[0,1]区间后即该对的Pattern-Sentence Score。

更新:为了计算的稳定性,本文为模式向量提供了一种epoch-wise的更新策略。具体地,对于每个模式向量 ,经过一个 epoch 后,首先收集以为最近模式向量的所有残差向量,并获取最终的预测结果。这些残差向量被分为了预测正确和预测错误两个集合。之后,根据“远离预测错误的残差向量,靠近预测正确的残差向量”的思路,m 会在一个 epoch 后进行缓慢移动,实现更新。(由于细节较多,过程请参考原论文)

2.3 关键句排序

通过ROT和PMB两个模块的“把关”,我们获得了两组得分,分别是(1)Claim-Sentence Scores和(2)Pattern-Sentence Scores,分别代表(1)来自核查文章的句子与消息内容的相似度,和(2)与常见模式的相似度。将两组得分加权求和,按总分(用表示)排序取,即找出了文档d中与q关联度最高的 k 个关键句。

3、文章相关度预测

得到关键句后的步骤就比较简单了,将关键句(用表示)和消息通过的表示向量输入一个更复杂的多层Transformer以获取更抽象的语义

再将关键句对应的模式向量拼接上去,使最终决策时能够感知到模式部分的存在,并用之前得到的总分进行加权聚合,之后过一个MLP即得到预测分数。

训练阶段可以看作二分类问题(相关/不相关),损失函数为交叉熵;推断时直接取最后得分即可。

4、整体训练步骤

5

实验部分

1、数据集

本文使用了基于Twitter Claim和Snopes核查文章的英文数据集([11]中使用的数据集),同时自行收集了一个类似形式的中文数据集。该中文数据集中的消息源自微博,核查文章来自较真、捉谣记、百度辟谣等多个来源。数据集统计情况如下:

打开网易新闻 查看更多图片

2、性能比较

遵循已有工作,本文使用MRR、MAP@k和HIT@k作为评价指标,比较的基线模型包括:

  • BERT[14]:即对bert-base模型进行微调。

  • DuoBERT[15]:一种两阶段的BERT-based检索模型,其特点是既使用了pointwise learning,也使用了pairwise learning。

  • BERT(Transfer)[16]:原文希望迁移其它带句子级标注数据的知识,用于只有文档级标注数据的匹配排序性能。

  • Sentence-BERT[13]:Shaar等人[12]使用的基线方法,其本身是一个用于句子表示的孪生网络,适合进行句子级的相似度评估。

  • RankSVM:Shaar等人[12]基于Sentence-BERT输出的向量表示,使用了一个RankSVM进行排序。

  • CTM:Vo and Lee[11]提出的文档级匹配模型(此处使用的是不带图片的text-based版本)。

从性能比较表中,我们可以发现:

  • MTM在大部分指标上优于已有方法。唯一的例外是使用了pairwise learning的DuoBERT。

  • Weibo数据上的性能是弱于Twitter数据的。这体现了Weibo数据集的挑战性,因为Weibo数据中一篇文章可能对应多篇不同来源的事实核查文,而Twitter数据集基本是一对一的关系。

  • 基线中的BERT(Transfer)、Sentence-BERT和RankSVM都一定程度上使用了迁移过来的句子级知识,但是效果并不好。这说明本任务中的句子级匹配知识有一定的任务特异性,外部知识的迁移难度较大。

3、模式向量的可视化

本文中模式向量的构建非常隐式,很难说清到底学到了什么。为此,本文使用T-SNE对模式向量和残差向量所在空间(本质是同一个空间)进行了可视化,并尝试找出聚集在不同模式向量周围的残差向量对应句子的共同点。从图中可以看出,数据本身比较嘈杂的,比较难总结出非常好的文字模式(这也与模式向量的数量对结果的影响没有进一步挖掘有关)。但是比较靠近模式向量的那些句子的确都具有一定的模式成分。

模式向量空间可视化(△:模式向量;×:残差表示)

4、小范围人工评测

由于数据集中没有句子级标注, 本文为了证明抽取关键句的效果,针对Weibo测试集中370个claim-article pairs进行了小范围人工评测。因为规模较小,为了能反映在长文中的句子定位能力,人工评测选取的事实核查文都至少包含20句话。具体地,评测者会被展示Claim和MTM从文章中挑选出了的3句话,之后被要求判断每个句子是否能够帮助与Claim的匹配(即是否是对人而言的关键句)。

图(a)展示了MTM命中句话的样本比例,可以看出MTM在83%的样本中都至少捕获了一个关键句。图(b)展示了对人而言的关键句所在的排名,可以看到有73%找到的关键句都排在了第一位。由上可知 MTM定位关键句的能力还是不错的。

因为很多文章级抽取任务都会利用一个先验:文章的开头、结尾的话更加重要,我们感兴趣本任务中的关键句会出现在哪些位置。图(c)展示了这些关键句在文章中的位置(从左到右即从文首到文尾),可以看出关键句在文首的比例确实偏高一些,但总体而言还是比较平均的,说明该任务中这种位置先验可能作用比较有限。究其原因,还是因为事实核查文的特性:我们发现有许多事实核查文是科普向的文章,并不会一上来就说要核查什么,而是会充分地介绍背景;此外,还有一些“拼盘核查文”(list-like,如“本月十大谣言”),这使得真正匹配上的部分可能出现在文章的任何位置。

5、 案例展示

上图展示了两个MTM找出的关键句案例,其中粗体部分可以被认为是模式成分,划线部分则是原Claim的字面匹配部分。

6

结论

本文提出了MTM用于从事实核查文章中挑选介绍或驳斥消息的关键句,并利用挑选的句子来估计消息与事实核查文章的相关度。实验表示MTM比现有的方法表现出了更好的重排序性能。人工评测和案例研究表明MTM找到了可以对人起到解释作用的关键句。最后,本文还构建了第一个中文已核查消息检测任务数据集。

参考文献

[1] https://reporterslab.org/fact-checking/

[2] https://www.snopes.com/

[3] https://fact.qq.com/

[4] http://piyao.sina.cn/

[5] Popat et al. “CredEye: A credibility lens for analyzing and explaining misinformation” WWW’18. https://dl.acm.org/doi/pdf/10.1145/3184558.3186967

[6] Cui et al. “dEFEND: A System for Explainable Fake News Detection” CIKM’19. https://dl.acm.org/doi/10.1145/3357384.3357862

[7] Zhou et al. “Real-time News Certification System on Sina Weibo” WWW’15. https://dl.acm.org/doi/10.1145/2740908.2742571

[8] Samarinas et al. “Improving Evidence Retrieval for Automated Explainable Fact-Checking” NAACL’21. https://aclanthology.org/2021.naacl-demos.10/

[9] 网传比尔盖茨女儿照片 记者证实全部为假(组图) http://news.sohu.com/20080430/n256598829.shtml

[10] 不是比尔盖茨女儿 https://service.account.weibo.com/show?rid=K1CaJ6wpc66kl

[11] Vo and Lee. “Where Are the Facts? Searching for Fact-checked Information to Alleviate the Spread of Fake News” EMNLP’20. https://aclanthology.org/2020.emnlp-main.621/

[12] Shaar et al. “That is a Known Lie: Detecting Previously Fact-Checked Claims” ACL’20. https://aclanthology.org/2020.acl-main.332/

[13] Reimers et al. "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks", EMNLP-IJCNLP 2019. https://www.aclweb.org/anthology/D19-1410/

[14] Devlin et al. “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding” NAACL’19. https://aclanthology.org/N19-1423.pdf

[15] Nogueira et al. “Multi-Stage Document Ranking with BERT” Arxiv’19. https://arxiv.org/abs/1910.14424

[16] Yang et al. “Simple Applications of BERT for Ad Hoc Document Retrieval” Arxiv’19. https://arxiv.org/abs/1903.10972