谣言检测——(GCAN)《GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Media》

时间:2022-09-18 11:08:08

论文标题:GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Media
论文作者:Yi-Ju Lu, Cheng-Te Li
论文来源:2020, ACL
论文地址:download 
论文代码:download 

1 Abstract 

  目的:预测源推文是否是假的,并通过突出显示可疑的转发者上的证据和他们所关心的词语来产生解释。

2 Introduction

  我们预测一个源推文故事是否是假,根据它的短文内容和用户转发序列,以及用户个人资料。

  我们在三种设置下检测假新闻:   (a) short-text source tweet (b) no text of user comments (c) no network structures of social network and diffusion network.

  本文贡献:

  (1) 研究了一种新颖、更现实的社交媒体上的假新闻检测场景;

  (2) 为了准确的检测,我们开发了一个新的模型,GCAN,以更好地学习用户交互的表示、转发传播及其与源短文的相关性;

  (3) 本文的双重共同注意机制可以产生合理的解释;

  (4) 在真实数据集上进行的大量实验证明,与最先进的模型相比,GCAN具有良好的性能前景;

3 Related Work

  谣言检测——(GCAN)《GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Media》

4 Problem Statement

  谣言检测——(GCAN)《GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Media》

5 GCAN Model

  总体框架如下:

  谣言检测——(GCAN)《GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Media》

  GCAN 包括五个部分:

    1. user characteristics extraction: creating features to quantify how a user participates in online social networking.
    2. new story encoding: generating the representation of words in the source tweet.
    3. user propagation representation : modeling and representing how the source tweet propagates by users using their extracted characteristics.
    4. dual co-attention mechanisms: capturing the correlation between the source tweet and users’ interactions/propagation.
    5. making prediction: generating the detection outcome by concatenating all learned representations.

5.1 User Characteristics Extraction

  用户 $u_{j}$ 的特征为 $\mathbf{x}_{j} \in \mathbb{R}^{v}$:

  (1) number of words in a user's self-description;
  (2) number of words in $u_{j} 's$ screen name;
  (3) number of users who follows $u_{j}$;
  (4) number of users that $u_{j}$ is following;
  (5) number of created stories for $u_{j}$ ;
  (6) time elapsed after $u_{j} 's$ first story;
  (7) whether the $u_{j}$ account is verified or not;
  (8) whether $u_{j}$ allows the geo-spatial positioning;
  (9) time difference between the source tweet's post time and $u_{j} 's$ retweet time;
  (10) the length of retweet path between $u_{j}$ and the source tweet (1 if $u_{j}$ retweets the source tweet);

5.2 Source Tweet Encoding

  输入是 story $s_{i}$ 中每个单词的一个热向量。由于每个 source story 的长度都是不同的,所以在这里通过设置最大长度 $m$ 来执行零填充。设 $\mathbf{E}=\left[e_{1}, e_{2}, \ldots, e_{m}\right] \in \mathbb{R}^{m}$ 为 source story 的输入向量,其中 $e_{m}$ 为第 $m$ 个单词的独热编码。我们创建了一个完全连接的层来生成单词嵌入,$\mathbf{V}=\left[\mathbf{v}_{1}, \mathbf{v}_{2}, \ldots, \mathbf{v}_{m}\right] \in \mathbb{R}^{d \times m}$,其中 $d$ 是单词嵌入的维数。$V$ 的推导方法为:

    $\mathbf{V}=\tanh \left(\mathbf{W}_{w} \mathbf{E}+\mathbf{b}_{w}\right)  \quad\quad\quad(1)$

  其中,$\mathbf{W}_{w}$ 为可学习权值的矩阵,$\mathbf{b}_{c}$ 为偏差项。然后,利用门控循环单元(GRU)从 $v$ 学习单词序列表示。源推文表示学习可以用:$\mathbf{s}_{t}=G R U\left(\mathbf{v}_{t}\right), t \in\{1, \ldots, m\} \mid$,其中 $m$ 是 GRU 维数。将源推文表示为 $\mathbf{S}=\left[\mathbf{s}^{1}, \mathbf{s}^{2}, \ldots, \mathbf{s}^{m}\right] \in \mathbb{R}^{d \times m}$。

