论文笔记:相似感知的多模态假新闻检测
整理了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)作为判据,通过不断迭代自适应结构来调整得到最佳滤波器…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
