基于潜在话题的微博谣言在线检测

2020-11-18 14:00王浩高玉君刘孙俊
现代计算机 2020年28期
关键词:谣言语义特征

王浩,高玉君,刘孙俊

(1. 成都信息工程大学软件工程学院,成都610225;2.四川大学网络空间安全学院,成都610065)

0 引言

随着Web2.0 时代的到来,Twitter、Facebook、微博、贴吧等新的社交媒体平台得以快速发展。由于微博具有言论自由、信息及时,内容多样等特点,且微博的传播方式在不断更新,不仅拓宽了社交的厚度与广度而且极大地丰富了我们的日常生活。微博已逐渐成为人们获取信息的重要来源。然而在享受微博为我们带来的便利的同时,也促进了微博谣言的传播。微博中的谣言信息在传播过程中会被不断地歪曲以及放大。不仅危害网络健康,严重的还引起社会的恐慌,影响社会安定有序。因此,及时而准确地识别微博谣言对净化社交网络具有重要的意义,也利于政府部门对舆情进行有效的监控,引导正确的舆论导向。所以微博谣言检测势在必行。

正是因为近年来微博谣言的泛滥表现出严重的危害,所以对于微博谣言的检测的研究备受学术界和政府的重视。虽然许多研究工作正积极解决这个问题,但微博谣言检测仍面临着许多挑战:

首先,由于微博拥有巨大且稳定的活跃用户数而产生大量如商业广告、个人情感、日志记录等大量无用的信息,而现有的谣言检测方法无法对这些所有信息进行谣言检测。如果对每天产生所有信息进行谣言检测,这不但没有必要而且不可行。不仅会导致谣言检测存在滞后性,而且还会出现谣言检测冷启动等问题。

其次,文本特征对谣言检测非常重要。但现在研究对微博文本特征的处理一般使用词袋的方式处理[1]。这种数据处理的方式只是将词符号化,并没有将词融入到语义中去,该方法不仅忽略了上下文间的联系、词语间的语义关系,而且文本的向量表示十分稀疏,极大地增加了模型训练的难度[2]。

第三,谣言的早期检测即是在谣言生命周期中的潜伏期发现谣言,因为谣言在潜伏期产生的危害性弱,可控性强,所以谣言的早期检测会大大降低谣言带来的危害。但是由于潜伏期的谣言暴露的特征十分有限,所以使得谣言的早期检测非常困难。尽管有许多早期的谣言检测算法,但实验得到的结果往往不尽人意。

针对上面这些挑战,本文的贡献如下:

(1)为了解决对海量数据进行谣言检测的问题,本文提出一种基于热量模型的潜在话题检测模型,该模型通过使用热量模型建模,收集信息的监控时序关系,挖掘微博中短时间内具有大量热度的数据,仅对这部分可能产生舆情的信息进行判别,从而过滤掉大部分噪音数据,同时克服初发微博的真实性检测线索不足存在的检测冷启动问题。

(2)为了解决对微博语义的理解问题,本文提出了一种将LDA 主题模型与Transformer 模型融合的LTransformer 模型,该模型首先使用LDA 主题模型提取出词义相近具有相同主题特征的微博,将其归为一类,然后使用Transformer 模型用来提取对微博的上下文环境以及文本语法等因素,即是能较好地利用谣言的语境信息等特征,获取更为丰富的语义表示,能极大地提升后续分类的准确率。

(3)为了解决早期谣言检测的问题,与其他现有先进的谣言检测算法相比较,本文提出的方法的表现也超越了其他基线方法的性能。

1 相关工作

谣言由于其传播速度快,影响范围广,危害性大等性质,所以在微博谣言的检测方面,对学术界都提出了不小的挑战。学术界对该问题展开了积极的研究。微博谣言的识别从之前传统的人工检测向机器学习发展,由简单常用的机器学习向结构复杂的深度学习发展,挖掘的特征由浅层特征向隐藏且深层的特征转变。总结主要有以下三类方法:

现目前微博使用的谣言检测大多为人工检测。但由于人工检测无法处理海量数据,且人工检测存在极大的时延等问题,使其越来越不适应当今的真实微博平台。研究出能自动进行微博谣言检测的方法迫在眉睫。

