尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

5个实战必备的多模态情感分析数据集与避坑指南

5个实战必备的多模态情感分析数据集与避坑指南 5个实战必备的多模态情感分析数据集附下载链接与避坑指南干了几年多模态情感分析最深的体会是很多实验结果不理想不是模型写得不够好而是数据集本身没吃透。模型结构不对可以改损失函数不收敛可以调可一旦数据选错了、预处理方式搞偏了后面所有操作都是给错误打补丁。多模态情感分析这个方向数据集的讲究程度比大多数人想象得要高得多。这篇文章不聊模型只聊数据。我会把目前实战中真正高频使用的5个多模态情感分析数据集CMU-MOSI、CMU-MOSEI、IEMOCAP、MELD、CH-SIMS逐个拆开每个数据集能用来做什么、内部结构长什么样、下载获取的正确姿势是什么、以及我在使用过程中踩过的坑和总结出来的经验。还会单独讲DEAP作为生理信号模态的补充参考。如果你正准备入门多模态情感分析或者在复现论文时被数据集折腾得头疼这篇文章应该能帮你省下不少时间。1. 数据集到底有多重要先纠正一个常见误区1.1 为什么很多论文复现结果和原论文差一截我在知乎和GitHub上见过太多人问同一个问题按照论文写的模型架构复现为什么F1分数比原论文低了好几个点结果排查到最后原因往往不是模型实现有bug而是用的数据特征版本不一样。多模态情感分析领域有个非常特殊的现象同一个数据集比如CMU-MOSI可能存在好几个版本的特征文件。官方提供过一套特征有的作者用自己提取的文本特征有的用OpenFace提取的面部特征有的用COVAREP提取的音频特征。不同版本的组合跑出来的指标差2到3个点是常态严格来说这不能说是谁错了只能说数据集版本和评测协议没有统一。另一个问题是训练集/验证集/测试集的划分方式。早期研究中最常用的是标准划分但后来有人用K折交叉验证也有人自己随机划分。如果你用随机划分去做结果很难跟标准指标直接比较。所以在选数据集之前先把这些问题弄清楚。1.2 选数据集时最该看的三个硬指标我选数据集时一般会按这样一个优先级来看任务匹配度数据集标注了什么标签是情感正负分类、情感强度回归还是细粒度的多情绪类别愤怒、开心、悲伤等不同数据集回答的问题不同。模态完整性与对齐程度文本、音频、视频三模态是否齐全是否已经做过时间轴对齐还是只提供原始文件让你自己对齐语种与场景是英文还是中文是演讲、对话还是短视频评论场景如果业务场景中文却只用英文数据集训练迁移时的效果会打折扣。这三个指标都过关了再考虑数据集规模。规模大并不等于一定好关键是要和你的任务匹配。下面逐个拆解这5个数据集的详细信息。2. 五个实战数据集逐个拆解统计信息、标注设计与适用场景2.1 CMU-MOSI多模态情感分析绕不开的基准CMU-MOSICMU Multimodal Opinion Sentiment and Intensity要说是多模态情感分析领域最经典的基准数据集应该没有人反对。它来自卡内基梅隆大学收集的是YouTube上博主对电影、产品等话题的评论视频。具体统计数据如下视频片段数93个长视频被切分成2199个话语片段模态文本、音频、视频三模态标注内容每个话语的情感倾向和情感强度强度分值范围是[-3, 3]的7档整数语种英文场景单说话人评论、偏口语化表达这个数据集最典型的用法是做情感强度回归和情感二分类。二分类其实就是把正负号当成类别0作为一个分界线。很多论文里报告的指标就是二分类的准确率ACC和F1以及回归任务的MAE和相关系数Corr。CMU-MOSI的优点在于规模适中、标注质量高整个数据集只有两千多个样本哪怕在一张普通消费级显卡上做早期实验也非常快。但它的问题也很明显——样本量小说话人风格集中模型很容易过拟合一旦拿它做最终评估涨点确实比较难。2.2 CMU-MOSEI更大规模、更多说话人的升级版CMU-MOSEI是同一个团队在MOSI基础上做的扩展版我建议只要条件允许都优先用MOSEI而不是MOSI。MOSEI的具体情况视频片段数3229个视频切分为23453个话语片段说话人超过1000位不同的YouTube博主模态文本、音频、视频标注内容除了[-3,3]的情感强度还额外包含了6类情绪标签生气、厌恶、恐惧、开心、悲伤、惊讶的细粒度标注语种英文相比MOSIMOSEI的多样性明显提升数据量大了约10倍。说话人多了以后模型能学到更泛化的情感表达能力不容易记住某个特定人的说话风格。情绪标签的加入也让你可以做多任务学习——同时预测情感强度和情绪类别。不过这里有个需要注意的点MOSEI虽然是MOSI的升级版但并不意味着在所有指标上模型都能表现更好。它的样本分布更复杂标注噪声也相对更多实际使用时要仔细做数据分析、看类别分布。2.3 IEMOCAP面向对话场景的细粒度情绪识别数据集IEMOCAPInteractive Emotional Dyadic Motion Capture跟上面两个数据集完全不同它收录的不是单人评论而是双人对话。数据来自南加州大学由10位专业演员5男5女按照脚本和即兴方式完成对话录制。这个数据集的特点非常鲜明总时长约12小时分为5个会话session每个会话都是两位演员之间的对话交互模态音频、视频含动作捕捉数据、文本人工转写情绪标注生气、开心、伤心、中性、兴奋、沮丧等类别每个话语通常由多个标注者标注除了类别标签外还有维度的标注效价、唤醒度、支配度IEMOCAP适合做对话场景下的情绪识别研究上下文信息怎么影响当前话语情绪的判断。这一块对做语音助手、客服质检、人机交互系统的人特别有价值。注意IEMOCAP的标注是多数的标注者投票机制并不是每个片段都只有单一标签。如果你做的是分类任务通常的做法是选择一个多数票标签作为金标或者过滤掉没有共识的样本。这个细节会直接影响实验结果的稳定性。2.4 MELD来自电视剧《老友记》的多模态对话数据集MELDMultimodal EmotionLines Dataset来自情感对话领域它是在EmotionLines基础上增加了音视频模态后形成的版本。数据取自美剧《老友记》是全字幕、全音频、全视频的对话场景。MELD的核心统计信息对话数1433段对话话语总数13389条模态文本、音频、视频标注7类情绪生气、厌恶、悲伤、开心、惊讶、恐惧、中性外加正面/负面/中性三类情感sentiment标注官方划分训练集9989条验证集1109条测试集2610条MELD最大的特点是把多模态情感分析放在真实的多人对话场景中对话角色多、话题切换频繁情绪表达非常自然。它考验模型在多说话人、多轮上下文中的情感理解能力比单人评论数据集的难度高不少。不过《老友记》的对话都是英语口语而且带有很强的美式文化色彩。如果你要用到中文场景直接拿MELD训练肯定会有偏差一般需要配合中文数据集做迁移或联合训练。2.5 CH-SIMS中文细粒度多模态情感数据集做中文场景的同行CH-SIMS是一个绕不开的选择。它由清华大学等机构发布是目前使用较广泛的中文多模态情感分析数据集之一。CH-SIMS的参数如下视频片段数2281个带标注的片段模态文本、音频、视频语种中文标注每个样本除了整体的情感强度标注外还在文本、音频、视频三个单模态上分别有各自的情感标注情感强度范围[-1, 1]的连续分值也可以映射成类别这个数据集的独特之处在于单模态标注它解决了多模态情感分析里的一个研究方向——模态之间的差异问题。比方说一个人嘴上说得很正面但语气带着明显的嘲讽这时候文本模态和音频模态的标注就会有分歧。CH-SIMS把这种分歧显式标出来了方便研究模态不一致、模态置信度等问题。缺点方面CH-SIMS是短视频评论场景单段话语较短而且说话人数目相对有限。如果你做的是长对话场景它不太适合作为唯一训练数据。2.6 DEAP生理信号情感分析的补充参考严格来说DEAP不是传统的文本-音频-视频多模态数据集但它在情感计算领域使用频率极高。我做情感分析时偶尔会遇到需要结合生理信号做多模态融合的需求这时候DEAP就是首选参考。DEAPDatabase for Emotion Analysis using Physiological Signals由伦敦玛丽女王大学发布采集了32名受试者观看40段一分钟音乐视频时的生理数据。包含32通道脑电EEG8路外周生理信号肌电、眼电、皮肤电、呼吸、体温等部分受试者的正面面部视频受试者在效价、唤醒度、支配度、喜好度四个维度上的主观评分如果做情绪维度回归或者脑机接口方向的研究DEAP非常合适。但它不属于语言类多模态数据下载和使用流程也完全不同需要单独申请所以实际做文本相关多模态任务时几乎用不到它。这里提它只是为了帮你建立完整的数据图谱避免你搜文献时把它和各语言模态数据集混淆。3. 官方获取方式与下载链接这节我直接给每个数据集的实际获取路径。需要注意学术数据集页面的失效频率非常高链接如果打不开不是你的网络问题就是官方调整了页面结构或下了老版本。建议每个数据集都按两条路径来找。3.1 CMU-MOSI和CMU-MOSEI大多以特征文件为主MOSI和MOSEI的官方页面位于CMU的多模态计算实验室。两个数据的发布页经常改版我个人更建议的路径是去GitHub搜索CMU-MultimodalSDK这个项目官方SDK中通常会附带数据下载脚本和特征处理接口。使用SDK时典型的下载方式是通过Python脚本拉取from mmsdk import mmdatasdk as md DATASET md.cmu_mosei md.mmdataset(DATASET.highlevel, mosei/)这里有一个重要提醒SDK默认拉取的是高层次特征high-level features也就是已经用特定工具提取好的特征文件而不是原始视频。原始视频需要另外走官网申请。对大多数复现实验而言高维特征已经足够用了而且它省掉了大量音视频预处理的麻烦。如果你发现自己拿到的文件只有.csd格式不要慌这是SDK自定义的存储格式不是坏文件。用mmsdk里的mmdataset接口就能读出来。3.2 IEMOCAP必须通过官方申请流程IEMOCAP没有公开直链官方网站是南加州大学ICT实验室维护的sail.usc.edu/iemocap。下载时你需要填写一个申请表单说明使用目的、所属机构、指导教师等信息签署学术用途协议后才给你发放授权。很多学生在这一步容易卡住。我的经验是申请邮件务必用学校邮箱发在邮件里附上导师的简介或实验室主页链接。这个数据集包含演员的录像和动作捕捉数据涉及肖像权所以审核比较严格。在等待下发的过程中你可以先把官方提供的README和标注格式手册读一遍尤其是对话切分规则和情绪标签的分布说明。这样数据一到手就能直接开始写预处理脚本。3.3 MELDGitHub直接获取MELD的获取相对最省心。发布方在GitHub上维护了官方仓库搜索declare-lab/MELD就能找到。仓库里不仅包含数据集的标注文件还提供了各模态的下载地址和预处理工具。一般流程是先把仓库Clone下来再按README里的链接下载特征或原始音视频。MELD的原始视频是从《老友记》里切出来的片段涉及到版权的问题所以不同时期给出的下载链接可能有所调整。如果官方视频链接失效推荐你退而求其次直接用官方提供的预提取特征文件。对文本分类模型来说特征文件已经包含了你需要的大部分信息。3.4 CH-SIMSGitHub 学术镜像CH-SIMS同样通过GitHub发布你搜索thuiar/MMSA-Torch这个项目就能找到相关说明。这个项目是多模态情感分析的开源工具箱里面除了CH-SIMS还封装了MOSI和MOSEI的处理接口。CH-SIMS的原始视频片段存放在学术网盘或Google Drive上国内访问需要一些网络条件。如果下载受限可以看看项目里有没有百度网盘镜像或者去Hugging Face上搜数据集名称。我见到过社区上传的CH-SIMS特征版本虽然不是官方渠道但可以用于初期的上手学习。需要提醒的是社区版本的特征提取方式和官方可能不同跑论文对比时还是以官方版本为准。3.5 DEAP官网填表与邮件授权DEAP的官方页面在英国伦敦玛丽女王大学的服务器上。打开页面后你会看到下载协议填上姓名、单位、邮箱后系统会发一封确认邮件点击确认就能进入下载列表。DEAP下载页面提供了两个版本原始生理信号和预处理版本。预处理版本的文件是MATLAB格式.mat加载后每个样本是一个40 × 40 × 8064的数据块40个试次、40个通道、60秒×128Hz采样同时还有对应的标签文件。使用Python的话可以用scipy.io.loadmat读取。说句题外话因为DEAP的下载表单不算复杂很多人会误以为可以随便分发其实它的授权协议明确禁止二次分发。之前有人把DEAP数据打包传到网盘上后来被官方要求下架了。咱们做研究还是走正规渠道。4. 实测中经常遇到的那些坑一份详细的避坑清单数据集下载只是第一步真正让人头疼的是使用过程中的各种细节。下面这些坑是我自己踩过或者帮别人排查问题时反复见过的。4.1 模态对齐问题多模态情感分析最核心的预处理工作是模态对齐——把文本、音频、视频三个模态的信息对齐到同一个时间轴或同一个话语单元上。以MOSI为例文本是按话语utterance切好的但音频特征可能是按帧提取的比如每100ms一帧。视频特征可能是按每帧或每300ms提取的。这三个特征的序列长度完全不同直接拼接在一起是不可能喂给简单分类器的。常见做法有两种。第一种是把每句话的所有帧特征做统计池化比如均值、最大值、最小值变成一个固定长度向量第二种是用注意力机制或循环网络先把每个模态编码成定长向量再做融合。无论哪种做法都得在预处理阶段把每个模态的索引对应关系搞清楚。我见过最离谱的bug是把不同句子的音频特征和文本特征错位了模型还能训练因为数据没报错但精度一直很低排查了三天才发现是对齐脚本的索引写错了。建议在写预处理脚本时把每个样本的模态特征长度打印出来并且随机抽样几个样本人工确认一下内容是否对得上。表格整理如下方便你自查对齐时该检查什么模态数据形态常见特征对齐粒度文本词序列GloVe、BERT向量按话语音频波形/帧COVAREP、openSMILE按帧如100ms视频帧序列OpenFace、3DCNN按帧如30fps4.2 预提取特征和原始文件之间的差距很多刚入门的人会默认“特征都一样”其实不是。特征提取器的版本、参数、人脸检测器都会影响特征值。举个例子同一个视频用不同版本的OpenFace提取面部动作单元Action Units数值可能有差异而这种差异足以影响最终几个点的精度。更麻烦的是某些特征是在全视频上提取的某些是按片段提取的这就会导致同一段话语在不同版本里数值范围完全不同。所以我的建议是复现论文时先搞清楚原论文用的是哪个版本的特征尽量用同一个版本的官方特征文件。如果你打算自己提特征那么在论文里、在代码注释里都要写清楚提取器和版本号。这不仅是对自己的实验负责也是学术透明的基本要求。4.3 标签分布不均衡与评估指标的选择情感分析数据集的标签分布经常是不均衡的。比如IEMOCAP里“中性”和“开心”的样本数量往往比“厌恶”多得多MELD里“中性”类别占比也很高。如果你只盯着准确率看很容易被占比高的类别带偏。这种情况我建议使用加权F1或混淆矩阵作为主要评估依据。对于多分类任务在每个类别的召回率上做分析往往比看整体准确率更能暴露模型的短板。如果你用的是CMU-MOSI/MOSEI这类带强度分值的数据集还面临一个任务定义问题回归任务的相关系数Corr和分类任务的准确率ACC是两套评价维度不能混在一起比较。不同论文报告的指标不同对比时要先确认评价协议一致。4.4 口语伪标签和模态差异CH-SIMS这类带单模态标注的数据集会暴露出一个在MOSI、MOSEI里不太明显的问题文本模态说的内容和音频、视频模态表达的内容可能完全是相反的也就是反讽、揶揄。比如有人用很夸张的语气说“你太棒了”文本是正面的但语气和表情是负面的。这种样本在真实场景中非常多如果模型只学文本会把反讽全判成正面。这就引出一个研究思路你可以利用模态之间的分歧信息做对比学习或置信度建模让模型学会判断什么时候该相信哪个模态。CH-SIMS的价值恰恰就在这里。如果用CH-SIMS却把三个模态的标签求和取平均那就浪费了它一半的信息量。4.5 下载和使用中的版权与学术规范问题最后必须提醒一点所有学术数据集的授权协议都明确规定仅限学术研究使用。有的还特别要求不能把数据用于商业项目不能二次分发不能在没有授权的情况下公开原始视频。我见过一些人在GitHub仓库里上传从MELD切出来的原视频片段这确实方便了后续研究者但从授权角度讲是违反了版权协议的。如果你要做开源项目建议只开源特征文件和处理代码把原始数据获取留给用户自己去官方渠道申请。5. 到底怎么选一张图和几个帮我做判断的参考思路5.1 按任务类型和数据特点的快速参考同样是“多模态情感分析”不同数据集的侧重点差异很大。我做选型时通常会先回答下面几个问题然后用一张内部对照表快速定方向。问题一我做的是英文还是中文场景如果业务是中文直接选CH-SIMS或者拿CH-SIMS做预训练再用自己的业务数据微调。中文口语的文本、语音特征和英文差别很大不建议拿英文模型硬套。问题二我的任务是识别情绪类别还是判断情感极性情绪类别识别多分类优先看IEMOCAP和MELD它们有多情绪标注情感极性判断正负二分类或强度回归优先看CMU-MOSEI它样本量大、标注质量稳定。问题三我的场景是单说话人评论还是多轮对话单说话人评论比如短视频内容分析、商品评论分析用CMU-MOSEI最合适多轮对话比如客服机器人、智能音箱的对话理解用IEMOCAP或MELD更贴近真实场景。问题四我的计算资源够吗CMU-MOSI只有两千多个样本适合快速迭代和调试CMU-MOSEI样本量大但特征文件也不算特别大一张中端显卡能跑完大部分早期实验。DEAP的数据量适中但处理生理信号需要额外的专业知识别一上来就选它。参考对照表如下数据集语种主要场景标注类型规模获取难度CMU-MOSI英文评论视频情感强度[-3,3]2199段较易CMU-MOSEI英文评论视频情感强度情绪6类23453段较易IEMOCAP英文双人对话情绪类别维度约10000段需申请MELD英文多轮对话情绪7类13389条较易CH-SIMS中文短视频评论情感强度单模态标注2281段较易DEAP-生理信号效价/唤醒度等32人×40试次需申请5.2 一个小众但实用的建议多数据集联合使用如果你有足够的实验时间我的建议是别只在一个数据集上做实验。多模态情感分析这个领域的现状是单个数据集的数据分布都偏窄任何模型在一个数据集上刷到高分都可能是过拟合了该数据集的特殊风格。一个比较稳的做法是用CMU-MOSEI或IEMOCAP做主要开发和验证用MELD做跨数据集泛化测试如果做中文场景再加一个CH-SIMS。这样得到的结果无论是发论文还是在真实业务里落地都比单数据集评测更有说服力。我在实际项目里还试过用MELD的数据增强来提升对话场景效果——MELD的说话人数量多、对话轮次丰富把它作为辅助训练集和CH-SIMS混合训练中文对话情绪的鲁棒性确有改善。代价是预处理阶段要做说话人嵌入和语种统一稍微麻烦但值得一试。6. 数据到手后先别急着训练模型很多人在拿到数据集后第一件事就是写模型开始训练这在我看其实是最大的一个坑。多模态情感分析的数据集结构复杂预处理链路长任何一个环节出错模型都在学噪音。我个人的工作流程是数据下载之后至少安排一天时间专门做数据探查和可视化确认三模态对齐无误、标签分布合理、特征数值范围正常然后才开始建模型。如果你也打算做多模态情感分析我强烈建议从CMU-MOSEI起步它资源最全、社区讨论最多、踩坑经验最容易找到。等把MOSEI的流程完全跑通再根据自己的场景去扩展其他数据集会顺畅得多。数据集的坑永远踩不完但把最常用的几个摸透了后面的路会越走越顺。
返回列表