段大高,白宸宇,韓忠明,熊海濤
(1.北京工商大學 國際經管學院,北京 100048;2.北京工商大學 食品安全大數據技術北京重點實驗室,北京 100048)
在現實世界中,社交網絡已經與人們日常工作和生活密不可分,人們不僅通過網絡獲取各種信息,同時也參與到信息內容的創作中。社交網絡中的信息傳播具有速度快、范圍廣、即時性強等特點。然而,由于在發布信息時缺乏有效監管手段,導致社交網絡平臺成為謠言傳播的溫床[1]。網絡謠言不僅會影響人們的日常生活,而且會帶來嚴重的社會問題。例如,2016 年美國大選期間,有益的謠言信息傾向于支持唐納德·特朗普而非希拉里·克林頓,直接影響選舉結果[2]。因此,研究自動高效的謠言檢測方法意義重大,尤其是在信息傳播早期階段。
傳統檢測方法主要利用文本內容、用戶特征通過手工提取特征,然后再利用分類器分類,如決策樹[3]、隨機森林[4]、支持向量機[5]。隨著近年來深度學習的發展,越來越多的研究采用深度學習方法。除上述內容特征外,謠言的傳播還存在結構特性,傳播圖中的節點會因為鄰居及更遠鄰居而影響自己,關系越親近的鄰居影響更大,因此轉發關系的謠言之間存在結構影響力,這將有助于對謠言的分類。雖然現有研究已經取得了部分成就,但是鑒于社交媒體下謠言檢測任務的復雜性,其還存在以下問題:謠言文本包含了語義信息和傳播結構信息,以往方法利用樹結構學習結構影響力并不完善,謠言傳播結構應是一個錯綜復雜的圖結構;用戶屬性可以豐富謠言檢測特征,但在傳播早期很難獲取大量用戶信息,因此無法利用用戶的關注關系描繪傳播網絡,但可以通過早期謠言的轉發關系構建用戶傳播圖;消息在傳播過程中會受到不同用戶的影響,以往方法忽略了未直接轉發或評論用戶存在的間接影響,而這些潛在關系可以豐富謠言檢測特征。
本文提出一種基于多傳遞影響力(Multi-Transmit Influence,MTI)的謠言檢測方法。使用轉發關系對用戶節點構圖,根據圖神經網絡學習文本的結構影響力,以避免使用大規模用戶信息,在此基礎上通過構造基于用戶傳遞影響力的節點表示,學習用戶之間在傳播過程中不同的影響力,以增強用戶特征信息。
目前,研究人員將謠言檢測任務看作是一種分類,即判斷某個消息是“虛假信息”還是“非虛假信息”,亦或是其他類別。其中一類方法為基于傳統機器學習的方法,例如,文獻[6]通過提取單詞或短語的頻率特征,選出對謠言或者是非謠言比較有代表性的詞進行謠言檢測。文獻[7]首先按照主題分類提取用戶特征,然后利用機器學習的方法進行分類。文獻[8]使用了多種不同類型的特征,并通過梯度提升決策樹來進行謠言檢測。文獻[9]提出一種基于動態時間序列的謠言檢測模型,利用時間序列為謠言的社會情境特征變化進行建模,在傳統機器學習中取得了較好的效果。
隨著深度學習技術的快速發展,許多研究人員嘗試利用深度學習來解決文本分類問題[10]。文獻[11]應用遞歸神經網絡,通過學習傳播序列中的信息進行謠言檢測。研究人員通過引入注意力機制的模型[12-14]和利用對抗生成網絡的模型[15]都取得了一定的效果。文獻[16]通過遞歸神經網絡對謠言信息以樹結構的形式,捕獲自上而下和自下而上的結構信息,但是樹結構學習結構影響力并不完善,謠言傳播結構應是一個錯綜復雜的圖網絡,因此丟失了一些結構信息。文獻[17]則分別使用了循環神經網絡和卷積神經網絡學習傳播路徑上的不同信息,但未考慮到用戶間的影響力。
基于多傳遞影響力的謠言檢測方法整體架構如圖1 所示。

