传知代码-MSA+抑郁症模型总结(三)(论文复现)

news2024/9/27 7:20:53

代码以及视频讲解

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

热门研究领域:情感计算的横向发展

随着社交网络的不断发展,近年来出现了多模态数据的热潮。越来越多的用户采用媒体形式的组合(例如文本加图像、文本加歌曲、文本加视频等)。来表达他们的态度和情绪。多模态情感分析(MSA)是从多模态信息中提取情感元素进行情感预测的一个热门研究课题。传统的文本情感分析依赖于词、短语以及它们之间的语义关系,不足以识别复杂的情感信息。随着面部表情和语调的加入,多模态信息(视觉、听觉和转录文本)提供了更生动的描述,并传达了更准确和丰富的情感信息。先前的研究证实,不同模式之间通常存在潜在的相互作用。下图显示了MSA的优势。比如,有些句子的情绪是模棱两可的,不同的情境下有各种各样的情绪。在引入相应的音频信息之后,可以更准确地预测情绪的极性。这些相互作用的有效建模仍然是一个开放的挑战。
在这里插入图片描述

同时,竞争激烈的市场和保持竞争领先的需要对组织在生产力、创新等方面提出了更多的要求。繁重的工作量、更紧迫的期限、不切实际的目标、更长的工作时间、工作不安全感和人际冲突等导致员工之间的紧张关系。这反过来又为组织内的员工创造了一个紧张的工作环境。超过一定限度的压力会对员工的工作效率、士气和积极性产生负面影响。它还导致各种生理和心理问题。长期的压力会导致失眠、抑郁和心脏病。最近的研究人员发现长期的压力和癌症之间存在正相关。国际劳工组织在2019年宣布,“压力,过长的工作时间和疾病,导致每年近280万工人死亡,另外3. 74亿人因工作受伤或生病”。早期诊断和治疗对于减少压力对员工健康的长期影响和改善工作环境条件至关重要。检测抑郁症的常规方法是由生理学家进行问卷访谈。但这种方法是定性的、耗时的和不私密的。没有保证员工提供真实的答案,很多时候这种方法并没有达到初步筛选的目标。但是,HRV(心率变异性)、ECG(心电图)、GSR(皮肤电反应)、血压、肌电图和EEG(脑电图)是客观的,但没有私密性,并且由于其能够推断私人健康信息,员工可能对这些测试有抵抗力。因此,在最近的工作中,已经研究了来自视频、音频和文本的抑郁症监测。基于视频的研究跟踪了嘴唇、头部、心脏、眨眼频率、凝视的分布、瞳孔的大小和眼睛在面部各个区域的运动。基于语音的方法提取诸如功率电平、LPCC、MPCC、倒谱系数等特征,并使用机器学习算法进行分类以强调。基于文本的方法基于文本的方法从文本中提取句法和语言特征,并使用机器学习分类器来检测重音。

在这里插入图片描述

我致力于对情感计算领域的经典模型进行分析、解读和总结,此外,由于现如今大多数的情感计算数据集都是基于英文语言开发的,我们计划在之后的整个系列文章中将中文数据集(SIMS, SIMSv2)应用在模型中,以开发适用于国人的情感计算分析模型,并应用在情感疾病(如抑郁症、自闭症)检测任务,为医学心理学等领域提供帮助,此外还加入了幽默检测数据集,在未来,我也计划加入更多小众数据集,以便检测更隐匿的情感,如嫉妒、嘲讽等,使得AI可以更好的服务于社会。

【注】 我们文章中所用到的数据集,都经过重新特征提取形成新的数据集特征文件(.pkl),另外该抑郁症数据集因为涉及患者隐私,需要向数据集原创者申请,申请和下载链接都放在了我们附件中的 readme文件中,感兴趣的小伙伴可以进行下载,谢谢支持!

一、概述

这篇文章,我开始介绍第三篇情感计算经典论文模型,他是ACMMM 2020的一篇多模态情感计算的论文 “MISA: Modality-Invariant and -Specific Representations for Multimodal Sentiment Analysis”,其中提出的模型是MISA;
此外,原创部分为加入了抑郁症数据集以实现抑郁症检测任务,以及在SIMS数据集和SIMV2数据集上进行实验;值得注意的是,我们还加入了幽默检测的任务;

