人工智能读书

基于树Transformer的推特谣言检测

2021-10-31  本文已影响0人  酷酷的群

论文标题:Debunking Rumors on Twitter with Tree Transformer
论文链接:https://aclanthology.org/2020.coling-main.476/
论文来源:COLING 2020

一、概述

PLAN模型通过post-level self-attention来建模任意两个微博帖子之间的依赖关系,以此达到了最佳性能。PLAN本质上将输入的推文看做一个全连接图,假设用户可能不会仅仅针对正在回复的推文,考虑到创建的内容也可能适用于对话中的其他推文。另外通过利用transformer,帖子的表示也得到了增强。然而,本文认为,这种忽略了层次结构中回复的具体目标的全连接可能会在帖子表示学习中产生突出问题,特别是在相对深入(deep)的对话或争论中。同时,一些其他基于传播树的方法(比如RvNN等)又过度简化了用户之间的交互。

下图展示了一个假谣言传播树的例子:

example

PLAN假设一篇推文指向所有对话内的其他推文,这在一个较浅的树中或许是正确的,然而在上图中的树中可能并不适用。在上图中可以看到推文大都和父亲节点的上下文相关联,而不同分支的推文并不会彼此联系,因此PLAN的全连接设计会带来一定的误差。为此,我们提出利用相关的语境信息来探索指向同一目标的立场,以增强表征。具体来说,传播树的每篇推文可能会触发一系列回复推文(比如上图x_{1}\rightarrow [x_{11},x_{12}]),这样的单元在本文中被定义为一个子树(subtree),这样的子树最终组成整个树的层次结构。另外本文的网络架构使用transformer,分为三种:bottom-up transformer, top-down transformer, hybrid transformer。

二、问题定义

每篇源推文的传播结构可以表示为树结构T(r)=\left \langle V,E\right \rangler是树的根节点,也就是源推文,V代表节点集合,每个节点代表对话中的一个帖子,E是有向边的集合。这里我们考虑两种传播树:
①Bottom-Up tree,回复节点指向被回复节点;
②Top-Down tree,边沿着信息传播的方向,与Bottom-Up tree的边的方向相反。

谣言检测任务就是学习一个分类器f来将每个claim分类:f:C_{i}\rightarrow Y_{i}Y_{i}包含四个类:Non-rumor, True rumor, False rumor,Unverified rumor (NTFU)。

三、方法

在谣言的传播结构中,回复推文能够进一个增强被回复的推文的立场,通过对比推文与它的相关推文(也就是子节点),能够self-check一些不准确信息。本文的核心思想是通过选择性地关注相应的推文,增强谣言指示性特征的表示学习,深入挖掘用户的观点,并根据传播树结构提炼不准确的信息。下图给出了本文模型的大致框架:

框架
  1. Token-Level Tweet Representation

每篇推文x_{i}=(w_{1},\cdots ,w_{t},\cdots ,w_{|x_{i}|})w_{t}\in \mathbb{R}^{d}d维预训练词向量。我们采用transformer的多头自注意力层来编码x_{i},也就是transformer的encoder,最终得到H_{i}=[h_{1};\cdots ;h_{|x_{i}|}]\in \mathbb{R}^{|x_{i}|\times d},然后通过max-pooling来得到推文的句子表示s_{i}\in \mathbb{R}^{1\times d}

s_{i}=max\mathrm{-}pooling(h_{1},\cdots ,h_{|x_{i}|})

  1. Post-Level Tweet Representation

一篇推文可以触发一系列回复推文,也就是一棵子树。我们的目标是交叉检查同一子树中的所有帖子,以增强表示学习,这是因为:
①帖子通常很短,因此每个节点所表达的立场与响应上下文紧密相关;
②同一子树中的帖子直接指向子树根节点中表达的意见和立场。

