对话情绪识别综述

2023-02-14 10:30陈晓婷
计算机工程与应用 2023年3期
关键词:话语模态建模

陈晓婷,李 实

东北林业大学 信息与计算机工程学院,哈尔滨 150040

对话系统作为人们日常沟通和情感表达的载体,其应用场景广泛并受到了学术界和产业界的高度关注。早前的对话系统针对特定领域开展任务[1],例如手机语音助手,此类任务只需确保生成回复的语义和逻辑正确,无需考虑用户的具体情绪,因此缺乏共情性。近年来,随着人机交互技术逐渐从交叉学科中脱离出来成为一个独立的研究领域[2],人们开始从提高生成对话的语义质量转向为加强对话过程的交互。

情感是人和机器的本质区别,情感理解是人工智能的一个重要研究方向。作为人类智力的重要组成部分,情商被定义为感知、整合、理解和调节情绪的能力[3]。在聊天过程中,机器若能感受到用户的情绪并对此进行准确的处理,就能极大地丰富对话的内容并且让用户产生移情和共情反应[4-7],从而提高用户满意度。

除此之外,对话情绪识别(emotion recognition in conversation,ERC)在其他任务中也有潜在的应用,例如社交媒体中的意见挖掘[8]、推荐系统[9-10]、医疗保健[11]和假新闻检测[12]等诸多领域。围绕对话进行情感分析旨在让机器理解说话者的感受和情绪,从而产生共情心。随着近几年脸书(facebook,https://www.facebook.com/)、推特(Twitter,https://twitter.com/)和微博等社交媒体平台以及亚马逊Alexa等对话助手的增多,对话情绪识别受到学术界越来越多的关注[13-14],研究者开始致力于通过提高任务的模型效果来为后续的感知和响应情感对话奠定基础。

对话情绪识别的目标是识别对话中每个话语的情感标签,本质上是分类问题,即从定义好的情感类别中,为对话的每一句表达确定其情感类别[15]。如果不考虑对话中的上下文依赖,一般的文本分类方法都能用来解决对话文本中的情感分类问题。但由于对话本身具有很多要素,比如,对话文本通常是简短的、非正式的文本,对话中的主题时常快速切换,上下文信息是动态的,同时,说话者的情绪和状态也会受其他说话者的影响。因此,话语的情感识别并不简单地等同于单个文本句子的情感识别,而是需要综合考虑相关信息,这些都是对话情绪识别任务中存在的独特挑战。

对话情绪识别任务不仅需要对话语语义和情感表达有更深刻的理解,还要考虑不同话语之间的信息交互。图1所示,说话者A本来是一个悲伤(“Sad”)的状态,但由于模型忽略了历史对话信息,结果第三次话语被分配了错误的情绪标签“Happy”。因此,应该探索更有效的自然语言处理技术,同时结合心理和认知领域的知识,从而提高对话情绪识别模型的整体效果。

图1 对话情绪识别的例子Fig.1 Example of conversational emotion recognition

为了解决对话情绪识别任务中存在的关键问题,需要综合考虑以下三点:首先,对话情绪识别在识别目标句子的情感时,需要利用对话上下文信息,建模上下文可以为情绪识别提供更多背景知识。此外,对话情绪识别中的上下文信息是依赖说话者的,对于相同的话语,由同一个说话者说出与不同说话者说出带来的影响是不同的,因此许多研究人员对说话者的状态和说话者之间的依赖关系进行了建模。最后,情感是通过多种模态的形式进行表达的,不同模态提供的信息往往也是不同的,利用单一模态有时很难做出准确的判断,需要综合考虑不同模态内和跨模态之间的差异化信息进行多模态建模。

近年来已有不少学者关注对话情绪识别这一方向,该领域的研究处于一个明显上升的势头,产生并积累了许多成果。为了便于研究者在现有研究工作的基础上取得更好的进展,有必要对目前对话情绪识别的研究成果进行全面的分析和总结。本文的组织结构如图2所示。

图2 本文的组织结构Fig.2 Organization of this paper

1 问题定义与分类

对话情绪识别是一个分类任务,旨在对一段对话中的话语进行情绪分类,任务的输入是一段连续的对话,输出是这段对话中所有话语的情绪。本文所指的“情绪”是更为广义的概念[16],它既包括普通的正向、负向和中性的情感含义,也包括高兴、生气、害怕等具体层面的情绪含义。

对话情绪识别任务的形式化定义如下:

给定对话记录以及每个组成话语的说话者信息,对话情绪识别任务旨在从一组预定义的情绪中识别每个话语的情绪。具体来说,假设有N个连续话语u1,u2,…,uN和M个说话者p1,p2,…,pM的对话。每个话语ui由一个说话者pS(ui)说出,其中函数S将话语的索引映射到其对应的说话者,对话情绪识别的目标是预测每个话语ui的情感标签ei。

现有的对话情绪识别研究可以分为两个方向:静态和实时。静态对话情绪识别[17-18]意味着整个对话已经完成,因此可以利用历史和未来的上下文信息来检测话语的情绪。实时对话情绪识别[19]中没有未来的上下文,需要构建记忆库来捕获历史背景信息并适当地总结记忆进行话语情感的识别,现有工作主要遵循三个步骤,先分别获取对话中每个话语的特征表示,再捕获查询语句的上下文信息,最后将上下文信息融合到查询中以提取查询的情感表示。

对话情绪识别的研究也可以根据会话场景进一步分类:多模态和单模态。在多模态场景中,所有文本、视频和音频信息都可以用于识别情绪,而单模态对话情绪识别则独立地利用文本、视频或音频信息。对多模态对话情绪识别和文本对话情绪识别的区别和相关方法介绍详见第3章和第4章。

2 问题切入方式

识别对话话语中的情绪需要综合考虑多方面的信息,该问题的切入方式大致分为两类:上下文建模和说话者建模。一方面,周围的话语可以提供重要的上下文信息。另一方面,不同说话者的状态以及说话者之间的相互影响也与情绪状态息息相关。除此之外,还有一些辅助建模的工作,用于更好地提升模型效果,比如情绪一致性建模和对话主题信息建模等。下面分别介绍这三类建模方式的应用与研究情况。

2.1 上下文建模

在对话情绪识别中,当前话语情绪的表达依赖于周围话语中的上下文信息,这些信息来源于局部和远距离的上下文,因此,掌握对话情绪识别的长距离上下文依赖是有必要的。例如,Poria等人[20]利用长短期记忆网络(long short term memory,LSTM)提取每个上下文语句,再用全连接层融合上下文信息。但未考虑到每个语句也依赖与其相关的上下文语句,即句子之间存在着依赖关系。为了解决这个问题,Chen等人[21]采用了多层递归神经网络(recurrent neural network,RNN)提取语句信息并处理对话中连续的句子表示。现有的基于上下文的对话情绪识别方法主要集中于利用循环神经网络和注意力机制来建模局部句子之间的联系,而忽略了对话作为一个整体所呈现的特征。吴良庆等人[22]对此进行完善,提出了基于神经主题的情感分类模型,通过提取每段对话中的主题信息作为全局信息嵌入到上下文句子表示。

2.2 说话者建模

对话中说话者的情感状态主要包括两方面,第一,每个人的情感具有一定的延续性;第二,说话者会受对话中其他人的情感所影响,换句话说,说话者敏感的交互主要由自我影响和说话者之间的影响两个重要因素引起。因此,对说话者建模可以提高对话情绪识别模型的效果。Hazarika等人[23]使用不同的GRU为说话者内和说话者间的上下文建模,该特征融合是当前话语信息,相当于局部信息融合,并未考虑将每个用户的信息进行融合获得全局信息状态。为了解决该问题,Hazarika等人[24]在此模型的基础上加入了DGIM模块,对说话者的历史状态信息进行整合得到全局状态信息。此外,还有一些工作从不同的角度考虑对话中的说话者,例如,DialogueRNN[25]解决了对于最终要识别的话语中未区分该话语属于哪个说话者的问题。DialogueGCN[26]构建整篇对话的关系图,使用不同类型的边来表示时序以及说话者之间的关系。

2.3 其他辅助建模

同时考虑说话者敏感建模和上下文敏感建模有助于获取到更多的信息,从而提升情绪预测的准确率,在此基础上,一些研究者开始探索其他辅助建模,来帮助提高模型效果。

(1)情绪一致性建模

在对话中,说话者倾向于保持稳定的情绪趋势,符合实际说话者本身的说话逻辑,这被称为情绪惯性[15]。因此,在简短的对话中,说话者的情绪往往保持不变。但是,由于对话的独特性,说话者的情绪可能会受到其他说话者的影响。在这种情况下,来自同一说话者的两个连续话语的情感标签可能不同,称之为情绪变化[27]。田雨亭[28]通过引入判断相邻对话情绪一致性(JECD)的子任务,用于分析对话上一句与当前句之间的情绪是否发生转变。Wang等人[29]提出了一种将对话情绪识别任务建模为序列标记的方法,其中利用条件随机场层来学习对话中的情绪一致性。Gao等人[30]提出了一种多任务学习模型ESD-ERC,利用情绪转移检测作为辅助任务来协助完成对话情绪识别。

(2)对话主题信息建模

对话主题作为一段对话的全局背景信息,与对话中句子的情感倾向有着密切的联系,情绪的表达方式以及话语的含义会根据所讨论的特定主题而变化,因此,融入主题信息有助于提高对话情绪识别的性能。传统的主题模型,例如概率潜在语义分析[31]和潜在狄利克雷分配[32],已被广泛应用于推测一段文本的主题分布。同时,建立在神经变分推理的基础上,出现了一些基于神经网络的主题模型,例如基于潜在狄利克雷分配的概率模型[33],基于预训练主题分布的独立训练模型[34],主题信息融入词向量[35]等。现有工作并没有强调对对话的整体属性(即对话主题和语气)进行建模,因此,不易捕捉与所讨论主题相关的说话者的情感状态。王建成等人[22]提出利用主题模型学习对话全局的主题信息。Zhu等人[36]提出主题驱动的对话情感检测方法,设计了一个主题增强语言模型。

对话中的情绪识别任务不仅要考虑文本的语义信息,还要考虑说话者之间的影响,因此,上下文建模和说话者建模是两个必不可少的关键挑战。随着自然语言处理技术的深入发展,现有的研究从多个角度设计不同的模型同时考虑这两种问题切入方式,取得了一定的进展,本文在第3章和第4章分别从文本和多模态方面对相关工作展开介绍。

3 文本对话情绪识别的主要方法

人类语言理解和人类语言生成是自然语言处理的两个方面。然而,由于自然语言中存在歧义问题,前者更具有挑战性。对话情绪识别作为对话理解中的关键任务,得到了学术界和工业界广泛关注,下面将从基于词典的方法、基于机器学习的方法和基于深度学习的方法三方面对文本对话情绪识别的技术进行总结和概括。

3.1 基于词典的方法

情感词典将数字、文本和符号进行整合,是情感识别系统的知识库[37]。基于情感词典的文本情感分析常指通过情感词典获取情感词的情感值,再使用情感值的总和或平均值来计算整个句子或文档的情感,通过计算判定文本对话中的情感倾向[38-39]。这种方法本质上是一种基于关键词的搜索方法,它搜索分配给某些心理状态的情感关键词[40]。流行的情感检测词典是WordNet-Affect[41]和NRC情感词典[42],WordNet-Affect是WordNet的扩展形式,这些词典是分类词典,用情感状态标记每个单词以进行情感分类。然而,由于忽略了情绪强度,这些传统词典暴露出信息量少、适应性差的问题,因此,Li等人[43]提出了一种有效的策略,通过合并一个名为NRC-Valence arousal dominance的维度字典,来获得词级情绪分布,将具有强度的情绪分配给情绪词。除此之外,早期还有大量的研究基于情感词典来提升情绪识别效果[44-50]。图3概述了该方法的基本流程,初始情感关键字列表来自常规词汇资源,先对数据集进行预处理,在预定义的关键字列表和文本中的情感词之间执行关键字匹配,再检查情感关键字的强度。之后,检查否定,判断否定线索和范围,最后进行情感标签计算。

图3 使用情感词典进行对话情绪识别Fig.3 Emotion recognition in conversation using emotion dictionary

然而,这些仅基于关键字的分类方法仍存在一些问题,首先,单词根据用法和上下文具有不同含义的歧义。其次,这些词典无法识别句子中不包含情感关键字的情感。最后,根据情感词典进行文本对话情绪识别,往往由于对话文本数据的灵活性、文本数据的专业性以及缺乏语言相关信息等问题影响情绪识别的准确度。因此,研究者开始探索基于统计机器学习的相关方法。

3.2 基于统计机器学习的方法

监督学习包括使用支持向量机(support vector machine,SVM)、最大熵、特征组合、朴素贝叶斯等算法,而无监督学习包括使用情感词典、语法分析和句法分析。图4是在对话情绪识别任务中使用机器学习的常规方法,一般是把带有情感信息的对话文本数据作为输入,将文本矩阵化,同时,利用朴素贝叶斯、支持向量机、逻辑回归等方法进行训练,得到情感分类器,把需要预测情感倾向的对话文本进行情感分类。研究者利用基于统计机器学习的方法在对话情绪识别任务上开展了大量工作[51-58],然而,机器学习的方法缺乏透明度,推理过程无法解释,存在一定的局限性。

图4 使用机器学习的方法进行对话情绪识别Fig.4 Emotion recognition in conversational using machine learning methods

3.3 基于深度学习的方法

早期的研究往往是基于特定任务驱动的对话数据集,只使用了3~4个情绪分类标签,很难在对话中详细地描述人类的情感。此外,基于词典和统计机器学习的方法并未考虑上下文信息和说话者信息,也没有明确区分对话文本和普通文本。对话文本情绪识别和传统文本情感分析的相关工作非常类似,因此,许多文本情感分析的方法都可以用在对话情绪识别中。近年来,深度学习技术在对话情绪识别领域展现出了优异的表征能力,优于基于情感字典或统计机器学习的传统方法,对话情绪识别任务得到了研究者的高度关注,其数据集也不断增多,许多工作开始考虑对话情感的各个方面。

3.3.1 神经网络及其混合模型

(1)长短期记忆网络

RNN存在两个关键缺陷:第一,它会受到短时记忆的影响。第二,在反向传播期间,会面临梯度消失的问题。而LSTM应用于对话情绪识别任务能够解决上下文中存在的短期记忆问题,其具有称为门的内部机制,从而调节信息流。Gupta等人[59]首次对对话情绪识别进行了清晰的定义,并利用LSTM进行句子的上下文建模,得到了不错的结果。基于此,研究者开始利用LSTM进行大量的工作来捕获说话者信息和上下文信息[20,29,60-62]。

(2)门控循环单元

门控循环单元(gated recurrent unit,GRU)的输入输出结构与普通的RNN相似,其内部思想与LSTM相似。与LSTM相比,GRU内部少了一个门控,参数比LSTM少,但是却能够达到与LSTM相当的功能。考虑到硬件的计算能力和时间成本,因而很多时候会选择更加实用的GRU。Jiao等人[63]提出层次门控循环单元(HiGRU)框架,其中低级GRU对词级输入进行建模,高级GRU用于捕获话语级嵌入的上下文。但当对话长度增加时,该模型仅采用GRU并不能有效地对位置信息进行建模。因此,Ma等人[64]提出了一个带有残差门控循环单元(HAN-ReGRU)框架的分层注意网络来改善上述缺陷。为了以有意义的方式去区分对话的不同方,Majumder等人[25]提出了DialogueRNN模型,该模型利用三个GRU分别捕获先前话语的说话者信息、上下文和情感信息。除此之外,还有一些工作利用GRU进行对话情绪识别任务[19,65-66]。

(3)Transformer

Transformer抛弃了传统的CNN和RNN,整个网络结构由自注意和前馈神经网络组成,从而将序列中任意两个位置之间的距离缩小为一个常量。另外,它不是类似RNN的顺序结构,因此具有更好的并行性。Zhang等人[67]提出多任务学习知识感知增量Transformer(KAITML),设计双层图注意力机制来利用常识知识,再应用增量Transformer编码多轮上下文话语。Li等人[68]提出了一种基于Transformer的上下文和说话者敏感模型HiTrans,它由两个分层Transformer组成。Tu等人[69]提出上下文和情感感知框架SenticGAT,构建对话Transformer网络(DTN)来捕获上下文中的内部依赖和相互依赖关系。许多现有方法仅将对话中的话语视为时间序列,而忽略了细粒度情感线索,模型很难捕捉到话语的准确语义特征,从而导致记忆库中积累了不正确的情感特征。因此,Liu等人[70]提出了一个带有Transformer预训练的基于树的注意力网络(TANTP),将上下文表示和递归选区树结构合并到模型架构中。

(4)图神经网络和图卷积网络

现有的对话情绪识别方法大多通过注意力机制或联合学习来获取语义信息,其子句编码器基本是以LSTM或GRU为基础序列模型,这类模型难以刻画子句之间的长距离依赖或全局依赖,从而忽略子句间的深层依赖关系。随着图神经网络(graph neural network,GNN)在自然语言处理任务中的兴起,研究人员越来越关注基于GNN的对话情绪识别方法。与RNN中只对序列数据进行循环建模的方法不同,GNN把对话情绪识别问题看作图中节点之间的连接和消息传播问题,对节点之间的依赖关系进行建模,旨在通过各种聚合算法捕获各种图结构信息。此外,Transformer也是图神经网络的特例,但仅支持词的全连接交互,不支持与任意图结构的复杂交互,并且Transformer只关注单词的交互,而不是上层语言单元的交互,因此具有一定的局限性。

最早对GNN的研究是由Scarselli等人[71]提出的,后来,Kipf和Welling[72]提出了GCN,将卷积滤波器的特征推广到图上,Schlichtkrull等人[73]提出了GCN关系数据模型。然而,由于要用作节点的每个话语都需要附加额外信息以及文本本身信息,例如说话者信息和句子的顺序等,GCN的现有架构并不适用于对话情绪识别任务。因此,Ghosal等人[26]提出对话图卷积网络(DialogueGCN),用来调整GCN的结构以适应对话数据,并利用说话者内和说话者之间的依赖性来模拟对话上下文以进行情感识别。通过图网络,DialogueGCN解决了当前基于DialogueRNN的方法中存在的上下文传播问题,但忽视了话语之间的顺序信息。为了解决这个问题,Ishiwatari等人[74]提出了具有关系位置编码的关系感知图注意网络(R-GAT),Shen等人[75]提出了基于说话者身份和位置关系从具有约束的对话中构建有向无环图的方法(DAG-ERC)。虽然DialogueGCN、RGAT和DAG-ERC模型证明了GNN在建模会话上下文中的优越性,但在建模特定说话者的上下文方面效果不佳,并且没有真正利用细粒度的时间信息。基于此,Liang等人[76]提出用于对话情绪识别的说话者和位置感知图神经网络模型(S+PAGE),结合关系图卷积网络和Transformer的优点,以实现更好的上下文建模。除了传统的两人对话,一些研究也开始专注于多人对话中的情绪检测,Sun等人[77]为多方对话情绪识别提出了一种话语感知图神经网络(ERMC-DisGCN)。Zhang等人[78]提出了一种基于图的对话卷积神经网络(ConGCN),正确建模多人对话中的上下文敏感依赖和说话者敏感依赖。此外,一些学者也从多个角度对进一步提高对话情绪识别的性能做了努力,例如,提出对话情绪校正网络(DECN)[79]来自动纠正情绪识别策略所产生的一些错误、两阶段的总结和聚合图推理网络(SumAggGIN)[80]来关注常被忽视的话语之间的短语级语义联系以及基于依存关系的图卷积网络[81]来同时考虑语义信息和句法结构。

(5)记忆网络

传统的深度学习模型使用隐藏状态或者注意机制作为其记忆功能,但由于记忆模块过小(只有一个固定维度的向量),将输入编码成密集向量时丢失了大量信息,无法精确记录一段话中所表达的全部内容。因此,在模型中加入一系列的记忆单元,增强模型的记忆能力,便有了记忆网络。利用记忆网络可以存储说话者的历史信息以及跟踪完整对话中的情感变化[23-24],然而,无论记忆库是如何建立的,用于总结的软注意都会丢失记忆的位置和排序信息。为了解决这个问题,Jiao等人[82]提出注意力门控分层记忆网络(HMN),其中注意力GRU(AGRU)利用注意力权重来更新相应的内部状态进行记忆总结。

(6)胶囊网络

2011年Hinton等人[83]提出“胶囊”的概念,用向量表示空间上的相对位置关系,2017年Sabour等人[84]提出胶囊网络,通过动态路由机制捕获CNN模型丢失的小概率语义信息。将胶囊网络应用于具有丰富文本结构的对话情绪识别任务中,用神经元向量代替传统神经网络的单个神经元节点,以Dynamic Routing的方式去训练这种全新的神经网络,进行有效的编码,有助于提高对话文本的表达能力和模型的效率。Xiao等人[85]提出了一个带有门循环单元框架的胶囊网络(CapsGRU),解决了数据不平衡对情绪识别产生的影响以及对话标注数据不足的问题。

3.3.2 外部信息辅助模型

(1)任务辅助:多任务联合学习模型

对话行为识别(dialog act recognition,DAR)和情感分类(sentiment classification,SC)是捕捉说话者意图的两个相关任务,具体来说,是为每条语句添加上标签,分别表示出说话者的隐式意图和显式意图。

DAR和SC常被用在对话系统中进行联合建模,挖掘出对话文本的跨任务隐藏交互信息,从而更好地掌握说话者的意图,提高情感分类与对话行为识别的准确性。Cerisara等人[86]为了利用跨任务交互信息,提出了JointDAS模型联合训练SC任务以及DAR任务,但只利用了跨任务交互信息而没有利用对话上下文信息,因此,无法让模型学习到对话语句之间的关联。Kim等人[87]提出IIIM模型利用先前的行为信息去预测接下来的行为标签,只利用了上下文的信息而没有利用跨任务交互信息去构建模型,这种做法等于将两个相关联的任务分别建模,同样也无法充分利用对话文本信息。为了充分考虑跨任务信息以及对话上下文信息,Tan等人先后提出DCR-Net模型[88]和Co-GAT模型[89]完成对语句标签的预测。然而,先前工作将DAR和SC联合建模为序列标记问题,存在一个关键缺点是未能完全纳入对话中的局部上下文信息。Li等人[90]在2021年提出使用动态卷积网络(DCN)作为话语编码器来捕获对话上下文,在多任务学习下将框架扩展为双通道版本(即BDCN和BCDCN),以实现联合DAR和SC。

以前的工作提出了不同的模型来模拟两个任务之间的相关性,但无法对说话者间的交互进行建模,并且省略了话语之间的时间关系。如图5所示,对于双任务推理,一方面,以前的工作只考虑参数共享和语义级的交互,而标签信息没有集成到双任务交互中,无法捕获两个任务之间的显式依赖关系。另一方面,以前的工作没有考虑双任务推理中话语之间的时间关系,而这些在模型中起着关键作用。因此,Xing等人[91]提出DARER模型,通过引入时间关系和利用标签信息来解决上述问题。

图5 先前的工作和DAREA模型中的工作Fig.5 Previous work and work in DAREA model

(2)量子辅助:基于量子驱动的模型

近年来,量子理论被用于各种信息检索和自然语言处理任务中来构建文本表示。在量子物理实验中,一个粒子在测量之前处于多个相互独立的纯态的混合状态,测量使其坍缩成一个单一的纯测量态。同样,说话者处于多种独立情绪的模棱两可的状态,对话上下文作为一种测量,使得情绪状态坍缩到纯粹的状态。此外,量子态随时间的演变类似于说话者在谈话过程中情绪状态的演变。Zhang等人[92]提出量子驱动交互网络QIN,该方法利用量子理论的数学形式和长短期记忆网络来学习这种交互动力学。Li等人[93]提出了量子驱动神经网络QMNN,通过将单词视为叠加态和将句子视为混合态来模拟自然语言,从而统一复值向量空间中不同级别的语义单元。为了将量子框架从建模单词序列推广到建模复杂图文本交互,Yan等人[94]提出量子概率驱动的图注意网络QPGAT,同时提出了一个通用且高效的应用框架,在情感原因对以及联合建模对话行为识别和情感分类两个复杂的NLP任务上验证其有效性。

(3)知识辅助:融合外部知识的模型

使用机器准确分析人类对话中的情绪具有很大挑战性,部分原因是人类经常依赖上下文和常识知识来表达情绪,而机器很难捕捉到这些情绪,因此,一些学者开始尝试将外部知识引入到模型中。Zhong等人[95]提出了一种知识丰富的Transformer(KET)使用上下文感知情感图注意机制整合常识知识。但没有考虑外部知识库中的各种关系,这可能会导致语义信息的丢失。Ghosal等人[96]提出以常识为指导的对话情绪识别框架COSMIC,用来捕获常识知识库中的个性、事件、心理状态、意图和情绪之间的一些复杂交互作用。然而,COSMIC忽略了从上下文话语到目标话语的结构性心理影响。为了解决这个问题,Li等人[97]提出心理知识感知交互图SKAIG,利用知识表示来丰富边,并用图Transformer处理SKAIG,实验结果得到了提升。

4 多模态对话情绪识别的主要方法

由于情绪识别的复杂性,单一模态难以满足需求,文本、视觉和语音是机器感知人类情感的三种模式,因此,可以通过三种情绪表达方式来传达一种特定的情绪。然而,在表达特定情绪时,特别是在对话中,情绪行为在模态内部和模态之间并不是严格同步的。这种现象可以从两个方面来解读,从模态内来看,不同模态中的情感表达对对话上下文有不同的偏好,例如,视频模态中会更关注面部表情和肢体动作,音频模态中会更关注声学特征。从模态间的角度来看,不同模态的情绪表达对情绪预测的贡献是不同的,当多个模态中的情感表达不一致时,需要综合考虑权重不同模态中的情感信息。因此,对话情绪识别任务不仅要关注上下文敏感建模和说话者敏感建模,也应当关注不同模态内和跨模态的差异化情绪行为,设计适合差异化的多模态情绪行为的适当策略,从而产生更准确的情绪预测。

为了融合多模态特征,以前的工作集中在两个关键步骤:多模态对齐和多模态融合[98]。具体来说,先对齐多模态特征,再使用融合技术融合这些对齐的特征。

4.1 多模态对齐

多模态对齐的目标是找到同一个实例的不同模态信息元素之间的对应关系,该工作具有两方面挑战,一是不同模态数据之间通常具有长度差异;二是不同模态数据之间通常具有语意(信息量)差异。现有策略包括显式对齐和隐式对齐,显示对齐关注模态之间组件的对应关系,而隐式对齐则是在深度学习模型训练期间对数据进行潜在的对齐。

显式对齐的方法是假设多模态特征已经在话语级或单词级中对齐,以前的工作主要集中在话语级显式对齐。Zadeh等人[99]提出了一种基于话语级显式对齐的融合方法,称为张量融合网络TFN,TFN通过笛卡尔积学习模态内和模态间的交互。后来,Liu等人[100]和Mai等人[101]改善了TFN,他们试图提高效率并减少可训练参数。然而,人类通常在单词层面感知情绪,如果将词级特征压缩成话语级特征,就会丢失时间信息和短期信息。为了解决这个问题,绝大多数工作都在探索词级显式对齐。Gu等人[102]利用模态之间的词级对齐并探索时间受限的跨模态动态交互信息。

显式对齐仅在对齐部件的多模态交互上进行建模,却忽略了长期的跨模态交互。为了克服这个问题,研究人员提出模态隐式对齐,学习在模型训练期间潜在地对齐数据[103]。Xu等人[104]利用注意力网络来学习语音和文本之间的对齐,并将对齐后的特征在词级组合,用作情感话语的多模态特征。Tsai等人[105]提出了多模态Transformer,通过重复强化一种模态的特征与其他模态的特征来潜在地将数据流从一种模态调整到另一种模态。这种利用神经网络进行隐式对齐的方法与多模态融合中的模型层融合在应用的技术方面存在交叉,但研究对象略有不同。隐式对齐是在深度学习模型训练期间对数据进行潜在对齐;多模态对话情绪识别中的模型融合旨在捕捉所涉及模态的互补相关性,并降低了这些模态时间同步的需求。本文为了使逻辑条理更加明确,将多模态对齐和多模态融合分开叙述。

4.2 多模态融合

利用多个模态的特征进行对话情绪识别可以整合来自不同模态的互补信息,但是同时也会导致信息冗余和相互干扰,因此,如何信息互补的同时去除信息冗余和相互干扰以提升性能是多模态对话情绪识别任务上面临的挑战。目前多模态信息融合主要有三种策略:特征层融合、决策层融合和模型层融合[106]。

特征层融合只是在输入级将不同模态的特征连接成一个联合特征向量,将其送到单个分类器中进行情感识别。这种融合方式利用了各个模态信息之间的关联性,并且简单易操作,最大限度地保留了最终决策所需的特征信息。虽然特征层融合的方法可以提高识别性能[107-111],但高维特征集很容易出现数据稀疏的问题,因此,通过简单串联来组合不同模式的性能是有限的。

为了解决上述问题,决策层融合为每个模态使用和训练单独的分类器,并结合每个分类器的输出以获得最终预测[112-113]。具体来说,使用单峰决策值并通过投票[114]、平均[115]或加权[116]来融合它们。决策层融合的方法相对于特征层融合而言,充分考虑了各模态信息之间的差异性。但这种方法忽略了不同模式之间的相互作用和相关性,并且大多数决策融合使用投票和加权的方法,只是简单地将各个模态的分类结果按照一定的规则进行组合,最终决策很容易受到某些单模态信息的干扰和影响,出现情绪误判的情况。而且随着模态信息的增多,计算量会增大,整个学习的过程也会变得耗时。

基于此,研究者开始探索深度学习模型来实现模型层融合[117-119],该方法是特征层融合和决策层融合之间的折中,提出融合不同模态的中间表示。通过利用神经网络及其混合模型,对话情绪识别任务中的多模态融合性能得到了很大提升,涌现出不少优异的成果,例如基于Transformer的交叉模态融合[120-121],基于GRU的多模态融合[122],引入跨模态的注意力融合[123]以及基于多模态融合图卷积网络[124]等。这种融合架构既确保了跨模式关系的有效性,也确保了融合不同模式的鲁棒性。

5 数据集

对话情绪识别任务用到的数据集主要分为文本模态数据集和多模态数据集,如表1和表2所示,多模态数据集提供了文本、视频和音频信息,但由于文本中含有大量的信息,现有的文本对话情绪识别工作不仅利用纯文本数据集,也会在多模态数据集中的文本模态数据集上开展工作。

表1 常见的文本模态评测数据集及其相关信息Table 1 Common text-modal evaluation datasets and their related information

表2 常见的多模态评测测数据集及其相关信息汇总表Table 2 Common multimodal evaluation datasets and their related information

5.1 文本模态数据集

Mastodon数据集[125]主要用于对话中的情感分类与行为识别,尤其是联合识别任务。它包括535个对话、2 217个语句,标注了3大类情感标签、27类对话动作。

DailyDialog数据集[126]主要包括13 118个对话,标注了7种情感、4类对话动作以及10个对话主题,对话反映了不同主题的日常生活,无固定说话者。它可以用于对话情绪识别任务、对话动作识别任务以及情感对话生成任务。该数据集的优点是数据规模较大、噪声小,缺点是中性情绪占比过高。

EmotionLines数据集[127]来源于《老友记》(多人对话)和私人Facebook聊天记录(双人对话),有固定说话者,内容上两部分独立,共29 245句。该数据集标注了7类情绪,非中性情绪占比44.5%。

EmoryNLP数据集[128]来自电视节目《老友记》的抄本,JSON中公开提供了该节目所有季的文字记录。每一季由大量剧集组成,每一集包含场景,每一场景包含话语,其中每一话语都为说话者提供了信息。该研究采用前四季的脚本,通过添加带有情感的注释来创建语料库,共有97集、897个场景和12 606个话语。

EmoContext数据集[129]由三轮英文推文组成,属于纯文本双人对话,每段对话有三句,仅最后一句有情感标签,目标是在前两个话语作为上下文的情况下检测最后一个话语的情绪。该数据集有38 421段对话,共115 263句,其中标注了4类情绪,非中性情绪占比42.8%。它曾用于SemEval-2019 Task 3[130]。EmoContext的优点是数据规模较大,缺点是对话长度过短和仅标注最后一句。

5.2 多模态数据集

多模态对话情绪识别是一个新兴且快速发展的领域,其任务是根据来自多模态的线索为对话中的每个话语分配一种候选情绪。说话者的情绪不仅可以通过文字表达,还可以通过面部表情和语音来表达。因此,识别对话中的情绪需要对多模态数据进行联合分析,包括文本、视觉和声学模态。

IEMOCAP数据集[131]包含151个对话、7 433个语句、10个对话角色以及9种情绪标签,非中性情绪占比77%。该数据集是南加州大学SAIL实验室收集的,由10个专业演员扮演的双人对话,一共分为5个Session,每个Session分配1男1女,共12 h的多模态视听数据。对话分为两部分,一部分是固定的剧本,另一部分是给定主题情景下的自由发挥。IEMOCAP是对话情绪识别中最常用的数据集,优点是包含多模态信息,数据集单条质量较高,缺点是数据规模较小,缺乏多方对话,并且可能存在过度表演的风险。

SEMAINE数据集[132]是由4个固定形象的机器人与人进行对话获得的,标注了4个情感维度:Valence、Arousal、Expectancy、Power。其中Valence、Arousal和Expectancy为[-1,1]范围内的连续值,Power为大于等于0的连续值。该数据集曾被用于AVEC2012挑战赛,它是对话情绪识别中常用的数据集之一,缺点是数据规模较小且缺乏多方对话。

MELD数据集[133]包括1 433个对话、13 708个语句、3大类粗粒度情绪标签以及7种细粒度情绪标签,非中性情绪占比53%。该数据集是EmotionLines数据集中《老友记》部分的多模态扩充(文本+视频)。MELD是对话情绪识别中常用的数据集之一,优点是数据集质量较高并且有多模态信息,缺点是数据集中的对话涉及到的剧情背景太多,情绪识别难度很大。

EMOTyDA数据集[134]是一个类似于Mastodon的对话数据集,它主要整理了IEMOCAP以及MELD数据集,并且增加了12种常见的对话动作标签,最终包括1 341个对话以及19 365个对话语句,可以用于情感和对话行为的联合识别任务。

6 展望

本文回顾了近年来对话情绪识别任务的研究进展。首先,介绍了对话情绪识别的问题定义和分类,根据研究方向的不同,可以分为静态和实时,根据会话场景的不同,又可以分为多模态和单模态。其次,考虑到现有工作对该任务的切入方式不同,将其分为上下文建模、说话者建模和其他辅助建模。最后,详细介绍了文本对话情绪识别和多模态对话情绪识别,总结了现有的相关方法和数据集,并对其优缺点进行阐述。综上,目前的对话情绪识别任务主要围绕着多模态信息融合、上下文建模以及说话者建模三个方向展开,除此之外,还有很多关键问题也受到研究者越来越多的关注。

6.1 对话情绪识别的挑战和问题

(1)对话中隐式表达的情绪

由于对话的风格和形式多变,话语间可能会存在讽刺现象,当说话者使用讽刺来表达自己的观点时,其真实情绪和字面表达的情绪往往存在相反的关系,现有的对话情绪识别模型虽然能以很高的置信度分析出文本的情感极性,但是当对话中出现讽刺表达后,其性能将大幅降低,寻找将背景信息、说话者的性格特征和说话风格结合到讽刺识别的方法中,同时也可以利用说话者的面部表情和说话语调获取更多的信息,从而提高讽刺识别方法的性能和识别结果的可解释性。

(2)对话情绪识别的跨领域问题

跨领域对话情绪识别旨在通过源领域的标注数据对目标领域的无标注数据进行情感分类。现有工作存在领域依赖,涉及到跨领域下的语言风格、同词情感歧义等问题。如何利用已有领域的标注数据和模型搭建只含有少量标注数据的新领域对话情绪识别系统是当前的研究重点,未来可以考虑提出不同的对话情绪识别模型,高效地提取领域不变性特征,实现源领域到目标领域的迁移学习。

(3)缺少领域知识和常识知识

对话过程一般默认双方知道彼此很多信息,比如彼此的需求目的、社会关系、环境、常识,性格和三观等,但是在实际建模场景下这些大部分都会丢失。同时,对话中含有大量的网络用语,比如“摆烂”“破防”“YYDS”等,人类具有一定的生活经验和常识知识,可以很容易地理解对方所表达的情感,但机器并不能理解话语,做出准确判断。此外,情绪识别具有主观特性,不同身份、性格、经历的人对同一事件所产生的情绪反应可能大不相同,这大大增加了情绪预测的难度。现有的工作已经开始在对话情绪识别模型中引入外部知识库,其实验结果也证明了引入知识可以提升情绪识别的效果。在未来的工作中,考虑如何使模型更好地融合外部知识信息,同时针对对话情绪识别任务建立特定的知识图谱与常识知识库,获得深层语义表示。

(4)对话情绪识别的应用

对话情绪识别作为一种更深层次的情感挖掘,不仅能够丰富情感计算领域的研究成果,为情感分析提供新的研究方向,而且也能为人工智能和自然语言处理的一些分支提供有益帮助。例如,在医疗领域,问诊过程会产生大量的文字记录,这些对话文本信息包含多种实体内容,如疾病、手术、症状和用药,不同的实体会有不同的情绪状态,例如“拔牙太疼了,吃点消炎药蛮好的”这句话中,对于拔牙这个手术实体,表现的是负面情绪,而对于消炎药这个实体却是正面情绪,对此进行情感分析,能够判断患者的情感状态,有助于识别患者意图。在人机对话领域,人们不再满足于用对话系统解决特定的任务,而是更渴望实现精神层面的交流,在聊天过程中,机器若能感受到用户的情绪并对此进行准确的情感响应,就能极大地丰富对话的内容,避免陷入僵局,从而改善双方的对话行为,让用户产生共情和移情反应,提高用户满意度。

6.2 深度学习方法的挑战和问题

(1)缺乏可解释性的深度神经网络

基于神经网络的深度学习算法就像一个黑盒模型,其解释性较弱,算法无法对特定任务给出清晰的概括,为了更好地理解为对话情绪识别研究所设计的深度网络,往往需要知晓算法所给出结果的依据。目前大部分可解释性算法往往侧重于工程性的功能实现,侧重于迎合人类对被解释事物的主观认知,而缺少基于统一的理论基础的科学理论体系,影响了可解释性算法的严谨性,阻碍了可解释性研究的进一步发展。未来需要在神经网络可解释性方面建立一个统一的体系框架,使用这个体系来指导和设计神经网络,构建解释能力强的深度神经网络来促进对话情绪识别任务的发展。

(2)存在模型压缩问题

在大数据情形下,往往只有比较复杂或表达能力强的模型,才能充分挖掘海量数据中的信息。随着深度模型变得更强大,从大数据中挖掘出的信息往往更有价值。比如,多模态对话情绪识别包括文本、音频和视频信息,所面临的是高达十亿到千亿级别的样本训练,难以适应移动计算发展对低资源、低功耗的需求。因此,在不显著影响模型精度的前提下,通过对神经网络进行压缩来轻量化模型是非常有必要的。未来可以考虑在知识蒸馏方面,探索更多类型的先验知识,提高知识蒸馏的效果,拓宽知识蒸馏的应用范围,并且制定针对剪枝和量化范式的定制化蒸馏方法,来同时考虑模型结构的动态变化、数值表示和表征空间的差异。

猜你喜欢
话语模态建模
基于BERT-VGG16的多模态情感分析模型
多模态超声监测DBD移植肾的临床应用
跨模态通信理论及关键技术初探
现代美术批评及其话语表达
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
话语新闻
话语新闻
三元组辐射场的建模与仿真