让机器来洞察他的内心!

news2024/11/23 22:29:24

本文所涉及所有资源均在传知代码平台可获取。

目录

洞察你的内心:你真的这么认为吗?

一、研究背景

二、模型结构和代码

D. 不一致性学习网络

E. 多模态讽刺分类

三、数据集介绍

四、性能展示

五、实现过程

1. 下载预训练的 GloVe 词向量(Common Crawl, 300d, 840B tokens):

2. 下载预提取的视觉特征并放置到 data/ 文件夹下:

3. 下载预提取的 BERT 特征并放置到 data/ 文件夹下:

5. 运行

六、运行过程

洞察你的内心:你真的这么认为吗?

  1. 随着用户生成的在线视频的指数级增长,多模态讽刺检测最近引起了广泛的关注。讽刺通常通过多种言语和非言语暗示来表达,例如语气变化、单词过分强调、音节拖长或表情严肃。 最近讽刺检测方面的大部分工作都是在文本数据上进行的。尽管取得了重大进展,但仍然存在两个主要挑战:以前的工作主要依赖于词级特征交互来建立模态间和模态内之间的关系,这可能会导致基本情感信息的丢失;
  2. 他们仅获得与文本模态交互的不一致信息,这可能导致对不一致的忽略。

为了解决这些难点,我提出了一种用于多模态讽刺检测的新型话语级不一致学习网络,其中多模态话语级注意力和不一致学习网络是两个核心模块。首先,M-ULA 与话语级多模态信息交互,补充单词级特征。 此外,ILN 自动选择主要模态和辅助模态,并利用交叉注意力和自注意力来学习不一致的表示。同时,我在流行的多模态任务–多模态讽刺的数据集–MUStARD 上对模型进行了测试,得到了不错的效果,证明了该模型的可靠性。

【注】 文章中所用到的数据集,都经过重新特征提取形成新的数据集特征文件(.pkl),当然我也提供了原视频数据以便大家自己提取特征,下载链接都放在了附件中的 readme文件中,感兴趣的小伙伴可以进行下载,谢谢支持!

一、研究背景

讽刺是一种复杂的语言表达形式,其预期含义常常与字面解释形成对比。 这种隐含的情感表达给情感分析和意见挖掘等自然语言处理任务带来了重大挑战。 以前的讽刺检测方法主要关注分类任务的文本模态。 然而,用户生成的在线视频的激增为多模式讽刺检测带来了机遇和挑战。 另外,多模态情感特征提取仍然是一个具有挑战性的问题。 首先,仅仅依靠词级特征不足以捕捉模态之间复杂的相互作用。 其次,在任意的跨模态和模内模态上可能会出现不一致的信息。 因此,仅用其他方式从文本中探索不一致信息可能会导致全面不一致信息的丢失。

二、模型结构和代码

多模态讽刺检测利用来自不同模态的有效信息来判断潜在的不一致性。在本研究中,文本(It∈RLtIt RLt )、声学(Ia∈RLaIa RLa )和视觉(Iv∈RLvIv RLv )这三种模态序列被用作源数据。此外,将多模态讽刺检测视为一个二分类任务,其中三种序列作为输入,讽刺性是最终的预测结果。

如上图所示,提出的用于多模态讽刺检测方法的话语级不一致学习网络由三层组成。 对于话语级特征提取层,为了从模态内和模间间捕获更丰富的有效信息,首先使用单模态编码器和话语级注意力分别获取文本、音频和视觉特征。 然后,利用多模态话语级注意力(M-ULA)来获取交互的融合特征。 对于不一致学习网络层,首先需要确定主要模态,然后采用交叉注意机制来捕获不一致信息,最后采用自注意机制来获取增强的不一致信息。 对于预测层,通过 softmax 分类器预测多模态讽刺标签。

1. 话语级特征提取

a) 单模态特征提取:该模块包括三个主要功能:词元级单模态特征提取、对齐以及话语级特征表示。对于文本模态,采用预训练的BERT-base模型将输入的文本词元编码为词嵌入。对于音频和视觉模态,参考之前的工作,利用长短期记忆网络(LSTM)提取初始特征,其表示为:It′=BERT(It)It =BERT(It )