二、论文地址

MISA: Modality-Invariant and -Specific Representations for Multimodal Sentiment Analysis

三、研究背景

多模态情感分析和抑郁症检测是一个活跃的研究领域,它利用多模态信号对用户生成的视频进行情感理解和抑郁症程度判断。解决这一问题的主要方法是发展先进的模态融合技术。然而,信号的异质性造成了分布模式的差距,构成了重大挑战。在本文中,我们的目标是学习有效的模态表示,以帮助融合的过程。

四、主要贡献

  • 提出MISA,一个简单而灵活的多模态学习框架,强调多模态表示学习作为多模态融合的前体。MISA学习modality-invariant和modality-specific表示,以提供多模态数据的全面和分解视图,从而帮助融合预测情感状态;
  • MSA任务的实验证明了MISA的强大功能,其中学习的表示帮助简单的融合策略超越复杂的最先进的模型。

五、模型结构和代码

1. 总体框架
如下图所示,MISA的功能可以分为两个主要阶段:模态表征学习和模态融合。
在这里插入图片描述

2. 模态表征学习

语言层面的表征。首先,对于每个模态 m ∈ { l , v , a } m\in \{l,v,a\} m{lva},把它的话语序列 U m ∈ R T m × d m U_m \in R^{T_m \times d_m} UmRTm×dm映射到一个固定大小的向量 u m ∈ R d h u_m \in R^{d_h} umRdh上。使用一个堆叠LSTM,它的端态隐藏表示与一个完全连接的密集层相结合,给出了 u m u_m um

u m = s L S T M ( U m ; θ m l s t m ) u_m = sLSTM(U_m; \theta^{lstm}_m) um=sLSTM(Um;θmlstm)

模态不变和特定的表征。现在将每个话语向量 u m u_m um投射到两个不同的表示。第一个是 modality-invariant组件,它学习一个具有分布相似性约束的公共子空间共享表示。该约束有助于最小化异质性间隙–这是多模融合的理想特性。第二个是特定于模态的组件,它捕获了该模态的独特特征。通过这篇论文,我们论证了模态不变和模态特定表示的存在为有效融合提供了一个整体的视角。学习这些表示法是该工作的首要目标。

以下为部分代码展示

if not self.config.use_cmd_sim:
            # discriminator
            reversed_shared_code_t = ReverseLayerF.apply(self.utt_shared_t, self.config.reverse_grad_weight)
            reversed_shared_code_v = ReverseLayerF.apply(self.utt_shared_v, self.config.reverse_grad_weight)
            reversed_shared_code_a = ReverseLayerF.apply(self.utt_shared_a, self.config.reverse_grad_weight)

            self.domain_label_t = self.discriminator(reversed_shared_code_t)
            self.domain_label_v = self.discriminator(reversed_shared_code_v)
            self.domain_label_a = self.discriminator(reversed_shared_code_a)
        else:
            self.domain_label_t = None
            self.domain_label_v = None
            self.domain_label_a = None


        self.shared_or_private_p_t = self.sp_discriminator(self.utt_private_t)
        self.shared_or_private_p_v = self.sp_discriminator(self.utt_private_v)
        self.shared_or_private_p_a = self.sp_discriminator(self.utt_private_a)
        self.shared_or_private_s = self.sp_discriminator( (self.utt_shared_t + self.utt_shared_v + self.utt_shared_a)/3.0 )
        
        # For reconstruction
        self.reconstruct()

3. 模态融合
在将模态投影到它们各自的表示中之后,我们将它们融合到一个联合向量中,用于下游预测。我们设计了一个简单的融合机制,首先执行自注意-基于Transformer,然后是所有六个变换的模态向量的级联。

融合进程。首先,我们堆叠六个模态表示矩阵。然后,我们在这些表示上执行多头自注意,以使每个向量都知道其他跨模态(和跨子空间)表示。这样做允许每个表征从同伴表征中诱导潜在的信息,这些信息对总体情感取向是协同的。这种跨模态匹配在最近的跨模态学习方法中已经非常突出。