常用的机器学习算法的微博谣言检测模型中,如何选择与提取出较好的特征对谣言判别的准确度有重要的影响。Castillo 等人使用消息内容、主题、用户、传播结构等四类特征来判断Twitter 上微博主题信息的可信度[3]。Yang 在注册信息和传播信息的基础上,新引入了微博发布的地理位置和客户端类型[4]。Xiong 等人使用GTB 算法识别重要特征并删除其他特征来对特征进行选择[5]。Yu 等人考虑谣言传播的边界效应,提出一种广义谣言中心性的方法来解决准确识别谣言传播的初始来源[6]。方法[6]考虑了谣言用户节点之间的关系,但“开小号”,现象在用户节点分析中不存在意义。而Ma 等人提出了一种基于时序序列的社会网络不实信息检测算法,该算法根据构建了一组时序检测特征对算法进行验证[7]。Ghenai 等人采用基于LDA 的自动主题发现以及专家引导的信息检索方法来识别相关tweet,并利用众包,区分谣言与澄清推文[8]。而在后面这些方法[7-8]里面,试图挖掘文本和时序特征,试图解决深层次的文本特征与加入时间序列等隐式特征对谣言检测影响。浅层的机器学习算法十分依赖于人们对特征的选取,虽然都一定程度的减轻了人工检测的负担,但使用浅层机器学习仍然没法解决还是没办法解决数据量巨大,无法实现早期检测,难以获取高维度的特征数据等问题。

由于微博谣言的检测使用浅度机器算法需要进行特征提取与数据标注等操作,此过程需要耗费大量的人力物力,且在识别精度较差。而深度学习具有更强的特征学习能力,能学习到更复杂、本质的特征,所以学者们逐渐将注意力转移到深度学习。例如Ma 等人首次利用递归神经网络来捕捉相关帖子的内容随序列变化的隐藏表示[9],用来获取更多的语义特征,但随着递归神经网络层数加深出现梯度爆炸与消失等问题。为了解决上述方法的问题,Chen 提出了一个基于循环神经网络的深度注意力模型,该模型能选择地学习帖子的时间隐藏表示而且能同时能捕捉上下文的隐藏表示,挖掘更深层次的文本特征[10]。为了能实现微博谣言的早期检测,Nguyen 提出了一种早期谣言检测算法,该模型能同时利用CNN 捕捉短语的局部特征以及使用LSTM 来理解全局和时态的tweet 语义,并建立了动态序列的时间结构[11],但该方法只是在单一推特级别建模来解决这个问题,忽略了谣言之间的关系。Lukasik 提出了一种基于Hawkes 的连续时间序列过程的Twitter姿态序列分类模型,考虑了时态文本序列的文本信息与连续信息[12]。上面三个方法[10-12]加入了时间特征,在拥有极高的准确度的同时更好的观察谣言随时间变化而出现的变化。Roy 建立了基于卷积神经网络(CNN)和双向长短时记忆的模型(双LSTM)网络,从这两个模型学到的向量表示又输入到多层感知器模型(MLP)中进行谣言识别[13]。为了能解决方法[11]对单一文本级别建模,Li 捕捉微博事件群体对包括情感和语义在内的响应信息的演变[14]。方法[10,11,14]分别通过注意力机制、LSTM 或者门控单元来对不同特征施加不同的权重,控制了隐藏层的信息流动。选择关注较高微博进行检测,一定程度的解决了梯度爆炸等问题。

虽然深度学习较浅度机器学习拥有更高的准确率与特征学习能力,能捕获更为深层且本质特征。但现有的深度学习仍然存在训练周期较长,面对海量数据难以实现全面检测,谣言检测的冷启动问题仍未得到解决等。但我们提出的基于热量模型能很好地解决如何对海量数据进行检测的问题,且LTransformer 模型能很好地挖掘深层语义特征。

2 LTransformer模型

首先对数据集进行基于热量的潜在话题模型的检测。由点赞数,关注数与转发数形成的该条微博的关注度,和构成该条微博的重要性一起输入到热量模型进行建模,筛选出那些在一个时间窗口内热量较多的微博,即可能为谣言的微博。其次将筛选出来的微博先通过LDA 算法提取出微博的主题特征。通过LDA算法得出每个微博包含的特征词,然后将具有相同主题的特征即词义相似的微博归为一类,而不当成单一的文本来处理。最后将具有有相同主题特征的微博输入Transformer 模型中进行语义分析。先将微博文本词向量化后,再加上位置编码关注词语的上下文关系,最后输入Transformer 模型后再用sigmod 激活函数进而将微博数据分类为正常微博与谣言微博,从而实现谣言检测,本文提出的基于潜在话题微博谣言检测模型如图1 所示。

图1 LTransformer模型整体框架图

2.1 基于热量模型的微博的潜在话题检测模型

