一种人机共情对话方法、系统、电子设备和介质

文档序号:33324759发布日期:2023-03-03 22:33阅读:74来源:国知局
一种人机共情对话方法、系统、电子设备和介质

1.本发明涉及智能机器人、开放领域对话系统技术领域,具体涉及一种人机共情对话方法、系统、电子设备和介质。


背景技术:

2.共情是一种复杂的社会情绪行为,是情绪和认知机制相互作用的结果。人机对话旨在研究如何使计算机来理解和运用人类社会的自然语言,并通过感知情绪来加强与人类用户的联系,从而提升用户的满意度,其在对话领域有着重要作用。在现有的共情反应研究中,
3.(zhou and wang 2018;zhou et al.2018a;wang and wan 2018;song et al.2019;shen and feng2020)通过一个指定的情绪标签来控制生成的内容;(rashkin等人,2019年;lin等人,2019年;majumder等人,2020年;li等人,2020a,19)提出了多种产生移情反应的方法,其主要是对用户的情绪进行检测,根据用户的情绪生成相应的回复;(zhong,wang,and miao 2019b,kemp)则是通过经验或外部知识来感知隐含的情绪,使得共情对话系统从有限的对话历史中学习情绪交互的问题。
4.然而,上述情绪检测模型未考虑到对话中的每个词语与情绪的倾向程度。受多粒度计算思想的启发,可以注意到在实际的多轮对话中,用户所表达的情绪不只是和情绪词有关,非情绪词也同样表达了用户的潜在情绪。因此,精确感知所有词的情绪倾向程度对于情绪的理解有着重要意义。说明书附图中图1展示了一个真实世界的移情对话例子。在该实例中,speaker为演讲者描述的内容,红色文字表示的是主体,蓝色部分表示侧重于”my friend’sbaby”主体所生成的回复,而绿色部分表示侧重于”i”主体所生成的回复。pred展示的是kemp生成的回复,而ref则是标准回复。对比pred和ref的回复内容,两者在生成对话内容时的主体是不一样的。
5.在开放域对话系统中,单轮对话的表现形式为一问一答,而多轮对话系统的表现形式则为多次对话。多轮对话系统与单轮对话系统的区别在于多轮对话会考虑到历史对话内容。在前期的情绪对话研究中,seq2seq对于不定长的语言序列问题,其采用编码器和解码器结构,将提取的特征映射到输出,但当对话很长时则会出现长序列梯度消失的问题。因此,bahdanau等人在seq2seq的基础上提出了适应该框架的注意力attention机制,让模型在解码的时候自适应的关注编码中的更重要的信息,提取有利语义特征;zhou等人在seq2seq的基础上提出了ecm框架,在原始的解码器的基础上,加入了情绪内部动态模拟机制以及基于词典的自适应回复生成机制,使解码器在生成序列文本时更好地利用情绪表达的特征,生成通顺的情绪回复;[emoprepend-1]提出了基于情绪情境的25k对话数据集,用来促进人机交流中除正确理解讨论内容之外的情绪感受问题;zhaojiang lin等人对于移情对话系统主要是集中在特定情绪下产生反应的问题,将理解用户的情绪以及生成适当的回答考虑进去,提出了一种新的端到端方法来建模对话系统中的共情:共情听众的混合物(moel);
[0006]
navonil majumder等人针对同理心反应通常在不同程度上模仿用户情绪,而非统一对待情绪的特点,提出了mime模型,以此来提升共情和反应的情境相关性;qintong li等人提出(empdg模型)使用粗粒度的对话级和细粒度的标记级情绪,来解决如何准确地捕捉到人类情绪的细微差别,并考虑到用户反馈的潜力,以产生更多的同情反应;sahand sabour等人在用户情绪识别的基础上,将用户情况的认知理解考虑到模型中,并提出了cem模型,以此来增强生成反应中的共情表达;qintong li等人提出的kemp模型针对缺乏外部知识会使得共情对话系统难以感知隐含隐情绪并从有限的对话历史中学习情绪交互问题,将nrc-vad以及conceptnet外部知识引入,以此来明确的理解和表达情绪。
[0007]
上述研究很好的对对话系统中共情回复进行了提升,但并未考虑到词语的情绪倾向程度,因此不能更加精确的感知情绪。


