【论文复现】MSA+抑郁症模型总结(三)

在这里插入图片描述

📝个人主页🌹:Eternity._
🌹🌹期待您的关注 🌹🌹

在这里插入图片描述
在这里插入图片描述

❀MSA+抑郁症模型

  • 热门研究领域:情感计算的横向发展
  • 1. 概述
  • 2. 论文地址
  • 3. 研究背景
  • 4. 主要贡献
  • 5. 模型结构和代码
  • 6. 数据集介绍
  • 7. 性能展示
  • 8. 复现过程
  • 9. 运行过程
  • 总结

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

随着社交媒体的蓬勃兴起,近年来多模态数据已成为研究焦点。用户们日益倾向于通过结合多种媒体形式(诸如文本搭配图像、文本配合音乐或视频等)来展现他们的观点和情绪。多模态情感分析(MSA)作为从多元化信息中捕捉情感要素以进行情感预测的前沿研究领域,备受瞩目。以往基于词汇、短语及其语义关系的文本情感分析手段,在面对复杂情感信息的捕捉时显得力不从心。而今,通过融入面部表情识别与语调分析,多模态信息(涵盖视觉、听觉以及文本转录内容)为我们提供了更为鲜活、详尽的情感描绘,使得情感传达更为精确且丰富。过往研究表明,不同模态之间往往潜藏着相互影响的深层联系。如下图所示,MSA展现出了其独特优势:例如,某些语句的情感倾向并不明确,可能因情境差异而蕴含多重情绪。但当融入相应的音频信息后,我们便能更精确地判定情感的正负倾向。然而,如何有效建模这些模态间的相互作用,仍是当前亟待解决的一大难题。

在这里插入图片描述
同时,面对激烈的市场竞争和保持领先地位的迫切需求,组织在提升生产力、激发创新等方面面临着更为严苛的挑战。沉重的工作负担、日益紧迫的时间限制、不切实际的工作目标、超时工作的常态、职业安全感的缺失以及人际关系的紧张,这些因素共同加剧了员工间的紧张氛围,为员工营造了一个充满压力的工作环境。当压力超过一定阈值时,不仅会对员工的工作效率和积极性造成负面影响,还会引发一系列生理和心理问题,如长期的压力可能导致失眠、抑郁乃至心脏病等严重健康问题。据国际劳工组织2019年的数据,压力、过长的工作时间和职业病每年导致近280万工人死亡,另有3.74亿人因工作受伤或患病。

因此,早期发现和有效治疗对于缓解员工压力、减少其对健康的长期危害以及改善工作环境至关重要。传统的抑郁症检测方法,如通过生理学家进行的问卷访谈,虽然在一定程度上具有参考价值,但这种方法往往受限于其定性、耗时且缺乏私密性的特性,难以确保员工提供真实反馈,且往往未能达到预期的初步筛选效果。

相比之下,一些生理指标如心率变异性(HRV)、心电图(ECG)、皮肤电反应(GSR)、血压、肌电图和脑电图(EEG)等虽然客观,但同样缺乏私密性,且可能因涉及个人隐私信息而遭到员工的抵触。鉴于此,近年来,基于视频、音频和文本的抑郁症监测技术逐渐成为研究热点。其中,基于视频的技术通过分析嘴唇动作、头部姿态、心跳频率、眨眼频率、凝视方向、瞳孔大小以及眼球在面部的运动轨迹等特征来监测抑郁症状;基于音频的方法则通过提取语音的功率电平、线性预测倒谱系数(LPCC)、梅尔倒谱系数(MPCC)等声学特征,并运用机器学习算法进行分类识别;而基于文本的方法则侧重于从文本中提取句法结构和语言特征,利用机器学习分类器来检测文本中的情感重音。

综上所述,为了更有效地监测和管理员工压力及抑郁症状,我们需要探索更加高效、私密且易于接受的检测方法,以营造更加健康、积极的工作环境。

在这里插入图片描述
我专注于情感计算领域的经典模型,致力于对其进行深入剖析、阐释与综合归纳。鉴于当前多数情感计算数据集以英文为主,我计划在接下来的系列文章中,将中文数据集(如SIMS及SIMSv2)融入模型之中,旨在构建贴合国人特性的情感计算分析框架。这一框架将特别应用于情感疾病(例如抑郁症、自闭症)的检测任务,旨在为医学心理学等相关领域提供有力支持。此外,我还引入了幽默检测数据集,以期在情感识别的广度上有所拓展。展望未来,我更有意向纳入更多小众数据集,以捕捉那些更为微妙、隐匿的情感,例如嫉妒、嘲讽等,力求使人工智能技术能够更好地服务于社会,提升其在情感理解与识别方面的能力。

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

1. 概述


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

本文所涉及的所有资源的获取方式:

https://www.aspiringcode.com/content?id=17217255775398&uid=1758d0ff06864c7289ed340422b34d06

2. 论文地址


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