# Projecting to same sized space
self.utt_t_orig = utterance_t = self.project_t(utterance_t)
self.utt_v_orig = utterance_v = self.project_v(utterance_v)
self.utt_a_orig = utterance_a = self.project_a(utterance_a)
self.utt_private_t = self.private_t(utterance_t)
self.utt_private_v = self.private_v(utterance_v)
self.utt_private_a = self.private_a(utterance_a)
self.utt_shared_t = self.shared(utterance_t)
self.utt_shared_v = self.shared(utterance_v)
self.utt_shared_a = self.shared(utterance_a)

六、数据集介绍

1. CMU-MOSI: CMU-MOSI数据集是MSA研究中流行的基准数据集。该数据集是YouTube独白的集合,演讲者在其中表达他们对电影等主题的看法。MOSI共有93个视频,跨越89个远距离扬声器,包含2198个主观话语视频片段。这些话语被手动注释为[-3,3]之间的连续意见评分,其中-3/+3表示强烈的消极/积极情绪。

2. CMU-MOSEI: CMU-MOSEI数据集是对MOSI的改进,具有更多的话语数量,样本,扬声器和主题的更大多样性。该数据集包含23453个带注释的视频片段(话语),来自5000个视频,1000个不同的扬声器和250个不同的主题

3. AVEC2019: AVEC2019 DDS数据集是从患者临床访谈的视听记录中获得的。访谈由虚拟代理进行,以排除人为干扰。与上述两个数据集不同的是,AVEC2019中的每种模态都提供了几种不同的特征。例如,声学模态包括MFCC、eGeMaps以及由VGG和DenseNet提取的深度特征。在之前的研究中,发现MFCC和AU姿势分别是声学和视觉模态中两个最具鉴别力的特征。因此,为了简单和高效的目的,我们只使用MFCC和AU姿势特征来检测抑郁症。数据集用区间[0,24]内的PHQ-8评分进行注释,PHQ-8评分越大,抑郁倾向越严重。该基准数据集中有163个训练样本、56个验证样本和56个测试样本。

4. SIMS/SIMSV2: CH-SIMS数据集[35]是一个中文多模态情感分析数据集,为每种模态提供了详细的标注。该数据集包括2281个精选视频片段,这些片段来自各种电影、电视剧和综艺节目,每个样本都被赋予了情感分数,范围从-1(极度负面)到1(极度正面)

5. UR_FUNNY: 对于MHD,我们考虑最近提出的UR_FUNNY数据集。与情绪类似,幽默的产生和感知也是通过多通道进行的。因此,这个数据集提供了多模态的话语,作为从TED演讲中采样的笑点。它还为每个目标话语提供相关的上下文,并确保说话者和主题的多样性。每个目标话语被标记为幽默/非幽默实例的二元标签。

七、性能展示

  • 在情感计算任务中,可以看到MSIA模型性能超越其他模型,证明了其有效性;
    在这里插入图片描述

在这里插入图片描述

  • 抑郁症检测任务,以下是MISA模型在抑郁症数据集AVEC2019中的表现:
ModelCCCMAE
Baseline0.1116.37
EF0.34
Bert-CNN & Gated-CNN0.4036.11
Multi-scale Temporal Dilated CNN0.4304.39
MISA0.4385.35
  • SIMS数据集
    在这里插入图片描述

八、复现过程

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

1. 下载多模态情感分析集成包

pip install MMSA

2. 进行训练

$ python -m MMSA -d mosi/dosei/avec -m mmim -s 1111 -s 1112

九、运行过程

  1. 训练过程
    在这里插入图片描述

  2. 最终结果
    在这里插入图片描述

总结

1. 适用场景

  • 社交媒体情感分析: MISA模型适用于分析社交媒体平台上用户的多模态数据,包括文本、图像和音频,从而深入理解用户的情感倾向、态度和情绪变化。例如,可以用于监测社交媒体上的舆情、分析用户对特定事件或产品的反应等。

  • 情感驱动的内容推荐: 在内容推荐系统中,MISA模型可以根据用户的多模态数据,如观看历史、社交互动、文字评论等,推荐符合用户情感和兴趣的个性化内容,提升用户体验和内容吸引力。

  • 智能健康监测: MISA模型在智能健康监测领域具有潜力,可以通过分析用户的语音情绪、面部表情和文字记录来监测心理健康状态,包括抑郁倾向和情绪波动,为个体提供早期干预和支持。

  • 教育和人机交互: 在教育领域,MISA模型可以用于情感教育和个性化学习支持。通过分析学生的情感表达和反馈,提供定制化的学习体验和情感指导,增强教育效果和学习动机。

