前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【论文复现】MSA+抑郁症模型总结(一)

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

作者头像
Eternity._
发布2024-11-09 08:25:16
900
发布2024-11-09 08:25:16
举报
文章被收录于专栏:登神长阶

情感分析在多场景的应用


随着社交网络的持续演进,近年来多模态数据逐渐崭露头角,成为信息领域的热门话题。用户们越来越倾向于运用多样化的媒体组合形式,如文本搭配图像、文本融合歌曲、文本结合视频等,以此来展现他们的内心态度和情感世界。多模态情感分析(MSA)作为当前研究的热门方向,致力于从多模态信息中挖掘情感元素,实现对情感状态的精准预测。相较于传统的文本情感分析,它不再仅仅局限于词汇、短语及其语义关系的解析,而是融入了面部表情的微妙变化、语调的抑扬顿挫等更多维度的信息,使得情感描述更为生动,情感传达也更为精准且丰富。

与此同时,随着现代社会生活节奏的加快和工作压力的增大,抑郁症已成为职场中不可忽视的心理问题。早期发现并干预抑郁症,对于防止健康状况进一步恶化以及自杀倾向的出现至关重要。在这一背景下,无创监测应激水平成为了筛查阶段的有效手段。众多研究者开始尝试利用视觉提示、音频信号以及文本内容等方法,来监测个体的抑郁倾向,以期能够更早地发现并干预这一心理疾病。

我专注于对情感计算领域的经典模型进行深入剖析、解读与综合归纳。鉴于当前情感计算领域的数据集大多以英文为基础构建,我计划在接下来的系列文章中,引入中文数据集(如SIMS和SIMSv2),旨在构建贴合中国人情感表达特性的情感计算分析模型。这些模型将特别针对情感疾病(例如抑郁症、自闭症)的检测任务进行优化,旨在为医学心理学等领域提供有力的辅助工具。

此外,我还将幽默检测数据集纳入研究范畴,以期在情感分析的广度和深度上进一步拓展。展望未来,我更有意向引入更多小众且富有挑战性的数据集,以探测那些更为隐蔽和复杂的情感,如嫉妒、嘲讽等。我的目标是让AI在情感识别方面更加细腻、精准,从而更好地服务于社会,提升人们的生活质量。

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

1. 概述


本篇文章开始,我计划使用连载的形式对经典的情感计算模型进行讲解、对比和复现,并开发不同数据集进行应用。并逐步实现集成,以方便各位读者和学者更深度地了解Multimodal Sentiment Analysis (MSA)以及他的研究重点和方向,为该领域的初学者尽量指明学习方向方法;

首先第一篇,我将介绍AAAI 2021的一篇经典MSA论文中的模型–Self_MM

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

代码语言:javascript
复制
https://www.aspiringcode.com/content?id=17216365346792&uid=d19792d7c5ca410bacd82680f5dbb547

2. 论文地址


Learning Modality-Specific Representations with Self-Supervised Multi-Task Learning for Multimodal Sentiment Analysis:

https://arxiv.org/abs/2102.04830

3. 研究背景


近年来,多模态情感分析(MSA)与抑郁症检测(DD)成为了利用多模态数据预测人类心理状态的两大核心研究领域,它们正日益吸引着广泛的关注。相较于单模态分析,多模态模型在处理复杂的社交媒体数据时展现出更强的鲁棒性,并取得了显著的进步。随着用户在线生成内容的爆炸式增长,MSA已被广泛应用于风险管理、视频理解及视频转录等多个领域。

在这一背景下,表征学习成为了多模态学习中的一项关键而富有挑战性的任务。一个优秀的模态表征应当兼具一致性和差异性两大特征。然而,由于当前多模态数据标注的统一性,现有方法在捕捉区分性信息时面临着一定的局限性。尽管通过增加额外的单模态标注可以弥补这一不足,但这无疑会大大增加时间和人力成本。

为了克服这一难题,本文提出了一种基于自监督学习策略的标签生成方法,旨在以较低的成本获得独立的单模态监督信息。随后,我们分别对多模态任务和单模态任务进行了联合训练,以深入挖掘它们之间的一致性和差异性。此外,在训练阶段,我们还设计了一种巧妙的权重调整策略,以平衡不同子任务之间的学习进度。具体而言,该策略能够引导子任务更加关注那些在模态监督之间存在较大差异的样本,从而进一步提升模型的性能。

4. 主要贡献


  • 本文提出基于模态表示和类中心之间的距离的相对距离值,与模型输出正相关;
  • 设计了一个基于自监督策略的单峰标签生成模块;此外,引入了一种新的权重自调整策略,以平衡不同的任务损失约束;
  • 在三个baseline数据集上的实验验证了自动生成的单峰标签的稳定性和可靠性。

5. 模型结构和代码


