论文笔记:相似感知的多模态假新闻检测

整理了RecSys2020 Progressive Layered Extraction : A Novel Multi-Task Learning Model for Personalized Recommendations)论文的阅读笔记

  • 背景
  • 模型
  • 实验

论文地址:SAFE

背景

  在此之前,对利用新闻文章中文本信息和视觉信息之间的关系(相似性)的关注较少。这种相似性有助于识别虚假新闻,例如,虚假新闻也许会试图使用不相关的图片来吸引读者的注意力。本文提出了一种相似感知的新闻检测方法(SAFE),该方法研究新闻文章的多模态(文本和视觉)信息。首先,分别提取文本特征和视觉特征进行新闻表示。进一步研究了跨模态提取的特征之间的关系。这种新闻文本和视觉信息的表征以及它们之间的关系被共同学习并用于预测假新闻。所提出的方法有助于根据文本、图像或不匹配来识别新闻文章的真实性。
  SAFE由三个模块组成,分别进行(1)多模态(文本和视觉)特征提取;(2)模态内(或者说模态无关)假新闻预测;(3)跨模态相似性提取。
  主要贡献:提出了第一种研究新闻文本和视觉信息之间的关系(相似性)在预测假新闻中的作用的方法,联合利用多模态(文本和视觉)和关系信息来学习新闻文章的表示和预测假新闻。

模型

  符号定义:对于一篇新闻(article) A = { T , V } A=\{T,V\} A={T,V}由视觉信息 V V V和文本信息 T T T组成,定义 t ∈ R d t\in R^d tRd v ∈ R d v\in R^d vRd作为相应的表示, t = M t ( T , θ t ) t=M_t(T,\theta_t) t=Mt(T,θt) v = M v ( V , θ v ) v=M_v(V,\theta_v) v=Mv(V,θv),定义相似度函数 s = M s ( t , v ) s=M_s(t,v) s=Ms(t,v),s是个0到1之间的值。通过这些信息,SAFE得到文章的二分类目标 y ^ = 0 / 1 \hat y=0/1 y^=0/1,定义总的函数: M p : ( M t , M v , M s ) ⟶ θ t , θ v , θ s y ^ ∈ { 0.1 } M_p:(M_t,M_v,M_s)\stackrel{\theta_t,\theta_v,\theta_s}{\longrightarrow}\hat y\in\{0.1\} Mp:(Mt,Mv,Ms)θt,θv,θsy^{0.1}
  文本特征提取:本文使用经过全连接层扩展的Test-CNN提取每篇文章的表示,其结构如图二:
在这里插入图片描述
  包含一个卷积层和最大池化,给定一段包含n个单词的内容,每个单词首先被编码为 x t l ∈ R k , l = 1 , 2 , . . . , n x_t^l\in R^k,l=1,2,...,n xtlRk,l=1,2,...,n经过卷积层,我们会得到一个featuremap,定义为 C t = { c t i } i = 1 n − h + 1 C_t=\{c_t^i\}_{i=1}^{n-h+1} Ct={cti}i=1nh+1 h h h就是卷积核的大小,对相邻的h个单词的表示进行卷积,这个过程的公式: c t i = σ ( w t ⋅ x t i : ( i + h − 1 ) + b t ) c_t^i=\sigma(w_t\cdot x_t^{i:(i+h-1)}+b_t) cti=σ(wtxti:(i+h1)+bt) x i : ( i + h − 1 ) = x i ⊕ x i + 1 ⊕ . . . ⊕ x i + h − 1 x^{i:(i+h-1)}=x_i\oplus x_{i+1} \oplus...\oplus x_{i+h-1} xi:(i+h1)=xixi+1...xi+h1  其中 ⊕ \oplus 表示的是concat操作。通过公式我们可以看到,他这里所谓的卷积就是把窗口大小的单词表示全部拼接起来然后过一个全连接层,经过卷积后,每一个卷积核h,我们都会拿到一个n乘1的表示,n是单词数量。然后对于每一个卷积核形成的featuremap进行最大池化。到这里,我们定义拿到的结果为 c ^ t = m a x { c t i } i = 1 n − h + 1 , c ^ t ∈ R g \hat c_t=max\{c_t^i\}_{i=1}^{n-h+1},\hat c_t \in R^g c^t=max{cti}i=1nh+1,c^tRg,这个g就是卷积核的数量。
  然后作者又对它进行了进一步的处理: t = W t c ^ t + b t t = W_t\hat c_t+b_t t=Wtc^t+bt拿到最终的文本表示。这是一个d维的,所以 W t W_t Wt的维度应该是d乘g。
  图像特征提取,首先使用预训练的image2sentence model,然后还是使用Test-CNN提取表示,流程与上文相同,最后一步为 v = W v c ^ v + b v v = W_v\hat c_v+b_v v=Wvc^v+bv,拿到图像的d维表示。
  到这里,我们可以直接把新闻中提取到的文本和图像表示拼起来进行预测了,可以用交叉熵损失训练模型。作者认为,除此之外,新闻文章的虚假性也可以通过评估文本信息与视觉信息的相关性来检测;假新闻创作者有时会主动使用不相关的图像进行虚假陈述,以吸引读者的注意,或者由于难以找到支持性的非操纵图像而被动使用它们。与提供相关文字和视觉信息的新闻文章相比,那些陈述和图片不一致的新闻文章更有可能是假的。于是作者基于余弦相似度定义了一个相似度: M s ( t , v ) = t ⋅ v + ∣ ∣ t ∣ ∣ ∣ ∣ v ∣ ∣ 2 ∣ ∣ t ∣ ∣ ∣ ∣ v ∣ ∣ M_s(t,v)=\frac {t\cdot v+||t|| \ ||v||}{2||t|| \ ||v||} Ms(t,v)=2∣∣t∣∣ ∣∣v∣∣tv+∣∣t∣∣ ∣∣v∣∣  这个相似度是在[0,1]的范围取值,通过计算得到的这个相似度,作者重新定义了损失函数,把相似度加进去: L ( θ t , θ v ) = − E ( a , y ) ( y l o g ( 1 − M s ( t , v ) ) + ( 1 − y ) l o g M s ( t , v ) ) \mathcal{L}(\theta_t,\theta_v)=-E_{(a,y)}(ylog(1-M_s(t,v))+(1-y)logM_s(t,v)) L(θt,θv)=E(a,y)(ylog(1Ms(t,v))+(1y)logMs(t,v))  本文总的模型:在这里插入图片描述