2. 项目特点

  • 多模态融合: MISA模型能够有效整合文本、图像和音频等多种数据源,充分利用不同模态之间的关联性和信息丰富度,提升情感分析的全面性和准确性。

  • 情感感知和表达建模: 通过先进的深度学习技术,MISA模型能够深入学习和模拟情感感知与表达过程,实现对复杂情感信息的准确捕捉和高效表示。

  • 自适应学习和个性化: MISA模型具备自适应学习能力,可以根据具体任务和用户需求调整情感建模策略,实现个性化的情感分析和反馈。

  • 跨领域应用能力: 由于其多模态分析的通用性和灵活性,MISA模型不仅适用于社交媒体分析和智能健康监测,还能应用于广告推荐、产品评价和人机交互等多个领域。

综上所述,MISA模型在多模态情感分析和智能应用领域展现出广泛的适用性和高效的技术特点,为实际应用场景提供了强大的分析和决策支持能力

源码下载

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

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

相关文章

TypeScript(TS) 自定义绑定快捷键

有很多软件中都可以让用户自定义快捷键 如微信中的快捷键: 思路: 1. 将快捷键分为两部分: a. 主要的键 shift, ctrl, alt, command; b. 非主要的键 字母键、数字键等; 2. 键盘按下事件:比较按键和绑定…

Echarts关系图特效实现

全屏展示 鼠标经过高亮展示 点击其他节点,加载其他节点数据 这个主要利用了echarts的关系图配置。因为需要将相同类型的数据放一起,所以不能实用引力图,引力图虽然效果比较好,而且有动画,但是无法根据同一类型的东西在…

快递时效新视角:‌批量分析派件与签收策略

在快递行业日益竞争的今天,‌时效成为了衡量快递服务质量的重要指标之一。‌对于商家和消费者而言,‌了解快递从到达最后站点到派件以及签收的时效,‌对于优化物流流程、‌提升客户体验具有重要意义。‌本文将介绍如何利用快递批量查询高手软…

17-18 - make 中的路径搜索

---- 整理自狄泰软件唐佐林老师课程 文章目录 1. 常用的源码管理方式1.1 特殊的预定义变量 VPATH(全大写)1.2 make 对于 VPATH 值的处理方式1.3 vpath(全小写) 2. 常见问题2.1 问题 12.2 问题 2 1. 常用的源码管理方式 项目中的 …

【化学方程式配平 / 3】

题目 代码 #include <bits/stdc.h> using namespace std; const double eps 1e-8; unordered_map<string, int> e; int eidx, midx; //eidx 元素数&#xff0c; midx 物质数 double matrix[45][45]; int q; bool check_alpha(char c) {if(c > a && c …

这一届单机游戏玩家,都在用云电脑玩《黑神话悟空》

文 | 智能相对论 作者 | 陈泊丞 周五下班&#xff0c;上号玩游戏&#xff0c;突然发现&#xff0c;之前因为电脑配置跟不上&#xff0c;“A”了大半年的游戏亲友竟然在线&#xff1f;&#xff01; “哟&#xff0c;终于舍得配电脑了&#xff1f;&#xff01;”我发消息问道。…

RedisTemplate集成+封装RedisUtil

文章目录 1.项目搭建1.创建一个redis模块2.调整pom.xml&#xff0c;使其成为单独的模块1.sun-common-redis的pom.xml 取消parent2.sun-common的pom.xml 取消对redis模块的管理3.sun-frame的pom.xml 增加对redis模块的管理4.关于只在modules中配置子模块&#xff0c;但是子模块没…

每日OJ_牛客_数据库连接池(简单模拟)

目录 牛客_数据库连接池&#xff08;简单模拟&#xff09; 解析代码 牛客_数据库连接池&#xff08;简单模拟&#xff09; 数据库连接池__牛客网 解析代码 题目解析&#xff1a; 服务器后台访问数据库时&#xff0c;需要先连上数据库&#xff0c;而为了连上数据库&#xf…

数盟IOS端可信ID

