题目:User Preference-aware Fake News Detection
会议:SIGIR 2021
论文地址:https://dl.acm.org/doi/pdf/10.1145/3404835.3462990
这篇文章是发布在SIGIR 2021上的一篇短文,文章提出了一种融合了用户偏好感知的假新闻检测框架UPFD。
具体来讲,我们可以利用新闻传播的历史信息来构建一个新闻传播图,图中包含一个新闻节点和参与该新闻传播的用户节点。对于用户节点,提取其最近的200条推文,然后利用预训练好的word2vec和BERT对推文进行编码,然后平均以得到用户偏好嵌入向量
。对于新闻节点,同样得到其嵌入向量表示。
传播图中包含了新闻传播的上下文语境,将前面得到的新闻节点嵌入和用户偏好嵌入作为节点的初始特征向量,然后利用GNN进行节点向量的聚合和更新,最后将所有节点向量平均以得到整个图的最终嵌入表示。由于新闻内容通常包含更多关于新闻可信度的明确信号,将图嵌入向量和初始的新闻节点的嵌入向量进行拼接,然后送入一个MLP进行分类。
本文框架可以概括如下:
模型框架比较简单,主要分为以下三个部分:
下面依次介绍。
将新闻帖子当做一个节点,然后转发该新闻的用户也当成节点,在这些节点之间我们可以构造一个树形传播图。
为了获得丰富的历史信息用于用户偏好建模,本文对每个账号最近的200条推文进行了抓取,总共抓取了近2000万条推文。对于帐户被暂停或删除的不可访问用户,如果直接将其从树形传播图中删除,会破坏完整的新闻传播级联,导致外生上下文编码效果不佳。因此,本文在可访问用户的推文中进行随机抽样,以组成这些无法被访问用户的历史推文。
为了对新闻文本信息和用户偏好进行编码,本文采用了两种基于语言预训练的文本表示学习方法。对于预训练的word2vec,本文使用spaCy来进行编码。spaCy包含了680K个单词的300维度的预训练向量。具体来讲,首先将用户最近200条推文进行合并,然后对其中已有单词的向量进行平均,得到用户偏好表示,新闻文本的嵌入也利用此方式得到。对于BERT模型,由于BERT的输入序列长度限制,无法使用BERT将200条推文编码为一个序列,因此将每条推文单独编码,然后平均,得到一个用户的偏好表示,最后,同样利用BERT模型得到新闻语料的嵌入表示。
不过值得注意的是,得到上面两组嵌入表示后,作者并未提到怎么将两组嵌入进行融合以得到最终嵌入。
给定社交媒体上的一篇新闻,用户外生上下文语境由参与该新闻的所有用户及他们间的关系组成。
因此,首先需要利用推文的传播信息构建一颗新闻传播图(树),树的根节点表示新闻帖子,其他节点表示传播该新闻的用户。
具体来讲,设新闻节点为
,传播该新闻的用户节点为
,这些用户节点是按照转发该新闻的时间的先后顺序来排列的。本文定义了以下两条规则来确定新闻传播路径:
,如果其转发该新闻的时间晚于
中任意一个它关注了的用户节点,则认为新闻是从具有最新时间戳的用户传播到用户
,这是因为最新的推文首先出现在Twitter应用程序的时间线中,因此被转发的概率更高。
没有关注包括源用户(发布该新闻的用户)在内的转发序列中的任何用户,则认为该用户从关注者数量最多的用户处获取到该新闻。因为根据Twitter内容分发规则,拥有更多关注者的用户的推文有更高的机会被其他用户查看/转发。
基于以上两条简单的规则,可以构造一个新闻的传播路径图,这个图中的结构信息中就包含了用户参与新闻传播的上下文语境信息。
构建完新闻的传播图后,图中包含新闻节点和用户节点。对于新闻节点,将前面1.1节中得到的新闻嵌入向量作为节点特征向量;对于用户节点,同样利用1.1节中得到的用户偏好嵌入向量作为特征向量。然后,利用GNN对图中节点的向量表示进行聚合以及更新,这样就实现了用户内生偏好信息和用户外生上下文信息的融合。
与很多基于GNN的图分类模型一致,在GNN的最后一层结束后,利用一个readout函数对所有节点的向量进行平均池化操作,以得到整个图的嵌入向量(用户参与嵌入)。
由于新闻内容通常包含更多关于新闻可信度的明确信号,因此本文并不只是简单的将利用GNN融合得到的图嵌入向量送入分类器进行分类,而是将2.1节中得到的新闻文本嵌入和用户参与嵌入进行拼接融合,丰富新闻嵌入信息。最后,融合后的新闻嵌入被送入一个双层MLP中进行分类。
数据集:
实验结果:
今日音乐推