多模态情感分析和抑郁症检测利用多模态信号(包括文本

I_t

、音频

I_a

和视觉

I_v

)来评估情感状态。通常而言,多模态情感分析(MSA)和抑郁症检测(DD)可以被视为回归任务或分类任务。在这项研究中,我们将其视为回归任务。因此,Self-MM模型将

I_t

I_a

I_v

作为输入,并输出一个表示情感强度和抑郁程度的结果

\hat{y}^m \in \mathbb{R}

在训练阶段,为了辅助表示学习,Self-MM模型具有额外的三个单模态输出,其中

s \in \{t, a, v\}

。尽管模型有多个输出,但我们仅使用最终的预测结果来进行评估和分析。

下图为模型整体结构图;如图所示,Self-MM由一个多模态任务和三个独立的单峰子任务组成。在多模态任务和不同的单峰任务之间,作者采用硬共享策略来共享底层表征学习网络。我们将整个模型运行分为3部分讲解:多模态任务,单模态任务,ULGM模块;接下来我们将分别进行详细介绍

1. 多模态任务: 对于多模态任务,本文采用了经典的多模态情感分析架构。它包括三个主要部分:特征表示模块,特征融合模块和输出模块。在文本模态方面,由于预训练的语言模型取得了很大的成功,使用了预训练的12层BERT来提取句子表示。根据经验,最后一层中的第一个词向量被选择作为整句表示。

对于音频和视觉模式,我们使用预训练的ToolKits从原始数据中提取初始向量特征。具体而言,音频特征表示为

I_a \in \mathbb{R}^{l_a \times d_a}

,其中

l_a

是音频序列的长度,

d_a

是音频特征的维度;视觉特征表示为

I_v \in \mathbb{R}^{l_v \times d_v}

,其中

l_v

是视频序列的长度,

d_v

是视觉特征的维度。

接下来,为了捕获时序特性,我们采用单向长短期记忆(sLSTM)网络对音频和视觉特征进行处理。最终,我们选取LSTM的端态隐向量作为整个序列的表示。

随后,我们将所有的单模态表示(包括文本、音频和视觉)进行拼接,并将拼接后的表示投影到低维空间

\mathbb{R}^{d_m}

中。这个融合后的表示

F_m^*

被用于预测多模态情感。

2. 单模式任务: 对于三个单模态任务,他们共享多模态任务的模态表征。为了减少不同模态之间的维数差异,作者将它们投影到一个新的特征空间中。然后,用线性回归得到单峰结果。为了指导单峰任务的训练过程,作者设计了一个单峰标签生成模块(ULGM)来获取标签。ULGM的详细信息在下一节讲解。

最后,在m-labels(多模态标签)和u-labels(单模态标签或未标注标签,具体取决于上下文)的监督下,我们通过联合学习的方式同时优化多模态任务和三个单峰任务。值得注意的是,这些单峰任务仅在训练阶段存在,用于辅助多模态任务的学习。因此,在模型的实际应用或测试阶段,我们仅使用多模态任务的输出

\hat{y}^m

作为最终的情感或抑郁程度预测结果。

下面是单模态特征处理子网络的代码:

代码语言:javascript
复制
# text subnets
self.aligned = args.need_data_aligned
self.text_model = BertTextEncoder(use_finetune=args.use_finetune, transformers=args.transformers, pretrained=args.pretrained)

# audio-vision subnets
audio_in, video_in = args.feature_dims[1:]
self.audio_model = AuViSubNet(audio_in, args.a_lstm_hidden_size, args.audio_out, \
                            num_layers=args.a_lstm_layers, dropout=args.a_lstm_dropout)
self.video_model = AuViSubNet(video_in, args.v_lstm_hidden_size, args.video_out, \
                            num_layers=args.v_lstm_layers, dropout=args.v_lstm_dropout)

3. ULGM: ULGM旨在基于多模态注释和模态表示生成单模态监督值。为了避免对网络参数更新造成不必要的干扰,将ULGM设计为非参数模块。通常,单峰监督值与多峰标签高度相关。因此,ULGM根据从模态表示到类中心的相对距离计算偏移,如下图所示。

Relative Distance Value。由于不同的模态表示存在于不同的特征空间中,因此使用绝对距离值不够准确。因此,我们提出了相对距离值,它与空间差异无关。

下面为ULGM模块的实现过程,包括单模态分类器的实现:

代码语言:javascript
复制
# fusion
fusion_h = torch.cat([text, audio, video], dim=-1)
fusion_h = self.post_fusion_dropout(fusion_h)
fusion_h = F.relu(self.post_fusion_layer_1(fusion_h), inplace=False)
# # text
text_h = self.post_text_dropout(text)
text_h = F.relu(self.post_text_layer_1(text_h), inplace=False)
# audio
audio_h = self.post_audio_dropout(audio)
audio_h = F.relu(self.post_audio_layer_1(audio_h), inplace=False)
# vision
video_h = self.post_video_dropout(video)
video_h = F.relu(self.post_video_layer_1(video_h), inplace=False)
# classifier-fusion
x_f = F.relu(self.post_fusion_layer_2(fusion_h), inplace=False)
output_fusion = self.post_fusion_layer_3(x_f)
# classifier-text
x_t = F.relu(self.post_text_layer_2(text_h), inplace=False)
output_text = self.post_text_layer_3(x_t)
# classifier-audio
x_a = F.relu(self.post_audio_layer_2(audio_h), inplace=False)
output_audio = self.post_audio_layer_3(x_a)
# classifier-vision
x_v = F.relu(self.post_video_layer_2(video_h), inplace=False)
output_video = self.post_video_layer_3(x_v)

下图为u-标签在不同数据集上的分布更新过程。每个子图像下的数字(#)指示时期的数量。

6. 数据集介绍


  1. CMU-MOSI: 它是一个多模态数据集,包括文本、视觉和声学模态。它来自Youtube上的93个电影评论视频。这些视频被剪辑成2199个片段。每个片段都标注了[-3,3]范围内的情感强度。该数据集分为三个部分,训练集(1,284段)、验证集(229段)和测试集(686段)。
  2. CMU-MOSEI: 它类似于CMU-MOSI,但规模更大。它包含了来自在线视频网站的23,453个注释视频片段,涵盖了250个不同的主题和1000个不同的演讲者。CMU-MOSEI中的样本被标记为[-3,3]范围内的情感强度和6种基本情绪。因此,CMU-MOSEI可用于情感分析和情感识别任务。
  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(极度正面)

7. 性能展示


  • 在情感计算任务中,可以看到Self_MM模型性能超越其他模型,证明了其有效性;
-
-
  • 抑郁症检测任务中,Self_MM在我们的数据集AVEC2019中依旧亮眼:

Model

CCC

MAE

Baseline

0.111

6.37

EF

0.34

Bert-CNN & Gated-CNN

0.403

6.11

Multi-scale Temporal Dilated CNN

0.430

4.39

Self_MM

0.443

5.61

  • SIMS数据集

8. 复现过程


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

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

代码语言:javascript
复制
pip install MMSA

2. 进行训练

代码语言:javascript
复制
$ python -m MMSA -d mosi/dosei/avec -m lmf -s 1111 -s 1112

9. 运行过程


  1. 训练过程
  1. 最终结果

模型总结


SELF-MM模型是一种集成了文本、音频与视觉信息的多模态情感分析方案,它通过运用自我监督学习策略,来学习各个模态的独特表征。这一创新方法使得模型即便在标注数据稀缺的情况下,也能高效地挖掘多模态信息,进而执行情感分析及其他高难度的情感认知任务。项目还贴心地提供了预处理后的数据集及便捷的下载途径,涵盖了音频特征集、文本特征集和视频特征集等多种资源。

应用场景:

SELF-MM模型适用于多种情感分析场景,如社交媒体监控、视频对话理解和电影评论分析。通过同时分析文本、语音和视觉信息,该模型能够深入理解多模态输入,从而提升用户体验和交互性。

项目特点:

  • 高效的学习策略:采用自我监督多任务学习方法,无需大量标注数据即可学习到模态特定的表示。
  • 全面的模态支持:模型能够处理文本、音频和视觉信息,充分考虑了多模态输入的特性。
  • 易于使用的接口:项目提供清晰的代码结构和详细的配置文件,用户可以根据自己的数据路径进行设置,支持主流的预训练BERT模型的转换和应用。
  • 广泛的应用范围:不仅局限于情感分析,还可扩展至其他多模态任务,如情感理解、情感生成等。

通过这些特点,SELF-MM模型不仅能提升情感分析的准确性和效率,还为多模态任务的研究和应用提供了强大的工具和支持。


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

更多内容详见:

代码语言:javascript
复制
https://www.aspiringcode.comuid=2f3a8c82324141c48058d8e14f59b3ce
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 情感分析在多场景的应用
  • 1. 概述
  • 2. 论文地址
  • 3. 研究背景
  • 4. 主要贡献
  • 5. 模型结构和代码
  • 6. 数据集介绍
  • 7. 性能展示
  • 8. 复现过程
  • 9. 运行过程
  • 模型总结
相关产品与服务
视频理解
视频理解是基于腾讯领先的 AI 技术和丰富的内容运营经验,对视频内容输出涵盖人物、场景、物体、事件的高精度、多维度的优质标签内容。通过对视频内容进行细粒度的结构化解析,应用于媒资系统管理、素材检索、内容运营等业务场景中。其中一款产品是媒体智能标签(Intelligent Media Label Detection)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档