基于多模态交叉注意力机制图文融合的情感分析方法

未命名 10-08 阅读:823 评论:0


1.本发明涉及一种基于多模态交叉注意力机制图文融合的情感分析方法。


背景技术:

2.关于单模态的情感分析的研究已经取得了很大的成功,但是现实生活中的情感大多是多模态的。不仅仅有文本,还有图片、音频、视频等形式,各个模态之间,起到了相互促进的作用。如果能够挖掘各个模态之间的联系,那么情感分析的准确性会得到进一步提高。
3.随着研究的深入,多模态的情感分析近年来受到了越来也多的关注,也是一项极富挑战性的研究课题,对比单模态的情感分析,多模态是一个跨学科的研究课题,结合了自然语言处理、计算机视觉等领域。
4.基于对不同融合方式的研究,主要分为三类,即早期融合、中间融合和晚期融合。
5.基于早期融合的方式,首先对多各模态信息进行特征提取,之后再进行拼接、加权等方式的融合。比如:通过把文本和图像融合在一个统一的词袋中,在进行特征拼接,并输出最终表示;采用二元表示的方式对文本特征进行提取,使用互信息的方法提取底层图像特征,对结果基于相似度的邻域分类器进行二分类。晚期融合会对每个模态的数据进行单独训练,选择最合适的分类器,并对最后结果融合输出。比如:首先使用cnn分别提取图像特征和文本特征,然后使用逻辑回归对不同情感进行预测分析,最后采用平均和加权融合策略来进行最终的情感预测分析;一种深度多模态注意力融合模型,首先使用注意力分别提取文本和图像特征,然后通过早期融合得到图文融合特征,最后使用晚期融合对分类器结果进行综合;一个混合深度学习模型,首先对多模态数据进行细粒度分析,然后对多模态数据使用决策级多模态结合的方式进行分类输出;一种新的双向多级注意模型来研究图像和文本之间的互补性和相关性。
6.早期融合主要通过对多各模态信息进行特征提取,之后再进行拼接、加权等方式的融合,但是融合结果可能会包含大量的冗余向量,造成信息冗余和信息依赖,进而导致融合效果不佳。中间融合主要通过神经网络,在融合的过程中共享共享网络中间层来实现。晚期融合会通过让各个模态选择最适合自己的方式进行训练,使用不同的分类器进行预测,然后再进行决策融合。但是,晚期融合不能很好的协调各个模态之间的相关性。


技术实现要素:

7.为了解决上述技术问题,本发明提供一种基于多模态交叉注意力机制图文融合的情感分析方法。
8.一种基于多模态交叉注意力机制图文融合的情感分析方法,包括:
9.获取待处理的文本和图像;
10.将所述文本进行向量化,得到文本特征;将所述文本特征经过bilstm处理,获取含有情感词汇的上下文特征;
11.获取所述图像的图像特征,使用cbam注意力分别从空间和通道两个方面获取图像
特征中情感特征区域特征;
12.对提取到的所述上下文特征和情感特征区域特征,通过交叉注意力机制进行融合,得到经过交叉注意力融合后的交叉特征,根据得到的交叉特征以及分类器,进行情感分类,得出情感分析结果。
13.进一步地,所述将所述文本进行向量化,得到文本特征,包括:使用albert预训练模型将所述文本进行向量化,得到文本特征。
14.进一步地,所述albert预训练模型包括输入层、albert预训练层和transformer编码器;
15.所述使用albert预训练模型将所述文本进行向量化,得到文本特征,包括:
16.所述文本经由所述输入层到所述albert预训练层,所述albert预训练层用于获取所述文本中的各个字符的编号,并进行向量化,获得信息序列;
17.所述信息序列输入到所述transformer编码器,进行深层语义特征信息的挖掘,经过转换得到文本特征。
18.进一步地,所述获取所述图像的图像特征,包括:
19.利用预训练的densenet121网络模型获取所述图像的图像特征。
20.进一步地,设定:第i个图像经过densenet121网络模型中第j层卷积后得到的特征图为其中c为通道数,h为特征图的长,w为特征图的宽;
21.所述使用cbam注意力分别从空间和通道两个方面获取图像特征中情感特征区域特征,包括:
22.使用cbam注意力获取第i个图像的第j个特征图的注意力权重计算方法如下式:
[0023][0024]
其中,mc(f
ij
)为第i个图片的第j个特征图的通道注意力权重;ms(f
ij
)为第i个图片的第j个特征图的空间注意力权重;
[0025]
通道注意权重mc(f
ij
)的计算公式如下:
[0026]
mc(f
ij
)=σ(mlp(avgpool(f
ij
))+mlp(maxpool(f
ij
)))
[0027]
=σ(w1(w0(avgpool(f
ij
)))+w1(w0(maxpool(f
ij
))))
[0028]
其中,σ是sigmoid激活函数;mlp的权重w0和w1为两个输入共享,relu激活函数后跟w0;avgpool(
·
)为全局平均池化函数,计算每个特征图所有特征区域的平均值;maxpool(
·
)为全局最大池化函数,计算每个特征图的最大特征值;
[0029]
空间注意权重ms(f
ij
)的计算公式如下:
[0030]ms
(f
ij
)=σ(f7×7([avgpool(f
ij
),maxpool(f
ij
)]))
[0031]
其中,[
·
]为连接操作;f7×7(
·
)代表卷积运算,卷积核大小为7
×
7;avgpool(
·
)为平均池化函数,maxpool(
·
)为最大池化函数;
[0032]
cbam注意力特征图的计算公式如下:
[0033][0034]
其中,表示对应元素按位相乘;
[0035]
经过卷积操作之后,得到每个图像关键区域特征映射向量i=[i1,i2,

,in]。
[0036]
进一步地,所述对提取到的所述上下文特征和情感特征区域,通过交叉注意力机制进行融合,得到经过交叉注意力融合后的交叉特征,根据得到的交叉特征以及分类器,进行情感分类,得出情感分析结果,包括:
[0037]
交叉注意力机制由缩放点积注意力构成,将上下文特征作为缩放点积注意力中的查询矩阵,将情感特征区域作为键值矩阵;通过缩放点积注意力,得到交叉注意力特征,如下式:
[0038][0039][0040][0041][0042]
其中,wq,wk,wv均为参数矩阵;dk是q,k的列数;ii,ti分别为情感特征区域和上下文特征;att(
·
)为交叉注意力机制模块网络;
[0043]
得到经过交叉注意力融合后的交叉特征:yc=[y
c1
,y
c2
,

,y
cn
];
[0044]
对于经过交叉注意力融合后的输出yc,作为线性函数softmax的输入,进行最终的情感分类,如下式:
[0045]
y=softmax(wcyc+bc)
[0046]
其中,wc表示权重矩阵,bc表示偏置项。
[0047]
本发明具有如下有益效果:对获取得到的文本和图像分别进行不同的处理,其中,得到文本特征,并将文本特征经过bilstm处理,获取含有情感词汇的上下文特征;获取图像的图像特征,并使用cbam注意力分别从空间和通道两个方面获取图像特征中情感特征区域特征,最后,对提取到的上下文特征和情感特征区域特征,通过交叉注意力机制进行融合,得到经过交叉注意力融合后的交叉特征,根据得到的交叉特征以及分类器,进行情感分类,得出情感分析结果,结合图像特征和文本特征,融合多模态的情感分析过程相较于现有的单模态情感分析方法,以及其他融合多模态的情感分析过程,分析结果更加准确,效果更好。
附图说明
[0048]
图1为本发明提供的一种基于多模态交叉注意力机制图文融合的情感分析方法的整体流程图;
[0049]
图2是文本特征提取网络流程图;
[0050]
图3是图像特征提取网络流程图;
[0051]
图4是发明提供一种基于多模态交叉注意力机制图文融合的情感分析方法的网络流程图;
[0052]
图5是数据集文本长度频率统计图;
[0053]
图6是不同模型的在mvsa和tumemo数据集性能指标对比图;
[0054]
图7是不同模型的在mvsa和tumemo数据集不同比例的训练集与准确率的变化情况示意图;
[0055]
图8是mvsa和tumemo数据集对不同分类器模型的pr曲线图;
[0056]
图9是不同数据集的消融实验结果图。
具体实施方式
[0057]
本实施例提供一种基于多模态交叉注意力机制图文融合的情感分析方法,提出一个利用图像和文本之间的互补性、关联性的基于交叉注意力机制图文融合的多模态情感分析模型。主要就是利用注意力机制,分别从图像和文本提取情感区域和情感词汇;然后利用交叉注意力机制对提取到的情感特征,进行特征融合;最后对融合特征经过分类器,进行输出预测结果。该基于多模态交叉注意力机制图文融合的情感分析方法的主要构思为:对文本首先使用albert预训练模型进行文本到向量化的转变,然后使用bilstm,获取文本上下文特征;对图像首先使用densenet121网络进行特征提取,然后使用cbam机制从通道和空间两个方面获取重点区域的特征,并获得相应区域的情感区域;对分别获取到的情感词汇和情感区域特征,通过交叉注意力机制进行特征融合,并通过softmax分类器进行最后的结果输出。
[0058]
在具体说明该基于多模态交叉注意力机制图文融合的情感分析方法之前,先介绍一下所用到的相关技术手段。
[0059]
densenet网络:
[0060]
densenet(densely connected convolutional network)是由gao huang等人在2017年提出的一种深度卷积神经网络模型,它使用了密集连接(dense connection)的思想,使得网络具有更强的特征传递和重用能力,可以训练出非常深的神经网络,且具有很高的准确性。
[0061]
在传统的卷积神经网络中,每一层的输出都是前一层的输入经过一次卷积和非线性激活函数得到的。
[0062]
假设输入为一个图片x0,经过一个l层的神经网络,其中第i层的非线性变换记为hi(*),hi(*)可以是多种函数操作的累加如bn、relu、pooling或conv等。第i层的特征输出记作xi。
[0063]
传统卷积前馈神经网络将第i层的输出xi作为i+1层的输入,可以写作xi=hi(x
i-1
)。resnet增加了旁路连接,可以写作如下式:
[0064]
x
l
=h
l
(x
l-1
)+x
l-1
[0065]
resnet的一个最主要的优势便是梯度可以流经恒等函数来到达靠前的层。但恒等映射和非线性变换输出的叠加方式是相加,这在一定程度上破坏了网络中的信息流。而densenet提出了密集块(dense block)的概念,每一个密集块都包含了若干个卷积层和一个跳跃连接(concatenation),使得前面所有层的特征都可以直接传递到后面的层中,从而构成了一个密集网络。一个密集块由若干个卷积层和一个跳跃连接组成。
[0066]
每一层的输入都是之前所有层在densenet的同一个密集块中生成的所有特征映射的拼接。第(l-1)层的输出记录为x
l-1
。第i层的输入不仅与i-1层的输出相关,还有所有之
前层的输出有关,第l层的输出如下式:
[0067]
x
l
=h
l
([x0,x1,

,x
l-1
])
[0068]
其中[]代表concatenation(拼接),既将x0到x
l-1
层的所有输出feature map按channel组合在一起。这里所用到的非线性变换函数h
l
(
·
)为bn+relu+conv(3
×
3)的组合。
[0069]
其中,每个卷积层的输入都包含了前面所有层的输出,而输出则会直接传递到后面的所有层中。如果输入和输出的维度不一致,则需要通过一个额外的卷积层进行变换,以便可以将输入和输出进行连接。
[0070]
使用密集块的好处在于,可以使得网络具有更强的特征传递和重用能力,从而提高了准确性。此外,跳跃连接还可以使得网络具有更强的特征重用能力和泛化能力,从而进一步提高了准确性。
[0071]
albert预训练模型:
[0072]
albert(a lite bert)是一种基于bert(bidirectional encoder representations from transformers)模型的自然语言处理模型。它是一种自监督学习的预训练模型,可以用于文本分类、命名实体识别、问答、文本生成等自然语言处理任务。
[0073]
albert的主要特点在于,它采用了两个预训练任务:masked language model(mlm)和next sentence prediction(nsp)。mlm任务是在输入序列中随机选择一些token并将其替换成[mask],然后让模型预测被mask的token;nsp任务是让模型预测两个句子是否是相邻的句子。通过这两个任务的预训练,albert可以学习到更丰富的语言表示,从而提高了其在自然语言处理任务中的性能表现。
[0074]
albert的结构与bert类似,它是由多个transformer模块组成的,每个transformer模块包含一个多头自注意力层和一个前馈神经网络层。与bert不同的是,albert采用了跨层连接(cross-layer connections)和全局路径(global pathways)来增强特征传递和信息流动的能力,从而提高了模型的效率和性能。
[0075]
albert相对于bert的优点主要有以下几点:
[0076]
(1)更高效的训练:albert使用了两种新的训练策略:跨层参数共享和句子顺序预测。跨层参数共享能够显著减少模型的参数量,降低模型训练的复杂度,从而使得更大的模型可以被训练。句子顺序预测则能够增加训练数据量,提高模型的泛化能力。这些改进使得albert在相同的计算资源下能够训练更大、更高效的模型。
[0077]
(2)更好的性能:albert在glue(general language understanding evaluation)基准测评任务中取得了比bert更好的结果,表明albert相对于bert在自然语言理解任务上有更好的性能表现。
[0078]
(3)更好的泛化能力:albert使用了更加充分的预训练,能够更好地学习到通用的语言表示,从而在下游任务中具有更好的泛化能力。此外,albert还使用了更多的数据增强技术,能够更好地适应不同任务的数据分布,提高了模型的鲁棒性。
[0079]
(4)更灵活的模型结构:albert提供了多种不同的模型结构和超参数的选择,可以根据具体应用场景进行灵活调整。例如,可以选择不同的层数、隐藏层大小、跨层共享策略等,这使得albert更加适合不同的场景和任务需求。
[0080]
总之,相对于bert,albert在训练效率、性能表现、泛化能力、模型灵活性等方面都有所提升,所以本实施例选择albert作为预训练模型。
[0081]
cbam注意力机制:
[0082]
cbam(convolutional block attention module)是一种用于图像识别的注意力机制模块,由kaist机器学习研究中心的sanghyun woo等人在2018年提出。cbam模块可以在卷积神经网络中引入空间和通道注意力机制,从而提高图像识别的精度和鲁棒性。
[0083]
具体来说,cbam模块包括两个注意力子模块:通道注意力模块和空间注意力模块。通道注意力模块用于自适应地调整不同通道的权重,以提高模型对重要特征的关注度。空间注意力模块则用于自适应地调整不同空间位置的权重,以提高模型对重要位置的关注度。通过这两个子模块的组合,cbam模块可以自适应地调整特征图中每个通道和位置的权重,从而减轻了对全局特征的依赖,提高了模型的鲁棒性和泛化能力。
[0084]
给定一个中间特征图f∈rc×h×w作为输入,cbam的运算过程总体分为两部分,首先对输入按通道进行全局最大池化和均值池化,将池化后的两个一维向量送入全连接层运算后相加,生成一维通道注意力mc∈rc×1×1,再将通道注意力与输入元素相乘,获得通道注意力调整后的特征图f

