CIKM 2020 | FANG:利用社会语境及其图表示进行假新闻检测

目录

  • 前言
  • 1. 问题定义
  • 2. 从social context中构建图
  • 3. 事实新闻图框架 (FANG)
    • 3.1 表示学习
    • 3.2 时序建模
    • 3.3 损失函数
  • 4. 实验
    • 4.1 数据集
    • 4.2 实验结果
  • 5. 讨论
    • 5.1 数据集大小的限制
    • 5.2 时序建模的意义
    • 5.3 可扩展性
  • 6. 总结

前言

在这里插入图片描述
题目: FANG: Leveraging Social Context for Fake News Detection Using Graph Representation
会议: CIKM 2020
论文地址:FANG: Leveraging Social Context for Fake News Detection Using Graph Representation

这篇论文是发布在CIKM 2020上的一篇长文,最终该篇论文拿到了Best Paper。这篇文章提出了一个新颖的inductive图表示框架FANG用于假新闻检测。FANG通过捕捉用户、新闻和媒体之间丰富的社交互动来提高节点表示学习的质量,从而提高假新闻检测的精度。

具体来讲,模型构建了一个用户、新闻和媒体三类节点和四类边的异质图,对于用户和媒体节点,采用传统的inductive框架GraphSage进行节点表示的聚合更新,而对于需要进行分类的新闻节点,引入了带有时间戳的stance edge,然后利用一个带注意力机制的Bi-LSTM对时序性进行建模并对新闻节点的状态进行更新。最后,引入无监督的Proximity Loss、自监督的Stance Loss以及有监督的Fake News Loss三种损失函数来对模型进行联合优化。

1. 问题定义

本文构建的社交网络如下图所示:
在这里插入图片描述
网络中一共三类节点:用户节点、新闻节点和新闻来源(媒体)节点。

四类边:用户对新闻的立场、新闻来源(媒体)出版新闻、用户之间的友谊、媒体之间相互引用(如在某篇文章中引用了另一个媒体发布的新闻)。

节点及边介绍如下:
在这里插入图片描述
新闻文章节点的特征向量用 x a x_a xa表示,媒体节点的特征向量用 x s x_s xs表示,用户节点的特征向量用 x u x_u xu表示,边上的标签为 x e x_e xe。值得注意的是,某些边带有时间属性,例如用户对于某一新闻的立场会随着时间变化而变化。

在本文中,用户对新闻的立场被分为四类:中立支持、消极支持、反对、报道(只传播不发表意见)。其中,中立支持和消极支持是基于报道的新闻真实性和引发的情绪之间的相关性来确定。

下表总结了不同类型边的信息:
在这里插入图片描述
基于上面这些信息,本文的问题被定义为一个基于上下文的假新闻检测问题:给定一个由新闻文章 A A A、媒体 S S S、社交用户 U U U以及它们间的社交联系 E E E构建的social context G = ( A , S , U , E ) G=(A,S,U,E) G=(A,S,U,E),基于上下文的假新闻检测被定义为一个预测新闻类别的二分类任务,即对于 a ∈ A a\in A aA,得出 F C : a → ( 0 , 1 ) FC:a \rightarrow (0, 1) FC:a(0,1),其中0表示假新闻。

2. 从social context中构建图

有了新闻文章 A A A、媒体 S S S、社交用户 U U U以及它们间的社交联系 E E E后,我们需要利用这些信息来构建一个 G G G

