一种知识对话生成方法、装置、存储介质及设备制造方法及图纸

技术编号:37121122 阅读:14 留言:0更新日期:2023-04-01 05:16
本申请公开了一种知识对话生成方法、装置、存储介质及设备,该方法包括:首先获取目标对话的L轮历史对话句子;并根据其主题,获取M个与主题相关的知识句子;然后将L轮历史对话句子和M个知识句子输入至预先构建的对话生成模型,预测得到目标对话对应的回复语句;其中,对话生成模型是利用多轮历史对话语料和知识语料,根据历史对话和知识之间的相互作用,对知识进行动态选择后训练得到的。由于本申请在利用对话生成模型生成目标对话回复时,充分考虑了对话历史和知识之间的复杂交互关系,并对知识进行了动态选择,从而能够生成具备丰富知识信息的高质量回复,提高了用户体验。提高了用户体验。提高了用户体验。

【技术实现步骤摘要】
一种知识对话生成方法、装置、存储介质及设备


[0001]本申请涉及自然语言处理
,尤其涉及一种知识对话生成方法、装置、存储介质及设备。

技术介绍

[0002]随着人工智能技术的快速发展,人机交互在人们日常工作、生活中出现的频率越来越高。为了能够实现人们与机器的自然交谈,研究者们在对话系统方面进行了不断探索,以基于检索的方法和基于生成的方法构建了诸多对话系统。相比基于检索的方法构建的对话系统,基于生成的方法构建的对话系统能够生成连贯性强、丰富多样的对话回复,具备泛化性优势,同时避免了繁琐耗时的检索操作,更加灵活自然,具有较强的研究和应用价值。
[0003]但目前基于生成的方法构建的对话系统经常出现类似“我不知道”、“你说的对”这类无意义、空洞的回复内容。主要原因是系统无法理解和利用相关知识,当深入到特定的主题时就容易生成内容性不足、无实际意义的回复。而在真实聊天场景中,人们通常会根据对话中的几个词语或主题,进行发散性思维,回忆存储在脑海的相关知识,并将它们组织成连贯语句进行回复。因此,基于现有对话系统生成的对话中往往回复质量不高,用户体验较差,有必要通过融入知识增强回复质量。

技术实现思路

[0004]本申请实施例的主要目的在于提供一种知识对话生成方法、装置、存储介质及设备,能够提高生成对话的回复质量,进而提高用户体验。
[0005]本申请实施例提供了一种知识对话生成方法,包括:
[0006]获取当前目标对话的L轮历史对话句子;并根据所述目标对话的主题,获取M个与所述主题相关的知识句子;所述L和M均为大于0的正整数;
[0007]将所述L轮历史对话句子和所述M个知识句子输入至预先构建的对话生成模型,预测得到所述目标对话对应的回复语句;所述对话生成模型是利用多轮历史对话语料和知识语料,根据历史对话和知识之间的相互作用,对知识进行动态选择后训练得到的。
[0008]一种可能的实现方式中,所述对话生成模型的构建方式如下:
[0009]获取训练对话的L轮训练历史对话句子,并根据所述训练对话的训练主题,获取M个与所述训练主题相关的训练知识句子;
[0010]将所述L轮训练历史对话句子和所述M个训练知识句子输入至初始对话生成模型,训练得到所述对话生成模型;
[0011]其中,所述初始对话生成模型包括输入层、编码层、对话历史编码层、知识交互编码层。
[0012]一种可能的实现方式中,所述将所述L轮训练历史对话句子和所述M个训练知识句子输入至初始对话生成模型,训练得到所述对话生成模型,包括:
[0013]将所述L轮训练历史对话句子的字向量或词向量,以及所述M个训练知识句子的向
量表征输入所述输入层,得到所述L轮训练历史对话句子的样本输入向量和所述M个训练知识句子的样本输入向量;
[0014]将所述L轮训练历史对话句子的样本输入向量和所述M个训练知识句子的样本输入向量输入所述编码层,得到所述L轮训练历史对话句子的编码向量和所述M个训练知识句子的编码向量;
[0015]将所述L轮训练历史对话句子的编码向量输入所述对话历史编码层,进行特征增强,得到增强后的所述L轮训练历史对话句子的特征向量;
[0016]将所述增强后的所述L轮训练历史对话句子的特征向量和所述M个训练知识句子的编码向量输入所述知识交互编码层,进行交互编码,得到所述训练对话对应的训练回复语句;
[0017]利用得到的所述训练对话对应的训练回复语句、所述训练对话对应的真实回复结果以及预设损失函数对所述初始对话生成模型进行训练,得到所述对话生成模型。
[0018]一种可能的实现方式中,所述将所述L轮训练历史对话句子的编码向量输入所述对话历史编码层,进行特征增强,得到增强后的所述L轮训练历史对话句子的特征向量,包括:
[0019]将所述L轮训练历史对话句子的编码向量输入所述对话历史编码层,采用大小为L