其中,If′∈RLf×dfIf RLf ×df ,f∈{t,a,v}f∈{t,a,v},LfLf 是特征长度,dfdf 代表特征维度。

此外,部署了一维卷积层和尺度层来对齐特征向量空间的维度,表示为:

其中,Scale(θ)=θ∥θ∥2Scale(θ)=θ2 θ ,Xf∈RLf×dfXf RLf ×df 。值得注意的是,通过卷积层和尺度操作标准化了不同模态的特征空间维度,即 dt=da=dvdt =da =dv

2. 模态重建模块

提出了一个模态重建(MR)模块,基于这样一个关键观点:从提取的模态序列中重建完整的模态序列,可以引导提取模块学习缺失部分的语义。对于每种模态,首先在特征维度上执行自注意力机制,以捕获提取特征之间的交互。

其中 m∈{t,a,v}m∈{t,a,v},Hm∗Hm 被视为转换后的序列特征。然后,进行线性变换,将提取的特征映射到输入空间。

其中 m∈{t,a,v}m∈{t,a,v},WmWm 和 bmbm 是线性层的参数。

在监督方面,利用原始和生成器在缺失元素上的 SmoothL1Loss(·) 作为生成损失 LmgLmg ,以提升缺失重建的效果。

Lmg=SmoothL1Loss(U^m∗M′,Um∗M′),Lmg =SmoothL1Loss(U^m M,Um M),

其中 m∈{t,a,v}m∈{t,a,v},M′M 是缺失掩码,用于标识输入模态序列中的缺失位置。

3. 融合模块

在重建损失的指导下,通过补充模态信息增强不完整的模态序列后,将它们融合为一个联合向量用于情感预测。提出了一个CNN门控编码器,用于分别编码增强的模态序列HmHm

CNN Gate Encoder:首先,提取的模态序列HmHm 通过一个双向GRU层处理,并通过tanhtanh激活函数获得更新的表示Hm′′Hm′′

然后,设计了一个卷积门组件进一步编码HmHm 。具体来说,一个一维卷积网络(CNN)使用窗口大小为kk的卷积核在输入Hm′′Hm′′ 上滑动,对序列中的每个元素得到一个标量值gigi 。使用填充策略确保Hm′′Hm′′ 和gg具有相同的序列长度:

其中,m∈{t,a,v}m∈{t,a,v},Conv1d(⋅)Conv1d(⋅)是一个一维卷积操作。gg被视为一个门,用于缩放表示HmHm ,过滤掉话语中不相关的上下文信息:

其中,⊗⊗表示逐元素相乘。此外,将表示Hm′Hm 和初始提取的序列Hm′′Hm′′ 进行连接。然后,使用一个全连接层来控制最终词级表示Hm∗Hm 的维度:

最后,利用最大池化操作来关注话语中具有更大影响的特征,定义最终的模态表示Um∗Um 为:

其中,hmhm 表示模态mm的隐藏维度。

三个模态表示的连接被视为融合结果,并输入到一个简单的分类器中,以进行情感强度的最终预测:

其中,BN表示批量归一化操作,LeakyReLU作为激活函数使用。Token级别的特征交互可能会导致遗漏关键信息。因此,使用话语级注意力(ULA)来学习单模态的独特特性。然而,单模态的ULA模块只能探索单个模态内部的关系。将单模态特征作为输入,得到的话语级特征表示为:

其中,Hf∈RdHf Rd。单模态ULA是M-ULA的简化版本,详细信息请参见下一部分。因此,首先通过Token级特征XfXf 获取话语级特征UfUf ,随后可以通过每个单模态的ULA获得更新后的特征HfHf

b) 多模态特征提取:该模块的主要任务是学习模态间的复杂关系,交互多模态信息,并通过多模态ULA获得融合的特征表示。将XtXt ,XaXa 和XvXv 输入到M-ULA中,学习融合后的多模态特征表示:

M-ULA的结构如图1右侧所示。设计了多模态话语级注意力(M-ULA)以探索复杂的模态内和模态间的交互。的目标是通过丰富的情感信息学习更加全面的多模态融合特征表示。将三个Token级别的单模态特征(XtXt ,XaXa ,XvXv )作为输入,并获得它们的话语级特征表示(UtUt ,UaUa ,UvUv )。通过注意力计算建立这六个情感特征之间的全连接关系,并最终通过融合得到更新后的特征。对于文本模态,利用XtXt 的第一个向量作为UtUt ,对应于BERT中的[CLS] token。对于音频和视觉模态,通过应用平均函数来得到它们的初始话语级特征。接下来,将这六个特征连接起来以获得融合特征:

其中,Xm∈R(3+Lt+La+Lv)×dXm R(3+Lt +La +Lv d,∣⋅∣∣⋅∣表示连接操作。

在训练过程中,这三个模态的话语级特征根据注意力分数(atti,jatti,j )与不同的特征信息进行交互,从而动态更新。首先学习查询(Q)= WqXmWq Xm ,键(K)= WkXmWk Xm 和值(V)= WvXmWv Xm ,其中Q/K/V∈R(3+Lt+La+Lv)×dQ/K/VR(3+Lt +La +Lv d,WfWf 为权重矩阵 f ∈ {t, a, v}。因此,多模态特征的注意力矩阵公式为:

其中,attentioni,j∈Rattentioni,j R,i,j∈[1,3+Lt+La+Lv]i,j∈[1,3+Lt +La +Lv ]。考虑到填充数据对特征表示的影响,设计了一个掩码矩阵MM,将实际单词和话语的位置设为零,而填充数据的位置设为−∞−∞。最终的注意力得分矩阵如下所示:

更新后的多模态特征表示Xm′∈R(3+Lt+La+Lv)×dXm R(3+Lt +La +Lv d通过残差函数获得:

然后,将交互后的特征分为两组:话语级特征(Ut′,Ua′,Uv′Ut ,Ua ,Uv )和Token级特征(Xt′,Xa′,Xv′Xt ,Xa ,Xv )。独立地对三个可学习的Token级特征进行加权和求和,得到融合的Token级特征值FtokenFtoken 。接着,通过取平均值,获得全局Token特征DtokenDtoken ,并将其与话语级特征融合生成融合特征DmDm 。最终,经过几个线性层后,得到多模态特征表示HmHm

D. 不一致性学习网络

a) 主要模态选择:为了评估模态不一致性,首先需要确定主要模态。参考文献[17],根据每种模态对讽刺检测的贡献自动分配权重值,贡献越高,权重值越高。在每个训练批次中更新权重值,同时保持所有可训练权重值的总和为1。获得主要模态PP以及辅助模态A1,A2,A3A1 ,A2 ,A3

b) 通过交叉注意力进行不一致性学习:为了从主要模态和辅助模态中获取不一致性信息,利用交叉注意力(CMA)机制获取交互后的辅助模态:

c) 通过自注意力进行不一致性学习:将交互后的主要模态$ \tilde{P}_{\tilde{A}1}, \tilde{P}{\tilde{A}2} 和和 \tilde{P}{\tilde{A}_3} $进行拼接,然后利用自注意力(SA)机制识别其显著成分,作为最终的主要模态表示:

其中,W1,W2W1 ,W2 和W3W3 是可训练的权重参数,模态本身通过这些权重参数来调整提取的辅助信息量。

E. 多模态讽刺分类

多模态讽刺检测任务旨在预测标签y∈{讽刺,非讽刺}y∈{讽刺,非讽刺}。因此,最终的句子级不一致性表示通过一个带有Softmax激活函数的全连接层来生成在多模态讽刺决策空间中的概率分布yy

其中,WoWo 和bobo 是可训练的参数。

三、数据集介绍

1. 多模态讽刺数据集:

  • MUStARD: 该数据集包含 690 个话语(345 个讽刺示例和 345 个非讽刺示例),这些话语源自著名电视节目,例如《老友记》、《生活大爆炸》、《黄金女郎》和《讽刺狂》。 实验数据集的详细统计数据如表一所示。

四、性能展示

五、实现过程

下载附件并准备好数据集并调试代码后,进行下面的步骤,附件已经调通并修改,可直接正常运行;

1. 数据集准备

附件中 data/sarcasm_data.json是已经标记好的讽刺标签

以下是执行上述任务的详细步骤:

1. 下载预训练的 GloVe 词向量(Common Crawl, 300d, 840B tokens):

下载链接在附件中readme.md;