;其次将f

按空间进行全局最大池化和均值池化,将池化生成的两个二维向量拼接后进行卷积操作,最终生成二维空间注意力ms∈r1×h×w,再将空间注意力与f

按元素相乘。cbam生成注意力过程,如下式:
[0085][0086][0087]
其中,表示对应元素按位相乘,在相乘操作前,通道注意力与空间注意力分别需要按照空间维度与通道维度进行相应地广播。
[0088]
如图1所示,本实施例提供的一种基于多模态交叉注意力机制图文融合的情感分析方法包括如下步骤:
[0089]
步骤1:获取待处理的文本和图像:
[0090]
获取需要情感分析的文本和图像。
[0091]
步骤2:将所述文本进行向量化,得到文本特征;将所述文本特征经过bilstm处理,获取含有情感词汇的上下文特征:
[0092]
应当理解,对于输入的一句话,其情感信息往往与文本中的某些单词有关。因此,在文本的情感分析过程中,首先通过预训练模型albert对文本内容进行向量化,然后再通过bilstm结合输入序列在前向和后向两个方向上的信息,进一步文本内容的情感程度。文本特征的提取过程如图2所示。
[0093]
首先,使用albert预训练模型将所述文本进行向量化,得到文本特征。本实施例中,albert预训练模型包括输入层、albert预训练层和transformer编码器。
[0094]
使用albert预训练模型进行文本序列的向量化,albert预训练模型进行的是分字操作,可以对语料文本进行字符级别的向量化。对于输入的每个文本m由n个字符构成,可表示为:m=[m1,m2,

,mn],mi代表文本中的第i字符。
[0095]
文本m经过输入层到albert预训练层,首先对于文本信息里的每个字符标记出其在字典中编号位置,获得相应的编号,并进行文本内容的向量化,获得信息序列e,ei表示第i个字符对应的向量化,如下式:
[0096]
e=[e1,e2,

,en]
[0097]
对于信息序列e,然后将其输入到albert预训练模型中的transformer编码器,进
行深层语义特征信息的挖掘,经过转换得到最终得到文本序列的特征向量z,zi表示第i个字符对应的特征向量,如下式:
[0098]
z=[z1,z2,

,zn]
[0099]
将每个字符i对应的特征向量zi作为输入,bilstm网络能够同时结合输入序列在前向和后向两个方向上的信息,较好的挖掘语义的深层信息,可以使文本中的情感信息进一步加强。对于t时刻的输入z
it
,其前向输出和后向输出计算如下式:
[0100][0101][0102]
对于每个字符i的特征向量zi,通过连接其前向和后向的上下文信息,获得其带有情感信息的特征表示,如下式:
[0103][0104]
其中,[
·
]为向量的拼接操作。
[0105]
经过计算,得到输入文本每个字符i在t时刻的输出特征向量,如下式:
[0106][0107]
最终,每个输入文本包含情感信息的特征向量,即含有情感词汇的上下文特征为:t=[t1,t2,

,tn]。
[0108]
步骤3:获取所述图像的图像特征,使用cbam注意力分别从空间和通道两个方面获取图像特征中情感特征区域特征:
[0109]
一个图像中,通常某些区域更能反映整个图像的情感倾向。如果能够挖掘这些最具情感特征的区域,情感分析的结果将会更加准确。首先使用预训练的densenet121网络模型提取图像特征,然后使用cbam注意力分别从空间和通道两个方面提取图片中最具情感特征的区域,提升了整体与局部特征的表达能力,图像特征的提取过程如图3所示。设x={x1,x2,

,xn}表示数量为n个图像的数据集。对于每一张图像xi,使用densenet网络对输入层的图像进行预处理,然后经过cbam注意力机制,最终提取到每个图像的特征向量ii,即图像特征中情感特征区域特征。
[0110]
具体地:
[0111]
设定:第i个图像经过densenet121网络模型中第j层卷积后得到的特征图为设定:第i个图像经过densenet121网络模型中第j层卷积后得到的特征图为其中c为通道数,h为特征图的长,w为特征图的宽。f