t的动态窗口在所述L轮训练历史对话句子中,按照由近至远的顺序采样得到t个历史对话片段;所述t为大于0且不小于L

1的正整数;
[0020]构建所述t个历史对话片段各自对应的语义依存树,并根据所述语义依存树,计算所述t个历史对话片段对应的历史对话矩阵;
[0021]计算所述t个历史对话片段对应的历史对话矩阵与第L轮训练历史对话句子的编码向量之间的互注意力,并根据得到的互注意力,对所述t个历史对话片段的隐层状态进行加权求和,得到融合后的所述L轮训练历史对话句子的特征向量。
[0022]一种可能的实现方式中,所述知识交互编码层包括多头注意力层、知识交互融合注意力层和前馈神经网络层;所述将所述增强后的所述L轮训练历史对话句子的特征向量和所述M个训练知识句子的编码向量输入所述知识交互编码层,进行交互编码,得到所述训练对话对应的训练回复语句,包括:
[0023]将所述增强后的所述L轮训练历史对话句子的特征向量和当前已得到的训练回复词语序列输入所述知识交互编码层进行拼接,得到拼接向量;
[0024]将所述拼接向量输入所述多头注意力层并进行归一化处理,得到第一解码向量;
[0025]将所述第一解码向量和所述M个训练知识句子的编码向量输入所述知识交互融合注意力层,得到所述M个训练知识句子对应的权重值,并利用所述权重值,对所述M个训练知识句子进行加权求和,得到所述M个训练知识句子对应的更新后的知识表征;
[0026]利用门控机制,通过所述前馈神经网络层对所述M个训练知识句子对应的更新后的知识表征和当前已得到的训练回复词语序列进行加权和归一化处理,生成所述训练对话对应的训练回复语句。
[0027]一种可能的实现方式中,所述方法还包括:
[0028]获取验证对话的L轮验证历史对话句子,并根据所述验证对话的验证主题,获取M个与所述验证主题相关的验证知识句子;
[0029]将所述L轮验证历史对话句子和所述M个验证知识句子输入至所述对话生成模型,预测得到所述验证对话对应的验证回复语句;
[0030]当所述验证对话对应的验证回复语句与所述验证对话对应的真实回复结果不一致时,将所述验证对话重新作为所述训练对话,对所述对话生成模型进行更新,以得到更新后的对话生成模型。
[0031]一种可能的实现方式中,所述将所述L轮历史对话句子和所述M个知识句子输入至预先构建的对话生成模型,预测得到所述目标对话对应的回复语句,包括:
[0032]将所述L轮历史对话句子的字向量或词向量,以及所述M个知识句子的向量表征输入所述对话生成模型的输入层,得到所述L轮历史对话句子的输入向量和所述M个知识句子的输入向量;
[0033]将所述L轮历史对话句子的输入向量和所述M个知识句子的输入向量输入所述对话生成模型的编码层,得到所述L轮历史对话句子的编码向量和所述M个知识句子的编码向量;
[0034]将所述L轮历史对话句子的编码向量输入所述对话生成模型的对话历史编码层,进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种知识对话生成方法,其特征在于,包括:获取当前目标对话的L轮历史对话句子;并根据所述目标对话的主题,获取M个与所述主题相关的知识句子;所述L和M均为大于0的正整数;将所述L轮历史对话句子和所述M个知识句子输入至预先构建的对话生成模型,预测得到所述目标对话对应的回复语句;所述对话生成模型是利用多轮历史对话语料和知识语料,根据历史对话和知识之间的相互作用,对知识进行动态选择后训练得到的。2.根据权利要求1所述的方法,其特征在于,所述对话生成模型的构建方式如下:获取训练对话的L轮训练历史对话句子,并根据所述训练对话的训练主题,获取M个与所述训练主题相关的训练知识句子;将所述L轮训练历史对话句子和所述M个训练知识句子输入至初始对话生成模型,训练得到所述对话生成模型;其中,所述初始对话生成模型包括输入层、编码层、对话历史编码层、知识交互编码层。3.根据权利要求2所述的方法,其特征在于,所述将所述L轮训练历史对话句子和所述M个训练知识句子输入至初始对话生成模型,训练得到所述对话生成模型,包括:将所述L轮训练历史对话句子的字向量或词向量,以及所述M个训练知识句子的向量表征输入所述输入层,得到所述L轮训练历史对话句子的样本输入向量和所述M个训练知识句子的样本输入向量;将所述L轮训练历史对话句子的样本输入向量和所述M个训练知识句子的样本输入向量输入所述编码层,得到所述L轮训练历史对话句子的编码向量和所述M个训练知识句子的编码向量;将所述L轮训练历史对话句子的编码向量输入所述对话历史编码层,进行特征增强,得到增强后的所述L轮训练历史对话句子的特征向量;将所述增强后的所述L轮训练历史对话句子的特征向量和所述M个训练知识句子的编码向量输入所述知识交互编码层,进行交互编码,得到所述训练对话对应的训练回复语句;利用得到的所述训练对话对应的训练回复语句、所述训练对话对应的真实回复结果以及预设损失函数对所述初始对话生成模型进行训练,得到所述对话生成模型。4.根据权利要求3所述的方法,其特征在于,所述将所述L轮训练历史对话句子的编码向量输入所述对话历史编码层,进行特征增强,得到增强后的所述L轮训练历史对话句子的特征向量,包括:将所述L轮训练历史对话句子的编码向量输入所述对话历史编码层,采用大小为L

t的动态窗口在所述L轮训练历史对话句子中,按照由近至远的顺序采样得到t个历史对话片段;所述t为大于0且不小于L

1的正整数;构建所述t个历史对话片段各自对应的语义依存树,并根据所述语义依存树,计算所述t个历史对话片段对应的历史对话矩阵;计算所述t个历史对话片段对应的历史对话矩阵与第L轮训练历史对话句子的编码向量之间的互注意力,并根据得到的互注意力,对所述t个历史对话片段的隐层状态进行加权求和,得到融合后的所述L轮训练历史对话句子的特征向量。5.根据权利要求3所述的方法,其特征在于,所述知识交互编码层包括多头注意力层、知识交互融合注意力层和前馈神经网络层;所述将所述增强后的所述L轮训练历史对话句
子的特征向量和所述M个训练知识句子的编码向量输入所述知识交互编码层,进行交互编码,得到所述训练对话对应的训练回复语句,包括:将所述...

【专利技术属性】
技术研发人员:王宇航王栋刘权刘聪
申请(专利权)人:科大讯飞北京有限公司科大讯飞股份有限公司
类型:发明
国别省市:

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

1