具体来讲:

  1. 新闻文章:使用无监督文本表示来构建特征向量。对 ∀ a ∈ A \forall a \in A aA,根据 a a a的内容使用TF-IDF方法构造文本的向量。具体来讲,通过对glove中每个单词的TF-IDF值进行加权,形成一个语义向量来丰富新闻的表示。最后,将TF-IDF和语义向量连接起来,形成新闻文章特征向量 x a x_a xa
  2. 媒体。和新闻文章类似,只不过文本内容换成了媒体网站主页和about us中的部分单词。之所以这样做,是因为一些假新闻网站公开在其主页宣称其内容是讽刺或挖苦人的。
  3. 用户:对于社交用户,与前面类似,只是文本内容换成了用户个人的profile
  4. 社交联系:对于图中的边,定义为 e = { v i , v j , t , x e } e=\left \{ v_i, v_j, t, x_e\right \} e={vi,vj,t,xe}。其中, x e x_e xe表示的边的label,也就是类型。具体来讲,对于following,需要判断用户 u i u_i ui是否关注了 u j u_j uj;对于publication,则需要检查出版社 s j s_j sj是否出版了新闻文章 a i a_i ai;对于citation,则需要检查媒体 s i s_i si的homepage中是否包含新闻 s j s_j sj的链接。这里需要注意的是,关系publicationstance都和时间有关,因为随着时间变化,某个用户对新闻的立场可能会改变,某个媒体的主页可能也会撤下之前发布的新闻。
  5. 获取一段文本相对于另一段文本的观点的任务称为立场检测。在假新闻检测的背景下,本文研究了用户对可疑新闻文章标题的回复帖子。具体来讲,考虑四种立场:中性情绪支持或中性支持、负面情绪支持或负面支持、否认和报告。 如果在清除表情符号、标点符号、停用词和帖子中的url后,帖子与文章标题匹配,则将该归类为新闻文章的逐字报道。本文训练了一个立场分类器将帖子分类为支持或拒绝。本文构建了自己的数据集,用于社交媒体帖子和新闻文章之间的立场检测,其中包含来自31个新闻事件的2527对带标签的源-目标句子。对于每个带有参考标题的事件,会得到一个相关标题和帖子的列表,然后标记每个相关的标题或帖子是否支持或否认引用标题的说法。除了参考与标题相关的标题和与标题相关的帖子句子外,本文还进一步对标题相关的帖子句子对进行了二阶推论,即如果表达了与参考标题相似的立场,我们就推断出对相关标题相关的帖子的支持立场,否则否认。

将用户对文中的态度分类为支持和否定后,为了进一步将支持分类为中性和负面情绪,在Yelp Review极性数据集上微调了一个类似的架构,以获得情感分类器。

3. 事实新闻图框架 (FANG)

这一节主要介绍本文提出的Factual News Graph (FANG) ,即事实新闻图框架FANG。

FANG的总体框架如下所示:
在这里插入图片描述

3.1 表示学习

根据第二节的方法,可以构建出一个图,图中共三类节点和四类边,并且节点的特征向量也都已确定。

为了对新闻进行最终分类,我们需要更新所有节点的表示,即根据FANG来获取每一个社会实体的表示向量。

G r a p h S a g e ( ⋅ ) GraphSage(\cdot) GraphSage()表示GraphSage编码函数,则媒体节点和用户节点的表示向量都通过GraphSage来进行更新。而对于新闻节点,需要进行时序建模。

3.2 时序建模

新闻节点:定义一个聚合模型 F ( a , U ) F(a,U) F(a,U),其中 a a a表示新闻节点, U U U表示与该新闻节点有关联的用户节点,利用该聚合模型,可以将新闻节点映射为一个时域表示 v a t e m p v_a^{temp} vatemp。由于用户对新闻的立场带有时间戳,因此需要采用一个能够对时序数据建模的模型,本文选择了带有注意力机制的双向LSTM模型。

针对新闻节点的时序建模可以总结如下:LSTM模型的输入为一系列的user-article边,即 { e 1 , e 2 , . . . , e ∣ U ∣ } \left \{e_1,e_2,...,e_{|U|}\right \} {e1,e2,...,eU}。令:
m e t a ( e i ) ∈ R l = ( t i m e ( e i ) , s t a n c e ( e i ) ) meta(e_i)\in R^l=(time(e_i),stance(e_i)) meta(ei)Rl=(time(ei),stance(ei))
其中, m e t a ( e i ) meta(e_i) meta(ei)表示将新闻节点自发布以来的时间和立场类别的one-hot向量拼接起来。

然后,每条边 e i e_i ei的编码可以定义为:
x e i = ( z U i , m e t a ( e i ) ) x_{e_i}=(z_{U_i},meta(e_i)) xei=(zUi,meta(ei))
其中 z U i = G r a p h S a g e ( U i ) z_{U_i}=GraphSage(U_i) zUi=GraphSage(Ui)。即为了得到每条user-article边的编码,首先将时间戳和立场的one-hot向量拼接起来,再将该拼接向量与新闻节点的用户邻居节点的特征向量的聚合拼接起来。

