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

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

【技术实现步骤摘要】
一种外部知识辅助的多因素层次建模共情对话生成方法


[0001]本专利技术涉及自然语言处理、深度学习、文本情感分析、对话生成领域,特别涉及一种外部知识辅助的多因素层次建模共情对话生成方法。

技术介绍

[0002]进几年,网络中存在的海量数据为机器学习和深度学习的发展提供了条件,同时这也促使以基于深度学习的人机对话系统得到很好的发展。人机对话也属于人工智能范畴,人们可以通过与机器对话,直接进行信息的交流。人机对话场景在我们的生活中随处可见,例如百度的小度、阿里的天猫精灵、小米的小爱以及苹果的Siri等。这些对话系统的应用使得用户能够很容易地通过语音控制手机、电脑或者家电等,甚至还可以为用户提供聊天服务。
[0003]随着时代的发展,用户更倾向于将对话系统当作“灵魂伴侣”,希望能够与用户进行情感上的交流,而不仅仅是使用对话系统来完成特定的任务。因此,情感对话系统逐渐成为了对话模型的主要研究方向之一,但是,早期情感对话模型的研究大多数集中于指定情感的单轮次对话生成,这类模型不能根据用户的输入语句判断出用户此时此刻的情感,而是通过在模型编码器或者解码器额外输入一个指定的情感,用于生成带有情感的回复,而且每次回复的生成是单轮次的,也就是说模型只能与用户进行一个轮次的对话。但是在现实生活中,人们希望与机器的对话能够持续很多轮次,而且在生成带有情感的回复时,也不需要指定情感,而是通过用户的输入和对话历史信息来分析用户所处的情感状态,从而生成能够与用户产生情感共鸣的回复,这种回复生成方法被称为共情回复生成。
[0004]共情对话是从情感对话任务中衍生而来的,根据对话历史,来理解用户当前的感受,产生相应的回复,从而与用户产生情感上的共鸣。共情对话系统的主要挑战是共情表达,如何从有限的对话历史中获取更多的情感信息对于共情表达十分重要,除此之外,影响共情表达的因素也有很多,比如沟通机制、对话行为以及对话情感等,这些共情表达相关的因素之间存在某种层次关系,如何对这些因素建模也会影响生成回复的共情表达。

技术实现思路

[0005]为解决以上现有技术问题,本专利技术提出了一种外部知识辅助的多因素层次建模共情对话生成方法,包括构建利用外部知识辅助情感分析和层次建模共情表达相关因素的共情对话生成模型,该模型包括外部知识辅助情感分析模块、多因素层次建模模块以及对话生成模块;利用外部知识辅助情感分析模块将外部知识与对话历史结合,丰富有限的对话历史,构建情感上下文图,从知识丰富的情感上下文图中学习情感上下文表征,提取情感信号;利用多因素层次建模模块将沟通机制、对话行为以及对话情感等共情表达相关因素进行层次建模,得到一个共情表达多因素融合嵌入;将获得情感信号和多因素融合嵌入应用于共情对话生成模块中,得到情感合适的共情回复,对外部知识辅助的多因素层次建模共情对话生成模型的训练过程具体包括以下步骤:
[0006]S1:获取共情对话数据,对数据进行处理,生成训练数据集;
[0007]S2:采用词嵌入将共情对话数据集中的输入序列转换成相应的词向量表示;
[0008]S3:将词向量表示分别输入外部知识辅助情感分析模块和多因层次建模模块;
[0009]S4:在外部知识辅助情感分析模块中,利用外部知识ConceptNet和NRC_VAD来丰富对话上下文,构建情感上下文图;利用词嵌入层和位置嵌入层将情感上下文图中的每个顶点变成向量表示,将情感上下文图中的每个顶点表示输入Transformer编码器中,进行情感下文图编码,从而提取出情感信号e
p

[0010]S5:在多因素层次建模模块中,将对话上下文的向量表示输入Transformer编码器中,预测出沟通机制CM,基于预测出的CM和对话上下文的词向量表示预测出对话行为DA,基于CM、DA和对话上下文的向量表示预测出对话情感EM,得到共情表相关的多因素融合嵌入表示e
CoMAE

