基于多方注意力建模的对话情感分类

【www.zhangdahai.com--其他范文】

陈 晨,周夏冰,王中卿,张 民

(1. 苏州大学 计算机科学与技术学院,江苏 苏州 215006)

实现情感智能一直是人工智能领域的一个重要目标,通过对话情感分析,使得模型能够从人们的日常对话中习得一定程度的情感识别能力,进而构建出具有移情能力的系统。

对话情感分析是情感分析的一个细分任务,相较于简单的情感分析问题——给予一个句子对其进行情感分类,模型只需要在句子内部进行信息抽取;
对话情感分析的背景是对话,类比于一个序列标注任务[1],模型需要对对话中的每个句子进行情感分类,因此其最大特点在于需要考虑说话人之间的情感交互和对话之间的长依赖关系。图1是一则对话情感分析的示例,我们将整个对话称为一个Dialogue,对话中的每个句子称为Utterance[2],意为言语句,参与者分别设为说话人A和说话人B。在本段对话中,说话人A因为担心自己表现得不好而害怕,说话人B鼓励了他,说话人A便重拾了信心。两人在交流中,产生了说话人情感的转变和情感的维持。

我们将说话人B的这种情感上的延续称为情感惯性[3],将说话人A由惊到喜的情感转变称为情感转移[4],其中情感惯性主要取决于说话者的内部因素,而情感转移受到说话人外部即说话人之间的影响更大。围绕着情感惯性和情感转移,学者们做出了一些相关研究,Hazarik等[5]提出了CMN(Conversational Memory Network),基于GRU(Gated Recurrent Unit)[6]模拟说话人的状态,使得每个说话人的情感惯性得以维持,Interactive Conversational Memory Network(ICON)[7]与Dialogue-RNN[8]在此之上对说话人之间的交互进行分析,取得了更加优秀的效果,但大部分工作主要基于循环神经网络。众所周知,循环神经网络由于其结构特点,无法并行化运算,所以在性能上具有很大的局限性;
再加上其相对封闭的设计思路,使得对于循环神经网络的改进只会局限于cell内部,难以覆盖到整个网络,因此往往需要配合Attention[9]一同使用。

图1 对话情感分析示例

本文从基于Transformer[10]的对话建模角度出发,提出了多方注意力建模。既通过并行计算提高了模型的运行速率,也充分利用了注意力机制对全局上下文进行把控的优点,可拓展性更高。本文提出了一种名为Dialogue Transformer的网络结构,在底层运算上,运用多头注意力机制,充分挖掘文本信息;
在顶层设计上,通过多方注意力机制,对说话多方进行建模并以全局注意力层构建联系,同时考虑内部情感惯性和外部情感转移。此外,我们还对Transformer在对话情感分析中的位置编码问题进行了探究。由于Self-attention不考虑语义位置,而对话情感分析的语义顺序极为复杂,包括Dialogue全局的语句顺序,说话人内部的语句顺序以及综合考虑全局和内部的话轮顺序,因此如何传递位置信息极为重要。基于此,我们综合比较了基于三角函数的绝对位置编码和取消绝对位置编码的自适应模型[11]。最后,本文以前向网络和残差结构[12]等方法将模型由一层拓展到多层,进一步提高模型的拟合能力。

在DailyDialog数据集上的实验表明,我们提出的Dialogue Transformer模型在运算速率上比循环神经网络有2~3倍的提升,评价指标也有显著提高,并且通过不同位置编码方式的对比,自适应模型效果相较于绝对位置编码表现更优。此外,在多层模型的实验结果上,我们的模型表现稳定,且无退化现象,具有更大挖掘潜力。

本文的组织结构如下: 第1节介绍基于对话情感分析的相关研究和Transformer在句子分类中的相关工作;
第2节对对话情感分析的任务做了具体定义;
第3节详细描述本文提出的Dialogue Transformer模型;
第4节介绍实验的相关内容并对实验结果进行分析;
第5节对全文做了总结,并对下一步工作进行展望。

1.1 基于循环神经网络的对话情感分析

对话情感分析本质上依然归结于文本情感分类问题,所以一般性的用于单文本情感分类的模型也可以处理这类问题。传统方法可分为基于知识的方法和基于统计的方法[13]。基于知识的方法为情感词典[14],而基于统计的方法则更加丰富,包括支持向量机[15]、贝叶斯模型[16]、神经网络等,其中以神经网络中的循环神经网络效果最佳,如GRU等,通过对整个句子顺序建模可以获取句子上下文之间的关系。然而此类方法具有局限性,上述方法均只考虑句子内部单词之间的关系,没有考虑到对话场景中句子与句子之间的关系,因此后续的学者围绕着对话情感分析中对话上下文之间的关联,提出了一系列的基于循环神经网络的模型,极大地提高了分类的准确率。Poria等率先提出BC-LSTM[17],以对话为基本单位,通过LSTM去获取上下文相关性之后再进行预测;
进一步地,对话中的人物信息也被考虑进来,Hazarika等[5]的CMN模型为不同说话者构建不同的GRU去获得自身的信息,实现了对说话者内部情感惯性的建模;
Hazarika等[7]的ICON模型将问题侧重于说话人之间的情感转移,在获得说话人内部的语义特征之后,对整个对话环境进行建模,构建全局记忆网络用于最终预测;
Majumder[8]则综合考虑了多种情况,提出了DialogueRNN,更好地模拟了情感交互的过程,成为目前该领域的前沿模型。

1.2 Transformer与文本分类

Transformer是由Vaswani等提出的基于Self-Attention的语言模型,该模型抛弃了循环神经网络线性的运算方式,仅以Attention去获取上下文之间的相关性,在效果不弱于循环神经网络的同时,计算速度也有大幅度的提升。近年来基于Transformer开展的很多工作都取得了巨大成功,如机器翻译、句子生成以及大型预训练语言模型BERT等。同样的,在情感分析领域[18],Transformer也凭借其长依赖的特性,比循环神经网络保留更多有效信息。本文将这种依赖关系由上下文拓展到人物对话中,将Transformer用在对话领域,去探究其基于对话的依赖关系。

该问题场景始于对话,我们将一段对话定义为U,对话中包含了n个句子{u0,u1,u2,…,ut,…,un},和两个参与方Pa和Pb(本数据集仅考虑两人参与的对话方式)。U中每个句子由Ps(t)发出,其中s(t)∈(a,b)。具体任务是对ut进行情感分类,得到对话情感标注序列{y0,y1,y2,…,yt,…,yn}。

考虑到对话情感分析的主要对象为句子,为了便于分析和建模,本文将句子作为信息处理的基本单位,ut∈RDm是每个句子的向量表示,通过以下的特征抽取方式获得。

对于词向量的表达,本文通过对训练语料以skipgram模式训练Word2Vec[19]词向量,训练参数见表1。对于每个句子,我们先将其由字映射到词向量,接着进行平均池化,得到一个300维的句向量,用此句向量作为ut的表达方式。其中词向量不随着对话情感分析模型一起训练,以便对不同模型之间的性能差别有一个较为客观稳定的比较。

表1 词向量训练参数

本节对Dialogue Transformer模型的结构(图2)进行详细介绍。该节共分为四部分,分别为多头注意力机制、多方注意力机制、位置编码以及多层结构设计。

图2 Dialogue Transformer模型结构图

3.1 多头注意力机制

多头自注意力机制是Transformer的核心机制,只需要注意力结构的矩阵运算而不需要循环结构就可以实现对序列问题的建模,且运算速度快。其中多头自注意力又由多个自注意力模型组成。但显然,自注意力机制[20]对于本任务中特有的对话交互具有限制,因此,我们取消自注意力,而选择一般的注意力模型,去构建说话者之间的交互行为。同样的,用多头注意力结构取代多头自注意力结构。

注意力结构的描述如式(1)~式(4)所示。首先将接收的序列转为Q,K,V三组向量,其中Q用于查询,K用于匹配,V用于取值。

(5)

相比于一次在整个维度上进行注意力计算,多头注意力机制选择将dk维度的Q,K,V切分为h个部分,每个部分维度均为dk/h,分别做self-attention。所得结果再进行拼接,这样就可以从多个角度对数据进行理解,其效果也要好于一次完整的数据计算。

在多头注意力之后,Transformer选择了通过一层前向网络进行信息筛选和Layer Normalization正则化来降低过拟合程度,从而获得了较为不错的效果。本文也继承该结构,并以此节所述结构作为Dialogue Transformer的基本计算单元,写作MA(Q,K,V),注意力计算过程如图3所示。

