CN115795010A - 一种外部知识辅助的多因素层次建模共情对话生成方法 - Google Patents

一种外部知识辅助的多因素层次建模共情对话生成方法 Download PDF

Info

Publication number
CN115795010A
CN115795010A CN202211518984.3A CN202211518984A CN115795010A CN 115795010 A CN115795010 A CN 115795010A CN 202211518984 A CN202211518984 A CN 202211518984A CN 115795010 A CN115795010 A CN 115795010A
Authority
CN
China
Prior art keywords
emotion
representing
conversation
context
knowledge
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.)
Pending
Application number
CN202211518984.3A
Other languages
English (en)
Inventor
唐宏
彭金枝
杨浩澜
郭艳霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN202211518984.3A priority Critical patent/CN115795010A/zh
Publication of CN115795010A publication Critical patent/CN115795010A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

本发明涉及自然语言处理领域,特别涉及一种外部知识辅助的多因素层次建模共情对话生成方法,包括构建利用外部知识辅助情感分析和层次建模共情表达相关因素的共情对话生成模型,包括外部知识辅助情感分析模块、多因素层次建模模块以及对话生成模块;利用外部知识辅助情感分析模块将外部知识与对话历史结合,构建情感上下文图,从情感上下文图中学习情感上下文表征,提取情感信号;利用多因素层次建模模块将沟通机制、对话行为以及对话情感等共情表达相关因素进行层次建模,得到共情表达多因素融合嵌入;将获得情感信号和多因素融合嵌入应用于共情对话生成模块中,得到情感合适的共情回复;本发明有效地提高了对话模型生成的回复的共情性和相关性。

Description