https://arxiv.org/pdf/2005.03545

3. 研究背景


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

4. 主要贡献


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

5. 模型结构和代码


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

首先,对于每个模态 m ∈ { l , v , a } m \in \{l, v, a\} m{l,v,a},我们将其话语序列 U m ∈ R T m × d m U_m \in \mathbb{R}^{T_m \times d_m} UmRTm×dm 映射到一个固定大小的向量 u m ∈ R d h u_m \in \mathbb{R}^{d_h} umRdh 上。这一映射过程是通过一个堆叠的LSTM(长短期记忆网络)来实现的,LSTM的端态隐藏表示会经过一个完全连接的密集层,最终给出向量 u m u_m um。该过程可以表示为以下数学公式:

u m = sLSTM ( U m ; θ m lstm ) u_m = \text{sLSTM}(U_m; \theta_m^{\text{lstm}}) um=sLSTM(Um;θmlstm)

其中, sLSTM \text{sLSTM} sLSTM 表示堆叠的LSTM网络, U m U_m Um 是输入的话语序列, θ m lstm \theta_m^{\text{lstm}} θmlstm 是LSTM网络的参数,而 u m u_m um 是输出向量。

模态不变和特定的表征

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

以下为部分代码展示

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)

6. 数据集介绍


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演讲中采样的笑点。它还为每个目标话语提供相关的上下文,并确保说话者和主题的多样性。每个目标话语被标记为幽默/非幽默实例的二元标签。

7. 性能展示


  • 在情感计算任务中,可以看到MMIN模型性能超越其他模型,证明了其有效性;

在这里插入图片描述

  • 抑郁症检测任务中,MMIN在我们的数据集AVEC2019中依旧亮眼:
ModelCCCMAE
Baseline0.1116.37
EF0.34
Bert-CNN & Gated-CNN0.4036.11
Multi-scale Temporal Dilated CNN0.4304.39
MISA0.4385.35
  • SIMS数据集

在这里插入图片描述

8. 复现过程


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

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

pip install MMSA

2. 进行训练

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

9. 运行过程


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

  2. 最终结果

在这里插入图片描述

总结


1. 适用场景

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

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

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

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

2. 项目特点

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

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

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

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

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


编程未来,从这里启航!解锁无限创意,让每一行代码都成为你通往成功的阶梯,帮助更多人欣赏与学习!

更多内容详见:

https://www.aspiringcode.comuid=2f3a8c82324141c48058d8e14f59b3ce

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用 Umami 部署博客分析工具

Umami 简介 Umami 是一款开源且注重隐私的网站分析工具,可替代 Google Analytics。它提供网站流量和用户行为等见解,但不使用 Cookie 或收集个人数据,符合隐私法规。Umami 轻巧易用,可自行托管。 如果你有自己的博客,…

JAVA笔记 | ResponseBodyEmitter等异步流式接口快速学习

先简单记录下简单使用跟测试,后续再补充具体,最近有用到,简单来说就是后端(服务端)编写个发射器,实现一次请求,一直向前端客户端发射数据,直到发射器执行完毕,模拟ai一句一句回复的效果 Respon…

在IntelliJ IDEA中创建带子模块的SpringBoot工程

前言 在项目开发中,一个工程往往有若干子工程或模块,所以主工程一般是一个容器,本文介绍在IntelliJ IDEA中创建带多模块的SpringBoot工程的详细步骤。 1、首先打开IntellJ IDEA(以下简称IDEA),创建一个新项目。假定新…

【LeetCode】每日一题 2024_11_9 设计相邻元素求和服务(构造,哈希)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 题目:设计相邻元素求和服务 近几天不知道力扣发什么疯,每日一题出的太抽象了,我题解是写不了一点了 . . . 今天稍微正常了些,就又来更新了~ 代码与解题思路…

如何搭建企业内部知识库?:打造专属智能体,为企业提供高效智能的知识管理

在当今数据爆炸的时代,虽然AI强大,但常规的AI工具或搜索引擎在面对复杂、专业领域的问题时,可能给出模棱两可的回应,无法满足企业精细化的需求。这就是为什么,企业需要一个专属的AI知识库 —— 它不仅能存储你的数据&a…

胶囊网络、MobileNet、坐标注意力机制的应用

文章目录 摘要Abstract1.胶囊网络1.1 动态路由 2.坐标注意力机制3.MobileNet3.1 深度卷积3.2 逐点卷积3.3 深度可分离卷积3.3.1 深度可分离卷积与标准卷积的对比3.3.2 卷积操作的代码实现3.3.2.1 函数原型3.3.2.2 标准卷积3.3.2.3 分组卷积3.3.2.4 深度可分离卷积 3.4 MobileNe…

一个开源、免费(MIT License)、功能强大、可扩展的电动汽车充电控制器和家庭能源管理系统(带私活源码)

