基于Transformer-ESIM注意力机制的多模态情绪识别

2022-05-19 13:28徐志京
计算机工程与应用 2022年10期
关键词:类别注意力模态

徐志京,高 姗

上海海事大学 信息工程学院,上海 201306

近年来,随着人工智能领域的迅速发展以及深度学习的助力,人机交互领域受到越来越多研究学者的关注。情绪识别作为人机交互中一个重要的分支,也成为了当前的热点研究课题。目前,对情绪识别的研究大多集中在语音、面部表情、文本等单模态领域。语音作为人们交流最直接的手段,其中涵盖了丰富的情绪信息,人们情绪的变化可以通过语音特征体现出来。而语音情绪识别正是将输入包含情绪信息的语音信号转化为可读的物理特征,并提取其中与情绪表达相关的语音特征,再构建情绪识别分类器进行测试和训练,最后输出情绪识别分类结果。对于语音情绪识别,Han等人[1]利用深度神经网络(deep neural network,DNN)从原始数据中提取更深层次的特征,验证了深度神经网络对语音情绪识别的有效性。然而,这种结构对长距离的特征提取存在一些局限性。Lee等人[2]考虑到长序列的语音特征提取和情感标签表达的不确定性,提出了基于循环神经网络(recurrent neural network,RNN)的情绪识别框架。Neumann等人[3]提出利用多视角学习目标函数的卷积神经网络(convolutional neural network,CNN)对不同长度的输入信号、不同类型的声学特征和不同类型的情感语音系统性能进行比较。Tashev等人[4]提出基于高斯混合模型(Gaussian mixture model,GMM)的低级特征提取器与基于深度神经网络的高级特征提取器相结合的系统模型来学习语音的情绪特征。Mustaqeem等人[5]提出了一种新的基于径向基函数网络的聚类相似度度量关键序列选择的SER框架,来提高语音情绪识别的准确率。

然而,单一语音模态的情绪识别易受外界因素影响缺失一些情感信息,如噪音、信号强弱等,导致语音情绪识别的效果不够显著。鉴于不同模态间存在互补性,可将文本模态和语音模态进行融合来改善单一语音模态情绪识别的缺陷,从而提高情绪识别准确率。为了利用来自语音信号和文本序列的信息,先前大部分的研究都是使用神经网络分别对两个序列建模,并将两种模式直接连接进行情绪分类。然而,这种直接连接的情绪分类方法效果并不显著。Zadeh等人[6]提出了一种张量融合网络来融合不同模态的特征,并学习模态内和模态间的动力学。Jin等人[7]从声学和词汇两个层面生成特征表示,并构建情绪识别系统。Sahay等人[8]提出了一种利用段内模态间相互作用的关系张量网络结构,利用更丰富的语音和文本上下文信息生成文本和语音模态的丰富表示。Akhtar等人[9]提出了一个同时预测话语情绪和情绪表达的语境跨模态注意框架,将注意力集中在对相邻话语和多模态表征的贡献上,有助于网络更好地学习。Zhang等人[10]提出了一个利用语音中声学和词汇特性多阶段融合的网络,在IEMOCAP数据集上进行实验,结果表明该方法优于那些不考虑语音信息影响的系统。Poria等人[11]探索了三种不同的基于深度学习的多模态情感分类体系结构,并通过多个具有固定测试分区的数据集来评估这些体系结构。此外,Gamage等人[12]提出了使用音素序列来编码与情绪表达相关的语言线索,将文本信息与语音特征相结合,从而提高情绪识别的准确率。

虽然基于语音和文本的多模态情绪识别方法已取得了不错的成果,然而在传统端到端的神经网络中,由于提取情感信息特征时易受模型固有的顺序特性限制,导致无法获取整个语句序列前后间的相关特征信息。因此本文提出基于Transformer-ESIM(Transformerenhanced sequential inference model)注意力机制的多模态情绪识别模型。首先使用多头注意力机制对语音和文本序列进行编码,更好地理解输入文本和语音序列中前后之间的相关特征信息,并且通过对序列并行化的处理解决序列长距离限制问题。然后建立ESIM交互注意力机制,获取语音和文本模态之间的相似特征,实现语音和文本模态在时域上的对齐,得到更加准确的多模态特征表示。

1 系统模型

本文构建的语音与文本融合的多模态情绪识别模型框架如图1所示。该识别模型主要由四部分组成:数据预处理层、Transformer编码层、ESIM(enhanced sequential inference model)交互注意力层以及分类层。

