多模态情感分析早期融合——基于CMU-MOSI和CMU-MOSEI数据集(文末获取源码)

1.数据集介绍

(1)下载地址

https://multibench.readthedocs.io/en/latest/start/datadownload.html

(2)模态介绍

模态有3种(语言,视觉,声音),数据集使用的是已对齐原始raw数据特征。

(3)标签介绍

既有情感标注又有情绪标注。情感标注是对每句话的7分类的情感标注,作者还提供了了2/5/7分类的标注。情绪标注是包含高兴,悲伤,生气,恐惧,厌恶,惊讶六个方面的情绪标注。数据集是多标签特性,即每一个样本对应的情绪可能不止一种,对应情绪的强弱也不同,在[-3~3]之间。

(4)融合方式

AEF:在AEF方法中,使用三个编码器(encoders),然后使用GRU和MLP模型构建了头部(head),并使用直接拼接的方法进行融合。接着,通过训练函数对数据进行训练。最后,通过加载训练好的模型并进行测试。

AEFT:在AEFT方法中,同样使用使用三个编码器(encoders),并使用Transformer和MLP模型构建了头部,并使用直接拼接的方法进行融合。同样,通过训练函数对数据进行训练,并指定了相应的参数。最后,加载训练好的模型并进行测试。

(5)评价标准

平均绝对误差(MAE)、Pearson相关性(Corr)、二元精度(Acc-2)、F-Score(F1)和多级精度(Acc-7)范围从-3到3。对于除MAE以外的所有指标,相对较高的值表示较好的任务性能。本质上,提出了两种不同的方法来测量Acc-2和F1。在第一种,负类的标注范围为[-3,0),而非负类的标注范围为[0,3]。第二种,负类和正类的范围分别为[-3,0)和(0,3]。

2.代码示例

def init_argparse():
    import argparse
    parser = argparse.ArgumentParser(description="多模态情感分析")
    parser.add_argument("--path", type=str, default='data/MOSI/mosi_raw.pkl', help="数据路径")
    parser.add_argument("--fusion_method", type=str, default='AEF', help="融合方法")
    parser.add_argument("--batch_size", type=int, default=128, help="训练时的批大小")
    parser.add_argument("--num_workers", type=int, default=0, help="子进程数量")
    parser.add_argument("--data_type", type=str, default='mosi', help="要加载的数据类型")
    parser.add_argument("--max_seq_len", type=int, default=50, help="最大序列长度")
    parser.add_argument("--optimizer", type=str, default='AdamW', help="优化器")
    parser.add_argument("--epochs", type=int, default=300, help="训练轮数")
    parser.add_argument("--lr", type=float, default=0.001, help="学习率")
    parser.add_argument("--weight_decay", type=float, default=1e-5, help="权重衰减")
    parser.add_argument("--save", type=str, default='best.pt', help="权重保存名字")
    parser.add_argument("--seed", type=int, default=1234, help="随机种子")

3.运行结果

以CMU-MOSI为例,使用AEF和AEFT方法在测试集上的结果如下:

AEF 方法

AEFT方法


4.完整代码获取

https://mp.weixin.qq.com/s/EgsUE9cq16aaTHgipMZeGg

最后:

如果你想要进一步了解更多的相关知识,可以关注下面公众号联系~会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!

5a8015ddde1e41418a38e958eb12ecbd.png

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载体验!下载完使用问题请私信沟通。 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 【资源说明】 基于ResNet+BERT的多种融合方法实现的多模态情感分析源码+数据集+项目说明(人工智能课程实验).zip 本项目基于Hugging Face和torchvision实现,共有五种融合方法(2Naive 3Attention),在Models文件夹中查看 Project Structure ``` |-- Multimodal-Sentiment-Analysis |-- Config.py |-- main.py |-- 项目说明.md |-- requirements.txt |-- Trainer.py |-- data | |-- .DS_Store | |-- test.json | |-- test_without_label.txt | |-- train.json | |-- train.txt | |-- data |-- Models | |-- CMACModel.py | |-- HSTECModel.py | |-- NaiveCatModel.py | |-- NaiveCombineModel.py | |-- OTEModel.py | |-- __init__.py |-- src | |-- CrossModalityAttentionCombineModel.png | |-- HiddenStateTransformerEncoderCombineModel.png | |-- OutputTransformerEncoderModel.png |-- utils |-- common.py |-- DataProcess.py |-- __init__.py |-- APIs | |-- APIDataset.py | |-- APIDecode.py | |-- APIEncode.py | |-- APIMetric.py | |-- __init__.py ``` Requirements chardet==4.0.0 numpy==1.22.2 Pillow==9.2.0 scikit_learn==1.1.1 torch==1.8.2 torchvision==0.9.2 tqdm==4.63.0 transformers==4.18.0 ```shell pip install -r requirements.txt ```
【资源介绍】 基于Java的大规模在线课堂中教师多模态情感与学生行为相关性的可视分析方法源码.zip基于Java的大规模在线课堂中教师多模态情感与学生行为相关性的可视分析方法源码.zip基于Java的大规模在线课堂中教师多模态情感与学生行为相关性的可视分析方法源码.zip基于Java的大规模在线课堂中教师多模态情感与学生行为相关性的可视分析方法源码.zip基于Java的大规模在线课堂中教师多模态情感与学生行为相关性的可视分析方法源码.zip 基于Java的大规模在线课堂中教师多模态情感与学生行为相关性的可视分析方法源码.zip 基于Java的大规模在线课堂中教师多模态情感与学生行为相关性的可视分析方法源码.zip 基于Java的大规模在线课堂中教师多模态情感与学生行为相关性的可视分析方法源码.zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,也适用于小白学习入门进阶。当然也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或者热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MatpyMaster

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值