基于多传递影响力的社交媒体谣言检测方法

2022-10-16 12:27段大高白宸宇韩忠明熊海涛
计算机工程 2022年10期
关键词:谣言影响力卷积

段大高,白宸宇,韩忠明,熊海涛

(1.北京工商大学 国际经管学院,北京 100048;2.北京工商大学 食品安全大数据技术北京重点实验室,北京 100048)

0 概述

在现实世界中,社交网络已经与人们日常工作和生活密不可分,人们不仅通过网络获取各种信息,同时也参与到信息内容的创作中。社交网络中的信息传播具有速度快、范围广、即时性强等特点。然而,由于在发布信息时缺乏有效监管手段,导致社交网络平台成为谣言传播的温床[1]。网络谣言不仅会影响人们的日常生活,而且会带来严重的社会问题。例如,2016 年美国大选期间,有益的谣言信息倾向于支持唐纳德·特朗普而非希拉里·克林顿,直接影响选举结果[2]。因此,研究自动高效的谣言检测方法意义重大,尤其是在信息传播早期阶段。

传统检测方法主要利用文本内容、用户特征通过手工提取特征,然后再利用分类器分类,如决策树[3]、随机森林[4]、支持向量机[5]。随着近年来深度学习的发展,越来越多的研究采用深度学习方法。除上述内容特征外,谣言的传播还存在结构特性,传播图中的节点会因为邻居及更远邻居而影响自己,关系越亲近的邻居影响更大,因此转发关系的谣言之间存在结构影响力,这将有助于对谣言的分类。虽然现有研究已经取得了部分成就,但是鉴于社交媒体下谣言检测任务的复杂性,其还存在以下问题:谣言文本包含了语义信息和传播结构信息,以往方法利用树结构学习结构影响力并不完善,谣言传播结构应是一个错综复杂的图结构;用户属性可以丰富谣言检测特征,但在传播早期很难获取大量用户信息,因此无法利用用户的关注关系描绘传播网络,但可以通过早期谣言的转发关系构建用户传播图;消息在传播过程中会受到不同用户的影响,以往方法忽略了未直接转发或评论用户存在的间接影响,而这些潜在关系可以丰富谣言检测特征。

本文提出一种基于多传递影响力(Multi-Transmit Influence,MTI)的谣言检测方法。使用转发关系对用户节点构图,根据图神经网络学习文本的结构影响力,以避免使用大规模用户信息,在此基础上通过构造基于用户传递影响力的节点表示,学习用户之间在传播过程中不同的影响力,以增强用户特征信息。

1 研究现状

目前,研究人员将谣言检测任务看作是一种分类,即判断某个消息是“虚假信息”还是“非虚假信息”,亦或是其他类别。其中一类方法为基于传统机器学习的方法,例如,文献[6]通过提取单词或短语的频率特征,选出对谣言或者是非谣言比较有代表性的词进行谣言检测。文献[7]首先按照主题分类提取用户特征,然后利用机器学习的方法进行分类。文献[8]使用了多种不同类型的特征,并通过梯度提升决策树来进行谣言检测。文献[9]提出一种基于动态时间序列的谣言检测模型,利用时间序列为谣言的社会情境特征变化进行建模,在传统机器学习中取得了较好的效果。

随着深度学习技术的快速发展,许多研究人员尝试利用深度学习来解决文本分类问题[10]。文献[11]应用递归神经网络,通过学习传播序列中的信息进行谣言检测。研究人员通过引入注意力机制的模型[12-14]和利用对抗生成网络的模型[15]都取得了一定的效果。文献[16]通过递归神经网络对谣言信息以树结构的形式,捕获自上而下和自下而上的结构信息,但是树结构学习结构影响力并不完善,谣言传播结构应是一个错综复杂的图网络,因此丢失了一些结构信息。文献[17]则分别使用了循环神经网络和卷积神经网络学习传播路径上的不同信息,但未考虑到用户间的影响力。

2 基于多传递影响力的谣言检测方法

2.1 模型整体架构

基于多传递影响力的谣言检测方法整体架构如图1 所示。

图1 谣言检测模型整体架构Fig.1 Overall architecture of the rumor detection model