为了捕获微博中潜在话题的特征,及时的发现微博中的谣言的传播,解决谣言检测冷启动问题。本文采用基于热量模型的微博潜在话题检测。这是由于谣言形成与传播所经历的生命周期与热力学模型中的热量传导过程类似,在热量模型中的温度差ΔT 表示在单位时间内温度的变化,而比热容c 和介质质量m 反映出介质的性质。而对应于谣言形成与传播过程而言,温度差ΔT 可以表示在单位时间内对该微博受关注的程度,而比热容c 则表示为是微博在网络中的传播速度,而质量m 可以认为该微博的重要程度。单位时间微博增长的热度Q 可以看作是热量模型中传播的热量。以此可以筛选一些热度较低的微博而不进行检测。所以本文提出的基于改进热量模型的潜在话题检测如下:

其中ΔT 为是微博的关注度,该值由微博的点赞数,评论转发数与评论数共同决定。这三个值越大,则ΔT 值越大,表示该微博越受关注;m 为微博的重要程度,由公式(2)的TF-IDF 所决定,表示该条微博在该语料中的重要性。m 值越大,表示该条微博越重要;

c 为微博的传播速度,本文假定每条微博在网络中传播速度一样;Q 为一个时间窗口微博热度值,Q 值越大,表示该条微博热度越大,当计算得到的Q 值大过我们设置的热度阈值,即可筛选出该条微博作为模型输入,从而实现了微博潜在话题的检测。

2.2 基于潜在狄利克雷分布模型的主题词提取

本文为了关注谣言之间的关系,将文本中词义相似的微博归类处理。所以采用基于LDA 模型的主题词提取。LDA 主题模型是一种运用于语义挖掘领域的文档主题生成模型,是基于贝叶斯网络话题模型对潜在语义分析的扩展,它能给出文档中主题词的概率分布。其模型核心是每篇文档都会产生一个主题分布θ,并且每个主题都会产生一个词分布φ。具体的LDA 概率图模型如图2 所示。

图2 LDA概率图模型

对于上图中LDA 概率图而言,对于文档d,其文档主题的狄利克雷分布为θd,对于主题词k 的狄利克雷分布为φk可由下式求得:其中α,β为分布的超参数。

而根据主题分布生成m 个主题概率Zd,n可由下面式子计算得到:

最后得到的单词概率Wd,m是根据主题概率分布Zd,n,与主题词分布φk联合计算可得:

对于所有微博数据,我们通过使用LDA 模型从模型参数α中生成与文档d 对应的主题分布为θd,其中主题分布θd∈{θ1,θ2,θ3,…,θn},然后根据主题分布生成对应的主题z,另一边从模型参数β生成与主题词分布φk,然后根据主题词分布φ和主题取样生成相应的主题词w,直到所有微博都训练完成。最后,所有微博都生成对应的主题词。然后对相同时间内的所有微博的主题分布进行平均,即得到n 个基于LDA 的主题分布特征,以此获得LDA 的主题分布特征。

2.3 基于Transformer模型语义挖掘的微博谣言模型

本文需要对微博深层语义进行分析从而进行谣言检测。而CNN、RNN 由于在语义特征的提取能力方面,长距离特征的捕获能力方面,并行计算力方面都不如Transformer 模型,所以本文提出了基于Transformer模型语义挖掘的微博谣言模型。将语料通过LDA 处理得到的n 个主题分布特征输入进Transformer 模型,进行谣言检测。Transformer 是谷歌的机器翻译团队在一篇论文中提出的模型,该模型摒弃了深度学习常用的RNN 与CNN,Transformer 模型采用的是自编码的encoder-decoder 架构,并且是由6 个encoder 和decod⁃er 层分别堆叠在一起形成的,相较于attention 模型的结构更为复杂。一个子图层的Transformer 结构图如图3 左侧框图为Encoder 层,右边为decode 层。

图3 Transformer结构子图

(1)位置编码

在encoder 层前添加了一个位置编码来解释输入序列中单词的顺序,或是不同词之间的距离。该位置向量的计算方式如:

其中i 是指词在向量中位置,如果是偶数,则使用式(7),如果是奇数,则用式(8),pos 表示在句子中词的位置,最后把之前处理得到的主题分布特征的经过词向量后得到的文本表示和位置编码计算得到的值PE求和,作为模型输入。

(2)多头自注意力

每一个encoder 层里由多头自注意层和前馈神经网络组成。多头注意层是通过对多对Q,K,V 进行不同的线性变换,最后将不同的attention 综合起来:

而如果对于自注意,则是Q,K,V 值相同。

(3)掩码

这儿的掩码的目的是在训练时会对一些值进行掩盖,让其不会接触到预测的值。

基于Transformer 模型的谣言处理流程:将LDA 处理完成后的n 个主题特征作为数据集,然后将所有词输入的Transformer 模型进行attention 计算,能捕获词的依赖关系和内部结构。对微博数据进行谣言和正常微博分类。

3 实验

3.1 数据集