技术实现要素:

[0008]
本发明提供一种人机共情对话方法、系统、电子设备和介质,解决对用户对话语句所表达的情绪进行更精确的感知,并生成更具共情的回复的技术问题。
[0009]
本发明通过下述技术方案实现:
[0010]
一种人机共情对话方法,包括:
[0011]
s1、建立人机共情对话模型,所述人机共情对话模型包括情绪上下文编码器和情绪解码器;
[0012]
s2、将历史对话数据输入至所述情绪上下文编码器中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号,实现对所述历史对话数据表达的情绪进行更精确的感知;
[0013]
s3、将所述情绪上下文变量以及情绪信号输入至情绪解码器中进行解码,最终得到针对该历史对话数据更具共情的回复。
[0014]
作为优化,所述情绪上下文编码器包括kemp编码器、情绪编码器和情绪感知模块,所述情绪解码器包括共享融合解码器、残差及其归一化层、多头交叉注意力网络、前馈神经网络及其归一化层。
[0015]
作为优化,所述情绪编码器包括余弦相似度层、idf算法层、用于融合余弦相似度层输出和idf算法层输出的融合层以及对所述融合层输出进行编码的情绪倾向编码器;所述共享融合解码器包括与所述kemp编码器的第一多头自注意力层共享多头自注意力参数的第二多头注意力层和多元残差网络层。
[0016]
作为优化,s2的具体步骤为:
[0017]
s2.1、将历史对话数据输入至所述kemp编码器中,得到第一输出结果,同时,分别将所述历史对话数据输入至情绪编码器中的余弦相似度层,得到所述历史对话数据中的每个词语与每个情绪向量的情绪相关性;
[0018]
s2.2、将所述历史对话数据中的每个词语输入至所述情绪编码器的idf算法层,得到所述历史对话数据的每个词语的权重;
[0019]
s2.3、将每个词语的情绪相关性与权重输入至情绪编码器的融合层中,得到每个词语的所有情绪倾向度,将每个词语的所有情绪倾向度输入至情绪倾向编码器中,得到第二输出结果;
[0020]
s2.4、将第一输出结果与第二输出结果进行拼接,得到第三输出结果;
[0021]
s2.5、将所述第三输出结果输入到所述情绪感知模块中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号。
[0022]
作为优化,s2.5中,所述情绪信号的计算过程为:
[0023]
s2.5.1、通过下式得到情绪向量的大小:
[0024][0025]
其中,ηi表示对应的情绪强度,ce是一个h维大小的向量,表示第一多头注意力层的输出,的下标i=1,2...k,其中k为上下文概念网络中顶点的数量;
[0026]
s2.5.2、使用softmax线性层将情绪向量投影到情绪信号上;
[0027]ep
=w
ece