ij
为经过注意力加权后得到的注意力特征图。
[0112]
则第i个图像的第j个特征图的注意力权重计算方法如下式:
[0113][0114]
其中,mc(f
ij
)为第i个图片的第j个特征图的通道注意力权重;ms(f
ij
)为第i个图片的第j个特征图的空间注意力权重。
[0115]
通道注意力关注的是哪个通道上的哪个特征是有意义的,具体表现在经过卷积后的特征图的每个特征对于关键信息的贡献大小。通道注意权重mc(f
ij
)的计算公式如下:
[0116]
mc(f
ij
)=σ(mlp(avgpool(f
ij
))+mlp(maxpool(f
ij
)))
[0117]
=σ(w1(w0(avgpool(f
ij
)))+w1(w0(maxpool(f
ij
))))
[0118]
其中,σ是sigmoid激活函数;mlp的权重w0和w1为两个输入共享,relu激活函数后跟w0;avgpool(
·
)为全局平均池化函数,计算每个特征图所有特征区域的平均值;maxpool(
·
)为全局最大池化函数,计算每个特征图的最大特征值。
[0119]
输入的特征图为先分别进行一个全局平均池化和全局最大池化得到两个结果为的特征图,然后将这两个特征图分别送入两层的全连接神经网络,对于这两个特征图,这个两层的全连接神经网络是共享参数的;然后,再将得到的两个特征图相加,然后再通过sigmoid函数得到0~1之间的权重系数;然后权重系数再与输入特征图相乘,得到最终输出特征图。
[0120]
空间注意力关注空间中哪部分的特征有意义,具体表现在图片局部区域对关键信息的贡献大小,能够找出图片信息中需要被关注的区域。空间注意权重ms(f
ij
)的计算公式如下:
[0121]ms
(f
ij
)=σ(f7×7([avgpool(f
ij
),maxpool(f
ij
)]))
[0122]
其中,σ是sigmoid激活函数;[
·
]为连接操作;f7×7(
·
)代表卷积运算,可以获取特征图不同局部区域对关键信息的影响力,卷积核大小为7
×
7;avgpool(
·
)为平均池化函数,maxpool(
·
)为最大池化函数。
[0123]
输入特征图为分别进行一个通道维度的最大池化和平均池化得到两个的特征图,然后将这两个特征图在通道维度拼接起来,得到的特征图为然后再经过一个卷积层,降为1个通道,卷积核采用7
×
7,同时保持h
×
w不变,输出的特征图为然后再通过sigmoid函数生成空间权重系数,然后再与输入的特征图相乘得到最终特征图。
[0124]
cbam注意力特征图的计算公式如下:
[0125][0126]
其中,表示对应元素按位相乘;
[0127]
经过卷积操作之后,得到每个图像关键区域特征映射向量i=[i1,i2,

,in]。
[0128]
步骤4:对提取到的所述上下文特征和情感特征区域特征,通过交叉注意力机制进行融合,得到经过交叉注意力融合后的交叉特征,根据得到的交叉特征以及分类器,进行情感分类,得出情感分析结果:
[0129]
根据以上的分析,本实施例提出多模态交叉注意力模型(multi-cross attentive model,mcam),它是一种能够处理多种类型数据(如文本、图像、音频等)的多模态模型。传统的情感分析模型只能利用其中的一种或几种数据类型进行情感分析,无法充分利用不同数据类型之间的交互作用。而mcam能够同时处理多种数据类型,利用交叉注意力机制来学习不同数据类型之间的相互作用,从而提高情感分析的准确性和鲁棒性。
[0130]
模型的具体架构如图4所示。首先,使用albert和densenet121,分别获取文本和图片的向量化特征;然后,文本特征经过bilstm处理,获取含有情感词汇的上下文特征,cbam注意力分别从空间和通道两个方面获取图片中最具情感特征的区域;单模态的注意力机制
考虑的是模态内的关系,交叉注意力机制可以考虑两种模态间的关系;然后,对提取到的文本和图片的情感特征,通过交叉注意力机制进行融合,充分考虑了不同模态之间的互补性、关联性;最后通过融合,经过softmax分类器得出最后的情感分析结果。
[0131]
使用交叉注意模块对图像区域和文本字词的模态间关系进行建模,交叉注意力机制由缩放点积注意力构成,能够充分考虑图片和文本之间的互补性和关联性,可以提高对图像和字词片段的情感特征识别能力。
[0132]
交叉注意力机制由缩放点积注意力构成,将上下文特征作为缩放点积注意力中的查询矩阵,将情感特征区域作为键值矩阵;通过缩放点积注意力,得到交叉注意力特征,如下式:
[0133][0134][0135][0136][0137]
其中,wq,wk,wv均为参数矩阵;dk是q,k的列数;ii,ti分别为情感特征区域和上下文特征;att(
·
)为交叉注意力机制模块网络。
[0138]
得到经过交叉注意力融合后的交叉特征:yc=[y
c1
,y
c2
,

,y
cn
]。
[0139]
对于经过交叉注意力融合后的输出yc,作为线性函数softmax的输入,进行最终的情感分类,如下式:
[0140]
y=softmax(wcyc+bc)
[0141]
其中,wc表示权重矩阵,bc表示偏置项。
[0142]
基于上述技术方案,如下给出实验过程,通过设计对比实验来评估mcam模型的性能。对该模型在mvsa和tumemo数据集上进行了测试,并定性地给出了其性能评估。
[0143]
(1)数据集介绍:
[0144]
使用了mvsa和tumemo两个图文多模态情感分析公开数据集,mvsa数据集是从twitter上抓取的包含文本、图片等形式的消息,也被称为推文。tumemo是从tumblr抓取的图像文本情感数据。tumblr中文名汤博乐,是全球最大的轻博客网站,用户在上面发布的多媒体内容通常包含图片、文本等形式的内容这些数据集是图文多模态情感分析领域的公开数据集。表1为mvsa数据集信息,表2为tumemo数据集信息。
[0145]
表1
[0146]
数据集积极中性消极总数mvsa268347013584511
[0147]
表2
[0148]
数据集angryboredcalmfearhappylovesad总数tumemo21671667357711362476197585413852
[0149]
mvsa原始数据获取自http://mcrlab.net/research/mvsa-sentiment-analysis-on-multi-view-social-data/;tumemo原始数据获取自https://github.com/yangxiaocui1215/mvan。
[0150]
mvsa数据集包含了4869个文本-图像对,每个样本包含一组文本和图像,而且情感标签是单模态的,数据集的情感标签只有积极、中性和消极三种模态,最终的筛选结果如表1所示。与mvsa数据集不同的是,tumemo数据集将情感标签进一步细分,具体包含angry(生气)、bored(无聊)、calm(平静)、happy(快乐)、love(爱)、sad(悲伤)七种情感类型。tumemo数据集包含195265条样本,本实施例从中按各情感标签的比例,从中获取了13852条数据,tumemo数据信息及内容如表2所示。
[0151]
将每个数据集中的所有图像-文本对划分成训练集、测试集和验证集,其比例为6:2:2。本实施例模型的实验环境cpu为12vcpu intel(r)xeon(r)platinum 8255c cpu@2.50ghz,内存为40gb,gpu为rtx 3080,windows10 64位操作系统,编程语言为python,版本为python3.8(ubuntu20.04),基于深度学习的架构为tensorflow2.9.0。
[0152]
(1)模型参数设置:
[0153]
对于输入图片部分,输入图像的形状,指定为(224,224,3),表示图像的高度、宽度和通道数,批量输入尺寸为32。在cnn层使用了在imagenet2017数据集[33]分类挑战赛取得较好成绩的预训练densenet-121网络。averagepooling2d层使用的池化大小,设置为(7,7),dense层的输出维度,设置为1024//8和1024,表示将输出向量的维度缩小为原来的1/8,即128,而1024则表示保持输出向量的维度不变。这样做的目的是在保留原有特征信息的同时,通过降维的方式减少计算量。
[0154]
对于输入文本部分,采用albert预训练模型,对文本进行词嵌入层的初始化操作,其隐藏层的维度设置为128,即每个词用一个128维的向量进行表示。最大文本的输入长度依据对数据集的分析得出,如图5所示。发现大部分的文本长度都在150以下,并且文本长度在150以下的文本的数量也是最多的。因此,选择150作为输入文本的最大长度,对于输入长度大于150的文本,会对文本进行截取,对于输入长度不足150的文本进行零值填充。
[0155]
对于多模态融合部分,使用交叉注意力机制。在模型训练过程,学习率设置为0.01,使用adam优化器对模型参数进行优化;为了防止过拟合,在模型中设置了0.1的随机丢弃率(dropout value),并且采用早停技术和l2正则化。采用十倍交叉验证和网格搜索对不同的参数组合进行验证,最终模型的超参数组合如表3所示。
[0156]
表3
[0157][0158][0159]
(3)评估指标:
[0160]
为了评估本实施例模型的性能,选取分类任务中常用的:准确率(accuracy)、精密度(precision)、召回率(recall)和f1分数(f1-score)作为评估指标。分类结果为:真正例(tp)、假正例(fp)、假负例(fn)、真负例(tn)。
[0161]
准确率:反应了模型对整个数据集的判定能力,即正例和负例中预测正确数量占总数量的比例,公式如下:
[0162][0163]
精密度:以预测结果为判断依据,预测为正例的样本中预测正确的比例,公式如下:
[0164][0165]
召回率:以实际样本为判断依据,实际为正例的样本中,被预测正确的正例占总实际正例样本的比例,公式如下:
[0166][0167]
f1分数:f1分数同时考虑到了分类模型的精度和召回率,可以看作是模型精密度和召回率的加权平均值,其值为[0,1]。公式如下:
[0168][0169]
(4)基线方法:
[0170]
为了评估本实施例模型的鲁棒性和泛化能力,设置以下对比实验。比较方法介绍如下:
[0171]
1)单模态文本模型:使用来自预训练语言模型bert的上下文词表示以及带有额外
生成文本的微调方法,进行情感分析;提出一种基于bigru信息增强的情感分析方法。
[0172]
2)单模态图片模型:提出一种基于resnet50网络的方法,进行图片的识别与分类;提出使用vgg19模型对农作物叶子疾病进行分类的方法。
[0173]
3)多模态图文融合模型:提出深度多模态注意力融合(dmaf)模型,利用视觉和文本特征之间的内部相关性进行联合情感分类;提出了一种新的图像文本交互网络(itin)模型,来研究情感图像区域与文本之间的关系,以进行多模态情感分析;提出了一种基于多视图注意网络(mvan)的新型多模态情感分析模型,该模型利用不断更新的记忆网络来获取图像文本的深层语义特征;提出了基于注意力的模态门控网络(amgn)模型,利用图像和文本模态之间的相关性,并提取多模态情感分析的判别特征进行情感分析。
[0174]
(5)实验结果:
[0175]
为了评估mcam模型的性能,设置如下对比试验。分别从:单模态文本模型、单模态图片模型以及多模态图文融合模型进行对比,如表4和表5所示。表4是不同模型在mvsa数据集上的性能对比表。表5是不同模型在tumemo数据集上的性能对比表。
[0176]
表4
[0177][0178]
表5
[0179][0180]
(5-1)mvsa数据集实验结果:
[0181]
通过表5和图6分析可知,本实施例所提出的mcam模型在mvsa数据集上取得了最佳效果。对于单模态的图像和文本数据,这两者在情感分类方面的性能较低,分类效果表现一般。对于融合多模态的情感分析,通过学习两个模态之间的关联性,分类效果立马得到了很大的提高,尤其是本实施例提出的mcam模型,通过引入交叉注意力机制学习了不同模态间的关联性和互补性,比mvan模型预测准确率提高了11.7%,f1分数提高了9.8%,比dmaf模型准确率提高了2.4%,f1分数提高了1.7%,获得了最佳的预测效果,表明交叉注意力的引入对于提高模型性能起到了很大的作用。
[0182]
另外,单模态图片和单模态文本模型也优于基线方法。文本模型中不但使用更有效的预训练模型albert,并且也引入了双向长短时记忆网络(bilstm),能够进一步的提升预测效果;图片模型中使用densenet121网络,densenet121的密集连接结构使得特征传递更好、梯度流动更顺畅、过拟合风险更小,同时在拥有更少参数的情况下,能够达到与resnet50和vgg19相当的性能,并且通过引入cbam注意力机制,从通道和空间两个方面提取注意力,进一步提升了分类效果。
[0183]
为了进一步证明mcam模型的有效性,随机抽取mvsa数据集和tumemo数据集中不同比例的数据从20%到100%,然后观察四个基线模型的准确率与mcam模型准确率的变化情况。从图7可以看出,无论抽取多大比例的训练数据,模型的准确率始终优于基线模型,处于绝对的竞争优势,也进一步表明模型在训练数据不足的情况下也能取得不错的效果。
[0184]
(5-2)tumemo数据集实验结果:
[0185]
通过表5和图6分析可知,tumemo数据集的性能比着mvsa数据集的性能有了不少的下降。分析主要原因是因为tumemo数据集的情感类别更加丰富,达到了7种,导致了模型性能的下降。在多类别分类问题中,随着类别数量的增加,分类器需要对更多的类别进行区分,从而增加了分类难度,相应的分类效果可能会有所下降。但是模型仍然具有明显的竞争优势,在评估指标上均达到了最佳效果,虽说相比于amgn和dmaf提升效果不是很明显,但是还是有稍微的提升效果,相比于amgn在准确率上提升了1.5%,f1分数提升了1.9%,相比于dmaf在准确率上提升了1.4%,f1分数提升了1.6%,也再次证明引入交叉注意力机制,对于
学习不同模态间的互补性与关联性起到了一定的作用。
[0186]
(5-3)不同模型在不同数据集上的pr曲线结果分析:
[0187]
如图8所示,从左边的子图可以看出,tumemo数据集的pr曲线呈现出多种不同的形状,这表明不同的模型在分类tumemo数据集时具有不同的性能表现。其中,模型mcam的pr曲线呈现出最优的形状,说明该模型在分类tumemo数据集时具有最佳的性能。而其他模型如itin和mvan的pr曲线呈现出较差的形状,说明它们的性能相对较差。
[0188]
从右边的子图可以看出,mvsa数据集的pr曲线呈现出与tumemo数据集不同的形状。模型mcam的pr曲线仍然呈现出最优的形状,而其他模型如itin和mvan的pr曲线呈现出较差的形状,说明它们的性能相对较差。值得注意的是,模型dmaf在mvsa数据集上的性能表现相对较差,这与其在tumemo数据集上的性能表现相反。
[0189]
通过将两个数据集的pr曲线放在同一张图上,可以更直观地比较两个数据集中不同模型的性能表现。可以看出,模型mcam在两个数据集中都表现出最佳的性能,而其他模型的性能则存在差异。此外,还可以发现,tumemo数据集和mvsa数据集的pr曲线形状存在明显的差异,这表明不同数据集之间的模型性能的差异可能较大,需要针对具体任务选择合适的数据集。
[0190]
(6)消融实验:
[0191]
为了进一步验证mcam模型的性能,设置如下的消融实验:表6为消融实验对比表。
[0192]
表6
[0193][0194]
通过对表6和图9消融实验的性能分析可知,当只有图片或者文本的时候模型在不同的数据集上性能表现一般,主要是因为单模态的情感分析只是在模态内进行学习。有时可能图片对情感类别的分类起到了主导作用,有时可能是文本起到了主导作用,因此单模态的情感分析无法充分考虑不同模态间的互补性与关联性,最终导致分类效果不佳。
[0195]
但是,当引入交叉注意力机制之后,模型的性能就得到了很大的提高。具体来说,在交叉注意力机制中,模型首先使用独立的网络来学习每个模态的特征表示,然后使用交叉模态注意力机制来捕捉不同模态之间的关系。通过计算不同模态之间的相似度来实现,然后将这些相似度用作交叉模态注意力机制的权重,以加权融合不同模态的特征表示。最终,模型使用这些融合的特征表示来进行情感分析预测,提高了模型的性能和鲁棒性。
[0196]
(7)注意力权重可视化分析:
[0197]
在本节中,定性分析图片和文本融合的情感分析,在引入交叉注意力前后的注意力得分情况。注意力的情感得分为0-1之间的任意值。通过可视化分析,能够明显的看出,在引入注意力前后图像区域热力效果的前后变化情况。
[0198]
(7-1)视觉注意力处理过程:
[0199]
对于图像数据,通过cbam增强卷积神经网络对图像特征的提取能力。首先,将输入图片张量(224,224,3),经过平均池化和最大池化操作,计算出通道维度的平均值和最大值;然后将这两个结果通过两个全连接层(dense)压缩成维度为1024/8=128和1024的向量,并分别再通过一个全连接层将其还原到原来的维度。将这两个结果相加,然后通过sigmoid函数得到一个0到1的权重。
[0200]
接着,对于经过通道注意力机制加权后的张量,进行空间维度上的注意力机制。首先计算出在通道维度上加权后的张量的空间维度上的平均值和最大值,然后将它们在通道维度上进行拼接。将拼接后的张量输入到一个1
×
1的卷积层中,得到一个1
×1×
1的特征图,再通过sigmoid函数得到一个0到1的权重。
[0201]
最后,将通道注意力机制和空间注意力机制得到的权重相乘,得到加权后的注意力权重,也就是最后的注意力得分。
[0202]
通过对经过cbam注意力机制处理后的图像,绘制了热力图,使其色彩更加鲜明,原始图像的透明度设置为0.5,处理之后图像的透明度设置为0.8,以便更加突出注意力重点关注的区域,如果区域注意力得分越高,则该区域的颜色就越红。
[0203]
(7-2)文本注意力处理过程:
[0204]
对于文本数据,首先将输入文本数据进行tokenize,得到一个token序列,并将token序列转换为albert模型可以处理的输入张量,并使用attention mask张量来表示每个token所在的位置。
[0205]
接着,将输入张量和attention mask输入到albert模型中,模型会对输入token进行编码,得到一个编码后的张量。对于每个self-attention层,模型会将编码后的张量分成多个头,每个头分别计算出查询、键和值,并使用这些信息计算每个token与其他token之间的注意力得分。
[0206]
最后,通过对每个注意力头得到的注意力得分进行加权平均,得到一个权重向量,表示每个token在整个文本数据中的重要程度,即注意力权重。
[0207]
对经过自注意力处理后的文本,对于注意力重点关注的情感单词进行了颜色标注。为了区分不同单词对注意力得分的贡献情况,进行同一颜色,不同深度的标注,颜色越深,表明该单词的注意力权重越大。
[0208]
(7-3)交叉注意力融合多模态处理过程:
[0209]
对于融合图片和文本的多模态数据,首先将图像特征和文本特征分别传递到两个全连接层中,并将它们的输出作为输入传递到点积(dot)层中,计算注意力权重。
[0210]
接着,分别将注意力权重与图像特征和文本特征相乘,得到图像和文本的注意力张量。
[0211]
最后,使用concatenate层将图像和文本的注意力张量沿着最后一个维度进行拼接,得到融合后的特征张量,并计算融合后的特征张量的注意力得分,即为融合多模态的交叉注意力得分。
[0212]
对经过交叉注意力融合之后的图像和文本,很明显的可以观察到,被关注的图像区域进一步扩大,红色也进一步加深,并且注意力关注的单词颜色也得到了加深。注意力得分也都有了不同程度的提高,融合之后的注意力得分也比单纯的向量拼接的得分得到了进
一步提升。故而,引入交叉注意力机制对于学习不同模态间的互补性和关联性,有着不错的融合效果。
[0213]
在本实施例中,提出一种基于交叉注意力机制的多模态的情感分析方法(mcam),该模型可以自适应地计算图像和文本之间的相关性,从而更好地融合它们的特征。首先,对于单模态分别提出两个不同的处理方法,分别学习文本和图片特征;然后,使用交叉注意力机制使其自适应地融合不同模态的特征,从而提高情感分析的性能。最后,经过分类器输出情感结果。经过实验分析,结果表明本实施例提供的方法在两个公开的多模态情感分析数据集上获得了最佳的结果,优于提出的四种基线方法。