模型由文本特征学习模块和用户特征学习模块两部分构成。其中文本特征学习模块包括:1)文本特征提取,首先利用Word2Vec[18]获取词向量,将微博句子表示为一个微博词特征矩阵,再利用多头注意力机制和卷积神经网络作用于微博词特征矩阵得到微博句子特征;2)文本传播特征提取,首先构建微博文本之间的转发或评论关系图,再利用图卷积神经网络获取传播特征。用户特征学习模块包括:1)用户影响力计算,利用转发关系将微博对应的用户进行构图,获取用户向量表示,再引入注意力机制获取用户影响力;2)用户传递影响力计算,通过构造基于用户传递影响力的节点表示方法,学习用户之间在传播过程中的不同影响力。将更新后的文本特征和用户特征融合,并由分类器进行分类输出,来预测微博信息的类别。

2.2 文本特征学习模块

源谣言集合用X={X1,X2,…,Xn}表示,每条源谣言相关的信息用Xi=表示,其中r为源微博,v对应不同的转发。Xi中每条信息vi包含若干词,用vi={Word1,Word2,…,WordL}表示,其中WordL表示微博分词后的词组,L表示微博分词的长度。利用Word2Vec获取词嵌入表示,再用微博词特征矩阵vi∈ℝL×d表示每个微博句子,微博词特征矩阵如图2所示。

图2 微博词特征矩阵Fig.2 Weibo word feature matrix

2.2.1 文本特征提取

在谣言检测问题中,文本信息十分重要,本文模型中文本特征提取过程如图3 所示。

图3 文本特征提取过程Fig.3 Text feature extraction process

本文将微博词特征矩阵作为输入,通过多头自注意力机制更新该矩阵,把更新后的微博词特征矩阵输入到卷积神经网络层和池化层提取特征,得到每条微博的句子特征,最后将不同句子特征拼接,得到源微博及相关微博的特征矩阵。

1)多头自注意力机制。在多头自注意力机制计算过程中,使句子中所有词相互影响,提取内部相关特性,获取词间依赖关系。

多头自主意力机制过程如图4 所示,输入Q=K=V,即微博句子的词特征矩阵。

图4 多头自注意力机制过程Fig.4 Multi-head self-attention mechanism process

线性层将Q、K、V映射为h个不同部分,各部分进行缩放点击注意力,计算公式如式(1)所示,得到输出如式(2)所示:

其中:i∈[1,h];d表示词嵌入维度。将不同部分的结果进行拼接,再通过一个线性层得到输出,如式(3)所示:

其中:W0∈ℝd×d为权重矩阵,输出内容Z的维度与Q相同。

2)卷积池化层。通过卷积层和最大池化层捕获微博句子级的特征。将Z∈ℝL×d作为输入,文本特征卷积核为W∈ℝh×d,其中h表示卷积核感受野的大小,作用公式为:

其中:σ为非线性激活函数;为单词的词向量表示;b为偏置量。经过卷积层提取得到卷积层特征。将卷积层特征输入最大池化层,对e∈ℝ()L-h+1×d进行最大池化,如式(5)所示:

在卷积层中设置不同大小的卷积核,每种卷积核的数量为d/3。将不同卷积核对应的输出连接起来得到mi∈ℝd,表示源微博或其转发微博的句子级特征,进而获取源微博及相关微博特征矩阵M=[mr,m1,m2,…,mn-1]∈ℝn×d。

2.2.2 文本传播特征提取

对于谣言事件相关的信息Xi,用Gi={Ei,Vi}表示其传播图结构。如图5 所示,图中节点集合为Vi=表示源微博,边集合Ei={,t=0,1,0,…,ni-1},其中每一条就表示两条微博间存在着一个传播行为,用邻接矩阵A∈ℝn×n表示,邻接矩阵中对应位置元素为aij,微博之间存在转发或评论关系则为1,否则为0,对应关系如式(6)所示:

图5 微博文本传播图Fig.5 Weibo text spread graph

利用图卷积神经网络[19]学习传播特征,将微博特征矩阵M和文本传播图邻接矩阵A作为输入,计算公式如式(7)所示:

2.3 用户特征学习模块

如图6 所示,图中节点u0~u6表示转发图中的用户,实线连接的节点表示直接转发,存在直接影响力,虚线连接则表示未直接转发,存在间接影响力。例如,图中u0节点与u5节点、u5节点与u6节点都存在直接转发关系,u5节点自身存在如粉丝数量等特征,会对u0节点造成影响力,用S05表示影响关系,同理u6节点也会影响u5节点,用S56表示。传递影响力是为了学习未直接转发或评论的用户所造成的间接影响,即用户传递影响力。在图6 中,节点u5作为中间节点,通过S05与S56计算得到u6对u0的传递影响力S06。

图6 用户传播图Fig.6 User communication graph

2.3.1 用户影响力