5.3 User Propagation Representation

  随着时间的推移,源推文 $s_i$ 的传播是由一系列的用户触发的。我们的目的是利用提取的用户特征向量 $x_j$,以及用户序列扩展$s_i$,来学习用户传播表示。

  本文利用门控递归单元(GRU)和卷积神经网络(CNN)来学习传播表示。

  这里输入的是用户转发 $s_{i}$ 的特征向量序列,用 $P F\left(s_{i}\right)=   \left\langle\mathbf{x}_{1}, \mathbf{x}_{2}, \ldots, \mathbf{x}_{t}, \ldots, \mathbf{x}_{n}\right\rangle$ 表示,其中 $n$ 是观察到的转发的固定长度。如果共享 $s_{i}$ 的用户数量大于 $n$,我们取前 $n$ 个用户。如果这个数字小于 $n$,我们在 $P F(si)$ 中重新采样用户,直到它的长度等于 $n$。 

GRU-based Representation
  给定特征向量 $PF(s_{i})=\langle\ldots, \mathbf{x}_{t}, \ldots\rangle$ 的序列,我们利用 GRU 来学习传播表示。每个 GRU 状态都有两个输入,当前的特征向量 $\mathbf{x}_{t}$ 和前一个状态的输出向量 $\mathbf{h}_{t-1}$,和一个输出向量 $\mathbf{h}_{t-1}$。基于GRU的表示学习可以用: $\mathbf{h}_{t}=G R U\left(\mathbf{x}_{t}\right), t \in\{1, \ldots, n\}$ 来表示,其中 $n$ 是GRU的维数。我们通过平均池化生成最终的基于 GRUs 的用户传播嵌入 $\mathbf{h} \in \mathbb{R}^{d}$,由 $\mathbf{h}=\frac{1}{n} \sum_{t=1}^{n} \mathbf{h}_{t}$ 给出。

CNN-based Representation.

  本文利用一维卷积神经网络来学习 $PF\left(s_{i}\right)$ 中用户特征的序列相关性。本文一次性考虑 $\lambda$ 个连续用户来建模他们的序列相关性,即 $\left\langle\mathbf{x}_{t}, \ldots, \mathbf{x}_{t+\lambda-1}\right\rangle$。因此,过滤器被设置为Wf∈Rλ×v。然后输出表示向量 $\mathbf{C} \in \mathbb{R}^{d \times(t+\lambda-1)}$ 由

    $\mathbf{C}=\operatorname{ReLU}\left(\mathbf{W}_{f} \cdot \mathbf{X}_{t: t+\lambda-1}+b_{f}\right)$

  其中 $\mathbf{W}_{f}$ 为可学习参数的矩阵,ReLU 为激活函数,$\mathbf{X}_{t: t+\lambda-1}$ 描述了第一行索引从 $t=1$ 到$t=n-\lambda+1$ 的子矩阵,$b_{f}$ 为偏差项。