2. 下载预提取的视觉特征并放置到 data/ 文件夹下:

你需要确保将视觉特征下载并解压到 data/features/ 文件夹中,使其包含 context_final/utterances_final/ 这两个子文件夹;

3. 下载预提取的 BERT 特征并放置到 data/ 文件夹下:

你需要确保下载到的文件包括以下两个文件:

  • data/bert-output.jsonl
  • data/bert-output-context.jsonl

你可以将这两个文件直接放在 data/ 文件夹下

5. 运行

在命令行中运行 python train_svm.py -h 查看可选项,以选择运行配置(或者可以修改 config.py),然后运行该脚本:

python train_svm.py -h

根据查看到的选项,你可以选择适合的运行配置并执行。

完成上述步骤后,你的环境应该已经正确配置,可以继续运行模型或进行其他实验了。

六、运行过程

感觉不错,点击我,立即使用

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

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

相关文章

端口被占用问题的解决方案

一、问题描述 如图,启动服务失败,失败原因是8080端口被占用 二、解决方案 1.更换端口为其它,例如8002 9001等 2.关闭占用端口的进程,推荐这种解决方案 步骤一:在win命令行查询占用该端口号的进程 命令如下 netsta…

使用浏览器这么多年,你真的了解DevTools吗?

Devtools是Web测试时每天都要用的工具,它提供了很多调试功能,可以帮助我们更好的定位问题。而我们平时使用的功能只是它全部功能的子集,很多功能并没用到过。 作为高频使用的工具,还是有必要好好掌握的。测试时在日常工作中提BUG…

项目前置知识

目录 std::bind 定时器 timerfd 时间轮设计 C11正则库 日志打印宏 通用类型ANY std::bind std::bind是C11提供的一个接口,他的功能:传递一个原始函数对象,对其绑定某些参数,生成一个新的函数对象。 其实简单来说&#xff…

YOLO--前置基础词-学习总结(上)

RFBNet是什么意思 RFBNet 是一种用于目标检测的深度学习网络,它的名字来源于 "Receptive Field Block Network"(感受野块网络)。简单来说,RFBNet 是一种可以让计算机更好地“看”图像中不同大小的物体的方法。 在图像处…

混凝土裂缝检测分割系统源码&数据集分享

混凝土裂缝检测分割系统源码&数据集分享 [yolov8-seg-RCSOSA&yolov8-seg-C2f-REPVGGOREPA等50全套改进创新点发刊_一键训练教程_Web前端展示] 1.研究背景与意义 项目参考ILSVRC ImageNet Large Scale Visual Recognition Challenge 项目来源AAAI Glo…

时间序列+Transformer席卷而来,性能秒杀传统,创新性拉满,引爆顶会!

时间序列分析与Transformer模型的结合,已成为深度学习领域的一大趋势。这种结合能够高效捕捉序列中的长期依赖关系,提升时间序列分析和预测的准确性。 时间序列Transformer技术在股票价格预测、气候预测、交通流量预测、设备故障预测、自然语言处理等多…

43页PPT | 大健康行业BI解决方案

药企应用现状与挑战 大健康行业中的药企在数据分析方面仍面临诸多挑战。传统的数据分析模式依赖于纸质记录和线下手动更新,导致数据时效性低、人力成本高,难以快速发挥数据价值。随着数据量的激增,多源数据的归集和整合成为药企数据分析的难点…

Python画笔案例-080 绘制 颜色亮度测试

