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

news2024/11/26 18:51:44

在这里插入图片描述

📝个人主页🌹: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

在这里插入图片描述

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

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

相关文章

‌STAR法则

一:STAR法则 STAR法则是一种简单而实用的表现技巧,常被用于求职过程中的个人经历描述,富有条理性,可以帮助你在职场中脱颖而出。“STAR”分别对应的是situation-task-action-result,通过情境、目标、行动和结果四个方面…

java:使用Multi-Release Jar改造Java 1.7项目增加module-info.class以全面合规Java 9模块化规范

common-java是一个我维护了好多年的一个基础项目,编译目标为Java 1.7 现在整个团队的项目要做Java 9以上的技术迁移准备,就需要对这个在内部各项目中被广泛引用的基础项目进行改造,以适合Java 9的模块化规范。 Automatic-Module-Name Java 9的模块化规范(即Java Platform Mod…

力扣题库——75.颜色分类

这道题采用三路快速排序,快速排序思路看这里快速排序。将数列分为三组:小于基准、等于基准、大于基准。和快排一样,对左右递归进行快速排序。 先将题目简化,如果只有数字0和1,扫描一遍数组,遇到数字1不用管…

python - leetcode【数据结构-算法】-入门/通关手册

python的算法入门/通关/手册 前言:算法通关手册(LeetCode)-githubHello 算法:python数据结构和算法 - 中文版The Algorithms - Python最后刷题思维: python-leetcode刷题常用语法:变量定义:逻辑与或非和按位…

使用 Flask 和 ONLYOFFICE 实现文档在线编辑功能

提示:CSDN 博主测评ONLYOFFICE 文章目录 引言技术栈环境准备安装 ONLYOFFICE 文档服务器获取 API 密钥安装 Flask 和 Requests 创建 Flask 应用项目结构编写 app.py创建模板 templates/index.html 运行应用功能详解文档上传生成编辑器 URL显示编辑器回调处理 安全性…

EasyUI弹出框行编辑,通过下拉框实现内容联动

EasyUI弹出框行编辑,通过下拉框实现内容联动 需求 实现用户支付方式配置,当弹出框加载出来的时候,显示用户现有的支付方式,datagrid的第一列为conbobox,下来选择之后实现后面的数据直接填充; 点击新增:新…

C# 选择导入文件的路径、导出文件的路径

通过C#代码,调出windows风格的文件选择对话框和存储文件对话框。提供界面来选择文件的位置,并将完整路径以字符串形式返回。 1、选择导入文件,获取其路径 C#通过这段代码将弹出一个文件选择对话框,允许用户选择一个文件&#xff…

数据结构-并查集专题(1)

一、前言 因为要开始准备年底的校赛和明年年初的ACM、蓝桥杯、天梯赛,于是开始按专题梳理一下对应的知识点,先从简单入门又值得记录的内容开始,并查集首当其冲。 二、我的模板 虽然说是借用了jiangly鸽鸽的板子,但是自己也小做…

二手交易平台测试用例设计和执行

🎄欢迎来到边境矢梦的csdn博文🎄 🎄追求开源思想和学无止境思想一直在提升技术的路上 🎄 🌈涉及的领域有:Java、Python、微服务架构和分布式架构思想、基本算法编程🌈 🎆喜欢的朋友可…

计算机图形学论文 | 多边形中的点可见性快速算法

🦌🦌🦌读论文 🐨🐨摘要 针对点的可见性计算这一计算几何中的基础问题,提出一种支持任意查询点的可见多边形快速计算的基于多边形Voronoi图的点可见性算法。以与Voronoi骨架路径对应的Voronoi通道概念&…

Redis 高并发分布式锁实战

目录 环境准备 一 . Redis 安装 二:Spring boot 项目准备 三:nginx 安装 四:Jmeter 下载和配置 案例实战 优化一:加 synchronized 锁 优化二:使用 redis 的 setnx 实现分布式锁 优化三:使用 Lua 脚本…

LLM大模型学习精华系列:VLLM性能优化部署实践——全面加速从推理到部署的流程

训练后的模型会用于推理或者部署。推理即使用模型用输入获得输出的过程,部署是将模型发布到恒定运行的环境中推理的过程。一般来说,LLM的推理可以直接使用PyTorch代码、使用[VLLM]等框架,也可以使用[llama.cpp]等c推理框架。 常见推理方法 G…

【大数据学习 | kafka高级部分】kafka的快速读写

1. 追加写 根据以上的部分我们发现存储的方式比较有规划是对于后续查询非常便捷的,但是这样存储是不是会更加消耗存储性能呢? 其实kafka的数据存储是追加形式的,也就是数据在存储到文件中的时候是以追加方式拼接到文件末尾的,这…

SpringCloud篇(微服务)

目录 一、认识微服务 1. 单体架构 2. 分布式架构 3. 微服务 3.1. 特点 3.2. 优点 3.3 缺点 二、微服务设计、拆分原则 1. AKF 拆分原则 2. Y轴(功能)关注应用中功能划分,基于不同的业务拆分 3. X轴(水平扩展&#xff09…

Hive简介 | 体系结构

Hive简介 Hive 是一个框架,可以通过编写sql的方式,自动的编译为MR任务的一个工具。 在这个世界上,会写SQL的人远远大于会写java代码的人,所以假如可以将MR通过sql实现,这个将是一个巨大的市场,FaceBook就这…

高校宿舍信息管理系统小程序

作者主页:编程千纸鹤 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参…

森林防火责任大于天,可视化监控大屏让隐患无处遁形。

在大自然的生态系统中,森林是地球之肺,为我们提供着清新的空气、丰富的资源和优美的环境。然而,森林火灾却如同一场可怕的灾难,随时可能摧毁这片宝贵的绿色财富。森林防火责任大于天,而可视化监控大屏的出现&#xff0…

“穿梭于容器之间:C++ STL迭代器的艺术之旅”

引言: 迭代器(Iterator)是C STL(标准模板库)中非常重要的一部分,它提供了一种统一的方式来遍历容器中的元素。无论容器是数组、链表、树还是其他数据结构,迭代器都能够以一致的方式访问这些数据…

el-scrollbar 动态更新内容 鼠标滚轮无效

有以下功能逻辑,实现了一个时间轴组件,点击、-号后像地图那样放大组件以显示不同的UI。 默认显示年月: 当点击一下加号时切换为年: 当点击减号时切换为日: 即加号、减号点击就是在年月日显示进行切换。给Scrollvie…

Linux【基础篇】

-- 原生罪 linux的入门安装学习 什么是操作系统? 用户通过操作系统和计算机硬件联系使用。桥梁~ 什么是Linux? 他是一套开放源代码(在互联网上找到Linux系统的源代码,C语言写出的软件),可以自由 传播&…