论文笔记:相似感知的多模态假新闻检测
整理了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 t∈Rd和 v ∈ R d v\in R^d v∈Rd作为相应的表示, 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 xtl∈Rk,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=1n−h+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=σ(wt⋅xti:(i+h−1)+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+h−1)=xi⊕xi+1⊕...⊕xi+h−1 其中 ⊕ \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=1n−h+1,c^t∈Rg,这个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∣∣t⋅v+∣∣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(1−Ms(t,v))+(1−y)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)更重要。
相关文章:
论文笔记:相似感知的多模态假新闻检测
整理了RecSys2020 Progressive Layered Extraction : A Novel Multi-Task Learning Model for Personalized Recommendations)论文的阅读笔记 背景模型实验 论文地址:SAFE 背景 在此之前,对利用新闻文章中文本信息和视觉信息之间的关系(相似…...
5G技术对物联网的影响
随着数字化转型的加速,5G技术作为通信领域的一次重大革新,正在对物联网(IoT)产生深远的影响。对于刚入行的朋友们来说,理解5G技术及其对物联网应用的意义,是把握行业发展趋势的关键。 让我们简单了解什么是…...
Nacos1.X源码解读(待完善)
目录 下载源码 注册服务 客户端注册流程 注册接口API 服务端处理注册请求 设计亮点 服务端流程图 下载源码 1. 克隆git地址到本地 # 下载nacos源码 git clone https://github.com/alibaba/nacos.git 2. 切换分支到1.4.7, maven编译(3.5.1) 3. 找到启动类com.alibaba.na…...
算法之双指针系列1
目录 一:双指针的介绍 1:快慢指针 2:对撞指针 二:对撞指针例题讲述 一:双指针的介绍 在做题中常用两种指针,分别为对撞指针与快慢指针。 1:快慢指针 简称为龟兔赛跑算法,它的基…...
苍穹外卖面试题
8. 如何理解分组校验 很多情况下,我们会将校验规则写到实体类中的属性上,而这个实体类有可能作为不同功能方法的参数使用,而不同的功能对象参数对象中属性的要求是不一样的。比如我们在新增和修改一个用户对象时,都会接收User对象…...
【Qt 学习之路】在 Qt 使用 ZeroMQ
文章目录 1、概述2、ZeroMQ介绍2.1、ZeroMQ 是什么2.2、ZeroMQ 主线程与I/O线程2.3、ZeroMQ 4种模型2.4、ZeroMQ 相关地址 3、Qt 使用 ZeroMQ3.1、下载 ZeroMQ3.2、添加 ZeroMQ 库3.3、使用 ZeroMQ3.4、相关 ZeroMQ 案例 1、概述 今天是大年初一,先给大家拜个年&am…...
CI/CD到底是啥?持续集成/持续部署概念解释
前言 大家好,我是chowley,日常工作中,我每天都在接触CI/CD,今天就给出我心中的答案。 在现代软件开发中,持续集成(Continuous Integration,CI)和持续部署(Continuous D…...
golang常用库之-disintegration/imaging图片操作(生成缩略图)
文章目录 golang常用库之什么是imaging库导入和使用生成缩略图 golang常用库之 什么是imaging库 官网:https://github.com/disintegration/imaging imaging 是一个 Go 语言的图像处理库,它提供了一组功能丰富的函数和方法,用于进行各种图像…...
CSS 控制 video 标签的控制栏组件的显隐
隐藏下载功能 <video src"" controlsList"nodownload" />controlslist 取值如下(设定多个值则使用空格进行间隔) 如:controlslist"nodownload nofullscreen noremoteplayback"nodownload:取消更多控件弹窗的下载功…...
数据可视化之维恩图 Venn diagram
文章目录 一、前言二、主要内容三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 维恩图(Venn diagram),也叫文氏图或韦恩图,是一种关系型图表,用于显示元素集合之间的重叠区…...
2024刘谦春晚第二个扑克牌魔术
前言 就是刚才看春晚感觉这个很神奇,虽然第一个咱模仿不过来,第二个全国人民这么多人,包括全场观众都有成功,这肯定是不需要什么技术,那我觉得这个肯定就是数学了,于是我就胡乱分析一通。 正文 首先准备…...
【k8s系列】(202402) 证书apiserver_client_certificate_expiration_seconds
apiserver_client_certificate_expiration_second证书定义的位置:kubernetes/staging/src/k8s.io/apiserver/pkg/authentication/request/x509/x509.go at 244fbf94fd736e94071a77a8b7c91d81163249d4 kubernetes/kubernetes (github.com) apiserver_client_certi…...
Rust变量与常量介绍
Rust是一门注重安全性和性能的系统编程语言,其中变量和常量的概念有着独特的设计和特性。在本文中,我们将深入了解Rust中的变量和常量,并解释它们之间的区别,同时通过多个例子进行说明。 Rust常量 在Rust中,常量是不…...
Flask基础学习2
连接mysql数据库测试(专业版) [注意1:要导入text库,否则可能出现找不到select 1错误] [注意2:若出现下列问题,可按照模板代码的顺序db SQLAlchemy(app) 的位置] RuntimeError: Either SQLALCHEMY_DATABASE_URI or SQLALCHEMY_B…...
文章页的上下篇功能是否有必要?boke112百科取消上下篇功能
也不知道是从什么时候开始,我们很多站长的博客网站文章页都会在文末添加上“上一篇”和“下一篇”功能,目的是进行站内SEO优化和方便用户阅读上下篇文章。 boke112百科不管是以前使用的Three主题还是现在使用的YIA主题,刚开始的文章页都是有…...
Lua序列化
我们经常需要序列化一些数据,为了将数据转换为字节流或者字符流,这样我们就可以保存到文件或者通过网络发送出去。我们可以在 Lua 代码中描述序列化的数据,在这种方式下,我们运行读取程序即可从代码中构造出保存的值。 number/st…...
Acwing---839. 模拟堆
模拟堆 1.题目2.基本思想3.代码实现 1.题目 维护一个集合,初始时集合为空,支持如下几种操作: I x,插入一个数 x;PM,输出当前集合中的最小值;DM,删除当前集合中的最小值(…...
STM32 STD/HAL库驱动W25Q64模块读写字库数据+OLED0.96显示例程
STM32 STD/HAL库驱动W25Q64 模块读写字库数据OLED0.96显示例程 🎬原创作者对W25Q64保存汉字字库演示: W25Q64保存汉字字库 🎞测试字体显示效果: 📑功能实现说明 利用W25Q64保存汉字字库,OLED显示汉字的时…...
Android 移动应用开发 创建第一个Android项目
文章目录 一、创建第一个Android项目1.1 准备好Android Studio1.2 运行程序1.3 程序结构是什么app下的结构res - 子目录(所有图片、布局、字AndroidManifest.xml 有四大组件,程序添加权限声明 Project下的结构 二、开发android时,部分库下载异…...
MATLAB语音去噪系统
目录 一、背景 二、GUI页面 三、程序 3.1 LMS滤波程序 3.2 GUI程序 四、附录 一、背景 本文介绍了一种最佳的自适应滤波器结构,该结构采用最小均方差(LMS)作为判据,通过不断迭代自适应结构来调整得到最佳滤波器…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
ubuntu清理垃圾
windows和ubuntu 双系统,ubuntu 150GB,开发用,基本不装太多软件。但是磁盘基本用完。 1、查看home目录 sudo du -h -d 1 $HOME | grep -v K 上面的命令查看$HOME一级目录大小,发现 .cache 有26GB,.local 有几个GB&am…...
视觉slam--框架
视觉里程计的框架 传感器 VO--front end VO的缺点 后端--back end 后端对什么数据进行优化 利用什么数据进行优化的 后端是怎么进行优化的 回环检测 建图 建图是指构建地图的过程。 构建的地图是点云地图还是什么信息的地图? 建图并没有一个固定的形式和算法…...
【动态规划】B4336 [中山市赛 2023] 永别|普及+
B4336 [中山市赛 2023] 永别 题目描述 你做了一个梦,梦里有一个字符串,这个字符串无论正着读还是倒着读都是一样的,例如: a b c b a \tt abcba abcba 就符合这个条件。 但是你醒来时不记得梦中的字符串是什么,只记得…...
【SSM】SpringMVC学习笔记7:前后端数据传输协议和异常处理
这篇学习笔记是Spring系列笔记的第7篇,该笔记是笔者在学习黑马程序员SSM框架教程课程期间的笔记,供自己和他人参考。 Spring学习笔记目录 笔记1:【SSM】Spring基础: IoC配置学习笔记-CSDN博客 对应黑马课程P1~P20的内容。 笔记2…...
