基于BERT模型的增强混合神经网络的谣言检测

2021-03-16 13:29梁兆君但志平罗衍潮
计算机应用与软件 2021年3期
关键词:谣言卷积向量

梁兆君 但志平* 罗衍潮 李 奥

1(三峡大学计算机与信息学院 湖北 宜昌 443002)

2(三峡大学水电工程智能视觉监测湖北省重点实验室 湖北 宜昌 443002)

3(西北大学信息科学与技术学院 陕西 西安 710127)

0 引 言

互联网时代网络社交平台发展迅速,网络信息数量庞大、资源共享、传播快,同时也滋生了大量虚假信息以及谣言。

网络谣言检测过程分为语言预训练模型和分类模型两个部分。目前,国内外网络谣言检测研究[4]的语言预训练模型多采用Word2vec[5]训练的词向量,相比简单的One-hot向量化方式,解决了数据稀疏的问题,但是Word2vec模型的缺点在于无法解决文本一词多义的问题。Devlin等[6]提出一种新的语言表示模型BERT,在训练某个单词词向量的过程中,根据上下文单词的语义动态地调整该单词的词向量表示,调整后的词向量能更好地表达在具体语境下的含义,可以解决文本中多义词的问题,成为目前自然语言处理领域最优的语言预训练模型。另一方面,分类模型方法对网络谣言检测影响非常大,目前网络谣言检测研究的分类检测方法主要包括传统机器学习方法和深度学习方法。其中,传统机器学习方法有朴素贝叶斯[7](Naive Bayesian Model,NBM)、决策树[8]、支持向量机[9](Support Vector Machine,SVM)、随机森林[10]等。近年来,深度学习方法逐渐被用于自然语言处理领域,Kim[11]提出以CNN解决句子分类问题,首次将CNN应用到文本分类领域,实验表明其强大的特征学习和分类能力同样适用于谣言检测研究,但基础CNN模型的缺点在于单卷积层无法捕获远距离特征。Ma等[12]提出利用循环神经网络(RNN)检测微博中的谣言,对于捕获远距离特征非常有效,在一定程度上提高了谣言检测准确率,但由于RNN网络的序列依赖结构使得其很难具备高效的并行运算能力,运行时间长,不利于网络谣言的早期检测。Zhou等[13]提出一种基于C-LSTM的混合神经网络,结合CNN和RNN两大网络的优点,利用CNN提取短语的局部特征,利用LSTM提取句子的全局语义和时态语义,实验表明该模型在情感分类和问题分类上取得了很好的效果,但无法突出关键特征对输出信息的影响。以上算法都无法体现关键词在文本中的重要程度,而对于谣言检测任务,由于不同的词在文本中的重要程度不同,因此需要计算权重,以达到将注意力[14-15]集中在重要词上的目的。

基于上述研究存在的问题,本文提出一种基于BERT模型[16-17]的增强混合神经网络的谣言检测方法(BERT+CNN-3-BiLSTM-Attention,BC3BLA)。该方法不仅可以提取局部短语特征和全局上下文特征,还可以提取出文本关键词,减少无关信息对检测结果的不合理影响,实验表明融合多网络结构的模型可以有效提高谣言检测的准确率。同时,使用BERT模型预训练相比Word2vec模型的收敛时间短,有助于在网络谣言传播早期识别并抑制谣言传播。

1 网络谣言检测模型

本文提出的BC3BLA谣言检测方法在Twitter数据上进行实验,图1为BC3BLA模型结构。

图1 BC3BLA模型结构

该模型网络层次结构包含以下5部分:

(1) 输入层:使用BERT模型将推文映射为低维向量;

(2) CNN-3层:使用3种不同尺寸的卷积核对输入矩阵进行卷积池化操作,并将推文特征横向拼接成特征序列;

(3) BiLSTM层:将特征序列输入到BiLSTM层,利用双向LSTM从前后两个方向全面捕捉推文更深层次的语义特征;

