人机对话中智能体对话语句的生成方法和装置

文档序号:25214000发布日期:2021-05-28 14:10阅读:来源:国知局

技术特征:

1.一种人机对话中智能体对话语句的生成方法,其特征在于,包括:

利用预先训练的自然语言理解模型,从当前人机对话的对话历史数据中,提取预设知识库中的属性值和场景类别;其中,所述知识库由知识三元组构成;

基于所述属性值和所述场景类别,从所述知识库中筛选出相关的知识三元组,得到候选知识子集;

基于所述对话历史数据和所述候选知识子集,利用预先训练的对话生成模型,为智能体生成当前的响应语句并输出。

2.根据权利要求1所述的方法,其特征在于,所述提取预设知识库中的属性值和场景类别包括:

将所述对话历史数据与预设特殊标记拼接后,输入至所述自然语言理解模型的编码器进行编码,得到相应的对话历史向量和场景信息向量;

将所述对话历史向量,输入至所述自然语言理解模型的crf层进行序列标注,得到所述对话历史数据包含的所述属性值;

将所述场景信息向量,输入至所述自然语言理解模型的多层感知机进行场景分类,得到所述人机对话的场景类别。

3.根据权利要求1所述的方法,其特征在于,所述基于所述属性值和所述场景类别,从所述知识库中筛选出相关的知识三元组,得到候选知识子集包括:

如果所述场景类别为闲聊,则遍历每个所述属性值,从所述知识库中查找包含该属性值的知识三元组,利用查找出的所有知识三元组,构建所述候选知识子集;

如果所述场景类别为问答,则遍历所述对话历史数据中最新一轮对话包含的每个属性值,从所述知识库中查找包含该属性值的知识三元组;利用查找出的所有知识三元组,构建所述候选知识子集;

如果所述场景类别为推荐,则将所述属性值中的所有主键实体值进行两两组合,遍历每种所述组合,确定该组合中的属性值具有的共同属性值,对于每个所述共同属性值,从所述知识库中查找包含该共同属性值的知识三元组;利用查找出的所有知识三元组,构建所述候选知识子集;

如果所述场景类别为任务型对话,则遍历所述属性值中的每个主键实体值,从所述知识库中查找包含该主键实体值且与当前人机对话任务相关的知识三元组,利用查找出的所有知识三元组,构建所述候选知识子集。

4.根据权利要求1所述的方法,其特征在于,所述基于所述对话历史数据和所述候选知识子集,利用预先训练的对话生成模型,为智能体生成当前的响应语句包括:

将所述对话历史数据,输入至所述对话生成模型的对话编码器进行编码处理,得到所述对话历史数据的综合表征向量c和所述对话历史数据包含的所有词的词向量;

将所述候选知识子集,输入至所述对话生成模型的知识编码器进行编码,得到所述候选知识子集的综合表征向量kg和所述候选知识子集中每条知识三元组的向量表示;

基于所述对话历史数据的综合表征向量c、所述候选知识子集的综合表征向量kg、所述词向量和所述知识三元组的向量表示,利用所述对话生成模型的自然语言生成器,生成所述响应语句。

5.根据权利要求4所述的方法,其特征在于,所述将所述对话历史数据,输入至所述对话生成模型的对话编码器进行编码处理包括:

通过在所述对话历史数据中增加每个词所属的对话角色信息和对话轮次信息,对所述对话历史数据进行扩充;

按照对话轮次,对所述扩充后的对话历史数据进行划分;

利用句子级双向门限循环神经网络bigru,对所述划分得到的每轮对话数据进行编码,得到每轮对话包含的所有词的词向量;

基于每轮对话包含的所有词的词向量,采用自注意力机制计算每轮对话的第一对话向量;

利用对话轮次级bigru,对所有轮对话的所述第一对话向量进行编码,得到每轮对话的第二对话向量;

基于所述第二对话向量,采用自注意力机制计算所述对话历史数据的综合表征向量c。

6.根据权利要求4所述的方法,其特征在于,所述将所述候选知识子集,输入至所述对话生成模型的知识编码器进行编码包括:

利用transe模型,计算所述候选知识子集中每条知识三元组的实体词向量;

基于每条知识三元组的所述实体词向量,利用多层感知机,得到所述候选知识子集中每条知识三元组的向量表示;

基于每条知识三元组的所述向量表示,利用自注意力机制,得到所述候选知识子集的综合表征向量kg。

7.根据权利要求4所述的方法,其特征在于,利用所述对话生成模型的自然语言生成器,生成所述响应语句包括:

将所述知识三元组的向量表示与所述词向量拼接,将拼接的结果m写入所述自然语言生成器的记忆网络;其中,m=[(h1,...,hn);(k1,...,kg)]=[m1,...,mn+g],hn表示第n个词向量;kg表示第g条知识三元组的向量表示;n表示词向量数量;g表示知识三元组数量;

将所述自然语言生成器的gru用于解码的初始查询向量s0,初始化为所述综合表征向量c和所述综合表征向量kg的拼接结果;

在所述gru进行解码的每个时刻t,所述gru基于上一时刻的查询向量st-1和上一时刻的生成词yt-1,生成当前时刻t的查询向量st,利用注意力机制计算所述查询向量st与所述记忆网络中每一个存储单元的相关度,得到所述查询向量st与所述对话历史数据中每个所述词的相关度以及所述查询向量st与所述候选知识子集中每条知识三元组的相关度基于所述相关度采用加权求和的方式计算所述对话历史数据的联合表示ct,基于所述相关度采用加权求和的方式计算所述候选知识子集的联合表示gt;以所述ct作为查询向量,采用多跳的方式访问所述记忆网络,得到知识分布pptr;以所述gt作为查询向量,采用多层感知机访问预设词典,得到词典分布pvocab;基于所述知识分布pptr和所述词典分布pvocab,利用门控机制得到当前时刻t的生成词yt;

所述gru基于所有时刻的所述生成词,为所述智能体生成当前的响应语句。

8.一种人机对话中智能体对话语句的生成装置,其特征在于,包括:

信息提取模块,用于利用预先训练的自然语言理解模型,从当前人机对话的对话历史数据中,提取预设知识库中的属性值和场景类别;其中,所述知识库由知识三元组构成;

知识筛选模块,用于基于所述属性值和所述场景类别,从所述知识库中筛选出相关的知识三元组,得到候选知识子集;

对话响应模块,用于基于所述对话历史数据和所述候选知识子集,利用预先训练的对话生成模型,为智能体生成当前的响应语句并输出。

9.一种人机对话中智能体对话语句的生成设备,其特征在于,包括处理器和存储器;

所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如权利要求1至7中任一项所述的人机对话中智能体对话语句的生成方法。

10.一种计算机可读存储介质,其特征在于,其中存储有计算机可读指令,该计算机可读指令用于执行如权利要求1至7中任一项所述的人机对话中智能体对话语句的生成方法。


技术总结
本申请公开了一种人机对话中智能体对话语句的生成方法和装置,其中方法包括:利用预先训练的自然语言理解模型,从当前人机对话的对话历史数据中,提取预设知识库中的属性值和场景类别;其中,所述知识库由知识三元组构成;基于所述属性值和所述场景类别,从所述知识库中筛选出相关的知识三元组,得到候选知识子集;基于所述对话历史数据和所述候选知识子集,利用预先训练的对话生成模型,为智能体生成当前的响应语句并输出。采用本发明,可以支持多任务场景的人机对话。

技术研发人员:宇洋;袁彩霞;王小捷;刘咏彬;李蕾
受保护的技术使用者:北京邮电大学
技术研发日:2021.02.01
技术公布日:2021.05.28
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1