[0028][0029]
其中,we为[32,h]大小的权重矩阵;
[0030]
s2.5.3、采用负对数似然估计作为情绪损失函数,以进行参数学习,
[0031][0032]
其中,e
*
为真实的情绪分类,e表示预测的情绪分类,为对应的经情绪感知模块编码得到的情绪上下文变量。
[0033]
作为优化,s3的具体步骤为:
[0034]
s3.1、将第一多头自注意力层的参数共享到第二多头注意力层中,并且共享两个不同参数的自注意力网络到共享融合解码器的第二多头注意力层中,两个所述不同参数的自注意力网络分别为情绪感知模块和标准输出的词嵌入向量,并将两个所述共享注意力网络的最后一层输出输入到多元残差网络层中;
[0035]
s3.2、将两个所述共享注意力网络的特征在所述多元残差网络层进行融合得到特征向量,并将两个所述共享注意力网络的特征进行转换并通过池化层得到输出,将池化层的输出与所述特征向量进行拼接,得到第四输出结果;
[0036]
s3.3、将所述第四输出结果输入至所述残差及其归一化层中得到第五结果,并将所述第五结果与所述情绪向量同时输入到所述多头交叉注意力网络中,然后经过前馈神经网络,得到对话回复输出最后经过归一化层,得到最终回复输出y。
[0037]
作为优化,所述人机共情对话模型的综合损失函数l为:
[0038]
l=γ1l
emo
+γ2l
att
+γ3l
gen
[0039]
其中,γ1,γ2,γ3为超参数;
[0040]
其中,l
emo
为情绪损失函数,l
att
为kemp编码器中的情绪注意损失,
[0041][0042][0043]
[0044]
其中,h是注意力头的数量,min-max()是最小最大的归一化,va(x)和ar(x)表示词语x的vad向量中的效价和唤醒维度的值,k为上下文概念网络中顶点的数量,an表示第n个头部的自我注意机制,y
j-1
代表最后一个单词,vi代表上下文概念网络中的顶点;
[0045]
l
gen
为回复生成的损失值,l
gen
具体为:
[0046][0047][0048][0049]
其中,q为上下文语句的长度,ws,we属于模型的一个权重参数,x为整个回答的语句长度,为token开始索引的概率,为token结束索引的概率,token为要抽取的结果,为或n表示头部的自我注意机制的数量,g代表实际的结果。
[0050]
本发明还公开了一种人机共情对话系统,包括:
[0051]
模型建立模块,用于建立人机共情对话模型,所述人机共情对话模型包括情绪上下文编码器和情绪解码器;
[0052]
编码模块,用于将历史对话数据输入至所述情绪上下文编码器中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号,实现对所述历史对话数据表达的情绪进行更精确的感知;
[0053]
解码模型,用于将所述情绪上下文变量以及情绪信号输入至情绪解码器中进行解码,最终得到针对该历史对话数据更具共情的回复。
[0054]
本发明还公开了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的一种人机共情对话方法。
[0055]
本发明还公开了一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种人机共情对话方法。
[0056]
本发明与现有技术相比,具有如下的优点和有益效果:
[0057]
本发明人机共情对话方法,通过设计的情绪编码器来表达词语和情绪之间的相关性,将对话中的每个词语分别与32个情绪词计算相似度,使得词语对于每一个情绪的表达程度都有所体现,以此展示出词语和情绪的倾向程度,从而能更精确的感知用户语句所表达的情绪;本发明还提出了共享融合解码器,共享了存在于对话编码器的情绪和语义的感知能力,丰富了解码器中注意力层的参数,使得解码器在生成回复时能够考虑到输入数据的原始信息,使得能够生产更具共情的回复。
附图说明
[0058]
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
[0059]
图1为人机共情对话模型的结构图;
[0060]
图2为投影结构图;
[0061]
图3为关联结构图。
具体实施方式
[0062]
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
[0063]
实施例1
[0064]
一种人机共情对话方法,包括:
[0065]
s1、建立人机共情对话模型,所述人机共情对话模型包括情绪上下文编码器和情绪解码器;
[0066]
本实施例中,所述情绪上下文编码器包括kemp编码器、情绪编码器和情绪感知模块,更具体的,所述情绪编码器包括余弦相似度层、idf算法层、用于融合余弦相似度层输出和idf算法层输出的融合层以及对所述融合层输出进行编码的情绪倾向编码器。
[0067]
本实施例中,所述情绪解码器包括共享融合解码器、残差及其归一化层、多头交叉注意力网络、前馈神经网络及其归一化层,更具体的,所述共享融合解码器包括与所述kemp编码器的第一多头自注意力层共享多头自注意力参数的第二多头注意力层和多元残差网络层。
[0068]
本实施例中,将所建立的人机共情对话模型命名为:emo-sa(emotional_shareattertion)。
[0069]
s2、将历史对话数据输入至所述情绪上下文编码器中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号,实现对所述历史对话数据表达的情绪进行更精确的感知;
[0070]
本实施例中,s2的具体步骤为:
[0071]
s2.1、将历史对话数据输入至所述kemp编码器中,得到第一输出结果,同时,分别将所述历史对话数据输入至情绪编码器中的余弦相似度层,通过将某一词语对应的某一情绪向量的情绪相关性减去历史对话数据中的所有词语与该情绪的余弦相似度的均值,得到所述历史对话数据中的该词语与该情绪向量的情绪相关性,并通过该步骤,得到所述历史对话数据中每个词语与每个情绪向量的情绪相关性;
[0072]
例如,将一组含有b个对话的历史对话数据d输入至kemp编码器,历史对话数据d可以表示为:d=[w1,w2,...,w,...,wb],其中,wi为一个包含m个词的序列(即一句对话),wi表示为wi即为该对话中的其中一个词语;那么,此时kemp编码器的第一输出结果out
kenc
可以表示为:
[0073]
out
kenc
=kemp_encoder(wi)
ꢀꢀ
(1)
[0074]
其中,kemp_encoder表示kemp编码器。
[0075]
同时,将历史对话数据d输入至情绪编码器中的余弦相似度层,输入语句的词可以嵌入表示为[w1,w2,,...,wn],下标n表示输入语句中的词语个数,则语句中的第i个词语可以表示为wi∈[w1,w2,,...,wd],i∈[1,n];用[e1,e2,,...,e
32
]表示32个情绪向量的词嵌入,
则每个情绪词为ej∈[e1,e2,,...,e
32
],j∈[1,32],wi与ej的情绪相关性可以表示为:
[0076][0077]
对历史对话数据d中的词语,先求其与某一类情绪ej的余弦相似度的均值:
[0078][0079]
其中,n为整个历史对话数据d的词语个数;再执行去平均操作,得到wi与ej的情绪相关性o
ij
,可以表示为:
[0080]oij
=o
ij-avg(w,ej) (4)
[0081]
在对话系统中,可以认为对话中的每一个词语和情绪都是有一定的情绪相关性的。为了刻画这种相关性,本发明分别对每个词语向量和32种情绪向量来计算余弦相似度。在实验过程中可以注意到,由于词嵌入层本身具有一定缺陷,对于某些情绪计算出的值较小,不能明显地体现出情绪的相关性,对情绪向量的计算造成干扰。为了显著体现词语对情绪的相关性,本发明通过对每一类情绪在余弦相似度上的均值执行去平均操作,使得词语的整体情绪表达趋于稳定。
[0082]
由于对话语句中的每一个词都潜在的表达了用户的情绪信息,情绪编码器充分利用该信息,通过对话语句中每个词分别与32种情绪类别词计算情绪相关性;然后将情绪相关性与idf值进行拼接得到情绪倾向性;最后将情绪倾向性输入到与transformer编码器同结构的情绪倾向度编码器中,从而得到包含对话语义信息和情绪倾向信息的输出。
[0083]
s2.2、将所述历史对话数据中的每个词语输入至所述情绪编码器的idf算法层,得到所述历史对话数据的每个词语的权重;
[0084]
具体的,将[w1,w2,,...,wn]输入到情绪编码器的idf算法层,通过idf算法区分不同的词在对话中的重要性,即得到词语的权重w
i,j
,每个词语的权重可以表示为:
[0085][0086]
其中,w
i,j
表示词语的权重,其为idf
i,j
,|d|表示数据库中的文档总数,|n|表示包含该词的文档数。
[0087]
对于数据集中的所有词语,每一个词都有对应的词频,即词语出现的次数。分析实例可以发现,”我”,”你”和”他”等高频词汇虽然在对话中占到了很大的比例,但其和情绪的相关性不高。而另一些如”喜欢”,”恶心”,”讨厌”等词语却往往可以表达出用户的特定情绪。因此,为了减少停用词和高频词对情绪倾向判断的影响,本步骤将idf算法引入以区分不同的词在对话中的重要性。
[0088]
s2.3、将每个词语的情绪相关性与权重输入至情绪编码器的融合层中,得到每个词语的所有情绪倾向度,将每个词语的所有情绪倾向度输入至情绪倾向编码器中,得到第二输出结果;
[0089]
具体的,通过情绪编码器的融合层对去平均的情绪相关性与词语的权重信息进行融合得到对于情绪倾向编码器的输入et
i,j
,即:
[0090]
et
i,j
=o
ij
×wi,j
ꢀꢀꢀ
(6)
[0091]
et
i,j
表示词语i的所有情绪倾向度,et
i,j
=[et
i,1
,et
i,2
...et
i,64
],将et
i,j
输入到情绪倾向编码器中,得到第二输出结果out
emo

