GCAN:可解释的社交媒体假新闻检测方法

论文标题:GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Media
论文链接:https://arxiv.org/abs/2004.11648
论文来源:ACL 2020

一、概述

目前假新闻检测问题仍然存在一些重要的挑战。比如:
①目前的一些方法要求文档为长文本,以便于能够更好地学习词和句子的表示。然而社交媒体上的一些推文大多是短文本,这就导致了一些数据稀疏性问题。
②一些SOTA的方法要求收集大量的用户评论,然而大多数用户仅仅是简单地转发推文而并不留下任何评论。
③一些研究认为社交网络中的信息扩散(即retweet)路径有助于错误信息的分类,从而学习基于树的传播结构的表示。然而,由于隐私问题,获取转发的扩散结构往往代价高昂,许多用户选择隐藏或删除社交记录。
④目前的一些方法缺乏可解释性,不能为支持谣言的可疑用户以及他们在制造谣言时关心的话题提供证据。

本文提出的方法利用源推文的短文本内容、转发用户序列以及用户资料来进行假新闻检测。也就是说本文的方法满足以下设置:
①短文本源推文;
②没有使用用户评论文本;
③没有使用社交网络和扩散网络的网络结构。

此外,我们要求假新闻检测模型具有可解释性,即在判断新闻是否虚假时突出证据。该模型将指出支持传播假新闻的可疑转发者,并突出他们特别关注的源推文中的词。

本文提出一个新的模型,即Graph-aware Co-Attention Network(GCAN)。首先从用户资料和社交互动中提取用户特征,然后使用CNN和RNN来学习基于用户特征的转发传播表示。另外使用图来建模用户之间的潜在交互,并且采用GCN来学习graph-aware的用户交互的表示。同时提出了dual co-attention机制来学习源推文和转发传播之间的相关性,以及源推文和用户交互之间的相互影响。最终利用学习到的embedding来进行假新闻的二分类预测。

二、方法

1. 问题陈述

\Psi =\left \{s_{1},s_{2},\cdots ,s_{|\Psi |}\right \}是推文的集合,U=\left \{u_{1},u_{2},\cdots ,u_{|U|}\right \}是用户的集合。每个s_{i}\in \Psi都是短文本文档(也叫做源推文)。s_{i}=\left \{q_{1}^{i},q_{2}^{i},\cdots ,q_{l_{i}}^{i}\right \}表明s_il_i个单词组成。U中的每个用户u_j都对应一个用户特征向量x_{j}\in \mathbb{R}^{d}。当一个推文s_{i}发布以后,一些用户将会转发s_i从而形成一个转发记录的序列,这被称为传播路径。给定一个推文s_i,它的传播路径表示为R_{i}=\left \{\cdots ,(u_{j},x_{j},t_{j}),\cdots \right \}(u_{j},x_{j},t_{j})表明第j个用户(其用户特征向量为x_j)转发了s_i,这里j=1,2,\cdots ,K。转发了s_i的用户集合记作U_i,最先转发s_i的用户记作u_1,转发时间记作t_1,其余用户u_j在时间t_j转发了s_it_{j}>t_{1})。每个s_i有一个binary的标签y_{i}\in \left \{0,1\right \}表明是否是假新闻(y_i=1代表s_i是假新闻)。我们希望能够利用上述数据来利用神经网络模型识别s_i是否是假新闻,另外,希望模型能够突出能够表明s_i真实性的一部分用户u_j和一些推文中的词q_k^i

2. GCAN框架

GCAN主要包括5个部分:
①user characteristics extraction,创建特征来量化用户如何参与在线社交网络;
②new story encoding,生成源推文中单词的表示;
③user propagation representation,使用提取的用户特征建模和表示源推文如何由用户传播;
④dual co-attention mechanisms,捕获源推文和用户交互/传播之间的相关性;
⑤making prediction,通过连接所有学习的表示生成检测结果。

GCAN的架构图如下:

GCAN

3. 模型

  • User Characteristics Extraction

用户u_j的特征向量x_j是定义得到的,具体的,包含以下特征:
①用户自我描述的字数;
②用户账户名的字数;
③关注用户u_j的数量;
④用户关注的人的数量;
⑤用户创建的story数量;
⑥举例用户第一个story经过的时间;
⑦用户的账户是否被验证过;
⑧用户是否允许地理空间定位;
⑨源推文发布时间和用户转发时间的时差;
⑩用户和源推文之间转发路径的长度(如果用户转发源推文则为1)。