(4) 注意力层:计算注意力分布概率,生成含有注意力概率分布的语义编码,优化特征向量;

(5) 输出层:将最终提取到的特征向量通过Softmax激活函数完成分类检测。

2 语言预训练模型

传统的语言预训练模型无法解决文本中多义词的问题。多义词在文本中经常出现,同一个词在不同的语境中的含义往往不同,如单词“bill”在一些语境中的含义是“账单”,在另一些语境中的含义是“钞票”。语义不同,词的向量表示应不同,Word2vec模型对一个词语只有一个向量表示,而BERT会根据语料中的上下文语境,动态调整词语对应的词向量表示。

本文采用BERT模型对推文进行预训练,图2为BERT模型的结构图。该模型包含以下两个阶段:1) 编码阶段,首先通过查询词典将推文中的每个词进行编码,转化成编码向量,由于文本中的词所在的位置不同表达的语义信息也有所差异,因此该模型针对不同位置的词分别附加一个不同的位置向量作为区分。2) 生成向量阶段,将以上编码向量和位置向量送入BERT模型进行训练学习,输出融合了全文语义信息后的向量表示,并将其送入下一层CNN-3神经网络进行训练。

图2 BERT模型结构

3 分类模型

3.1 CNN-3层

本文方法中CNN-3层使用了尺寸为3、4、5的卷积核和一个最大池化层进行特征提取。设置卷积核的宽度等于词向量的维度有助于更好地提取Twitter句子中单词的语义和语序信息。图3是CNN-3模型进行卷积、最大池化以及对生成的特征图列向量拼接的过程。

图3 CNN-3模型图

将每一条推文作为卷积层的一个输入矩阵,设ti∈Rh表示一条推文中第i个词的h维向量,长度为p的推文表示为:

t1:p=t1⊕t2⊕…⊕tp

(1)

式中:⊕表示串联操作,令ti:i+j表示词ti,ti+1,…,ti+j的串联。设卷积核的长度为l,卷积核的宽度等于输入矩阵的宽度,则向量f∈Rl×h表示卷积操作的卷积核。卷积核f对每条推文不同位置的单词窗口向量进行卷积操作,产生新的特征,例如某条推文中第i个单词ti到第i+l-1个单词ti-l+1的窗口向量所产生的特征mi的计算公式如下:

mi=f(w·ti:i+l-1+b)

(2)

式中:b∈R为偏置项;f为非线性函数,如双曲正切函数。此卷积核应用于推文{t1:l,t2:l+1,…,tp-l+1:p}中每个可能的单词窗口,生成一个特征映射:

m=[m1,m2,…,mp-l+1]

(3)

(4)

3.2 BiLSTM层

本文方法的BiLSTM层使用了双向长短期记忆网络捕获双向的语义特征。单向LSTM网络将信息通过隐层状态从前向后传播,无法编码从后向前的信息,但推文的上文影响力和下文同样重要,因此使用双向长短期记忆网络能更好地捕获双向的语义特征。图4是BiLSTM网络的模型图,其输入w0,w1,w2,…,wv是CNN-3层的输出特征向量,v为卷积核的个数。

图4 BiLSTM模型图

BiLSTM模型使用两个门来控制单元状态c的内容:遗忘门ft和输入门it。遗忘门决定了上一时刻的单元状态ct-1有多少保存到当前时刻ct:

ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)

(5)

输入门决定了当前时刻网络的输入xt有多少保存到单元状态ct:

it=σ(Wxixt+Whiht-1+Wcict-1+bi)

(6)

(7)

(8)

BiLSTM的输出门ot控制了长期记忆对当前输出的影响:

ot=σ(Wxoxt+Whoht-1+Wcoct+bo)

(9)

输出ht由输出门和单元状态共同决定:

ht=ot∘ tanh(ct)

(10)

BiLSTM在原有的正向LSTM网络层上增加一层反向的LSTM层,所以第i个单词向量的输出可以表示为:

(11)

