GACL:基于对抗图对比学习的社交媒体谣言检测

论文标题:Rumor Detection on Social Media with Graph Adversarial Contrastive Learning
论文链接:https://dl.acm.org/doi/10.1145/3485447.3511999
论文来源:WWW 2022

一、概述

尽管基于GNN的方法在谣言检测领域取得了一些成功,但是这些基于交叉熵损失的方法常常导致泛化能力差,并且缺乏对一些带有噪声的或者对抗性的样本的鲁棒性,尤其是一些恶意谣言。有时,仅仅设置一个简单的扰动就会导致标签被高度置信地错误分类,这对谣言分类系统无疑是一个巨大的潜在危害。因此,现有的数据驱动模型需要变得更加健壮,以应对通常由正常用户无意识地产生和传播的错误信息或者由谣言制造者恶意设计的混乱对话结构。

谣言结构

本文提出了Graph Adversarial Contrastive Learning (GACL)模型,采用对比学习来学习谣言树结构的表示。首先采用一些图数据增强的策略比如edge perturbation和dropout mask来模拟上图中(b)类带有噪声的样本。然后引入监督图对比学习的方法来训练模型的GNN encoder明确地感知增强数据的差异,并学习健壮的表示。与自监督对比学习相比,我们的方法能够更高效地利用标签信息。这样的设计可以使得模型对上图中(b)类带有噪声的样本有一定的鉴别能力。下图阐述了监督图对比学习的流程:

监督图对比学习

但是仅仅包含上述模块是不够的,这是因为在现实世界中除了正常用户无意中制造和传播的错误信息,也有由造谣者精心设计和刻意宣传的恶意谣言,如上图(c)。无论是篡改文本还是操纵网络结构,谣言制造者的目的都是让谣言在高维空间中接近非谣言样本,从而混淆模型。为了解决这个问题,我们设计了Adversarial Feature Transformation (AFT)模块,目的是利用对抗训练来生成有挑战性的特征。这些对抗性的特征将被用来作为对比学习中困难的负样本,帮助模型从这些困难的样本中加强特征学习。我们直观地认为,这些对抗性特征可以被解码为广泛的各种类型的扰动。

二、方法

  1. 问题定义

本文将谣言检测定义为一种分类任务,其目的是从一组带标签的训练事件中学习一个分类器,然后用它来预测测试事件的标签。使用,是第个事件,是事件的数量。每个事件包含ground-truth标签(也就是Rumor和Non-rumor)和其传播结构树,和分别是节点和边的集合。有时谣言检测被定义为一个四类的分类任务,相应的(也就是Non-rumor, False Rumor, True Rumor以及Unverified Rumor)。在模型训练阶段,由数据增强生成,目的是与原图一起学习一个分类器。在测试阶段,只有原图会被用来预测给定事件的标签。

  1. 框架

GACL的整体流程框架如下图:

GACL
  1. 图数据增强

GACL采用edge perturbation策略进行数据增强。具体的,对于一个图,其邻接矩阵为,特征矩阵为,edge perturbation在训练时将会根据一定的概率来随机丢弃、添加或者误置一些边,以此来干扰的连接。假设新生成的增强图为,为一个从原来的边集合中随机采样的矩阵,则的邻接矩阵可以计算为。对于边缘连通性模式变化的情况具有一定的鲁棒性,例如面对谣言制造者设计的伪装结构。

此外,对于谣言检测任务,上图中由post组成的图节点的文本信息也是正确分类谣言的关键线索之一,还需要对其进行增强以提供一些噪声。本文采用dropout mask来对这些文本进行增强,也就是随机mask每个post中的一些词,如上图所示。

  1. 图表示

本文使用BERT来获取事件的原文和评论的句子表示,以构建新的。为了强调原文post的重要性(也就是根节点的信息),我们以[CLS] Source [SEP] Comment [SEP]的形式来将原文和评论连接起来,以[CLS]这个token的最终表示作为节点的表示。

本文使用一个两层GCN作为encoder。当前图记为,其增强图为,经过两层GCN后学习到的节点表示矩阵为,最后使用一个mean-pooling来获得图的表示:

  1. AFT模块

由于模型在训练阶段只接触到由数据增强产生的包含随机噪声的输入样本,因此对对抗性样本(特别是一些被人类精心干扰的数据)缺乏鲁棒性。谣言制造者可能会对图结构进行伪装,或者使用谣言机器人来发布一些包含许多高频词和指示性词汇的评论来掩盖事实。这些行为的目的是使得在隐空间上谣言特征向量与非谣言相近。AFT模块旨在利用对抗的方法来在高维空间模拟这些行为并生成对抗性的向量。

如前面的框架图所示,AFT由两层全连接层、Dropout和Normalization(DN)组成。通过AFT模块后,被转换为:

AFT模块使用对抗的方法来训练,获得的向量将作为对比学习阶段的困难负样本。这一部分将在下面的小节进行介绍。

  1. 谣言分类

现在将和拼接以合并信息:

接着将输入到全连接网络和一个softmax层:

是预测的概率分布。

  1. 对抗对比学习

本文采用的损失函数旨在给定标签信息的条件下最大化正样本之间的一致性同时拉远负样本。如图三,以作为锚点,具备与相同标签的作为正样本,具备与不同标签的作为负样本。对比损失的目的是让具有相同标签的样本余弦相似度变大,具有不同标签的样本余弦相似度变小。最终的损失函数为:

这两部分损失分别是:

\mathcal{L}_{ce}=-\frac{1}{N}\sum_{k=1}^{N}\sum_{c=1}^{M}y_{k,c}log(\hat{y}_{k,c})\\ \mathcal{L}_{sup}=-\sum _{k\in K}log\left \{\frac{1}{|P(k)|}\sum _{p\in P(k)}\frac{exp(sim(m_{k},m_{p})\tau )}{\sum _{a\in A(k)}exp(sim(m_{k},m_{a})\tau )}\right \}

这里代表第几个样本,代表类别,是负样本索引,是正样本索引,为余弦相似度,也就是,是温度超参数。

一部分研究表明BERT驱动的句子表示容易造成坍塌现象,这是由于句子的语义信息由高频词主导。在谣言检测中,高频词经常被谣言制造者利用来逃避检测。因此采用对比学习的方式能够平滑化句子的语义信息,并且理论上能够增加低频但重要的词的权重。本文通过最小化来更新模型的参数,但不包括AFT的参数。

AFT基于对抗学习单独训练。模型中AFT的参数记作,其他参数记作。在每一个epoch中,我们最小化来更新,最大化来更新。我们利用对抗学习来最小化对抗样本与相同标签样本的一致性,最大化对抗样本与不同标签样本的一致性。整个算法如下:

算法

三、实验

  1. 数据集

本文在Twitter15,Twitter16和PHEME三个数据集上进行,数据集统计如下:

数据集
  1. 实验

下面是对比多个baseline的结果:

Twitter15
Twitter16
PHEME
  1. 消融实验

GACL-TEXT代表只使用原文和评论文本信息而不考虑谣言传播树的结构,GACL-NT移除了AFT模块,GACL-NCL移除了对比学习模块。实验结果如下:

消融实验

数据增强超参数的影响:

超参数
  1. 早期谣言检测

实验结果如下:

早期谣言检测

你可能感兴趣的:(GACL:基于对抗图对比学习的社交媒体谣言检测)