得到边的编码后,将其输入到Bi-LSTM模型中,得到前后两个方向上每个时间步的编码表示 H f H^f Hf H b H^b Hb。其中 H f = h 1 f , h 2 f , . . . , h n f H^f=h_1^f,h_2^f,...,h_n^f Hf=h1f,h2f,...,hnf H b = h 1 b , h 2 b , . . . , h n b H^b=h_1^b,h_2^b,...,h_n^b Hb=h1b,h2b,...,hnb。得到了 n n n个状态向量后,需要对其进行加权以得到最终的前向和后向状态向量,因此这里需要计算一个注意力权重系数。

w i w_i wi h i f h_i^f hif h i b h_i^b hib的注意力权重系数,其定义如下:
在这里插入图片描述
具体来讲,注意力来源于隐状态和新闻特征的相似性。其中, M e M_e Me M m M_m Mm为两个可优化的映射矩阵。

得到了 n n n个权重系数后,利用下面公式对前向隐状态和后向隐状态进行加权组合:
h f = ∑ w i h i f a n d h b = ∑ w i h i b h^f=\sum w_ih_i^f \ \ \ and\ \ \ h^b=\sum w_ih_i^b hf=wihif   and   hb=wihib

然后,将加权后的前向隐状态和后向隐状态拼接起来,得到前面提到的新闻节点的时域表示 v a t e m p v_a^{temp} vatemp

然后将时域表示和结构表示(空间表示)结合起来,作为最终新闻节点的表示:
在这里插入图片描述

3.3 损失函数

按照前面的方法对将网络中所有节点的表示向量更新之后,需要计算相应的损失函数。

损失函数具体来讲分为三个部分:

(1)无监督的Proximity Loss
联系紧密的实体,它们的嵌入表示应该更加相似。因此,FANG应该在嵌入空间中将这些相邻的实体赋予一组相似的向量。本文还假设,松散联系的社会实体的行为往往不同于我们观察到的高度极化的社会实体,FANG应该强制这些不同实体的表示是不同的。

最能定义上述特征的社交互动是user-user友谊、source-source引用和news-source发表。

为了定义这种相关性,将整个图分为两个子图:news–source子图和user子图。对每一个子图,计算如下损失函数:
在这里插入图片描述
其中 P r P_r Pr N r N_r Nr分别表示正负样本。

(2)自监督的Stance Loss
本文认为,如果用户表达了对一篇新闻文章的立场,那么二者的表示应该是相近的

对于每一种立场 c c c,首先学习一个映射函数: α c ( u ) = A c z u \alpha_c(u)=A_cz_u αc(u)=Aczu。同样,对新闻节点的向量也进行映射: β c ( a ) = B c z a \beta_c(a)=B_cz_a βc(a)=Bcza

将新闻节点和用户的表示映射到同一维度后,就能计算二者的相似度,即向量内积。如果节点 u u u对节点 a a a表达了立场 c c c,就最大化相似度,否则最小化,因此,损失函数可以定义为:
在这里插入图片描述
其中 y u , a , c y_{u,a,c} yu,a,c定义为:
在这里插入图片描述

(3)有监督的Fake News Loss
为了预测一个新闻节点的真假性,将其表示向量和其source的表示向量拼接串联,然后输入到一个全连接层进行二分类任务。因此,损失函数可以定义为一个简单的交叉熵损失:
在这里插入图片描述
其中 T T T表示batch size

最终,将三种损失相加作为最终的损失函数,然后反向传播求导并更新前面提到的所有模型参数。

FANG的伪代码可以概括如下:
在这里插入图片描述

4. 实验

4.1 数据集

数据集的配置:
在这里插入图片描述

4.2 实验结果

在这里插入图片描述

5. 讨论

为了更好地理解FANG,做了一些具体分析。

5.1 数据集大小的限制

FANG在较小的数据集上能否还具有较好的效果?

为此,将训练集大小设置为不同的比例,做了多组实验,实验结果如下所示:
在这里插入图片描述
可以发现,在任意比例训练数据上,FANG都保持着不错的性能。

5.2 时序建模的意义

FANG在更新新闻节点的表示向量时,引入了时序信息。为了研究时序建模的作用,将FANG在每个时间窗口内产生的注意力权重进行累积,并跨时间窗口进行比较,结果如下:
在这里插入图片描述
可以发现,FANG将68.08%的注意力放在了一篇新闻文章发布后12小时内的用户粘性上,以判断其是否为假新闻。24小时后关注度急剧下降至18.83%,36小时至2周关注度下降至4.14%,第二周以后关注度下降至9.04%左右。

