劉 楠,張鳳荔,王瑞錦,張志揚,賴金山
(電子科技大學(xué)信息與軟件工程學(xué)院 成都 610054)
社交媒體的快速發(fā)展為人們提供了獲取、處理和共享信息的便捷平臺,促進了海量信息的傳播和擴散。其中,謠言的傳播會帶來不可逆、破壞性強、影響極廣的負面影響[1-2]。謠言的自動識別有助于早期預(yù)防、減少損失,因此,謠言檢測技術(shù)[3]應(yīng)運而生。
早期的謠言檢測方法主要采用監(jiān)督學(xué)習(xí)[4-6],利用特征工程從文本內(nèi)容[7-9]、用戶信息[7]和傳播模式[10-13]中提取可區(qū)別的特征,如傳統(tǒng)機器學(xué)習(xí)模型[4]。隨著深度學(xué)習(xí)模型的出現(xiàn),基于RNN(recurrent neural network)、CNN(convolutional neural network)和AE(autoencoder)的方法在特征提取上有所改進,在情緒分析、機器翻譯、文本分類等方面均取得了顯著成果。文獻[10]利用遞歸神經(jīng)網(wǎng)絡(luò)捕捉微博中謠言源帖及其轉(zhuǎn)發(fā)帖的語義差異,從而根據(jù)語義的變化進行下一個傳播點的預(yù)測。這是首個引入深度神經(jīng)網(wǎng)絡(luò)捕獲謠言在整個傳播過程的潛在時序變化的研究。文獻[14]基于樹的遞歸神經(jīng)網(wǎng)絡(luò)模型以捕獲謠言在傳播結(jié)構(gòu)中的潛在語義信息特征。文獻[15]使用一種變分自動編碼器(variational autoencoder, VAE)獲取帖子涵蓋的文本特征和圖像特征,以確定該帖子是否為謠言。文獻[16]將源帖的傳播路徑建模為一個多元時間序列,利用RNN 和CNN 捕捉相關(guān)帖子參與者的用戶特征沿傳播路徑的變化。上述模型多采用單一的文本內(nèi)容檢測模型,忽略了社會網(wǎng)絡(luò)結(jié)構(gòu)信息。此外,部分方法僅從信息個體角度進行考慮,忽略了社交網(wǎng)絡(luò)信息之間所存在的結(jié)構(gòu)相關(guān)性。如果同一用戶發(fā)布或轉(zhuǎn)發(fā)了多個帖子,則可以連接這些帖子。這樣的關(guān)聯(lián)可在連接的實例之間共享知識,幫助彼此檢測以提高性能。
近年來,GCN(graph convolutional networks)從信息結(jié)構(gòu)化的度檢測謠言和假新聞。如文獻[17]建立了一個深度擴散網(wǎng)絡(luò)模型,學(xué)習(xí)新聞文章、創(chuàng)建者和主題的融合表示,挖掘社交網(wǎng)絡(luò)的結(jié)構(gòu)性特征。此外,信息在社交網(wǎng)絡(luò)上的傳播過程所構(gòu)成的圖網(wǎng)絡(luò)具有異質(zhì)性,從異構(gòu)圖的構(gòu)建與分析角度可有效提高虛假信息檢測模型的性能。如文獻[18]通過從社交網(wǎng)絡(luò)上的帖子、評論和相關(guān)用戶構(gòu)建的異構(gòu)圖中,捕獲圖結(jié)構(gòu)中的語義信息。雖然目前GCN 和異構(gòu)圖網(wǎng)絡(luò)在謠言檢測方面性能表現(xiàn)良好,但仍存在部分問題。首先,GCN 針對圖中每個學(xué)習(xí)到的節(jié)點表示采用的是標量式編碼,需要逐一編碼節(jié)點包含的所有屬性,當(dāng)數(shù)據(jù)量過大時,效率會大大降低。其次,現(xiàn)有異構(gòu)圖網(wǎng)絡(luò)著重強調(diào)謠言傳播過程的文本內(nèi)容語義變化,忽略了用戶之間的社交關(guān)系,在一定程度上對檢測模型的性能進行了限制。此外,目前已有的謠言檢測模型,對社交網(wǎng)絡(luò)的異構(gòu)性研究缺乏用戶之間社交關(guān)系的考慮,而在真實的社交網(wǎng)絡(luò)中,社交關(guān)系是一個較大的影響因素。
針對上述問題,本文提出了一種融合元路徑學(xué)習(xí)和膠囊網(wǎng)絡(luò)的社交媒體謠言檢測方法(rumor detection based on meta-path learning and capsule network, CNMLRD),聯(lián)合圖嵌入和文本內(nèi)容語義嵌入兩方面對謠言在社交網(wǎng)絡(luò)上的特征學(xué)習(xí)進行表示,利用膠囊網(wǎng)絡(luò)以矢量編碼增強學(xué)習(xí)到的特征。該方法首次將膠囊網(wǎng)絡(luò)矢量編碼模型用于謠言早期檢測中,針對傳統(tǒng)神經(jīng)網(wǎng)絡(luò)本身特性導(dǎo)致的檢測模型編碼效率低下的問題提出了一種新的解決思路。此外,該方法涉及基于元路徑學(xué)習(xí)的異構(gòu)圖分解模型,實現(xiàn)了對用戶潛在社交關(guān)系及圖結(jié)構(gòu)的全局語義信息挖掘,不僅提高了謠言早期檢測模型的效率和精度,并在一定程度上增強了模型的可解釋性。
為了準確描述面向社交網(wǎng)絡(luò)的謠言檢測問題,對以下概念進行定義。
定義 1社交媒體關(guān)系:定義為社交傳播實體與其對應(yīng)的傳播內(nèi)容的集合S={e1,e2,···,es},其中es指 第s個社交傳播實體和其所傳播的內(nèi)容。
定義 2社交傳播實體:在社交網(wǎng)絡(luò)中參與了發(fā)表、轉(zhuǎn)發(fā)和評論帖子等行為的用戶個體,用集合U={u1,u2···,un}表 示,其中un表 示第n個用戶實體。
定義 3傳播內(nèi)容:用戶所發(fā)表的帖子,并且這些帖子至少會有不少于1 次的轉(zhuǎn)發(fā)和評論,用集合T={t1,t2,···,tm}表 示,其中tm表 示第m個帖子實體。
定義 4異常傳播實體:以用戶是否發(fā)起或轉(zhuǎn)發(fā)過一條謠言帖子作為評判標準,將用戶分為正常用戶和異常用戶。
根據(jù)以上概念,可以構(gòu)建基礎(chǔ)社交信息傳播網(wǎng)絡(luò),并利用異常傳播實體的評判標準將基礎(chǔ)社交信息傳播網(wǎng)絡(luò)轉(zhuǎn)化為異構(gòu)圖網(wǎng)絡(luò),然后采用圖神經(jīng)網(wǎng)絡(luò)模型得到每一個傳播實體與傳播內(nèi)容的低維向量特征表示,謠言的潛在特征可以結(jié)合信息在社交媒體網(wǎng)絡(luò)上的結(jié)構(gòu)特征以及信息內(nèi)容的文本語義特征得到。
綜上,本文將謠言檢測任務(wù)看作二分類問題,目標是訓(xùn)練一個模型f(·)以預(yù)測一個給定信息的標簽f(ti), 若f(ti)=1, 則ti為 非謠言;f(ti)=0,則ti為謠言。
整個模型框架如圖1 所示,主要包含4 個模塊:用戶?帖子異構(gòu)圖構(gòu)建模塊,圖節(jié)點結(jié)構(gòu)特征膠囊模塊、文本內(nèi)容特征膠囊模塊以及特征融合模塊。其中,用戶?帖子異構(gòu)圖構(gòu)建模塊主要是完成對原始數(shù)據(jù)集的清理及預(yù)處理,再依據(jù)應(yīng)用場景的需求構(gòu)建適當(dāng)?shù)漠悩?gòu)圖;圖節(jié)點結(jié)構(gòu)特征膠囊嵌入模塊主要是利用圖卷積膠囊網(wǎng)絡(luò)將異構(gòu)圖中節(jié)點的特征以膠囊形式嵌入得到圖節(jié)點膠囊的表示,充分保留節(jié)點的屬性;文本內(nèi)容特征膠囊嵌入模塊主要是利用內(nèi)容膠囊網(wǎng)絡(luò)將帖子文本內(nèi)容的語義特征以膠囊形式進行嵌入得到帖子文本內(nèi)容膠囊的表示,充分挖掘文本的語義特征;特征融合模塊主要是將帖子在社交網(wǎng)絡(luò)中的圖節(jié)點膠囊表示與其文本內(nèi)容膠囊表示進行融合,并在此基礎(chǔ)上實現(xiàn)對謠言的劃分。
圖1 總體架構(gòu)和流程
異構(gòu)圖構(gòu)建模塊的目的是對原始數(shù)據(jù)集進行預(yù)處理,進一步對給定的數(shù)據(jù)按照其在實際社交網(wǎng)絡(luò)中存在的點邊關(guān)系,提取對應(yīng)的點集、邊集。針對常見社交網(wǎng)絡(luò)構(gòu)建的用戶?帖子異構(gòu)圖G, 圖G=(V,E),V表示圖中節(jié)點的集合,包含所有的用戶節(jié)點和帖子節(jié)點。E表示圖中邊的集合,凡是用戶發(fā)起、轉(zhuǎn)發(fā)或者評論過的帖子,該用戶與帖子之間存在社交媒體關(guān)系,這兩者的節(jié)點之間存在一條邊。
進一步考慮用戶的異常狀態(tài),以用戶是否發(fā)起或轉(zhuǎn)發(fā)過一條謠言帖子作為評判標準,將用戶分為正常用戶和潛在威脅用戶:
式中,UB={ub1,ub2,···,ubn}表示社交網(wǎng)絡(luò)潛在威脅用戶的集合,ubi表示潛在威脅用戶;UY={uy1,uy2,···,uyn}表 示正常用戶的集合,uyi表示正常用戶;T={t1,t2,···,tm}表示一個話題下的所有帖子的集合,ti表 示帖子,t1表示源帖。節(jié)點之間的連接關(guān)系可以通過鄰接矩陣A={0,1}|V|×|V|表示獲得。
此模塊在CapsGNN 網(wǎng)絡(luò)[19]基礎(chǔ)上,根據(jù)本文的實際應(yīng)用場景做出相應(yīng)的調(diào)整,實現(xiàn)異構(gòu)圖節(jié)點的膠囊嵌入。在原有的CapsGNN 網(wǎng)絡(luò)中,只考慮了圖結(jié)構(gòu)信息,而在本文中需要將文本內(nèi)容信息進行聯(lián)合,因此在本文的圖形嵌入部分的基礎(chǔ)上實現(xiàn)對圖節(jié)點膠囊的嵌入可以簡化模型的復(fù)雜度。此模塊主要包括GCN 層、Capsule 層和圖節(jié)點膠囊構(gòu)建層3 部分,如圖2 所示。
圖2 圖卷積膠囊(GCNCapsule)模塊圖
其中,GCN 層的目的是從原始圖數(shù)據(jù)中提取圖結(jié)構(gòu)的低級特征,每一個Zi表示一個GCN 模塊,可進行h次 圖卷積操作,h屬于超參可設(shè)置。GCN 的應(yīng)用對象是圖結(jié)構(gòu)數(shù)據(jù),利用圖結(jié)構(gòu)上節(jié)點的多階鄰域節(jié)點所包含的信息對該節(jié)點特征進行學(xué)習(xí)。假設(shè)圖G=(V,E),V={v1,v2,···,vN}表示節(jié)點集合,E={e1,e2,···,em}表示邊集合,節(jié)點初始特征表示為X∈RN×d0, 其中d0示節(jié)點的特征維度。
GCN 采用的是逐層疊加的學(xué)習(xí)方式,所有節(jié)點同步更新。因此在GCN 每層的學(xué)習(xí)過程中,卷積運算應(yīng)用于每個節(jié)點及其鄰居,并通過激活函數(shù)計算每個節(jié)點的新表示。其過程可表示為:
式中,Zl?1∈Rd×d′表示第l?1層提取到的節(jié)點特征,d表節(jié)點的維度;Z0=X為輸入的初始特征;A表示節(jié)點的鄰接矩陣;表示鄰接矩陣對應(yīng)的度矩陣,可由式(3)表示;Wl?1∈Rd×d′為 第l?1層的權(quán)重矩陣; σ是非線性激活函數(shù)。
Capsule 層的主要目的是將圖中所包含的節(jié)點特征表示轉(zhuǎn)化為向量形式,有效保留圖節(jié)點的完整屬性。通過將每一個GCN 模塊提取的節(jié)點特征進行封裝來實現(xiàn)。即原GCN 層的GCN 模塊之間不再是簡單的直接卷積,而是在原有的卷積上進一步捕獲GCN 模塊內(nèi)部特征通道之間存在的潛在關(guān)系,其過程可表示為:
最后,在圖節(jié)點膠囊層,通過累加的方式將每一個GCN 模塊得到的capsule 疊加起來得到最后的圖節(jié)點膠囊,即完成了對圖節(jié)點膠囊的嵌入表示。
文本內(nèi)容特征膠囊嵌入的主要目的是為了將每個帖子的文本表示用膠囊的形式嵌入,本文采用多頭注意力機制和膠囊網(wǎng)絡(luò)來實現(xiàn),具體模型如圖1下半部分所示。
為了對文本特征進行有效嵌入,首先利用文本截斷的方式對文本進行預(yù)處理,設(shè)定處理后的文本為固定長度L。若文本長度大于L, 則以L長度截斷文本,若長度小于L,則用0 填充,帖子ti的文本內(nèi)容表達式為:
最后將計算得到的Z1,Z2,···,Zh進行拼接,得到通過詞向量嵌入方式的文本初級嵌入Z∈RL×d。
在文本初級嵌入的基礎(chǔ)上,利用一個內(nèi)容膠囊(ContentCapsule)模塊對文本的語義信息進行嵌入,模塊的具體內(nèi)容如圖3 所示。
圖3 內(nèi)容膠囊(ContentCapsule)
在ContentCapsule 模塊的卷積層,將通過多頭注意力機制得到的詞向量嵌入作為輸入,通過卷積層對文本初級嵌入進行一次局部特征檢測,抽取低級特征,這樣網(wǎng)絡(luò)就可以在層次較少的情況下盡可能感受多的信息。隨后,將卷積層得到的結(jié)果作為主膠囊層的輸入構(gòu)建相應(yīng)的張量結(jié)構(gòu),在這一層,對上層輸出執(zhí)行n次不同權(quán)重的卷積操作,然后將這n個卷積結(jié)果單元封裝在一起組成Capsule 神經(jīng)元,這樣就得到文本內(nèi)容的低級別特征的向量。
為了提高模型的檢測精確度,在分別得到帖子傳播圖結(jié)構(gòu)和帖子文本內(nèi)容的特征矢向量以后,本模塊將這兩個表征矢向量進行融合,進一步學(xué)習(xí)更深層次的特征表示,用于后續(xù)對謠言的分類及檢測。此模塊的結(jié)構(gòu)如圖4 所示。
圖4 特征融合
此模塊將帖子的圖節(jié)點膠囊與內(nèi)容膠囊進行融合,再在此基礎(chǔ)上獲取高級別特征的向量,由于這不是傳統(tǒng)神經(jīng)網(wǎng)絡(luò)標量到標量,而是向量到向量,因此,需要用到一個動態(tài)路由機制進行傳播和更新,得到類膠囊(ClassCapsule),最終根據(jù)輸出向量模長得出類別概率向量,路由機制實現(xiàn)偽碼如算法1 所示。
算法 1 層級膠囊映射的路由選擇
輸入:子級膠囊S,初始權(quán)重矩陣集W,可迭代次數(shù)t
輸出:父級膠囊H
路由選擇偽碼:
1) 針對所有的l?1層 的膠囊i,計算其與對應(yīng)l層 的膠囊j之間的預(yù)測標量積uj|i=
2) 定義rij是l?1層 膠囊i連 接到l層 膠囊j的可能性,初始值為rij←0
3) 執(zhí)行步驟4)~7)t次
4) 針對l?1層 的膠囊i, 將rij轉(zhuǎn)化為概率←softmax(ri j)
5)對l層 的 膠 囊j進 行 加 權(quán) 求 和 得 到hj:hj←
6)對hj進行壓縮得到←squash(hj)
7)更新rij,rij←rij+
結(jié)束
其中,squash 和softmax 函數(shù)的具體計算如式(8)~式(9)所示:
本文采用測評數(shù)據(jù)集Twitter15 和Twitter16[12]進行實驗驗證,2 種數(shù)據(jù)集分別包含1 490 和818 條謠言源推文。數(shù)據(jù)集中的每一條源推特被標記為真實謠言(true rumor, TR)、虛假謠言(false rumor, FR)、未 經(jīng) 證 實 的 謠 言(unverified rumor,UR)或非謠言(non-rumor, NR)。由于原始數(shù)據(jù)集不包括用戶配置文件信息,調(diào)用Twitter API3 抓取與源推文相關(guān)的所有用戶的配置文件。數(shù)據(jù)集的其他細節(jié)如表1 所示。
表1 實驗數(shù)據(jù)集統(tǒng)計詳情
針對本文所選用的評測數(shù)據(jù)集,為驗證本文所提出模型的有效性,與下列7 種謠言檢測模型進行對比。
1) DTR[20]:基于決策樹的模型,通過正則表達式對從Twitter 流中提取的集群進行排序以識別謠言。
2) DTC[1]:基于決策樹模型,利用特征工程提取的推文統(tǒng)計特征得到識別謠言的決策樹分類器[1]。
3) BU-RvN[10]:基于從葉子到根節(jié)點的傳播樹遍歷方向的遞歸神經(jīng)網(wǎng)絡(luò),捕獲擴散線索和內(nèi)容語義。
4) TD-RvNN[10]:基于從根節(jié)點到葉子節(jié)點的傳播樹遍歷方向的遞歸神經(jīng)網(wǎng)絡(luò),捕獲傳播線索和內(nèi)容語義。
5) PPC[15]:由遞歸和卷積網(wǎng)絡(luò)組成的傳播路徑分類器建模用戶特征序列。
6) GLAN[9]:構(gòu)建整體?局部的注意力網(wǎng)絡(luò)捕獲源帖及相關(guān)帖子傳播結(jié)構(gòu)的局部語義關(guān)聯(lián)和全局結(jié)構(gòu)關(guān)聯(lián)。
7) HGAN[17]:通過構(gòu)建異構(gòu)圖注意網(wǎng)絡(luò)框架,捕獲源帖及相關(guān)帖子在傳播結(jié)構(gòu)中的全局語義關(guān)聯(lián)和結(jié)構(gòu)關(guān)聯(lián)。
本文所研究的謠言檢測問題本質(zhì)上是二分類問題,本文選用基于分類的評價指標進行謠言檢測性能評測。針對本文選用的數(shù)據(jù)集,采用各類別判斷的準確率(accuracy, Acc)和各類別的F1值來評估模型的性能,計算方式為:式中,TP(true positive)表示真實類別為正例,預(yù)測類別也為正例的數(shù)量;FP(false positive)表示真實類別為負例,預(yù)測類別為正例的數(shù)量;FN (false negative)表示真實類別為正例,預(yù)測類別為負例的數(shù)量;TN(true negative)表示真實類別為負例,預(yù)測類別為負例的數(shù)量。
實驗基于PyTorch 框架實現(xiàn),使用Adam 優(yōu)化器,初始學(xué)習(xí)率為0.005,在模型訓(xùn)練過程中逐漸降低。根據(jù)驗證集上的性能選擇最佳參數(shù)設(shè)置,并在測試集中評估方法性能。初始化詞向量設(shè)置為300 維。模型訓(xùn)練的批量大小mini batch 設(shè)置為32。
如表2 和表3 所示,本文方法在兩個數(shù)據(jù)集上的性能優(yōu)于其他所有基線。具體而言,本文方法在這兩個數(shù)據(jù)集上分別實現(xiàn)了92.5%和93.6%的分辨率,比最佳基線分別提高了1.4%和1.2%。雖然只有一個百分點,但就數(shù)據(jù)呈指數(shù)級擴增的規(guī)模而言,一個百分點帶來的效應(yīng)也是不可低估的,這表明本文方法能夠有效地捕獲謠言文本內(nèi)容的全局語義關(guān)系,有助于謠言檢測。
表2 Twitter15 數(shù)據(jù)集實驗結(jié)果
表3 Twitter16 數(shù)據(jù)集實驗結(jié)果
此外,基于傳統(tǒng)機器學(xué)習(xí)方法(DTR 和DTC)的對比實驗?zāi)P捅憩F(xiàn)不佳,深度學(xué)習(xí)方法(如BURvNN、TD-RvNN、PCC 和GLAN)比基于傳統(tǒng)機器學(xué)習(xí)的方法有更好的性能,這表明深度學(xué)習(xí)方法更容易捕獲有效的特征用于謠言檢測。此外,GLAN 在所有對比模型中表現(xiàn)最好,因為它捕捉到謠言傳播源推文的局部語義和全局結(jié)構(gòu)信息,而其他基線未能捕捉到這部分信息。
本文提出了一種融合元路徑學(xué)習(xí)和膠囊網(wǎng)絡(luò)的社交媒體謠言檢測方法(CNMLRD),利用膠囊網(wǎng)絡(luò)矢量編碼的優(yōu)勢特性,彌補由傳統(tǒng)神經(jīng)網(wǎng)絡(luò)特性所導(dǎo)致的檢測模型編碼效率較低的缺陷;利用元路徑學(xué)習(xí)的異構(gòu)圖分解方法,實現(xiàn)了對用戶潛在社交關(guān)系以及圖結(jié)構(gòu)的全局語義信息挖掘,增強對檢測模型的可解釋性。實驗表明,在同等數(shù)據(jù)集的情況下,該方法相比于其他方法,檢測結(jié)果的精確度有所提升,這樣的優(yōu)勢在數(shù)據(jù)集呈指數(shù)級增加的情況下更為凸顯。未來研究將考慮加入視頻、圖像、聲音等數(shù)據(jù),利用多模態(tài)解決社交媒體謠言檢測問題,并進一步提高方法的泛化性。