图1 多模态情绪识别模型框架图Fig.1 Multi-modal emotional recognition model framework

在获取数据集之后,分别对原始数据中语音和文本数据进行预处理操作;然后将预处理后的语音和文本序列输入到Transformer编码层进行编码提取深层特征,编码后的序列再输入到交互注意力层计算语音和文本特征之间的相似特征,实现语音和文本模态在时域上的对齐;最后将经过池化后的特征拼接输入到分类层进行情绪识别的分类,实现多模态的情绪识别。

1.1 数据预处理

对于语音原始数据,语音情感信号中的“happy”和“excited”以及“frustration”和“sad”的频谱图接近,因此将“excited”归类到“happy”标签中,“frustration”归类到“sad”标签中,并忽略“others”标签。最后只保留“happy”“sad”“neutral”“anger”四类情感标签,作为情绪识别的分类类别。

对于文本原始数据,首先对文本中的一些没有情感意义的符号文本进行预处理,去掉与情感无关的标点符号,其次对文本中的单词进行嵌入操作,将单词转换成固定长度的向量以便后续进行特征提取。

1.2 Transformer编码层

在语音和文本序列进行特征提取过程中,传统神经网络RNN、LSTM等存在着长期依赖性问题,其自身顺序属性无法捕获长距离特征。本文设计了Transformer编码层对语音和文本序列进行并行化处理,解决序列距离的限制,从而充分提取序列内的情感语义信息,最后对对语音和文本序列进行深层情感语义编码。Transformer编码层结构如图2所示,主要由多头自注意力机制层和前馈神经网络层构成。

图2 Transformer编码层图Fig.2 Transformer coding layer

多头注意力机制的整体流程如图3所示,当输入一个语音/文本序列,首先经过线性变化生成Q、K、V三个权重向量,为所有输入共享。然后进行分头操作,对每个头进行自注意力机制操作,再将完成自注意力机制的每个头进行拼接,最后输出到残差连接层。

图3 多头注意力机制流程图Fig.3 Multi-head self-attention process

多头自注意力机制层可利用多个查询向量Q=[q1,q2,…,q M]并行地计算输入信息中的多个情感信息,每个自注意力对输入情感信息的关注点不同,因此会获取不同的情感特征信息,最后再将这些自注意力头进行拼接。多头自注意力机制的计算如下:

最后,通过前馈神经网络得到句子的特征向量,在前馈神经网络层中输入和输出之间是不存在依赖关系的。前馈神经网络层的计算公式如下:

其中,W1、W2为前馈层的权重矩阵;b1、b2为前馈层的偏置。

1.3 ESIM交互注意力层

目前大多对语音和文本多模态情绪研究中,都是对两个模态分别建立单独模型提取特征再输入到一个特征融合层进行特征融合,忽略了语音和文本模态之间的交互作用。本文采用ESIM的交互注意力机制来处理语音和文本,该方法的交互注意力机制可以计算出语音和文本序列之间的相似特征,实现语音和文本模态在时域上的对齐,从而得到更加准确的多模态特征表示。ESIM交互注意力层的工作步骤如下:

(1)计算语音与文本特征之间的相似度矩阵:

式(4)中e ij表示语音的第i帧和文本的第j个词的相似度矩阵,式(5)中a͂i是利用注意力机制提取文本词中的相似信息,式(6)中b͂j是利用注意力机制提取语音帧的相似信息,l a、l b分别代表语音帧和文本句的长度。

其中,m a、m b表示语音和文本增强后的信息表示。

(3)对增强后的语音和文本序列进行池化。为了提高模型的鲁棒性,同时对两个序列进行平均池化和最大池化操作,最后再把结果放入一个定长向量中。

其中,v a,ave、v a,max为语音的平均池化向量和最大池化向量,v b,ave、v b,max为文本的平均池化向量和最大池化向量。

1.4 分类层

对于一个完整的多模态情绪识别模型,在得到语音和文本的融合特征后则要进行情绪识别分类。本文采用两层全连接层和softmax分类器作为四种情绪识别的分类层,如图4所示。

图4 分类层流程图Fig.4 Classification layer process

研究证明,若采用单一的全连接层往往会存在非线性问题,故本文采用两个全连接FC1和FC2以解决可能存在的非线性问题。全连接层中选用线性的ReLU函数作为激活函数,可以有效避免梯度爆炸的问题。最后使用softmax函数进行最终的情绪分类预测,通过softmax函数为每个输出情绪的类别都赋予一个概率值,表示出每个类别输出的可能性。

其中,ez i表示第i个节点的输出值,C表示情绪类别的个数。