在转发序列构成的用户传播图中,从该网络中学习得到序列中所有用户的嵌入表示。在得到用户嵌入后,首先学习相邻用户节点间的潜在注意力系数,通过一个全连接层将两个节点的用户嵌入信息转化为一个标量sij,如式(8)所示:

其中:Ni表示转发关系中与i相连的节点;W为可学习的参数矩阵;σ为激活函数,归一化相关性系数能有效反映不同节点对目标节点的影响力度。

2.3.2 用户传递影响力

上文计算只考虑了在转发关系路径中直接转发用户的影响关系,而社交网络十分复杂,在一个真实的社交网络转发序列中,未直接转发的用户(其他用户作为中间节点,间接转发)之间存在一种传递影响力,即存在一种多跳的潜在关系,这种影响力是用户信息中很重要的一部分。

通过相关性矩阵M,构造传递影响力矩阵M'∈ℝn×n=M×M,n为用户传播图中节点个数,矩阵中元素计算公式如式(11)所示:

其中:c表示节点i和j的中间节点;sic表示节点i和c间的用户影响力;scj表示节点c和j之间的用户影响力。M'矩阵中对应位置元素表示间接转发影响力系数。将间接转发节点的系数归一化并聚合节点的信息,如式(12)和式(13)所示:

其中:W为可学习的参数矩阵;σ为激活函数。将学习到用户影响力和用户传递影响力的用户信息进行合并,得到最终用户特征,如式(14)所示:

2.4 谣言检测模型

基于多传递影响力的谣言检测方法如图7 所示。模型由2 个部分组成:1)在文本特征学习模块,首先学习谣言文本词嵌入,通过多头注意力机制和卷积神经网络提取句子级别特征,通过图卷积神经网络学习文本结构信息最终得到节点的文本特征mi;2)在用户特征学习模块,首先利用谣言转发关系构建用户传播图结构,通过学习用户间直接影响力和间接影响力丰富用户信息,得到节点用户特征

图7 基于多传递影响力的谣言检测Fig.7 Rumor detection based on multi-transmit influence model

其中:W∈ℝ(d+d)×|class|为权重矩阵;b为偏置量;y^ 来表示预测pi的概率分布,并利用交叉熵损失作为优化目标,如式(16)所示:

3 实验结果与分析

3.1 数据集

本文实验采用3 个真实社交媒体公共数据集,分别是Weibo 谣言数据集[11]、Twitter15 谣言数据集[17]和Twitter16 谣言数据集[17]。Weibo 数据集包含两类标签:谣言(Falserumor)和非谣言(Non-rumors),分别是2 351条和2 313 条。Twitter15 和Twitter16 数据集包含4 类标签,即谣言(FalseRumor,FR)、非谣言(Non-Rumors,NR)、未经核实的谣言(Un-verified Rumors,UR)和辟谣的谣言(True Rumors,TR),数据集内容如表1 所示。

表1 实验中使用的数据集Table 1 Datasets used in the experiment

3.2 对比模型和评价指标

为了验证本文提出的基于多传递影响力的谣言检测方法(MTI)的有效性,选用近年来在谣言检测任务中表现优越的模型作为对比模型与本文模型进行实验对比。

1)DTC[3]:采用决策树分类算法,利用虚假消息特征进行建模,判定数据集信息的真实性。

2)SVM-RBF[5]:采用带有RBF 核的支持向量机模型算法,利用虚假消息特征进行建模,判定数据集信息的真实性。

3)SVM-TS[9]:一种线性的基 于支持向量机(SVM)的分类模型,采用时间序列为虚假信息的社会情境特征变化进行建模。

4)DTR[20]:一种基于决策树(Decision Tree,DT)的算法,通过搜索判别一些有争议性的言论来识别虚假信息。

5)GRU-RNN[11]:一种基于循环神经网络的方法,通过学习随时间变化的评论特征来进行虚假信息检测。

6)PTK[21]:采用基于传播树核的方式,通过将消息传播构建为树型结构,利用支持向量机分类算法来进行虚假信息检测。

7)RvNN[16]:一种基于递归神经网络的虚假消息识别模型,通过捕获自下而上和自上而下的树结构信息实现虚假消息检测。

8)RFC[4]:一种利用随机森林(Random Forest,RF)算法构建的分类模型,采用用户、语言和结构等特征实现虚假消息检测。

9)PPC_RNN+CNN[17]:基于传播路径的虚假信息检测模型,使用了RNN 和CNN 来联合捕获用户特征的全局和局部信息。

10)MTI(ours):本文提出的基于多传递影响力的谣言检测方法。

本文选用准确率(Accuracy)和F1 评测值作为检测模型性能的评价指标,具体公式如式(17)和式(18)所示:

其中:TTP表示正例预测为正例;FFN表示正例错分为负例;TTN表示负例预测为负例;FFP表示负例错分为正例。

3.3 实验设置

在本文实验中,使用的编程语言为Python,运用深度学习框架Pytorch 实现提出的模型架构,版本为1.2.0。采用Adam[22-23]算法进行参数更新,参数设置β1和β2分别为0.9 和0.999,学习率初始化 为1e-3。使用Word2Vec 中的Skip-Gram 网络训练得到词嵌入向量,维度为300 维。在文本特征学习模块中,多头自注意力机制设置K为8,即在8 个部分各自进行自注意力学习。卷积层设置一维卷积核的大小为[3,4,5],每种卷积核的个数为100 个。在节点用户信息表示中,将节点的用户信息初始化为300 维,将训练的批量大小设置为64,dropout 为0.5。

3.4 结果分析

3.4.1 对比实验

在Twitter15 和Twitter16 两个数据集上的实验结果如表2 和表3 所示。Twitter15 和Twitter16 都包含了4 个类别,对于每个类别列出了各模型F1 指标。

表2 Twitter15 数据集实验结果Table 2 Twitter15 dataset experimental results

表3 Twitter16 数据集实验结果Table 3 Twitter16 dataset experimental results

在Weibo 数据集上的对比实验结果如表4 所示,分别给出了正负两类样本的准确率、召回率和F1 值。

表4 Weibo 数据集实验结果Table 4 Weibo dataset experimental results

实验结果分析如下:

1)对比表2~表4所有的模型可以看出,包括RvNN、GRU-RNN、PPC_RNN+CNN 等在内的深度学习方法在各项评测指标上都优于基于人工构造特征的传统机器学习方法。在传统的人工特征方法中,决策树DTRANK(DTR)的效果很不理想,这是因为DTR 通过将谣言的信号特征的正则表达式匹配来进行谣言检测任务,这些正则表达式与上述数据集中所能匹配的数据非常少。SVM-TS 模型的结果在基于人工特征的方法中效果较好,一方面是因为SVM 模型本身具有比较良好的泛化能力,可以适用于复杂的数据集,另一方面在SVM-TS 模型中加入了微博事件在时间变换下的不同特征,因此使得检验性能提高。深度学习的方法表现出的优势很大,这是十分正常的现象,因为基于人工构造的特征,其局限较大,依赖于经验以及受人的主观性影响较大,对数据感知并不敏感,相比之下,RvNN、PPC_RNN+CNN 以及本文模型等深度学习算法能够自动地学习到针对虚假信息检测任务的文本的高级语义表示,从而能够提取到更有效的特征。

2)相比于现有的各种方法,本文方法MTI 在各项指标上均有明显提升。具体来讲,在Twitter15 数据集上,相比于表现最好的PPC_RNN+CNN,本文模型在精准率上提高了6.9%,4 个不同类别的F1 值也都有较大的提升,分别为:NR 类别提升了13%,FR 类别提升了4.2%,TR 类别提升了9.5%,UR 类别提高了7.8%;在Twitter16 数据集上,模型在准确率上提高了3.4%,各类别的F1 值也都有提升;在Weibo 数据集上,模型相比PPC_RNN+CNN 在精准率上高出2.8%。

3)PTK 和RvNN 两种方法都依赖于从传播树结构中提取特征,效果优于其他线性结构方法,相比于RvNN,本文模型在Weibo 数据集的准确率值指标上有3.6%的提升,在两个不同类别的F1 值上也有明显提升,这表明了利用图神经网络捕获文本结构影响力的有效性。RvNN 使用树型传播结构对虚假信息的传播过程进行建模,但是这种方法忽略了消息传播是一个广泛而分散的图结构而非树型结构,因此丢失了许多结构信息。本文方法在得到微博句子级别向量后,将每条微博看作节点,利用转发关系进行构图,利用图神经网络学习传播过程中的结构影响力,得到更精细的特征,从而获得更好的谣言检测效果。

4)在3 个不同的数据集上,本文方法在准确率、召回率、F1 值在内的各项指标上都优于PCC_RNN+CNN 模型,在Twitter15 数据集上,本文方法准确率高 达6.9%,优于PPC_RNN+CNN,在Twitter16 和Weibo 数据集上也分别有3.4%和2.8%的提升。因为PPC_RNN+CNN 是利用一个时间序列上的节点向量来表示传播消息的用户特征,然而消息在传播过程中不仅相邻用户存在影响力,未直接转发或评论的用户也存在间接的影响力,PPC_RNN+CNN 不能捕获这些影响力特征。本文方法通过构造能够学习不同维度的用户结构影响力,从而丰富了用户信息,使得检测精度有所提高。