一种外部知识辅助的多因素层次建模共情对话生成方法
技术领域
本发明涉及自然语言处理、深度学习、文本情感分析、对话生成领域,特别涉及一种外部知识辅助的多因素层次建模共情对话生成方法。
背景技术
进几年,网络中存在的海量数据为机器学习和深度学习的发展提供了条件,同时这也促使以基于深度学习的人机对话系统得到很好的发展。人机对话也属于人工智能范畴,人们可以通过与机器对话,直接进行信息的交流。人机对话场景在我们的生活中随处可见,例如百度的小度、阿里的天猫精灵、小米的小爱以及苹果的Siri等。这些对话系统的应用使得用户能够很容易地通过语音控制手机、电脑或者家电等,甚至还可以为用户提供聊天服务。
随着时代的发展,用户更倾向于将对话系统当作“灵魂伴侣”,希望能够与用户进行情感上的交流,而不仅仅是使用对话系统来完成特定的任务。因此,情感对话系统逐渐成为了对话模型的主要研究方向之一,但是,早期情感对话模型的研究大多数集中于指定情感的单轮次对话生成,这类模型不能根据用户的输入语句判断出用户此时此刻的情感,而是通过在模型编码器或者解码器额外输入一个指定的情感,用于生成带有情感的回复,而且每次回复的生成是单轮次的,也就是说模型只能与用户进行一个轮次的对话。但是在现实生活中,人们希望与机器的对话能够持续很多轮次,而且在生成带有情感的回复时,也不需要指定情感,而是通过用户的输入和对话历史信息来分析用户所处的情感状态,从而生成能够与用户产生情感共鸣的回复,这种回复生成方法被称为共情回复生成。
共情对话是从情感对话任务中衍生而来的,根据对话历史,来理解用户当前的感受,产生相应的回复,从而与用户产生情感上的共鸣。共情对话系统的主要挑战是共情表达,如何从有限的对话历史中获取更多的情感信息对于共情表达十分重要,除此之外,影响共情表达的因素也有很多,比如沟通机制、对话行为以及对话情感等,这些共情表达相关的因素之间存在某种层次关系,如何对这些因素建模也会影响生成回复的共情表达。
发明内容
为解决以上现有技术问题,本发明提出了一种外部知识辅助的多因素层次建模共情对话生成方法,包括构建利用外部知识辅助情感分析和层次建模共情表达相关因素的共情对话生成模型,该模型包括外部知识辅助情感分析模块、多因素层次建模模块以及对话生成模块;利用外部知识辅助情感分析模块将外部知识与对话历史结合,丰富有限的对话历史,构建情感上下文图,从知识丰富的情感上下文图中学习情感上下文表征,提取情感信号;利用多因素层次建模模块将沟通机制、对话行为以及对话情感等共情表达相关因素进行层次建模,得到一个共情表达多因素融合嵌入;将获得情感信号和多因素融合嵌入应用于共情对话生成模块中,得到情感合适的共情回复,对外部知识辅助的多因素层次建模共情对话生成模型的训练过程具体包括以下步骤:
S1:获取共情对话数据,对数据进行处理,生成训练数据集;
S2:采用词嵌入将共情对话数据集中的输入序列转换成相应的词向量表示;
S3:将词向量表示分别输入外部知识辅助情感分析模块和多因层次建模模块;
S4:在外部知识辅助情感分析模块中,利用外部知识ConceptNet和NRC_VAD来丰富对话上下文,构建情感上下文图;利用词嵌入层和位置嵌入层将情感上下文图中的每个顶点变成向量表示,将情感上下文图中的每个顶点表示输入Transformer编码器中,进行情感下文图编码,从而提取出情感信号ep
S5:在多因素层次建模模块中,将对话上下文的向量表示输入Transformer编码器中,预测出沟通机制CM,基于预测出的CM和对话上下文的词向量表示预测出对话行为DA,基于CM、DA和对话上下文的向量表示预测出对话情感EM,得到共情表相关的多因素融合嵌入表示eCoMAE
S6:在对话生成模块中,将情感信号ep和多因素融合嵌入eCoMAE输入进Transformer的解码器中;
S7:计算在给定对话上下文U<m的条件下生成回复Um的概率p(Um|U<m),并将该概率最大值对应的回复作为最终回复,根据最终的回复计算模型的损失函数,并将测试样本中的数据输入到模型中,通过反向传播调整模型的参数,当模型的损失函数值小于设定阈值时,完成模型的训练。
进一步的,外部知识辅助情感分析模块包括构建情感上下文图、情感上下文图编码和情感信号识别;其中:
构建情感上下文图,即通过整合外部知识与对话上下文来构建一个知识丰富的对话上下文图;
情感上下文图编码利用情感知识和全局上下文信息更新上下文图中的顶点表示,其中情感上下文图编码采用多头图注意力机制,利用情感知识和全局上下文信息更新情感上下文图中的顶点表示;
情感信号识别是识别出对话中用于共情回复的情感信号,其中情感信号识别利用具有softmax操作的线性层将顶点表示的加权和ce映射到情感标签的情感类别分布上,识别出用于共情回复的情感信号ep
进一步的,情感上下文图构建,即通过整合外部知识与对话上下文来构建一个知识丰富的对话上下文图的过程具体包括:
利用ConceptNet检索得到每一个非停止词xi的候选概念关系元组集合,表示为:
Figure BDA0003972886230000031
过滤候选概念关系元组集合中关系和置信分数大于0.1的元组得到一个概念关系子集
Figure BDA0003972886230000032
利用NRC_VAD求出概念关系子集中每个概念的情感强度值;
根据每个概念的情感强度值对每个概念关系元组进行排序,选择前K'个元组作为情感知识子图;
使用三种边连接情感知识子图中的顶点,两个连续的单词之间使用临时边连接,单词及其概念之间使用情感边连接,CLS标记与其他的顶点之间使用全局边进行连接,完成情感上下文图构建;
其中,Ti表示非停止词xi的候选概念关系元组集合;xi∈S,
Figure BDA00039728862300000412
是将对话历史展开后在开始加入CLS标记得到的一个长单词序列,CLS表示长单词序列的起始标记,m1表示表示长单词序列的长度,K表示每个非停止词xi所拥有的概念关系元组个数;
Figure BDA0003972886230000041
表示非停止词xi的第k个概念关系元组,
Figure BDA0003972886230000042
表示第k个概念关系元组中的关系,
Figure BDA0003972886230000043
表示第k个概念关系元组中的尾概念,
Figure BDA0003972886230000044
表示第k个概念关系元组中的置信分数。
进一步的,对于一个概念
Figure BDA0003972886230000045
的情感强度值,表示为:
Figure BDA0003972886230000046
其中,min-max()是最小最大归一化,||·||2表示2范数,
Figure BDA0003972886230000047
表示概念
Figure BDA0003972886230000048
在VAD向量中的Valence维度值,
Figure BDA0003972886230000049
表示概念
Figure BDA00039728862300000410
在VAD向量中的Arousal维度值。
进一步的,情感上下文图编码利用外部知识和全局上下文信息更新情感知识子图中的顶点表示的过程包括:
将顶点vi的词嵌入Ew(vi)、位置嵌入Ep(vi)以及状态嵌入Ev(vi)三者的和作为其向量表示;
采用多头图注意力机制,利用情感知识更新知识子图中的顶点表示;
使用全局上下文信息更新知识子图中的顶点表示。
进一步的,采用多头图注意力机制,利用情感知识更新知识子图中的顶点表示包括:
Figure BDA00039728862300000411
Figure BDA0003972886230000051
Figure BDA0003972886230000052
其中,||表示H个注意头的串联,αn表示第n个头的自注意力机制,
Figure BDA0003972886230000053
Figure BDA0003972886230000054
表示线性变换矩阵,dh=d/H表示每个头的维度,d表示词嵌入的维度;Ai表示顶点vi的邻接矩阵,vi是顶点vi的向量表示,vj是顶点vj的向量表示,
Figure BDA0003972886230000055
是顶点vi融入外部知识后的顶点表示。
进一步的,使用全局上下文信息更新知识子图中的顶点表示包括:
Figure BDA0003972886230000056
Figure BDA0003972886230000057
Figure BDA0003972886230000058
其中,LayerNorm是层归一化技巧,MHAtt是由H个注意头组成的多头注意力子层,FFN是以ReLU作为激活函数的两层前反馈网络;G为情感上下文图,
Figure BDA0003972886230000059
进一步的,情感信号识别的过程,即识别出用于共情回复的情感信号ep的过程包括:
Figure BDA00039728862300000510
ep=Wece
Figure BDA00039728862300000511
其中,
Figure BDA00039728862300000512
表示预测得到的情感回复,ce是顶点表示
Figure BDA00039728862300000513
在其情感强度上的加权和,ηi表示顶点vi的情感强度值,
Figure BDA00039728862300000514
表示顶点vi融入全局上下文信息之后的顶点表示,m2表示情感知识子图中的顶点个数,n表示使用全局上下文信息更新后的情感上下文图中的顶点个数;
Figure BDA00039728862300000515
表示模型中可训练的参数,q表示表示情感类别的个数,d表示词嵌入的维度;
Figure BDA0003972886230000061
表示
Figure BDA0003972886230000062
符合P(e|g)分布;P(e|g)表示在给定情感上下文图g的条件下,情感为e的概率。
进一步的,到共情表相关的多因素融合嵌入表示eCoMAE的过程包括:
使用对话历史最后一个位置的隐藏状态
Figure BDA0003972886230000063
来分层预测目标回复的沟通机制CM、对话行为DA和对话情感EM,沟通机制CM的预测过程表示为:
Figure BDA0003972886230000064
Figure BDA0003972886230000065
Figure BDA0003972886230000066
Figure BDA0003972886230000067
基于对话上下文和预测出的沟通机制来进行预测对话行为DA,该过程表示为:
Figure BDA0003972886230000068
Figure BDA0003972886230000069
基于对话上下文、预测出的沟通机制以及对话上下文,预测出对话过程中的情感,该过程表示为:
Figure BDA00039728862300000610
Figure BDA00039728862300000611
将预测的所有影响共情的因素相加得到融合嵌入eCoMAE,该过程表示为:
Figure BDA00039728862300000612
其中,
Figure BDA00039728862300000613
表示话语ui所属的说话人标签,当
Figure BDA00039728862300000614
表示编号为0的说话人的话语,当
Figure BDA00039728862300000615
表示编号为1的说话人的话语;
Figure BDA00039728862300000616
表示话语ui的对话行为标签;
Figure BDA00039728862300000617
表示话语ui的情感标签;
Figure BDA00039728862300000618
表示ui,j的符号id,ν是词典,|ν|表示词典的大小;pui,j∈[0,1024)表示ui,j的位置id,MW表示词嵌入矩阵,MP表示位置嵌入矩阵,MK表示说话人嵌入矩阵,MA表示对话行为嵌入矩阵,ME表示对话情感嵌入矩阵,[·]表示索引操作;Hx[-1]表示对话历史最后一个位置的隐藏状态;
Figure BDA0003972886230000071
表示对话历史最后一个位置的隐藏状态hx经过一个非线性层变化后的表示;
Figure BDA0003972886230000072
表示tanh激活的非线性层;
Figure BDA0003972886230000073
表示沟通机制的嵌入矩阵;
Figure BDA0003972886230000074
表示是否采用沟通机制i,当
Figure BDA0003972886230000075
表示采用沟通机制i,
Figure BDA0003972886230000076
表示未采用沟通机制i;
Figure BDA0003972886230000077
表示预测出来的沟通机制;
Figure BDA0003972886230000078
表示给定对话历史U<m的条件下沟通机制
Figure BDA0003972886230000079
采取i的概率;ER表示情感反应;IP表示解释;EX表示探索;
Figure BDA00039728862300000710
表示沟通机制
Figure BDA00039728862300000711
的向量表示;[·;·]表示向量拼接,FA是非线性层;
Figure BDA00039728862300000712
表示表示预测出来的对话行为;
Figure BDA00039728862300000713
表示在给定对话历史U<m和沟通机制
Figure BDA00039728862300000714
的条件下,预测的对话行为为Ay的概率;
Figure BDA00039728862300000715
表示预测出的对话情感;
Figure BDA00039728862300000716
表示在给定对话历史U<m、沟通机制
Figure BDA00039728862300000717
和对话行为
Figure BDA00039728862300000718
的条件下,预测的对话情感为Ey的概率。
进一步的,模型的损失函数由外部知识辅助情感分析模块、多因素层次建模模块和对话生成模块三者损失函数之和,其中:
外部知识辅助情感分析模块的损失为:
Figure BDA00039728862300000719
多因素层次建模模块的损失函数为:
Figure BDA00039728862300000720
Figure BDA00039728862300000721
Figure BDA00039728862300000722
对话生成模块的损失函数为:
Figure BDA00039728862300000723
模型总的损失函数为:
L=Lemo+LC+LA+LE+Lg
其中,
Figure BDA0003972886230000081
表示在给定对话历史U<m的条件下,真实的沟通机制为
Figure BDA0003972886230000082
的概率;
Figure BDA0003972886230000083
表示在给定对话历史U<m和真实沟通机制
Figure BDA0003972886230000084
的条件下,真实的对话行为为
Figure BDA0003972886230000085
的概率;
Figure BDA0003972886230000086
表示在给定对话历史U<m、真实沟通机制以及真实对话行为
Figure BDA0003972886230000087
的条件下,真实的对话情感为
Figure BDA0003972886230000088
的概率;
Figure BDA0003972886230000089
表示在给定对话历史U<m、真实沟通机制
Figure BDA00039728862300000810
真实对话行为
Figure BDA00039728862300000811
真实对话情感为
Figure BDA00039728862300000812
真实情感信号为e*以及真实的前n-1个词为
Figure BDA00039728862300000813
的条件下,生成真实的词
Figure BDA00039728862300000814
的概率;
Figure BDA00039728862300000815
表示预测的情感信号;e*表示真实的情感信号;
Figure BDA00039728862300000816
表示表示真实的沟通机制;U<m表示对话历史;
Figure BDA00039728862300000817
表示真实的对话行为;
Figure BDA00039728862300000818
表示真实的沟通机制;
Figure BDA00039728862300000819
表示真实的对话情感;Nm表示生成回复的长度;
Figure BDA00039728862300000820
表示n时刻真实的生成词;
Figure BDA00039728862300000821
表示前n-1时刻真实的生成词;Lemo表示外部知识辅助情感分析模块的情感信号识别损失,LC表示沟通机制预测损失,LA表示对话行为预测损失,LE表示对话情感预测损失,Lg表示对话生成模块在生成回复时的生成损失,L表示模型的总损失。
本发明很好地借助了外部知识来辅助对话模型进行情感分析,有效地利用层次框架模型对共情表达相关因素进行建模,从而提升了模型生成回复的共情性欲与相关性。
附图说明
图1为本发明的外部知识辅助的多因素层次建模共情对话生成模型结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出了一种外部知识辅助的多因素层次建模共情对话生成方法,包括构建利用外部知识辅助情感分析和层次建模共情表达相关因素的共情对话生成模型,该模型包括外部知识辅助情感分析模块、多因素层次建模模块以及对话生成模块;利用外部知识辅助情感分析模块将外部知识与对话历史结合,丰富有限的对话历史,构建情感上下文图,从知识丰富的情感上下文图中学习情感上下文表征,提取情感信号;利用多因素层次建模模块将沟通机制、对话行为以及对话情感等共情表达相关因素进行层次建模,得到一个共情表达多因素融合嵌入;将获得情感信号和多因素融合嵌入应用于共情对话生成模块中,得到情感合适的共情回复,对外部知识辅助的多因素层次建模共情对话生成模型的训练过程具体包括以下步骤:
S1:获取共情对话数据,对数据进行处理,生成训练数据集;
S2:采用词嵌入将共情对话数据集中的输入序列转换成相应的词向量表示;
S3:将词向量表示分别输入外部知识辅助情感分析模块和多因层次建模模块;
S4:在外部知识辅助情感分析模块中,利用外部知识ConceptNet和NRC_VAD来丰富对话上下文,构建情感上下文图;利用词嵌入层和位置嵌入层将情感上下文图中的每个顶点变成向量表示,将情感上下文图中的每个顶点表示输入Transformer编码器中,进行情感下文图编码,从而提取出情感信号ep
S5:在多因素层次建模模块中,将对话上下文的向量表示输入Transformer编码器中,预测出沟通机制CM,基于预测出的CM和对话上下文的词向量表示预测出对话行为DA,基于CM、DA和对话上下文的向量表示预测出对话情感EM,得到共情表相关的多因素融合嵌入表示eCoMAE
S6:在对话生成模块中,将情感信号ep和多因素融合嵌入eCoMAE输入进Transformer的解码器中;
S7:计算在给定对话上下文U<m的条件下生成回复Um的概率p(Um|U<m),并将该概率最大值对应的回复作为最终回复,根据最终的回复计算模型的损失函数,并将测试样本中的数据输入到模型中,通过反向传播调整模型的参数,当模型的损失函数值小于设定阈值时,完成模型的训练。
如图1,本实施例中外部知识辅助的多因素层次建模共情对话生成模型包括外部知识辅助情感分析模块、多因素层次建模模块以及对话生成模块,用户将数据分别输入外部知识辅助情感分析模块和多因素层次建模模块,外部知识辅助情感分析模块和多因素层次建模模块得到的输出进行相加后输入对话生成模块生成回复作为模型的输出,其中外部知识辅助情感分析模块结合外部知识和对话上下文,构建一个情感知识丰富的对话上下文图,丰富了有限的对话历史,从知识丰富的对话上下文图中识别情感信号,由情感上下文图构建、情感上下文图编码和情感信号识别三部分构成,如图1所示,该模块包括以下操作:
第一步,通过与ConceptNet和NRC_VAD交互来丰富有限的对话历史,使对话历史中包含丰富的情感知识。
首先,利用ConceptNet检索得到每一个非停止词xi的候选概念关系元组集合,表示为:
Figure BDA0003972886230000101
其中,xi∈S,
Figure BDA0003972886230000108
是将对话历史展开后在开始加入CLS标记得到的一个长单词序列,CLS表示长单词序列的起始标记,m1表示表示长单词序列的长度,K表示每个非停止词xi所拥有的概念关系元组个数;
Figure BDA0003972886230000102
表示非停止词xi的第k个概念关系元组,
Figure BDA0003972886230000103
表示第k个概念关系元组中的关系,
Figure BDA0003972886230000104
表示第k个概念关系元组中的尾概念,
Figure BDA0003972886230000105
表示第k个概念关系元组中的置信分数,元组信息可以通过ConceptNet获取,本发明不再赘述。
其次,过滤候选概念关系元组集合中具有关系和置信分数大于0.1的元组得到一个概念关系子集
Figure BDA0003972886230000106
利用NRC_VAD求出概念关系子集中每个概念的情感强度值,对于一个概念
Figure BDA0003972886230000107
k=1,,K的情感强度值,表示为:
Figure BDA0003972886230000111
其中,min-max()是最小最大归一化,||·||2表示2范数,
Figure BDA0003972886230000112
Figure BDA0003972886230000113
分别表示概念
Figure BDA0003972886230000114
的VAD向量中的Valence和Arousal维度值。
然后,根据每个概念的情感强度值对每个概念关系元组进行排序,选择前K'个元组作为情感知识子图。
最后,使用三种边连接情感知识子图中的顶点,两个连续的单词之间使用临时边连接,单词及其概念之间使用情感边连接,CLS标记与其他的顶点之间使用全局边进行连接。
第二步,利用外部知识和全局上下文信息更新情感知识子图中的顶点表示。
首先,将顶点vi的词嵌入Ew(vi)、位置嵌入Ep(vi)以及状态嵌入Ev(vi)三者的和作为其向量表示,表示为:
vi=Ew(vi)+Ep(vi)+Ev(vi)
其次,采用多头图注意力机制,利用情感知识更新知识子图中的顶点表示,该过程表示为:
Figure BDA0003972886230000115
Figure BDA0003972886230000116
Figure BDA0003972886230000117
其中,||表示H个注意头的串联,Ai表示顶点vi的邻接矩阵,αn表示第n个头的自注意力机制,
Figure BDA0003972886230000118
Figure BDA0003972886230000119
表示线性变换,dh=d/H表示每个头的维度,d表示词嵌入的维度。
然后,使用全局上下文信息更新知识子图中的顶点表示,以建模全局交互,该过程表示为:
Figure BDA00039728862300001110
Figure BDA0003972886230000121
其中,LayerNorm是层归一化技巧,MHAtt是由H个注意头组成的多头注意力子层,FFN是以ReLU作为两层激活函数的两层前反馈网络。
最后,情感上下文图被表示为
Figure BDA0003972886230000122
其中
Figure BDA0003972886230000123
第三步,从情感上下文图中学习情感信号,以指导共情回复生成,该过程表示为:
Figure BDA0003972886230000124
ep=Wece
Figure BDA0003972886230000125
其中,符号“^”表示预测值,例如
Figure BDA0003972886230000126
表示预测得到的情感回复;ce是顶点表示
Figure BDA0003972886230000127
在其情感强度上的加权和,ηi表示顶点vi的情感强度值,
Figure BDA0003972886230000128
表示顶点vi融入全局上下文信息之后的顶点表示,m2表示情感知识子图中的顶点个数,n表示使用全局上下文信息更新后的情感上下文图中的顶点个数;
Figure BDA0003972886230000129
表示模型中可训练的参数,q表示表示情感类别的个数,d表示词嵌入的维度;
Figure BDA00039728862300001210
表示
Figure BDA00039728862300001211
符合P(e|g)分布;P(e|g)表示在给定情感上下文图g的条件下,情感为e的概率。
第四步,利用层次框架以分层的方式对共情表达相关因素进行建模,得到一个共情表达多因素融合嵌入表示。
首先,将对话历史中的话语
Figure BDA00039728862300001212
中的每个单词表示为说话人嵌入、对话行为嵌入、对话情感嵌入、词嵌入和位置嵌入的和,表示为:
Figure BDA00039728862300001213
其中,
Figure BDA00039728862300001214
(只有两名说话人)表示话语ui所属的说话人标签,
Figure BDA00039728862300001215
表示话语ui的对话行为标签,
Figure BDA00039728862300001216
表示话语ui的情感标签,
Figure BDA00039728862300001217
(ν是词典)表示ui,j的符号id,
Figure BDA0003972886230000131
(1024是模型的最大输入长度)表示ui,j的位置id,MW表示词嵌入矩阵,MP表示位置嵌入矩阵,MK表示说话人嵌入矩阵,MA表示对话行为嵌入矩阵,ME表示对话情感嵌入矩阵,[·]表示索引操作。
然后,使用对话历史最后一个位置的隐藏状态
Figure BDA0003972886230000132
来分层预测目标回复的沟通机制CM、对话行为DA和对话情感EM,沟通机制CM的预测过程表示为:
Figure BDA0003972886230000133
Figure BDA0003972886230000134
Figure BDA0003972886230000135
Figure BDA0003972886230000136
其中,i∈{ER,IP,EX},
Figure BDA0003972886230000137
表示是否采用对话行为i,
Figure BDA0003972886230000138
是用tanh激活的非线性层,
Figure BDA0003972886230000139
表示沟通机制的嵌入矩阵。
对话行为DA是基于对话上下文和预测出的沟通机制来进行预测的,该过程表示为:
Figure BDA00039728862300001310
Figure BDA00039728862300001311
其中,[·;·]表示向量拼接,FA是非线性层,MA是对话行为的嵌入矩阵。
基于对话上下文、预测出的沟通机制以及对话上下文,预测出对话过程中的情感,该过程表示为:
Figure BDA00039728862300001312
Figure BDA00039728862300001313
其中,FE是非线性层,ME是对话情感的嵌入矩阵。
最后,将预测的所有影响共情的因素相加得到融合嵌入eCoMAE,该过程表示为:
Figure BDA0003972886230000141
第五步,利用transformer解码器来生成最终回复,将词嵌入表示、位置嵌入表示、说话人嵌入表示、多因素融合嵌入表示以及外部知识辅助情感分析得到的情感信号的向量表示相加作为模型的输入,通过将给定对话上下文U<m条件下的生成回复Um的概率最大化得到共情回复,表示为:
Figure BDA0003972886230000142
Figure BDA0003972886230000143
其中,
Figure BDA0003972886230000144
表示n-1时刻生成的单词
Figure BDA0003972886230000145
的向量表示,e表示外部知识辅助情感分析部分得到的情感类别信息,
Figure BDA0003972886230000146
表示在给定n时刻前生成词
Figure BDA0003972886230000147
对话上下文U<m、沟通机制
Figure BDA0003972886230000148
对话行为
Figure BDA0003972886230000149
对话情感
Figure BDA00039728862300001410
以及情感信号
Figure BDA00039728862300001411
时n时刻生成词
Figure BDA00039728862300001412
的概率。
第六步,计算模型的损失函数,通过最小化负对数似然损失函数训练模型,模型的损失函数由外部知识辅助情感分析模块、多因素层次建模模块和对话生成模块三者损失函数之和,其中:
外部知识辅助情感分析模块的损失为:
Figure BDA00039728862300001413
多因素层次建模模块的损失函数为:
Figure BDA00039728862300001414
Figure BDA00039728862300001415
Figure BDA00039728862300001416
对话生成模块的损失函数为:
Figure BDA0003972886230000151
模型总的损失函数为:
L=Lemo+LC+LA+LE+Lg
其中符号“*”表示真实值,Lemo表示外部知识辅助情感分析模块的情感感知损失,LC表示沟通机制预测损失,LA表示对话行为预测损失,LE表示对话情感预测损失,Lg表示对话生成模块在生成回复时的生成损失,L表示模型的总损失。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (10)

