APP下载

结合多种注意力机制的多模态情感识别方法

2023-10-31史爱武

软件导刊 2023年10期
关键词:注意力语音模态

史爱武,蔡 润

(武汉纺织大学 计算机与人工智能学院,湖北 武汉 430200)

0 引言

在智能语音助手、情感对话系统等现代人机交互系统中,情感识别扮演着至关重要的角色。情感识别系统的分析对象为语音、文本或图片,例如语音情感识别系统就是采用机器感知语音中包含的情感。然而,想要正确识别出语音中的情感信息是一件很困难的事情,因为语音中的情感受对话内容、韵律特征等多种因素影响[1],仅通过声学特征或口语文本中离散的单词很难准确预测。

近年来,多模态情感识别方法得到广泛研究,语音、文本和图片等多个模态已经被用于提高情感识别准确率。与传统单模态研究不同,多模态情感识别的目标是通过融合多个模态的数据预测目标序列的情感状态。近年来,许多深度学习模型被用于从人工提取的声学特征或原始语音信号中提取情感相关信息,例如卷积神经网络(Convolutional Neural Network,CNN)[2]、循环神经网络(Recurrent Neural Network,RNN)[3]、自注意 力机制以及 它们的组合[4]。然而,包含在语音中的文本信息却很少被利用,文本信息对于语音情感识别系统同样重要,因为在某些情况下话语中包含的情感可以由语义决定,例如“That’s great!”表达了说话者高兴的心情。

将声学与文本信息融合并不是一件简单的事情,需要考虑模态间和模态内的交互[5]。模态内交互指单一模态内细粒度的特征交互,如在声学特征中不同语音帧之间的交互以及在文本特征中一个句子里单词之间的直接交互。通过对模态内的交互进行建模可以捕捉到该模态中对于情感分类更为关键的信息;而模态间的交互表示一种模态在考虑到另外一种模态时的交互作用,例如同一个句子用不同语气说出时会表达出不一样的情感。然而,目前大多数情感分析方法在对两种模态信息进行融合时都只考虑到上述两种交互的其中一种。为解决上述问题,本文提出一种基于双向循环门控单元(Bidirectional Gated Recurrent Unit,Bi-GRU)[6]和多种注意力的多模态情感识别模型。该模型首先采用Bi-GRU 分别捕获文本和语音序列的上下文特征;然后设计一种多模态特征融合网络,其主要由两个自注意力模块和两个引导注意力模块组成,自注意力模块利用自注意力机制捕获每个模态内部的关键特征,而引导注意力机模块利用引导注意力机制捕获两个模态间重要的交互特征。在上述两种模块的帮助下,本文模型可以同时对模态内部的关键特征和模态间的交互特征进行建模,从而使模型可以识别对于目标序列情感分类更为重要的模态特征,实现两种模态特征的有效融合;最后在IEMOCAP(Interactive Emotional Dyadic Motion Capture Database)[7]数据集上进行实验,验证所提模型的识别分类效果。

1 相关研究

多模态情感识别主要致力于联合与人类情感表达相关的语音、图像、文本等不同模态信息来识别人的情感状态,在人机交互、人工智能等领域有重要作用[8]。与单一模态的情感识别相比,多模态情感识别不仅需要学习单个模态的独立特征,还要考虑如何有效融合多个模态数据。现有多模态融合方法通常是在作出预测结果前融合不同模态的低级特征(早期融合),或对每个模态分开建模,然后融合每个模型的预测结果(晚期融合)[9]。在早期融合的研究中,人们越来越专注于使用不同数学公式融合语音和文本特征,包括多模态池化融合[9]、多模态层级融合[10]以及语音和文本特征的词级拼接[1]等。例如,Zadeh 等[11]提出一种张量融合网络模型,通过张量融合显示聚合不同特征之间单模态、双模态和三模态的交互以捕获不同模态间的动力学;Arevalo 等[12]提出一种多模态门控单元,通过乘法门学习各个模态信息对单元激活的影响程度,进而找到基于不同模态联合特征的中间特征。上述方法可以对来自不同数据源的信息进行融合,但没有考虑到同一语句中语音和文本特定的时间相关性,即一个序列的语音帧和单词在时间上是对齐的。对于一个语音帧序列,通过了解其中特定的单词去学习更有辨识度的特征将有助于情感分类。例如,当一个人说出“I hate it!”来表达生气或说出“I’m happy”来表达高兴时,此时情感识别系统应该将更多的注意力放在单词“hate”和“happy”及其对应的语音帧上,这就需要一种机制捕获不同模态信息之间的交互。为此,Yoon 等[13]提出一个深度双循环神经网络来编码语音和文本序列信息,并通过点乘注意力机制将注意力集中在语音文本序列的特定单词上以捕获两种模态间的交互;Tripathi等[14]使用1D-CNN 进行词嵌入,使用2D-CNN 对光谱特征进行编码,但该方法只考虑捕获模态内的交互作用,没有考虑模态间的交互作用。

