关键词:社交网络,早期谣言检测,事件漂移,时序引导,数据划分方案
中图分类号:TP391 文献标志码:A
谣言指真实性尚未得到证实的信息[1-2]. 由于社交网络的开放性,谣言可以在网络上广泛传播,谣言的蔓延往往会对社会产生严重的负面影响[3-7],后续再采取辟谣措施不仅会耗费大量的资源和成本,对已经造成的不可逆危害也无能为力. 为了遏制虚假信息的传播,维护社会安宁和网络环境的清洁,迫切需要在这些信息大规模传播之前及时识别和揭示其虚假性,采取果断的干预措施,因此,自动检测谣言变得尤为关键. 深度学习技术的兴起很大程度上促进了谣言检测任务的进步,它可以自动地从谣言的文本信息、图片信息或结构信息中学习到潜在的特征关系,例如,使用循环神经网络(Recurrent Neural Network,RNN)来捕获帖子的时间序列信息[8-9],使用卷积神经网络(Convolutional Neural Networks,CNN)来提取帖子的局部特征[10],或使用图神经网络(Graph Neural Networks,GCN)来纳入传播结构信息[11-13]. 但是,现有的谣言检测方法[8-15]都是基于已知的大规模数据集(例如PHEME[16],Twit⁃ter15[17]和Twitter16[17])进行训练的,数据通常被随机分为训练集、验证集和测试集,然后利用深度学习的方法来取得良好的预测结果.
这种用于训练谣言检测模型的随机数据集的划分方法面临两个重大挑战. 首先,使用随机划分方案训练的模型通常在测试阶段表现出良好的性能[18],但信息的分布可能会受时间的影响[19],导致潜在的数据漂移和性能下降. 其次,在现实环境中,为了有效地检测未来事件中的谣言,谣言检测模型必须利用已经发生的事件数据进行训练,数据集进行随机划分不能满足这种现实的逻辑需求. 所以,部分研究者开始考虑按照原始帖子发布的时间顺序来划分数据集[18,20],但他们忽视了帖子所属的事件信息,而谣言检测会受到相关事件主题的影响[19]. 此外,这种直接按照原始帖子发布的时间顺序来划分数据集的方式,忽视了原始帖子与回复帖子之间的时间关联.
本研究提出一种新颖的数据划分方案,旨在解决上述传统数据划分方法的不足. 该方案根据事件的时间顺序对数据集进行划分,以确保测试事件对模型的不可见性. 实施这个新方案能够增强谣言检测模型对新兴事件的泛化能力,使其更接近真实场景中谣言检测任务的本质和初衷.
本文的贡献如下.
(1)在谣言检测任务中发现了一个经常被忽视的问题,即不考虑事件时间层面的信息,这种疏忽通常会使模型表现出一个较高的检测性能.
(2)为了解决这一问题,提出一种新颖的数据划分方案. 具体地,为了增强谣言检测模型对实时发生的新兴事件的鲁棒性,本文提出的方案利用数据集中事件的发生时间并根据事件的发生顺序将数据划分为训练集、验证集和测试集. 此外,对于拥有回复信息的数据集,还对回复信息的可见策略进行了设置.
(3)实验结果表明,与现有的数据划分方案相比,本文提出的数据划分方案显著降低了谣言检测模型的性能. 在PHEME 数据集上性能最大下降了24%,在Twitter15 数据集上性能最大下降了49%,在Twitter16 数据集上性能最大下降了53%. 进一步揭示了现有数据划分方法中存在的问题,并提出了一种更实用的划分策略,以规范化谣言检测任务的研究流程.
1 相关工作
首先介绍谣言数据集中涉及的概念[16-17],然后介绍主流的谣言检测方法和现有的谣言检测数据集划分方案.
数据集:一个谣言检测数据集就是一个事件集,包含一系列不同主题的事件.
事件:一个事件由一系列的声明组成.
声明:声明是谣言检测任务分类的目标,共有两种类型的声明.
(1)仅有文本的声明:每个声明由其类别标签(例如谣言或非谣言)、原始帖子的文本信息以及相关回复帖子的文本信息(如果有)组成.
(2)具有传播结构的声明:除了仅有文本的声明中包含的上述信息(包含回复帖子)外,该类型的每个声明还具有传播结构信息,即原始帖子和回复帖子之间的回复关系.
1. 1谣言检测 谣言检测方法主要包括两大类:基于文本和基于社交背景的谣言检测方法.
Ma et al[8]率先将深度学习方法引入谣言检测领域,将声明的文本内容分割成固定的长度,并将其输入RNN,GRU (Gated Recurrent Unit),LSTM( Long Short⁃Term" Memory),以捕获信息的时间动态. 随后,Yu et al[10]利用CNN 从声明的文本中提取关键特征,并在重要特征之间形成高层交互. 然而,基于文本的谣言检测方法面临的一个挑战是谣言的风格、平台和话题是不断变化的[21],因此,研究人员需要更多的辅助信息来帮助检测谣言,因而提出了基于社交背景的谣言检测方法.
基于社交背景的谣言检测方法主要是从社交媒体中提取用户的可信度信息或谣言的传播信息(点赞、评论和回复等)来辅助谣言检测[22]. Ma etal[11]考虑了谣言的传播结构信息,提出一种自下而上和自上而下的树状结构神经网络的谣言检测方法. Liu and Wu[14]使用CNN 和RNN 对新闻的传播路径进行分类,进行早期的谣言检测. Bianet al[12]使用两个GCN 分别捕捉谣言的传播模式和扩散模式,以学习合适的高级表示. Sun et al[13]在考虑谣言传播结构的同时,将对比学习和对抗学习引入谣言检测模型,有效提高了模型的泛化能力. Zheng et al[23]在建立谣言检测模型时考虑了传播结构信息和用户的社交圈信息. Zhang etal[24]利用事件图的不同反事实证据来进行基于传播结构的谣言检测的多视图解释,实现了可解释和稳健的谣言检测.
近年来,一些研究人员将更多的方法引入谣言检测领域. Choudhry et al[25]将谣言检测任务形式化为一个多任务问题,将情绪检测问题看作多任务的一个子任务,以提高谣言检测模型的准确性. Lu et al[26]将谣言检测任务与主观性分类任务相结合,因为谣言发布者倾向于模仿客观的语气,而了解真相的人倾向于用强烈的主观评论来反驳谣言. Hu et al[27]通过检索多模态不一致证据来辅助谣言检测. 此外,一些研究[22,28-33]在谣言检测领域引入域适应方法,以提高模型在面对不同信息分布时的检测性能.
1. 2数据集划分
1. 2. 1随机划分 如前所述,谣言检测任务是对声明的类别进行分类,但大多数现有的谣言检测研究都忽略了事件层面的信息,并将所有的声明都当作训练模型的数据集,再将其划分为训练集、验证集和测试集. 例如,Ma et al[8]和Yu et al[10]采用留出法,即随机选择基于声明的数据集中的10% 作为验证集来调整模型参数,剩下的90% 按照3∶1 的比例划分为训练集和测试集. 但使用这种留出法进行数据划分具有偶然性,因此一些研究采用留一法[34-35]或交叉验证法[12-13,36-37]来划分数据集. 交叉验证法是将基于声明的数据集划分成K 份,使用K - 1 份进行模型训练,剩余的一份用于模型评估. 将这一过程重复K 次,使每一份数据都有机会成为训练集和测试集,最终取K 次结果的平均值. 留一法是交叉验证法的一种特例,与交叉验证法中将数据随机划分为K 份不同. 留一法每次仅将数据集中的一个数据作为测试数据,其余数据均为训练数据[38].
但是,这种随机数据划分方法存在两个显著缺点. 首先,它没有考虑数据集中的事件信息,即对于来自同一事件的声明,一些声明出现在训练集中,一些声明存在于测试集中,尽管模型的评估性能很好,但其无法处理数据集之外的事件. 其次,这种数据划分方法没有考虑声明和事件的出现时间与顺序. 因为信息传播是一个过程,这意味着将所有声明/事件都独立对待是不现实的(因为早期事件会引发新的事件),因此,不考虑事件发生顺序的模型对于新兴事件的声明不具有鲁棒性.
1. 2. 2按时间顺序划分 除了简单的随机划分外,一些研究按照声明的时间顺序来划分数据集,以此实现测试声明的不可见性. 例如,Wu et al[20]根据声明的时间对数据进行划分,使用前50% 的声明进行训练,后50% 的声明进行测试. Mu etal[18]还研究了数据漂移的影响,提出两种新的数据集划分方案:标准按时间顺序划分和分层按时间顺序划分. 具体地,在PHEME[16]和Twitter15数据集中,使用标准按时间顺序划分方法,对所有声明按照时间顺序进行排序,将最早出现的70%的声明作为训练集,最新的20% 的声明作为测试集,剩下的声明作为验证集;对于Twitter16 和微博[33]数据集,使用分层按时间顺序划分方法,根据标签(例如谣言和非谣言)将声明划分为对应子集,然后根据标准按时间顺序划分方法划分每个子集,得到相应的训练集、验证集和测试集,最后根据目的(即训练、验证和测试)合并各个子集,得到最终的划分. 需要注意,Mu et al[18]使用的Twitter15 和Twitter16 数据集与本文使用的数据集不完全相同,因为Mu et al[18]明确使用了数据集中的具体时间戳,而本文使用的Twitter15[17]和Twitter16[17]数据集只包含相对时间信息. 此外,Mu et al[18]没有发布其完整的数据集.
虽然Mu et al[18]根据时间顺序划分基于声明的数据集,但这种划分方式仍然缺少事件信息,而谣言检测会受到相关事件主题的影响[28,39]. 此外,考虑时间线时,有必要确保来自训练集和验证集中声明的回复出现在测试集中的声明之前,但Mu et al[18]没有进行相关的讨论. 因此,本文提出了一种新的数据划分方案来对谣言检测方法进行评测,该方案按照事件对数据集进行划分,并考虑了事件发生的时间顺序. 早期的事件被纳入训练集,一个新事件被分割成两部分,最早的m 个声明组成验证集,其余声明组成测试集. 此外,考虑到谣言检测的初衷是在谣言传播恶化之前及时进行检测和遏制,必须确保测试集中的内容晚于验证集中的内容,所以,如果一条声明涉及一系列回复帖子(例如PHEME 数据集),新的数据划分方案会假设在新事件(即验证集和测试集)上对某一声明是否为谣言进行分类时,不能看到该声明的所有回复帖子. 这种情况,本文将在新事件中的回复帖子设置为一步可见,详见2. 3.
2 数据集和划分方案
本节提出一种用于训练和评估谣言检测模型的新的数据集划分方案.
2. 1数据集 选择PHEME[16],Twitter15[17]和Twitter16[17]作为研究的基准数据集,因为这三个数据集可以公开获得并已在之前的研究中被广泛使用[11,13-14,36]. 这三个数据集都是从著名的社交平台Twitter 上收集得到. 具体地,PHEME 是一个标签不平衡的数据集,更符合现实中信息的标签分布,主要包含九个重大事件,这些事件中的声明都包含一个具体的发生时间,用格林尼治标准时间(GMT)表示. PHEME 数据集具有两种类型的标签,即谣言(R)和非谣言(N),用于谣言的二分类检测. Twitter15 和Twitter16 是平衡的数据集,分别包含298 个事件和182 个事件,根据文献[13]提供的数据统计得到. 与PHEME 不同,Twitter⁃15 和Twitter16 中的声明只有相对时间,即一个声明的原始帖子的时间被标记为起始时间(即时间为0),其回复帖子的时间被标记为两个帖子之间的时间间隔. 值得注意的是,由于受到Twitter 服务条款的限制[17],这两个数据集没有提供回复帖子的文本信息. 此外,Twitter15 和Twitter16 包含四种类型的标签:非谣言(N)、虚假谣言(F)、真实谣言(T)和未经证实的谣言(U),用于谣言的四分类检测. 三个数据集的具体信息如表1 所示.
只使用声明的纯文本信息进行谣言检测的研究[22,30,40]可直接使用上述数据集,而基于传播结构的谣言检测研究[12,23]人工提取了Twitter 数据集上的回复信息. 例如,考虑传播结构的研究GACL[13]对三个数据集进行了清理,因为其使用的声明总量小于原始版本(如表1 所示). 此外,由于Twitter15 和Twitter16 没有提供声明的回复帖子信息,GACL 也从Twitter 中人工提取了相应的回复帖子. 因此,本文将GACL 提出的数据集称为PHEME ⁃ GACL,Twitter15 ⁃ GACL 和Twit⁃ter16⁃GACL.
2. 2随机划分 采用五折交叉验证来进行随机划分,这也是大多数谣言检测模型使用的划分方案[11-13,36-37],即按照70%,10% 和20% 的比例将数据集划分为训练集、验证集和测试集.
2. 3按事件发生的时间顺序划分 本文提出的新的数据集划分方案由两部分组成:(1)PHEME和PHEME⁃GACL 数据集,其中的事件具有特定的时间戳;(2)Twitter 和Twitter⁃GACL 数据集,其中的事件没有特定的时间戳.
按事件发生的时间顺序对PHEME 数据集中的事件进行排序,选择最早发生的八个事件作为训练集,第九个事件作为测试集. 由于验证集的作用是调整模型参数、验证模型效果并选择性能最佳的模型,因此本文提出的数据划分方案作如下设定. 从最新的事件(待检测的事件)中收集的验证集是最有效的,所以,新的数据集划分方案根据声明中原始帖子的发布时间对测试集中的事件声明进行排序,选择最早的m 个声明作为验证集(后续的实验中设置m = 100),剩余的声明作为最终的测试集. 此外,考虑到谣言的早期检测,验证集和测试集中不包含所有声明的回复帖子,本研究设定回复帖子一步可见,即对新事件上的声明的回复帖子按照其发布的时间顺序排列,并选择最早发布的回复帖子作为该声明可见的回复信息.
PHEME⁃GACL 数据集只包含八个事件,本文选择最早发生的六个事件作为训练集,第七个事件作为测试集,忽略第八个事件,因为其规模较小(总共只有92个声明),其余设置与PHEME 数据集保持一致.
Twitter 和Twitter⁃GACL 共有四个数据集,Twitter15,Twitter16,Twitter15 ⁃ GACL 和Twit⁃ter16⁃GACL,没有明确包含事件的开始时间,并且每个事件中的声明类别标签完全相同,因此,本文提出的数据划分方案为每种类型的标签选择了五个事件作为测试集. 新的数据划分方案下数据集的统计信息如表2 和表3 所示.
基于上述提出的按事件发生的时间顺序划分数据集,谣言检测的问题定义如下.
定义 谣言检测 给定一个包含N 个过去事件的事件集S,对于新出现的事件sN + 1,给定它前m个声明的原始帖子(和相应的第一步回复帖子,如果有),目标是训练一个谣言检测模型来预测事件sN + 1 上即将发布的声明是否为谣言.
3 实验
3. 1模型 选择六个相对新颖且具有代表性的模型作为谣言检测模型以评估不同的数据划分方案. 其中,BERT[40]是一个最新的使用纯文本声明的谣言检测模型;BIGCN[12]是对于具有传播结构的声明的代表性研究;GACL[13]和RDMSC[23]是最新的研究;EANN[30]和MetaDetector[22]尝试使用域自适应方法来改善模型在面对新事件时的性能. 以下是对六个模型的更详细描述.
BERT[40]是一个使用纯文本信息进行微调的BERT谣言检测模型.
EANN[30]是具有事件鉴别器的谣言检测模型,该鉴别器捕捉了事件之间的不变特征,以提高对新事件的检测能力.
MetaDetector[22]是基于EANN[30]的模型,通过事件鉴别器来消除事件特定的特征,并应用伪事件鉴别器来评估现有事件对新事件的影响.
BIGCN[12]使用两层GCN 来捕获谣言的传播和扩散模式.
GACL[13]是最新的谣言检测模型之一,既考虑了声明的传播结构信息,又引入了对抗学习和对比学习,以获得不变特征并解决泛化问题.
RDMSC[23]也是最新的谣言检测模型之一,不仅考虑了声明的传播结构信息,还使用了用户信息进行辅助检测.
3. 2评估指标 对于PHEME 和PHEME⁃GA⁃CL 数据集,由于是二分类任务,使用精确率(Prec)、召回率(Rec)、F1 值(F1)和总体准确率(Accall)作为评估指标. 另外,由于Twitter 和Twitter⁃GACL 数据集具有多个类别标签,使用总体准确率(Accall)和各类别准确率(Acc)作为分析的评估指标.
其中,对于某一类别标签的声明,TP 是将该类别声明正确分类的数量,FP 是将该类别声明错误分类的数量,TN 是将其他类别声明正确地不分类到该类别标签的数量,FN 是将其他类别声明错误地分类到该类别标签的数量. 此外,K 为标签的类别数,N 是待检测的声明总量.
3. 3实现细节 实验中BERT[40],EANN[30],MetaDetector[22] ,BIGCN[12] ,GACL[13] 和RD⁃MSC[23]的初始学习率分别设置为0. 001,0. 001,0. 01,0. 0005,0. 0005 和0. 0005,batchsize 设置为16,100,50,120,120 和120,和原始模型的文献或
代码中的设置一致. 对于MetaDetector 模型,由于采用了域自适应方法,需要两种类型的训练集,即已有事件和新事件,因此,对于随机划分和按时间顺序划分两种数据集划分方法,实验时将验证集作为新事件的训练集. 此外,由于PHEME 数据集有验证集,实验时采用同样的策略将其视为训练集的一部分. Twitter15 和Twitter16 数据集则经过重新划分,将新事件的原始测试集按4∶1的比例划分为测试集和训练集.
3. 4实验结果
3. 4. 1在PHEME 和PHEME⁃GACL数据集上的实验结果 表4 和表5 分别展示了在PHEME和PHEME⁃GACL 数据集上使用三种数据划分方案的实验结果. 如表所示,在事件具有特定时间戳的PHEME 和PHEME⁃GACL数据集上,与随机划分方法相比,本文提出的兼顾谣言事件时序特性的数据划分方法将模型的精度至少降低了7%. 与将声明按时间顺序进行划分的方法[18]相比,使用本文提出的方法时模型的准确率也有所下降,在PHEME数据集上至少下降0. 7%,在PHEME⁃GACL 数据集上下降1%,证明本文提出的数据划分方案揭示了基线模型进行随机划分的低能力,即在面对突发的新事件时不具备鲁棒性和泛化性. 因此,考虑事件发生时间顺序的数据划分方案可以提升谣言检测模型的性能.
此外,MetaDetector 在PHEME 上的实验中出现了病态问题,即在使用本文提出的新的数据划分方案时,所有待检测的声明都被预测为同一类别. 主要是因为新事件中可用的声明数量很少(只有100个),且根据表2的统计,这100个可用的声明中非谣言声明的比例高达77%,这是极不平衡的情况. MetaDetector 使用这种有限的新事件数据进行训练,导致了结果中的病态问题.
3. 4. 2在Twitter 和Twitter⁃GACL数据集上的的实验结果 按照时间顺序划分的方法需要声明具有具体的时间戳,但是Twitter15,Twitter16,Twitter15 ⁃GACL 和Twitter16 ⁃GACL 数据集不符合该条件,因此在实验时只比较两种数据划分方法(即随机划分和本文提出的划分方法). 表6~9 展示了在不同数据集划分方法下模型的性能比较结果. 由表可见,和随机划分相比,本文提出的数据划分方法导致模型性能明显下降. 在Twitter15,Twitter16,Twitter15 ⁃ GACL 和Twit⁃ter16 ⁃ GACL 数据集上,准确率分别降低至少19%,30%,36% 和34%,证明当前大多数谣言检测模型采用的随机划分方法在检测新事件时会表现出较低的性能. 因此,有必要提出一个新的数据划分方法作为研究谣言检测模型的评测方法.
3. 4. 3整体分析与可视化 本文提出的数据划分方案揭示了当前谣言检测模型与实际应用中对新兴事件的谣言检测之间的能力差距,再对模型在不同数据集上的表现差异进行更深入的研究.在比较给定模型在不同数据集上的表现时有两个观察结果.
(1)基于文本的谣言检测模型在PHEME 上的性能表现普遍优于Twitter15和Twitter16数据集,因为PHEME不仅包含声明的原始帖子,还包括回复帖子,提供了更丰富的信息,更有利于谣言检测. 而基于传播结构的谣言检测模型是根据Twitter15 和Twitter16数据集人工获取声明的回复文本,因此在这两类数据集上的性能表现没有明显的差异.
(2)使用两种数据划分方案,即随机划分和本文的按事件时间划分时,模型在Twitter15,Twitter16,Twitter15⁃GACL 和Twitter16⁃GACL上的性能比在PHEME 和PHEME ⁃GACL 上下降得更多. 因为Twitter15,Twitter16,Twitter15⁃GACL 和Twitter16⁃GACL 数据集中每个事件的声明类型是一致的,在本文提出的新的数据划分方案下,为了避免信息泄露,这四个数据集在测试集上的事件信息完全不可见. 而在PHEME和PHEME⁃GACL 上,允许使用新事件的前100 个声明. 因此,在两种数据划分方法下,模型在Twitter15,Twitter16,Twitter15 ⁃ GACL 和Twit⁃ter16⁃GACL 数据集上的性能表现差距更大.
采用t⁃SNE[41]对PHEME 和PHEME⁃GACL数据集上的新事件和已有事件的数据分布进行可视化,如图1 所示. 图1a 是在PHEME 数据集上使用Word2vec[42]获得的单词嵌入的可视化结果,图1b 和图1c 是在PHEME⁃GACL 数据集上的可视化结果,它们分别使用Word2vec 来获得单词嵌入,使用经过微调的BERT[43]模型来获得单词嵌入并结合GCN 来提取传播结构.
具体地,由图1a 和图1b 可见,在PHEME 和PHEME⁃GACL 数据集上,新事件和已有事件的数据分布不同,标签比例存在不平衡的问题. 因此,在构建谣言检测模型时,可以考虑使用迁移学习[44-45]、元学习[46]、多任务学习[47-48]和增量学习[49-50]等方法,以消除数据分布的差异,更好地提高模型在面对新事件时的泛化能力. 由图1c可见,使用BERT 能提取更全面的文本特征,并且,在考虑了声明的传播结构之后,新事件和已有事件的分布不再是主要的差异,谣言和非谣言数据被映射到不同的特征空间. 证明在进行谣言检测的研究时,有必要提取更全面、更丰富的文本特征和传播结构特征.
4 结论
本研究引入了一种新颖的数据集划分方案来评估实时新兴事件背景下谣言检测方法的有效性. 与常用的随机划分方法不同,本文提出的方法考虑了事件的时间顺序,并充分考虑了数据分布中可能存在的时序漂移问题,更符合现实世界中谣言检测任务的工作流程. 实验结果表明,尽管使用随机划分方案训练的谣言检测模型在测试集上表现良好,但在使用本文提出的划分方案时,其性能显著下降,凸显了现有模型在有效检测未来新兴事件时所面临的挑战. 由于对实时发生的新兴事件的检测仍然是一个重要但未被充分研究的问题,引入本文的新数据划分方案能使谣言检测研究更多地关注和解决新事件上的检测问题,还可以在一定程度上迫使谣言检测模型增强处理未知事件的泛化能力,并提高整体的检测性能.
(责任编辑 杨可盛)