1.一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,构建利用外部知识辅助情感分析和层次建模共情表达相关因素的共情对话生成模型,该模型包括外部知识辅助情感分析模块、多因素层次建模模块以及对话生成模块;利用外部知识辅助情感分析模块将外部知识与对话历史结合,丰富有限的对话历史,构建情感上下文图,从情感上下文图中学习情感上下文表征,提取情感信号;利用多因素层次建模模块将沟通机制、对话行为以及对话情感等共情表达相关因素进行层次建模,得到一个共情表达多因素融合嵌入;将获得情感信号和多因素融合嵌入应用于共情对话生成模块中,得到情感合适的共情回复,对外部知识辅助的多因素层次建模共情对话生成模型的训练过程具体包括以下步骤:
S1:获取共情对话数据,对数据进行处理,生成训练数据集;
S2:采用词嵌入将共情对话数据集中的输入序列转换成相应的词向量表示;
S3:将词向量表示分别输入外部知识辅助情感分析模块和多因层次建模模块;
S4:在外部知识辅助情感分析模块中,利用外部知识ConceptNet和NRC_VAD来丰富对话上下文,构建情感上下文图;利用词嵌入层和位置嵌入层将情感上下文图中的每个顶点变成向量表示,将情感上下文图中的每个顶点表示输入Transformer编码器中,进行情感下文图编码,从而提取出情感信号ep
S5:在多因素层次建模模块中,将对话上下文的向量表示输入Transformer编码器中,预测出沟通机制CM,基于预测出的CM和对话上下文的词向量表示预测出对话行为DA,基于CM、DA和对话上下文的向量表示预测出对话情感EM,得到共情表相关的多因素融合嵌入表示eCoMAE
S6:在对话生成模块中,将情感信号ep和多因素融合嵌入eCoMAE输入进Transformer的解码器中;
S7:计算在给定对话上下文U<m的条件下生成回复Um的概率p(Um|U<m),并将该概率最大值对应的回复作为最终回复,根据最终的回复计算模型的损失函数,并将测试样本中的数据输入到模型中,通过反向传播调整模型的参数,当模型的损失函数值小于设定阈值时,完成模型的训练。
2.根据权利要求1所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,外部知识辅助情感分析模块包括构建情感上下文图、情感上下文图编码和情感信号识别;其中:
构建情感上下文图,即通过整合外部知识与对话上下文来构建一个知识丰富的对话上下文图;
情感上下文图编码利用情感知识和全局上下文信息更新上下文图中的顶点表示,其中情感上下文图编码采用多头图注意力机制,利用情感知识和全局上下文信息更新情感上下文图中的顶点表示;
情感信号识别是识别出对话中用于共情回复的情感信号,其中情感信号识别利用具有softmax操作的线性层将顶点表示的加权和ce映射到情感标签的情感类别分布上,识别出用于共情回复的情感信号ep
3.根据权利要求2所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,情感上下文图构建,即通过整合外部知识与对话上下文来构建一个知识丰富的对话上下文图的过程具体包括:
利用ConceptNet检索得到每一个非停止词xi的候选概念关系元组集合,表示为:
Figure FDA0003972886220000021
过滤候选概念关系元组集合中关系和置信分数大于0.1的元组得到一个概念关系子集
Figure FDA0003972886220000022
利用NRC_VAD求出概念关系子集中每个概念的情感强度值;
根据每个概念的情感强度值对每个概念关系元组进行排序,选择前K'个元组作为情感知识子图;
使用三种边连接情感知识子图中的顶点,两个连续的单词之间使用临时边连接,单词及其概念之间使用情感边连接,CLS标记与其他的顶点之间使用全局边进行连接,完成情感上下文图构建;
其中,Ti表示非停止词xi的候选概念关系元组集合;xi∈S,
Figure FDA00039728862200000312
是将对话历史展开后在开始加入CLS标记得到的一个长单词序列,CLS表示长单词序列的起始标记,m1表示表示长单词序列的长度,K表示每个非停止词xi所拥有的概念关系元组个数;
Figure FDA0003972886220000031
表示非停止词xi的第k个概念关系元组,
Figure FDA0003972886220000032
表示第k个概念关系元组中的关系,
Figure FDA0003972886220000033
表示第k个概念关系元组中的尾概念,
Figure FDA0003972886220000034
表示第k个概念关系元组中的置信分数。
4.根据权利要求3所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,对于一个概念
Figure FDA0003972886220000035
的情感强度值,表示为:
Figure FDA0003972886220000036
其中,min-max()是最小最大归一化,||·||2表示2范数,
Figure FDA0003972886220000037
表示概念
Figure FDA0003972886220000038
在VAD向量中的Valence维度值,
Figure FDA0003972886220000039
表示概念
Figure FDA00039728862200000310
在VAD向量中的Arousal维度值。
5.根据权利要求2所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,情感上下文图编码利用外部知识和全局上下文信息更新情感知识子图中的顶点表示的过程包括:
将顶点vi的词嵌入Ew(vi)、位置嵌入Ep(vi)以及状态嵌入Ev(vi)三者的和作为其向量表示;
采用多头图注意力机制,利用情感知识更新知识子图中的顶点表示;
使用全局上下文信息更新知识子图中的顶点表示。
6.根据权利要求5所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,采用多头图注意力机制,利用情感知识更新知识子图中的顶点表示包括:
Figure FDA00039728862200000311
Figure FDA0003972886220000041
Figure FDA0003972886220000042
其中,||表示H个注意头的串联,αn表示第n个头的自注意力机制,
Figure FDA0003972886220000043
Figure FDA0003972886220000044
表示线性变换矩阵,dh=d/H表示每个头的维度,d表示词嵌入的维度;Ai表示顶点vi的邻接矩阵,vi是顶点vi的向量表示,vj是顶点vj的向量表示,
Figure FDA0003972886220000045
是顶点vi融入外部知识后的顶点表示。
7.根据权利要求5所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,使用全局上下文信息更新知识子图中的顶点表示包括:
Figure FDA0003972886220000046
Figure FDA0003972886220000047
Figure FDA0003972886220000048
其中,LayerNorm是层归一化技巧,MHAtt是由H个注意头组成的多头注意力子层,FFN是以ReLU作为激活函数的两层前反馈网络;G为情感上下文图,
Figure FDA0003972886220000049
8.根据权利要求2所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,情感信号识别的过程,即识别出用于共情回复的情感信号ep的过程包括:
Figure FDA00039728862200000410
ep=Wece
Figure FDA00039728862200000411
其中,
Figure FDA00039728862200000412
表示预测得到的情感回复,ce是顶点表示
Figure FDA00039728862200000413
在其情感强度上的加权和,ηi表示顶点vi的情感强度值,
Figure FDA00039728862200000414
表示顶点vi融入全局上下文信息之后的顶点表示,m2表示情感知识子图中的顶点个数,n表示使用全局上下文信息更新后的情感上下文图中的顶点个数;
Figure FDA0003972886220000051
表示模型中可训练的参数,q表示表示情感类别的个数,d表示词嵌入的维度;
Figure FDA0003972886220000052
表示
Figure FDA0003972886220000053
符合P(e|g)分布;P(e|g)表示在给定情感上下文图g的条件下,情感为e的概率。
9.根据权利要求1所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,到共情表相关的多因素融合嵌入表示eCoMAE的过程包括:
使用对话历史最后一个位置的隐藏状态
Figure FDA0003972886220000054
来分层预测目标回复的沟通机制CM、对话行为DA和对话情感EM,沟通机制CM的预测过程表示为:
Figure FDA0003972886220000055
Figure FDA0003972886220000056
Figure FDA0003972886220000057
Figure FDA0003972886220000058
基于对话上下文和预测出的沟通机制来进行预测对话行为DA,该过程表示为:
Figure FDA0003972886220000059
Figure FDA00039728862200000510
基于对话上下文、预测出的沟通机制以及对话上下文,预测出对话过程中的情感,该过程表示为:
Figure FDA00039728862200000511
Figure FDA00039728862200000512
将预测的所有影响共情的因素相加得到融合嵌入eCoMAE,该过程表示为:
Figure FDA00039728862200000513
其中,
Figure FDA00039728862200000514
表示话语ui所属的说话人标签,当
Figure FDA00039728862200000515
表示编号为0的说话人的话语,当
Figure FDA0003972886220000061
表示编号为1的说话人的话语;
Figure FDA0003972886220000062
表示话语ui的对话行为标签;
Figure FDA0003972886220000063
表示话语ui的情感标签;
Figure FDA0003972886220000064
表示ui,j的符号id,ν是词典,|ν|表示词典的大小;
Figure FDA0003972886220000065
表示ui,j的位置id,MW表示词嵌入矩阵,MP表示位置嵌入矩阵,MK表示说话人嵌入矩阵,MA表示对话行为嵌入矩阵,ME表示对话情感嵌入矩阵,[·]表示索引操作;Hx[-1]表示对话历史最后一个位置的隐藏状态;
Figure FDA0003972886220000066
表示对话历史最后一个位置的隐藏状态hx经过一个非线性层变化后的表示;
Figure FDA0003972886220000067
表示tanh激活的非线性层;
Figure FDA0003972886220000068
表示沟通机制的嵌入矩阵;
Figure FDA0003972886220000069
表示是否采用沟通机制i,当
Figure FDA00039728862200000610
表示采用沟通机制i,
Figure FDA00039728862200000611
表示未采用沟通机制i;
Figure FDA00039728862200000612
表示预测出来的沟通机制;
Figure FDA00039728862200000613
表示给定对话历史U<m的条件下沟通机制
Figure FDA00039728862200000614
采取i的概率;ER表示情感反应;IP表示解释;EX表示探索;
Figure FDA00039728862200000615
表示沟通机制
Figure FDA00039728862200000616
的向量表示;[·;·]表示向量拼接,FA是非线性层;
Figure FDA00039728862200000617
表示表示预测出来的对话行为;
Figure FDA00039728862200000618
表示在给定对话历史U<m和沟通机制
Figure FDA00039728862200000619
的条件下,预测的对话行为为Ay的概率;
Figure FDA00039728862200000620
表示预测出的对话情感;
Figure FDA00039728862200000621
表示在给定对话历史U<m、沟通机制
Figure FDA00039728862200000622
和对话行为
Figure FDA00039728862200000623
的条件下,预测的对话情感为Ey的概率。
10.根据权利要求1所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,模型的损失函数由外部知识辅助情感分析模块、多因素层次建模模块和对话生成模块三者损失函数之和,其中:
外部知识辅助情感分析模块的损失为:
Figure FDA00039728862200000624
多因素层次建模模块的损失函数为:
Figure FDA00039728862200000625
Figure FDA00039728862200000626
Figure FDA0003972886220000071
对话生成模块的损失函数为:
Figure FDA0003972886220000072
模型总的损失函数为:
L=Lemo+LC+LA+LE+Lg
其中,
Figure FDA0003972886220000073
表示在给定对话历史U<m的条件下,真实的沟通机制为
Figure FDA0003972886220000074
的概率;
Figure FDA0003972886220000075
表示在给定对话历史U<m和真实沟通机制
Figure FDA0003972886220000076
的条件下,真实的对话行为为
Figure FDA0003972886220000077
的概率;
Figure FDA0003972886220000078
表示在给定对话历史U<m、真实沟通机制以及真实对话行为
Figure FDA0003972886220000079
的条件下,真实的对话情感为
Figure FDA00039728862200000710
的概率;
Figure FDA00039728862200000711
表示在给定对话历史U<m、真实沟通机制
Figure FDA00039728862200000712
真实对话行为
Figure FDA00039728862200000713
真实对话情感为
Figure FDA00039728862200000714
真实情感信号为e*以及真实的前n-1个词为
Figure FDA00039728862200000715
的条件下,生成真实的词
Figure FDA00039728862200000716
的概率;
Figure FDA00039728862200000717
表示预测的情感信号;e*表示真实的情感信号;
Figure FDA00039728862200000718
表示表示真实的沟通机制;U<m表示对话历史;
Figure FDA00039728862200000719
表示真实的对话行为;
Figure FDA00039728862200000720
表示真实的沟通机制;
Figure FDA00039728862200000721
表示真实的对话情感;Nm表示生成回复的长度;
Figure FDA00039728862200000722
表示n时刻真实的生成词;
Figure FDA00039728862200000723
表示前n-1时刻真实的生成词;Lemo表示外部知识辅助情感分析模块的情感信号识别损失,LC表示沟通机制预测损失,LA表示对话行为预测损失,LE表示对话情感预测损失,Lg表示对话生成模块在生成回复时的生成损失,L表示模型的总损失。
CN202211518984.3A 2022-11-30 2022-11-30 一种外部知识辅助的多因素层次建模共情对话生成方法 Pending CN115795010A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211518984.3A CN115795010A (zh) 2022-11-30 2022-11-30 一种外部知识辅助的多因素层次建模共情对话生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211518984.3A CN115795010A (zh) 2022-11-30 2022-11-30 一种外部知识辅助的多因素层次建模共情对话生成方法