综上所述,随着深度学习技术的不断发展,多模态情感识别研究也取得了长足进展,但如何充分利用单模态特征和多模态交互特征进行建模依旧是该领域需要突破的难题[15]。本文模型使用Bi-GRU 提取序列信息上下文特征的同时利用特征融合网络中的引导注意力和自注意力对模态内与模态间的交互作用进行建模,实现了多模态特征的有效融合,有效提高了多模态情感分类准确率。

2 模型构建

本文模型整体框架如图1 所示。图中的Self表示自注意力模块,Guided表示引导注意力模块,P表示全局最大池化层。首先使用Bi-GRU 分别对音频和文本特征进行编码;然后将编码后的特征送入引导注意力模块和自注意力模块以学习语音和文本模态间的交互关系以及各自模态内的交互关系;最后对以上模块输出的特征进行拼接后送入全连接分类器中进行情感分类。

2.1 Bi-GRU编码器

本文使用两个独立的Bi-GRU 分别对语音和文本进行编码,用于提取序列的上下文信息。Bi-GRU 由两个方向相反的GRU(Gated Recurrent Unit)构成,能有效捕获序列中上下文的长依赖关系,解决RNN 训练过程中出现的梯度消失和梯度爆炸问题[16]。在Bi-GRU 中,正向和反向输入的特征向量会得到对应时刻的隐藏层表示,然后通过拼接操作得到具有上下文信息的语音或文本特征。采用[x1|,...,|xN]表示音频及其对应文本的特征序列,计算过程如下:

2.2 引导注意力模块

引导注意力模块旨在捕获每一对语音帧与文本单词之间的模态交互作用,其可以学习一种模态与另一种模态交互后的特征。对于从特征提取器中获得的语音特征[s1,...,sK]和文本特征[t1,...,tL],使用以下公式计算第i个语音向量和第j个文本向量之间的注意力权重:

式中:u、v和b为可训练的参数;αj,i为语音序列中归一化后的注意力权重,表示第j个单词与第i个语音帧之间的软对齐强度;为语音端Bi-GRU 隐状态的加权求和,可以看作是与第j个单词交互后的语音特征。对该特征向量使用全局最大池化操作可得到与文本特征交互后的语音特征as→t。

使用相似方法学习与语音特征交互后的文本特征。对于从Bi-GRU 特征提取器中获得的文本特征[t1,...,tL]和语音特征[s1,...,sK],使用以下公式计算第j个文本向量与i个语音向量之间的注意力权重:

式中:βi,j为单词序列中归一化后的注意力权重,表示第i个语音帧与第j个单词之间的软对齐强度;为文本端双向GRU 中隐状态的加权求和,可以看作是与i个语音帧对齐后的文本特征。对该特征向量使用全局最大池化操作可得到与语音特征交互后的文本特征at→s。

2.3 自注意力模块

自注意力模块旨在捕获语音和文本各自模态内的交互作用,其可以学习模态内的关键特征。对于从Bi-GRU特征提取器中获得的语音特征[s1,...,sK],其计算过程如下:

式中,wimi+bi表示mi中的线性变换;ai为文本序列中归一化后的注意力权重,表示第i个语音帧在整个语音序列中的重要程度为语音端Bi-GRU 中隐状态与该特征注意力权重的加权求和,可以看作是被赋予关键信息后的第i个语音帧。对赋予关键信息后的特征向量使用全局最大池化操作可得到模态内交互后的语音特征as。

采用相同方法捕获文本序列模态内的交互作用。对于从双向GRU 特征提取器中获得的文本特征[t1,...,tL],其计算过程如下:

式中:at为模态内交互后的文本特征。

2.4 情感分类层

将以上得到的4 组特征as→t、at→s、as、at∈Rd进行拼接得到两种模态融合后的特征,然后使用全连接层结合softmax 预测情感类别,同时采用交叉熵损失对模型进行优化。计算公式为:

3 实验方法与结果分析

3.1 数据集

本文选取的IEMOCAP 数据集由南加州大学的SAIL 实验室创建,包含约12 h 的视听数据,共5 段对话,每段对话由一名男演员和一名女演员完成。采取5 折交叉验证,使用其中的4 段对话作为训练集,剩下的1 段对话作为测试集,以此保证说话者的独立性。为与以往在IEMOACP 数据集上进行的研究保持一致,本文将excitement 类别加入到happiness 类别中,只使用sad、angry、happiness、neutral 4个类别。

使用Python 库从语音中提取包括梅尔倒谱系(MFCCs)、梅尔语谱图(Mel-spectrogram)过零率、频谱质心、频谱延展度在内的声学特征,每一帧的特征向量为60 维。将语音的最大长度设置为7.5 s,较长的语音会被删减至7.5 s,较短的语音用零填充。数据集中的文本被映射为GloVe 词向量序列,每个词向量的尺寸为300。

3.2 实验参数设置

实验中的所有代码均是在Pycharm 代码编辑器上采用Tensorflow 和Keras 深度学习框架编写,利用显存为24 GB的GPU(RTX 3090)进行模型训练。实验参数设置如表1所示。