[0092]
out
emo
=emo_encoder(et
i,j
)
ꢀꢀꢀ
(7)
[0093]
其中,emo_encoder表示情绪倾向编码器。
[0094]
s2.4、将第一输出结果与第二输出结果进行拼接,得到第三输出结果;
[0095]
将情绪倾向编码器的第二输出结果out
emo
与kemp编码器的第一输出结果out
kenc
进行拼接,得到拼接后的第三输出结果oute:
[0096][0097]
s2.5、将所述第三输出结果输入到所述情绪感知模块中,得到所述历史对话数据对应的情绪上下文变量以及情绪信号。
[0098]
将第三输出结果oute输入到情绪感知模块中,经情绪感知模块编码得到情绪上下文变量以及情绪信号ce,其中,
[0099][0100]
表示第一多头注意力层的输出,的下标i=1,2...k,其中k为上下文概念网络中顶点的数量;
[0101][0102]
ηi表示对应的情绪强度,ce是一个h维大小的向量(h是表示ce的维度,是由输入决定的维度);
[0103]
然后使用softmax线性层将ce向量投影到情绪信号pe,
[0104]ep
=w
ece
[0105][0106]
其中,we为[32,h]大小的权重矩阵;
[0107]
并采用负对数似然估计作为情绪损失函数,以进行参数学习,
[0108][0109]
其中,e
*
为真实的情绪分类,e表示预测的情绪分类。预测的e是通过输入情感词或对话后,经过情绪编码器的参数学习部分,通过与已知真实标签作对比调整参数来对综合损失函数l进行学习后得到的,e*是已知的情绪分类。
[0110]
s3、将所述情绪上下文变量以及情绪信号输入至情绪解码器中进行解码,最终得到针对该历史对话数据更具共情的回复。
[0111]
最后将情绪上下文编码器中得到得的输出ce和e
p
信号量输入到情绪解码器中,用以情绪识别和生成共情回复。
[0112]
本实施例中,s3的具体步骤为:
[0113]
s3.1、将kemp编码器中的第一多头自注意力层的参数共享到共享融合解码器的第二多头注意力层中,两个所述不同参数的自注意力网络分别为情绪感知模块和标准输出的词嵌入向量,并且共享两个不同参数的自注意力网络到共享融合解码器的第二多头注意力层中,并将两个所述共享注意力网络的最后一层输出输入到多元残差网络层中;
[0114]
参数共享可以表示为:
[0115]
[mhatt
d1
,mhatt
d2
,mhatt
d3

mhatt
dn
]
[0116]
=[mhatt
e2
,mhatt
e2
,mhatt
e2
...mhatt
e2
]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0117]
其中,mhatt
di
,i∈(1,n)表示共享融合解码器中的多头自注意力层参数,n为第二多头注意力层的最大层数,mhatt
e2
则表示kemp编码器中第一多头自注意力层中第二层的参数;共享第二层参数,是因为共享第二层的参数,最终提升的结果是最优的。
[0118]
并且共享两个不同参数的自注意力网络到共享融合解码器的第二多头注意力层中,则共享融合解码器的第二多头注意力层的自注意力表示为:
[0119][0120]
其中,表示第二多头注意力层的上一层的自注意力,l表示交替更新的步数,表示来自上一层结构的输入,即情绪感知模块和标准输出的词嵌入向量(情感感知模块的输入为编码器的输出e
p
,而标准输出经过嵌入层后,可得到标准输出的嵌入向量),mhatt表示是由h个注意头组成的多头自注意子层,layernorm表示网络层的标准化;
[0121]
最后将两个共享注意力网络的最后一层输出输入到多元残差网络中。
[0122]
对于共享的多头自注意力参数,共享融合解码器采用多元残差网络(multivariate residual module,mrm)来对其进行特征融合。多元残差网络在多模态任务中主要是用于整合不同模态间的信息,本发明对其进行调整,用来融合多个注意力信息,即提取出多个共享注意力网络的输出结果,以融合包含的语义信息。
[0123]
s3.2、将两个所述共享注意力网络的特征在所述多元残差网络层进行融合得到特征向量,并将两个所述共享注意力网络的特征进行转换并通过池化层得到输出,将池化层的输出与所述特征向量进行拼接,得到第四输出结果;
[0124]
具体的,两个所述共享注意力网络在所述多元残差网络层进行融合的具体过程如下:
[0125]
a)投影:多元残差网络将两个注意力层(情绪感知模块和标准输出的最后一层)的特征a
s1
和a
s2
映射到同一对象空间,a
s1
映射为h
s1
,a
s2
映射为h
s2
,则
[0126]hs1
=a
s1
+relu(w
ms1as1
)
ꢀꢀꢀ
(15)
[0127]hs2
=a
s2
+relu(w
ms2as2
)
ꢀꢀꢀ
(16)
[0128]
其中,w
ms1
和w
ms2
为权重矩阵,可以通过公式(5)得到,relu是非线性激活函数;
[0129]
然后在同一对象空间中对h
s1
与h
s2
两个特征向量进行融合,融合后的特征向量h:
[0130][0131]
b)关联:对a
s1
和a
s2
分别与权重矩阵w进行拼接得到x1与x2,然后将得到的x1和x2进行乘积运算,从而得到z,
[0132][0133]
由于权重矩阵w可分解为:
[0134]
w=uv
t
ꢀꢀꢀꢀ
(19)
[0135]
u是w的左奇异向量组成的u*t的矩阵,v是w的前t个右奇异向量组成的v*t的矩阵;
[0136]
则z可转化为:
[0137]
[0138]
其中
°
表示哈达玛积;
[0139]
再通过池化层得到输出r:
[0140]
r=avgpool(z)
ꢀꢀ
(21)
[0141]
最后,多元残差网络将两部分的输出r与h拼接得到融合特征后的第四输出结果m,即:
[0142][0143]
s3.3、将所述第四输出结果输入至所述残差及其归一化层中得到第五结果,并将所述第五结果与所述情绪向量同时输入到所述多头交叉注意力网络中,然后经过前馈神经网络,得到对话回复输出最后经过归一化层,得到最终回复输出y。
[0144]
将m输入残差和归一化层得到a,并将得到的a与来自编码器的输出ce同时输入到多头交叉注意力网络中,然后经过前馈神经网络,得到对话回复输出最后经过归一化层,得到最终回复输出y。
[0145]
本实施例中,所述人机共情对话模型的综合损失函数l为:
[0146]
l=γ1l
emo
+γ2l
att
+γ3l
gen
[0147]
其中,γ1,γ2,γ3为超参数;
[0148]
其中,l
emo
为情绪损失函数,l
att
为kemp编码器中的情绪注意损失,
[0149][0150][0151][0152]
其中,h是注意力头的数量,min-max()是最小最大的归一化,va(x)和ar(x)表示词语x的vad向量中的效价和唤醒维度的值,k为上下文概念网络中顶点的数量,an表示第n个头部的自我注意机制,y
j-1
代表最后一个单词,vi代表上下文概念网络中的顶点;
[0153]
l
gen
为回复生成的损失值,l
gen
具体为:
[0154][0155][0156][0157]
其中,q为上下文语句的长度,ws,we属于模型的一个权重参数,x为整个回答的语句长度,为token开始索引的概率,为token结束索引的概率,token为要抽取的结果,为或n表示头部的自我注意机制的数量,g代表实际的结果。
[0158]
实施例2
[0159]
本发明还公开了一种人机共情对话系统,包括:
[0160]
模型建立模块,用于建立人机共情对话模型,所述人机共情对话模型包括情绪上下文编码器和情绪解码器;
knowledge of nrc-vad and conceptnet.
[0177]
实验还进行了消融研究,以更好地分析本发明模型中不同成分的影响。
[0178]
(1)w/o sa为在kemp的基础上仅考虑情绪倾向度,而不考虑共享解码器的模型;
[0179]
(2)w/o emo为在kemp的基础上仅考虑共享解码器,而不考虑解码器的特征融合与情绪倾向度的模型;
[0180]
(3)w/o mrm为考虑了情绪倾向度与共享解码器,但未考虑共享解码器中的特征融合的模型。
[0181]
实验使用准确度、困惑度以及回复多样性三个指标来对模型进行评估:(1)准确度是用于评估分类性能的主要指标,情绪准确性是用于评估生成响应中的情绪类别与标签中的情绪类别之间的一致性,即分类中正确预测的样本数占样本总数的比例。(2)困惑度(ppl)(vinyals and le,2015)是用来评价语言模型的好坏,其表示模型对候选响应集的置信度,置信度越高,困惑度则越低。(3)distinct-n(li et al.,2016)用来衡量生成回复的多样性。它不依赖于标准答案,可以分为distinct-1和distinct-2。
[0182]
实验对情绪对话数据集按照8:1:1的比例进行了划分,分别为训练集、测试集以及验证集。使用预训练的glove向量来初始化单词嵌入,常用超参数与kemp模型相同。情绪编码器中的情绪个数为32,与数据集中的情绪词保持一致。共享注意力网络中注意力总层数为6层,kemp编码器中用来共享参数的注意力层设定为第2层和第3层。通过pytorch和单张tesla t4 gpu实现了所有模型,模型训练时每一批包含16组对话,迭代次数大约为30000次,时间约为5小时。
[0183]
结果及分析:
[0184]
由于本发明提出的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。
[0185]
表1:所有模型中最好的结果都用粗体突出显示。
[0186][0187]
对于如何选取编码器的权值以共享到解码器的问题,在不包含mrm模型的基础上,对比了未共享权重、共享单层权重以及不同层权重拼接的实验结果。实验结果如表2所示:
[0188]
表2:不同层融合的自动评估结果。其中,shareattetion_2表示只共享了第二层权重,shareattetion_2&3表示将第二层权重与第三层权重进行了融合,shareattetion_2&origin表示将第二层权重与原始值进行融合。
[0189][0190][0191]
接第二层与第三层的权重。
[0192]
除此之外,本发明还进行了消融研究,以更好地理解本发明的模型的主要部分的
贡献。消融研究的结果如表3所示:
[0193]
表3:ablation study
[0194][0195]
如表3所示,当在kemp的基础上只考虑情绪倾向程度而不考虑共享编码器(w/o sa)时,情绪的准确性和困惑性呈现明显的下降,这说明共享编码器对情绪的理解和生成共情回复有着至关重要的作用。当只考虑共享编码器的注意力以及共享编码器融合,但不考虑情绪倾向程度(w/o emo)的情况,我们注意到,准确性、困惑度、多样性1以及多样性2均有所下降,这证明了情绪倾向程度的重要性。本发明还研究了考虑情绪倾向度和共享编码器的注意力,但不考虑共享编码器融合(w/o mrm)的情况,从实验结果可以看到,相对于emo_sa,其准确率没有改变,但其ppl、distinct-1以及distinct-2的值均有所变差,这证明了将编码器中的原始语义信息与解码器融合的有效性。
[0196]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1