图3 注意力模型图

3.2 多方注意力机制

由于对话情感分析涉及到多个参与者,超出了Transformer的适宜范畴,因此我们提出了多方注意力机制以适应此问题。图2是模型整体结构图,从左到右依次包括4个部分,第一部分Dialogue表示模型输入,包含对话双方(Person A、Person B)的句子序列以及二者组合成的对话整体Global序列;
第二部分Inner Self Attention负责建立说话人自身的情感惯性;
第三部分Outer Attention建模说话人之间的交互和情感转移;
第四部分获得模型整体输出,详见下文。

Inner Attention旨在提取说话人内部的信息,对说话人A、说话人B以及对话整体Global分别进行处理,从而获得各自内部的信息表达,即图2中的Inner A、Inner B以及Inner G。

对于说话人p,p∈(A,B,global),有句子序列Up={…ut…},由于该序列不定长度,如单独计算,则无法利用Transformer的矩阵并行运算进行加速。为了将其变为定长从而达到并行加速的目的,我们固定输入长度,并以对话整体Global序列作为输入,在此基础上采用掩码机制,为说话人p建立掩码序列Mp,属于该说话人的句子掩码为0,不属于该说话人的掩码为1,如式(6)所示。

(6)

(7)

如此就能实现对于非说话人所说句子的忽略。下文将加入掩码计算后的MA写作MAM。

特别的,对于Global序列的Inner Attention, Global序列只需要对于最大句长中所padding的句子进行掩码操作即可。此外,无论是说话人A、B还是Global,都需要对结果进行进一步的掩码操作,将非自身信息重置为0,以免影响模型后续计算,因此Inner Attention的整个计算如式(8)所示。

Innerp=MAM(Qp,Kp,Vp)*Mp,p∈(a,b,g)

(8)

Outer attention承接Inner attention,其目的为模拟对话者之间的交互,为此我们对attention的输入进行约定,以达到信息交互的目的。对于Pa的outer attention,计算过程见图3,Query为Innera代表其自身的信息,Key为对应的交互对象Innerb,Value为全局信息Innerg,Key掩码为Mb,意为只对Pb做交互。数据流向对应图2第三部分。

Outera=MAM(Innera,Innerb,Innerg)*Mp

(9)

有了Inner attention和Outer attention两部分的注意力结果之后,就可以对此进行综合处理去获得用于分类的特征Ur,对应于图2第四部分。

最后将Ur通过一个全连接层进行情感分类。

(13)

3.3 位置编码

与循环神经网络不同的是,self-attention本身是不含位置信息的,原Transformer通过三角函数位置编码的方式将绝对位置信息与序列一同输入。

但是这种方法并不适合对话任务,因为在此任务中,语义顺序可以分为两部分,一是全局的对话顺序,二是参与者个人的说话顺序,如果将绝对信息直接编入全局对话中,将导致个人顺序信息的丢失。同理,将绝对位置信息编入参与者个人的说话中,语义的不连贯和跳跃同样导致了一种不适应。因此本文从这个角度对三角函数位置编码和取消位置编码的自适应模型做了对比,探究位置信息对于模型是否有很大的影响。

3.4 多层结构设计

此外,我们设计将模型从一层变成可随意拓展的多层,主要基于前向网络和残差结构实现。如图4所示,首先将Ur通过一层前向网络进行维度压缩,压缩至与输入向量相同维度后与输入向量相加,作为下一层网络的输入。经验表明,通过该结构可以较为有效地解决模型退化问题。

图4 多层结构设计

4.1 数据集

实验数据集选用DailyDialog[21]。DailyDialog是一个高质量的多轮对话数据集,对话内容采集自日常交流并且覆盖多个话题,每个对话的参与者均为两人,且为ABAB型,即按照你一句我一句的顺序依次发言。其标签数据分布如表2所示。该数据集提供了意图标签和情感标签两种,此处只选取情感标签。

表2 DailyDialog数据集情感标签分布

续表

同时为了验证算法可行性,本文对该数据集进行了重构,维持中性和喜悦情绪不变,将其他情绪全部归结为负面情绪,以此修正任务,将标签由情感转为倾向,既缓解了原数据集样本分布不均衡的问题,又可以通过两个不同的任务来验证模型的可靠性。