最终得到x_{j}\in \mathbb{R}^{v}v是特征的数量。

  • Source Tweet Encoding

给定的源推文将使用一个word-level的encoder进行编码,输入是s_i中的每一个单词的独热向量。由于每个推文长度都不一样,这里设置m为最大长度,不足m的推文进行zero padding。使用E=[e_{1},e_{2},\cdots ,e_{m}]\in \mathbb{R}^{m}来表示源推文的独热编码表示,e_i是词的独热向量,使用一个全连接网络来获得word embeddingV=[v_{1},v_{2},\cdots ,v_{m}]\in \mathbb{R}^{d\times m}d是word embedding的维度,过程是:

V=tanh(W_{w}E+b_{w})

然后使用GRU来学习词序列表示,也就是s_t=GRU(v_t),t\in \left \{1,2,\cdots ,m\right \},最终得到S=[s^{1},s^{2},\cdots ,s^{m}]\in \mathbb{R}^{d\times m}

  • User Propagation Representation

我们的目的是利用提取的用户特征x_j以及推文的传播序列来学习用户传播表示。其根本观点是,真实新闻传播中的用户特征与虚假新闻传播中的用户特征是不同的。这里的输入是推文s_i的转发用户特征向量序列,用PF(s_{i})=\left \langle x_{1},x_{2},\cdots ,x_{t},\cdots ,x_{n}\right \rangle表示,n是选定的固定长度的转发用户数量。如果转发用户数量超过n则截取前n个,如果少于n则从PF(s_{i})中重采样直至长度为n

    • GRU-based Representation

给定传播序列PF(s_{i})=\left \langle\cdots ,x_{t},\cdots \right \rangle,使用GRU来学习传播表示,h_{t}=GRU(x_{t}),t\in \left \{1,\cdots ,n\right \},最终通过平均池化获得传播表示h=\frac{1}{n}\sum_{t=1}^{n}h_{t}h\in \mathbb{R}^{d}

    • CNN-based Representation

采用2D卷积来学习PF(s_{i})内特征的相关性,考虑\lambda个连续用户来建模其序列相关性,比如\left \langle x_{t},\cdots ,x_{t+\lambda -1}\right \rangle,卷积核W_f的大小就是\lambda \times v,总共使用d个卷积核,因此最终学习到的表示序列C\in \mathbb{R}^{d\times (n-\lambda +1)}

  • Graph-aware Interaction Representation

我们的目的是创建一个图来建模转发用户之间潜在的交互,想法是拥有特殊特征的用户之间的相关性对揭示源推文是否是假新闻能够起到作用。每个源推文s_i的转发用户集合U_i都被用来构建一个图\mathcal{G}^{i}=(U_{i}, \mathcal{E}_{i})。由于用户间的真实交互是不清楚的,因而这个图是全连接的,也就是任意节点相连,|\mathcal{E}_{i}| = \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=[w_{\alpha \beta }]\in \mathbb{R}^{n\times n}

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

H^{(l+1)}=\rho (\tilde{A}H^{(l)}W_{l})

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

  • Dual Co-attention Mechanism

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

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

H^{s}=tanh(W_{s}S+(W_{g}G)F^{T})\\ H^{g}=tanh(W_{g}G+(W_{s}S)F)

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

a^{s}=softmax(w_{hs}H^{s})\\ a^{g}=softmax(w_{hg}H^{g})

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

\hat{s}_{1}=\sum_{i=1}^{m}a_{i}^{s}s^{i}\\ \hat{g}=\sum_{j=1}^{n}a_{j}^{g}g^{j}

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

    • Source-Propagation Co-attention

按照上述类似过程生成SC的attention向量\hat{s}_{2}\hat{c}

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

  • Make Prediction

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

\hat{y}=softmax(ReLU(fW_{f}+b_{f}))

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

三、实验

  1. 对比baseline

对比了多项baseline的结果,效果有明显的提升:

实验
  1. 假新闻早期检测

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

早期检测g
  1. 消融实验

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

消融实验

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

  1. 可解释性

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

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

例子

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

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

例子

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

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

例子

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容