技术特征:
1.一种基于多模态交叉注意力机制图文融合的情感分析方法,其特征在于,包括:获取待处理的文本和图像;将所述文本进行向量化,得到文本特征;将所述文本特征经过bilstm处理,获取含有情感词汇的上下文特征;获取所述图像的图像特征,使用cbam注意力分别从空间和通道两个方面获取图像特征中情感特征区域特征;对提取到的所述上下文特征和情感特征区域特征,通过交叉注意力机制进行融合,得到经过交叉注意力融合后的交叉特征,根据得到的交叉特征以及分类器,进行情感分类,得出情感分析结果。2.根据权利要求1所述的基于多模态交叉注意力机制图文融合的情感分析方法,其特征在于,所述将所述文本进行向量化,得到文本特征,包括:使用albert预训练模型将所述文本进行向量化,得到文本特征。3.根据权利要求2所述的基于多模态交叉注意力机制图文融合的情感分析方法,其特征在于,所述albert预训练模型包括输入层、albert预训练层和transformer编码器;所述使用albert预训练模型将所述文本进行向量化,得到文本特征,包括:所述文本经由所述输入层到所述albert预训练层,所述albert预训练层用于获取所述文本中的各个字符的编号,并进行向量化,获得信息序列;所述信息序列输入到所述transformer编码器,进行深层语义特征信息的挖掘,经过转换得到文本特征。4.根据权利要求1所述的基于多模态交叉注意力机制图文融合的情感分析方法,其特征在于,所述获取所述图像的图像特征,包括:利用预训练的densenet121网络模型获取所述图像的图像特征。5.根据权利要求4所述的基于多模态交叉注意力机制图文融合的情感分析方法,其特征在于,设定:第i个图像经过densenet121网络模型中第j层卷积后得到的特征图为征在于,设定:第i个图像经过densenet121网络模型中第j层卷积后得到的特征图为其中c为通道数,h为特征图的长,w为特征图的宽;所述使用cbam注意力分别从空间和通道两个方面获取图像特征中情感特征区域特征,包括:使用cbam注意力获取第i个图像的第j个特征图的注意力权重计算方法如下式:其中,m
c
(f
ij
)为第i个图片的第j个特征图的通道注意力权重;m
s
(f
ij
)为第i个图片的第j个特征图的空间注意力权重;通道注意权重m
c
(f
ij
)的计算公式如下:m
c
(f
ij
)=σ(mlp(avgpool(f
ij
))+mlp(maxpool(f
ij
)))=σ(w1(w0(avgpool(f
ij
)))+w1(w0(maxpool(f
ij
))))其中,σ是sigmoid激活函数;mlp的权重w0和w1为两个输入共享,relu激活函数后跟w0;avgpool(
·
)为全局平均池化函数,计算每个特征图所有特征区域的平均值;maxpool(
·
)为全局最大池化函数,计算每个特征图的最大特征值;
空间注意权重m
s
(f
ij
)的计算公式如下:m
s
(f
ij
)=σ(f7×7([avgpool(f
ij
),maxpool(f
ij
)]))其中,[
·
]为连接操作;f7×7(
·
)代表卷积运算,卷积核大小为7
×
7;avgpool(
·
)为平均池化函数,maxpool(
·
)为最大池化函数;cbam注意力特征图的计算公式如下:其中,表示对应元素按位相乘;经过卷积操作之后,得到每个图像关键区域特征映射向量i=[i1,i2,

,i
n
]。6.根据权利要求1所述的基于多模态交叉注意力机制图文融合的情感分析方法,其特征在于,所述对提取到的所述上下文特征和情感特征区域,通过交叉注意力机制进行融合,得到经过交叉注意力融合后的交叉特征,根据得到的交叉特征以及分类器,进行情感分类,得出情感分析结果,包括:交叉注意力机制由缩放点积注意力构成,将上下文特征作为缩放点积注意力中的查询矩阵,将情感特征区域作为键值矩阵;通过缩放点积注意力,得到交叉注意力特征,如下式:矩阵,将情感特征区域作为键值矩阵;通过缩放点积注意力,得到交叉注意力特征,如下式:矩阵,将情感特征区域作为键值矩阵;通过缩放点积注意力,得到交叉注意力特征,如下式:矩阵,将情感特征区域作为键值矩阵;通过缩放点积注意力,得到交叉注意力特征,如下式:其中,w
q
,w
k
,wv均为参数矩阵;d
k
是q,k的列数;i
i
,t
i
分别为情感特征区域和上下文特征;att(
·
)为交叉注意力机制模块网络;得到经过交叉注意力融合后的交叉特征:y
c
=[y
c1
,y
c2


,y
cn
];对于经过交叉注意力融合后的输出y
c
,作为线性函数softmax的输入,进行最终的情感分类,如下式:y=softmax(w
c
y
c
+b
c
)其中,w
c
表示权重矩阵,b
c
表示偏置项。

技术总结
本发明提供一种基于多模态交叉注意力机制图文融合的情感分析方法,获取待处理的文本和图像;将文本进行向量化,得到文本特征;将文本特征经过BiLSTM处理,获取含有情感词汇的上下文特征;获取图像的图像特征,使用CBAM注意力分别从空间和通道两个方面获取图像特征中情感特征区域特征;对提取到的上下文特征和情感特征区域特征,通过交叉注意力机制进行融合,得到经过交叉注意力融合后的交叉特征,根据得到的交叉特征以及分类器,进行情感分类,得出情感分析结果。相较于现有的单模态情感分析方法,以及其他融合多模态的情感分析过程,分析结果更加准确,效果更好。效果更好。效果更好。


技术研发人员:朱颢东 路延通 王建文 李展鹏 郭雅洁 李红婵
受保护的技术使用者:郑州轻工业大学
技术研发日:2023.07.11
技术公布日:2023/10/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