在模型的训练过程中,本文选取交叉熵作为损失函数。交叉熵表示模型实际预测类别的概率与期望模型预测类别的概率间的差距,交叉熵的值越小,两个类别预测概率分布就越接近。损失函数的计算公式如下:

其中,y i为期望模型预测类别的概率,s i为模型实际预测类别的概率。

2 实验结果与分析

2.1 数据集

本文使用的数据集是由南加州大学Sail实验室收集的多模态情感数据库IEMOCAP,主要包含语音、文本、视频等多个模态。由10个专业演员在录音室录制了约12小时的5组会话视听数据,每组会话都由3个注释员注释成类别标签,如愤怒、快乐、悲伤、中立等标签,以及维度标签,如配价、激活和支配。本实验主要使用其中的语音和文本两个模态,对原始数据中不平衡的数据进行简单的数据筛选处理,最终构成由快乐、悲伤、中性和生气组成的4类情绪识别数据库,共5 531条数据。数据集中不同类别的情绪数据分布情况如表1所示。

表1 IEMOCAP数据集中不同类别情绪数据分布Table 1 Distribution of different categories of emotional data in IEMOCAP dataset

2.2 实验设置与环境配置

本实验是在TensorFlow1.15.0版本框架下完成的。首先对原始数据进行预处理。对于语音数据调用Tensor-Flow里的python_speech_feature库进行预处理,将语音转化为300×200的特征矩阵。对于文本数据先对单词做预处理,将每个单词映射到一个唯一的索引,再将文本从单词的序列转换为索引的序列,每一单词转换为200维度的向量,文本字符长度设置为固定值,当长度不一致时进行截断和pad操作。将情绪识别数据集按照4∶1的比例划分为训练集与测试集。在训练过程中,通过修改神经网络自身来提高模型泛化能力,将dropout率设置为0.5,以防发生过拟合。对模型的优化,学习率设置为0.000 1,优化器采用Adam算法。实验的环境配置如表2所示。

表2 实验环境主要配件及软件版本Table 2 Main hardware configuration and software version of experimental environment

2.3 评价指标

在多模态情绪识别分类的任务中,本文主要采用Accuracy、Recall、Precision、F1-score以及混淆矩阵和ROC曲线作为模型的评价指标。实验指标的计算如下:

其中,TP表示实际为真实类别并被预测为真实类别的个数,TN表示实际为错误类别被预测为错误类别的个数,FP表示实际为错误类别被预测为真实类别的个数,FN表示实际为正确类别却被预测为错误类别的个数。

2.4 结果和分析

为了验证本文提出的多模态情绪识别模型的有效性,将语音和文本融合后的多模态情绪识别结果,与未经融合的语音和文本单模态情绪识别结果以及先前学者提出的多模态情绪识别结果进行对比。以下为先前研究学者提出的方法。

(1)ICON:是由Sebastian等人[13]提出,将跨模态融合方法应用于情绪识别的深度学习网络中,通过将基于LSTM的文本情绪识别模型的输出类别概率与联合CNN模型的输出类别概率根据不同权重值进行后期融合,得到多模态情绪分类结果。

(2)EF-CS:是由Pepino等人[14]提出的将声学和文本特征融合的多模态情绪识别系统,对于文本特征通过BERT获得上下文的单词嵌入,对于语音特征采用open SMILE工具提取,最后通过早期融合实现多模态情绪识别预测。

(3)Bc-LSTM:是由Poria等人[11]提出的一种基于深度学习的多模态情感分类体系结构。对文本特征提取采用CNN,语音特征提取使用open SMILE工具,并通过Bc-LSTM捕捉话语中相关的上下文信息,最后通过特征层融合将特征向量发送到分类器进行分类。

(4)Dual-RNN:是由Yoon等人[15]提出的一种新的深度双递归编码器模型,可以同时对语音和文本序列中的信息进行编码,然后将这些信息结合起来预测情感类别。

表3给出了单模态以及上述不同方法在IECOMAP数据集上的情绪识别准确率。

表3 单模态及不同方法在IECOMAP数据集上的准确率Table 3 Accuracy of different models and single mode on IECOMAP dataset %

同时,本文在实验过程中分别计算了模型中每个情绪类别以及Macro avg和Weighted avg的Precision、Recall和F1-score。其中Precision为精确率,表示模型的查准效果;Recall为召回率,表示模型的查全效果;F1-score为精确率和召回率的调和平均,可以较为综合地表征实验效果。Macro avg为宏平均,表示对每个类别的精确率、召回率和F1-score加和求平均;Weighted avg为加权平均,是对宏平均的一种改进,计算了每个类别样本数量在总样本中的占比。实验结果如表4所示。

