論文題目:Rumor Detection on Social Media with Bi-Directional Graph Convolutional Networks
論文來源:AAAI 2020 清華大學, 騰訊AI
論文鏈接:https://arxiv.org/abs/2001.06362
代碼鏈接:https://github.com/TianBian95/BiGCN
關鍵詞:謠言檢測,社交媒體,GCN
1 摘要
本文解決的是社交媒體上的謠言檢測問題。
已有一些研究使用深度學習的方法,通過謠言的傳播方式檢測出謠言。例如RvNN(Recursive Neural Network)。但是這些深度學習方法在謠言檢測中只考慮到了傳播的深度,卻忽視了廣泛散佈(wide dispersion)的結構。
實際上傳播(propagation)和散佈(dispersion)是謠言的兩個關鍵特徵。本文提出Bi-GCN(Bi-Directional Graph Convolutional Networks)圖模型,從謠言自頂向下(top-down)和自底向上(bottom-up)的傳播方向上發掘這兩個特徵。模型中使用到了兩個GCN,一個GCN使用了謠言傳播的top-down的有向圖以學習到謠言的傳播模式;另一個GCN使用了相反的有向圖以捕獲到謠言的散佈模式。此外,GCN的每一層中都利用到了源帖子的信息,以增強謠言根源的影響。
作者在一些benchmarks上進行實驗,結果顯示本文的方法實現了SOTA。
2 引言
(1)傳統的謠言檢測方法
傳統的檢測方法主要採用了人工設計的特徵,例如用戶特徵、本文內容和傳播模式,來訓練有監督的分類器,例如決策樹、隨機森林、SVM。也有一些研究應用了更多的有效特徵,例如用戶評論、時序結構特徵、帖子的情感屬性等。
但是,這些方法主要依賴於特徵工程,耗時耗力。而且這些人爲設計的特徵通常缺乏從謠言傳播和散佈中抽取出來的高階(high-level)表示。
(2)最近的研究
近期有的研究使用深度學習方法從傳播路徑/樹或者網絡中,挖掘出高階的表示以進行謠言的識別。通常使用到的模型都是可以捕獲到謠言隨時間傳播的序列特徵的模型,例如LSTM, GRU, RvNN。
但是這些模型有一定的侷限性,因爲時序結構特徵只關注到了謠言的傳播序列,而忽視了謠言散佈的影響。謠言散佈的結構也隱含了謠言傳播行爲的信息。
因此,一些研究嘗試通過使用基於CNN的方法,從謠言擴散的結構中獲得信息。基於CNN的方法可以得到局部鄰域內的相關特徵,但是不能處理圖或樹上的全局結構關聯。也就是說,基於CNN的方法忽視了謠言散佈的全局結構特徵。而且,實際上CNN的設計目的並不是爲了從結構數據中學習到高階表示,但這是GCN的設計目的。
(3)本文提出
GCN已經在社交網絡、物理系統、化學制藥發現等領域取得了成功。本文使用GCN用於謠言檢測。
正如圖 1(a)所示,GCN也可稱爲是無向的GCN(UD-GCN)。GCN只依賴於相關帖子間的關係進行信息的聚合,但丟失了序列順序信息。儘管UD-GCN可以處理謠言散佈的全局結構特徵,但是謠言傳播的方向也是謠言檢測的重要線索,仍需要考慮謠言傳播的方向。謠言的兩個主要特性是:沿着關係鏈的深層傳播和跨社交社區的寬度散佈。好的方法應該同時考慮到這兩個特性。
爲了處理謠言的傳播和散佈特性,本文提出Bi-GCN方法,在謠言top-down和bottom-up傳播上進行操作。模型由兩部分組成,即TD-GCN(Top-Down graph convolutional Networks)和BU-GCN(Bottom-Up graph convolutional Networks),分別如圖 1(b)和圖 1©所示。TD-GCNH中信息從父節點出發向外散佈,正如謠言的傳播過程;BU-GCN中信息從子節點向父節點聚合。然後通過全連接層將TD-GCN和BU-GCN的傳播和分散表示合併到一起,得到最終的結果。
此外,爲了增強謠言根源的影響,作者在GCN每一層都將謠言樹根節點的特徵和該層的隱層特徵拼接起來。作者還在訓練時使用到了DropEdge以避免過擬合。
(4)本文主要貢獻
1)是第一個將GCN用於社交媒體上謠言檢測的工作;
2)提出了Bi-GCN模型,不僅考慮了謠言沿關係鏈自上而下傳播的因果特徵,還通過自下而上的聚集得到了社區內謠言散佈的結構特徵。
3)將源帖子的特徵和GCN中每一層的其他帖子的特徵相拼接,以廣泛使用根特徵的信息,並且有助於在謠言檢測中實現較好的性能。
在三個真實世界的數據集上使用本文的Bi-GCN方法進行了實驗,並超越了幾個SOTA方法。
3 Preliminaries
介紹本文方法用到的重要概念和有關定義。
(1)定義
令表示謠言檢測數據集,是事件總數。,表示中的帖子數,表示源貼,表示第個相關的響應貼,表示傳播結構。
定義爲圖,其中是根節點,,表示已回覆的帖子到已轉發的帖子或已回覆的帖子的邊的集合,如**圖 1(b)**所示。例如若有針對的迴應,則就存在有向邊,即。若有針對的迴應,則存在有向邊,即。定義爲鄰接矩陣,其中:
定義爲從中的帖子中抽取出的特徵矩陣,其中表示的特徵向量,矩陣的每一行表示的特徵向量。
此外,每個事件都有ground truth標籤,表明其是否是謠言。在某些情況下,,分別表示Non-rumor, False Rumor, True Rumor, Unverified Rumor。
給定數據集後,謠言檢測的目標是學習到分類器。基於本文內容、用戶信息以及從事件中構建出來的相關帖子組成的傳播結構,對事件的標籤進行預測。
其中分別表示事件集合和標籤集合。
(2)GCN
將卷積應用到圖領域中引起了學者們的關注,其中GCN是最有效的卷積方法之一,GCN的卷積操作可以看成是消息傳遞結構:
其中是第個圖卷積層計算出的隱層特徵矩陣,是消息傳播函數,鄰接矩陣、隱層特徵矩陣以及參數都是的參數。
有許多種用於GCN的消息傳遞函數,其中定義在一階近似的ChebNet(1stChebNet)中的消息傳播函數如下:
其中是歸一化的鄰接矩陣,其中,也就是添加了自環。
(3)DropEdge
DropEdge是發表在ICLR 2020上的文章[1],用於緩解基於GCN的模型的過擬合問題。在每次訓練epoch中,將會以一定的比率隨機地從原始圖中刪除掉一些邊。這一方法可以增強輸入數據的隨機性和多樣性,就想對圖片的隨機旋轉和翻轉一樣。
假定圖中的邊總數是,隨機刪除率是,則DropEdge之後的鄰接矩陣計算如下,其中是從原始邊集中隨機採樣條邊構建出來的。
4 Bi-GCN謠言檢測模型
Bi-GCN的核心思想是從謠言傳播和謠言散佈中學習得到高階的表示。Bi-GCN模型中使用到了兩層的1stChebNet作爲基本的GCN組件。如圖 2所示,我們將Bi-GCN模型的執行流程分爲4步。
我們首先將討論如何將Bi-GCN模型應用到一個事件上。
(1)構建傳播和散佈圖(Construct Propagation and Dispersion Graphs)
基於回覆和轉發關係,我們爲謠言事件構建傳播結構。令爲其鄰接矩陣,爲謠言事件基於謠言傳播樹的特徵矩陣。其中,如**圖 1(b)**所示,只包括從上部節點到下部節點的連邊。
在每次訓練epoch中,有比例的邊根據式(3)從原始圖中刪除以形成,從而避免過擬合。基於和,我們可以構建Bi-GCN模型。
Bi-GCN模型由TD-GCN和BU-GCN組成。這兩個組件使用的鄰接矩陣是不同的。對於TD-GCN來說,鄰接矩陣爲;對於BU-GCN來說,鄰接矩陣爲。TD-GCN和BU-GCN使用相同的特徵矩陣。
(2)計算高階的節點表示
在DropEdge操作之後,可以使用TD-GCN和BU-GCN分別得到top-down傳播特徵和bottom-up傳播特徵。
對式(2)進行更改,得到TD-GCN兩層的隱層表示:
其中和是TD-GCN兩層的隱層特徵表示,和是TD-GCN的卷積核參數矩陣。作者使用ReLU函數作爲激活函數。
和式(4)式(5)中的計算類似,可以得到BU-GCN的隱層特徵和。
(3)謠言根源特徵的增強
謠言事件的根源帖子總是包含足夠的信息以產生更廣範圍的影響。
處了TD-GCN和BU-GCN的隱層特徵之外,我們還提出了使用根源特徵的增強以提高模型進行謠言檢測的性能。
針對TD-GCN的第層GCL,我們將每個節點的隱層特徵向量和第層GCL的根節點的隱層特徵向量拼接起來,構成一個新的特徵矩陣:
其中。我們用根節點特徵增強後的隱層特徵替換式(5)中的。於是得到:
和式(4)式(5)中的計算類似,可以得到BU-GCN的隱層特徵和。
(4)用於謠言分類的傳播和擴散的表示
分別對TD-GCN和BU-GCN中的節點表示進行聚合,就可以得到傳播和擴散的表示。
作者使用了mean-pooling操作以聚合這兩組節點表示,形式如下:
然後,我們將傳播和擴散的表示進行拼接來將兩者的信息融合:
最後,使用一些全連接層和softmax層,得到事件的預測標籤。其中是所有標籤類別對應的概率組成的向量。
使用交叉熵作爲訓練過程中的損失函數。
5 實驗
(1)數據集
- Weibo[2]
- Twitter15[3]
- Twitter16[3]
其中,節點代表用戶,邊代表轉發和回覆關係,特徵是根據TF-IDF值抽取的top-5000個單詞。
Weibo數據集的標籤是二元的,分爲False Rumor(F)和True Rumor(T)。Twitter15和Twitter16數據集包括4個標籤:Non-rumor (N), False Rumor (F), True Rumor (T), 和Unverified Rumor (U)。
表 1展示了三個數據集的統計數據:
(2)對比方法
- DTC:基於多樣的人工特徵使用決策樹分類進行謠言檢測的方法;
- SVM-RBF:使用RBF核的基於SVM的模型,使用了基於帖子的所有統計特徵設計的人工特徵;
- SVM-TS:線性SVM分類器,利用了人工特徵以構建時間連續(time-series)的模型;
- SVM-TK:基於謠言傳播結構,使用傳播樹核的SVM分類器;
- RvNN:使用樹結構的帶有GRU單元的RNN進行謠言的檢測,通過傳播結構學習到謠言的表示;
- PPC_RNN+CNN:結合了RNN和CNN的謠言檢測模型,通過謠言傳播路徑上的用戶特性,學習到了謠言的表示;
- Bi-GCN:本文的基於GCN的謠言檢測模型,使用到了雙向的傳播結構。
(3)實驗結果
表 2和表 3展示了不同方法在三個數據集上的對比結果。
1)首先,可以看出基於深度學習的方法普遍比其他的使用人工特徵的方法效果好。深度學習方法可以捕獲到有效的特徵,學習到謠言的高階表示。
2)其次,本文提出的Bi-GCN在所有指標上都超越了PPC-RNN+CNN方法,這體現了合併謠言擴散結構對於謠言檢測的有效性。RNN和CNN方法不能處理圖結構的數據,因此忽視了謠言擴散中重要的結構特徵。
3)最後,Bi-GCN由於RvNN模型。因爲RvNN只用到了所有葉子節點的隱層特徵向量,因此受最後的帖子的影響較大。然而,最後的帖子往往缺少信息(例如 評論信息),並且僅僅跟隨於先前的帖子。本文提出的Bi-GCN模型使用了根節點特徵的增強,給與了根源帖子更多的關注,有助於提高模型的性能。
(4)消融實驗
爲了分析Bi-GCN每個變形的影響,我們將其和TD-GCN, BU-GCNhe UD-GCN以及不使用根節點特徵增強的變形進行了比較。實驗結果如圖 3所示。
(5)謠言早期檢測
目的是在謠言傳播的早期將其檢測出來,這也是度量謠言檢測方法一種指標。爲了構建謠言早期檢測任務,作者建立了一系列檢測deadlines並只使用deadlines前發佈的帖子,從而評估本文的方法和baselines方法的準確性。
由於PPC_RNN+CNN不能處理變長的數據,因此沒有將其應用到這個實驗中。
圖 4展示了不同方法的結果。可以看出,本文提出的Bi-GCN方法在源初始廣播後的很早期就達到了較高的精度。
6 總結
本文提出了基於GCN的模型Bi-GCN,用於社交媒體上的謠言檢測。
GCN使得模型有處理圖/樹結構數據的能力,並且可以學習到更有助於謠言檢測的高階的表示。此外,作者還在GCN的每層GCL中將根源帖子的特徵和該層的隱層特徵拼接起來,加強了根源帖子的影響。同時,作者還構建了Bi-GCN的變型以建模傳播模式,例如UD-GCN, TD-GCN, BU-GCN。
在三個數據集上進行了實驗,證明了基於GCN的方法優於SOTA baselines。
Bi-GCN模型實現了最好的效果,是因爲考慮到了自頂向下的謠言傳播模式中關係鏈的因果特徵,以及自底向上的不同社區聚合來的謠言散佈的結構特徵。
本文解決的問題是謠言檢測,提出了Bi-GCN模型,模型簡單清晰。並且實驗結果顯示該模型在謠言的早期檢測中也起到了很好的效果。
本文的亮點和要點在於:
(1)第一個使用基於GCN的方法進行了謠言檢測任務。
(2)和以往方法不同的是,模型考慮到了自頂向下的謠言傳播(propagation)結構,和自底向上的來自不同社區的謠言散佈(dispersion)結構。具體表現爲Bi-GCN由TD-GCN(top-down GCN)和BU-GCN(bottom-up GCN)兩個組件所構成。以往的方法大多隻使用到了自頂向下的謠言傳播結構。有基於CNN的方法考慮到了散佈結構,但是由於其不能處理圖結構的數據,因此不能捕獲全局的結構信息。
(3)模型還使用到了根源帖子特徵的增強。具體來說是在GCN每層GCL中,對於每個節點,將根源帖子在上一層的隱層特徵表示和節點在該層的隱層特徵表示向拼接起來,作爲節點在該層的最終隱層特徵表示。這種方法增強了謠言根源帖子對於學習到其他帖子節點表示的影響力,可幫助模型學習得到更有助於謠言檢測的節點表示。
(4)還使用到了較新的DropEdge方法[1],以緩解基於GCN的模型的過擬合問題。
參考文獻
[1] Rong Y, Huang W, Xu T, et al. Dropedge: Towards deep graph convolutional networks on node classification[C]//International Conference on Learning Representations. https://openreview. net/forum. 2020.
[2] Ma, J.; Gao, W.; Mitra, P.; Kwon, S.; Jansen, B. J.; Wong, K.-F.; and Cha, M. 2016. Detecting rumors from microblogs with recurrent neural networks. In Ijcai, 3818–3824.
[3] Ma, J.; Gao, W.; and Wong, K.-F. 2017. Detect rumors in microblog posts using propagation structure via kernel learning. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), 708–717.