论文标题:Towards Propagation Uncertainty: Edge-enhanced Bayesian Graph Convolutional Networks for Rumor Detection
论文链接:https://arxiv.org/abs/2107.11934
论文来源:ACL 2021
一、概述
现有的一些方法将谣言的传播结构构建成图,然后基于回复或转发关系来聚合邻域特征。然而,在信息传播的过程中,这些关系都被视为可信赖的边。如下图所示,一些不准确的关系(举例来说,有些回复可能与事实无关,比如一些小广告什么的)为谣言的传播结构带来了不确定性(uncertainty):
example对不可信赖关系的忽略将导致多层信息传播过程中的误差累积从而限制有效特征的学习。我们从两个方面论证了传播结构中这种固有的不确定性是不可避免的:
①在现实世界中,谣言的制造者总是狡猾的,他们倾向于恶意操纵他人,创建虚假的支持推文,或删除反对的声音,以逃避检测;
②对传播关系的一些标注是主观的和破碎的,可用的图将是真实传播结构的一部分,同时也包含噪声关系,从而产生不确定性。
为此本文提出了EBGCN(Edge-enhanced Bayesian Graph Convolutional Network)来处理传播结构中的不确定性。EBGCN的核心思想是根据观测图的先验信念(prior belief)自适应地控制消息传递,以替换传播图中的固定边权值。在每次迭代中,根据观察图中节点特征的先验信念,由隐关系(latent relation)的后验分布推断边的权值。然后,利用图卷积层,通过聚合重构边上的邻域信息来聚合节点特征。通过上述方式,EBGCN可以处理传播结构中的不确定性并且提高谣言检测的鲁棒性。
另外,由于训练时缺少一些关系,或者一些关系是不准确的,我们设计了一种边一致性训练框架(edge-wise consistency training framework)。该框架将对这些未标注关系的无监督一致性训练结合到对标注样本的有监督训练中,以促进更好的学习。我们进一步通过计算两种分布之间的KL散度来保证边的隐分布和节点特征在观测图中的分布的一致性。
二、问题陈述
- 问题陈述
使用代表谣言检测数据集,代表第个claim,是事件的数量,,代表帖子的数量,是原帖子,是第个相关回复的帖子,代表传播结构。具体的,被定义为一个图,是根节点,代表从被回复的帖子到转发帖子或回复帖子的边的集合(如上图(b))。举例来说,如果回复了,那么将有一条有向边,也就是;如果回复了,那么将有一条有向边,也就是。定义为邻接矩阵:
对于每个,都被关联的其真实性标签(False Rumor和True Rumor)),有时也有更细粒度的分类(Non-rumor, False Rumor, True Rumor, Unverified Rumor)。给定数据集,目的是学习分类器来进行谣言检测。
三、方法
- 概述
下图展示了EBGCN的大体架构:
框架模型的输入为claim的文本内容和传播结构,我们首先将传播结构构建成两个相反边方向的图,分别是top-down的传播图和bottom-up的扩散图。文本内容通过文本embedding层编码成embedding向量。然后我们通过两个主要模块——节点更新模块和边推理模块来迭代地捕获丰富的结构信息,接着聚合节点特征生成图embedding,最终输出claim的预测标签。
训练时通过未标注隐关系的反向传播损失来结合贝叶斯的无监督一致性训练,也就是通过最小化无监督和有监督损失的加权累加来优化模型。
- EBGCN
- 图形构造与文本embedding
对于每个claim,都需要构建两个图,分别是top-down的传播图和bottom-up的扩散图,他们对应的初始邻接矩阵为。为了更好地表示我们的方法,在下面的描述中省略了下标。
是帖子的特征矩阵,采用top-5000词的TF-IDF值作为帖子的特征向量。是源推文的特征向量。传播图和扩散图的初始特征矩阵是一样的,。
- 节点更新(Node Update)
采用图卷积层来更新节点特征,第层节点特征的计算过程为:
代表的标准化版本。初始化节点特征。这里的过程和BiGCN是一样的,不再赘述。
BiGCN链接:Bi-GCN:基于双向图卷积网络的社交媒体谣言检测
- 边推理(Edge Inference)
为了减轻不可靠关系的负面影响,本文的方法将原来的图重新调整边权重以变成一个软连接(就是说边权重不再全为1了)的图。具体的,我们通过计算一个基于当前层节点表示的变换来调整边的权重,从而更新邻接矩阵:
这里是指对于边,将对应的节点表示和的元素两两相减并取绝对值,假设这两个表示向量的维度为,那么的维度为。是一个神经网络,,源码中以矩阵为输入,通过一个一维卷积(输出channel数为64),再进行一维batch normalization,再通过一个LeakyReLU激活函数,最后再通过一个一维卷积(输出channel数为1)。代表假设的边之间的隐关系的数量,在实验中是一个超参数。代表sigmoid激活函数,将通过一个全连接层以后再通过这个sigmoid激活函数(注意这里没有使用softmax),代表对隐关系的预测。
我们在两个图和图上共享边推理层的参数。通过两个图卷积层后,模型能够以隐关系做驱动有效地聚合邻域节点特征,最终得到和。
- 分类
得到节点表示和后进行pooling操作以得到图的表示:
将两个图的表示拼接以后通过一个全连接层进行预测:
- Edge-wise Consistency Training Framework
- 监督损失
对于模型的预测损失,采用交叉熵损失:
代表claim的数量。
- 无监督损失
前述边推理过程中的是需要被学习的,而无监督损失就是为了学习这个过程。如上面框架图中展示的边推理部分,训练过程中,需要通过两个部分。首先通过经过一个全连接层和sigmoid激活函数来预测隐关系分布,然后更新邻接矩阵,在测试阶段也要经过这个过程。另外还需要使用来得到变量的先验分布,其先验分布服从高斯分布,使用来获得高斯分布的均值和方差,然后预测隐关系的分布。这两个分布和之间的KL散度即是无监督损失。具体的,有:
这里为:
在上面的概率中,我们单独地建模每个隐关系的先验分布,将每个隐关系的先验分布定义为高斯分布,其均值和方差由来得到。具体的:
这里和同样是神经网络,类似,也就是说隐关系的先验分布的某些参数(均值和方差)也是需要学习出来的。通过为隐关系设置先验分布,就相当于为隐关系设置了不同的权重。
前面式子中的另一个分布,也就是给定的情况下预测隐关系的后验分布,将由以下方式得到:
为方便表述,这里也使用和,其实跟前面的和不是同样的参数。这里公式和论文中的不尽相同,原因是代码中是以这种方式实现的,另外,论文中也有一些其他细节上的错误,总而言之,本文需要结合论文和代码来看,学习主要精神就足够了。
最终整个模型的参数按照以下损失来更新:
是一个权衡因子。
四、实验
- 数据集
数据集采用Twitter15,Twitter16和PHEME数据集,统计情况如下:
数据集- 实验结果
对比了多个baseline方法:
实验结果- 消融实验
探究了隐关系数量和损失权衡因子的影响:
消融实验- 早期谣言检测
探究了早期谣言检测的性能:
早期谣言检测- 例子
下图展示了一个假谣言的例子,通过边推理过程,一些无关的边的权重被缩小了:
example
网友评论