表4 不同类别在IECOMAP数据集上的结果Table 4 Results for different categories on IECOMAP dataset %

为了更加直观地分析多模态情绪识别预测的分类效果,本文对不同长度序列进行对比实验。表5所示为在不同序列长度下的识别准确率。绘制出在不同序列长度的最佳预测结果的混淆矩阵图,如图5所示,显示了序列长度分别为15、20、25的混淆矩阵图。绘制出模型在实验中最佳预测结果的ROC(receiver operating characteristic)曲线图,如图6所示。

表5 不同序列长度在IECOMAP数据集上的结果Table 5 Results for different sequence lengths on IECOMAP dataset

从表3结果可以看出,本文提出的基于Transformer-ESIM注意力机制的多模态情绪识别方法取得了相对最好的情绪识别结果。实验结果表明,相比于单语音和文本模态的情绪识别结果有较大提升,并与先前提出的ICON模型的63.0%、EF-CS模型的65.5%、Bc-LSTM模型的70.7%以及Dual-RNN的71.8%准确率分别提高了9.6个百分点、7.1个百分点、1.9个百分点和0.8个百分点。由此可见,本文提出的模型在实验中比基于RNN、CNN、LSTM改进的模型有更好的分类效果,说明本文提出的基于Transformer-ESIM注意力机制的多模态情绪识别方法可以更加充分地理解网络模型中话语情绪特征信息,从而取得了更好的情绪识别准确率。

从表4中可以看到不同类别情绪的精确率、召回率和F1值的表现情况,本文提出的模型在Sad、Happy、Neutral三个类别都取得了比较好的精确率,分别为75.6%、72.5%、74.2%,略微优于Anger类别的准确率,并且召回率和F1值也都取得了比较好的结果。从表5可以看到在不同序列长度下的识别准确率,当序列长度为20时效果最佳,当序列长度为15时,超出长度的序列被截断,导致准确率不高,而当序列为25时,虽然涵盖的序列范围更广,但过多的pad操作使得模型性能不佳,从而准确率不及序列长度为20时。图5显示了模型在不同序列长度下的混淆矩阵,该矩阵纵坐标表示原始情绪标签,横坐标表示预测情绪标签,对角线区域颜色越深代表模型的识别效果越好。从实验结果图中可以看出该模型在文本序列长度固定为20时识别效果最佳,其主要混淆了悲伤、快乐和中立情绪,因为中立情绪和其他情绪间的差异较小,所以易与其他情绪混淆。图6显示了本文提出模型的ROC曲线,从图中可以直观看出曲线的面积接近于1,表明了该模型的分类效果突出。综合可以看出本文提出的基于Transformer-ESIM注意力机制的多模态情绪识别模型性能优异且具有较强的泛化能力。

图5 不同序列长度的混淆矩阵对比图Fig.5 Comparison of confusion matrices with different sequence lengths

图6 情绪识别模型在IECOMAP数据集上的ROC曲线图Fig.6 ROC curve of emotion recognition model on IECOMAP dataset

3 总结

本文提出了一种基于Transformer-ESIM注意力机制的多模态情绪识别方法。首先,采用Transformer编码层对语音和文本序列进行编码,通过多头注意力机制对序列进行并行化提取特征,可以有效消除序列距离的限制,充分提取序列内的情感语义信息,从而对语音和文本序列进行深层情感语义编码,解决了传统循环神经网络存在的长期依赖性以及其自身顺序属性无法捕获长距离特征的问题,缩短了特征提取时间;其次,通过ESIM的交互注意力层获取语音和文本之间的相似特征,实现语音和文本序列在时域上的对齐,提高了模型对情感语义的理解和泛化能力。通过在IEMOCAP数据集上进行实验,本文提出的基于Transformer-ESIM注意力机制的多模态情绪识别模型准确率可达到72.6%,召回率和F1值也都取得了较好的结果,验证了本文方法的有效性。

猜你喜欢
类别注意力模态
基于BERT-VGG16的多模态情感分析模型
多模态超声监测DBD移植肾的临床应用
让注意力“飞”回来
跨模态通信理论及关键技术初探
一起去图书馆吧
如何培养一年级学生的注意力
A Beautiful Way Of Looking At Things
多类别复合资源的空间匹配
日版《午夜凶铃》多模态隐喻的认知研究
选相纸 打照片