梁兆君 但志平* 羅衍潮 李 奧
1(三峽大學計算機與信息學院 湖北 宜昌 443002)
2(三峽大學水電工程智能視覺監(jiān)測湖北省重點實驗室 湖北 宜昌 443002)
3(西北大學信息科學與技術學院 陜西 西安 710127)
互聯(lián)網時代網絡社交平臺發(fā)展迅速,網絡信息數(shù)量龐大、資源共享、傳播快,同時也滋生了大量虛假信息以及謠言。
網絡謠言檢測過程分為語言預訓練模型和分類模型兩個部分。目前,國內外網絡謠言檢測研究[4]的語言預訓練模型多采用Word2vec[5]訓練的詞向量,相比簡單的One-hot向量化方式,解決了數(shù)據(jù)稀疏的問題,但是Word2vec模型的缺點在于無法解決文本一詞多義的問題。Devlin等[6]提出一種新的語言表示模型BERT,在訓練某個單詞詞向量的過程中,根據(jù)上下文單詞的語義動態(tài)地調整該單詞的詞向量表示,調整后的詞向量能更好地表達在具體語境下的含義,可以解決文本中多義詞的問題,成為目前自然語言處理領域最優(yōu)的語言預訓練模型。另一方面,分類模型方法對網絡謠言檢測影響非常大,目前網絡謠言檢測研究的分類檢測方法主要包括傳統(tǒng)機器學習方法和深度學習方法。其中,傳統(tǒng)機器學習方法有樸素貝葉斯[7](Naive Bayesian Model,NBM)、決策樹[8]、支持向量機[9](Support Vector Machine,SVM)、隨機森林[10]等。近年來,深度學習方法逐漸被用于自然語言處理領域,Kim[11]提出以CNN解決句子分類問題,首次將CNN應用到文本分類領域,實驗表明其強大的特征學習和分類能力同樣適用于謠言檢測研究,但基礎CNN模型的缺點在于單卷積層無法捕獲遠距離特征。Ma等[12]提出利用循環(huán)神經網絡(RNN)檢測微博中的謠言,對于捕獲遠距離特征非常有效,在一定程度上提高了謠言檢測準確率,但由于RNN網絡的序列依賴結構使得其很難具備高效的并行運算能力,運行時間長,不利于網絡謠言的早期檢測。Zhou等[13]提出一種基于C-LSTM的混合神經網絡,結合CNN和RNN兩大網絡的優(yōu)點,利用CNN提取短語的局部特征,利用LSTM提取句子的全局語義和時態(tài)語義,實驗表明該模型在情感分類和問題分類上取得了很好的效果,但無法突出關鍵特征對輸出信息的影響。以上算法都無法體現(xiàn)關鍵詞在文本中的重要程度,而對于謠言檢測任務,由于不同的詞在文本中的重要程度不同,因此需要計算權重,以達到將注意力[14-15]集中在重要詞上的目的。
基于上述研究存在的問題,本文提出一種基于BERT模型[16-17]的增強混合神經網絡的謠言檢測方法(BERT+CNN-3-BiLSTM-Attention,BC3BLA)。該方法不僅可以提取局部短語特征和全局上下文特征,還可以提取出文本關鍵詞,減少無關信息對檢測結果的不合理影響,實驗表明融合多網絡結構的模型可以有效提高謠言檢測的準確率。同時,使用BERT模型預訓練相比Word2vec模型的收斂時間短,有助于在網絡謠言傳播早期識別并抑制謠言傳播。
本文提出的BC3BLA謠言檢測方法在Twitter數(shù)據(jù)上進行實驗,圖1為BC3BLA模型結構。
圖1 BC3BLA模型結構
該模型網絡層次結構包含以下5部分:
(1) 輸入層:使用BERT模型將推文映射為低維向量;
(2) CNN-3層:使用3種不同尺寸的卷積核對輸入矩陣進行卷積池化操作,并將推文特征橫向拼接成特征序列;
(3) BiLSTM層:將特征序列輸入到BiLSTM層,利用雙向LSTM從前后兩個方向全面捕捉推文更深層次的語義特征;
(4) 注意力層:計算注意力分布概率,生成含有注意力概率分布的語義編碼,優(yōu)化特征向量;
(5) 輸出層:將最終提取到的特征向量通過Softmax激活函數(shù)完成分類檢測。
傳統(tǒng)的語言預訓練模型無法解決文本中多義詞的問題。多義詞在文本中經常出現(xiàn),同一個詞在不同的語境中的含義往往不同,如單詞“bill”在一些語境中的含義是“賬單”,在另一些語境中的含義是“鈔票”。語義不同,詞的向量表示應不同,Word2vec模型對一個詞語只有一個向量表示,而BERT會根據(jù)語料中的上下文語境,動態(tài)調整詞語對應的詞向量表示。
本文采用BERT模型對推文進行預訓練,圖2為BERT模型的結構圖。該模型包含以下兩個階段:1) 編碼階段,首先通過查詢詞典將推文中的每個詞進行編碼,轉化成編碼向量,由于文本中的詞所在的位置不同表達的語義信息也有所差異,因此該模型針對不同位置的詞分別附加一個不同的位置向量作為區(qū)分。2) 生成向量階段,將以上編碼向量和位置向量送入BERT模型進行訓練學習,輸出融合了全文語義信息后的向量表示,并將其送入下一層CNN-3神經網絡進行訓練。
圖2 BERT模型結構
本文方法中CNN-3層使用了尺寸為3、4、5的卷積核和一個最大池化層進行特征提取。設置卷積核的寬度等于詞向量的維度有助于更好地提取Twitter句子中單詞的語義和語序信息。圖3是CNN-3模型進行卷積、最大池化以及對生成的特征圖列向量拼接的過程。
圖3 CNN-3模型圖
將每一條推文作為卷積層的一個輸入矩陣,設ti∈Rh表示一條推文中第i個詞的h維向量,長度為p的推文表示為:
t1:p=t1⊕t2⊕…⊕tp
(1)
式中:⊕表示串聯(lián)操作,令ti:i+j表示詞ti,ti+1,…,ti+j的串聯(lián)。設卷積核的長度為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為非線性函數(shù),如雙曲正切函數(shù)。此卷積核應用于推文{t1:l,t2:l+1,…,tp-l+1:p}中每個可能的單詞窗口,生成一個特征映射:
m=[m1,m2,…,mp-l+1]
(3)
(4)
本文方法的BiLSTM層使用了雙向長短期記憶網絡捕獲雙向的語義特征。單向LSTM網絡將信息通過隱層狀態(tài)從前向后傳播,無法編碼從后向前的信息,但推文的上文影響力和下文同樣重要,因此使用雙向長短期記憶網絡能更好地捕獲雙向的語義特征。圖4是BiLSTM網絡的模型圖,其輸入w0,w1,w2,…,wv是CNN-3層的輸出特征向量,v為卷積核的個數(shù)。
圖4 BiLSTM模型圖
BiLSTM模型使用兩個門來控制單元狀態(tài)c的內容:遺忘門ft和輸入門it。遺忘門決定了上一時刻的單元狀態(tài)ct-1有多少保存到當前時刻ct:
ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)
(5)
輸入門決定了當前時刻網絡的輸入xt有多少保存到單元狀態(tài)ct:
it=σ(Wxixt+Whiht-1+Wcict-1+bi)
(6)
(7)
(8)
BiLSTM的輸出門ot控制了長期記憶對當前輸出的影響:
ot=σ(Wxoxt+Whoht-1+Wcoct+bo)
(9)
輸出ht由輸出門和單元狀態(tài)共同決定:
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相應的權重矩陣。
本文引入注意力機制,解決了BiLSTM層的輸出信息無法突出重要關鍵詞的問題。單詞在Twitter文本中所占的權重越大,該詞受到的注意力值越大,說明該詞在謠言檢測任務中發(fā)揮的作用越大。注意力機制模型圖如圖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)
本文方法的最后部分是輸出層,首先使用全連接網絡,計算式如下:
yi=wzsi+bz
(15)
式中:wz為權重矩陣;bz為偏置項;si是經過注意力層得到的特征向量。然后使用Softmax激活函數(shù)輸出分類的概率,計算公式為:
(16)
為了驗證本文方法的有效性,實驗采用Ma等[19]2017年公開的用于謠言檢測研究的數(shù)據(jù)集Twitter15和Twitter16,它們均來自謠言揭穿網站(例如snopes.com,Emergent.info等)。兩個數(shù)據(jù)集中每個事件的標簽被分為四類:非謠言類(non-rumors,NR)、假謠言類(false rumors,F(xiàn)R)、真謠言類(true rumors,TR)和未經證實謠言類(unverified rumors,UR)。為了便于本文方法與文獻[20]方法進行比較,本文采用與之相同的兩個數(shù)據(jù)集和樣本分類進行實驗。表1為數(shù)據(jù)集Twitter15和Twitter16的統(tǒng)計信息。
表1 實驗數(shù)據(jù)集統(tǒng)計表
續(xù)表1
將本文方法與文獻[20]方法進行比較:
1) 文獻[20]方法:基于樹結構遞歸神經網絡的Twitter謠言檢測,在Twitter15、Twitter16數(shù)據(jù)集上實現(xiàn)了自底向上的樹結構遞歸神經網絡(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,每個尺寸的卷積核數(shù)目設置為100個;BiLSTM層隱藏層大小為100;Dropout設置為0.3,學習率為0.001,優(yōu)化函數(shù)采用Adam,訓練輪數(shù)為50輪,損失函數(shù)采用多分類交叉熵。為了便于與文獻[20]方法進行比較,本文同樣對數(shù)據(jù)集進行五折交叉驗證,對四個類別分別使用準確率和F1值作為評價指標,以評估模型性能。
表2、表3為各方法實驗結果對比。可以看出,本文提出的BC3BLA方法,在兩個數(shù)據(jù)集上的表現(xiàn)均優(yōu)于其他方法。
表2 Twitter15數(shù)據(jù)集上謠言檢測結果
表3 Twitter16數(shù)據(jù)集上謠言檢測結果
BC3BLA與文獻[20]方法中表現(xiàn)最好的TD-RvNN相比,在Twitter15數(shù)據(jù)集上的準確率提高了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兩個數(shù)據(jù)集上準確率分別提高了6.1個百分點和5.4個百分點,NR、FR、TR和UR的F1值均有相應的提高。由實驗結果分析可知,采用BERT進行預訓練后,模型準確率得到了大幅度提升,證明使用BERT模型訓練的詞向量的表現(xiàn)優(yōu)于Word2vec模型。這是因為在謠言檢測任務中,無論詞語在什么語境下具有什么含義,采用Word2vec模型訓練后都只有一個靜態(tài)的詞向量表示,而BERT模型則會根據(jù)語料中上下文語境的不同,動態(tài)地改變詞語對應的詞向量。通過上述實驗,發(fā)現(xiàn)在謠言檢測任務中,BERT模型優(yōu)于Word2vec模型。
BC3BLA與BC3BL相比,在數(shù)據(jù)集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值均有較大提升。這是因為通過計算輸出數(shù)據(jù)的注意力概率分布值,可以提取出對謠言檢測任務影響更大的關鍵詞,從而優(yōu)化了特征提取過程。實驗表明注意力機制消除了輸入數(shù)據(jù)對輸出數(shù)據(jù)的不合理影響,有效提高了謠言檢測的準確率。
BC3BLA與WC3BL相比,在Twitter15、Twitter16兩個數(shù)據(jù)集上準確率分別提高了7.7和6.1個百分點,Twitter15上UR的F1值提升了21.8個百分點。實驗數(shù)據(jù)分析可知,使用BERT模型預訓練并在分類模型中引入Attention機制后,實驗效果大幅度提升,表明了BERT與Attention機制結合的優(yōu)越性。
圖6所示為本文和三種對比方法分別在兩個數(shù)據(jù)集訓練過程中的收斂情況。可以看出,在利用批量梯度下降法進行訓練過程中,函數(shù)損失值逐漸下降,最終趨于穩(wěn)定收斂狀態(tài),相較于其他三種方法收斂時間最短、收斂速度最快,本文提出的BC3BLA方法有利于謠言的早期檢測。
(a) Twitter15
綜上所述,本文提出的基于BERT模型的增強混合神經網絡的謠言檢測方法解決了文本多義詞的向量表示問題,且綜合考慮到推文的詞語局部特征、全局上下文語義特征以及關鍵詞對謠言檢測結果的影響程度,模型結構更加全面,能高效準確地檢測網絡中的謠言。
本文提出了一種基于BERT模型的增強混合神經網絡的謠言檢測方法。該方法通過使用BERT模型訓練詞向量,結合CNN-3、BiLSTM和注意力機制對謠言進行識別檢測,充分發(fā)揮各網絡模型的優(yōu)勢。實驗結果表明,使用BERT模型訓練的詞向量解決了自然語言處理領域多義詞的識別問題,從而大幅度提高了謠言檢測準確率;引入的注意力機制可以捕獲輸入數(shù)據(jù)對輸出數(shù)據(jù)的影響力度,減少不合理影響以及特征提取過程中的信息丟失問題,豐富了關鍵詞對文本的語義表達。目前網絡謠言不僅限于文本信息,還包含大量音頻、圖片和視頻等多媒體信息,如何將多媒體信息應用到謠言檢測中是今后研究的重點。