式(5)-式(11)中:Wxf、Whf、Wcf、bf表示遗忘门ft相应的权重矩阵;Wxi、Whi、Wci、bi表示输入门it相应的权重矩阵;Wxo、Who、Wco、bo表示输出门ot相应的权重矩阵。

3.3 注意力层

本文引入注意力机制,解决了BiLSTM层的输出信息无法突出重要关键词的问题。单词在Twitter文本中所占的权重越大,该词受到的注意力值越大,说明该词在谣言检测任务中发挥的作用越大。注意力机制模型图如图5所示,其中输入的h0,h1,h2,…,hv是BiLSTM层的输出特征向量。

图5 注意力模型图

首先计算BiLSTM不同时刻隐层的输出h0,h1,h2,…,hv在整个文本中对应分配的注意力概率分布值α0,α1,α2,…,αv,该值越大,在Twitter文本中的注意力越大,然后用Softmax[18]进行归一化,最后得到的聚焦化的向量si是所有向量的加权和,计算式为:

ui=wTtanh(Whi+bh)

(12)

(13)

(14)

3.4 输出层

本文方法的最后部分是输出层,首先使用全连接网络,计算式如下:

yi=wzsi+bz

(15)

式中:wz为权重矩阵;bz为偏置项;si是经过注意力层得到的特征向量。然后使用Softmax激活函数输出分类的概率,计算公式为:

(16)

4 实 验

4.1 实验数据集

为了验证本文方法的有效性,实验采用Ma等[19]2017年公开的用于谣言检测研究的数据集Twitter15和Twitter16,它们均来自谣言揭穿网站(例如snopes.com,Emergent.info等)。两个数据集中每个事件的标签被分为四类:非谣言类(non-rumors,NR)、假谣言类(false rumors,FR)、真谣言类(true rumors,TR)和未经证实谣言类(unverified rumors,UR)。为了便于本文方法与文献[20]方法进行比较,本文采用与之相同的两个数据集和样本分类进行实验。表1为数据集Twitter15和Twitter16的统计信息。

表1 实验数据集统计表

续表1

4.2 实验设置

将本文方法与文献[20]方法进行比较:

1) 文献[20]方法:基于树结构递归神经网络的Twitter谣言检测,在Twitter15、Twitter16数据集上实现了自底向上的树结构递归神经网络(Bottom-up Recursive Neural Network,BU-RvNN)和自顶向下的树结构递归神经网络(Top-down Recursive Neural Network,TD-RvNN)等模型,并取得了良好的效果。

2) 本文方法:基于BERT模型的增强混合神经网络的谣言检测方法(BC3BLA),并提出以下3个方法用于对比:

(1) Word2vec+CNN-3-BiLSTM(WC3BL):使用Word2vec训练词向量,利用CNN-3层提取高级短语特征,利用双向LSTM捕捉两个维度的推文语义特征。

(2) Word2vec+CNN-3-BiLSTM-Attention(WC3BLA):在WC3BL的基础上,引入注意力机制,计算输出信息的注意力分值。

(3) BERT+CNN-3-BiLSTM(BC3BL):采用与WC3BL相同的分类模型,在语言预处理阶段采用BERT模型训练词向量。

BC3BLA方法对每一条推文进行预处理后,送入BERT模型训练,将单词转化为词向量。BERT的向量维度为768;Word2vec的维度设置为256;CNN-3层卷积核的窗口高度分别采用3、4、5,每个尺寸的卷积核数目设置为100个;BiLSTM层隐藏层大小为100;Dropout设置为0.3,学习率为0.001,优化函数采用Adam,训练轮数为50轮,损失函数采用多分类交叉熵。为了便于与文献[20]方法进行比较,本文同样对数据集进行五折交叉验证,对四个类别分别使用准确率和F1值作为评价指标,以评估模型性能。

4.3 实验结果分析

表2、表3为各方法实验结果对比。可以看出,本文提出的BC3BLA方法,在两个数据集上的表现均优于其他方法。

