李亦轩,刘克剑,杨潇帅,李伟豪,冯媛媛
(西华大学计算机与软件工程学院,四川 成都 610039)
随着时代飞速发展,虚拟网络的社交平台发展迅速,微博等社交平台已经成为分享生活、分享新闻、分享知识的重要社交方式。但是,其便捷的传播方式、热点链式传播烈度,也为虚假信息扩散带来“方便”。虽然这些虚假信息在短时间内被官方澄清,造谣者受到公安机关严肃处理,但是其还是产生了高的讨论热度,上榜热搜。部分网民在没有证实信息真实性情况下,选择盲目相信网上一些有热度但又不一定真实的消息,从而出现真相跑不过谣言的情况,这给社会造成了负面影响。人们一般都是依靠自己的常识或通过一些权威网站的辟谣社区(例如微博的官方辟谣账号“@微博辟谣”等)判断消息的真实性,但是这类媒体或网站可能具有滞时性和专业方向细分特性,导致对虚假信息不能及时澄清。
正确识别网络虚假信息是制止其散播的重要前提。GUO 等[1]认为虚假信息的情感比真实的新闻更加强烈,一些表示极端情绪的情感单词出现的频率会更高。例如“anger”“sadness”之类的词,带有强烈情感色彩会更容易出现。近年来,随着深度学习的发展,计算机视觉、文本翻译以及句子分类、句子情感分析等方面的研究都取得了不错的成果。Ma 等[2]使用深度学习模型对虚假信息进行提取特征分析,使用了RNN[3](recurrent neural network)、LSTM[4](long short-term memory)等循环神经网络模型对虚假信息进行特征提取。但是这些模型还存在很多缺陷,例如无法获取比较完整的词语含义、无法获取前置信息等,这会对虚假信息识别造成不小的影响。
Bert(bidirectional encoder representations from transformers)模型[5]作为较新推出的预训练语言模型,在多个数据集上都取得了不错的效果,尤其是对于文本推理、阅读理解等任务表现得非常优秀。然而,Bert 模型预训练时,并没有添加任何情感信息,导致其在情感分析任务上不如其他自然语言处理任务表现优秀。在数据样本量较少时,Bert 对于文本的情感特征提取能力不足,因此,在情感分析任务中,Bert 模型还存在可优化的空间。本文从情感分析的角度出发,对Bert 模型进行改进,给Bert 模型设计一个新的预训练任务,让其在无监督的数据集上也能获取一定的情感极性。本文首先根据Hownet 情感词典给目标数据集情感词上添加情感权重,让Bert 模型在目标数据集上进一步预训练;接着对掩盖词文本进行情感极性标注,让模型根据情感标注预测掩盖词上下文情感信息,并获取情感向量。本文在改进的Bert 模型基础上提出了一种新的虚假信息识别模型,即通过Bert 模型得到情感向量后,再结合BI-LSTM 模型,做全连接操作,最终输出虚假信息。
Bert 模型[5]是Google 团队于2018 年发布的。它利用了Transformer 强大的特征抽取能力,并使用了掩盖语言模型,因此,一经推出就在多个数据集上取得了很好的成绩。Bert 模型结构如图1所示。E1,E2,···,En为文本输入,Trm 是Transformer编码器,也是模型的重要组成部分,T1,T2,···,Tn表示Bert 处理后得到的特征向量。与传统的循环神经网络RNN 相比,双向Transformer 有更好的特征提取能力,能获取更多的上下文信息。本文将在Bert 模型基础之上改进,并用其获取文本情感特征。
图1 Bert 模型结构示意图
Transformer[6]编码器是一个基于Self-Attenton机制的Seq2seq[7]模型。Seq2seq 模型是面向输出长度不确定的模型,可以有效避免RNN 无法并行、运行慢、长序列中容易丢失特征信息等问题,从而提升其运行效率和正确率。
Self-Attention 的核心优势就是能够充分考虑文本间不同词语之间的相互关系。计算每个单词与其他单词的相互关系并得到对应权重矩阵,这个权重矩阵蕴含的信息比较全面,包含了与上下文中其他单词的相互关系。关于Self-Attention,其输入向量矩阵为Q、K、V,dk为输入向量维度,Q×KT表示计算输入向量之间的关系。经过与dk运算降维之后再通过softmax 归一化函数得到权重向量,最后输出句子中所有词向量加权求和得到的新向量。计算公式[4]如公式(1)所示。
其中Softmax(•)是一个归一化指数函数,会对矩阵中行向量做如下运算[5]。
式中Z1,Z2,···,ZN是一个N维行向量。经 过Softmax(•)函数作用后,行向量元素会被压缩在0~1 之间,并且元素和为1。Softmax 值将决定当前单词在文本中单词位置的表示程度。Self-Attention机制会关注其他单词,因此最终得到的是一个矩阵。该矩阵会融合其他词的位置信息,相比传统的Word2vec[8],其结果更准确和全面。例如“树上的苹果又红又圆”和“苹果公司将于年底推出新产品”,在这2 句话中的“苹果”一词代表的意思并不相同。经过上面步骤后可以分别得到2 句话中每个词的Attention 向量,可以在模型训练中提供更准确的词语信息。
Bert 使用掩盖语言模型作为主要任务训练模型。掩盖语言模型首先会对输入文本样例进行随机掩盖,一般会掩盖15%左右的单词,然后引入噪声(mask)代替掩盖单词,接着根据上下文降噪获取到的特征,对被掩盖的词进行特征分析和重新编码。其目的是为了让模型能够基于上下文来预测被掩盖的单词。
对于特定的单词搭配和固定的语法规律,模型可以很好的预测。但是,如果句子正好掩盖了关键单词,模型预测正确率将降低。例如“这家餐厅的服务太糟糕了,服务员上菜慢并且对于客户毫无耐心”。模型对于这句话的不同词语有不同的掩盖损失。其中对于“糟糕”“慢”“毫无耐心”这3 个单词来说,掩盖损失值应该是最大的,就算模型的预测结果为消极,仍会产生较高损失。因此,应给予模型外部情感信息,提高模型对于掩盖词上下文情感极性预测能力,降低掩盖关键情感词对模型预测的损失影响,让模型在预测文本情感极性任务上取得更好效果。
LSTM[9]可以较好解决RNN 梯度消失问题或者梯度爆炸问题。较RNN,LSTM 可以更加准确地获取词语含义,在情感特征提取等任务上能取得较好的效果,但是LSTM 序列化处理问题,难以捕捉上下文信息,无法获取全面的信息特征。为解决该问题,BI-LSTM 诞生了。它是由一个前向LSTM和一个后向LSTM 组成,可以更准确地获取前向信息和后向信息。本文将经过改进的Bert 模型提取到的情感特征送入BI-LSTM 模型中,做全连接操作,最终输出虚假信息检测结果。
对于BI-LSTM,输入的文本记为Y1={y0,y1,···,yn−1,yn},对于前向,其输入文本顺序为y0,y1,···,yn−1,yn,得到向量组,对于后向,其输入文本顺序正好相反,记为Y2={yn,yn−1,···,y1,y0},得到向量组然后将Y1,Y2这 2 组隐向量进行两两拼接得到新的隐向量组 {h0,h1,···,hn−1,hn}。此向量组包含了前向和后向的特征信息。在虚假信息检测任务中,使用BI-LSTM 能够同时获取双向文本信息,提取更全面的文本特征信息,对虚假信息检测能够起到很好的效果。
为了处理输入的文本信息,需要提前对文本进行预处理:将文本中的特殊符号进行处理;去除多余空白;将繁体转换成简体;去除文本中常用的停顿词,例如“的”“呢”等。去除这些常用的停顿词可以降低文本输入工作量,提升文本分类处理效率。
情感分析(sentiment analysis)是对文本信息去除客观信息后的主观态度和情感倾向等语义进行分析,并将文本分为积极、消极、多种细粒度类型等。很多学者已经运用特征工程手段,提取情感极性[10−12]。研究结果[2]表明,虚假新闻往往会比真实新闻带有更多的极端情感词,例如“怒骂”“震惊”“去死”等,这会让虚假信息更能吸引人们的眼球。有学者利用情感词典[13−15]来判断文本中情感倾向,也取得了不错的效果。
对于Bert 模型而言,其文本特征提取主要是依靠掩盖语言模型。掩盖语言模型可以很好地预测介词或者连词,但当掩盖词为情感词或其他掩盖情感特征损失较大的词时,对模型的预测影响较大。同时当情感词较少,或者句子中不包含情感词的隐式情感,模型难以注意到这些情感表达,对句子的情感特征提取会不充分,导致其预测结果不佳。为此,本文对Bert 模型做了适当改进。
1)根据Hownet 情感词典,对情感词加权,提高模型对文本情感特征提取能力。
2)给出被掩盖词情感极性信息,以此向模型加入外部情感信息,让模型能够推测其掩盖词上下文情感信息。
3.2.1 加权情感词
在大部分文本数据中,明显带有情感极性的情感词可能只会占文本的小部分,这些情感词在文本中出现较少。同时对于上下文中不包含情感词的隐式情感,模型容易忽略,导致在预训练阶段对情感特征提取不够充分。为此,本文根据Hownet情感词典,对目标数据集情感词进行加权,以提高模型对文本情感的预测效果。为了防止在情感预测时产生梯度爆炸,在计算损失函数时,选择较大的权重值。
问题定义:一个不定长的序列L中,首个单词Wcls和某个掩盖单词Wmask,在经过Transformer提取特征后得到向量Qcls和Qmask,Y为根据情感词典得到的文本整体情感词集合,则损失函数Loss 为
3.2.2 文本情感极性预测
Bert 作为一个预训练模型,并不适合直接向模型中通过向量拼接或者向量相乘的方式加入情感特征,所以在预训练时,要对Bert 进行一定改进,将掩盖单词情感极性以有监督的方式提供给模型,并通过反向传播修改参数信息、学习情感特征信息。例如“这台笔记本电脑功能强大且轻巧方便”,对于这段文本,若掩盖的是“轻巧方便”,则可以通过前面的“功能强大”和连词“且”推测被掩盖的词应该为正向情感,从而可以得到文本正向隐式情感表达。同样的,本文为Bert 模型提供被掩盖单词的情感极性,这样作为在一种在多项自然语言处理任务上都取得不错成绩的预训练语言模型,它也能根据被掩盖单词情感极性和剩余文本单词的特征信息,推断出被掩盖单词上下文的情感极性,挖掘文本情感特征。
本文对被覆盖的词进行批量情感极性标注,给模型一个额外的监督信息,则模型能够更加准确地获取到文本情感色彩,从而发现文本中情感的隐性表达。当文本数据输入模型后,经过Transformer提取得到特征向量,该向量已经包含了上下文的情感信息。该向量使用softmax 损失函数对其情感特征进行预测。
根据式(4),模型将会做出对掩盖词的情感预测,给出其属于情感词类别sen 的概率分布。其中WE为Bert 的词嵌入矩阵。
LableBert 模型由Bert 和BI-LSTM 2 部分组成。通过改进Bert 基础模型的预训练任务,得到情感向量,并结合BI-LSTM 可以学习到融合“前后”2 个不同方向文本的特征信息,对文本数据进行虚假信息检测。
整体模型如图2 所示。首先对文本数据进行预处理:将文本的数据进行“净化”,将文本的繁体字进行转换;删除一些不影响文本意思的连词和特殊符号;对超过限制长度的超长文本进行特殊处理,将其限制在规定长度内。然后将处理好的文本经过改进预训练任务的Bert 模型,对文本进行隐式情感特征挖取和情感特征提取分析,得到情感特征向量。最后将情感特征向量送入BI-LSTM 层,随后经过全连接层整合提取特征,进行虚假信息预测。
图2 LabelBert 模型结构示意图
经过优化后的Bert 模型训练的输出Ci,点乘一个权重WC,再加上一个偏置ba,经过sigmod 函数得到BI-LSTM 的输入ai,其计算公式为
模型将输入向量输送到隐藏层中。与标准的LSTM 不同,BI-LSTM 能够在2 个方向的隐藏层中对特征进行计算分析,最后将2 个方向得出的结果进行合并输出。前向LSTM 的隐藏层向量为,后向LSTM 的隐藏层向量为。它们合并结果为
然后使用tanh 函数对隐藏层进行计算
式中:Wah代表输入ai的权重矩阵;U为对应i−1 时刻hi的权重矩阵;bH为偏置向量。将所有时刻的Hi拼接起来得到向量H,即句子级别的句子特征向量表示。将特征向量H输入到全连接层,使用softmax 函数进行分类,完成最后的虚假信息识别判断。
式中Ws为随机初始化矩阵。
本文采用的数据集是Ma 等[16]在2016 年公布的,适用于社交媒体虚假信息检测的数据集。目前该数据集在很多文献都被使用,已经成为社交媒体虚假信息检测的经典数据集。
该数据集中的新浪微博数据集包含4 664 个事件及事件对应的标签,每个事件包含若干条微博,每条微博的具体内容、用户信息、用户等级等数据均已在原始数据集中完整提供。
为了验证LabelBert 模型有效性,本文将其与经典模型进行虚假新闻检测对比,采用4 个评判值进行模型可行性判断。
1)准确率(Accuracy):模型预测正确的样本占总样本的比例。
2)召回率(Recall):实际为虚假信息(或非虚假信息)的并且被正确预测的样本所占总样本的比例。
3)精确率(Precision):所有被预测为虚假信息(或非虚假信息)的事件数量与被分类为虚假信息(或非虚假信息)的事件总数的比值。
4)F1值(F1-Score):准确率和召回率加权调和平均。F1值越高则模型有效性越高。计算公式为
本文使用Google 团队公布的基础Bert 模型。该模型有12 层,768 个隐藏层节点和12 个自注意力头部。在训练时,批量大小设置为32,学习率设置为 2×10−5。Fine-turnning 阶段batch_szie 设置为16,对数据进行2 次迭代,dropout 概率都设置为0.1。对于超过文本限制长度的数据,将其长度强行设置为280。
为了测试出最优参数值,本文进行多次不同参数的实验,筛选出最佳的超参数k值。本文单独抽取15%的测试数据(不与训练数据和测试数据交叉)进行测试。对于k值的选取,由于非情感词权重k值已经固定为1,所以对于情感词的权重,一般来说应取大于1 的数。为此,本文选取了一系列实数来进行实验测试。实验结果如图3 所示。
图3 k 值实验测试图
从图可以看出,当k在2.0 左右时,模型效果达到最高峰值。当k值过大,效果反而下降,这可能是因为产生了过拟合,导致模型效果不理想。本文情感词权重k都选2.0 作为超参数。
将本文方法与几个经典模型在相同数据集上进行实验。本文选取了以下几个经典方法。
1)Bert:直接将数据放入已经预训练好的Bert 基础模型中。
2)Word2vec-BILSTM:使用word2vec 模型将文本向量化,并结合BI-LSTM 模型实现分类。
3)ELMo-BILSTM[17]:使用ELMo 模型将文本向量化,并结合BI-LSTM 模型实现分类。
4)Bert-RNN:利用Bert 预训练得到文本特征之后,再结合RNN 模型完成特征训练及分类。
5)Bert-SVM:利用Bert 预训练得到文本特征后输入到SVM 中进行分类。
6)Bert-BILSTM:利用Bert 预训练得到文本特征,并结合BI-LSTM 进行分类。
7)LabelBert 模型:加入情感分析,改进Bert 模型,并结合BI-LSTM 进行分类。
图4 示出各模型的4 个评判值。模型4)、5)、6)都是在Bert 基础上的模型。模型4)采用的SVM 是传统的分类方法。模型5)采用的RNN 是比较基础的神经网络模型。模型6)采用的是BILSTM 模型。从图4 可以看出:模型2)的实验效果一般,说明基于Word2vec 的文本表示方法还存在一定缺陷,Word2vec 虽然可以很好的表现数据文本中各词语之间的关系,但是无法完整地提取不同语境下,相同词语的不同语义特征,也无法获取长距离语义关联信息;从表现上看,模型3)比Word2vec 已经有了很大进步,能获取多语义特征,对虚假信息检测这种分类问题有较大帮助。
图4 各模型实验对比结果
模型1)并没有加入情感因素和结合其他模型,其检测结果比模型2)和模型3)表现更好,证明Bert 模型在处理虚假信息检测等分类任务上效果较好。模型6)在各项指标上较模型4)和模型5)都有不同程度的提升,说明BI-LSTM 模型在获取文本特征上具有一定的优势。模型4)、5)、6)的正确率和F1值较模型1)都有不同程度上升,其中模型6)表现最好,正确率和F1值分别达到了90.90 和90.64。当k值选为2.0 时,改进了Bert预训练任务的模型7)的正确率和F1值分别达到了91.36 和91.03,较没有进行Bert 预训练任务改进的模型6)有略微提高,说明对Bert 预训练任务添加情感信息,对模型虚假信息检测具有一定帮助。
本文对Bert 模型进行了一定的改进,在文本数据较少的情况下,情感特征提取能力有一定的提升,再结合BI-LSTM,进一步提高了虚假信息检测的能力。
对于文本虚假信息检测,还可以从情感分析以外的其他角度去分析。例如:从时序、微博URL、用户注册天数等角度对虚假信息进行分析;从无监督数据提取情感信息对虚假信息进行辅助判断,从而提高虚假信息检测的效果等。
在未来的工作中,对于虚假信息检测应该从多方面展开,更加全面准确地识别虚假信息。同时应该更加关注谣言传播的方式和计算方法,找到虚假信息传播的各种特征表示方式,并且计算它们对于虚假信息传播的影响权重,进一步提高对于虚假信息检测的效果。