1.基于条件融合的多模态反讽检测方法,其特征在于包括如下步骤:步骤1、对需要进行反讽检测的数据文本进行预训练;对数据文本对应的视频和音频进行编码,得到视频特征和音频特征;
步骤2、将处理好的数据文本馈送到编码器TE中;将数据的视频特征和音频特征通过多头注意力机制获得与情感相关的语境信息;
步骤3、将语境信息以增量参数的形式加入到编码器的层归一化的增益g和偏置b中,将视频、音频特征融合到文本特征中,获得融合后的语义编码;
步骤4、将语义编码通过softmax层进行讽刺的极性分类;
步骤1具体实现如下:
1.1对于数据文本,每条训练数据都包含上下文对话Context和目标对话Target,将上下文对话和目标对话联合作为Transformer编码器的输入X,计算方式如下:X=Context+Target(1)
1.2使用Ekphrasis分词工具对输入X进行分词,然后预训练一个Word2vec模型来学习每个词的语义特征以获得词向量表示;
1.3对于数据文本对应的音频,通过使用librosa库,提取音频的基础特征;每段音频被切成不重合的小窗,提出不同特征拼接后将每段小窗取平均,对于整段音频就能够得到一个283维的向量;
1.4对于数据文本对应的视频,在抽帧后放入一个由ImageNet预训练好的Resnet‑152网络进行提取,然后对视频抽帧取平均,获得一个2048维的向量。
2.根据权利要求1所述的基于条件融合的多模态反讽检测方法,其特征在于步骤2具体实现如下:
2.1输入序列X馈送到Transformer编码器,首先会先经过第一层的多头注意力机制,该多头注意力机制将Head数设置为12来,从而生成12个不同的特征矩阵;由于最后的输出矩阵要与输入矩阵大小一致,因此,得到的特征矩阵会按第二个维度拼接起来;然后经过第二层全连接层后得到多头注意力机制层的输出矩阵Z;最后,将Z与X融合得到矩阵R1,用于后面层归一化的操作;其计算过程如下:O
Z=MultiHead(Q,K,V)=[head1;…;headh]W(2)R1=Z+X(5)
其中, 分别是查询Q、键K、值V以及多头注意力机制输出矩阵的的投影矩阵,h是多有注意力机制的头数,headi是第i个注意力的输出;
2.2在每个Transformer编码器(TE)的子层中都使用两个关系记忆模块RM;RM的核心内容是使用了多头注意力机制,将来自层归一化的输入向量Rt作为查询Q,视频特征和图片特征联合成F={f1,f2,...,fn}作为键K和值V,通过Query和Key的相似度来获得关键的特征信息Ht,并将特征信息通过MLP变换为Δgt和Δbt,此Δgt和Δbt将在下一小节中作为条件融入到原始层归一化的g和b中;其次,将RM模块集成到Transformer编码器中,随着多个Transformer编码器的层层叠加,RM模块会不断地从上一层的交互信息中保存有效信息并进一步提取更深层次的抽象信息用于调节Transforme编码器中文本模态的语境信息提取;
其计算过程如下:
Ht=fmulti‑head(Rt,F)(6)Δgt=fmlp(Ht)(7)Δbt=fmlp(Ht)(8)其中,Rt为层归一化的输入向量,当t=1时,R1=Z+X;当t=0时,R0=X,即第一次的Query为输入序列X。
3.根据权利要求1或2所述的基于条件融合的多模态反讽检测方法,其特征在于步骤3具体实现如下:
3.1在Transformer编码器使用的是层归一化LN,特征x通过μ和σ,得到归一化后的值为x′,公式可表示为:
其中,μ和σ分别表示归一化统计量均值和方差,ε是一个很小的小数,防止除0;
在层归一化LN,也需要一组参数来保证归一化操作不会破坏之前的信息,这组参数叫做增益g(gain)和偏置b(bias),LN的输出可表示为:fLN(x′)=g⊙x′+b(10)合并上述两个公式,LN层最终输出可表示为:将辅助特征信息Δgt和Δbt集成到Transformer编码器中原始LN的g和b中去,形成条件LN;为了防止扰乱原来的预训练权重,两个变换矩阵全零初始化,这样在初始状态,模型依然保持跟原来的预训练模型一致;公式如下:在该Transformer编码器中,特征x为层归一化的输入向量Rt,则通过LN之后获得的特征结果如下:
其中,Rt为上一层的输出;μ和σ是分别是平均值和方差;
在Transformer编码器中,RM模块会集成到所有的编码层中,将编码层中的归一化都加入条件输入形成条件归一化层,用来动态调节TE中的编码过程。
4.根据权利要求3所述的基于条件融合的多模态反讽检测方法,其特征在于步骤4具体实现如下:
4.1当多个Transformer编码器的层层叠加时,上一层编码器的输出直接用作下一层编码器的输入;由于训练分类器需要向量表示,在最后一层编码器的输出S上应用了全局平均d
池化;池化向量G∈R用作单层前馈网络的输入,其输出层是计算任务P={0,1}的两类上的概率分布,公式可表示为:
O=softmax(max(0,GW1+b1)W2+b2)(15)其中 是P上的概率分布, 是应用在G上的隐藏层的权重矩阵,是输出层的权重矩阵;采用加权交叉熵作为网络训练的损失函数。