圖1 謠言檢測模型整體架構Fig.1 Overall architecture of the rumor detection model
模型由文本特征學習模塊和用戶特征學習模塊兩部分構成。其中文本特征學習模塊包括:1)文本特征提取,首先利用Word2Vec[18]獲取詞向量,將微博句子表示為一個微博詞特征矩陣,再利用多頭注意力機制和卷積神經網絡作用于微博詞特征矩陣得到微博句子特征;2)文本傳播特征提取,首先構建微博文本之間的轉發或評論關系圖,再利用圖卷積神經網絡獲取傳播特征。用戶特征學習模塊包括:1)用戶影響力計算,利用轉發關系將微博對應的用戶進行構圖,獲取用戶向量表示,再引入注意力機制獲取用戶影響力;2)用戶傳遞影響力計算,通過構造基于用戶傳遞影響力的節點表示方法,學習用戶之間在傳播過程中的不同影響力。將更新后的文本特征和用戶特征融合,并由分類器進行分類輸出,來預測微博信息的類別。
源謠言集合用X={X1,X2,…,Xn}表示,每條源謠言相關的信息用Xi=表示,其中r為源微博,v對應不同的轉發。Xi中每條信息vi包含若干詞,用vi={Word1,Word2,…,WordL}表示,其中WordL表示微博分詞后的詞組,L表示微博分詞的長度。利用Word2Vec獲取詞嵌入表示,再用微博詞特征矩陣vi∈?L×d表示每個微博句子,微博詞特征矩陣如圖2所示。

圖2 微博詞特征矩陣Fig.2 Weibo word feature matrix
2.2.1 文本特征提取
在謠言檢測問題中,文本信息十分重要,本文模型中文本特征提取過程如圖3 所示。

圖3 文本特征提取過程Fig.3 Text feature extraction process
本文將微博詞特征矩陣作為輸入,通過多頭自注意力機制更新該矩陣,把更新后的微博詞特征矩陣輸入到卷積神經網絡層和池化層提取特征,得到每條微博的句子特征,最后將不同句子特征拼接,得到源微博及相關微博的特征矩陣。
1)多頭自注意力機制。在多頭自注意力機制計算過程中,使句子中所有詞相互影響,提取內部相關特性,獲取詞間依賴關系。
多頭自主意力機制過程如圖4 所示,輸入Q=K=V,即微博句子的詞特征矩陣。

圖4 多頭自注意力機制過程Fig.4 Multi-head self-attention mechanism process
線性層將Q、K、V映射為h個不同部分,各部分進行縮放點擊注意力,計算公式如式(1)所示,得到輸出如式(2)所示:

其中:i∈[1,h];d表示詞嵌入維度。將不同部分的結果進行拼接,再通過一個線性層得到輸出,如式(3)所示:

其中:W0∈?d×d為權重矩陣,輸出內容Z的維度與Q相同。
2)卷積池化層。通過卷積層和最大池化層捕獲微博句子級的特征。將Z∈?L×d作為輸入,文本特征卷積核為W∈?h×d,其中h表示卷積核感受野的大小,作用公式為:

其中:σ為非線性激活函數;為單詞的詞向量表示;b為偏置量。經過卷積層提取得到卷積層特征。將卷積層特征輸入最大池化層,對e∈?()L-h+1×d進行最大池化,如式(5)所示:

在卷積層中設置不同大小的卷積核,每種卷積核的數量為d/3。將不同卷積核對應的輸出連接起來得到mi∈?d,表示源微博或其轉發微博的句子級特征,進而獲取源微博及相關微博特征矩陣M=[mr,m1,m2,…,mn-1]∈?n×d。
2.2.2 文本傳播特征提取
對于謠言事件相關的信息Xi,用Gi={Ei,Vi}表示其傳播圖結構。如圖5 所示,圖中節點集合為Vi=表示源微博,邊集合Ei={,t=0,1,0,…,ni-1},其中每一條就表示兩條微博間存在著一個傳播行為,用鄰接矩陣A∈?n×n表示,鄰接矩陣中對應位置元素為aij,微博之間存在轉發或評論關系則為1,否則為0,對應關系如式(6)所示:


圖5 微博文本傳播圖Fig.5 Weibo text spread graph
利用圖卷積神經網絡[19]學習傳播特征,將微博特征矩陣M和文本傳播圖鄰接矩陣A作為輸入,計算公式如式(7)所示:

如圖6 所示,圖中節點u0~u6表示轉發圖中的用戶,實線連接的節點表示直接轉發,存在直接影響力,虛線連接則表示未直接轉發,存在間接影響力。例如,圖中u0節點與u5節點、u5節點與u6節點都存在直接轉發關系,u5節點自身存在如粉絲數量等特征,會對u0節點造成影響力,用S05表示影響關系,同理u6節點也會影響u5節點,用S56表示。傳遞影響力是為了學習未直接轉發或評論的用戶所造成的間接影響,即用戶傳遞影響力。在圖6 中,節點u5作為中間節點,通過S05與S56計算得到u6對u0的傳遞影響力S06。