而对于真新闻,FANG仅将48.01%的注意力放在前12小时,在12 - 36小时和36小时-2周的时间窗口中分别下降至17.59%和12.85%。

因此,FANG的特征与一个普遍的观察结果是一致的:假新闻由于其令人震惊的本质在其发布后的短时间内产生了最多的关注。另一方面,真新闻吸引的注意力较少,但传播的时间较长,这也解释了为什么FANG在真新闻发表两周后仍能保持关注的原因。总的来说,这里的时间性研究突出了FANG在决策时的透明性,这在很大程度上归功于注意力机制。

5.3 可扩展性

在推断新节点的可信度时,由于FANG模型是inductive的,因此FANG可以使用其学习到的特征聚合器直接计算出新节点的嵌入表示,这大大减小了时间复杂度。

6. 总结

本文提出了一个新的假新闻检测框架FANG,FANG是一个图学习框架,该框架通过捕捉用户、文章和媒体之间丰富的社交互动来提高节点表示学习的质量,从而提高假新闻检测的精度。本文证明了在有限的训练数据下,FANG仍然具有较高的效率。此外,由于引入了时序建模和独特的注意力机制,FANG拥有捕获真假新闻的独特时间模式的能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/40346.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文看懂虚假新闻检测(附数据集 论文推荐)

作者丨孙子荀 单位丨腾讯科技高级研究员 研究方向丨多模态内容质量 本人过去几年一直从事内容质量方面的算法工作,近期出于兴趣对假新闻这个问题做了一些调研,简单总结一下提供读者参考。 在某种程度上假新闻的是一个微观领域问题,它和谣言分…

独家 | 社交媒体假新闻检测方法及发展方向(附数据集)

作者:Kai Shu and Huan Liu from Arizona State University 翻译:窦英通 本文长度为2000字,建议阅读5分钟 本文为你介绍社交媒体假新闻的描述和检测及未来研究方向。 社交媒体对新闻传播是一把双刃剑。一方面,它成本低廉&#xf…

论文阅读-虚假信息检测综述 - Fake News Detection on Social Media: A Data Mining Perspective

论文链接:https://arxiv.org/pdf/1708.01967.pdf 目录 摘要 1 引言 2. 假新闻定义 2.1 假新闻的定义 2.2 传统新闻媒体上的假新闻 2.3社交媒体上的假新闻 3.假新闻检测 3.1问题定义 3.2 特征提取 3.2.1 新闻内容特征 3.2.2 社会语境特征 3.3 模型构建 …

论文阅读-社交媒体上的谣言检测:数据集、方法和机会

论文链接:https://aclanthology.org/D19-5008.pdf 目录 摘要 引言 1.1谣言检测 1.2 问题陈述 1.3 用户立场 2 数据集和评估指标 2.1 数据集 2.2 评价指标 3 特点和方法 3.1使用内容信息的方法 3.2 利用用户信息的方法 3.3 基于传播路径和网络的方法 3.4…

说说Android桌面(Launcher应用)背后的故事(大结局)——让Widget拥有Application同等的待遇

前一篇中,演示了如何开发一个Widget以及如何开发一个WidgetHost应用。有了这个基础,我们就知道,要想在桌面上添加Widget,那么需要完成两件事情: 1、将桌面应用实现为一个WidgetHost应用 2、CellLayout需要为每个添加的Widget分配…

Android 系统桌面 App —— Launcher 开发

文章目录 Launcher简介注册AndroidManifest使用PackageManager扫描所有app显示app信息,添加点击事件 Launcher简介 Launcher就是Android系统的桌面,它也是一个app,用于管理其他的app。 注册AndroidManifest 要让app作为Launcher&#xff0…

Android 4.0 Launcher2源码分析——桌面快捷图标的拖拽

本文来自http://blog.csdn.net/chenshaoyang0011 转载请申明文章出处! 通过上一篇文章Android4.0Launcher2源码分析(五)——Workspace的滑动中,已经了解了Launcher的ViewTree中各层所负责的工作,在DragLayer中就负责对…

Android聊天界面实现方式

最近心血来潮,打算实现一个很久之前就想实现的一个界面,就是聊天界面,当时觉得好高大上啊,完全不会啊,不过最近不小心找到了方法。 效果图 本来是想上传一张动态图的,但是不知道怎么回事,半天传…

Android安卓-开发一个android桌面