表2 Twitter15数据集上谣言检测结果

表3 Twitter16数据集上谣言检测结果

BC3BLA与文献[20]方法中表现最好的TD-RvNN相比,在Twitter15数据集上的准确率提高了5.2个百分点,类别NR、FR、TR和UR的F1值分别提高了1.5、0.3、5.7和13.9个百分点;在Twitter16上准确率提高了4.9个百分点,TR的F1值与TD-RvNN模型相同,NR、FR和UR的F1值分别提高了10.6个百分点、0.8个百分点和10.3个百分点。

BC3BLA与WC3BLA相比,在Twitter15、Twitter16两个数据集上准确率分别提高了6.1个百分点和5.4个百分点,NR、FR、TR和UR的F1值均有相应的提高。由实验结果分析可知,采用BERT进行预训练后,模型准确率得到了大幅度提升,证明使用BERT模型训练的词向量的表现优于Word2vec模型。这是因为在谣言检测任务中,无论词语在什么语境下具有什么含义,采用Word2vec模型训练后都只有一个静态的词向量表示,而BERT模型则会根据语料中上下文语境的不同,动态地改变词语对应的词向量。通过上述实验,发现在谣言检测任务中,BERT模型优于Word2vec模型。

BC3BLA与BC3BL相比,在数据集Twitter15上准确率提高了3.3个百分点,类别FR、TR和UR的F1值分别提高了12.9、1.9和2.5个百分点;在Twitter16上准确率提高了3.2个百分点,NR、FR和TR的F1值分别提高了3.5、9.5和1.6个百分点。实验结果分析可知,引入注意力机制后,四个类别的F1值均有较大提升。这是因为通过计算输出数据的注意力概率分布值,可以提取出对谣言检测任务影响更大的关键词,从而优化了特征提取过程。实验表明注意力机制消除了输入数据对输出数据的不合理影响,有效提高了谣言检测的准确率。

BC3BLA与WC3BL相比,在Twitter15、Twitter16两个数据集上准确率分别提高了7.7和6.1个百分点,Twitter15上UR的F1值提升了21.8个百分点。实验数据分析可知,使用BERT模型预训练并在分类模型中引入Attention机制后,实验效果大幅度提升,表明了BERT与Attention机制结合的优越性。

图6所示为本文和三种对比方法分别在两个数据集训练过程中的收敛情况。可以看出,在利用批量梯度下降法进行训练过程中,函数损失值逐渐下降,最终趋于稳定收敛状态,相较于其他三种方法收敛时间最短、收敛速度最快,本文提出的BC3BLA方法有利于谣言的早期检测。

(a) Twitter15

综上所述,本文提出的基于BERT模型的增强混合神经网络的谣言检测方法解决了文本多义词的向量表示问题,且综合考虑到推文的词语局部特征、全局上下文语义特征以及关键词对谣言检测结果的影响程度,模型结构更加全面,能高效准确地检测网络中的谣言。

5 结 语

本文提出了一种基于BERT模型的增强混合神经网络的谣言检测方法。该方法通过使用BERT模型训练词向量,结合CNN-3、BiLSTM和注意力机制对谣言进行识别检测,充分发挥各网络模型的优势。实验结果表明,使用BERT模型训练的词向量解决了自然语言处理领域多义词的识别问题,从而大幅度提高了谣言检测准确率;引入的注意力机制可以捕获输入数据对输出数据的影响力度,减少不合理影响以及特征提取过程中的信息丢失问题,丰富了关键词对文本的语义表达。目前网络谣言不仅限于文本信息,还包含大量音频、图片和视频等多媒体信息,如何将多媒体信息应用到谣言检测中是今后研究的重点。

猜你喜欢
谣言卷积向量
基于全卷积神经网络的猪背膘厚快速准确测定
向量的分解
中国使馆驳斥荒谬谣言
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
聚焦“向量与三角”创新题
不信谣言 科学防“疫”
你被养生谣言忽悠过吗?
谣言π=4!