圖6 用戶傳播圖Fig.6 User communication graph
2.3.1 用戶影響力
在轉發序列構成的用戶傳播圖中,從該網絡中學習得到序列中所有用戶的嵌入表示。在得到用戶嵌入后,首先學習相鄰用戶節點間的潛在注意力系數,通過一個全連接層將兩個節點的用戶嵌入信息轉化為一個標量sij,如式(8)所示:


其中:Ni表示轉發關系中與i相連的節點;W為可學習的參數矩陣;σ為激活函數,歸一化相關性系數能有效反映不同節點對目標節點的影響力度。
2.3.2 用戶傳遞影響力
上文計算只考慮了在轉發關系路徑中直接轉發用戶的影響關系,而社交網絡十分復雜,在一個真實的社交網絡轉發序列中,未直接轉發的用戶(其他用戶作為中間節點,間接轉發)之間存在一種傳遞影響力,即存在一種多跳的潛在關系,這種影響力是用戶信息中很重要的一部分。
通過相關性矩陣M,構造傳遞影響力矩陣M'∈?n×n=M×M,n為用戶傳播圖中節點個數,矩陣中元素計算公式如式(11)所示:

其中:c表示節點i和j的中間節點;sic表示節點i和c間的用戶影響力;scj表示節點c和j之間的用戶影響力。M'矩陣中對應位置元素表示間接轉發影響力系數。將間接轉發節點的系數歸一化并聚合節點的信息,如式(12)和式(13)所示:

其中:W為可學習的參數矩陣;σ為激活函數。將學習到用戶影響力和用戶傳遞影響力的用戶信息進行合并,得到最終用戶特征,如式(14)所示:

基于多傳遞影響力的謠言檢測方法如圖7 所示。模型由2 個部分組成:1)在文本特征學習模塊,首先學習謠言文本詞嵌入,通過多頭注意力機制和卷積神經網絡提取句子級別特征,通過圖卷積神經網絡學習文本結構信息最終得到節點的文本特征mi;2)在用戶特征學習模塊,首先利用謠言轉發關系構建用戶傳播圖結構,通過學習用戶間直接影響力和間接影響力豐富用戶信息,得到節點用戶特征

圖7 基于多傳遞影響力的謠言檢測Fig.7 Rumor detection based on multi-transmit influence model

其中:W∈?(d+d)×|class|為權重矩陣;b為偏置量;y^ 來表示預測pi的概率分布,并利用交叉熵損失作為優化目標,如式(16)所示:

本文實驗采用3 個真實社交媒體公共數據集,分別是Weibo 謠言數據集[11]、Twitter15 謠言數據集[17]和Twitter16 謠言數據集[17]。Weibo 數據集包含兩類標簽:謠言(Falserumor)和非謠言(Non-rumors),分別是2 351條和2 313 條。Twitter15 和Twitter16 數據集包含4 類標簽,即謠言(FalseRumor,FR)、非謠言(Non-Rumors,NR)、未經核實的謠言(Un-verified Rumors,UR)和辟謠的謠言(True Rumors,TR),數據集內容如表1 所示。

表1 實驗中使用的數據集Table 1 Datasets used in the experiment
為了驗證本文提出的基于多傳遞影響力的謠言檢測方法(MTI)的有效性,選用近年來在謠言檢測任務中表現優越的模型作為對比模型與本文模型進行實驗對比。
1)DTC[3]:采用決策樹分類算法,利用虛假消息特征進行建模,判定數據集信息的真實性。
2)SVM-RBF[5]:采用帶有RBF 核的支持向量機模型算法,利用虛假消息特征進行建模,判定數據集信息的真實性。
3)SVM-TS[9]:一種線性的基 于支持向量機(SVM)的分類模型,采用時間序列為虛假信息的社會情境特征變化進行建模。
4)DTR[20]:一種基于決策樹(Decision Tree,DT)的算法,通過搜索判別一些有爭議性的言論來識別虛假信息。
5)GRU-RNN[11]:一種基于循環神經網絡的方法,通過學習隨時間變化的評論特征來進行虛假信息檢測。
6)PTK[21]:采用基于傳播樹核的方式,通過將消息傳播構建為樹型結構,利用支持向量機分類算法來進行虛假信息檢測。
7)RvNN[16]:一種基于遞歸神經網絡的虛假消息識別模型,通過捕獲自下而上和自上而下的樹結構信息實現虛假消息檢測。
8)RFC[4]:一種利用隨機森林(Random Forest,RF)算法構建的分類模型,采用用戶、語言和結構等特征實現虛假消息檢測。
9)PPC_RNN+CNN[17]:基于傳播路徑的虛假信息檢測模型,使用了RNN 和CNN 來聯合捕獲用戶特征的全局和局部信息。
10)MTI(ours):本文提出的基于多傳遞影響力的謠言檢測方法。
本文選用準確率(Accuracy)和F1 評測值作為檢測模型性能的評價指標,具體公式如式(17)和式(18)所示:


其中:TTP表示正例預測為正例;FFN表示正例錯分為負例;TTN表示負例預測為負例;FFP表示負例錯分為正例。
在本文實驗中,使用的編程語言為Python,運用深度學習框架Pytorch 實現提出的模型架構,版本為1.2.0。采用Adam[22-23]算法進行參數更新,參數設置β1和β2分別為0.9 和0.999,學習率初始化 為1e-3。使用Word2Vec 中的Skip-Gram 網絡訓練得到詞嵌入向量,維度為300 維。在文本特征學習模塊中,多頭自注意力機制設置K為8,即在8 個部分各自進行自注意力學習。卷積層設置一維卷積核的大小為[3,4,5],每種卷積核的個數為100 個。在節點用戶信息表示中,將節點的用戶信息初始化為300 維,將訓練的批量大小設置為64,dropout 為0.5。
3.4.1 對比實驗
在Twitter15 和Twitter16 兩個數據集上的實驗結果如表2 和表3 所示。Twitter15 和Twitter16 都包含了4 個類別,對于每個類別列出了各模型F1 指標。

表2 Twitter15 數據集實驗結果Table 2 Twitter15 dataset experimental results

表3 Twitter16 數據集實驗結果Table 3 Twitter16 dataset experimental results
在Weibo 數據集上的對比實驗結果如表4 所示,分別給出了正負兩類樣本的準確率、召回率和F1 值。

表4 Weibo 數據集實驗結果Table 4 Weibo dataset experimental results
實驗結果分析如下:
1)對比表2~表4所有的模型可以看出,包括RvNN、GRU-RNN、PPC_RNN+CNN 等在內的深度學習方法在各項評測指標上都優于基于人工構造特征的傳統機器學習方法。在傳統的人工特征方法中,決策樹DTRANK(DTR)的效果很不理想,這是因為DTR 通過將謠言的信號特征的正則表達式匹配來進行謠言檢測任務,這些正則表達式與上述數據集中所能匹配的數據非常少。SVM-TS 模型的結果在基于人工特征的方法中效果較好,一方面是因為SVM 模型本身具有比較良好的泛化能力,可以適用于復雜的數據集,另一方面在SVM-TS 模型中加入了微博事件在時間變換下的不同特征,因此使得檢驗性能提高。深度學習的方法表現出的優勢很大,這是十分正常的現象,因為基于人工構造的特征,其局限較大,依賴于經驗以及受人的主觀性影響較大,對數據感知并不敏感,相比之下,RvNN、PPC_RNN+CNN 以及本文模型等深度學習算法能夠自動地學習到針對虛假信息檢測任務的文本的高級語義表示,從而能夠提取到更有效的特征。
2)相比于現有的各種方法,本文方法MTI 在各項指標上均有明顯提升。具體來講,在Twitter15 數據集上,相比于表現最好的PPC_RNN+CNN,本文模型在精準率上提高了6.9%,4 個不同類別的F1 值也都有較大的提升,分別為:NR 類別提升了13%,FR 類別提升了4.2%,TR 類別提升了9.5%,UR 類別提高了7.8%;在Twitter16 數據集上,模型在準確率上提高了3.4%,各類別的F1 值也都有提升;在Weibo 數據集上,模型相比PPC_RNN+CNN 在精準率上高出2.8%。
3)PTK 和RvNN 兩種方法都依賴于從傳播樹結構中提取特征,效果優于其他線性結構方法,相比于RvNN,本文模型在Weibo 數據集的準確率值指標上有3.6%的提升,在兩個不同類別的F1 值上也有明顯提升,這表明了利用圖神經網絡捕獲文本結構影響力的有效性。RvNN 使用樹型傳播結構對虛假信息的傳播過程進行建模,但是這種方法忽略了消息傳播是一個廣泛而分散的圖結構而非樹型結構,因此丟失了許多結構信息。本文方法在得到微博句子級別向量后,將每條微博看作節點,利用轉發關系進行構圖,利用圖神經網絡學習傳播過程中的結構影響力,得到更精細的特征,從而獲得更好的謠言檢測效果。
4)在3 個不同的數據集上,本文方法在準確率、召回率、F1 值在內的各項指標上都優于PCC_RNN+CNN 模型,在Twitter15 數據集上,本文方法準確率高 達6.9%,優于PPC_RNN+CNN,在Twitter16 和Weibo 數據集上也分別有3.4%和2.8%的提升。因為PPC_RNN+CNN 是利用一個時間序列上的節點向量來表示傳播消息的用戶特征,然而消息在傳播過程中不僅相鄰用戶存在影響力,未直接轉發或評論的用戶也存在間接的影響力,PPC_RNN+CNN 不能捕獲這些影響力特征。本文方法通過構造能夠學習不同維度的用戶結構影響力,從而豐富了用戶信息,使得檢測精度有所提高。
3.4.2 參數分析
鑒于謠言數據中文本信息至關重要,本節將在文本特征提取過程中的卷積層部分進行一些不同的超參數設置,分別采用不同大小的卷積核驗證是否影響模型的性能,實驗結果如圖8 所示。