1、绘制 颜色亮度测试 通过 python 的turtle 库绘制 颜色亮度测试,如下图: 2、实现代码 绘制 颜色亮度测试,以下为实现代码: """颜色亮度测试.py本程序需要coloradd模块支持,请在cmd窗口,即命令提示符下输入pip install coloradd进行安装。本程序演示brig…

JavaSE——面向对象6.1:继承知识点补充(虚方法表等)

目录 一、子类到底能继承父类中的哪些内容? 二、继承内存图 三、继承中:成员变量和成员方法的访问特点 (一)成员变量的访问特点 (二)成员方法的访问特点 1.this与super访问成员方法的特点 2.方法重写 2.1方法重写的本质:子类覆盖了从…

社区交流礼仪 | 提问的艺术

唠唠闲话 2021 年通过 Julia 社区了解到开源,自此开始融入开源社区,学习和体验这种独特的协作模式与交流文化,受益良多。本篇文章为开源新手必读,文章中探讨的交流模式,不仅对参与开源项目的协作有所帮助,…

计组体系软考题2-计算机组成原理与计算机体系结构概论

一、CPU组成(运算器控制器) 1.运算器 题1-存放操作数/运算结果的ACC累加寄存器 1. 2. 题2-加法器(算术逻辑单元的部件) 题3-判断对错 程序计数器PC(运算器),只存放地址题4- 2. 控制器 题1-…

10.8每日作业

当用户点击取消按钮,弹出问题对话框,询问是否要确定退出登录,并提供两个按钮,yes|No,如果用户点击的Yes,则关闭对话框,如果用户点击的No,则继续登录 当用户点击的登录按钮&#xff…

热网无线监测系统 GetMenuItem 接口存在SQL注入漏洞

漏洞描述 热网无线监测系统 /DataSrvs/UCCGSrv.asmx/GetMenuItem 接口处存在SQL注入漏洞,未经身份验证的远程攻击者除了可以利用 SQL 注入漏洞获取数据库中的信息(例如,管理员后台密码、站点的用户个人信息)之外,甚至…

Hydra 新手友好使用教程

1. Hydra 简介 Hydra是一款强大的网络登录暴力破解工具,支持多种协议。本教程将帮助新手快速上手,掌握常用指令和操作。 2. 基本语法 hydra [参数] 目标 3. 核心参数详解 3.1 用户名和密码设置 单个用户名: -l LOGIN 例:-l admin 用户名…

【LeetCode】动态规划—115. 不同的子序列(附完整Python/C++代码)

动态规划—115. 不同的子序列 前言题目描述基本思路1. 问题定义2. 理解问题和递推关系3. 解决方法3.1 动态规划方法3.2 空间优化的动态规划 4. 进一步优化5. 小总结 代码实现PythonPython3代码实现Python 代码解释 CC代码实现C 代码解释1. 变量定义:2. 初始化:3. 动态规划状态转…

高级算法设计与分析 学习笔记11 动态规划

要讲动态规划,当然少不了斐波拉及数列: 可以看到,动态规划效率高的秘诀就在于有记忆,不用做重复的事。 矩阵列乘法: 可以看到,只要找到了一个恰到好处的计算顺序(注意矩阵乘法只有结合律没有交换…

HT8513 内置自适应同步升压和防破音功能的6.5W D类及AB类音频功率放大器

1、特征 防削顶失真功能(防破音,Anti-Clipping Function, ACF) 免滤波器数字调制&#xff0c;直接驱动扬声器 输出功率 3W (VBAT3.3V, RL-4Ω, THDN<1%, 20-20kHz full band) 2.0W (VBAT3.3V, RL8Ω,THDN<1%, 20-20kHz full band) 6.5W (VBAT4.2V, RL2Ω, THDN10%,f1kHz…

SQL第14课挑战题

1. 将两个select语句结合起来&#xff0c;以便从OrderItems表中检索产品ID(prod_id)和quantity。其中&#xff0c;一个select语句过滤数量为100的行&#xff0c;另一个select语句过滤ID以BNBG开头的产品。按产品ID对结果进行排序。 2. 重新第一题&#xff0c;仅使用单个select语…

2021浙江省赛 F I

F - Fair Distribution 题意 给定两个a,b,每次操作可以使b或者a--,为使得b是a的倍数,最小操作次数是多少 思路 朴素版本:枚举a一直到1为止,每一次找到离b最近的a的倍数(>b),然后每次更新一下最小操作次数是多少,时间复杂度O(n*T) 优化版本:每一个a在找到:找到离b最近的…

图像增强论文精读笔记-Low-Light Image Enhancement via a Deep Hybrid Network

1. 论文基本信息 论文标题&#xff1a;Low-Light Image Enhancement via a Deep Hybrid Network 作者&#xff1a;Wenqi Ren等 发表时间和期刊&#xff1a;2019&#xff1b;IEEE TIP 论文链接&#xff1a;https://ieeexplore.ieee.org/document/8692732 2. 研究背景和动机 …