项目介绍 evcc是一个开源、免费(MIT License)、功能强大、可扩展的电动汽车充电控制器和家庭能源管理系统,支持广泛的设备和品牌,提供简单的用户界面和强大的功能。 功能特点 用户界面:简单且清晰的用户界面。 充电器…

Pr 视频过渡:沉浸式视频

效果面板/视频过渡/沉浸式视频 Video Transitions/Immersive Video Adobe Premiere Pro 的视频过渡效果中,沉浸式视频 Immersive Video效果组主要用于 VR 视频剪辑之间的过渡。 自动 VR 属性 Auto VR Properties是所有 VR 视频过渡效果的通用选项。 默认勾选&#x…

[OpenGL]使用OpenGL实现硬阴影效果

一、简介 本文介绍了如何使用OpenGL实现硬阴影效果,并在最后给出了全部的代码。本文基于[OpenGL]渲染Shadow Map,实现硬阴影的流程如下: 首先,以光源为视角,渲染场景的深度图,将light space中的深度图存储…

成都睿明智科技有限公司抖音电商服务效果如何?

在这个短视频风起云涌的时代,抖音电商以其独特的魅力,成为了众多商家竞相追逐的新蓝海。而在这片波澜壮阔的商海中,成都睿明智科技有限公司犹如一艘稳健的航船,引领着无数企业驶向成功的彼岸。今天,就让我们一起揭开成…

uniapp 实现瀑布流

效果演示 组件下载 瀑布流布局-waterfall - DCloud 插件市场

集合进阶(JAVA笔记第二十九期)

p.s.这是萌新自己自学总结的笔记,如果想学习得更透彻的话还是请去看大佬的讲解 集合基础看这里 目录 集合体系结构单列集合Collection各个方法的注意事项add()remove()contains() Collection三种遍历方式迭代器遍历增强for遍历lambda表达式遍历匿名内部类遍历 Lis…

使用LlamaIndex框架构建RAG应用的基础实践指南

前言 上一篇文章[检索增强生成 Retrieval-Augmented Generation]介绍了什么是 RAG ,并详细对比了和大模型微调方式的区别。 目前实现 RAG 的主流框架就是 [LangChain] 和 [LlamaIndex],LangChain 更适合需要复杂对话流程、上下文管理、以及多步骤任务的…

小程序开发进阶之路-AI编程助手

之前,我独自一人开发了一个名为“心情追忆”的小程序,旨在帮助用户记录日常的心情变化及重要时刻。从项目的构思、设计、前端(小程序)开发、后端搭建到最终部署,所有环节都由我一人包办。经过一个月的努力,…

Typora导出pdf手动分页和设置字体样式

手动分页 <div style"page-break-after: always;"></div>鼠标点击代码才会显示&#xff0c;不点击会隐藏。导出pdf时&#xff0c;该位置会分页 设置字体大小、加粗、居中、空格 <p style"font-size:30px; font-weight: bold; text-align: cen…

【GCN】 代码详解 (1) 如何运行【pytorch】可运行版本

Graph Convolutional Networks 代码详解 前言0.引言1.环境配置2. 代码的运行2.1 报错处理2.2 运行结果 3.总结 前言 在前文中&#xff0c;已经对图卷积神经网络&#xff08;Graph Convolutional Neural Networks, GCN&#xff09;的理论基础进行了深入探讨。接下来的章节将会进…

基于 PyTorch 从零手搓一个GPT Transformer 对话大模型

一、从零手实现 GPT Transformer 模型架构 近年来&#xff0c;大模型的发展势头迅猛&#xff0c;成为了人工智能领域的研究热点。大模型以其强大的语言理解和生成能力&#xff0c;在自然语言处理、机器翻译、文本生成等多个领域取得了显著的成果。但这些都离不开其背后的核心架…

做口播博主:真人出镜还是用数字人

做口播博主&#xff1a;真人出镜还是用数字人&#xff1f; 背景&#xff1a;数字人“风口”与流量的冷现实 数字人生成的视频逐渐流行&#xff0c;但真正拥有爆款流量的案例却寥寥无几&#xff1b;另一方面&#xff0c;真人出镜的创作又面临镜头感不足和成本高的难题。创作者究…

【C++篇】在秩序与混沌的交响乐中: STL之map容器的哲学探寻

文章目录 C map 容器详解&#xff1a;高效存储与快速查找前言第一章&#xff1a;C map 的概念1.1 map 的定义1.2 map 的特点 第二章&#xff1a;map 的构造方法2.1 常见构造函数2.1.1 示例&#xff1a;不同构造方法 2.2 相关文档 第三章&#xff1a;map 的常用操作3.1 插入操作…

基于Redis缓存机制实现高并发接口调试

创建接口 这里使用的是阿里云提供的接口服务直接做的测试&#xff0c;接口地址 curl http://localhost:8080/initData?tokenAppWithRedis 这里主要通过参数cacheFirstfalse和true来区分是否走缓存&#xff0c;正常的业务机制可能是通过后台代码逻辑自行控制的&#xff0c;这…