实验

  实验使用的数据集是FakeNewsNet中的PolitiFact(政治)和 GossipCop(八卦)两个领域的数据集,数据集概览:
在这里插入图片描述  实验结果:
在这里插入图片描述  消融实验设置:(1)综合新闻文本信息、视觉信息及其关系(SAFE)在所有变体中表现最好;(2)使用多模态信息(SAFE\S或SAFE\W)比使用单模态信息(SAFE\T或SAFE\V)表现更好;(3)通过独立使用多模态信息(SAFE\S)或挖掘它们之间的关系(SAFE\W)来检测假新闻是相当的;(4)文本信息(SAFE\V)比视觉信息(SAFE\T)更重要。在这里插入图片描述

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

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

相关文章

Bert与ChatGPT

1. Bert模型 BERT(Bidirectional Encoder Representations from Transformers)是一种预训练语言表示的方法,由Google AI在2018年提出。它标志着自然语言处理(NLP)领域的一个重大进步,因为它能够理解单词在…

CSP-202009-1-称检测点查询

CSP-202009-1-称检测点查询 解题思路 本题的时间复杂度貌似没有限制&#xff0c;直接暴力枚举就能知识盲点&#xff1a;sort()函数-升序排序 #include <algorithm>给名为dis&#xff0c;长度为n的数组排序sort(new_dis, new_dis n); #include <iostream> #inc…

第69讲后端登录逻辑实现

Admin实体&#xff1a; TableName("t_admin") Data public class Admin {TableId(type IdType.AUTO)private Integer id; // 编号private String userName; // 用户名private String password; // 密码TableField(select false)private String newPassword; // 新…

labelimg 在pycharm下载使用

labelimg 使用数据标注工具 labelimg 制作数据集 在pycharm中搜索labelimg 选择版本安装 labelimg install 使用数据标注工具制作数据集 启动 带参数启动 1、cmd cd到指定目录 2、带参数启动标注工具 左侧可以选择切换为需要的数据格式 一些快捷键 和自动保存&#xff0c…

Stable Diffusion 模型下载:RealCartoon-Realistic - V13

文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十下载地址模型介绍 该检查点是 RealCartoon3D 检查点的一个分支。这个目标是在背景和人物中产生更“真实”的外观。我试图避免这个模型中更多的动漫、卡通和“完美”外观。这是一个肯

hexo 博客搭建以及踩雷总结

搭建时的坑 文章置顶 安装一下这个依赖 npm install hexo-generator-topindex --save然后再文章的上面设置 top: number&#xff0c;数字越大&#xff0c;权重越大&#xff0c;也就是越靠顶部 hexo 每次推送 nginx 都访问不到 宝塔自带的 nginx 的 config 里默认的角色是 …

python33-Python列表和元组之子序列

与前面介绍的字符串操作类似的是&#xff0c;列表和元组同样也可使用索引获取中间一段&#xff0c;这种用法被称为slice(分片或切片)。slice的完整语法格式如下: [start:end:step] 上面语法中start、end两个索引值都可使用正数或负数&#xff0c;其中负数表示从倒数开始。该语…

leetcode-4的幂

342. 4的幂 使用数学方法 如果一个数是4的幂次方&#xff0c;那么它一定可以表示为2的幂次方乘以4的幂次方。而2的幂次方在二进制表示中只有一个1&#xff0c;所以只需要判断n是否可以被4整除&#xff0c;并且n/4是否也是4的幂次方即可。 class Solution:def isPowerOfFour(…

