CN115730070B - 一种人机共情对话方法、系统、电子设备和介质 - Google Patents
一种人机共情对话方法、系统、电子设备和介质 Download PDFInfo
- Publication number
- CN115730070B CN115730070B CN202211489275.7A CN202211489275A CN115730070B CN 115730070 B CN115730070 B CN 115730070B CN 202211489275 A CN202211489275 A CN 202211489275A CN 115730070 B CN115730070 B CN 115730070B
- Authority
- CN
- China
- Prior art keywords
- emotion
- layer
- encoder
- attention
- dialogue data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000008451 emotion Effects 0.000 claims abstract description 249
- 230000008447 perception Effects 0.000 claims abstract description 25
- 239000006184 cosolvent Substances 0.000 claims abstract description 7
- 239000013598 vector Substances 0.000 claims description 44
- 230000004927 fusion Effects 0.000 claims description 32
- 230000002996 emotional effect Effects 0.000 claims description 29
- 238000010606 normalization Methods 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 11
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 7
- 230000036651 mood Effects 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 239000010410 layer Substances 0.000 description 93
- 230000004044 response Effects 0.000 description 10
- 238000002474 experimental method Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000002679 ablation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000001149 cognitive effect Effects 0.000 description 2
- 230000008909 emotion recognition Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 206010028813 Nausea Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008918 emotional behaviour Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008693 nausea Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Machine Translation (AREA)
Abstract
本发明涉及智能机器人、开放领域对话系统技术领域,具体涉及一种人机共情对话方法、系统、电子设备和介质,包括建立人机共情对话模型,所述人机共情对话模型包括情绪上下文编码器和情绪解码器;将历史对话数据输入至所述情绪上下文编码器中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号,实现对所述历史对话数据表达的情绪进行更精确的感知;将所述情绪上下文变量以及情绪信号输入至情绪解码器中进行解码,最终得到针对该历史对话数据更具共情的回复。本发明使得词语对于每一个情绪的表达程度都有所体现,以此展示出词语和情绪的倾向程度,从而能更精确的感知用户语句所表达的情绪。
Description
技术领域
本发明涉及智能机器人、开放领域对话系统技术领域,具体涉及一种人机共情对话方法、系统、电子设备和介质。
背景技术
共情是一种复杂的社会情绪行为,是情绪和认知机制相互作用的结果。人机对话旨在研究如何使计算机来理解和运用人类社会的自然语言,并通过感知情绪来加强与人类用户的联系,从而提升用户的满意度,其在对话领域有着重要作用。在现有的共情反应研究中,
(Zhou and Wang 2018;Zhou et al.2018a;Wang and Wan 2018;Song etal.2019;Shen and Feng2020)通过一个指定的情绪标签来控制生成的内容;(Rashkin等人,2019年;Lin等人,2019年;Majumder等人,2020年;Li等人,2020a,19)提出了多种产生移情反应的方法,其主要是对用户的情绪进行检测,根据用户的情绪生成相应的回复;(Zhong,Wang,and Miao 2019b,KEMP)则是通过经验或外部知识来感知隐含的情绪,使得共情对话系统从有限的对话历史中学习情绪交互的问题。
然而,上述情绪检测模型未考虑到对话中的每个词语与情绪的倾向程度。受多粒度计算思想的启发,可以注意到在实际的多轮对话中,用户所表达的情绪不只是和情绪词有关,非情绪词也同样表达了用户的潜在情绪。因此,精确感知所有词的情绪倾向程度对于情绪的理解有着重要意义。说明书附图中图1展示了一个真实世界的移情对话例子。在该实例中,Speaker为演讲者描述的内容,红色文字表示的是主体,蓝色部分表示侧重于”myfriend’sbaby”主体所生成的回复,而绿色部分表示侧重于”i”主体所生成的回复。Pred展示的是KEMP生成的回复,而Ref则是标准回复。对比Pred和Ref的回复内容,两者在生成对话内容时的主体是不一样的。
在开放域对话系统中,单轮对话的表现形式为一问一答,而多轮对话系统的表现形式则为多次对话。多轮对话系统与单轮对话系统的区别在于多轮对话会考虑到历史对话内容。在前期的情绪对话研究中,Seq2Seq对于不定长的语言序列问题,其采用编码器和解码器结构,将提取的特征映射到输出,但当对话很长时则会出现长序列梯度消失的问题。因此,Bahdanau等人在Seq2Seq的基础上提出了适应该框架的注意力Attention机制,让模型在解码的时候自适应的关注编码中的更重要的信息,提取有利语义特征;Zhou等人在Seq2Seq的基础上提出了ECM框架,在原始的解码器的基础上,加入了情绪内部动态模拟机制以及基于词典的自适应回复生成机制,使解码器在生成序列文本时更好地利用情绪表达的特征,生成通顺的情绪回复;[EmoPrepend-1]提出了基于情绪情境的25K对话数据集,用来促进人机交流中除正确理解讨论内容之外的情绪感受问题;Zhaojiang Lin等人对于移情对话系统主要是集中在特定情绪下产生反应的问题,将理解用户的情绪以及生成适当的回答考虑进去,提出了一种新的端到端方法来建模对话系统中的共情:共情听众的混合物(MoEL);
Navonil Majumder等人针对同理心反应通常在不同程度上模仿用户情绪,而非统一对待情绪的特点,提出了MIME模型,以此来提升共情和反应的情境相关性;Qintong Li等人提出(EmpDG模型)使用粗粒度的对话级和细粒度的标记级情绪,来解决如何准确地捕捉到人类情绪的细微差别,并考虑到用户反馈的潜力,以产生更多的同情反应;SahandSabour等人在用户情绪识别的基础上,将用户情况的认知理解考虑到模型中,并提出了CEM模型,以此来增强生成反应中的共情表达;Qintong Li等人提出的KEMP模型针对缺乏外部知识会使得共情对话系统难以感知隐含隐情绪并从有限的对话历史中学习情绪交互问题,将NRC-VAD以及ConceptNet外部知识引入,以此来明确的理解和表达情绪。
上述研究很好的对对话系统中共情回复进行了提升,但并未考虑到词语的情绪倾向程度,因此不能更加精确的感知情绪。
发明内容
本发明提供一种人机共情对话方法、系统、电子设备和介质,解决对用户对话语句所表达的情绪进行更精确的感知,并生成更具共情的回复的技术问题。
本发明通过下述技术方案实现:
一种人机共情对话方法,包括:
S1、建立人机共情对话模型,所述人机共情对话模型包括情绪上下文编码器和情绪解码器;
S2、将历史对话数据输入至所述情绪上下文编码器中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号,实现对所述历史对话数据表达的情绪进行更精确的感知;
S3、将所述情绪上下文变量以及情绪信号输入至情绪解码器中进行解码,最终得到针对该历史对话数据更具共情的回复。
作为优化,所述情绪上下文编码器包括KEMP编码器、情绪编码器和情绪感知模块,所述情绪解码器包括共享融合解码器、残差及其归一化层、多头交叉注意力网络、前馈神经网络及其归一化层。
作为优化,所述情绪编码器包括余弦相似度层、IDF算法层、用于融合余弦相似度层输出和IDF算法层输出的融合层以及对所述融合层输出进行编码的情绪倾向编码器;所述共享融合解码器包括与所述KEMP编码器的第一多头自注意力层共享多头自注意力参数的第二多头注意力层和多元残差网络层。
作为优化,S2的具体步骤为:
S2.1、将历史对话数据输入至所述KEMP编码器中,得到第一输出结果,同时,分别将所述历史对话数据输入至情绪编码器中的余弦相似度层,得到所述历史对话数据中的每个词语与每个情绪向量的情绪相关性;
S2.2、将所述历史对话数据中的每个词语输入至所述情绪编码器的IDF算法层,得到所述历史对话数据的每个词语的权重;
S2.3、将每个词语的情绪相关性与权重输入至情绪编码器的融合层中,得到每个词语的所有情绪倾向度,将每个词语的所有情绪倾向度输入至情绪倾向编码器中,得到第二输出结果;
S2.4、将第一输出结果与第二输出结果进行拼接,得到第三输出结果;
S2.5、将所述第三输出结果输入到所述情绪感知模块中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号。
作为优化,S2.5中,所述情绪信号的计算过程为:
S2.5.1、通过下式得到情绪向量的大小:
其中,ηi表示对应的情绪强度,ce是一个h维大小的向量,/>表示第一多头注意力层的输出,/>的下标i=1,2...k,其中k为上下文概念网络中顶点的数量;
S2.5.2、使用softmax线性层将情绪向量投影到情绪信号上;
ep=Wece;
其中,We为[32,h]大小的权重矩阵;
S2.5.3、采用负对数似然估计作为情绪损失函数,以进行参数学习,
其中,e*为真实的情绪分类,e表示预测的情绪分类,为对应的经情绪感知模块编码得到的情绪上下文变量。
作为优化,S3的具体步骤为:
S3.1、将第一多头自注意力层的参数共享到第二多头注意力层中,并且共享两个不同参数的自注意力网络到共享融合解码器的第二多头注意力层中,两个所述不同参数的自注意力网络分别为情绪感知模块和标准输出的词嵌入向量,并将两个所述共享注意力网络的最后一层输出输入到多元残差网络层中;
S3.2、将两个所述共享注意力网络的特征在所述多元残差网络层进行融合得到特征向量,并将两个所述共享注意力网络的特征进行转换并通过池化层得到输出,将池化层的输出与所述特征向量进行拼接,得到第四输出结果;
S3.3、将所述第四输出结果输入至所述残差及其归一化层中得到第五结果,并将所述第五结果与所述情绪向量同时输入到所述多头交叉注意力网络中,然后经过前馈神经网络,得到对话回复输出最后经过归一化层,得到最终回复输出y。
作为优化,所述人机共情对话模型的综合损失函数L为:
L=γ1Lemo+γ2Latt+γ3Lgen
其中,γ1,γ2,γ3为超参数;
其中,Lemo为情绪损失函数,Latt为KEMP编码器中的情绪注意损失,
其中,H是注意力头的数量,min-max()是最小最大的归一化,Va(x)和Ar(x)表示词语x的VAD向量中的效价和唤醒维度的值,k为上下文概念网络中顶点的数量,an表示第n个头部的自我注意机制,yj-1代表最后一个单词,vi代表上下文概念网络中的顶点;
Lgen为回复生成的损失值,Lgen具体为:
其中,q为上下文语句的长度,Ws,We属于模型的一个权重参数,x为整个回答的语句长度,为token开始索引的概率,/>为token结束索引的概率,token为要抽取的结果,/>为/>或/>n表示头部的自我注意机制的数量,g代表实际的结果。
本发明还公开了一种人机共情对话系统,包括:
模型建立模块,用于建立人机共情对话模型,所述人机共情对话模型包括情绪上下文编码器和情绪解码器;
编码模块,用于将历史对话数据输入至所述情绪上下文编码器中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号,实现对所述历史对话数据表达的情绪进行更精确的感知;
解码模型,用于将所述情绪上下文变量以及情绪信号输入至情绪解码器中进行解码,最终得到针对该历史对话数据更具共情的回复。
本发明还公开了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的一种人机共情对话方法。
本发明还公开了一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种人机共情对话方法。
本发明与现有技术相比,具有如下的优点和有益效果:
本发明人机共情对话方法,通过设计的情绪编码器来表达词语和情绪之间的相关性,将对话中的每个词语分别与32个情绪词计算相似度,使得词语对于每一个情绪的表达程度都有所体现,以此展示出词语和情绪的倾向程度,从而能更精确的感知用户语句所表达的情绪;本发明还提出了共享融合解码器,共享了存在于对话编码器的情绪和语义的感知能力,丰富了解码器中注意力层的参数,使得解码器在生成回复时能够考虑到输入数据的原始信息,使得能够生产更具共情的回复。
附图说明
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
图1为人机共情对话模型的结构图;
图2为投影结构图;
图3为关联结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
一种人机共情对话方法,包括:
S1、建立人机共情对话模型,所述人机共情对话模型包括情绪上下文编码器和情绪解码器;
本实施例中,所述情绪上下文编码器包括KEMP编码器、情绪编码器和情绪感知模块,更具体的,所述情绪编码器包括余弦相似度层、IDF算法层、用于融合余弦相似度层输出和IDF算法层输出的融合层以及对所述融合层输出进行编码的情绪倾向编码器。
本实施例中,所述情绪解码器包括共享融合解码器、残差及其归一化层、多头交叉注意力网络、前馈神经网络及其归一化层,更具体的,所述共享融合解码器包括与所述KEMP编码器的第一多头自注意力层共享多头自注意力参数的第二多头注意力层和多元残差网络层。
本实施例中,将所建立的人机共情对话模型命名为:EMO-SA(Emotional_ShareAttertion)。
S2、将历史对话数据输入至所述情绪上下文编码器中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号,实现对所述历史对话数据表达的情绪进行更精确的感知;
本实施例中,S2的具体步骤为:
S2.1、将历史对话数据输入至所述KEMP编码器中,得到第一输出结果,同时,分别将所述历史对话数据输入至情绪编码器中的余弦相似度层,通过将某一词语对应的某一情绪向量的情绪相关性减去历史对话数据中的所有词语与该情绪的余弦相似度的均值,得到所述历史对话数据中的该词语与该情绪向量的情绪相关性,并通过该步骤,得到所述历史对话数据中每个词语与每个情绪向量的情绪相关性;
例如,将一组含有B个对话的历史对话数据D输入至KEMP编码器,历史对话数据D可以表示为:D=[W1,W2,...,W,...,WB],其中,Wi为一个包含m个词的序列(即一句对话),Wi表示为wi即为该对话中的其中一个词语;那么,此时KEMP编码器的第一输出结果OUTkenc可以表示为:
OUTkenc=KEMP_encoder(wi) (1)
其中,KEMP_encoder表示KEMP编码器。
同时,将历史对话数据D输入至情绪编码器中的余弦相似度层,输入语句的词可以嵌入表示为[w1,w2,,...,wn],下标n表示输入语句中的词语个数,则语句中的第i个词语可以表示为wi∈[w1,w2,,...,wd],i∈[1,n];用[e1,e2,,...,e32]表示32个情绪向量的词嵌入,则每个情绪词为ej∈[e1,e2,,...,e32],j∈[1,32],wi与ej的情绪相关性可以表示为:
对历史对话数据D中的词语,先求其与某一类情绪ej的余弦相似度的均值:
其中,n为整个历史对话数据D的词语个数;再执行去平均操作,得到wi与ej的情绪相关性Oij,可以表示为:
Oij=oij-Avg(w,ej) (4)
在对话系统中,可以认为对话中的每一个词语和情绪都是有一定的情绪相关性的。为了刻画这种相关性,本发明分别对每个词语向量和32种情绪向量来计算余弦相似度。在实验过程中可以注意到,由于词嵌入层本身具有一定缺陷,对于某些情绪计算出的值较小,不能明显地体现出情绪的相关性,对情绪向量的计算造成干扰。为了显著体现词语对情绪的相关性,本发明通过对每一类情绪在余弦相似度上的均值执行去平均操作,使得词语的整体情绪表达趋于稳定。
由于对话语句中的每一个词都潜在的表达了用户的情绪信息,情绪编码器充分利用该信息,通过对话语句中每个词分别与32种情绪类别词计算情绪相关性;然后将情绪相关性与idf值进行拼接得到情绪倾向性;最后将情绪倾向性输入到与transformer编码器同结构的情绪倾向度编码器中,从而得到包含对话语义信息和情绪倾向信息的输出。
S2.2、将所述历史对话数据中的每个词语输入至所述情绪编码器的IDF算法层,得到所述历史对话数据的每个词语的权重;
具体的,将[w1,w2,,...,wn]输入到情绪编码器的IDF算法层,通过IDF算法区分不同的词在对话中的重要性,即得到词语的权重Wi,j,每个词语的权重可以表示为:
其中,Wi,j表示词语的权重,其为idfi,j,|D|表示数据库中的文档总数,|N|表示包含该词的文档数。
对于数据集中的所有词语,每一个词都有对应的词频,即词语出现的次数。分析实例可以发现,”我”,”你”和”他”等高频词汇虽然在对话中占到了很大的比例,但其和情绪的相关性不高。而另一些如”喜欢”,”恶心”,”讨厌”等词语却往往可以表达出用户的特定情绪。因此,为了减少停用词和高频词对情绪倾向判断的影响,本步骤将IDF算法引入以区分不同的词在对话中的重要性。
S2.3、将每个词语的情绪相关性与权重输入至情绪编码器的融合层中,得到每个词语的所有情绪倾向度,将每个词语的所有情绪倾向度输入至情绪倾向编码器中,得到第二输出结果;
具体的,通过情绪编码器的融合层对去平均的情绪相关性与词语的权重信息进行融合得到对于情绪倾向编码器的输入ETi,j,即:
ETi,j=Oij×Wi,j (6)
ETi,j表示词语i的所有情绪倾向度,ETi,j=[ETi,1,ETi,2...ETi,64],将ETi,j输入到情绪倾向编码器中,得到第二输出结果OUTemo:
OUTemo=Emo_encoder(ETi,j) (7)
其中,Emo_encoder表示情绪倾向编码器。
S2.4、将第一输出结果与第二输出结果进行拼接,得到第三输出结果;
将情绪倾向编码器的第二输出结果OUTemo与KEMP编码器的第一输出结果OUTkenc进行拼接,得到拼接后的第三输出结果OUTe:
S2.5、将所述第三输出结果输入到所述情绪感知模块中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号。
将第三输出结果OUTe输入到情绪感知模块中,经情绪感知模块编码得到情绪上下文变量以及情绪信号ce,其中,
表示第一多头注意力层的输出,/>的下标i=1,2...k,其中k为上下文概念网络中顶点的数量;
ηi表示对应的情绪强度,ce是一个h维大小的向量(h是表示ce的维度,是由输入决定的维度);
然后使用softmax线性层将ce向量投影到情绪信号Pe,
ep=Wece
其中,We为[32,h]大小的权重矩阵;
并采用负对数似然估计作为情绪损失函数,以进行参数学习,
其中,e*为真实的情绪分类,e表示预测的情绪分类。预测的e是通过输入情感词或对话后,经过情绪编码器的参数学习部分,通过与已知真实标签作对比调整参数来对综合损失函数L进行学习后得到的,e*是已知的情绪分类。
S3、将所述情绪上下文变量以及情绪信号输入至情绪解码器中进行解码,最终得到针对该历史对话数据更具共情的回复。
最后将情绪上下文编码器中得到得的输出ce和ep信号量输入到情绪解码器中,用以情绪识别和生成共情回复。
本实施例中,S3的具体步骤为:
S3.1、将KEMP编码器中的第一多头自注意力层的参数共享到共享融合解码器的第二多头注意力层中,两个所述不同参数的自注意力网络分别为情绪感知模块和标准输出的词嵌入向量,并且共享两个不同参数的自注意力网络到共享融合解码器的第二多头注意力层中,并将两个所述共享注意力网络的最后一层输出输入到多元残差网络层中;
参数共享可以表示为:
[MHAttd1,MHAttd2,MHAttd3…MHAttdN]
=[MHAtte2,MHAtte2,MHAtte2...MHAtte2] (13)
其中,MHAttdi,i∈(1,N)表示共享融合解码器中的多头自注意力层参数,N为第二多头注意力层的最大层数,MHAtte2则表示KEMP编码器中第一多头自注意力层中第二层的参数;共享第二层参数,是因为共享第二层的参数,最终提升的结果是最优的。
并且共享两个不同参数的自注意力网络到共享融合解码器的第二多头注意力层中,则共享融合解码器的第二多头注意力层的自注意力表示为:
其中,表示第二多头注意力层的上一层的自注意力,l表示交替更新的步数,表示来自上一层结构的输入,即情绪感知模块和标准输出的词嵌入向量(情感感知模块的输入为编码器的输出ep,而标准输出经过嵌入层后,可得到标准输出的嵌入向量),MHAtt表示是由H个注意头组成的多头自注意子层,LayerNorm表示网络层的标准化;
最后将两个共享注意力网络的最后一层输出输入到多元残差网络中。
对于共享的多头自注意力参数,共享融合解码器采用多元残差网络(Multivariate Residual Module,MRM)来对其进行特征融合。多元残差网络在多模态任务中主要是用于整合不同模态间的信息,本发明对其进行调整,用来融合多个注意力信息,即提取出多个共享注意力网络的输出结果,以融合包含的语义信息。
S3.2、将两个所述共享注意力网络的特征在所述多元残差网络层进行融合得到特征向量,并将两个所述共享注意力网络的特征进行转换并通过池化层得到输出,将池化层的输出与所述特征向量进行拼接,得到第四输出结果;
具体的,两个所述共享注意力网络在所述多元残差网络层进行融合的具体过程如下:
a)投影:多元残差网络将两个注意力层(情绪感知模块和标准输出的最后一层)的特征As1和As2映射到同一对象空间,As1映射为Hs1,As2映射为Hs2,则
Hs1=As1+Relu(Wms1As1) (15)
Hs2=As2+Relu(Wms2As2) (16)
其中,Wms1和Wms2为权重矩阵,可以通过公式(5)得到,ReLU是非线性激活函数;
然后在同一对象空间中对Hs1与Hs2两个特征向量进行融合,融合后的特征向量H:
b)关联:对As1和As2分别与权重矩阵W进行拼接得到x1与x2,然后将得到的x1和x2进行乘积运算,从而得到Z,
由于权重矩阵W可分解为:
W=UVT (19)
U是W的左奇异向量组成的u*t的矩阵,V是W的前t个右奇异向量组成的v*t的矩阵;
则Z可转化为:
其中°表示哈达玛积;
再通过池化层得到输出R:
R=AvgPool(Z) (21)
最后,多元残差网络将两部分的输出R与H拼接得到融合特征后的第四输出结果M,即:
S3.3、将所述第四输出结果输入至所述残差及其归一化层中得到第五结果,并将所述第五结果与所述情绪向量同时输入到所述多头交叉注意力网络中,然后经过前馈神经网络,得到对话回复输出最后经过归一化层,得到最终回复输出y。
将M输入残差和归一化层得到a,并将得到的a与来自编码器的输出ce同时输入到多头交叉注意力网络中,然后经过前馈神经网络,得到对话回复输出最后经过归一化层,得到最终回复输出y。
本实施例中,所述人机共情对话模型的综合损失函数L为:
L=γ1Lemo+γ2Latt+γ3Lgen
其中,γ1,γ2,γ3为超参数;
其中,Lemo为情绪损失函数,Latt为KEMP编码器中的情绪注意损失,
其中,H是注意力头的数量,min-max()是最小最大的归一化,Va(x)和Ar(x)表示词语x的VAD向量中的效价和唤醒维度的值,k为上下文概念网络中顶点的数量,an表示第n个头部的自我注意机制,yj-1代表最后一个单词,vi代表上下文概念网络中的顶点;
Lgen为回复生成的损失值,Lgen具体为:
其中,q为上下文语句的长度,Ws,We属于模型的一个权重参数,x为整个回答的语句长度,为token开始索引的概率,/>为token结束索引的概率,token为要抽取的结果,/>为/>或/>n表示头部的自我注意机制的数量,g代表实际的结果。
实施例2
本发明还公开了一种人机共情对话系统,包括:
模型建立模块,用于建立人机共情对话模型,所述人机共情对话模型包括情绪上下文编码器和情绪解码器;
编码模块,用于将历史对话数据输入至所述情绪上下文编码器中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号,实现对所述历史对话数据表达的情绪进行更精确的感知;
解码模型,用于将所述情绪上下文变量以及情绪信号输入至情绪解码器中进行解码,最终得到针对该历史对话数据更具共情的回复。
实施例3
本发明还公开了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的一种人机共情对话方法。
实施例4
本发明还公开了一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种人机共情对话方法。
下面通过实验来验证本实施例中人机共情对话方法的有效性。
本次实验的数据集采用的是一个广泛用于生成共情回复的基准数据集Empathetic Dialogue(Rashkin et al.,2019),该数据集包含了24850个多轮对话。在对话的每一个回合中,演讲者谈论32个情绪中的某一标签,以及与情绪标签相关的内容,听众通过对演讲者谈论的内容进行回应以产生共鸣。Empathetic Dialogue数据集的32个情绪种类如下:
Surprised Excited Angry Proud Sad Annoyed Grateful Lonely AfraidTerrified Guilty ImpressedDisgusted Hopeful Confident Furious AnxiousAnticipating Joyful Nostalgic Disappointed PreparedJealous Content DevastatedEmbarrassed Caring Sentimental Trusting Ashamed ApprehensiveFaithful
实验将EMO和EMO_SA与以下基线模型进行了比较。
(1)Transformer adopts the Encoder-Decoder architecture and then usesthe self-attention mechanism instead of the RNN network structure commonlyused in NLP tasks.
(2)EmoPrepend-1is an extension of the Transformer that includes anadditional supervised emotion classifier.
(3)MoEL(Lin et al.,2019)is a transformer-based generative model thatmixes response representations from several decoders and integrates decoderoutputs in accordance with the projected distribution of emotions.
(4)MIME(Majumder et al.,2020)is a transformer-based generative modelthat replicates human emotions based on emotion grouping and makes use ofstochastic sampling for a range of responses.
(5)EmpDG(Li et al.,2020)consists of an adversarial frameworkincluding a generator and discriminators that reflect the user feedback,whichexploits multi-resolution emotions and user feedback.
(6)KEMP is an implicit emotion perception model containing externalknowledge of NRC-VAD and ConceptNet.
实验还进行了消融研究,以更好地分析本发明模型中不同成分的影响。
(1)w/o SA为在KEMP的基础上仅考虑情绪倾向度,而不考虑共享解码器的模型;
(2)w/o EMO为在KEMP的基础上仅考虑共享解码器,而不考虑解码器的特征融合与情绪倾向度的模型;
(3)w/o MRM为考虑了情绪倾向度与共享解码器,但未考虑共享解码器中的特征融合的模型。
实验使用准确度、困惑度以及回复多样性三个指标来对模型进行评估:(1)准确度是用于评估分类性能的主要指标,情绪准确性是用于评估生成响应中的情绪类别与标签中的情绪类别之间的一致性,即分类中正确预测的样本数占样本总数的比例。(2)困惑度(PPL)(Vinyals and Le,2015)是用来评价语言模型的好坏,其表示模型对候选响应集的置信度,置信度越高,困惑度则越低。(3)Distinct-n(Li et al.,2016)用来衡量生成回复的多样性。它不依赖于标准答案,可以分为distinct-1和distinct-2。
实验对情绪对话数据集按照8:1:1的比例进行了划分,分别为训练集、测试集以及验证集。使用预训练的Glove向量来初始化单词嵌入,常用超参数与KEMP模型相同。情绪编码器中的情绪个数为32,与数据集中的情绪词保持一致。共享注意力网络中注意力总层数为6层,KEMP编码器中用来共享参数的注意力层设定为第2层和第3层。通过Pytorch和单张Tesla T4 GPU实现了所有模型,模型训练时每一批包含16组对话,迭代次数大约为30000次,时间约为5小时。
结果及分析:
由于本发明提出的EMO_SA模型的注意力结构的层数为6层,为了实验公平,除开与基线模型进行对比之外,还与KEMP中注意力结构的层数为6层的KEMP_6模型进行了对比。实验结果展示在表1中。从表1,可以看到考虑到情绪倾向度以及共享编码器的自注意力层参数到解码器中的EMO_SA模型,其有着突出的表现。相对于综合最优的KEMP模型而言,其Accuracy提升了0.89,PPL提升了2.38,Distinct-1提升了0.23,而Distinct-2提升了2.29。
表1:所有模型中最好的结果都用粗体突出显示。
对于如何选取编码器的权值以共享到解码器的问题,在不包含MRM模型的基础上,对比了未共享权重、共享单层权重以及不同层权重拼接的实验结果。实验结果如表2所示:
表2:不同层融合的自动评估结果。其中,shareAttetion_2表示只共享了第二层权重,shareAttetion_2&3表示将第二层权重与第三层权重进行了融合,shareAttetion_2&origin表示将第二层权重与原始值进行融合。
除此之外,本发明还进行了消融研究,以更好地理解本发明的模型的主要部分的贡献。消融研究的结果如表3所示:
表3:Ablation study
如表3所示,当在KEMP的基础上只考虑情绪倾向程度而不考虑共享编码器(w/oSA)时,情绪的准确性和困惑性呈现明显的下降,这说明共享编码器对情绪的理解和生成共情回复有着至关重要的作用。当只考虑共享编码器的注意力以及共享编码器融合,但不考虑情绪倾向程度(w/o EMO)的情况,我们注意到,准确性、困惑度、多样性1以及多样性2均有所下降,这证明了情绪倾向程度的重要性。本发明还研究了考虑情绪倾向度和共享编码器的注意力,但不考虑共享编码器融合(w/o MRM)的情况,从实验结果可以看到,相对于EMO_SA,其准确率没有改变,但其PPL、Distinct-1以及Distinct-2的值均有所变差,这证明了将编码器中的原始语义信息与解码器融合的有效性。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种人机共情对话方法,其特征在于,包括:
S1、建立人机共情对话模型,所述人机共情对话模型包括情绪上下文编码器和情绪解码器;
S2、将历史对话数据输入至所述情绪上下文编码器中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号,实现对所述历史对话数据表达的情绪进行更精确的感知;
所述情绪上下文编码器包括KEMP编码器、情绪编码器和情绪感知模块,所述情绪解码器包括共享融合解码器、残差及其归一化层、多头交叉注意力网络、前馈神经网络及其归一化层;
所述情绪编码器包括余弦相似度层、IDF算法层、用于融合余弦相似度层输出和IDF算法层输出的融合层以及对所述融合层输出进行编码的情绪倾向编码器;所述共享融合解码器包括与所述KEMP编码器的第一多头自注意力层共享多头自注意力参数的第二多头注意力层和多元残差网络层;
S2.1、将历史对话数据输入至所述KEMP编码器中,得到第一输出结果,同时,分别将所述历史对话数据输入至情绪编码器中的余弦相似度层,通过将某一词语对应的某一情绪向量的情绪相关性减去历史对话数据中的所有词语与该情绪的余弦相似度的均值,得到所述历史对话数据中的该词语与该情绪向量的情绪相关性,并通过该步骤,得到所述历史对话数据中每个词语与每个情绪向量的情绪相关性;
S2.2、将历史对话数据输入至所述KEMP编码器中,得到第一输出结果,同时,分别将所述历史对话数据输入至情绪编码器中的余弦相似度层,通过将某一词语对应的某一情绪向量的情绪相关性减去历史对话数据中的所有词语与该情绪的余弦相似度的均值,得到所述历史对话数据中的该词语与该情绪向量的情绪相关性,并通过该步骤,得到所述历史对话数据中每个词语与每个情绪向量的情绪相关性;
S2.3、将每个词语的情绪相关性与权重输入至情绪编码器的融合层中,得到每个词语的所有情绪倾向度,然后将每个词语的所有情绪倾向度输入至情绪倾向编码器中,得到第二输出结果;
S2.4、将第一输出结果与第二输出结果进行拼接,得到第三输出结果;
S2.5、将所述第三输出结果输入到所述情绪感知模块中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号;
所述情绪信号的计算过程为:
S2.5.1、通过下式得到情绪向量的大小:
其中,ηi表示对应的情绪强度,ce是一个h维大小的向量,/>表示第一多头注意力层的输出,/>的下标i=1,2...k,其中k为上下文概念网络中顶点的数量;
S2.5.2、使用softmax线性层将情绪向量ce投影到情绪信号Pe上;
其中,We为[32,h]大小的权重矩阵,e表示预测的情绪分类,为对应的经情绪感知模块编码得到的情绪上下文变量;
S2.5.3、采用负对数似然估计作为情绪损失函数Lemo,以进行参数学习,
其中,e*为真实的情绪分类;
S3、将所述情绪上下文变量以及情绪信号输入至情绪解码器中进行解码,最终得到针对该历史对话数据更具共情的回复。
2.根据权利要求1所述的一种人机共情对话方法,其特征在于,S3的具体步骤为:
S3.1、将第一多头自注意力层的参数共享到第二多头注意力层中,并且共享两个不同参数的自注意力网络到共享融合解码器的第二多头注意力层中,两个所述不同参数的自注意力网络分别为情绪感知模块和标准输出的词嵌入向量,并将两个所述共享注意力网络的最后一层输出输入到多元残差网络层中;
S3.2、将两个所述共享注意力网络的特征在所述多元残差网络层进行融合得到特征向量,并将两个所述共享注意力网络的特征进行转换并通过池化层得到输出,将池化层的输出与所述特征向量进行拼接,得到第四输出结果;
S3.3、将所述第四输出结果输入至所述残差及其归一化层中得到第五结果,并将所述第五结果与所述情绪向量同时输入到所述多头交叉注意力网络中,然后经过前馈神经网络,得到对话回复输出最后经过归一化层,得到最终回复输出y。
3.根据权利要求2所述的一种人机共情对话方法,其特征在于,所述人机共情对话模型的综合损失函数L为:
L=γ1Lemo+γ2Latt+γ3Lgen
其中,γ1,γ2,γ3为超参数,Lgen为回复生成的损失值,Lemo为情绪损失函数,Latt为KEMP编码器中的情绪注意损失,
其中,H是注意力头的数量,min-max()是最小最大的归一化,Va(x)和Ar(x)表示词语x的VAD向量中的效价和唤醒维度的值,k为上下文概念网络中顶点的数量,an表示第n个头部的自我注意机制,yj-1代表最后一个单词,vi代表上下文概念网络中的顶点;
Lgen为回复生成的损失值,Lgen具体为:
其中,q为上下文语句的长度,Ws,We属于模型的一个权重参数,x为整个回答的语句长度,为token开始索引的概率,/>为token结束索引的概率,token为要抽取的结果,/>为/>或/>n表示头部的自我注意机制的数量,g代表实际的结果。
4.一种人机共情对话系统,其特征在于,包括:
模型建立模块,用于建立人机共情对话模型,所述人机共情对话模型包括情绪上下文编码器和情绪解码器;
编码模块,用于将历史对话数据输入至所述情绪上下文编码器中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号,实现对所述历史对话数据表达的情绪进行更精确的感知;
解码模型,用于将所述情绪上下文变量以及情绪信号输入至情绪解码器中进行解码,最终得到针对该历史对话数据更具共情的回复。
5.一种电子设备,其特征在于,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至3中任一所述的一种人机共情对话方法。
6.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述的一种人机共情对话方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211489275.7A CN115730070B (zh) | 2022-11-25 | 2022-11-25 | 一种人机共情对话方法、系统、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211489275.7A CN115730070B (zh) | 2022-11-25 | 2022-11-25 | 一种人机共情对话方法、系统、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115730070A CN115730070A (zh) | 2023-03-03 |
CN115730070B true CN115730070B (zh) | 2023-08-08 |
Family
ID=85298301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211489275.7A Active CN115730070B (zh) | 2022-11-25 | 2022-11-25 | 一种人机共情对话方法、系统、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115730070B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116306686B (zh) * | 2023-05-22 | 2023-08-29 | 中国科学技术大学 | 一种多情绪指导的共情对话生成方法 |
CN117892736B (zh) * | 2023-12-29 | 2024-06-18 | 华中师范大学 | 基于情境感知与情绪推理的共情对话生成方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990543A (zh) * | 2019-10-18 | 2020-04-10 | 平安科技(深圳)有限公司 | 智能对话的生成方法、装置、计算机设备及计算机存储介质 |
CN111309899A (zh) * | 2018-12-11 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 对话情感分析方法及装置、存储介质和处理器 |
CN111428015A (zh) * | 2020-03-20 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 一种信息生成方法、装置、设备及存储介质 |
CN111564202A (zh) * | 2020-04-30 | 2020-08-21 | 深圳市镜象科技有限公司 | 基于人机对话的心理疏导方法、心理疏导终端和存储介质 |
CN111897933A (zh) * | 2020-07-27 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 情感对话生成方法、装置及情感对话模型训练方法、装置 |
CN112100337A (zh) * | 2020-10-15 | 2020-12-18 | 平安科技(深圳)有限公司 | 交互对话中的情绪识别方法及装置 |
CN112163080A (zh) * | 2020-10-12 | 2021-01-01 | 辽宁工程技术大学 | 一种基于多轮情绪分析的生成式对话系统 |
CN112199469A (zh) * | 2020-09-30 | 2021-01-08 | 卓尔智联(武汉)研究院有限公司 | 一种情感识别的方法、装置及电子设备 |
CN112992185A (zh) * | 2019-12-12 | 2021-06-18 | 西南交通大学 | 一种可识别情绪的语音对话装置设计 |
CN113535957A (zh) * | 2021-07-27 | 2021-10-22 | 哈尔滨工业大学 | 基于双重知识交互和多任务学习的对话情绪识别网络模型、构建方法、电子设备及存储介质 |
CN114168707A (zh) * | 2021-10-28 | 2022-03-11 | 上海大学 | 一种面向推荐的情绪型对话方法 |
-
2022
- 2022-11-25 CN CN202211489275.7A patent/CN115730070B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309899A (zh) * | 2018-12-11 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 对话情感分析方法及装置、存储介质和处理器 |
CN110990543A (zh) * | 2019-10-18 | 2020-04-10 | 平安科技(深圳)有限公司 | 智能对话的生成方法、装置、计算机设备及计算机存储介质 |
CN112992185A (zh) * | 2019-12-12 | 2021-06-18 | 西南交通大学 | 一种可识别情绪的语音对话装置设计 |
CN111428015A (zh) * | 2020-03-20 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 一种信息生成方法、装置、设备及存储介质 |
CN111564202A (zh) * | 2020-04-30 | 2020-08-21 | 深圳市镜象科技有限公司 | 基于人机对话的心理疏导方法、心理疏导终端和存储介质 |
CN111897933A (zh) * | 2020-07-27 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 情感对话生成方法、装置及情感对话模型训练方法、装置 |
CN112199469A (zh) * | 2020-09-30 | 2021-01-08 | 卓尔智联(武汉)研究院有限公司 | 一种情感识别的方法、装置及电子设备 |
CN112163080A (zh) * | 2020-10-12 | 2021-01-01 | 辽宁工程技术大学 | 一种基于多轮情绪分析的生成式对话系统 |
CN112100337A (zh) * | 2020-10-15 | 2020-12-18 | 平安科技(深圳)有限公司 | 交互对话中的情绪识别方法及装置 |
CN113535957A (zh) * | 2021-07-27 | 2021-10-22 | 哈尔滨工业大学 | 基于双重知识交互和多任务学习的对话情绪识别网络模型、构建方法、电子设备及存储介质 |
CN114168707A (zh) * | 2021-10-28 | 2022-03-11 | 上海大学 | 一种面向推荐的情绪型对话方法 |
Non-Patent Citations (1)
Title |
---|
林泓全 ; .基于条件变分自编码器的情感对话生成研究.中国优秀硕士学位论文全文数据库.2022,第I138-1338页. * |
Also Published As
Publication number | Publication date |
---|---|
CN115730070A (zh) | 2023-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115730070B (zh) | 一种人机共情对话方法、系统、电子设备和介质 | |
CN114973062B (zh) | 基于Transformer的多模态情感分析方法 | |
CN111428015B (zh) | 一种信息生成方法、装置、设备及存储介质 | |
CN111966800B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN113987179B (zh) | 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质 | |
CN115964467A (zh) | 一种融合视觉情境的富语义对话生成方法 | |
CN114021524B (zh) | 一种情感识别方法、装置、设备及可读存储介质 | |
Liu et al. | Temporal Attention Convolutional Network for Speech Emotion Recognition with Latent Representation. | |
CN113779310A (zh) | 一种基于层级表征网络的视频理解文本生成方法 | |
CN116168324A (zh) | 基于循环交互Transformer与维度交叉融合的视频情感识别方法 | |
Sahu et al. | Modeling feature representations for affective speech using generative adversarial networks | |
Lee et al. | Word-level emotion embedding based on semi-supervised learning for emotional classification in dialogue | |
CN111444328B (zh) | 一种带有解释生成的自然语言自动预测推断方法 | |
CN111046157B (zh) | 一种基于平衡分布的通用英文人机对话生成方法和系统 | |
CN114676259B (zh) | 一种基于因果感知交互网络的对话情绪识别方法 | |
CN115858756A (zh) | 基于感知情绪倾向的共情人机对话系统 | |
CN114416948A (zh) | 一种基于语义感知的一对多对话生成方法及装置 | |
CN117150320B (zh) | 对话数字人情感风格相似度评价方法及系统 | |
CN116680369B (zh) | 一种共情对话生成方法及系统 | |
CN115795010A (zh) | 一种外部知识辅助的多因素层次建模共情对话生成方法 | |
CN116108856A (zh) | 基于长短回路认知与显隐情感交互的情感识别方法及系统 | |
CN111414466A (zh) | 一种基于深度模型融合的多轮对话建模方法 | |
CN117556009A (zh) | 基于条件扩散模型的多轮对话生成方法和系统 | |
CN114239575B (zh) | 语句分析模型的构建方法、语句分析方法、装置、介质和计算设备 | |
CN116595985A (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 |