4.2 基础模型

为了对本文模型性能进行评估,在实验中对比了以下几种方法:

c-LSTM[17]通过双向LSTM对对话语境进行分析,提取上下文信息,进而进行情感分类。由于该模型对说话方不做区分,因此并没有对人物进行建模。

ICON[7]ICON对人物进行了建模,通过两个不同的GRU分别对说话人自身的语境进行建模,并对其输出按说话顺序通过另一个GRU构建了一个全局表示。最后将每个待分类的句子作为查询与全局GRU做注意力建模,并进行情感分类。

DialogueRNN[8]DialogueRNN是当前最优的基于循环神经网络建模的对话情感分析模型。该模型首先通过一个全局的GRU对整个对话构建语境信息,随后基于此分别对不同说话人以注意力机制作为输入,构建对话人的GRU。最后建立一个新的GRU对不同说话人网络的输出建模,并通过全连接层进行情感分类。

Transformer[10]Transformer是基于多头自注意力机制的神经网络,通过自注意力对对话上下文进行建模,最后对输出表示进行情感分类。本文以此作为基准模型进行对比调优。

4.3 参数设置

鉴于Transformer类模型需要较小的学习率,而RNN类网络则并无此类影响,所以我们对其区别对待,Transformer为1e-4,RNN为1e-3。参数优化方法为Adam算法,损失函数为交叉熵,不同结构之间通过dropout连接,提高模型泛化能力并降低过拟合。最终于测试集上评价的模型来自验证集上表现最好的参数,通过早停方式获取。各具体参数设置如表3所示。

表3 超参数设置

4.4 评价指标

对话情感分析任务是针对一段对话中的每个句子进行分类,属分类任务的一种,因此采用F1值作为评价指标。考虑到数据集中样本不充分平衡,本文采用加权F1(weighted-F1)值得出更加合理的评价结果[22]。其运算过程为:
先对不同类别的F1值基于样本数量设置不同权重,再加权求和得到最终的加权F1值。

5.1 模型效果分析

表4展示了本文的模型与其他模型的性能对比,在对比的Transformer模型中,后缀“BasePos”为三角函数位置编码,后缀“NoPos”为不含三角函数位置编码,后缀“Res”为加入一层残差结构。从各个情感的分类结果来看,在情感倾向任务中,样本较多的中性情感各模型差异不大,而样本量较小的正负样本更加明显地体现出了模型性能的优劣。由于负样本数量最少,最难训练,不同模型在此项表现中差异巨大。基础Transformer模型只有0.16,而基础DialogueTransformer就达到0.33,高出17%,亦高于SOTA模型DialogueRNN的0.291 0。取消绝对位置编码和加入残差结构,效果都有进一步的提升,最优可达0.445 1,相较于其他模型性能提升显著,可见DialogueTransformer对于样本数量依赖较少,少样本类别也能有不错的识别率,更加稳定。对于正样本,基础DialogueTransformer表现低于基础Transformer模型1.6%,这是由于模型更多地去召回负样本以至于对于正样本的召回减少导致的。而在去除三角函数位置编码后,DialogueTransformer便反超Transformer 1.8%,加入残差结构的DialogueTransformer表现最好,相较于SOTA模型DialogueRNN高3.2%,且也优于未优化的标准Transformer模型4.1%。最后从整体上看,DialogueTransformer比基于循环神经网络的SOTA模型DialogueRNN高出2.3%,且也高出标准Transformer模型3.8%。在情感识别任务中,DialogueTransformer同样表现优异,获得了最高分。

表4 实验结果对比

此外,在对话情感分析中,基于Transformer的模型其位置编码对最终效果有着巨大影响,无论是标准Transformer还是DialogueTransformer,不带三角函数位置编码的版本均优于有位置编码的版本,加权F1值平均有1到2个百分点的提升,且对于DialogueTransformer提升更加明显。可见,对于这一复杂问题,其位置信息并非是静态的,具有一定程度的交错,因此静态的三角函数位置编码难以解决这一问题,甚至有反作用,反而是没有位置编码的版本,可以自行学习到这中间的信息,从而表现更加优秀。

5.2 模型运算性能

在模型的运算性能方面(表5),我们用模型在训练集上训练一轮的时间作为评价指标。首先是模型参数的比较,DialogueTransformer的参数量最多,BC-LSTM与标准Transformer的参数量最少,但性能上,即便是参数量最少的循环神经网络模型的速率也要低于参数量最多的DialogueTransformer,并且虽然Dialogue Transformer的参数量是Transformer的两倍多,其训练时间也并没有较大的差距,可见基于Transformer的模型在性能上的表现相较于循环神经网络的各个模型具有显著的优越性。

表5 模型参数量与预算速率比较

5.3 多层结构拓展

最后我们尝试了将模型从单层拓展到多层,因为通常情况下,更深的网络结构往往拥有更强的拟合能力,实验结果如图5所示,x轴为网络层数,y轴为情感倾向的加权F1值,基础版本在图中为正方形直线,残差版本在图中为三角形虚线。为了满足多层结构,将Inner attention和Outer attention由拼接改为相加以实现不同层间具有相同大小的维度表示。

实验表明,模型在单层结构的表现与残差版本性能接近,具体数据见表4的相应部分。但是随着网络深度的提升,性能有较为明显的波动,而在网络到达6层时,该模型已完全无法识别弱类别,以至于效果极差。该问题的产生是由于大量参数与少量训练数据不匹配造成的,Transformer往往需要较多的训练数据才能拥有较好的结果,过深的网络搭配少量的数据反而导致了模型的退化。因此,本文对该模型进行了改进,参照残差网络的设计,加入了残差结构以解决这一问题。从图5中的三角形虚线可以看出,不同层数下该模型均较为稳定。

图5 多层Dialogue Transformer的效果

一个有趣的现象是,当网络在1~3层时,两种结构的初始损失均会处在一个较小的位置,并且网络越深,其收敛越快,而当模型超过3层之后,由于初始化参数过多,初始损失往往会处于一个较大的位置,残差模型可以逐渐收敛,但是基础结构则停滞不前,这是由于网络过深,深层梯度在反向传播的时候存在梯度消失现象,而残差结构通过一个加法操作,缓解了这一窘境。

由此可见,本文通过残差结构较为成功地解决了模型退化的问题,实现了模型的可拓展性,但是由于缺乏与之相匹配的数据量,难以实现模型精度的大幅度提升,不过可以预见的是,在更加庞大的数据集之上,多层结构必然有更加优异的效果。

本文从基于Transformer的对话建模角度出发,提出了基于多方注意力机制建模不同说话者之间的交互,该方法既学习了对话上下文之间的关系,也实现了说话人之间的情感惯性和情感转移,在准确率高于SOTA模型的同时计算速率上也有较大的优势。

在下一步的工作中,我们将更加具体地考虑对话中的位置信息对于Transformer的影响,构建出满足对话这一复杂场景的位置编码方式,建立一个更加契合这种交错位置关系的Transformer模型。

猜你喜欢 残差注意力编码 基于双向GRU与残差拟合的车辆跟驰建模网络安全与数据管理(2022年3期)2022-05-23让注意力“飞”回来小雪花·成长指南(2022年1期)2022-04-09基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准四川轻化工大学学报(自然科学版)(2021年1期)2021-06-09基于残差学习的自适应无人机目标跟踪算法北京航空航天大学学报(2020年10期)2020-11-14《全元诗》未编码疑难字考辨十五则汉字汉语研究(2020年2期)2020-08-13子带编码在图像压缩编码中的应用电子制作(2019年22期)2020-01-14基于递归残差网络的图像超分辨率重建自动化学报(2019年6期)2019-07-23Genome and healthcare疯狂英语·新读写(2018年3期)2018-11-29“扬眼”APP:让注意力“变现”传媒评论(2017年3期)2017-06-13A Beautiful Way Of Looking At Things第二课堂(课外活动版)(2016年2期)2016-10-21

推荐访问:建模 多方 注意力

本文来源:http://www.zhangdahai.com/shiyongfanwen/qitafanwen/2023/0727/631103.html

  • 相关内容
  • 热门专题
  • 网站地图- 手机版
  • Copyright @ www.zhangdahai.com 大海范文网 All Rights Reserved 黔ICP备2021006551号
  • 免责声明:大海范文网部分信息来自互联网,并不带表本站观点!若侵害了您的利益,请联系我们,我们将在48小时内删除!