本文所使用的数据集来自马静公开的数据集。该数据集时马静从微博官方辟谣平台新浪社区管理中心爬取得到,该数据集有2315 条非谣言,2313 条谣言。该数据集详细情况如表1。

表1 数据集

3.2 实验分析

3.2.1 基线

为了验证本文提出的方法的有效性,将本文方法和其他几种谣言检测的基线方法在相同的数据集上进行实验对比分析。本文测试的基线方法如下:

(1)2-GRU-DTS 模型[22]。是一种基于动态时间序列(DTS)算法和两层门控递归单元(GRU)模型谣言事件检测新方法,并引入模糊时间序列模型的区域划分。

(2)CNN 模型[24]。构建了一个卷积神经网络,利用多个滤波器的大小对短文本进行分类。

(3)Hawkes 模型[19]。在四个推特数据集建立了时间敏感序列分类,并建立了最新的谣言立场分类方法,增加一个新的标签评论。

(4)DTC 模型[25]。提取了六个特征来进行谣言检测,并用J48 决策树来进行分类。

(5)LSTM-DSTS 模型[18]。首先利用神经网络来提取特征,使用LSTM 获得文本表示,并与时间序列DSTS 的谣言分类模型结合。

3.2.2 分析结果如表2 所示,由于DTC 模型只是用浅度机器学习算法对于六个特征进行分类,故在精度,准度以及f1 得分都比不上其他方法。其次,基于CNN 模型和基于Hawkes 模型的表现稍好,是因为CNN 使用了128个滤波器能对整条微博文本进行处理,而Hawkes 算法是因为对特征新增了一个时间序列。给特征增加了一个维度。2-GRU-DTS 和LSTM-DSTS 表现不错,2-GRU-DTS 利用两层GRU 模型能学习隐藏事件表示自然地拟合时间间隔,并且能更好的捕捉隐藏的特征表示。LSTM-DSTS 使用群体预测综合,所以性能较好。由实验数据表明。我们的方法在任何一项得分都高于其他基线方法,所以通过对比实验得出,本文能在微博谣言检测上具有出更好的效果。

表2 不同谣言检测方法对比实验

3.2.3 模块分析

表3 模块测试表

为了测试我们的模型的模块的必要性,通过设置模型单独移除基于热量模块、LDA 模块和Transformer模块,得到的数据和上图所示,没有基于热量模块,该模型检测时间增加4 倍,因为缺少了对潜在话题的检测,是对所有数据进行检测,所需的检测时间增加,同时准确度也在由于较多语料的噪声导致下降。缺少LDA 模块,精确度下降8%,时间增加了20s,是因为没有将具有相同特征的数据进行处理,对单独数据进行处理。缺少了Transformer 模型,精度下降17%,因为缺少对文本的语义特征进行深层次挖掘。3.2.4 早期谣言检测

早期的谣言检测可使谣言在爆发遭成恶劣影响前被检测到,可以通过设置不同的时延来比较本文提出的方法与基线方法的谣言检测的准确度,以此来评估早期检测的性能。几个对比实验的结果如图4 所示,随着时间的推移,所有方法的检测精度都在逐渐上升。而在最初的0~4 小时内,LSTM-DSTS 在和其他基线方法相比,准确率较高,达到了89%,而我们提出的方法准确率达到了91%,表明了我们模型在早期谣言检测上拥有巨大的优势,在4~12 小时内,我们模型准确率上升趋势放缓,但仍高于其他模型,在12 小时以后,随着语义特征和结构信息逐渐增多,所有的方法的谣言检测精度都趋于稳定。实验结果表明,我们提出的模型在早期谣言检测是非常有效的。

图4 早期谣言检测结果

4 结语

本文提出的基于Transformer 的潜在话题的微博在线检测模型,筛选并丢弃了大量在一段时间窗口内没有大量热度增加的微博,大大降低了检测的时间。同时从深层挖掘微博语义来判断谣言与否,并且在模型评估中,所有模块的组成完整模型的检测精度很高,且在和其他先进谣言检测算法对比,无论在检测时间上还是检测精度上都具有不错的表现。所以综上所述,本文提出的模型给谣言检测提供了一种有价值的参考。在以后的研究中,将计划加上对微博传播结构的研究,更进一步准确且有效地提升谣言检测的效果。

猜你喜欢
谣言语义特征
真实场景水下语义分割方法及数据集
离散型随机变量的分布列与数字特征
中国使馆驳斥荒谬谣言
不信谣言 科学防“疫”
抓特征解方程组
不忠诚的四个特征
你被养生谣言忽悠过吗?
谣言π=4!
“吃+NP”的语义生成机制研究
汉语依凭介词的语义范畴