5.4 Graph-aware Propagation Representation

  我们的目的是创建一个图来建模转发用户之间潜在的交互,想法是拥有特殊特征的用户之间的相关性对揭示源推文是否是假新闻能够起到作用。每个源推文 $s_{i}$ 的转发用户集合 $U_{i}$ 都被用来构建一个图 $\mathcal{G}^{i}=\left(U_{i}, \mathcal{E}_{i}\right)$ 。由于用户间的真实交互是不清楚的,因而这个图是全连接的,也 就是任意节点相连, $\left|\mathcal{E}_{i}\right|=\frac{n \times(n-1)}{2}$ 。结合用户特征,每条边 $e_{\alpha \beta} \in \mathcal{E}_{i}$ 都被关联到 一个权重 $w_{\alpha \beta}$,这个权重也就是节点用户特征向量 $x_{\alpha}$ 和 $x_{\beta}$ 的余弦相似度,即 $w_{\alpha \beta}=\frac{x_{\alpha} \cdot x_{\beta}}{\left\|x_{\alpha}\right\|\left\|x_{\beta}\right\|}$ ,图的邻接矩阵 $A=\left[w_{\alpha \beta}\right] \in \mathbb{R}^{n \times n}$。

  然后使用 GCN 来学习用户交互表示。给定邻接矩阵 $A$ 和用户特征矩阵 $X$ ,新的 $g$ 维节 点特征矩阵 $H^{(l-1)} \in \mathbb{R}^{n \times g}$ 计算过程为:

    $\mathbf{H}^{(l+1)}=\rho\left(\tilde{\mathbf{A}} \mathbf{H}^{(l)} \mathbf{W}_{l}\right)$

  $l$  是层数,$\tilde{A}=D^{-\frac{1}{2}} A D^{-\frac{1}{2}}$,$D_{i i}=\sum_{j} A_{i j}$  是度矩阵,$W_{l} \in \mathbb{R}^{d \times g}$  是第  $l$  层的学习参数,  $\rho$  是激活函数。这里  $H^{0}=X$  ,实验时选择堆叠两层  $\mathrm{GCN}$  层,最终学习到的表示为  $G \in \mathbb{R}^{g \times n} $。

5.5 Dual Co-attention Mechanism

  我们认为假新闻的证据可以通过调查源推文的哪些部分是由哪些类型的转发用户关注的来揭开,并且线索可以由转发用户之间如何互动来反映。因此,本文提出了 dual co-attention 机制,来建模:
  ① 源推文 $\left(S=\left[s^{1}, s^{2}, \cdots, s^{m}\right]\right)$ 与用户传播 Embedding $\left(C=\left[c^{1}, c^{2}, \cdots, c^{n-\lambda+1}\right]\right.$ ) 之间

  ② 源推文 $\left(S=\left[s^{1}, s^{2}, \cdots, s^{m}\right]\right)$ 与 graph-aware 的 Embedding 交互 ($G=[g^{1}, g^{2}, \cdots, g^{n}]$) 之间

  通过 dual co-attention 的注意力权重,模型可以具有可解释性。

Source-Interaction Co-attention

  首先计算一个相似性矩阵 $F \in \mathbb{R}^{m \times n} :$

    $F=\tanh \left(S^{T} W_{s g} G\right)$

  这里 $W_{s g}$ 是一个 $d \times g$ 的参数矩阵,接着按照以下方式得到 $H^{s}$ 和 $H^{g}$ 。

    $\begin{array}{l}\mathbf{H}^{s}=\tanh \left(\mathbf{W}_{s} \mathbf{S}+\left(\mathbf{W}_{g} \mathbf{G}\right) \mathbf{F}^{\top}\right) \\\mathbf{H}^{g}=\tanh \left(\mathbf{W}_{g} \mathbf{G}+\left(\mathbf{W}_{s} \mathbf{S}\right) \mathbf{F}\right)\end{array}   \quad\quad\quad(4)$

  这里  $W_{s} \in \mathbb{R}^{k \times d}$, $W_{g} \in \mathbb{R}^{k \times g}$  ,这里的  $F$  和  $F^{T}$  可以看做在做 user-interaction attention 空间和 source story word attention 空间的转换。接下来得到 attention 的权重:

    $\begin{array}{l}\mathbf{a}^{s}=\operatorname{softmax}\left(\mathbf{w}_{h s}^{\top} \mathbf{H}^{s}\right) \\\mathbf{a}^{g}=\operatorname{softmax}\left(\mathbf{w}_{h g}^{\top} \mathbf{H}^{g}\right)\end{array}  \quad\quad\quad(5)$

  这里  $a^{s} \in \mathbb{R}^{1 \times m}$,$a^{g} \in \mathbb{R}^{1 \times n}$ , $w_{h s}, w_{h g} \in \mathbb{R}^{1 \times k} $ 是学习的参数。最后可以得到源倠文 和用户交互的 attention 向量:

    $\hat{\mathbf{s}}_{1}=\sum\limits_{i=1}^{m} \mathbf{a}_{i}^{s} \mathbf{s}^{i}, \quad \hat{\mathbf{g}}=\sum\limits_{j=1}^{n} \mathbf{a}_{j}^{g} \mathbf{g}^{j} \quad\quad\quad(6)$

  $\hat{s}_{1}$ 和 $\hat{g}$ 描述源推文中的单词是如何被用户参与互动的。

