基于图的在线社区假新闻检测建模

论文原文:Graph-based Modeling of Online Communities for Fake News Detection

论文代码:GitHub - shaanchandra/SAFER: Repository containing the official code for the paper Graph-based Modeling of Online Communities for Fake News Detection.

  1. 作者构建了一个由两种节点和边组成的异构图,并在半监督图学习设置中将它们建模在一起。2. 作者没有进行用户分析,而是计算社区范围的社交上下文特征,这在之前没有相关工作调查过在线社区在假新闻检测中的作用。3. 为了获得社区的作用,作者仅使用了有关用户网络的信息,而不使用用户个人资料中的个人信息。4. 由于没有使用用户个人资料信息,如地址,种族,性别。因此它们不会学习将特定人群与特定的在线行为联系起来。

方法:

构建community graph

对于每一个数据集,都创建了一个异构community graph,其中包括两种节点:用户节点和文章节点。文章节点由二进制词袋(BOW)向量表示即,其中|v|是词汇的数量,。用户节点由二进制 BOW 向量表示,该向量是在他们共享的所有文章上构造的:,其中|表示逐位与操作,M表示用户分享的文章总数。接下来,我们添加两种类型的无向边:1. 如果用户在推文/转发了文章,则在用户和文章节点之间添加边(因此文章节点可以连接到多个用户节点)2. 如果两个用户节点之间在Twitter上互相关注,则在两个用户节点之间添加无向边。

作者在"最活跃的N个用户"(HealthStory 的 N=20K,GossipCop 的 N=30K)上进行了操作。为了避免频繁使用的用户使模型产生偏见,我们排除了在任一类中分享超过 30 百分比文章的用户。在GossipCop数据集上,最终的图有29962个用户节点,16766个文章节点和超过1.2M条边。

SAFER:虚假新闻检测架构

提出的框架(详见下文,如图 1 所示)在其中采用了两个组件,即基于图形和文本的编码器,其工作可以分为两个阶段:训练和测试。

图1: SAFER 框架的可视化表示。图形和文本编码器是独立训练的,然后是逻辑回归 (LR) 分类器的训练。在推理过程中,文章的文本以及有关其用户社交网络的信息分别由经过训练的文本和图形编码器进行编码。最后,使用经过训练的LR分类器将文章的社会背景和文本特征连接起来进行分类。

训练阶段: 首先在数据集上分别训练图编码器和文本编码器。文本编码器的输入是文章的内容,并且其被训练成一个文章分类器用于区分文章是否是虚假信息。训练后的文本编码器生成基于文章内容的文本特征其中是文本编码器的隐藏维度。图编码器是一个图神经网络,把community graph作为输入。GNN 使用来自文章节点的监督损失进行训练,该损失反向传播到网络的其余部分。经过训练的 GNN 能够生成一组用户嵌入,其中是图编码器的隐藏维度,且m是与文章交互的用户数量。然后,通过归一化和将这些用户表示聚合成一个固定大小的向量,:m:,其中表示表章的社会上下文特征。文章的最终社会上下文感知表示计算为 是串联运算符。这种聚合形式有助于 SAFER 保留每个表示形式编码的有关共享内容不同方面的信息。最终,被用于训练逻辑回归分类器。直观地说,经过训练的文本编码器从内容中捕获对任务至关重要的语言线索。同样,经过训练的图形编码器会根据用户的内容分享模式和社交关系,学习将用户分配到隐式在线社区。

测试阶段: 为了将未知的内容分类为虚假或真实,SAFER将文章的文本以及与之交互的用户网络作为输入。然后,它遵循与上面详述的相同的过程来生成待验证测试文章的社会上下文感知表示,并使用经过训练的 LR 分类器对其进行分类。

文本编码器

作者在SAFER中尝试了两种不同的架构作为文本编码器:

**卷积神经网络(CNN):**作者在文档上采用了句子级编码器Kim(2014)。该模型使用多个不同大小的一维卷积滤波器,这些滤波器通过在文章的长度上滑动来聚合信息。最终的固定长度文章表示是通过对特征图进行最大随时间变化的池化获得的。

**BoBERTa:**作为我们主要的文本编码器,我们微调了transformer编码器结构RoBERTa Liu et al. ( 2019b),并将其用于文章类别分析。RoBERTa 是一种使用动态掩码进行预训练的语言模型。具体来说,我们用它来编码每篇文章的前 512 个token,并使用 [cls] 标记作为文章嵌入进行分类。

图编码器

我们尝试了六种不同的 GNN 架构来生成用户嵌入,详情如下:

图卷积网络(GCN): GCNs Kipf and Welling (2016)把一个由其邻接矩阵n表示图中节点数,度矩阵D其中,和特征矩阵(包含节点的 m -维特征向量的特征矩阵)定义的图 𝒢 作为输入,GCN 在第i个卷积层的递归传播步长由下式给出:,其中σ表示激活函数,是度归一化的邻接矩阵,是第i层卷积层的权重矩阵,表示前面卷积层的输出, ti是第i层中隐藏单元的个数,其中

Graph Attention Networks (GAT): GAT

GraphSAGE: GraphSAGE

Relational GCN/GAT: https://doi.org/10.48550/arXiv.1703.06103

Hyperbolic GCN / GAT: HGCNHNN

相关推荐
肥猪猪爸11 分钟前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
LZXCyrus40 分钟前
【杂记】vLLM如何指定GPU单卡/多卡离线推理
人工智能·经验分享·python·深度学习·语言模型·llm·vllm
Enougme43 分钟前
Appium常用的使用方法(一)
python·appium
懷淰メ1 小时前
PyQt飞机大战游戏(附下载地址)
开发语言·python·qt·游戏·pyqt·游戏开发·pyqt5
hummhumm1 小时前
第 22 章 - Go语言 测试与基准测试
java·大数据·开发语言·前端·python·golang·log4j
YRr YRr1 小时前
深度学习神经网络中的优化器的使用
人工智能·深度学习·神经网络
hummhumm1 小时前
第 28 章 - Go语言 Web 开发入门
java·开发语言·前端·python·sql·golang·前端框架
幻风_huanfeng1 小时前
人工智能之数学基础:线性代数在人工智能中的地位
人工智能·深度学习·神经网络·线性代数·机器学习·自然语言处理
每天吃饭的羊2 小时前
python里的数据结构
开发语言·python
卡卡_R-Python2 小时前
UCI Heart Disease Data Set—— UCI 心脏病数据集介绍
python·plotly·django·virtualenv·pygame