3.4.2 参数分析

鉴于谣言数据中文本信息至关重要,本节将在文本特征提取过程中的卷积层部分进行一些不同的超参数设置,分别采用不同大小的卷积核验证是否影响模型的性能,实验结果如图8 所示。

图8 不同卷积核对精度的影响Fig.8 The impact of different convolution kernels on accuracy

从图8(a)可以看出,当卷积核设置为单核时,主要捕获单字特征,这将遗失很多信息,随着设置的卷积核增大,性能也逐渐变好,峰值为3、4、5 左右,之后又继续下降。图8(b)采取的是将不同大小的卷积核进行组合的实验,实验结果表明不同大小卷积核进行组合相较于单一的卷积核性能更加优越;对比几组不同的卷积核组合,使用卷积核组合为(3,4,5)时模型性能最优,比单卷积核最佳性能要高出2 个百分点,这表明不同大小卷积核的组合能捕获不同长度词语更加独特的语义信息,丰富了微博句子级别的信息表示。

3.4.3 早期检测分析

早期的谣言检测任务至关重要,因为可以更及时有效地进行预警。早期检测区别于直接检测问题,需要更快地预测谣言的真实性。本文设置一系列的检测时间点,通过只使用在检测时间点之前的相关微博来评估所提出方法的有效性。实验结果如图9 所示,利用检测精度随着时间变化的曲线进行评估,横坐标表示源谣言信息出现之后的时间,设置的时间点为源消息发布后的0、4、8、12 个小时,有效性则是通过准确度衡量。

图9 早期检测结果Fig.9 Early detection results

从图9 可以看出,本文模型相比于其他基线模型,在Weibo 和Twitter15、Twitter16 数据集上不同截止时间点都有优异的表现。

DTR、GRU 都是通过从用户评论中获取语义信息,但是DTR 性能很差,这是因为在早期数据量较小的情况下,DTR 可以构造的特征不够丰富,GRU 能够自动获取数据中更深层的语义信息,结果优于DTR,PTK 则是通过传播树结构捕获语义信息和传播结构信息,因此效果更好。所以,在传播的早期阶段,如果利用包括用户信息在内的各类信息,捕获到越多的信息会更利于检测的准确度,但是早期阶段很难获取大规模用户信息,因此本文模型通过转发结构对其进行学习,在最早的检测时间点,能够很快达到优于其他方法的性能,在Twitter15 数据集上的准确率达到56%,在Twitter16数据集上的准确率达到54%,在Weibo 数据集上达到93%。在之后的时间点内,本文模型准确率提升最快,能够最早达到最佳性能,这验证了本文模型以传播结构学习用户信息的有效性。同PPC_RNN+CNN 方法相比,伴随着时间的增长,结构信息也会更复杂,本文模型学习到的用户传递影响力会变得更丰富,更有利于性能的提升,结果比PPC_RNN+CNN 更优秀。上述实验证明了本文模型在面对复杂的语义信息时具有相对较好的稳定性和鲁棒性。因此,基于多传递影响力的谣言检测方法不仅在谣言的长期检测任务中有效,在早期检测中同样有效。

4 结束语

为提升社交媒体谣言检测精准度,本文提出一种基于多传递影响力的谣言检测方法。利用源微博和对应转发(评论)之间的传播结构关系,构建文本信息传播图和用户影响力传播图,通过图卷积神经网络捕获文本传播特征和用户节点传递影响力特征,最后将不同维度的节点信息融合,有效学习文本内容特征和用户特征,同时利用转发关系对用户节点进行构图,避免使用大规模的用户信息,对于早期检测更为有利。在3 个真实数据集上的实验结果表明,本文方法具有比其他基线方法更高的谣言检测性能,并且在谣言的早期传播阶段具有良好的检测效果。本文探索了用户传递影响力在谣言检测中的作用,后续将研究更高阶用户节点信息对于检测模型性能的影响,进一步提升谣言检测精度。

猜你喜欢
谣言影响力卷积
中国使馆驳斥荒谬谣言
基于3D-Winograd的快速卷积算法设计及FPGA实现
不信谣言 科学防“疫”
卷积神经网络的分析与设计
从滤波器理解卷积
天才影响力
基于傅里叶域卷积表示的目标跟踪算法
你被养生谣言忽悠过吗?
谣言π=4!
黄艳:最深远的影响力