Publications (1)

Publication Number Publication Date
CN115795010A true CN115795010A (zh) 2023-03-14

Family

ID=85443627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211518984.3A Pending CN115795010A (zh) 2022-11-30 2022-11-30 一种外部知识辅助的多因素层次建模共情对话生成方法

Country Status (1)

Country Link
CN (1) CN115795010A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116680369A (zh) * 2023-04-13 2023-09-01 华中师范大学 一种共情对话生成方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116680369A (zh) * 2023-04-13 2023-09-01 华中师范大学 一种共情对话生成方法及系统
CN116680369B (zh) * 2023-04-13 2023-12-15 华中师范大学 一种共情对话生成方法及系统

Similar Documents

Publication Publication Date Title
CN111488739B (zh) 基于多粒度生成图像增强表示的隐式篇章关系识别方法
WO2021233112A1 (zh) 基于多模态机器学习的翻译方法、装置、设备及存储介质
CN110609891A (zh) 一种基于上下文感知图神经网络的视觉对话生成方法
CN110321418B (zh) 一种基于深度学习的领域、意图识别和槽填充方法
CN113987179B (zh) 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质
CN110297887B (zh) 基于云平台的服务机器人个性化对话系统及方法
CN110647612A (zh) 一种基于双视觉注意力网络的视觉对话生成方法
CN114998670B (zh) 多模态信息预训练方法及系统
CN114722838A (zh) 基于常识感知和层次化多任务学习的对话情感识别方法
CN115964467A (zh) 一种融合视觉情境的富语义对话生成方法
CN114973062A (zh) 基于Transformer的多模态情感分析方法
CN113065344A (zh) 一种基于迁移学习和注意力机制的跨语料库情感识别方法
CN114911932A (zh) 基于主题语义增强的异构图结构多会话者情感分析方法
CN113360610A (zh) 基于Transformer模型的对话生成方法及系统
CN114385802A (zh) 一种融合主题预测和情感推理的共情对话生成方法
CN112183106A (zh) 一种基于音素联想及深度学习的语义理解方法及装置
CN115795010A (zh) 一种外部知识辅助的多因素层次建模共情对话生成方法
CN114360584A (zh) 一种基于音素级的语音情感分层式识别方法及系统
CN112349294A (zh) 语音处理方法及装置、计算机可读介质、电子设备
CN112307179A (zh) 文本匹配方法、装置、设备及存储介质
CN115730070B (zh) 一种人机共情对话方法、系统、电子设备和介质
CN111414466A (zh) 一种基于深度模型融合的多轮对话建模方法
CN115374281B (zh) 基于多粒度融合和图卷积网络的会话情感分析方法
CN114239575B (zh) 语句分析模型的构建方法、语句分析方法、装置、介质和计算设备
Balayn et al. Data-driven development of virtual sign language communication agents

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