ARTICLE DETAIL

资讯详情

深耕网站SEO优化与搜索引擎排名提升的一线实战洞察。

多模态情感分析怎么做?Multimodal-Sentiment-Analysis 五种融合策略实测指南

多模态情感分析怎么做?Multimodal-Sentiment-Analysis 五种融合策略实测指南 多模态情感分析怎么做Multimodal-Sentiment-Analysis 五种融合策略实测指南【免费下载链接】Multimodal-Sentiment-Analysis多模态情感分析——基于BERTResNet的多种融合方法项目地址: https://gitcode.com/gh_mirrors/mu/Multimodal-Sentiment-Analysis用户发来一条带图评论“就这”配一张皱巴巴的包装图。纯文本模型只看得到四个字图里的情绪全被漏掉。Multimodal-Sentiment-Analysis 就是为这类情况做的文本图像多模态情感分析项目BERT 走文本分支ResNet50 走图像分支五种融合策略把两路特征拼成一个情感判断。它到底能做什么先交代两个分支。文本分支用 BERT来自 Hugging Face Transformers项目默认 roberta-base提特征图像分支用 ResNet50torchvision 自带的图像网络提特征。两边都压到 64 维中间向量middle_hidden_size64然后才是真正的主角——五种融合方式各自一个文件放在Models/下。最终任务是三分类num_labels3类别不平衡靠loss_weight[1.68, 9.3, 3.36]加权。策略--fuse_model_type取值一句话差异NaiveCat两路特征直接拼成一条向量送进分类器NaiveCombine两路各自出概率相加后再 softmaxCMACCrossModalityAttentionCombine双向交叉注意力文本去查图像图像也去查文本HSTECHiddenStateTransformerEncoder两模态的隐藏状态一起送进 TransformerEncoderLayer 做自注意力OTEOutputTransformerEncoder两路输出特征拼接后过一层 Transformer 编码器再分类从克隆到第一次训练第一步把仓库拉下来git clone https://gitcode.com/gh_mirrors/mu/Multimodal-Sentiment-Analysis第二步装依赖版本锁得比较老torch 1.8.2、transformers 4.18.0建议单独开个虚拟环境免得和本地其他项目打架pip install -r requirements.txt第三步是数据。训练脚本会自动把data/train.txt解析成 json图片要放在data/data/目录里完整数据集需要从 README 里给的网盘地址下载后解压。第四步选模型。Config.py里默认fuse_model_type NaiveCombine但更省事的是直接走命令行参数连文件都不用改。第五步开跑一条命令训练 OTE跑完记得看每轮打印的Valid Accpython main.py --do_train --epoch 10 --text_pretrained_model roberta-base --fuse_model_type OTE✅ 想补消融实验逐个关掉输入、看单模态各贡献多少同一条命令加--text_only或--img_only就行。最后用--do_test加--load_model_path指向训练保存的模型预测结果会写到output/test.txt。五种融合策略怎么选项目 README 里有一张五种模型同数据同配置的准确率表先摆出来NaiveCat 71.25、NaiveCombine 73.625、CMAC 67.1875、HSTEC 73.125、OTE 74.625。基于这个做多模态融合策略对比我的建议是如果你只是想先验证整条流水线能跑通选NaiveCombine。它是两个最朴素方案里更高的那个结构也最简单。如果你想看两个模态在特征层面互相“对账”选CMAC。双向交叉注意力写得很直白但它在这组实验里反而垫底67.1875说明注意力融合不等于自动涨点。如果你想让两模态在隐藏状态级别做自注意力选HSTEC73.125 与 NaiveCombine 基本持平。如果你要的是这个仓库里的最高分选OTE。74.625 是消融实验中五者最高而且代码量最小。如果你想知道图像到底值不值看消融数字纯文本 71.875、纯图像 63。也就是说完整模型比纯文本只多 3 个点左右——图像不是没用但它的边际贡献集中在文本判不准的那部分样本上。能落到哪些真实场景电商运营侧。问题差评里一半是带图的纯文本情感模型把“图很惨、文字客气”的评论全判成中性漏掉真正出问题的订单。接法把评论文本和配图一起喂给 OTE输出的三分类结果直接进差评排序队列图里的情绪终于算数了。客服质检侧。问题客户在会话里甩来截图抱怨质检系统只看文字记录负面情绪识别率对不上人工抽检。接法截图 会话文本走同一套多模态情感分析流程质检看板按预测分数筛选高风险会话再交人工复核。社媒监控侧。问题梗图、反讽图配着正常措辞的文案发出来传统文本监控完全无感。接法监控管线里把帖子图片作为第二输入模型对“文字中性 图像负面”的组合给出单独标记方便运营优先处理。项目里值得翻的几处 以下路径都相对仓库根目录翻的时候建议对照README.md里的结构说明。Config.py全部超参数集中在这一个类里两个预训练模型各自的学习率、是否冻结参数fixed_text_model_params都在这里。Models/OTEModel.py得分最高的 OTE 整个文件不到 100 行是理解“双分支 融合层”骨架最快的入口。Models/CMACModel.py双向交叉注意力的参考实现MultiheadAttention各方向怎么传一眼能看清。Trainer.py优化器把 BERT、ResNet50、融合层拆成三组参数、三套学习率5e-6 / 5e-6 / 3e-5这种分组写法做迁移时很值得抄。utils/DataProcess.pyProcessor一个类里塞了 tokenize、图像缩放、标签映射和指标计算数据管线改动都从这里下手。README.md的 Result 部分五模型准确率表和 Text Only / Image Only 消融表全文最有信息量的就是这两张表。先跑通 OTE 的完整训练和--text_only、--img_only消融在自己数据上拿到基准数再决定要不要换 NaiveCombine 或 CMAC 这类别的融合策略。【免费下载链接】Multimodal-Sentiment-Analysis多模态情感分析——基于BERTResNet的多种融合方法项目地址: https://gitcode.com/gh_mirrors/mu/Multimodal-Sentiment-Analysis创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表