easyx 随机火花生成器 视觉盛宴

作品介绍&#xff1a; 在数字化艺术的世界里&#xff0c;我们经常寻求模拟自然现象的方式&#xff0c;为观众带来沉浸式的体验。本作品“随机火花生成器”就是一个尝试&#xff0c;通过编程模拟了火花的随机生成和消散过程。 在这段代码中&#xff0c;我们使用了EasyX图形库&…

前端JavaScript篇之如何获得对象非原型链上的属性?

目录 如何获得对象非原型链上的属性&#xff1f; 如何获得对象非原型链上的属性&#xff1f; 要获取对象上非原型链上的属性&#xff0c;可以使用 hasOwnProperty() 方法。这个方法是 JavaScript 内置的对象方法&#xff0c;用于检查一个对象是否包含指定名称的属性&#xff0…

Python 3 中的 super()

Python super Python 的 super() 函数允许我们显式地引用父类。在继承的情况下&#xff0c;当我们想要调用父类函数时&#xff0c;它非常有用。 Python super 函数示例 首先&#xff0c;让我们看一下我们在 Python 继承教程中使用的以下代码。在该示例代码中&#xff0c;父类…

【论文阅读笔记】InstantID : Zero-shot Identity-Preserving Generation in Seconds

InstantID:秒级零样本身份保持生成 理解摘要Introduction贡献 Related WorkText-to-image Diffusion ModelsSubject-driven Image GenerationID Preserving Image Generation Method实验定性实验消融实验与先前方法的对比富有创意的更多任务新视角合成身份插值多身份区域控制合…

Linux操作系统基础(六):Linux常见命令(一)

文章目录 Linux常见命令 一、命令结构 二、ls命令 三、cd命令 四、mkdir命令 五、touch命令 六、rm命令 七、cp命令 八、mv命令 九、cat命令 十、more命令 Linux常见命令 一、命令结构 command [-options] [parameter]说明: command : 命令名, 相应功能的英文单词…

Dubbo源码一:【Dubbo与Spring整合】

正常在项目中&#xff0c;我们都是在Spring环境下使用Dubbo&#xff0c;所以我们这里就在Spring的环境下看看Dubbo是如何运作的 入口 在源码下载下来之后&#xff0c;有一个dubbo-demo目录&#xff0c;里面有一个基于spring注解的子目录dubbo-demo-annotation, 里面有一个生产…

Linux - updatedb 命令

1. 功能 updatedb 命令用来创建或更新slocate命令所必需的数据库文件。updatedb 命令的执行过程较长&#xff0c;因为在执行时它会遍历整个系统的目录树&#xff0c;并将所有的文件信息写入 slocate 数据库文件中。 补充说明&#xff1a;slocate 本身具有一个数据库&#xff…

【PyQt】10 QLineEdit

文章目录 前言一、回显模式&#xff08;EchoMode&#xff09;1.1 四种回显模式1.2 代码展示运行结果 二、校验器2.1 代码2.2 运行结果 三、通过掩码限制输入3.1 代码3.2 运行结果 总结 前言 1、QLineEdit 可以输入单行文字 2、回显模式 3、校验器 4、掩码输入 一、回显模式&am…

Linux开发:PAM3 Ubuntu(22.04)安装PAM开发库

Ubuntu22.04默认是不带pam开发库的&#xff0c;需要通过以下命令进行安装 sudo apt install libpam0g-dev 关于PAM的文档可以参考&#xff1a; Ubuntu Manpage: pam - Pluggable Authentication Modules Library 也可以通过man进行查看&#xff1a; man 3 pam 编译程序是需要加…

16进制内存地址——计算机内存地址为什么用16进制?

在计算机底层&#xff0c;内存地址通常以十六进制表示。使用十六进制可以更好地理解和识别内存地址、指针和寄存器等底层系统信息。 谈到内存地址&#xff0c;不可避免引出指针的概念。 变量和数据在内存中是如何存放的呢&#xff1f;我们知道&#xff0c;所谓程序是由计算机&a…

k8s-资源限制与监控 15

资源限制 上传实验所需镜像 Kubernetes采用request和limit两种限制类型来对资源进行分配。 request(资源需求)&#xff1a;即运行Pod的节点必须满足运行Pod的最基本需求才能 运行Pod。 limit(资源限额)&#xff1a;即运行Pod期间&#xff0c;可能内存使用量会增加&#xff0…

Jupyter Notebook如何在E盘打开

Jupyter Notebook如何在E盘打开 方法1&#xff1a;方法2&#xff1a; 首先打开Anaconda Powershell Prompt, 可以看到默认是C盘。 可以对应着自己的界面输入&#xff1a; 方法1&#xff1a; (base) PS C:\Users\bella> E: (base) PS E:\> jupyter notebook方法2&#x…