跑通多模态情感分析:Multimodal-Sentiment-Analysis 图文融合实战指南
跑通多模态情感分析:Multimodal-Sentiment-Analysis 图文融合实战指南
【免费下载链接】Multimodal-Sentiment-Analysis多模态情感分析——基于BERT+ResNet的多种融合方法项目地址: https://gitcode.com/gh_mirrors/mu/Multimodal-Sentiment-Analysis
用户发了一条带图吐槽,系统却只读到了文字,情感判断自然偏了。Multimodal-Sentiment-Analysis 解决的就是这个问题:RoBERTa 读文本、ResNet50 读图像,内置 5 种多模态融合策略,对图文输入输出 3 类情感标签。项目自带训练脚本和示例数据,跟着下面 4 步就能跑起来。
📦 项目速览
- 做什么:对「文本 + 图像」配对输入做 3 类情感分类
- 技术底座:HuggingFace Transformers + PyTorch / torchvision,文本端 RoBERTa,图像端 ResNet50
- 维护者:数据学院人工智能课程的实验项目,代码量小、结构直接
- 5 种融合模型分别放在
Models/目录的 5 个文件里,改Config.py一个参数即可切换
🔍 多模态情感分析核心能力拆解
能处理哪些输入组合?
图文双模态是默认模式;训练/测试时加--text_only或--img_only参数即可退化为单模态,方便做消融对比。
多模态融合策略怎么选型?
5 种策略分两档:NaiveCat(直接拼接)和 NaiveCombine(加权合并)适合当 baseline;CMAC(跨模态注意力)、HSTEC(对隐藏状态做 Transformer 编码)、OTE(对模态输出向量做 Transformer 编码)适合追求更高精度。
效果有参考数据吗?
官方 3 分类实验:OTE 最高 74.625%,NaiveCombine 73.625%,HSTEC 73.125%,NaiveCat 71.25%,CMAC 67.1875%。消融实验里纯文本 71.875%、纯图像 63%,说明图像单独信号弱,但图文结合仍优于文本单模态。
谁需要它:多模态情感分析的落地场景
- 电商运营:给「商品图 + 评价文字」的评论做情感打标,比纯文本方案多一层证据
- 客服系统:用户带图投诉时,把图文情绪一起判掉再决定工单优先级
- 多模态方向学习者:5 种融合结构跑在同一套数据和训练流程下,天然适合做对比实验
⚡ 5 分钟上手
- 克隆仓库:
git clone https://gitcode.com/gh_mirrors/mu/Multimodal-Sentiment-Analysis - 安装依赖:
pip install -r requirements.txt(注意锁定的是 torch 1.8.2 / transformers 4.18.0,新环境可能要自行升级) - 准备数据:按 README 指引下载数据集并解压到
data/目录(仓库里data/train.json可当格式参考) - 开始训练:
python main.py --do_train --epoch 10 --text_pretrained_model roberta-base --fuse_model_type OTE
训练产物会存到output/目录;测试时把--do_train换成--do_test,再加--load_model_path指向保存的模型即可。
延伸阅读
Models/:5 个融合模型各自的完整实现,配合上文架构图对照着看Trainer.py:训练、验证、预测主循环,想换指标或日志格式从这里改Config.py:学习率、batch size、注意力头数等全部超参集中在一个类里
如果你正在给带图评论做情感标注,建议先用默认配置跑一版 OTE,再对照单模态消融结果,就能直观看到图像端到底贡献了多少。
【免费下载链接】Multimodal-Sentiment-Analysis多模态情感分析——基于BERT+ResNet的多种融合方法项目地址: https://gitcode.com/gh_mirrors/mu/Multimodal-Sentiment-Analysis
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