从0开始 开发一个属于自己的桌面程序 最近在开发一个新项目&#xff0c;需要把应用改成桌面&#xff0c;并引导用户设置为默认桌面&#xff0c;完成后的效果如下图&#xff1a; 1.添加XML <activity android:name".activitys.DeskTop" android:launchMode"si…

安卓11客制需求:<MtkSettings:添加桌面设置,并且能够正常切换桌面APK>

需要修改的路径代码路径&#xff1a;vendor/mediatek/proprietary/packages/apps/MtkSettings/AndroidManifest.xml <!-- 注册一个activity&#xff0c;用于启动 com.android.internal.app.ResolverActivity --><!-- gyh add --><activity android:name".S…

还在用手记录会议笔记?录音转文字简单的方法介绍

相信很多小伙伴们的单位或者是公司每周都要开会&#xff0c;开会一般都要写会议记录存档&#xff0c;有很多朋友这个时候在会议上拼命的记&#xff0c;但是对于一些打字慢的或是写字慢的人来说怎么办呢&#xff1f;这样就会跟不上&#xff0c;其实有更搞笑的方法&#xff0c;首…

只需一键录音转文字,会议记录让你不在烦恼

来让我看看还有哪位朋友&#xff0c;还在傻傻一遍遍听会议录音&#xff0c;手写会议纪要呀&#xff1f; 都2022年了&#xff0c;你不会还不知道这款只需一键就能语音转文字的APP吧&#xff01; 90后打工人&#xff0c;今天给大家分享个职场必备软件&#xff0c;让你瞬间效率拉…

3、微信小程序-通信

文章目录 前言一、组件通信1.微信小程序组件内部&#xff08;页面与逻辑层之间&#xff09;通信2.微信小程序组件之间&#xff08;父子组件&#xff09;通信&#xff08;1&#xff09;父组件是如何向子组件传递数据的&#xff08;2&#xff09;子组件是如何向父组件传递数据的 …

微信小程序之页面通信方式

文章目录 一、前言二、页面通信是什么&#xff1f;三、传值的几种常用方式1.页面跳转传参2.页面跳转传入数据3.使用全局变量传递数据4.利用缓存进行传值 四、小结 一、前言 提示&#xff1a;微信小程序中&#xff0c;页面间的通信方式很重要&#xff0c;通信方式也有很多种&am…

【最新版全插件】多功能同城优选小程序源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 1.为本地的线下商家提供线上销售渠道。一直以来本地商品、娱乐、休闲、旅游服务线上购买大家都是以美团为准。近几年来随着微信公众号、小程序的渗透力逐渐加强&#xff0c;越来越多的…

微信公众号开发之绑定微信开发者

第一步&#xff1a;登录微信公众号&#xff0c;绑定网页开发者 在登录后的界面中&#xff0c;我们向下拉在左侧会看到有一个“开发者工具”点击。 这时在开发者工具中&#xff0c;会看到有好几个工具&#xff0c;其中有一个“web开发者工具”&#xff0c;我们点击进入。 在这里…

微信公众号登录授权(全网发布)一键绑定公众号设置

微信公众号登录授权&#xff08;全网发布&#xff09;一键绑定公众号设置教程及常见问题 前言&#xff1a;本操作跟服务器配置&#xff0c;网络环境等综合环境有关&#xff08;95%&#xff09;&#xff0c;另外存在5%的运气和人品。WeiDogs官方确保程序此功能正常并提供设置教程…

python微信公众号微信用户绑定第三方网站

场景 例如,某用户在第三方购物平台的账号(user_id/手机号码等)需要跟该用户的微信账号进行绑定, 实现在该购物平台的微信公众号中查询个人信息, 消费记录, 充值记录等操作.总的来说便是,将微信用户的open_id跟第三方网址user_id/手机号码等进行一对一关联 实现方案 微信用户…

微信公众号开发—通过网页授权实现业务系统登录及用户绑定(微信网页授权自动登录业务系统)

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; 微信公众号开发—通过网页授权实现业务系统登录及用户绑定(微信网页授权…

微信授权登录流程以及公众号配置方法(golang后端)

一、准备一个已经认证OK的微信公众号和已经备案的域名&#xff0c;且解析好配置好https证书。 1.如上图 微信公众号 > 基本配置 &#xff0c;设置开发者密码 2.设置IP白名单&#xff0c;白名单填写提供后端服务的服务器公网IP 二、公众号服务器配置。 1.找到基本配置 2.将服…