Table 1 Experimental parameter settings表1 实验参数设置

3.3 评价指标

选取两个最常用的评价指标:加权准确率(Weighted Accuracy,WA)和 未加权准确率(Unweighted Accuracy,UA)。首先在每一折上计算指标,然后给出所有折的平均准确率。WA 的计算公式为:

UA 的计算公式为:

式中:N为样本类别数。

3.4 特征比较

使用本文提出的特征融合网络可得到4 组基于注意力机制交互后的特征,分别为与文本特征交互后的语音特征as→t、与语音特征交互后的文本特征at→s、模态内交互后的语音特征as和模态内交互后的文本特征at。使用相同分类层评估4 组特征在情感分类中的辨别能力,其在5个折叠上的准确率如表2所示。

Table 2 Accuracy of 4 sets of features on 5 folds表2 4组特征在5个折叠上的准确率 (%)

实验结果表明,多模态融合后的特征as→t和at→s的分类效果明显优于单模态特征as和at,这是由于as→t和at→s均从另外一种模态中获得了额外信息,证明了多模态信息的必要性。在只考虑单模态时,文本特征at的分类准确率高于语音特征as,说明与语音模态相比,文本模态的情感特性更为显著。对于双模态融合后的特征而言,as→t的分类效果优于at→s,原因可能是对于相同的话语,语音帧和文本序列的长度不同,语音帧数可达到750 帧,而文本序列中可能只包含约20 个单词。as→t经过最大池化前的序列长度与文本相同,at→s最大池化前的序列长度则与语音相同,由于语音序列要比文本序列长很多,虽然同样都融合了双模态信息,但最大池化操作将两者的序列长度都变为1 后,as→t中包含的全局信息更丰富,其分类效果更好。

3.5 与现有方法比较

选 择BiAtt-TFL[11]、BiAtt-GMU[12]、CNN-Att[17]、LSTM-Att[18]、Self-Att[19]、Att-LSTM[20]模型作为对照,在IEMOCAP 数据集上与本文模型进行性能比较,结果见表3。表中S 和T 分别表示语音和文本模态,所有方法均采用5 折交叉验证,使用其中的4 个会话作为训练集,剩余的1个会话作为验证集。表中仅利用语音模态的3 个模型(CNN-Att、LSTM-Att 和Self-Att)分别使用基于CNN 的注意力机制、长短期记忆网络(Long Short-Term Memory,LSTM)和自注意力机制。在语音加文本的多模态情感识别实验中,本文使用相同的实验设置对所有标*的模型进行公平比较。

Table 3 Comparison result of each model表3 各模型性能比较结果 (%)

实验结果表明,本文模型在WA 和UA 两个评价指标上优于对照模型,表明利用多种注意力模块学习模态间及模态内的交互特征有利于改善网络性能。此外,同时使用语音和文本的多模态方法的准确率明显高于仅使用语音的方法。由于Att-LSTM 模型只考虑了与语音和文本的单向交互,其准确率低于基于模态间双向交互的BiAtt-TFL和BiAtt-GMU 模型。本文模型不仅利用了模态间的双向交互关系,而且利用了每个模态内的交互关系,因此准确率最高。

3.6 消融实验

为进一步分析模型中自注意力模块、引导注意力模块和模块数量对模型性能的影响,本文在IEMOCAP 数据集上进行了消融实验,实验结果如表4 所示。可以看出,当自注意力模块和引导注意力模块被去掉后,模型的WA 分别下降0.62%和1.21%,UA 分别下降0.87%和2.06%,证明了这两种注意力模块的重要性,也说明了在多模态方法中同时对模态间和模态内交互建模的必要性。此外,相较于自注意力模块,引导注意力模块被去掉后模型性能下降得更明显,表明对模态间交互作用的捕获比模态内交互作用的捕获更为重要。本文还验证了引导注意力模块数量对模型性能的影响,发现对引导注意力模块进行堆叠后,模型性能开始下降,这可能是由于堆叠模块后导致模型太大,而IEMOCAP 数据集太小,无法充分训练大模型,造成了过拟合现象。

Table 4 Ablation experiment results表4 消融实验结果 (%)

4 结语

为实现更加准确的语音情感识别,本文提出一种基于多种注意力机制的多模态情感识别模型。该模型首先采用Bi-GRU 作为编码器提取语音和文本的上下文特征,然后通过注意力网络同时捕获模型间及模态内的交互关系,在IEMOCAP 数据集上的实验结果证明了所提模型的有效性。后续计划引入视觉模态,针对三模态融合问题展开深入研究。

猜你喜欢

注意力语音模态
让注意力“飞”回来
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
“扬眼”APP:让注意力“变现”
国内多模态教学研究回顾与展望
基于HHT和Prony算法的电力系统低频振荡模态识别
由单个模态构造对称简支梁的抗弯刚度
多模态话语模态的协同及在外语教学中的体现