一、基本情况介绍 数盟IOS端可信ID介绍页: 数字联盟 数盟号称是还原出原生的IDFA, 但是苹果官网这么介绍&#xff1a; 用户开启跟踪允许跟踪后&#xff0c;APP才可以请求获取IDFA&#xff0c;且用户交互界面允许后&#xff0c;APP才能获取到IDFA. 官网给出的基本架构&#xf…

文章改写神器哪个好用?4款好评不断!

在内容创作中改写文章是少不了的工作&#xff0c;而想要高效率快速的完成改写我们是需要讲究下方法。随着文章改写神器的出现&#xff0c;它已成为了许多创作者在改写文章过程中的得力助手。那么&#xff0c;在众多的选择中&#xff0c;哪些文章改写神器真正好用呢&#xff1f;…

Django+Vue花卉商城系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 需要的环境3.2 Django接口层3.3 实体类3.4 config.ini3.5 启动类3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平台Java领域优质创作者&…

小王陪您考系统规划与管理师之监督管理必考知识点

监督管理必备 1、风险监督的基本方法 风险评估风险审计定期的风险评审差异和趋势分析技术的绩效评估预留管理 2、服务质量的特性 安全性&#xff1a;保密性、完成性、可用性可靠性&#xff08;练完有追吻&#xff09;&#xff1a;连续性、完备性、有效性、可追溯性、稳定性…

C++中的异常处理与资源管理

前言 在软件开发中&#xff0c;异常处理是确保程序健壮性和可靠性的关键机制之一。同时&#xff0c;资源管理也是至关重要的&#xff0c;尤其是在C这样的语言中&#xff0c;手动管理资源的需求较高。本文将探讨C中的异常处理机制以及如何有效地管理资源&#xff0c;以避免资源…

【Python机器学习】NLP词频背后的含义——距离和相似度

我们可以使用相似度评分&#xff08;和距离&#xff09;&#xff0c;根据两篇文档的表示向量间的相似度&#xff08;或距离&#xff09;来判断文档间有多相似。 我们可以使用相似度评分&#xff08;和举例&#xff09;来查看LSA主题模型与高维TF-IDF模型之间的一致性。在去掉了…

网络模型及协议介绍

一.OSI七层模型 OSI Open System Interconnect 开放系统互连模型 以前不同厂家所生产的网络设备的标准是不同的&#xff0c;所以为了统一生产规范就制定了OSI这个生产模型。 作用&#xff1a;降低网络进行数据通信复杂度 这个模型的作用第一降低数据通信的复杂度&#xff…

时序预测 | 基于VMD-SSA-LSSVM+LSTM多变量时间序列预测模型(Matlab)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 旧时回忆&#xff0c;独此一家。基于VMD-SSA-LSSVMLSTM多变量时间序列预测模型&#xff08;Matlab&#xff09; ——————组合模型预测结果—————————— 预测绝对平均误差MAE LSTM VMDSSALSSVM 组合模型 …

Tomcat10安装

Tomcat下载 进入官网下载https://tomcat.apache.org 注意tomcat版本和Java版本的对应关系&#xff1a; 配置好JAVA_HOME 安装tomcat前&#xff0c;需要先配置好JAVA_HOME&#xff0c;因为tomcat启动时候默认会找环境里面的JAVA_HOME&#xff0c;这里选择的Java版本是java1…

桥接与NET

仔细看看下面两幅图 net模式&#xff0c;就是在你的Windows电脑&#xff08;假设叫A电脑&#xff09;的网络基础上&#xff0c;再生成一个子网络&#xff0c;ip的前两位默认就是192.168&#xff0c;然后第三位是随机&#xff0c;第四位是自己可以手动设置的。使用这种模式唯一的…

112. 路径总和(递归法)

目录 一&#xff1a;题目&#xff1a; 二&#xff1a;代码&#xff1a; 三&#xff1a;结果&#xff1a; 一&#xff1a;题目&#xff1a; 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所…

C语言基础(二十七)

1、位字段&#xff08;Bit-fields&#xff09;也是一种数据结构&#xff0c;允许在结构体&#xff08;struct&#xff09;或联合体&#xff08;union&#xff09;中定义其成员占用特定的位数。对于需要精确控制内存布局或处理硬件寄存器映射等场景非常有用。位字段使得开发者能…