[0011]S6:在对话生成模块中,将情感信号e
p
和多因素融合嵌入e
CoMAE
输入进Transformer的解码器中;
[0012]S7:计算在给定对话上下文U
<m
的条件下生成回复U
m
的概率p(U
m
|U
<m
),并将该概率最大值对应的回复作为最终回复,根据最终的回复计算模型的损失函数,并将测试样本中的数据输入到模型中,通过反向传播调整模型的参数,当模型的损失函数值小于设定阈值时,完成模型的训练。
[0013]进一步的,外部知识辅助情感分析模块包括构建情感上下文图、情感上下文图编码和情感信号识别;其中:
[0014]构建情感上下文图,即通过整合外部知识与对话上下文来构建一个知识丰富的对话上下文图;
[0015]情感上下文图编码利用情感知识和全局上下文信息更新上下文图中的顶点表示,其中情感上下文图编码采用多头图注意力机制,利用情感知识和全局上下文信息更新情感上下文图中的顶点表示;
[0016]情感信号识别是识别出对话中用于共情回复的情感信号,其中情感信号识别利用具有softmax操作的线性层将顶点表示的加权和c
e
映射到情感标签的情感类别分布上,识别出用于共情回复的情感信号e
p

[0017]进一步的,情感上下文图构建,即通过整合外部知识与对话上下文来构建一个知识丰富的对话上下文图的过程具体包括:
[0018]利用ConceptNet检索得到每一个非停止词x
i
的候选概念关系元组集合,表示为:
[0019]过滤候选概念关系元组集合中关系和置信分数大于0.1的元组得到一个概念关系子集
[0020]利用NRC_VAD求出概念关系子集中每个概念的情感强度值;
[0021]根据每个概念的情感强度值对每个概念关系元组进行排序,选择前K'个元组作为情感知识子图;
[0022]使用三种边连接情感知识子图中的顶点,两个连续的单词之间使用临时边连接,单词及其概念之间使用情感边连接,CLS标记与其他的顶点之间使用全局边进行连接,完成
情感上下文图构建;
[0023]其中,T
i
表示非停止词x
i
的候选概念关系元组集合;x
i
∈S,是将对话历史展开后在开始加入CLS标记得到的一个长单词序列,CLS表示长单词序列的起始标记,m1表示表示长单词序列的长度,K表示每个非停止词x
i
所拥有的概念关系元组个数;表示非停止词x
i
的第k个概念关系元组,表示第k个概念关系元组中的关系,表示第k个概念关系元组中的尾概念,表示第k个概念关系元组中的置信分数。
[0024]进一步的,对于一个概念的情感强度值,表示为:
[0025][0026]其中,min