因此,通过比较同一子树中的所有响应帖子,可以获得一致的意见,从而降低错误信息(例如,支持虚假谣言的帖子)的影响。降低错误信息影响的意思是,按照前面图中假谣言的例子,在一棵子树中,如果根节点支持假谣言(错误信息),那么其子节点就会反驳根节点,从而起到纠正错误信息的作用,而如果根节点反驳假谣言,那么其子节点就会支持根节点,起到增强立场的作用。

我们提出了一个bottom-up的transformer,通过对每个子树节点的回复推文进行两两比较,来捕获对每个子树节点的一致立场。上图(c)展示了bottom-up transformer的过程。具体的,使用V(j)=\left \{x_{j},\cdots ,x_{k}\right \}x_{j}为根节点的子树节点集合,也就是包括根节点x_{j}以及直接回复x_{j}的节点。在子树上应用一个post-level attention(也就是上图(b)的架构)来获得每个节点的新的表示:

[s_{j}^{'};\cdots ;s_{k}^{'}]=TRANS([s_{j};\cdots ;s_{k}],\Theta _{T})

\Theta _{T}是模型参数。注意一部分节点在不同的子树中既可能是根节点也可能是子节点。因此,模型中的一部分节点从底层子树到上层子树进行了两次再编码:
①作为子节点与父亲节点对比来捕获立场;
②通过关注邻居节点来过滤错误信息。

Top-down transformer的方向与bottom-up transformer相反,沿着信息传播的方向,其架构如上图(d)所示。同样的,其学习到的表示也通过捕获立场和自我纠正上下文信息得到增强。

  1. 预测

最后通过attention机制来聚合推文表示:

\alpha _{i}=\frac{exp(s_{i}^{'}\cdot \mu ^{T})}{\sum _{j}exp(s_{j}^{'}\cdot \mu ^{T})}\\ \tilde{s}=\sum _{i}\alpha _{i}\cdot s_{i}^{'}

这里s_{i}^{'}也可能是s_{i}^{''},以框架图为准。\mu \in \mathbb{R}^{1\times d}是注意力机制的参数。Top-down transformer与bottom-up transformer都按照上述方式得到\tilde{s},而hybrid transformer拼接两个\tilde{s}。接着进行预测:

\hat{y}=softmax(V_{o}\cdot \tilde{s}+b_{o})

V_{o},b_{o}是输出层的参数。使用平方损失函数进行训练:

L(y,\hat{y})=\sum_{n=1}^{N}\sum_{c=1}^{C}(y_{c}-\hat{y}_{c})^{2}+\lambda ||\Theta ||_{2}^{2}

C代表类的个数,对参数进行L2正则化。使用AdaGrad进行训练,使用预训练GloVe Wikipedia 6B词向量作为word embedding,模型维度d为300,全连接层维度为600,token-level和post-level的层数为1和6,head数量为12,学习率为0.01,dropout丢弃率为0.2。

四、实验

  1. 数据集

使用TWITTER和PHEME数据集进行实验,按照传播树深度将两个数据集划分为TWITTER-S (PHEME-S)和TWITTER-D (PHEME-D)一共4个数据集,下表展示数据集的统计情况:

数据集统计
  1. 实验

对比多个baseline:

实验

实验表明PLAN在传播树较深的数据集上表现不佳,而本文的方法在传播树较深时效果较好,这验证了前面的假设。

  1. 早期谣言检测

早期谣言检测实验:

早期谣言检测
  1. 举例对比PLAN和本文方法
example

上图例子对比了PLAN和本文方法关注的推文情况。绿色为PLAN关注到的推文,黄色为本文方法。可以观察到:
①在HD-TRANS中,具有较高的注意分数的节点,显示出明显的结构化谣言指示模式,比如否认的帖子引发了肯定的回应(x_{11}\rightarrow [x_{111},x_{112}]);
②PLAN关注的节点不依赖于结构而采用一致的立场或语义;
③HD-TRANS和PLAN在深度树上有显著的差异,在浅树上有相似的结果,这意味着我们所提出的模型可以更好地捕捉更复杂的传播模式。

上一篇 下一篇

猜你喜欢

热点阅读