CN113987179B - 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质 - Google Patents
基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113987179B CN113987179B CN202111255353.2A CN202111255353A CN113987179B CN 113987179 B CN113987179 B CN 113987179B CN 202111255353 A CN202111255353 A CN 202111255353A CN 113987179 B CN113987179 B CN 113987179B
- Authority
- CN
- China
- Prior art keywords
- emotion
- word
- knowledge
- representing
- utterance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000008909 emotion recognition Effects 0.000 title claims abstract description 62
- 238000010276 construction Methods 0.000 title claims abstract description 8
- 230000008451 emotion Effects 0.000 claims abstract description 131
- 238000000034 method Methods 0.000 claims abstract description 65
- 238000012549 training Methods 0.000 claims abstract description 31
- 230000000694 effects Effects 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims abstract description 29
- 230000003993 interaction Effects 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims abstract description 10
- 230000015654 memory Effects 0.000 claims description 34
- 230000007246 mechanism Effects 0.000 claims description 33
- 230000008447 perception Effects 0.000 claims description 25
- 230000002996 emotional effect Effects 0.000 claims description 21
- 238000013507 mapping Methods 0.000 claims description 18
- 230000009466 transformation Effects 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000873 masking effect Effects 0.000 claims description 9
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 4
- 208000015181 infectious disease Diseases 0.000 claims description 4
- 238000011176 pooling Methods 0.000 claims description 4
- 238000003786 synthesis reaction Methods 0.000 claims description 4
- 239000013598 vector Substances 0.000 claims description 4
- 230000005484 gravity Effects 0.000 claims description 3
- 238000003058 natural language processing Methods 0.000 abstract description 5
- 230000000875 corresponding effect Effects 0.000 description 23
- 238000012360 testing method Methods 0.000 description 9
- 238000002474 experimental method Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 241000282414 Homo sapiens Species 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 5
- 241000288105 Grus Species 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000007418 data mining Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000036651 mood Effects 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010063659 Aversion Diseases 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 238000002679 ablation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000003054 catalyst Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003930 cognitive ability Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质,属于自然语言处理技术领域。本申请首先利用编码器,通过设计不同的掩码矩阵以实现对话中各方的交互,同时引入对话历史信息,仅在词编码阶段就考虑了情感动力学的影响。然后,本申请通过利用图注意力网络实现对外部结构化情感知识的利用,从而扩充了话语的语义信息,弥补了词编码器模块在某些特定维度上知识的缺失。最终,在任务损失函数的基础上又加入了一个回溯损失以达到在训练过程中利用过去模型状态的先验经验的效果。旨在利用先前的训练经验来指导权重更新,确保模型决策更接近真实值,而不是前一个训练步骤中表现相对较差的预测。
Description
技术领域
本申请涉及一种对话情绪识别网络模型、构建方法、电子设备及存储介质,尤其涉及一种基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质,属于自然语言处理技术领域。
背景技术
情绪是人类的基本特征,由于其在我们日常生活中扮演着重要的角色,因而心理学、社会学、计算机科学等领域的研究人员对此进行了多年的研究。它们有助于在以人为中心的环境中进行感知、沟通和决策。人工智能的一个长期目标是创造能够检测和理解情绪的情感代理。在过去的二十年左右的时间里,人工智能研究人员一直在试图赋予机器识别、解释和表达情绪和情绪的认知能力。情绪识别因其在观点挖掘、推荐系统、医疗保健等领域的广泛应用,在自然语言处理领域十分受欢迎。早期情绪识别的研究主要集中在理解独白中的情绪。近几年来,由于在Facebook,Twitter,Reddit和Weibo等社交媒体平台上开放的对话数据激增,会话中的情感识别(ERC)才开始受到自然语言处理领域的关注。会话中的情感识别(ERC)是从会话中的话语中检测情感的任务。毫无疑问ERC是一项重要的任务,有助于创建移情对话系统,改善总体人机交互体验。此外,ERC在视觉问答、医疗系统、教育助手等方面具有潜在的应用前景。
与句子/段落级的普通情绪识别不同,ERC显然需要对每个对话中的目标话语进行上下文建模以得到语境的表示。这种语境不仅由历史对话信息决定,还依赖于话语的时间序列。语境一直都是表示学习需要考虑的关键问题,近年来一些工作致力于研究考虑语境的词表示与句子表示,并在许多下游任务的效果上取得了巨大的提升。对于对话中的话语来说,语境指的是在目标话语被发出的时刻之前所有的对话记录。根据任务的实际情况,语境有时也同时包括目标话语被发出的时刻之后所有的对话记录。因此与最近发表的专注于解决ERC任务的工作相比,无论是基于词典的还是基于现代深度学习的情绪识别方法在ERC数据集上都不能很好地工作。这主要归因于早期的情绪分析工作忽略了会话中特定的因素,例如上下文线索的存在、说话人轮流的时间性或说话人特定的信息。除此之外,情感动力学的存在也给语境建模带来了困难,这主要包括两个主要属性:自我和人际依赖。自我依赖,也被称为情绪惰性,处理的是说话者在对话过程中对自己产生的情绪影响。另一方面,人际依赖关系与对方对说话人产生的情感影响有关。同时在对话过程中,说话者也倾向于模仿对方以建立融洽的关系。
由于研究人员们意识到了ERC任务的重要性,最近已经组织了两个共享任务-EmotionX(与SocialNLP研讨会合办)和EmoContext(Semeval 2019任务3),以解决ERC问题。然而这些共享任务只是对ERC问题的初步探索,出发点是为了引起更多研究人员的兴趣,这从给定的数据集中就可以看出。EmoContext任务仅仅需要预测出对话中最后一句话的情绪,并且如图7所示,每个对话只包含三句话并且话语大多是短句。因此这个数据集上的大部分工作使用LSTM结构辅助以注意机制来丰富上下文表示,并不需要精心设计模型也可以取得不错的效果。
ERC领域的早期工作致力于解决语境感知和情感动力学这两个问题,目标是寻找语境化的会话话语表征。几乎所有的模型都采用了一种层次化的结构,配合以循环神经网络、记忆网络和注意力机制这三个强大的组件在ERC任务上取得了不错的效果。这是相较于普通情绪模型的第一次变革,同时也再次证明对于话语进行语境话建模的重要性。具体来说,这些模型首先将上下文无关的初始词嵌入作为模型的输入,按照在话语中的实际顺序输入循环神经网络进行序列特征提取,然后再利用注意力机制或max pooling等操作获取上下文无关的话语表示,这一过程为词级别到话语级别的表示转化。然后将这些上下文无关的话语表示按照在对话中的实际顺序输入循环神经网络进行序列特征提取获取上下文感知的话语表示。这些上下文感知的话语表示保存在记忆网络中,同时有些工作还利用多个记忆网络并辅助以多跳机制分别对参与对话的各方进行情感推理。然后再利用注意力机制实现对上下文的有效信息捕捉以生成历史对话信息摘要。最终综合历史对话信息和上下文相关的话语表示,输入到分类器中执行最终的情绪判断。除此之外,这些模型通过进一步的实验证明了许多直觉上的认知经验,为下一步的工作奠定了基础。例如,大部分的情感推理受到短期记忆的影响较大,但还是有20%左右的决策依赖于长期记忆。此外每句话语对上下文依赖的位置都不尽相同,并且考虑到ERC任务在实际中的应用场景,多模态输入常常能取得优于仅使用单个模态的效果。
受限于ERC任务上高质量数据集的规模较小,最近的一些工作致力于利用大量无监督数据来解决数据稀缺的问题。Chapuis等提出了一种为口语对话量身定做的基于分层变换的编码器并扩展了两个众所周知的预培训目标,使其适应分层设置,并使用OpenSubtitle于编码器预培训。Hazarika等探讨了生成性会话模式能否被用来传递情感知识,以检测上下文中的情感并提出了一种基于多话轮会话(源)的分层对话模型(TL-ERC),将其参数传递给会话情感分类器(目标)。他们发现,使用这种预先训练的权重有助于整体任务,并且还在较短的训练时间方面提供了额外的好处,从而实现了良好的泛化。Jiao等提出了基于无监督会话数据的会话完成(ConvCom)任务,它试图从候选答案中选择正确的答案来填充会话中的掩蔽话语。然后,在提出的ConvCom任务中,他们预先训练了一个基本的上下文相关编码器(预编码),不同于那些专注于通用句子编码器的工作。
随着自注意力机制的兴起,一些基于transformer结构的工作涌现出来,由于其丰富的表示和快速的计算,transformer已被应用于许多自然语言处理任务,例如文档机器翻译、对话系统中的响应匹配和语言建模。利用更加先进的预训练语言模型获取词嵌入或句子嵌入,并利用广义transformer结构进行长距离话语特征捕捉已经成为了当前解决ERC任务模型的新范式,进一步提高了模型能力的下限。然而现有ERC数据集规模较小,不足以发挥这些模型的全部潜力。此外基于智能情感代理这个终极目标,研发人员希望ERC模型能像人类一样进行高效地学习。虽然深度神经网络模型在训练中确实会从过去的数据中学习,但研发人员关注的是在训练过程中模型从自己过去的状态中学习。也就是说,模型除了能够利用现有内容进行决策和辅助使用外部知识进行推理外,还可以像人类一样能够从过去的状态中获取先验知识,以便在未来的任务中取得更好的表现。
发明内容
有鉴于此,本申请提供一种基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、设备及存储介质,以解决现有ERC数据集规模较小,不足以发挥这些模型的全部潜力,无法实现基于智能情感代理这个终极目标的问题。
本申请的技术方案是这样实现的:
方案一:基于知识增强和回溯损失的对话情绪识别网络模型,本申请提出了一个层次化的模型,自底向上地分别针对对话数据挖掘,外部知识辅助和回溯模型历史状态三个问题精心设计对应的模块。具体地包括:语境和情感动态感知模块、外部知识交互模块和回溯历史状态模块;
语境和情感动态感知模块,利用transformer结构作为最底层的词编码器,通过当前话语及其对应的说话人设计不同的注意力掩码矩阵,达到同时引入情感动力学以及语境影响的效果;
外部知识交互模块,通过利用图注意力网络实现对外部结构化情感知识的利用,从而扩充了话语的语义信息,弥补了词编码器模块在某些特定维度上知识的缺失;
回溯历史状态模块,在任务损失函数的基础上加入了一个回溯损失,旨在利用先前的训练经验来指导权重更新,确保模型决策更接近真实值,以达到在训练过程中利用过去模型状态的先验经验的效果。
进一步地:所述的基于知识增强和回溯损失的对话情绪识别网络模型,还包括任务定义模块,假定一组对话集合,在每段对话中包含一系列话语,其中带有预定义情感标签的话语由说话者发出,所有的说话者组成集合;所有预定义的情绪标签组成集合。
进一步地:所述的基于知识增强和回溯损失的对话情绪识别网络模型,还包括话语读入模块,对于对话中的每个目标话语前预置一个特殊的标记,输入到嵌入层,相应的单词嵌入序列被当作Transformer第一层的隐状态输入,也被用于知识引入的概念嵌入层。
方案二:基于知识增强和回溯损失的对话情绪识别网络模型构建方法,包括:
步骤一,假定一组对话集合,在每段对话中包含一系列话语,其中带有预定义情感标签的话语由说话者发出,所有的说话者组成集合;所有预定义的情绪标签组成集合;
步骤二,话语读入模块对于对话中的每个目标话语前预置一个特殊的标记,输入到嵌入层,相应的单词嵌入序列被当作Transformer第一层的隐状态输入,也被用于知识引入的概念嵌入层;
步骤三,利用transformer结构作为最底层的词编码器,通过当前话语及其对应的说话人设计不同的注意力掩码矩阵,达到同时引入情感动力学以及语境影响的效果;
步骤四,通过利用图注意力网络实现对外部结构化情感知识的利用,从而扩充了话语的语义信息,弥补了词编码器模块在某些特定维度上知识的缺失;
步骤五,在任务损失函数的基础上加入了一个回溯损失,旨在利用先前的训练经验来指导权重更新,确保模型决策更接近真实值,以达到在训练过程中利用过去模型状态的先验经验的效果。
所述方案二是基于方案一所述对话情绪识别网络模型实现的。
进一步地,所述步骤一中,假定一组对话集合其中L代表对话的个数,在每段对话/>中包含一系列Ni个话语,其中带有预定义情感标签/>的话语ui由说话者/>发出,所有的说话者组成集合/>所有预定义的情绪标签组成集合/>
进一步地,所述步骤二中,对于对话Dj中的第i句话语wk表示话语ui中的第k个词,Nk表示话语ui中的单词数目;在每个目标话语前预置一个特殊的标记“[CLS]”:
xi表示预置特殊标记的目标话语集合,然后xi被输入到嵌入层:
其中表示单词嵌入序列,/>Dh代表XLNet-base的输入维数,相应的单词嵌入序列/>被当作Transformer第一层的隐状态输入,同时/>也被用于知识引入模块的概念嵌入层。
进一步地,所述步骤三中,在transformer的最后一层输出之上又加了一层BiGRU来强调话语位置信息,具体地:
采用记忆更新机制,将记忆m与l-1层的隐状态hi进行级联操作获得
其中代表l-1层的记忆,记忆/>的工作方式类似于一个栈;L代表transformer层的层数,是一个超参数;Dm是预定义的最大记忆长度;“||”类似栈中的“PUSH”操作并不改变ml-1的维数,即/>
假定为“问询query”,/>为“键key”和“值value”;首先在问询、键和值上进行M个不同的线性映射操作,M代表头数,对于Transformer第l层的每个注意力头:
其中表示问询的线性变换结果,/>表示为键的线性变换结果,/>表示为值的线性变换结果,/>是每个注意力头的训练参数;
然后进行相对位置注意操作:
其中表示问询和键经过相对位置注意操作后的结果,/>表示/>矩阵经过掩码操作后的结果,/>s是一个掩码矩阵且维数与/>相同,在进行注意力操作时,当的第i个元素与/>的第j个元素之间需要掩码掉时,sij置为正无穷,其余情况置为0;最终,注意力操作的输出为:
公式(3)到(9)合并为函数f(·):
其中表示为多头注意力机制的某个单头输出;
给定目标话语和历史对话信息后,通过设计不同的掩码矩阵在编码时引入语境和情绪动力学的影响,使用四种不同的transformer块:用于全局语境建模的全局块GlobalBlock、局部语境建模的局部块Local Block;情感惯性建模的说话者内部块Intra-SpeakerBlock和情绪传染建模的说话者之间块Inter-Speaker Block;
将四种不同的transformer块的输出分别标记为使用注意力机制来学习权衡:
其中表示综合的结果且维数与/>相同,α表示为不同的transformer块实际的影响比重,/>表示模型习得的线性变换矩阵;
同时考虑到词编码阶段的自注意力机制强调的是话语中词的相对位置而弱化了对话中的话语序列信息,在transformer的最后一层输出后加了一层BiGRU捕捉这个话语位置信息并得到最终话语表示
语境和情绪动态感知模块可视为一个编码器:
表示为编码器的输出。
进一步地,所述步骤四中,使用ConceptNet作为外部的知识源,对于话语xi中的每个非停用词wd,获取其在ConceptNet的相关知识子图G(wd),对于每一个子图G(wd),移去停用词或超出语境和情绪动态感知编码词表的邻居节点,进一步删除置信度小于1的声明,最终得到:
其中ni代表词wd的关联概念表示;gi代表相应的置信度分数;Nn代表子图G(wd)中的声明数;
对于话语xi中的每个非停用词wd和其概念子图G(wd)中的关联概念np,通过话语读入模块获取其表示,并分别标记为和/>知识表示Kd计算方式如下:
其中表示/>和/>的内积,/>表示为不同邻居节点所具有的影响程度,和/>“·”表示点积操作;若Nn=0,则Kd设置为所有节点向量的均值;
至此已获得话语xi的语境和情绪动态感知表示和相应知识表示K;对于语xi中的每个非停用词wd,其相应的语境和情绪动态感知表示为/>知识表示Kd为K中的第d个元素;级联获得词wd的知识增强表示/>
其中则话语的知识增强表示/>
进一步地,所述步骤五中,对于目标话语ui获得其词级别话语表示Ui,再通过最大池化操作获得其话语级别表示
其中是模型参数,最终的预测分布计算如下:
其中We∈he×hc,是模型参数,he代表预定义的情绪数;使用交叉熵作为ERC任务的损失函数:
其中表示话语ui对应的真实情绪e;
(1)到(21)视为一个映射θ(·),即此时若保存过去的模型参数得到另外一个映射θp(·);回溯损失函数由以上两个映射刻画:
lossretro=(β+1)||θ(ui)-yi||-β||θ(ui)-θp(ui)|| (23)
其中β是一个超参数,||·||表示L1范数;
回溯损失函数有两个额外的超参数,预热期P和更新频率F,P指的是模型被认为可以稳定加入使用这种回溯更新的时期,F指的是使用回溯损失的间隔时期数,得到最终的损失函数:
L=losserc+lossretro (24)。
方案三:一种电子设备,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行方案二所述方法的步骤。
方案四:一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现方案二所述方法的步骤。
本申请有益效果体现在:
本申请提出了一个层次化的模型,自底向上地分别针对对话数据挖掘,外部知识辅助和回溯模型历史状态三个问题精心设计对应的模块。具体来说,本申请首先利用一个基于transformer的编码器,通过设计不同的掩码矩阵以实现对话中各方的交互,同时引入对话历史信息,仅在词编码阶段就考虑了情感动力学的影响。然后,本申请通过利用图注意力网络实现对外部结构化情感知识的利用,从而扩充了话语的语义信息,弥补了词编码器模块在某些特定维度上知识的缺失。最终,在任务损失函数的基础上又加入了一个回溯损失以达到在训练过程中利用过去模型状态的先验经验的效果。旨在利用先前的训练经验来指导权重更新,确保模型决策更接近真实值,而不是前一个训练步骤中表现相对较差的预测。
总体而言,本申请的贡献概括如下:
(1)与之前仅利用自注意力机制作为话语初步特征提取手段的模型不同,本申请通过设计不同的掩码矩阵在词编码阶段就实现了自我和人际依赖的感知与历史对话信息的引入,而这是之前某些模型整体所能达到的全部效果。
(2)本申请利用图网络直接引入外部结构化的情感知识,并通过与目标话语的进一步交互赋予了模型二次推理的能力。
(3)本申请的工作首次将回溯损失引入到实际任务的训练之中,使得模型能够从自身获取经验,同时缓解了数据集规模较小的问题,这为之后的工作提供了参考方向。
(4)在多个文本对话基准数据集上的实验表明,本申请设计的每个模块都有利于提高ERC任务的性能。此外,广泛的实验结果表明,本申请的模型在三个基准数据集上的性能优于最先进的模型。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例一提供的一种基于知识增强和回溯损失的对话情绪识别网络模型框图;
图2为本申请实施例二提供的一种基于知识增强和回溯损失的对话情绪识别网络模型构建流程图;
图3为本申请的四种transformer块的简化示例图;
图4为本申请从ConceptNet以“happy”和“sad”为关键词提取示例图;
图5为本申请MELD数据集上各情绪的结果雷达图;
图6为本申请的一种电子设备的结构示意图;
图7为背景技术中Emocontext数据集中的三轮对话示例图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与申请相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
实施例一
本申请实施例一提供了一种基于知识增强和回溯损失的对话情绪识别网络模型(参见图1),具体地包括:任务定义模块、话语读入模块、语境和情感动态感知模块、外部知识交互模块和回溯历史状态模块;
任务定义模块,假定一组对话集合,在每段对话中包含一系列话语,其中带有预定义情感标签的话语由说话者发出,所有的说话者组成集合;所有预定义的情绪标签组成集合;
语读入模块,对于对话中的每个目标话语前预置一个特殊的标记,输入到嵌入层,相应的单词嵌入序列被当作Transformer第一层的隐状态输入,也被用于知识引入的概念嵌入层。
语境和情感动态感知模块,利用transformer结构作为最底层的词编码器,通过当前话语及其对应的说话人设计不同的注意力掩码矩阵,达到同时引入情感动力学以及语境影响的效果;
外部知识交互模块,通过利用图注意力网络实现对外部结构化情感知识的利用,从而扩充了话语的语义信息,弥补了词编码器模块在某些特定维度上知识的缺失;
回溯历史状态模块,在任务损失函数的基础上加入了一个回溯损失,旨在利用先前的训练经验来指导权重更新,确保模型决策更接近真实值,以达到在训练过程中利用过去模型状态的先验经验的效果。
实施例二
本申请实施例二提供了一种基于知识增强和回溯损失的对话情绪识别网络模型构建方法(参见图2),该方法具体为:
任务定义:假定一组对话集合其中L代表对话的个数。在每段对话中包含一系列Ni个话语,其中带有预定义情感标签/>的话语ui由说话者/>发出。所有的说话者组成集合/>所有预定义的标签(如愤怒、开心、悲伤等)组成集合/>本任务的目标就是训练一个模型尽可能地判断出每句话语对应的真实情绪。
ERC模型需要高阶推理能力来理解人类对话的内容,自动搜索并大致排序导致当前话语准确推理的相关线索。考虑到随着心理学证据的揭示,会话中的情感动态受到自身和说话人之间的影响,本申请首先对对话数据,也是本申请所能获得的最基本的有效信息,进行充分地挖掘以捕捉到这种影响。同时模型需要感知到不同尺寸的对话窗口所营造的语境对当前话语的补充。然后,本申请采用了与当前任务最相关的知识源之一,针对不同的目标话语获取不同的知识补给,进一步丰富了语义表示,弥补因数据集规模较小而导致的某些维度知识的缺失。最终,为了让本申请提出的模型能更加像人类一样学习,本申请将二次利用模型之前的状态来进行回溯学习。类似于建立一个“错误集锦”,模型可以意识到并主动远离之前的某些错误决策。如图2所示,主要包括三个核心模块,分别为语境和情感动态感知模块、外部知识交互模块和回溯历史状态模块。
具体来说,语境和情感动态感知模块利用transformer结构作为最底层的词编码器。通过根据当前话语及其对应的说话人设计不同的注意力掩码矩阵,达到同时引入情感动力学以及语境影响的效果。同时考虑到transformer结构丢失了原本对话中话语的序列信息,于是本申请在最后一层输出的基础上又加入了一层BiGRU以捕捉话语位置这个重要信息。然后,本申请通过图注意网络利用大规模知识图中的常识知识来获取知识表示,并且同时考虑到与上一层的语境和情感动态感知表示进行交互,这赋予了模型二次推理的能力。最终与当前所有工作不同的是,本申请保存了模型在上一步的历史状态作为当前模型做决策时的参考,这使得模型获得了完整的历史信息,即历史对话信息和模型历史状态信息。
话语读入:对于对话Dj中的第i句话语wk表示话语ui中的第k个词,Nk表示话语ui中的单词数目。在每个目标话语前预置一个特殊的标记“[CLS]”:
然后xi被输入到嵌入层:
其中表示单词嵌入序列,/>Dh代表XLNet-base的输入维数,相应的单词嵌入序列/>被当作Transformer第一层的隐状态输入,同时/>也被用于知识引入模块的概念嵌入层。
语境和情绪动态感知:
上下文和情绪动态感知模块专用于解决ERC任务的早期问题,即捕获与目标话语相关的对话的历史信息,并模拟对话中各方对演讲者的影响以及演讲者本身的内部作用。与目前的工作不同,本申请仅在单词编码阶段才考虑了上述所有因素。本申请通过在多头注意机制中使用不同的掩码矩阵来实现此目标。显然不同的因素对于不同的实时目标话语的影响因为是不同的,因此本申请利用注意力机制来使得模型能够权衡各种因素带来的影响。同时考虑到自注意力机制仅捕捉到话语中词语的位置信息而弱化了对话中话语序列信息这一关键信息,本申请在transformer的最后一层输出之上又加了一层BiGRU来强调话语位置信息。
采用记忆更新机制,将记忆m与l-1层的隐状态hi进行级联操作获得
其中记忆的工作方式类似于一个栈;/>L代表transformer层的层数,是一个超参数;Dm是预定义的最大记忆长度;“||”类似栈中的“PUSH”操作并不改变ml-1的维数,即/>
假定为“问询query”,/>为“键key”和“值value”;首先在问询、键和值上进行M个不同的线性映射操作,M代表头数,对于Transformer第l层的每个注意力头:
其中表示问询的线性变换结果,/>表示为键的线性变换结果,/>表示为值的线性变换结果,/>是每个注意力头的训练参数;
然后进行相对位置注意操作:
其中s是一个掩码矩阵且维数与/>相同,在进行注意力操作时,当/>的第i个元素与/>的第j个元素之间需要掩码掉时,sij置为正无穷,其余情况置为0;最终,注意力操作的输出为:
公式(3)到(9)合并为函数f(·):
给定目标话语和历史对话信息后,本申请可以通过人为设计不同的掩码矩阵在编码时引入语境和情绪动力学的影响。如图3所示,本申请使用四种不同的transformer块:用于全局语境建模的全局块(Global Block)、局部语境建模的局部块(Local Block);情感惯性建模的说话者内部块(Intra-Speaker Block)和情绪传染建模的说话者之间块(Inter-Speaker Block)。具体来说,全局块不进行掩码操作从而考虑到所有的历史对话进行全面地分析;局部快仅感知以目标话语为中心的对话窗口内的话语;通过改变掩码矩阵中各元素的数值本申请分别引入说话者内部以及说话者之间的影响。简而言之,本申请在词编码阶段就实现了现有模型的效果。图3中简化条件为:双人对话;目标话语两个单词其他话语一个单词;深色块代表矩阵元素为正无穷否则置0。
本申请将四个块的输出分别标记为显然每个块的输出对于最终决断的影响是不同的,所以本申请使用注意力机制来学习这种权衡:
其中表示综合的结果且维数与/>相同,同时考虑到词编码阶段的自注意力机制强调的是话语中词的相对位置而弱化了对话中的话语序列信息,在transformer的最后一层输出后加了一层BiGRU捕捉这个话语位置信息并得到最终话语表示/>
综上,语境和情绪动态感知模块可视为一个编码器:
知识增强:
本申请显式地引入知识增强过程。本申请使用ConceptNet[作为外部的知识源。ConceptNet是一个大型多语言的语义图谱,图中每一个点代表一个短语级的概念,每一条边代表一种关系。如图4所示,每一个四元组<概念1,关系,概念2,权重>代表了一个声明,其中权重代表这段声明的置信度分数。本申请中忽略声明中的关系,获得例如带有置信度分数4.16的元组<happy,birthday>。考虑到数据集中的实际语言,本申请仅利用英语声明,具体包括590万条声明,310万个概念和38条关系。
对于话语xi中的每个非停用词wd,获取其在ConceptNet的相关知识子图G(wd),对于每一个子图G(wd),移去停用词或超出语境和情绪动态感知编码词表的邻居节点,进一步删除置信度小于1的声明,最终得到:
其中ni代表词wd的关联概念表示;gi代表相应的置信度分数;Nn代表子图G(wd)中的声明数。
为了丰富初始词嵌入的语义信息,本申请利用在每个词上实施图注意力机制。对于话语xi中的每个非停用词wd和其概念子图G(wd)中的关联概念np,本申请通过第1节的话语读入模块获取其表示,并分别标记为和/>知识表示Kd计算方式如下:
/>
其中和/>“·”表示点积操作;若Nn=0,则Kd设置为所有节点向量的均值;
至此本申请已获得话语xi的语境和情绪动态感知表示和相应知识表示K。对于语xi中的每个非停用词wd,其相应的语境和情绪动态感知表示为/>知识表示Kd为K中的第d个元素。将以上二者级联获得词wd的知识增强表示/>
其中则话语的知识增强表示/>
历史状态回溯:
根据任务定义如果本申请输入当前话语,模型就会给出相应的情绪判断。本申请可以把这种整体的映射记作,目前的所有工作都采用的是这种方式搜索模型的最佳参数。本申请认为模型过去的参数仍然可以发挥作用,尤其是对于下游任务的高质量数据集规模较小的情况。因此,本申请提出了模块来探索二次利用模型参数的可能性。直觉上来看,这种操作类似于人类能够从自身过去的状态特点找到参考的锚点以在未来的生活中进行更佳的决策。
具体来说,对于目标话语ui,通过上文三个模块后本申请可以获得其词级别话语表示Ui,再通过最大池化操作获得其话语级别表示
其中是模型参数,最终的预测分布计算如下:
其中We∈he×hc,是模型参数,he代表预定义的情绪数。本申请使用交叉熵作为ERC任务的损失函数:
其中denotes表示话语ui对应的真实情绪e。
(1)到(21)可视为一个映射θ(·),即此时若本申请保存过去的模型参数就还可以得到另外一个映射θp(·)。回溯损失函数由以上两个映射刻画:
lossretro=(β+1)||θ(ui)-yi||-β||θ(ui)-θp(ui)||, (47)
其中β是一个超参数,||·||表示L1范数。
直觉上,回溯损失旨在训练过程中利用模型的先前状态,促使网络比过去状态更接近最优模型参数。此外,回溯损失函数有两个额外的超参数,预热期P和更新频率F。P指的是模型被认为可以稳定加入使用这种回溯更新的时期,F指的是使用回溯损失的间隔时期数。最后本申请可以得到最终的损失函数:
L=losserc+lossretro (48)。
实施例三
本申请实施例三提供一种电子设备,参见图6,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器或者处理单元,用于存储能够在处理器上运行的计算机程序的存储器,连接不同系统组件(包括存储器、一个或者多个处理器或者处理单元)的总线。
其中,所述一个或者多个处理器或者处理单元用于运行所述计算机程序时,执行实施例二所述方法的步骤。所述处理器所用类型包括中央处理器、通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
其中,总线表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
实施例四
本申请实施例四提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例二所述方法的步骤。
需要说明的是,本申请所示的存储介质可以是计算机可读信号介质或者存储介质或者是上述两者的任意组合。存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。存储介质还可以是存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
对本申请进行效果验证
本申请进行了大量实验来评估本申请模型的有效性。
1.数据集
本申请使用三个标准数据集评估本申请的模型,即IEMOCAP、DailyDialog和MELD。IEMOCAP是一个多模态数据集,有十个说话者(五男五女)参与二元对话(每个对话有两个说话者)。每一对被分配到许多不同的交叉场景中的一个,整个数据集中有五个会话集,其中四个会话用于训练,剩下的一个用于测试。每个对话视频都被分割成话语序列,带有以下情感标签:愤怒、幸福、悲伤、中立、兴奋和沮丧。DailyDialog是一个日常多轮对话语料库,与IEMOCAP相比具有更大的规模。该数据集包含丰富的情感,表明情感参与可以加强人与人之间的社会联系,是社会互动不可或缺的一部分。研究还表明,在对话生成中考虑情感因素可以取得更好的效果。该数据集包含13118个多轮对话,对话中的每个话语都被人工标记为一种情绪,包括中性、快乐、惊讶、悲伤、愤怒、恐惧和厌恶。本申请分别取1000个对话作为验证集和测试集,剩余的作为训练集。MELD是一个大规模的多模态情感对话数据库,包含1433个对话和超过13708个话语,每个对话涉及两个以上的说话者。每个对话中的话语都标注了七个情感标签:喜悦、悲伤、恐惧、愤怒、惊讶、厌恶和中性。在这项工作中,本申请只关注文本信息。表1中提供了有关训练/验证/测试拆分的详细信息。
表1数据集划分
2.实验设置
本申请使用Huggingface的XLNet令牌解析器来令牌化和预处理所有数据集和ConceptNet,与XLNet保持相同的词表。对于ConceptNet,不在词表中的词直接被丢弃。对于超参数设置,Dh=768,h=300,L=12,Ng=4,hc和Dm取决于数据集。本申请在训练过程中使用AdamW优化器。本申请只讨论文本模态。对于数据集IEMOCAP和MELD,本申请使用加权F1值作为评价指标;对于DailyDialog,本申请使用micro-F1值作为评测指标。本申请报告的实验结果均来自在测试集上的5次随机运行。
3.基线模型和最佳模型
本申请使用本申请的模型与如下的模型相比较:
BERT:由BERT-BASE的预训练后的参数初始化,该模型被精调用于ERC任务。上文话语和当前话语直接拼接作为输入。BERT形成表示被用于情绪分类任务。
XLNet:使用XLNet-BASE的预训练参数初始化的XLNet基线,包含原有的片段重复和自注意力。
DialogXL:DialogXL旨在不构建层次模型的情况下将预训练模型应用于ERC。XLNet的片段重复被更灵活、更节省内存的话语重复所取代。此外,XLNet的Transformer层中的普通self-attention被对话感知self-attention替代,这允许DialogXL对说话者间和说话者内的依赖关系进行建模。
CMN:CMN收集目标话语的历史记录,这些历史记录分别使用GRU为两个说话者建模成记忆单元。对说话者的记忆采用注意力机制来寻找最有价值的历史话语。然后使用加法运算将记忆与目标话语合并。整个循环重复多跳以进行多步推理。
ICON:ICON使用与CMN类似的方法。两者都使用GRU对历史信息进行建模,然后使用注意力过滤并显式合并结构中各方的历史信息。两者的区别在于CMN是在attention之后融合的,而ICON是在attention和GRU之前按照时间顺序融合的。
DialogueRNN:DialogueRNN系统使用三个GRU对说话者、来自前面话语的上下文和前面话语的情感进行建模。传入的话语被送入全局GRU和参与方GRU以分别更新上下文和参与方状态。更新后的说话者状态被输入到情绪GRU中。
DialogueGCN:DialogueGCN通过使用有向图对对话进行建模来利用说话者信息和相对位置。节点代表个体话语,边代表说话者与其相对位置之间的依赖关系。该模型使用特定于关系的转换来处理信息传输。
AGHMN:AGHMN提出了一个分层记忆网络,其中一个BiGRU作为话语阅读器,一个BiGRU融合层用于历史话语之间的交互。注意GRU用于通过变体总结和平衡来自最近记忆的上下文信息。
BiERU:BiERU是一个基于循环情感单元(ERU)的快速、紧凑且参数高效的忽略对话方的框架,包括一个用于执行上下文组合的广义神经张量块和一个用于提取情感特征的情感特征提取器。
KET:KET首次尝试从外部知识库中整合常识知识来检测文本对话中的情绪。引入过程是动态的,使用上下文感知的情感图注意力机制来平衡检索到的知识实体的相关性和情感性。
KAITML:在KET的基础上,KAITML进一步利用Conceptnet中的相关信息,将原有的图注意力机制按照关系拆分为两步。此外,增量转换器用于增量编码多轮上下文话语。
IEIN:IEIN通过基于情感交互的上下文编码器将初始预测和话语相结合,以显式地对话语之间的情感交互进行建模。特定的损失旨在约束每次迭代的预测以及两次相邻迭代之间的校正行为。
4.总体表现
本申请首先根据IEMOCAP数据集上的最新模型对本申请的模型进行评估,结果如表2所示。平均得分指的是所有单个情感类别的加权平均而不是数字平均,因为ERC的数据集大多具有不平衡的情感类别。本申请首先对baseline内部进行分析比较,baseline主要分为以下三类:前三行代表了只利用预训练语言模型解决ERC任务,第四行到第九行代表着模型驱动的方法,正如在第二节中提到的,这类方法通过精心设计模型结构、模块或任务来侧重解决ERC任务存在的某些特定问题。与此同时知识驱动的模型体现在第十行到第十二行。从表2中可以发现,早期的工作如CMN和ICON表现得最差,与当前最先进的模型相比性能相差7.4%-9.81%。这主要是因为这些早期的工作仅仅是对ERC任务的初步探索,仅利用基于RNN对序列特征建模并利用attention机制对记忆进行提取的做法并没有充分挖掘出对话数据集中的全部有效信息。之后的模型(第六行到第九行)基于任务本身的特性设计出相应的结构或模块均取得了大幅度的性能提升,这说明了根据ERC任务特性精心设计模型的必要性。同样的现象在前三行也有所体现,同样是基于transformer结构的的语言模型,DialogXL相比于BERT和XLNet分别提升了4.96%和4.61%,这主要归功于该模型中特有的dialog-aware self-attention机制考虑到了情感动力学的影响,进一步证明了对对话参与者之间的交互进行建模的必要性。此外,除了IEIN直接引入预测情感作为辅助信息这种强度比较大的提示外,剩下的两个采用外部知识引入手段的模型表现都比较一般。本申请认为这是由于数据集的特性决定的,在IEMOCAP中每段对话的平均话语数为48.56。显然对于长对话的情感识别,捕获对话历史内容中的线索远比利用外部知识来进行辅助推理重要的多。本申请提出的CKE-Net与当前最好的模型相比性能提升了0.65%,进一步刷新了当前的最佳性能。与知识驱动的模型相比,CKE-Net的语境和情绪动态感知模块着重于对情感动力学和语境的建模,增强了对长对话的推理能力;与模型驱动的模型相比,CKE-NET的Knowledge Interaction Module利用外部结构化知识作为辅助,使其在短对话的场景中也可以获得同样的性能,这在表2中可以看出。本申请相信CKE-Net中的各个模块都对模型性能的提升起到了对应的作用,这在后边的实验中会进一步分析与证明。
表2本申请模型,部分基线模型和当前最佳模型在IEMOCAP测试集上各个标签及其加权平均F1值。本申请将每一个情绪上最好的两个结果加粗。
然后本申请在MELD和DailyDialog数据集上对CKE-NET进行了评估,这是两个目前最常用的多方多模态ERC数据集。这两个数据集中每段对话的话语数目分别为9.57和7.58,相较于IEMOCAP对话长度稍短。正如之前分析的,短对话数据集上模型的表现会更加依赖于知识的辅助而非对话中各方交互的建模。这一结论在表3中体现的比较明显,预训练模型与知识驱动的模型表现均强于模型驱动的模型表现。此外,在IEMOCAP中得到的其余结论也同样适用于这两个数据集。在MELD和DailyDialog上,本申请的模型分别比当前最好的结果提高了0.61%和2.14%。可以看到本申请的模型在DailyDialog上的性能取得了大幅度的提升,考虑到DailyDialog的规模比其他两个高了一个数量级,这是一个非常有价值的结果,进一步证明了CKE-Net的泛化性能。
表3:MELD和DailyDialog测试集上的模型表现比较。已加粗最好的结果。
5.各情绪表现
本申请在表2中给出了IEMOCAP数据集上基线和CKE-Net的特定情绪测试结果。本申请用粗体突出显示了每种情绪的前2名结果。根据实验结果,CKE-Net在大多数情感方面仍位居前2位,并且在情绪中性和受挫上,本申请的模型分别获得了66.5%和68.42%的最好结果。本申请认为常识知识为情感推理链的形成提供了信息,有利于细粒度的情感,如挫折感。对照表一可以发现,neutral和frustrated这两种情绪也是数据集中出现频率最高的两种情绪。同时CKE-Net在一些情绪上表现出可容忍的下降,以换取平衡和最好的整体表现。并且这些表现较弱的情绪基本上被错误判断成了相同极性的情绪,很少有极性相反的情绪间被错误分类。本申请认为这些情绪的性能稍弱是由于模型本身的每个模块都具有一定的推理能力,层次化的模型可能会使得模型陷入到过度推理。
本申请进一步根据MELD数据集上基线和CKE-Net的特定情绪测试结果绘制出了情绪雷达图,从图中本申请可以更加直观的感受到CKE-Net在所有情绪上都取得了比较均衡的效果。考虑到MELD数据集是一个多人短对话数据集,这再一次证明了CKE-Net强大的推理能力。根据表中可以看到,fear和disgust在整个数据集中出现的频率相当低,因此早期的工作在这两个情绪上的表现尤其的差。其中fear和disgust最好的效果分别为11.5%(AGHMN)和19.38%(IEIN),也就是说模型很少能兼顾到多个情感的表现。CKE-Net在fear和disgust上相比于上述最佳结果,分别提高了14.69%和5.15%,显然这是一个重大升级,并且这种特定情绪性能的提升并没有以其他情绪性能的下降为代价。
6.消蚀实验
表4在IEMOCAP和DailyDialog上的消蚀实验结果
本申请在所设计的模型上进行了消蚀实验,本申请通过评估移走各模块后的模型性能评估所提出模块的影响。对于“-历史状态回溯”,本申请仅利用标准交叉熵作为损失函数;对于“-知识增强”,本申请仅利用由语境和情绪动态感知编码器得到的原始表示;对于“-语境和情绪动态感知”,本申请采用简单的词嵌入映射替换语境和情绪动态感知编码器。
本申请观察到本申请的模型在IEMOCAP和DailyDialog上的性能在删除任一组件后均会下降。对于这两个数据集,当去除语境和情绪动态感知时,结果会显着下降。结果表明,语境和情绪动态感知对于语境建模至关重要。此外,追溯损失也有特定作用。该模型在参考其历史状态后往往对容易判断错误的特定情绪更加敏感,从而减少类似错误的发生。对于IEMOCAP,去除知识增强和追溯损失后,性能没有显著下降。IEMOCAP中每个对话包含更多的话语(大约50个)。显然,对于长对话的情感识别,捕捉对话历史内容中的线索远比使用外部知识来辅助推理更为关键,这在本申请的上下文和情感动态感知模块中已经实现。对于MELD,常识知识在任务中受益更多。由于MELD对每个对话的话语要短得多(大约9个),因此可利用常识知识丰富语义。
本申请提出了一个基于知识增强和回溯损失的对话情绪识别网络,即CKE-Net,以解决对话中的情感识别问题。设计了会话数据挖掘、外部知识辅助和模型历史状态回顾三个模块。在三个ERC基准数据集上进行了广泛的实验,结果表明所提出的模型优于数据集上的所有基线。实验结果表明,CKE-Net中的三个模块对于ERC系统是有效的。此外,本申请有以下发现。对于长对话的情感识别,捕捉对话历史内容中的线索远比利用外部知识辅助推理更为关键。相比之下,知识的引入在简短的对话中是非常宝贵的。模型的各个模块由于针对性不同,会得到不同的推理,从而导致模型陷入混乱或过度推理。因此,在今后的工作中,本申请将重点研究如何合理组合各模块的推理结果,使判断更贴近实际情况。此外,考虑到目前大多数数据集都包含文本以外的模态,为了充分挖掘社交媒体数据的潜力,使用多模态数据解决ERC也是本申请未来的研究方向之一。
以上所述的实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的实施例而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (4)
1.基于知识增强和回溯损失的对话情绪识别网络模型,其特征在于,包括:语境和情感动态感知模块、外部知识交互模块和回溯历史状态模块;
语境和情感动态感知模块,利用transformer结构作为最底层的词编码器,通过当前话语及其对应的说话人设计不同的注意力掩码矩阵,达到同时引入情感动力学以及语境影响的效果;
假定一组对话集合其中L代表对话的个数,在每段对话/>中包含一系列Ni个话语,其中带有预定义情感标签/>的话语ui由说话者/>发出,所有的说话者组成集合/>所有预定义的情绪标签组成集合/>
对于对话Dj中的第i句话语wk表示话语ui中的第k个词,Nk表示话语ui中的单词数目;在每个目标话语前预置一个特殊的标记“[CLS]”:
xi表示预置特殊标记的目标话语集合,然后xi被输入到嵌入层:
其中表示单词嵌入序列,/>Dh代表XLNet-base的输入维数,相应的单词嵌入序列/>被当作Transformer第一层的隐状态输入,同时/>也被用于知识引入模块的概念嵌入层;
在transformer的最后一层输出之上又加了一层BiGRU来强调话语位置信息,具体地:
采用记忆更新机制,将记忆m与l-1层的隐状态hi进行级联操作获得
其中代表l-1层的记忆,记忆/>的工作方式类似于一个栈;L代表transformer的层数,是一个超参数;Dm是预定义的最大记忆长度;“||”类似栈中的“PUSH”操作并不改变ml-1的维数,即/>
假定为“问询query”,/>为“键key”和“值value”执行多头注意力机制操作;首先在问询、键和值上进行M个不同的线性映射操作,M代表头数,对于Transformer第l层的每个注意力头:
其中表示问询的线性变换结果,/>表示为键的线性变换结果,/>表示为值的线性变换结果,/>是每个注意力头的训练参数;
然后进行相对位置注意操作:
其中表示问询和键经过相对位置注意操作后的结果,/>表示/>矩阵经过掩码操作后的结果,/>s是一个掩码矩阵且维数与/>相同,在进行注意力操作时,当/>的第i个元素与/>的第j个元素之间需要掩码掉时,sij置为正无穷,其余情况置为0;最终,注意力操作的输出为:
公式(3)到(9)合并为函数f(·):
其中表示为多头注意力机制的某个单头输出;
给定目标话语和历史对话信息后,通过设计不同的掩码矩阵在编码时引入语境和情绪动力学的影响,使用四种不同的transformer块:用于全局语境建模的全局块GlobalBlock、局部语境建模的局部块Local Block;情感惯性建模的说话者内部块Intra-SpeakerBlock和情绪传染建模的说话者之间块Inter-Speaker Block;
将四种不同的transformer块的输出分别标记为使用注意力机制来学习权衡:
其中表示综合的结果且维数与/>相同,α表示为不同的transformer块实际的影响比重,/>表示模型习得的线性变换矩阵;
同时考虑到词编码阶段的自注意力机制强调的是话语中词的相对位置而弱化了对话中的话语序列信息,在transformer的最后一层输出后加了一层BiGRU捕捉这个话语位置信息并得到最终话语表示
语境和情绪动态感知模块可视为一个编码器:
表示为编码器的输出;
外部知识交互模块,通过利用图注意力网络实现对外部结构化情感知识的利用,从而扩充了话语的语义信息,弥补了词编码器模块在某些特定维度上知识的缺失;
使用ConceptNet作为外部的知识源,对于话语xi中的每个非停用词wd,获取其在ConceptNet的相关知识子图G(wd),对于每一个子图G(wd),移去停用词或超出语境和情绪动态感知编码词表的邻居节点,进一步删除置信度小于1的声明,最终得到:
其中ni代表词wd的关联概念表示;gi代表相应的置信度分数;Nn代表子图G(wd)中的声明数;
对于话语xi中的每个非停用词wd和其概念子图G(wd)中的关联概念np,通过话语读入模块获取其表示,并分别标记为和/>知识表示Kd计算方式如下:
其中表示/>和/>的内积,/>表示为不同邻居节点所具有的影响程度,/>和“·”表示点积操作;若Nn=0,则Kd设置为所有节点向量的均值;
至此已获得话语xi的语境和情绪动态感知表示和相应知识表示K;对于语xi中的每个非停用词wd,其相应的语境和情绪动态感知表示为/>知识表示Kd为K中的第d个元素;级联获得词wd的知识增强表示/>
其中则话语的知识增强表示/>
回溯历史状态模块,在任务损失函数的基础上加入了一个回溯损失,旨在利用先前的训练经验来指导权重更新,确保模型决策更接近真实值,以达到在训练过程中利用过去模型状态的先验经验的效果;
对于目标话语ui获得其词级别话语表示Ui,再通过最大池化操作获得其话语级别表示
其中是模型参数,最终的预测分布计算如下:
其中We∈he×hc,是模型参数,he代表预定义的情绪数;使用交叉熵作为ERC任务的损失函数:
其中表示话语ui对应的真实情绪e;
(1)到(21)视为一个映射θ(·),即此时若保存过去的模型参数得到另外一个映射θp(·);回溯损失函数由以上两个映射刻画:
lossretro=(β+1)||θ(ui)-yi||-β||θ(ui)-θp(ui)|| (23)
其中β是一个超参数,||·||表示L1范数;
回溯损失函数有两个额外的超参数,预热期P和更新频率F,P指的是模型被认为可以稳定加入使用这种回溯更新的时期,F指的是使用回溯损失的间隔时期数,得到最终的损失函数:
L=losserc+lossretro (24)。
2.基于知识增强和回溯损失的对话情绪识别网络模型构建方法,其特征在于,包括:
步骤一,假定一组对话集合,在每段对话中包含一系列话语,其中带有预定义情感标签的话语由说话者发出,所有的说话者组成集合;所有预定义的情绪标签组成集合;
所述步骤一中,假定一组对话集合其中L代表对话的个数,在每段对话中包含一系列Ni个话语,其中带有预定义情感标签/>的话语ui由说话者/>发出,所有的说话者组成集合/>所有预定义的情绪标签组成集合/>
步骤二,话语读入模块对于对话中的每个目标话语前预置一个特殊的标记,输入到嵌入层,相应的单词嵌入序列被当作Transformer第一层的隐状态输入,也被用于知识引入的概念嵌入层;
所述步骤二中,对于对话Dj中的第i句话语wk表示话语ui中的第k个词,Nk表示话语ui中的单词数目;在每个目标话语前预置一个特殊的标记“[CLS]”:
xi表示预置特殊标记的目标话语集合,然后xi被输入到嵌入层:
其中表示单词嵌入序列,/>Dh代表XLNet-base的输入维数,相应的单词嵌入序列/>被当作Transformer第一层的隐状态输入,同时/>也被用于知识引入模块的概念嵌入层;
步骤三,利用transformer结构作为最底层的词编码器,通过当前话语及其对应的说话人设计不同的注意力掩码矩阵,达到同时引入情感动力学以及语境影响的效果;
所述步骤三中,在transformer的最后一层输出之上又加了一层BiGRU来强调话语位置信息,具体地:
采用记忆更新机制,将记忆m与l-1层的隐状态hi进行级联操作获得
其中代表l-1层的记忆,记忆/>的工作方式类似于一个栈;L代表transformer的层数,是一个超参数;Dm是预定义的最大记忆长度;“||”类似栈中的“PUSH”操作并不改变ml-1的维数,即/>
假定为“问询query”,/>为“键key”和“值value”执行多头注意力机制操作;首先在问询、键和值上进行M个不同的线性映射操作,M代表头数,对于Transformer第l层的每个注意力头:
其中表示问询的线性变换结果,/>表示为键的线性变换结果,/>表示为值的线性变换结果,/>是每个注意力头的训练参数;
然后进行相对位置注意操作:
其中表示问询和键经过相对位置注意操作后的结果,/>表示/>矩阵经过掩码操作后的结果,/>s是一个掩码矩阵且维数与/>相同,在进行注意力操作时,当/>的第i个元素与/>的第j个元素之间需要掩码掉时,sij置为正无穷,其余情况置为0;最终,注意力操作的输出为:
公式(3)到(9)合并为函数f(·):
其中表示为多头注意力机制的某个单头输出;
给定目标话语和历史对话信息后,通过设计不同的掩码矩阵在编码时引入语境和情绪动力学的影响,使用四种不同的transformer块:用于全局语境建模的全局块GlobalBlock、局部语境建模的局部块Local Block;情感惯性建模的说话者内部块Intra-SpeakerBlock和情绪传染建模的说话者之间块Inter-Speaker Block;
将四种不同的transformer块的输出分别标记为使用注意力机制来学习权衡:
其中表示综合的结果且维数与/>相同,α表示为不同的transformer块实际的影响比重,/>表示模型习得的线性变换矩阵;
同时考虑到词编码阶段的自注意力机制强调的是话语中词的相对位置而弱化了对话中的话语序列信息,在transformer的最后一层输出后加了一层BiGRU捕捉这个话语位置信息并得到最终话语表示
语境和情绪动态感知模块可视为一个编码器:
表示为编码器的输出;
步骤四,通过利用图注意力网络实现对外部结构化情感知识的利用,从而扩充了话语的语义信息,弥补了词编码器模块在某些特定维度上知识的缺失;
所述步骤四中,使用ConceptNet作为外部的知识源,对于话语xi中的每个非停用词wd,获取其在ConceptNet的相关知识子图G(wd),对于每一个子图G(wd),移去停用词或超出语境和情绪动态感知编码词表的邻居节点,进一步删除置信度小于1的声明,最终得到:
其中ni代表词wd的关联概念表示;gi代表相应的置信度分数;Nn代表子图G(wd)中的声明数;
对于话语xi中的每个非停用词wd和其概念子图G(wd)中的关联概念np,通过话语读入模块获取其表示,并分别标记为和/>知识表示Kd计算方式如下:
其中表示/>和/>的内积,/>表示为不同邻居节点所具有的影响程度,/>和“·”表示点积操作;若Nn=0,则Kd设置为所有节点向量的均值;
至此已获得话语xi的语境和情绪动态感知表示和相应知识表示K;对于语xi中的每个非停用词wd,其相应的语境和情绪动态感知表示为/>知识表示Kd为K中的第d个元素;级联获得词wd的知识增强表示/>
其中则话语的知识增强表示/>
步骤五,在任务损失函数的基础上加入了一个回溯损失,旨在利用先前的训练经验来指导权重更新,确保模型决策更接近真实值,以达到在训练过程中利用过去模型状态的先验经验的效果;
所述步骤五中,对于目标话语ui获得其词级别话语表示Ui,再通过最大池化操作获得其话语级别表示
其中是模型参数,最终的预测分布计算如下:
其中We∈he×hc,是模型参数,he代表预定义的情绪数;使用交叉熵作为ERC任务的损失函数:
其中表示话语ui对应的真实情绪e;
(1)到(21)视为一个映射θ(·),即此时若保存过去的模型参数得到另外一个映射θp(·);回溯损失函数由以上两个映射刻画:
lossretro=(β+1)||θ(ui)-yi||-β||θ(ui)-θp(ui)|| (47)
其中β是一个超参数,||·||表示L1范数;
回溯损失函数有两个额外的超参数,预热期P和更新频率F,P指的是模型被认为可以稳定加入使用这种回溯更新的时期,F指的是使用回溯损失的间隔时期数,得到最终的损失函数:
L=losserc+lossretro (48)。
3.一种电子设备,其特征在于:包括处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求2所述方法的步骤。
4.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求2所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111255353.2A CN113987179B (zh) | 2021-10-27 | 2021-10-27 | 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111255353.2A CN113987179B (zh) | 2021-10-27 | 2021-10-27 | 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113987179A CN113987179A (zh) | 2022-01-28 |
CN113987179B true CN113987179B (zh) | 2024-03-22 |
Family
ID=79742511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111255353.2A Active CN113987179B (zh) | 2021-10-27 | 2021-10-27 | 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113987179B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114676259B (zh) * | 2022-04-11 | 2022-09-23 | 哈尔滨工业大学 | 一种基于因果感知交互网络的对话情绪识别方法 |
CN115114932B (zh) * | 2022-06-24 | 2024-06-28 | 重庆邮电大学 | 一种基于关键词的多粒度中文短文本匹配方法 |
CN115422362B (zh) * | 2022-10-09 | 2023-10-31 | 郑州数智技术研究院有限公司 | 一种基于人工智能的文本匹配方法 |
CN115577084B (zh) * | 2022-10-10 | 2024-06-18 | 中电金信软件(上海)有限公司 | 一种对话策略的预测方法及预测装置 |
CN115329062B (zh) * | 2022-10-17 | 2023-01-06 | 中邮消费金融有限公司 | 一种低数据场景下的对话模型训练方法及计算机设备 |
CN115934909B (zh) * | 2022-12-02 | 2023-11-17 | 苏州复变医疗科技有限公司 | 一种共情回复生成方法、装置、终端和存储介质 |
CN115841119B (zh) * | 2023-02-21 | 2023-06-16 | 中国科学技术大学 | 一种基于图结构的情绪原因提取方法 |
CN117172260A (zh) * | 2023-10-23 | 2023-12-05 | 国网江苏省电力有限公司泰州供电分公司 | 一种电网客服对话情绪感知分析模型 |
CN117974673A (zh) * | 2024-04-02 | 2024-05-03 | 泉州装备制造研究所 | 一种花色布匹瑕疵检测方法、系统及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113191225A (zh) * | 2021-04-19 | 2021-07-30 | 华南师范大学 | 一种基于图注意力网络的情绪脑电识别方法及系统 |
CN113535957A (zh) * | 2021-07-27 | 2021-10-22 | 哈尔滨工业大学 | 基于双重知识交互和多任务学习的对话情绪识别网络模型、构建方法、电子设备及存储介质 |
-
2021
- 2021-10-27 CN CN202111255353.2A patent/CN113987179B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113191225A (zh) * | 2021-04-19 | 2021-07-30 | 华南师范大学 | 一种基于图注意力网络的情绪脑电识别方法及系统 |
CN113535957A (zh) * | 2021-07-27 | 2021-10-22 | 哈尔滨工业大学 | 基于双重知识交互和多任务学习的对话情绪识别网络模型、构建方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113987179A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113987179B (zh) | 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质 | |
CN112348075B (zh) | 一种基于情景注意力神经网络的多模态情感识别方法 | |
WO2021233112A1 (zh) | 基于多模态机器学习的翻译方法、装置、设备及存储介质 | |
CN113535957B (zh) | 基于双重知识交互和多任务学习的对话情绪识别网络模型系统、构建方法、设备及存储介质 | |
CN111966800B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN106448670A (zh) | 基于深度学习和强化学习的自动回复对话系统 | |
CN114722838A (zh) | 基于常识感知和层次化多任务学习的对话情感识别方法 | |
CN113901191A (zh) | 问答模型的训练方法及装置 | |
Liang et al. | S+ page: A speaker and position-aware graph neural network model for emotion recognition in conversation | |
CN112949684B (zh) | 一种基于强化学习框架的多模态检测对话情感信息的方法 | |
CN112860871B (zh) | 自然语言理解模型训练方法、自然语言理解方法及装置 | |
CN112183106B (zh) | 一种基于音素联想及深度学习的语义理解方法及装置 | |
CN114911932A (zh) | 基于主题语义增强的异构图结构多会话者情感分析方法 | |
CN115690553A (zh) | 一种基于多模态对话内容联合建模的情感分析方法及系统 | |
CN114091466A (zh) | 一种基于Transformer和多任务学习的多模态情感分析方法及系统 | |
CN114898779A (zh) | 融合多模态的语音情感识别方法及系统 | |
CN114169408A (zh) | 一种基于多模态注意力机制的情感分类方法 | |
CN116108856B (zh) | 基于长短回路认知与显隐情感交互的情感识别方法及系统 | |
Kakuba et al. | Deep learning approaches for bimodal speech emotion recognition: Advancements, challenges, and a multi-learning model | |
CN112560440A (zh) | 一种基于深度学习的面向方面级情感分析的句法依赖方法 | |
CN115374281B (zh) | 基于多粒度融合和图卷积网络的会话情感分析方法 | |
CN115795010A (zh) | 一种外部知识辅助的多因素层次建模共情对话生成方法 | |
CN116701566A (zh) | 一种基于情感的多轮对话模型及对话方法 | |
Debatin et al. | Offline Speech Recognition Development | |
CN114239575B (zh) | 语句分析模型的构建方法、语句分析方法、装置、介质和计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |