TomBert:一种基于Bert改进的多模态的情感识别方法

摘要

论文地址为Adapting BERT for Target-Oriented Multimodal Sentiment Classification

基于目标的情感分类是细粒度情感分类的重要任务。即我们关注输入句子中部分,视作目标,对这一部分进行情感分析。
传统方法只注重基于文本的情感分类,这边考虑图文多模态融合的方法,提出了新的TMSC(target-oriented multimodal sentiment classification)。具体做法是先利用BERT获得文本词嵌入,然后利用cross-attention,以target文本为掩码,做图像的attention,获得目标-图像的attention嵌入,最后叠加多层self-attention,获得的模型结果要好于传统TSC和TMSC。

引言

基于目标的情感分析,就是对句子输入中的目标词进行针对的情感分析。举例:

句子是“Georgina Hermitage is a #one2watch since she broke the 400m T37 WR.”
目标词是“ Georgina Hermitage”和“400m T37“
经过TSC,得到 Georgina Hermitage的情感分析是正向,400m T37的情感分析是负向

当前这些TSC方法的缺点:

  1. 没有利用预训练模型来初始化模型参数,随机的参数初始化可能导致sub-optimal
  2. 只关注文本,没有考虑图文结合

按:这里关于预训练的解释非常有意思,相比随机的初始化,预训练初始化更不容易陷入局部最优,因为它是经过海量数据训练,更好捕捉了语言中广泛的关系。

这里的解决方法是构建多模态预训练模型,预训练模型采用BERT,多模态采用target-attention机制实现目标和图片的对齐(目标作为Q,图片作为K和V),和目标与文本对齐(目标作为Q,文本作为K和V),此外,在此基础上stack多层attention来实现图文对齐融合。

模型

数据描述

包括文本信息,对应图片信息,和目标信息,目标是从文本中提取的子序列。
输出结果为针对目标信息的情感分类
在BERT的输入格式中,形式为:[CLS]文本信息(其中目标子序列用$T$替代)[SEP]目标序列[SEP]

mBERT

对文本和图片分别通过预训练的模型(resnet和Bert)获得嵌入向量,将图文向量concat后,直接过多层transformer-encoder,得到预测结果。
可以理解成前融合,图文向量拼接后进入Bert。
在这里插入图片描述
缺点是target不敏感。对于同一张图,即使文本中target不同,但是输出的图片向量也是相同的。

TomBERT

针对mBERT问题的意图:
针对不同的target应当关注图片中不同的部分

按:针对如色情这类有成熟训练模型的,可以直接利用预训练模型,但是针对无成熟数据训练的类别,可以将类别作为Q和图片进行cross-attention。

设计一个Target-Image Matching Layer。利用BERT获得target的词嵌入表示H作为Q, 用图像作为K,V,计算attention,stack Lt次,最终获得一个target-sensitive visual output
在这里插入图片描述
在这里插入图片描述
H v = T I L t ( G , T ) H_v = TI_{L_t}(G,T) Hv=TILt(G,T)

在这里插入图片描述

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值