max()是最小最大归一化,||
·
||2表示2范本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,构建利用外部知识辅助情感分析和层次建模共情表达相关因素的共情对话生成模型,该模型包括外部知识辅助情感分析模块、多因素层次建模模块以及对话生成模块;利用外部知识辅助情感分析模块将外部知识与对话历史结合,丰富有限的对话历史,构建情感上下文图,从情感上下文图中学习情感上下文表征,提取情感信号;利用多因素层次建模模块将沟通机制、对话行为以及对话情感等共情表达相关因素进行层次建模,得到一个共情表达多因素融合嵌入;将获得情感信号和多因素融合嵌入应用于共情对话生成模块中,得到情感合适的共情回复,对外部知识辅助的多因素层次建模共情对话生成模型的训练过程具体包括以下步骤:S1:获取共情对话数据,对数据进行处理,生成训练数据集;S2:采用词嵌入将共情对话数据集中的输入序列转换成相应的词向量表示;S3:将词向量表示分别输入外部知识辅助情感分析模块和多因层次建模模块;S4:在外部知识辅助情感分析模块中,利用外部知识ConceptNet和NRC_VAD来丰富对话上下文,构建情感上下文图;利用词嵌入层和位置嵌入层将情感上下文图中的每个顶点变成向量表示,将情感上下文图中的每个顶点表示输入Transformer编码器中,进行情感下文图编码,从而提取出情感信号e
p
;S5:在多因素层次建模模块中,将对话上下文的向量表示输入Transformer编码器中,预测出沟通机制CM,基于预测出的CM和对话上下文的词向量表示预测出对话行为DA,基于CM、DA和对话上下文的向量表示预测出对话情感EM,得到共情表相关的多因素融合嵌入表示e
CoMAE
;S6:在对话生成模块中,将情感信号e
p
和多因素融合嵌入e
CoMAE
输入进Transformer的解码器中;S7:计算在给定对话上下文U
<m
的条件下生成回复U
m
的概率p(U
m
|U
<m
),并将该概率最大值对应的回复作为最终回复,根据最终的回复计算模型的损失函数,并将测试样本中的数据输入到模型中,通过反向传播调整模型的参数,当模型的损失函数值小于设定阈值时,完成模型的训练。2.根据权利要求1所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,外部知识辅助情感分析模块包括构建情感上下文图、情感上下文图编码和情感信号识别;其中:构建情感上下文图,即通过整合外部知识与对话上下文来构建一个知识丰富的对话上下文图;情感上下文图编码利用情感知识和全局上下文信息更新上下文图中的顶点表示,其中情感上下文图编码采用多头图注意力机制,利用情感知识和全局上下文信息更新情感上下文图中的顶点表示;情感信号识别是识别出对话中用于共情回复的情感信号,其中情感信号识别利用具有softmax操作的线性层将顶点表示的加权和c
e
映射到情感标签的情感类别分布上,识别出用于共情回复的情感信号e
p
。3.根据权利要求2所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,情感上下文图构建,即通过整合外部知识与对话上下文来构建一个知识丰富的
对话上下文图的过程具体包括:利用ConceptNet检索得到每一个非停止词x
i
的候选概念关系元组集合,表示为:过滤候选概念关系元组集合中关系和置信分数大于0.1的元组得到一个概念关系子集利用NRC_VAD求出概念关系子集中每个概念的情感强度值;根据每个概念的情感强度值对每个概念关系元组进行排序,选择前K'个元组作为情感知识子图;使用三种边连接情感知识子图中的顶点,两个连续的单词之间使用临时边连接,单词及其概念之间使用情感边连接,CLS标记与其他的顶点之间使用全局边进行连接,完成情感上下文图构建;其中,T
i
表示非停止词x
i
的候选概念关系元组集合;x
i
∈S,是将对话历史展开后在开始加入CLS标记得到的一个长单词序列,CLS表示长单词序列的起始标记,m1表示表示长单词序列的长度,K表示每个非停止词x
i
所拥有的概念关系元组个数;表示非停止词x
i
的第k个概念关系元组,表示第k个概念关系元组中的关系,表示第k个概念关系元组中的尾概念,表示第k个概念关系元组中的置信分数。4.根据权利要求3所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,对于一个概念的情感强度值,表示为:其中,min

max()是最小最大归一化,||
·
||2表示2范数,表示概念在VAD向量中的Valence维度值,表示概念在VAD向量中的Arousal维度值。5.根据权利要求2所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,情感上下文图编码利用外部知识和全局上下文信息更新情感知识子图中的顶点表示的过程包括:将顶点v
i
的词嵌入E
w
(v
i
)、位置嵌入E
p
(v
i
)以及状态嵌入E
v
(v
i
)三者的和作为其向量表示;采用多头图注意力机制,利用情感知识更新知识子图中的顶点表示;使用全局上下文信息更新知识子图中的顶点表示。6.根据权利要求5所述的一种外部知识辅助的多因素层次建模共情对话生成方法,其特征在于,采用多头图注意力机制,利用情感知识更新知识子图中的顶点表示包括:征在于,采用多头图注意力机制,利用情感知识更新知识子图中的顶点表示包括:
其中,||表示H个注意头的串联,α
n
表示第n个头的自注意力机制,和表示线性变换矩阵,d
h
=d/H表示每个头的维度,d表示词嵌入的维度;A
i
表示顶点v
i
的邻接矩阵,v
i
是顶点v
i
的向量表示,v

【专利技术属性】
技术研发人员:唐宏彭金枝杨浩澜郭艳霞
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1