圖8 不同卷積核對精度的影響Fig.8 The impact of different convolution kernels on accuracy
從圖8(a)可以看出,當卷積核設置為單核時,主要捕獲單字特征,這將遺失很多信息,隨著設置的卷積核增大,性能也逐漸變好,峰值為3、4、5 左右,之后又繼續下降。圖8(b)采取的是將不同大小的卷積核進行組合的實驗,實驗結果表明不同大小卷積核進行組合相較于單一的卷積核性能更加優越;對比幾組不同的卷積核組合,使用卷積核組合為(3,4,5)時模型性能最優,比單卷積核最佳性能要高出2 個百分點,這表明不同大小卷積核的組合能捕獲不同長度詞語更加獨特的語義信息,豐富了微博句子級別的信息表示。
3.4.3 早期檢測分析
早期的謠言檢測任務至關重要,因為可以更及時有效地進行預警。早期檢測區別于直接檢測問題,需要更快地預測謠言的真實性。本文設置一系列的檢測時間點,通過只使用在檢測時間點之前的相關微博來評估所提出方法的有效性。實驗結果如圖9 所示,利用檢測精度隨著時間變化的曲線進行評估,橫坐標表示源謠言信息出現之后的時間,設置的時間點為源消息發布后的0、4、8、12 個小時,有效性則是通過準確度衡量。

圖9 早期檢測結果Fig.9 Early detection results
從圖9 可以看出,本文模型相比于其他基線模型,在Weibo 和Twitter15、Twitter16 數據集上不同截止時間點都有優異的表現。
DTR、GRU 都是通過從用戶評論中獲取語義信息,但是DTR 性能很差,這是因為在早期數據量較小的情況下,DTR 可以構造的特征不夠豐富,GRU 能夠自動獲取數據中更深層的語義信息,結果優于DTR,PTK 則是通過傳播樹結構捕獲語義信息和傳播結構信息,因此效果更好。所以,在傳播的早期階段,如果利用包括用戶信息在內的各類信息,捕獲到越多的信息會更利于檢測的準確度,但是早期階段很難獲取大規模用戶信息,因此本文模型通過轉發結構對其進行學習,在最早的檢測時間點,能夠很快達到優于其他方法的性能,在Twitter15 數據集上的準確率達到56%,在Twitter16數據集上的準確率達到54%,在Weibo 數據集上達到93%。在之后的時間點內,本文模型準確率提升最快,能夠最早達到最佳性能,這驗證了本文模型以傳播結構學習用戶信息的有效性。同PPC_RNN+CNN 方法相比,伴隨著時間的增長,結構信息也會更復雜,本文模型學習到的用戶傳遞影響力會變得更豐富,更有利于性能的提升,結果比PPC_RNN+CNN 更優秀。上述實驗證明了本文模型在面對復雜的語義信息時具有相對較好的穩定性和魯棒性。因此,基于多傳遞影響力的謠言檢測方法不僅在謠言的長期檢測任務中有效,在早期檢測中同樣有效。
為提升社交媒體謠言檢測精準度,本文提出一種基于多傳遞影響力的謠言檢測方法。利用源微博和對應轉發(評論)之間的傳播結構關系,構建文本信息傳播圖和用戶影響力傳播圖,通過圖卷積神經網絡捕獲文本傳播特征和用戶節點傳遞影響力特征,最后將不同維度的節點信息融合,有效學習文本內容特征和用戶特征,同時利用轉發關系對用戶節點進行構圖,避免使用大規模的用戶信息,對于早期檢測更為有利。在3 個真實數據集上的實驗結果表明,本文方法具有比其他基線方法更高的謠言檢測性能,并且在謠言的早期傳播階段具有良好的檢測效果。本文探索了用戶傳遞影響力在謠言檢測中的作用,后續將研究更高階用戶節點信息對于檢測模型性能的影響,進一步提升謠言檢測精度。