Source-Propagation Co-attention.

  按照上述类似过程生成 $S$ 和 $C$ 的 attention 向量 $\hat{s}_{2}$ 和 $\hat{c}$。

  注意基于 GRU 的传播表示没有用来学习与 $S$ 的交互。这是因为对于假新闻的预测来说,转发序列的用户特征能够起到重要的作用。因此本文采用基于 GRU 和 CNN 的两种方式来学习传播表 示,其中基于 CNN 的传播表示被用来学习与 S 的交互,基于 GRU的传播表示在进行最终预测时 用作最终分类器的直接输入。

5.6 Make Prediction

  最终使用 $f=\left[\hat{s}_{1}, \hat{g}, \hat{s}_{2}, \hat{c}, h\right]$ 来进行假新闻检测: 

    $\hat{y}=\operatorname{softmax}\left(\operatorname{Re} L U\left(f W_{f}+b_{f}\right)\right)$

  损失函数采用交叉熵损失:

    $\mathcal{L}(\Theta)=-y \log \left(\hat{y}_{1}\right)-(1-y) \log \left(1-\hat{y}_{0}\right)$

6 Experiments

Baseline:

  谣言检测——(GCAN)《GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Media》

 

假新闻早期检测
  GCAN也可以用于假新闻早期的检测,也就是在转发用户不多的时候进行检测,实验改动了使用的转发用户数量来进行验证:

  谣言检测——(GCAN)《GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Media》

 

消融实验

  另外移除了一部分组件进行了消融实验,图中 -A,-R,-G,-C 分别代表 移除dual co-attention,基于GRU的表示,graph-aware的表示和基于CNN的表示:

  谣言检测——(GCAN)《GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Media》

 

   -S-A 代表既没有源推文 Embedding 也没有 dual co-attention,由于源推文提供了基本线索,因此 -S-A 有一个明显的性能下降。

可解释性
  source-propagation co-attention 学习到的 attention 权重可以用来为预测假新闻提供证据,采用的方式就是标识出源推文中的重要的词和可疑的用户。注意,我们不考虑 source-interaction Co-attention 的可解释性,因为从构造的图中学到的用户交互特征不能直观地解释。

  下图是根据对源推文中的 attention 权重绘制的两个例子的词云(权重越大,词云中的词就越大):

  谣言检测——(GCAN)《GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Media》

  图中结果满足常识,也就是假新闻倾向于使用戏剧性和模糊的词汇,而真实新闻则是被证实和核实事实的相关词汇。

  另外我们希望利用传播中的转发顺序来揭示假新闻与真新闻的行为差异。下图采集并展示了三个假新闻和三个真新闻的传播序列 attention 的权重:

  谣言检测——(GCAN)《GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Media》

 

  结果表明,要确定一个新闻是否虚假,首先应该检查早期转发源推文的用户的特征。假新闻的用户 attention 权重可能在传播过程中均匀分布。

  source-propagation co-attention可以进一步解释可疑用户的特征及其关注的词语,举例如下图:

  谣言检测——(GCAN)《GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Media》

  可以发现,可疑用户在转发传播中的特征有:
  ①账号未被验证;
  ②账号创建时间较短;
  ③用户描述长度较短;
  ④距发布源推文用户的图路径长度较短。

  他们高度关注的词是“breaking”和“pipeline”这样的词。我们认为这样的解释有助于解读假新闻的检测,从而了解他们潜在的立场。