薛海濤,王 莉*,楊延杰,廉 飚
(1.太原理工大學(xué)大數(shù)據(jù)學(xué)院,太原 030600;2.北方自動控制技術(shù)研究所,太原 030006)
(?通信作者電子郵箱wangli@tyut.edu.cn)
社交媒體的即時性和便利性使得用戶可以便捷獲取信息并交流觀點,但也為謠言傳播提供了便利平臺。謠言傳播誤導(dǎo)公眾輿論,破壞社會安定,謠言檢測與監(jiān)管已經(jīng)成為一個迫切需要解決的社會問題。
謠言檢測的早期研究中,研究者一般通過手工構(gòu)造消息文本的特征,利用決策樹、隨機森林、支持向量機(Support Vector Machine,SVM)等機器學(xué)習(xí)的方法進行分類[1-2],以判別真假。這類工作依賴于特征工程,無法適應(yīng)社會媒體豐富多變的內(nèi)容表現(xiàn)以及不斷演化的特點,而且社交媒體上的消息篇幅普遍較短,其包含的語義特征有限,一定程度限制了算法模型性能。后來一些研究工作利用消息傳播過程[3-4]進行謠言檢測,性能有所提升,但由于消息轉(zhuǎn)發(fā)中存在大量空轉(zhuǎn)發(fā),這類基于轉(zhuǎn)發(fā)結(jié)構(gòu)及內(nèi)容的模型在實際場景中有很大的局限性。還有一些工作將用戶屬性引入,以用戶的權(quán)威度、可信度等作為判別所發(fā)布消息真?zhèn)蔚淖C據(jù),但是由于當(dāng)前謠言更具迷惑性,一些權(quán)威用戶有時也會被蒙蔽而轉(zhuǎn)發(fā)謠言,所以,僅依靠用戶權(quán)威度評價是不夠的。
實際應(yīng)用中我們發(fā)現(xiàn),雖然消息轉(zhuǎn)發(fā)中用戶有時會空轉(zhuǎn)發(fā),但是傳播鏈中用戶的參與信息在一定程度上表達了對于所轉(zhuǎn)發(fā)消息的認(rèn)同,同時,用戶的粉絲數(shù)、發(fā)表推文數(shù)及關(guān)注數(shù)等屬性信息在一定程度上反映了用戶的權(quán)威度,因此,傳播鏈中的用戶屬性信息可以幫助判別謠言。同時,消息內(nèi)容對于檢測謠言也非常重要。鑒于以上觀察分析,本文提出了一種融合傳播鏈中的用戶屬性和消息內(nèi)容的謠言檢測模型GMB_GMU。
受上述工作啟發(fā),本文使用用戶屬性、傳播結(jié)構(gòu)和消息內(nèi)容進行謠言檢測。首先,構(gòu)建轉(zhuǎn)發(fā)圖,節(jié)點特征為用戶屬性,邊表示轉(zhuǎn)發(fā)關(guān)系。結(jié)合轉(zhuǎn)發(fā)圖,利用圖注意力網(wǎng)絡(luò)(Graph Attention neTwork,GAT)獲取增強的用戶屬性表征。在另一部分,使用node2vec算法獲取轉(zhuǎn)發(fā)圖用戶的結(jié)構(gòu)表征,而不依賴于節(jié)點屬性,借助互注意機制以得到增強的結(jié)構(gòu)表征。最后一部分使用源帖文本的BERT(Bidirectional Encoder Representations from Transformers)向量,取得增強的源帖內(nèi)容表征。將這三種角度的表征輸入到多模態(tài)門控單元(Gated Multimodal Unit,GMU)進行選擇與融合,得到信息的最終表征。在公共數(shù)據(jù)集上進行實驗,結(jié)果驗證了本文模型的判別精度和泛化能力,并檢測了模型在謠言早期檢測任務(wù)上的表現(xiàn)性能。本文主要工作如下:
1)融合傳播鏈中的用戶屬性信息和消息內(nèi)容進行謠言檢測,避免了信息傳播結(jié)構(gòu)計算中空轉(zhuǎn)發(fā)帶來的信息缺失問題。
2)引入GAT 生成用戶屬性表征,采用node2vec 得到結(jié)構(gòu)表征,采用互注意機制建立用戶結(jié)構(gòu)增強表征;同時基于BERT 建立源帖內(nèi)容表征,最終將用戶屬性表征、結(jié)構(gòu)表征和源帖內(nèi)容表征表征三者融合得到消息的最終表征,以支持謠言檢測。
3)在公共數(shù)據(jù)集上進行實驗,驗證了模型的性能,并通過早期檢測任務(wù),驗證了模型的有效性。
目前的研究主要可分為基于內(nèi)容語義和基于傳播結(jié)構(gòu)的謠言檢測方法。
隨著深度學(xué)習(xí)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)以及長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)等被應(yīng)用到自然語言處理任務(wù)中進行文本表征學(xué)習(xí)[5],以挖掘文本語義。段大高等[6]提出了一種融合用戶屬性和帖子內(nèi)容特征的BP 神經(jīng)網(wǎng)絡(luò)模型,通過Word2Vec 算法進行表征計算,然后輸入到神經(jīng)網(wǎng)絡(luò)模型中提取文本特征。劉政等[7]提出了基于CNN 的謠言檢測算法,使用句向量結(jié)合多層卷積網(wǎng)絡(luò),能有效地捕捉到特定范圍的上下文語義信息。Mikolov 等[8]將雙向RNN 應(yīng)用到文本特征提取中,獲取到了前后語義之間的聯(lián)系。對于其他神經(jīng)網(wǎng)絡(luò)方法,雖然可以準(zhǔn)確地把握整體信息,但對于較長的文本,仍然存在上下文信息丟失的情況。
為了最大限度地捕捉到上下文信息,F(xiàn)ang 等[9]將注意力算法引入到謠言檢測工作中,取得了較好的檢測結(jié)果。Vaibhav 等[10]提出了一種基于圖神經(jīng)網(wǎng)絡(luò)的虛假新聞檢測模型,該模型對新聞中所有句子對之間的語義關(guān)系進行建模,從而進行謠言檢測。Wang 等[11]依賴文本內(nèi)容,提出了SemSeq4FD 模型來檢測虛假信息,該模型同時考慮了新聞中句子之間的全局語義關(guān)系和局部上下文順序特征。上述所有基于內(nèi)容語義的方法最大的局限性在于這些算法更適用于長文本處理,模型表現(xiàn)優(yōu)良的前提在于提供大量長文本進行訓(xùn)練,但是,社交媒體上的帖子大多都是短文本,難免造成數(shù)據(jù)稀疏問題,從而影響了該類方法的檢測性能。
由于謠言涉及的領(lǐng)域繁雜,普遍存在學(xué)科交叉的現(xiàn)象,使得研究謠言傳播成為一個復(fù)雜的問題。在相關(guān)工作中,不僅涉及傳播的覆蓋范圍,還涉及傳播的速度。其中較常用的是傳染病模型和其變體模型,如SIS 模型和SIR 模型,每個傳播結(jié)構(gòu)中的用戶可被分為“感染者(S)”“被感染者(I)”以及“停止感染者(R)”狀態(tài),由一傳多到多傳多,可以描述謠言的傳播模式。但由于信息傳播的時間等特點,傳染病相比信息傳播在衰退效應(yīng)、信息內(nèi)容和聯(lián)系強度等方面都有明顯的區(qū)別,不適用于謠言傳播。
當(dāng)前,研究者傾向于關(guān)注傳播網(wǎng)絡(luò)本身的拓?fù)浣Y(jié)構(gòu),從而揭示其傳播特征和規(guī)律。Ma 等[4]提出了通過評估不同類型的傳播樹結(jié)構(gòu)的相似性來捕獲新聞事件的高階表征。Liu等[12]提取了信息傳播過程中傳播樹的寬度與深度等特征。Shu 等[13]利用社交媒體上的新聞分層傳播網(wǎng)絡(luò)進行了假新聞檢測,從宏觀和微觀兩個層面建立了一個層次化的傳播網(wǎng)絡(luò),并比較分析了傳播網(wǎng)絡(luò)的結(jié)構(gòu)特征和時間特征。Bian等[14]提出了一種使用雙向GCN 進行謠言檢測的方法,該方法結(jié)合了謠言的序列傳播和橫向擴散,捕捉到了傳播結(jié)構(gòu)的全局特征,獲得了較好的檢測結(jié)果?,F(xiàn)有的基于傳播的方法使用消息傳播結(jié)構(gòu)信息,但是消息傳播中存在大量空轉(zhuǎn)發(fā),導(dǎo)致消息中存在較多噪聲,影響模型性能。在另一方面,這些方法沒有充分使用源帖信息,在檢測性能方面受到了很大限制。
給定新聞C,其中包含m個參與新聞傳播的用戶,如圖1所示,該新聞的用戶集合為U={u1,u2,u3,…,um},其中u1為發(fā)布原始文本的用戶,u2,u3,…,um為參與轉(zhuǎn)發(fā)的用戶,包含一階轉(zhuǎn)發(fā)用戶、二階轉(zhuǎn)發(fā)用戶和更高階的轉(zhuǎn)發(fā)用戶,目標(biāo)為訓(xùn)練一個網(wǎng)絡(luò)f:(C,U) →y,將新聞C分類為謠言或非謠言。其中,標(biāo)簽值y∈{0,1},0 表示非謠言,1 表示謠言。信息傳播一般表現(xiàn)為樹型轉(zhuǎn)發(fā)擴散的模式。
圖1 信息傳播模式示意圖Fig.1 Schematic diagram of information propagation mode
本文提出的謠言檢測模型GMB_GMU 如圖2 所示,由四個部分組成:用戶信息編碼器、結(jié)構(gòu)信息編碼器、源文本編碼器和融合分類器,圖中FC為全連接神經(jīng)網(wǎng)絡(luò)層。
圖2 GMB_GMU模型Fig.2 GMB_GMU model
在實際場景下,用戶很多時候僅僅轉(zhuǎn)發(fā)原始內(nèi)容,而不發(fā)表意見,轉(zhuǎn)發(fā)內(nèi)容不適合作為節(jié)點的屬性特征。引入用戶屬性作為節(jié)點特征,可以在一定程度上彌補轉(zhuǎn)發(fā)結(jié)構(gòu)上信息的缺失。
首先構(gòu)建新聞C的有向轉(zhuǎn)發(fā)圖G=(V,E),其中V={u1,u2,u3,…,um}表示新聞傳播中的全部用戶,E={e1,e2,e3,…,eo}表示用戶之間的轉(zhuǎn)發(fā)關(guān)系,定義H∈Rm×t為節(jié)點集V的特征矩陣,用戶節(jié)點ui的特征向量為hi∈Rt,t為屬性個數(shù),包含用戶的粉絲數(shù)、發(fā)表推文數(shù)量和關(guān)注數(shù)等屬性信息。定義A∈Rm×m為鄰接矩陣,若用戶j轉(zhuǎn)發(fā)了用戶i的推文,鄰接矩陣A中元素aij=1;若無轉(zhuǎn)發(fā)關(guān)系,則aij=0。
由于用戶各項屬性量綱和變化范圍不同,所以往往對特征矩陣進行歸一化,使得模型可以快速收斂。具體的,通過以下公式得到H歸一化后的特征矩陣Hs:
為了保留一定程度的原始信息,將Hs與Hs'對應(yīng)元素相加,得到用戶信息矩陣Hadd。
將Hadd鋪平,得到用戶信息的最終表征Vadd∈Rm×t,整個用戶信息編碼器如圖3所示。
圖3 用戶信息編碼器Fig.3 User information encoder
使用node2vec[16]算法可在不受節(jié)點屬性干擾的情況下獲取轉(zhuǎn)發(fā)圖結(jié)構(gòu)信息,將node2vec 得到的節(jié)點表征作為互注意機制的輸入,以增強結(jié)構(gòu)表征。
首先,使用node2vev算法得到轉(zhuǎn)發(fā)圖中各個節(jié)點的表征,其目標(biāo)函數(shù)為:
轉(zhuǎn)發(fā)圖中ui的node2vec表征為pi∈Rd,然后,計算用戶之間的相互注意分?jǐn)?shù),類似于文獻[17]中的方法,如圖4 所示,使用全連接網(wǎng)絡(luò)得到兩兩用戶表征之間的注意力分?jǐn)?shù):
圖4 結(jié)構(gòu)信息編碼器Fig.4 Structural information encoder
其中:權(quán)重矩陣Wcat∈R2d;偏置項bcat∈R;||為拼接操作,依次計算用戶之間的注意力分?jǐn)?shù),得到相互注意分?jǐn)?shù)矩陣MA∈Rm×m,m為轉(zhuǎn)發(fā)網(wǎng)絡(luò)中的節(jié)點數(shù)。
使用softmax 函數(shù)和行最大池化對互注意分?jǐn)?shù)矩陣進行運算,得到節(jié)點的互注意分?jǐn)?shù)向量:
源文本包含豐富的信息,有助于增強模型表現(xiàn)。為了最大限度提取文本上下文信息,引入BERT[18]算法獲取源文本表征,該算法通過雙向Transformer編碼器[19]生成的字向量,可以完全融合字詞左右上下文信息,與CNN或RNN相比,BERT可以更加充分地表征詞語的多重含義,由圖5所示,BERT生成的詞向量由字符向量、句向量和位置向量組成。輸入為新聞C,輸出源文本表征Xoutput∈Rr,代表源文本的全部語義信息。
圖5 BERT模型的輸入表征Fig.5 Input representation of BERT model
以上三部分計算得到的三個表征分別表示傳播模式中的用戶屬性、結(jié)構(gòu)信息和源帖內(nèi)容信息,要對這三個表征進行融合,使得最終表征可以最大限度地捕捉到謠言傳播的多方面特征。此處通過多模態(tài)門控單元[20]對上述三個表征進行融合,在不同來源數(shù)據(jù)組合基礎(chǔ)上找到最優(yōu)表示。
由于用戶屬性表征Vadd∈Rm×t,結(jié)構(gòu)表征以及源帖內(nèi)容表征Xoutput∈Rr的維度不同,首先定義對應(yīng)權(quán)重矩陣,將三個不同維度的表征投影到目標(biāo)維度g,其過程為:
h1,h2和h3的維度都為g,將三個表征拼接起來:
則h∈R3g為模型的最終表征,將該向量輸入到全連接網(wǎng)絡(luò)(FC)和分類函數(shù)中,得到最終分類結(jié)果。
在本文中,模型訓(xùn)練目標(biāo)為最小化交叉熵?fù)p失函數(shù)。
其中:L為損失函數(shù),NS為新聞集合,yC為新聞C的真實標(biāo)簽,為新聞C的預(yù)測標(biāo)簽。
為了評估本文模型在真實社交場景下的檢測性能,在真實世界的數(shù)據(jù)集進行對比實驗。
Weibo 數(shù)據(jù)集[21]來源于新浪微博。在該數(shù)據(jù)集中,由帖子、轉(zhuǎn)發(fā)和用戶構(gòu)成,有兩個標(biāo)簽:{謠言,非謠言},具體介紹如表1所示。
表1 實驗數(shù)據(jù)集統(tǒng)計Tab.1 Experimental dataset statistics
在實驗中,使用5 折交叉驗證。其中node2vec 訓(xùn)練的節(jié)點表征維數(shù)d=256,BERT訓(xùn)練的文本信息表征維數(shù)r=768,將三種信息表征投影到目標(biāo)維度g=256。
為了減少模型的運算量,截取了前200 名傳播用戶,以此構(gòu)建轉(zhuǎn)發(fā)圖。若傳播網(wǎng)絡(luò)中用戶數(shù)不足200,則根據(jù)實際狀況構(gòu)建轉(zhuǎn)發(fā)圖,用戶信息最終表征Vadd維數(shù)固定為1 800,若不足,則填充0值。在實驗中,epoch設(shè)置為60,batch size 設(shè)置為128,學(xué)習(xí)率為0.000 1。
在用戶信息編碼器部分,使用用戶常見的9 個特征作為轉(zhuǎn)發(fā)圖節(jié)點的特征,t=9,如表2所示。
表2 節(jié)點特征Tab.2 Node features
在用戶信息編碼器部分,所提出方法具備用戶排序不變性,即用戶信息編碼器的輸出與用戶排列順序無關(guān)。圖注意力網(wǎng)絡(luò)GAT 作為圖神經(jīng)網(wǎng)絡(luò)算法,節(jié)點表征更新依賴鄰接矩陣,滿足平移不變性,與節(jié)點的順序無關(guān)。將用戶信息矩陣Hadd鋪平后得到Vadd,目的是能夠進入全連接層,填充0 值的作用是補齊向量,使得進入全連接層時規(guī)格統(tǒng)一。即使鋪平順序發(fā)生變化,全連接層可以靈活地更新權(quán)重矩陣,用戶鋪平順序?qū)ψ罱K結(jié)果不會造成影響。綜上所述,將Hadd平鋪不會對用戶排序不變性造成影響。
為了驗證本文模型的優(yōu)越性,與以下6個模型進行比較:
1)DTC(Decision-Tree Classifier)[1]:該模型使用文本的手工特征和其他統(tǒng)計特征,利用決策樹模型來得到檢測結(jié)果。
2)SVM-RBF(SVM classifier with RBF kernel function)[22]:該模型使用基于徑向基核函數(shù)(Radial Basis Function,RBF)的SVM模型得到新聞的預(yù)測標(biāo)簽。
3)TD-RvNN(Tree-structured Recursive Neural Network)[4]:該模型使用遞歸神經(jīng)網(wǎng)絡(luò)處理樹結(jié)構(gòu)的新聞傳播路徑得到分類結(jié)果。
4)PPC-RNN+CNN(Propagation Path Classification with RNN and CNN)[3]:模型提出了新聞傳播的多元時間序列,使用GRU和CNN的結(jié)合模型進行分類。
5)HiMap-HO+Text(Higher-order user to user Mutual-Attention Progression method)[17]:作者使用LSTM 計算轉(zhuǎn)發(fā)鏈的節(jié)點表征,并結(jié)合用戶的互注意表征得到新聞的檢測結(jié)果。
6)BiGCN(Bi-directional GCN)[14]:利用信息傳播時的雙向傳播結(jié)構(gòu)使用圖卷積網(wǎng)絡(luò)進行謠言檢測的模型。
實驗結(jié)果如表3 所示,顯示了本文模型和比較模型在Weibo 數(shù)據(jù)集上的表現(xiàn)。首先,深度學(xué)習(xí)算法的表現(xiàn)遠(yuǎn)超機器學(xué)習(xí)算法,表明深度學(xué)習(xí)算法學(xué)習(xí)到的表征優(yōu)于人工選擇的謠言特征;其次,GMB_GMU 模型在各性能指標(biāo)上明顯優(yōu)于TD-RvNN 方法,因為TD-RvNN 節(jié)點特征為轉(zhuǎn)發(fā)文本,但真實場景下存在很多空轉(zhuǎn)發(fā),而本文模型選擇使用用戶屬性作為節(jié)點特征,彌補了轉(zhuǎn)發(fā)結(jié)構(gòu)上信息的缺失。最后,GMB_GMU模型優(yōu)于HiMap-HO+Text,在HiMap-HO+Text 中,使用轉(zhuǎn)發(fā)鏈計算節(jié)點二到四階的相互注意力,數(shù)據(jù)收集和處理有極大的難度,而本文模型僅使用轉(zhuǎn)發(fā)圖中的一階用戶相互注意力表征,實驗表現(xiàn)遠(yuǎn)超HiMap-HO+Text。
表3 Weibo數(shù)據(jù)集上的實驗結(jié)果Tab.3 Experimental results on Weibo dataset
為了在謠言傳播的早期檢測到謠言,及時遏制其傳播,分別測試了模型在5 min、10 min 等時間點的謠言檢測表現(xiàn),其實驗結(jié)果如圖6所示。
圖6 早期檢測實驗結(jié)果Fig.6 Experimental results of early detection
在源帖發(fā)布的5 min 內(nèi),GMB_GMU 模型的準(zhǔn)確率超過0.9,表現(xiàn)優(yōu)于其他比較模型,表明僅存在較少用戶信息時,GMB_GMU 仍能保持較為準(zhǔn)確的早期檢測能力。當(dāng)傳播時間增大,轉(zhuǎn)發(fā)結(jié)構(gòu)逐漸復(fù)雜,信息噪聲增多時,不同于BiGCN 等比較模型,GMB_GMU 模型性能呈穩(wěn)定上升趨勢,體現(xiàn)了模型處理復(fù)雜數(shù)據(jù)的能力,具有較好的穩(wěn)定性和魯棒性。
為了驗證模型中各部分的作用,將模型可拆分為以下子模型:1)用戶屬性GAT;2)源帖BERT 網(wǎng)絡(luò);3)GMB 網(wǎng)絡(luò),即基于用戶屬性GAT-互注意機制-BERT 的簡單融合網(wǎng)絡(luò);4)互注意機制。實驗結(jié)果如圖7所示。
圖7 GMB_GMU的消融實驗結(jié)果Fig.7 Ablation experimental results of GMB_GMU
用戶屬性GAT 可以取得0.865 的準(zhǔn)確率,結(jié)果遠(yuǎn)低于GMB_GMU,表明僅使用用戶屬性,不考慮內(nèi)容語義信息,會嚴(yán)重影響謠言檢測效果。使用源帖BERT 網(wǎng)絡(luò)取得了0.914的準(zhǔn)確率,結(jié)果仍低于GMB_GMU,僅僅依靠源帖語義信息來檢測謠言存在一定的問題。最后,基于用戶屬性GAT-互注意機制-BERT的簡單融合網(wǎng)絡(luò)將GMU替換為簡單拼接方式,達到0.937 的準(zhǔn)確率,說明門控多模態(tài)單元可以對多個模態(tài)信息進行選擇組合,更好地表征聯(lián)合信息。
本文提出了一種基于用戶傳播網(wǎng)絡(luò)與消息內(nèi)容融合的謠言檢測模型GMB_GMU,引入GAT 增強用戶屬性表征。在轉(zhuǎn)發(fā)圖的基礎(chǔ)上計算節(jié)點的node2vec 表征,并通過互注意機制增強結(jié)構(gòu)信息;另外,引入源帖文本的BERT 向量,增強源帖信息。最后,使用GMU 門控網(wǎng)絡(luò)將三種角度的謠言表征恰當(dāng)?shù)亟Y(jié)合起來,提取到消息的最終表征,在公共數(shù)據(jù)集上取得了優(yōu)異的實驗結(jié)果,并通過早期檢測和消融實驗說明了模型在謠言早期傳播的有效性和每個部分的重要程度。在謠言的傳播過程中,一些有影響力的用戶會導(dǎo)致謠言擴散呈指數(shù)級增長,加重了謠言負(fù)面影響。在未來工作中,通過發(fā)現(xiàn)這些有影響力的用戶,進而提升謠言檢測模型的性能。