会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利分类库 / 乐器;声学 / 对话推荐方法、模型的训练方法、装置、设备及介质

对话推荐方法、模型的训练方法、装置、设备及介质

申请号 CN202210154576.8 申请日 2022-02-18 公开(公告)号 CN114550705B 公开(公告)日 2024-04-12
申请人 北京百度网讯科技有限公司; 发明人 柳泽明; 刘浩; 牛正雨; 吴华; 王海峰; 熊辉;
摘要 本公开提供了一种对话推荐方法、对话推荐模型的训练方法、装置、 电子 设备、存储介质以及程序产品,涉及 数据处理 技术领域,尤其涉及语音交互、 深度学习 、 人工智能 等技术领域。具体实现方案为:获取历史对话信息;基于历史对话信息,从对话目标图谱中确定待生成的目标对话对象,对话目标图谱包括对象 节点 ,对象节点用于表征对话对象,目标对话对象是基于对象节点确定的;以及基于目标对话对象,生成用于推荐的目标对话信息。
权利要求

1.一种对话推荐方法,包括:
获取历史对话信息;
基于所述历史对话信息,从对话目标图谱中确定待生成的目标对话对象,其中,所述对话目标图谱包括对象节点,所述对象节点用于表征对话对象,所述目标对话对象是基于所述对象节点确定的;以及
基于所述目标对话对象,生成用于推荐的目标对话信息;
其中,所述基于所述历史对话信息,从对话目标图谱中确定待生成的目标对话对象包括:
基于所述历史对话信息和目标对话引导信息,从所述对话目标图谱中确定所述目标对话对象,其中,所述历史对话信息是对话期间已生成的信息,所述目标对话引导信息用于引导所述对话期间待生成的所述目标对话对象的生成;
其中,所述基于所述历史对话信息和目标对话引导信息,从对话目标图谱中确定所述目标对话对象包括:
基于所述历史对话信息,确定历史对话信息中的历史目标对话对象序列;
基于所述历史目标对话对象序列,从所述对话目标图谱中确定与所述历史目标对话对象序列的类型相同的候选对象节点;
基于所述历史目标对话对象序列、所述目标对话引导信息和所述对话目标图谱,确定所述对话目标图谱的候选对象节点的代价参数,其中,所述代价参数的数据形式包括矩阵向量,所述代价参数中的元素用于表征相邻两个候选对象节点之间的转移概率;以及基于所述候选对象节点的代价参数,从与所述候选对象节点相对应的对话对象中确定目标对话对象;
其中,所述基于所述历史目标对话对象序列、所述目标对话引导信息和所述对话目标图谱,确定所述对话目标图谱的候选对象节点的代价参数,包括:
基于第一初始代价参数和第二初始代价参数,确定所述对话目标图谱的所述候选对象节点的代价参数,其中,所述第一初始代价参数是基于所述历史目标对话对象序列和所述候选对象节点的转移矩阵确定的,所述第二初始代价参数是基于所述历史目标对话对象序列、所述目标对话引导信息和所述候选对象节点的转移矩阵确定的,所述候选对象节点的转移矩阵是基于所述对话目标图谱确定的。
2.根据权利要求1所述的方法,还包括:
基于所述对话目标图谱,确定所述候选对象节点的转移矩阵;
基于所述历史目标对话对象序列和所述候选对象节点的转移矩阵,确定所述候选对象节点的第一初始代价参数,其中,所述第一初始代价参数的数据形式包括矩阵向量;
其中,所述方法还包括:
基于所述历史目标对话对象序列、所述目标对话引导信息和所述候选对象节点的转移矩阵,确定所述候选对象节点的第二初始代价参数,其中,所述第二初始代价参数的数据形式包括矩阵向量。
3.根据权利要求1所述的方法,其中,所述基于所述候选对象节点的代价参数,从与所述候选对象节点相对应的对话对象中确定目标对话对象包括:
基于所述候选对象节点的代价参数,确定所述目标对话对象节点的跳转概率;
在确定所述跳转概率大于或者等于预定跳转阈值的情况下,基于所述候选对象节点的代价参数,从与所述候选对象节点相对应的对话对象中确定所述目标对话对象;以及在确定所述跳转概率小于所述预定跳转阈值的情况下,从所述历史目标对话对象序列中确定所述目标对话对象。
4.根据权利要求1所述的方法,其中,所述基于所述候选对象节点的代价参数,从与所述候选对象节点相对应的对话对象中确定目标对话对象包括:
基于所述候选对象节点的代价参数,确定所述目标对话对象节点的生成概率;以及在确定所述生成概率大于或者等于预定生成阈值的情况下,基于所述候选对象节点的代价参数,从与所述候选对象节点相对应的对话对象中确定所述目标对话对象。
5.根据权利要求1所述的方法,其中,所述对话目标图谱包括异构层次化对话目标图谱,所述异构层次化对话目标图谱包括多个对话目标子图谱,所述多个对话目标子图谱之间具有层级关系,所述多个对话目标子图谱中的每个对话目标子图谱包括同类型的多个对象节点,所述同类型的多个对象节点彼此之间的连接边用于表征同构关联关系,相邻两个对话目标子图谱各自的对象节点类型不同,上一层级对话目标子图谱中的多个对象节点与当前层级对话目标子图谱中的多个对象节点彼此之间的连接边用于表征异构关联关系。
6.根据权利要求5所述的方法,其中,所述目标对话对象包括多个具有层级的目标对话对象;
所述基于所述对话目标图谱,确定所述候选对象节点的转移矩阵包括:
基于所述异构层次化对话目标图谱中的异构关联关系和已确定的上一层级对话目标子图谱中的目标对象节点,确定当前层级对话目标子图谱中的候选对象节点,其中,所述上一层级对话目标子图谱中的目标对象节点与上一层级的目标对话对象相对应,所述当前层级对话目标子图谱中的候选对象节点与当前层级的候选对话对象相对应;以及基于所述当前层级对话目标子图谱的候选对象节点,确定所述当前层级的候选对象节点的转移矩阵,并将所述当前层级的候选对象节点的转移矩阵作为所述候选对象节点的转移矩阵。
7.根据权利要求1至6中任一项所述的方法,其中,所述基于所述目标对话对象,生成所述目标对话信息包括:
基于所述目标对话对象、所述历史对话信息以及所述历史目标对话对象序列,生成所述目标对话信息。
8.根据权利要求1至6中任一项所述的方法,其中,所述目标对话对象的类型包括以下至少一项:用于推荐的对话类型、对话主题、以及主题属性。
9.一种对话推荐模型的训练方法,包括:
利用训练样本训练对话推荐模型,得到经训练的对话推荐模型;
其中,所述经训练的对话推荐模型用于:
获取历史对话信息;
基于所述历史对话信息,从对话目标图谱中确定待生成的目标对话对象,其中,所述对话目标图谱包括对象节点,所述对象节点用于表征对话对象,所述目标对话对象是基于所述对象节点确定的;以及
基于所述目标对话对象,生成用于推荐的目标对话信息;
其中,所述基于所述历史对话信息,从对话目标图谱中确定待生成的目标对话对象包括:
基于所述历史对话信息和目标对话引导信息,从所述对话目标图谱中确定所述目标对话对象,其中,所述历史对话信息是对话期间已生成的信息,所述目标对话引导信息用于引导所述对话期间待生成的所述目标对话对象的生成;
其中,所述基于所述历史对话信息和目标对话引导信息,从对话目标图谱中确定所述目标对话对象包括:
基于所述历史对话信息,确定历史对话信息中的历史目标对话对象序列;
基于所述历史目标对话对象序列,从所述对话目标图谱中确定与所述历史目标对话对象序列的类型相同的候选对象节点;
基于所述历史目标对话对象序列、所述目标对话引导信息和所述对话目标图谱,确定所述对话目标图谱的候选对象节点的代价参数,其中,所述代价参数包括转移代价矩阵,所述代价参数中的元素用于表征相邻两个候选对象节点之间的转移概率;以及基于所述候选对象节点的代价参数,从与所述候选对象节点相对应的对话对象中确定目标对话对象;
其中,所述基于所述历史目标对话对象序列、所述目标对话引导信息和所述对话目标图谱,确定所述对话目标图谱的候选对象节点的代价参数,包括:
基于第一初始代价参数和第二初始代价参数,确定所述对话目标图谱的所述候选对象节点的代价参数,其中,所述第一初始代价参数是基于所述历史目标对话对象序列和所述候选对象节点的转移矩阵确定的,所述第二初始代价参数是基于所述历史目标对话对象序列、所述目标对话引导信息和所述候选对象节点的转移矩阵确定的,所述候选对象节点的转移矩阵是基于所述对话目标图谱确定的。
10.根据权利要求9所述的方法,还包括:
获取所述训练样本,其中,所述训练样本包括样本对话信息和与所述样本对话信息相对应的标签,所述标签包括样本对话对象,其中,所述标签的类型包括以下至少一项:用于推荐的对话类型、对话主题、以及主题属性。
11.根据权利要求9所述的方法,还包括:
确定对话对象序列;以及
基于对话对象序列和知识图谱,生成初始对话目标图谱,以便利用训练样本训练包括所述初始对话目标图谱的对话推荐模型,得到所述经训练的对话推荐模型中的所述对话目标图谱。
12.一种对话推荐装置,包括:
对话获取模,用于获取历史对话信息;
确定模块,用于基于所述历史对话信息,从对话目标图谱中确定待生成的目标对话对象,其中,所述对话目标图谱包括对象节点,所述对象节点用于表征对话对象,所述目标对话对象是基于所述对象节点确定的;以及
对话生成模块,用于基于所述目标对话对象,生成用于推荐的目标对话信息;
其中,所述确定模块包括:
定子模块,用于基于所述历史对话信息和目标对话引导信息,从所述对话目标图谱中确定所述目标对话对象,其中,所述历史对话信息是对话期间已生成的信息,所述目标对话引导信息用于引导所述对话期间待生成的所述目标对话对象的生成;
其中,所述确定子模块包括:
第一确定单元,用于基于所述历史对话信息,确定历史对话信息中的历史目标对话对象序列;
所述装置还用于基于所述历史目标对话对象序列,从所述对话目标图谱中确定与所述历史目标对话对象序列的类型相同的候选对象节点;
第二确定单元,用于基于所述历史目标对话对象序列、所述目标对话引导信息和所述对话目标图谱,确定候选对象节点的代价参数,其中,所述代价参数包括转移代价矩阵,所述代价参数中的元素用于表征相邻两个候选对象节点之间的转移概率;以及第三确定单元,用于基于所述候选对象节点的代价参数,从与所述候选对象节点相对应的对话对象中确定目标对话对象:
其中,所述基于所述历史目标对话对象序列、所述目标对话引导信息和所述对话目标图谱,确定所述对话目标图谱的候选对象节点的代价参数,包括:
基于第一初始代价参数和第二初始代价参数,确定所述对话目标图谱的所述候选对象节点的代价参数,其中,所述第一初始代价参数是基于所述历史目标对话对象序列和所述候选对象节点的转移矩阵确定的,所述第二初始代价参数是基于所述历史目标对话对象序列、所述目标对话引导信息和所述候选对象节点的转移矩阵确定的,所述候选对象节点的转移矩阵是基于所述对话目标图谱确定的。
13.根据权利要求12所述的装置,其中,所述装置还包括
第一确定子单元,用于基于所述对话目标图谱,确定所述候选对象节点的转移矩阵;
第二确定子单元,用于基于所述历史目标对话对象序列和所述候选对象节点的转移矩阵,确定所述候选对象节点的第一初始代价参数,其中,所述第一初始代价参数的数据形式包括矩阵向量;
其中,所述装置还包括:
第三确定子单元,用于基于所述历史目标对话对象序列、所述目标对话引导信息和所述候选对象节点的转移矩阵,确定所述候选对象节点的第二初始代价参数,其中,所述第二初始代价参数的数据形式包括矩阵向量。
14.根据权利要求13所述的装置,其中,所述第三确定单元包括:
第五确定子单元,用于基于所述候选对象节点的代价参数,确定所述目标对话对象节点的跳转概率;
第六确定子单元,用于在确定所述跳转概率大于或者等于预定跳转阈值的情况下,基于所述候选对象节点的代价参数,从与所述候选对象节点相对应的对话对象中确定所述目标对话对象;以及
第七确定子单元,用于在确定所述跳转概率小于所述预定跳转阈值的情况下,从所述历史目标对话对象序列中确定所述目标对话对象。
15.根据权利要求13所述的装置,其中,所述第三确定单元包括:
第八确定子单元,用于基于所述候选对象节点的代价参数,确定所述目标对话对象节点的生成概率;以及
第九确定子单元,用于在确定所述生成概率大于或者等于预定生成阈值的情况下,基于所述候选对象节点的代价参数,从与所述候选对象节点相对应的对话对象中确定所述目标对话对象。
16.根据权利要求13所述的装置,其中,所述对话目标图谱包括异构层次化对话目标图谱,所述异构层次化对话目标图谱包括多个对话目标子图谱,所述多个对话目标子图谱之间具有层级关系,所述多个对话目标子图谱中的每个对话目标子图谱包括同类型的多个对象节点,所述同类型的多个对象节点彼此之间的连接边用于表征同构关联关系,相邻两个对话目标子图谱各自的对象节点类型不同,上一层级对话目标子图谱中的多个对象节点与当前层级对话目标子图谱中的多个对象节点彼此之间的连接边用于表征异构关联关系。
17.根据权利要求16所述的装置,其中,所述目标对话对象包括多个具有层级的目标对话对象;
所述第一确定子单元用于:
基于所述异构层次化对话目标图谱中的异构关联关系和已确定的上一层级对话目标子图谱中的目标对象节点,确定当前层级对话目标子图谱中的候选对象节点,其中,所述上一层级对话目标子图谱中的目标对象节点与上一层级的目标对话对象相对应,所述当前层级对话目标子图谱中的候选对象节点与当前层级的候选对话对象相对应;以及基于所述当前层级对话目标子图谱的候选对象节点,确定所述当前层级的候选对象节点的转移矩阵,并将所述当前层级的候选对象节点的转移矩阵作为所述候选对象节点的转移矩阵。
18.根据权利要求12至17中任一项所述的装置,其中,所述对话生成模块包括:
对话生成单元,用于基于所述目标对话对象、所述历史对话信息以及所述历史目标对话对象序列,生成所述目标对话信息。
19.根据权利要求12至17中任一项所述的装置,其中,所述目标对话对象的类型包括以下至少一项:用于推荐的对话类型、对话主题、以及主题属性。
20.一种对话推荐模型的训练装置,包括:
训练模块,用于利用训练样本训练对话推荐模型,得到经训练的对话推荐模型;
其中,所述经训练的对话推荐模型用于:
获取历史对话信息;
基于所述历史对话信息,从对话目标图谱中确定待生成的目标对话对象,其中,所述对话目标图谱包括对象节点,所述对象节点用于表征对话对象,所述目标对话对象是基于所述对象节点确定的;以及
基于所述目标对话对象,生成用于推荐的目标对话信息;
其中,所述基于所述历史对话信息,从对话目标图谱中确定待生成的目标对话对象包括:
基于所述历史对话信息和目标对话引导信息,从所述对话目标图谱中确定所述目标对话对象,其中,所述历史对话信息是对话期间已生成的信息,所述目标对话引导信息用于引导所述对话期间待生成的所述目标对话对象的生成;
其中,所述基于所述历史对话信息和目标对话引导信息,从对话目标图谱中确定所述目标对话对象包括:
基于所述历史对话信息,确定历史对话信息中的历史目标对话对象序列;
基于所述历史目标对话对象序列,从所述对话目标图谱中确定与所述历史目标对话对象序列的类型相同的候选对象节点;
基于所述历史目标对话对象序列、所述目标对话引导信息和所述对话目标图谱,确定所述对话目标图谱的候选对象节点的代价参数,其中,所述代价参数包括转移代价矩阵,所述代价参数中的元素用于表征相邻两个候选对象节点之间的转移概率;以及基于所述候选对象节点的代价参数,从与所述候选对象节点相对应的对话对象中确定目标对话对象;
其中,所述基于所述历史目标对话对象序列、所述目标对话引导信息和所述对话目标图谱,确定所述对话目标图谱的候选对象节点的代价参数,包括:
基于第一初始代价参数和第二初始代价参数,确定所述对话目标图谱的所述候选对象节点的代价参数,其中,所述第一初始代价参数是基于所述历史目标对话对象序列和所述候选对象节点的转移矩阵确定的,所述第二初始代价参数是基于所述历史目标对话对象序列、所述目标对话引导信息和所述候选对象节点的转移矩阵确定的,所述候选对象节点的转移矩阵是基于所述对话目标图谱确定的。
21.根据权利要求20所述的装置,还包括:
样本获取模块,用于获取所述训练样本,其中,所述训练样本包括样本对话信息和与所述样本对话信息相对应的标签,所述标签包括样本对话对象,其中,所述标签的类型包括以下至少一项:用于推荐的对话类型、对话主题、以及主题属性。
22.根据权利要求20所述的装置,还包括:
序列确定模块,用于确定对话对象序列;以及
图谱生成模块,用于基于对话对象序列和知识图谱,生成初始对话目标图谱,以便利用训练样本训练包括所述初始对话目标图谱的对话推荐模型,得到所述经训练的对话推荐模型中的所述对话目标图谱。
23.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至8中任一项所述的对话推荐方法或者权利要求9至11中任一项所述的对话推荐模型的训练方法。
24.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至8中任一项所述的对话推荐方法或者权利要求9至11中任一项所述的对话推荐模型的训练方法。
25.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至8中任一项所述的对话推荐方法或者权利要求9至11中任一项所述的对话推荐模型的训练方法。

说明书全文

对话推荐方法、模型的训练方法、装置、设备及介质

技术领域

[0001] 本公开涉及数据处理技术领域,尤其涉及语音交互、深度学习人工智能等技术领域,具体涉及对话推荐方法、对话推荐模型的训练方法、装置、电子设备、存储介质以及程序产品。

背景技术

[0002] 语音交互是一种人类自然的交互方式。随着人工智能技术的不断发展,已经实现让机器能够听懂人类发出的语音、理解语音中的内在含义、并做出相应的反馈。在这些操作中,语义的准确理解、反馈的迅速程度、以及给予相应的意见或者建议,均成为影响语音交互顺畅的因素。发明内容
[0003] 本公开提供了一种对话推荐方法、对话推荐模型的训练方法、装置、电子设备、存储介质以及程序产品。
[0004] 根据本公开的一方面,提供了一种对话推荐方法,包括:获取历史对话信息;基于所述历史对话信息,从对话目标图谱中确定待生成的目标对话对象,其中,所述对话目标图谱包括对象节点,所述对象节点用于表征对话对象,所述目标对话对象是基于所述对象节点确定的;以及基于所述目标对话对象,生成用于推荐的目标对话信息。
[0005] 根据本公开的另一方面,提供了一种对话推荐模型的训练方法,包括:利用训练样本训练对话推荐模型,得到经训练的对话推荐模型;其中,所述经训练的对话推荐模型用于:获取历史对话信息;基于所述历史对话信息,从对话目标图谱中确定待生成的目标对话对象,其中,所述对话目标图谱包括对象节点,所述对象节点用于表征对话对象,所述目标对话对象是基于所述对象节点确定的;以及基于所述目标对话对象,生成用于推荐的目标对话信息。
[0006] 根据本公开的另一方面,提供了一种对话推荐装置,包括:对话获取模,用于获取历史对话信息;确定模块,用于基于所述历史对话信息,从对话目标图谱中确定待生成的目标对话对象,其中,所述对话目标图谱包括对象节点,所述对象节点用于表征对话对象,所述目标对话对象是基于所述对象节点确定的;以及对话生成模块,用于基于所述目标对话对象,生成用于推荐的目标对话信息。
[0007] 根据本公开的另一方面,提供了一种对话推荐模型的训练装置,包括:训练模块,用于利用训练样本训练对话推荐模型,得到经训练的对话推荐模型;其中,所述经训练的对话推荐模型用于:获取历史对话信息;基于所述历史对话信息,从对话目标图谱中确定待生成的目标对话对象,其中,所述对话目标图谱包括对象节点,所述对象节点用于表征对话对象,所述目标对话对象是基于所述对象节点确定的;以及基于所述目标对话对象,生成用于推荐的目标对话信息。
[0008] 根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本公开的方法。
[0009] 根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如本公开的方法。
[0010] 根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如本公开的方法。
[0011] 应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明
[0012] 附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0013] 图1示意性示出了根据本公开实施例的可以应用对话推荐方法及装置的示例性系统架构;
[0014] 图2示意性示出了根据本公开实施例的对话推荐方法的流程图
[0015] 图3A示意性示出了根据本公开实施例的确定目标对话对象的流程图;
[0016] 图3B示意性示出了根据本公开另一实施例的确定目标对话对象的流程图;
[0017] 图4示意性示出了根据本公开实施例的对话目标图谱的示意图;
[0018] 图5示意性示出了根据本公开实施例的对话推荐模型的训练方法的流程图;
[0019] 图6示意性示出了根据本公开另一实施例的生成初始对话目标图谱的流程图;
[0020] 图7示意性示出了根据本公开实施例的对话推荐装置的框图
[0021] 图8示意性示出了根据本公开实施例的对话推荐模型的训练装置的框图;以及[0022] 图9示意性示出了根据本公开实施例的适于实现对话推荐方法的电子设备的框图。

具体实施方式

[0023] 以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0024] 本公开提供了一种对话推荐方法、对话推荐模型的训练方法、装置、电子设备、存储介质以及程序产品。
[0025] 根据本公开的一方面,提供了一种对话推荐方法,包括:获取历史对话信息;基于历史对话信息,从对话目标图谱中确定待生成的目标对话对象,其中,对话目标图谱包括对象节点,对象节点用于表征对话对象,目标对话对象是基于对象节点确定的;以及基于目标对话对象,生成用于推荐的目标对话信息。
[0026] 在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
[0027] 在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
[0028] 图1示意性示出了根据本公开实施例的可以应用对话推荐方法及装置的示例性系统架构。
[0029] 需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。例如,在另一实施例中,可以应用对话推荐方法及装置的示例性系统架构可以包括语音交互设备,但语音交互设备可以无需与服务器进行交互,即可实现本公开实施例提供的对话推荐方法及装置。
[0030] 如图1所示,根据该实施例的系统架构100可以包括语音交互设备101、网络102和服务器103。网络102用以在语音交互设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线和/或无线通信链路等等。
[0031] 用户可以向语音交互设备101输出对话信息例如交互语音,语音交互设备101在接收到来自用户的交互语音后,语音交互设备101可以通过网络102与服务器103交互,将交互语音发送给服务器103,以便服务器103基于交互语音生成目标对话信息例如推荐信息。服务器103可以通过网络102将目标对话信息发送给语音交互设备101,以便语音交互设备101将目标对话信息以交互的方式回复给用户。
[0032] 语音交互设备101上可以安装有各种通讯客户端应用,例如知识阅读类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
[0033] 语音交互设备101可以是具有声音采集器,例如麦克,来采集用户的唤醒语音和交互语音。语音交互设备101同时还可以具有声音播放器,例如扬声器,来播放语音交互设备发出的目标对话信息。
[0034] 语音交互设备101可以是任何能够通过语音信号进行交互的电子设备。语音交互设备101可以包括但不限于智能手机、平板电脑、膝上型便携计算机、智能音箱、车载音箱、智能家教机和智能机器人等等。
[0035] 服务器103可以是提供各种服务的服务器,例如对语音交互设备101发送的交互语音进行语音识别、并进行后续例如基于交互语音进行目标对话信息的生成等的后台管理服务器(仅为示例)。
[0036] 应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0037] 应注意,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
[0038] 图2示意性示出了根据本公开实施例的对话推荐方法的流程图。
[0039] 如图2所示,该方法包括操作S210~S230。
[0040] 在操作S210,获取历史对话信息。
[0041] 在操作S220,基于历史对话信息,从对话目标图谱中确定待生成的目标对话对象,其中,对话目标图谱包括对象节点,对象节点用于表征对话对象,目标对话对象是基于对象节点确定的。
[0042] 在操作S230,基于目标对话对象,生成用于推荐的目标对话信息。
[0043] 根据本公开的实施例,历史对话信息的表达形式不作限定。例如,可以是文本信息,也可以是语音信息。历史对话信息的表达类型也不作限定。例如,可以是询问类型,也可以是聊天类型。只要是人机交互过程中在对话期间已生成的历史对话信息即可。
[0044] 根据本公开的实施例,历史对话信息,可以是对话期间的预定历史时间段已生成的历史对话信息,也可以是整个对话期间已生成的历史对话信息;可以是仅包括用户输出的历史对话信息,也可以是既包括用户输出的历史对话信息也包括语音交互设备输出的历史对话信息。
[0045] 根据本公开的实施例,对话目标图谱可以包括多个对象节点,多个对象节点彼此之间可以设置有连接边。对象节点可以用于表征对话对象。连接边可以用于表征相连两个对象节点之间的关联关系。
[0046] 根据本公开的实施例,可以将对话目标图谱中的对象节点作为候选对象节点,候选对象节点用于表征待生成的候选对话对象,可以从对话目标图谱中确定待生成的目标对话对象。
[0047] 根据本公开的实施例,基于历史对话信息,从对话目标图谱中确定待生成的目标对话对象可以包括:识别对话期间已生成的历史对话信息的语义信息,基于语义信息来从对话目标图谱中的候选对象节点中确定目标对象节点,基于目标对象节点确定与目标对象节点相对应的目标对话对象。但是并不局限于此。基于历史对话信息,从对话目标图谱中确定待生成的目标对话对象还可以包括:确定对话期间已生成的历史对话信息的历史目标对话对象,基于历史目标对话对象来从对话目标图谱中的候选对象节点中确定目标对象节点,基于目标对象节点确定与目标对象节点相对应的目标对话对象。
[0048] 根据本公开的实施例,目标对话对象的类型可以包括用于推荐的对话类型,但是并不局限于此,还可以包括例如用于聊天、用于命令、或者用于问答等的对话类型。目标对话对象的类型还可以包括对话主题,例如演员、歌手、运动员、演唱会、歌剧等对话实体。目标对话对象的类型还可以包括主题属性,例如对某一对话主题的评价、对某一对话主题的讨论等针对对话主题的属性信息。但是并不局限于此。目标对话对象还可以包括其他与对话相关的实体类型。只要是人机交互过程中涉及的目标对话对象的类型即可。
[0049] 根据本公开的实施例,基于目标对话对象,生成用于推荐的目标对话信息可以包括:将目标对话对象作为目标对话信息的一部分,生成用于回复的目标对话信息。但是并不局限于此。还可以基于目标对话对象,识别待生成的目标对话信息的语义信息,基于待生成的目标对话信息的语义信息生成目标对话信息。由此,可以使得生成的目标对话信息更为自然、贴近正常人的对话用语。
[0050] 利用本公开实施例提供的对话推荐方法,将历史对话信息和对话目标图谱相结合来规划对话期间待生成的用于推荐的目标对话对象,可以使得基于目标对话对象生成的目标对话信息与历史对话信息相连贯,并且使得对话过程中的对话上下文衔接自然。此外,基于对话目标图谱中的对象节点来确定目标对话对象,使得目标对话信息中的对话内容具有主动性、规划性和引导性,进而能够提高推荐对话的功能性和智能性。
[0051] 根据本公开的实施例,针对操作S220,基于历史对话信息,从对话目标图谱中确定待生成的目标对话对象,可以包括:基于历史对话信息和目标对话引导(Guiding)信息,从对话目标图谱中确定目标对话对象。
[0052] 根据本公开的实施例,目标对话引导信息可以用于引导对话期间待生成的目标对话对象的生成。目标对话引导信息可以包括与目标对话对象类型相同的目标对话引导对象。目标对话引导信息可以作为在对话期间的目标时刻待生成的目标对话对象。
[0053] 例如,历史对话信息可以是0~t时刻人机交互过程中的对话信息。目标对话引导信息可以是预计在未来t+m时刻生成的目标对话对象。可以基于0~t时刻的历史对话信息以及t+m时刻的目标对话对象,从对话目标图谱中确定t+1时刻的目标对话对象。m为大于0的数。
[0054] 根据本公开的其他实施例,目标对话引导信息还可以仅作为引导目标对话对象的生成的信息,并不出现于目标对话对象以及目标对话信息中。只要是起到引导作用的目标对话引导信息即可。
[0055] 根据本公开的实施例,可以基于历史对话信息得到对话交互过程中已生成的对话的轨迹,基于目标对话引导信息作为对话交互过程中待生成的对话的引导,利用历史对话信息与目标对话引导信息两个方面的限定,使得生成的目标对话对象具有规划性。
[0056] 根据本公开的实施例,目标对话对象的类型包括以下至少一项:用于推荐的对话类型、对话主题、以及主题属性。但是并不局限于此。目标对话对象的类型还可以包括用于聊天、用于命令、或者用于问答等的对话类型。可以将用于聊天、用于命令、用于问答等的对话类型与用于推荐的对话类型作为对话类型。
[0057] 根据本公开的实施例,在目标对话对象的类型包括三元组,例如对话类型、对话主题、以及主题属性的情况下,可以采用异步的方式来确定多个类型的目标对话对象。每个类型的目标对话对象均可以包括如下确定操作。
[0058] 例如,基于历史对话信息,确定历史对话信息中的历史目标对话对象序列。基于历史目标对话对象序列、目标对话引导信息和对话目标图谱,确定对话目标图谱的候选对象节点的代价参数。基于候选对象节点的代价参数,从候选对象节点中确定目标对话对象。
[0059] 根据本公开的实施例,代价参数可以指转移代价表征或者转移代价矩阵。代价参数中的元素用于表征相邻两个候选对象节点之间的转移概率。
[0060] 根据本公开的实施例,历史目标对话对象序列可以是历史对话信息中在对话期间不同时刻生成的多个历史目标对话对象按照时间顺序排列得到的序列。但是并不局限于此。历史目标对话对象序列也可以是历史对话信息中在对话期间生成的一个历史目标对话对象。可以根据历史对话信息中的历史目标对话对象的数量来确定序列中的元素数量。
[0061] 根据本公开的实施例,候选对象节点的类型与历史目标对话对象序列的类型相匹配。在执行基于历史目标对话对象序列、目标对话引导信息和对话目标图谱,确定候选对象节点的代价参数的操作之前,对话推荐方法还可以包括确定候选对象节点的操作。例如,基于历史目标对话对象序列,从目标图谱中确定与历史目标对话对象序列的类型相同的候选对象节点。
[0062] 图3A示意性示出了根据本公开实施例的确定目标对话对象的流程图。
[0063] 如图3A所示,可以利用图卷积神经网络(Graph Convolutional Network,GCN)处理对话目标图谱中的候选对象节点,得到候选对象节点的转移矩阵310。
[0064] 如图3A所示,可以利用循环神经网络(Recurrent Neural Network,RNN)的控循环神经网络(Gated Recurrent Unit,GRU)处理历史目标对话对象序列表征320和候选对象节点的转移矩阵310,确定候选对象节点的第一初始代价参数330。
[0065] 根据本公开的实施例,历史目标对话对象序列表征可以是利用输入层(例如Embedding层)处理历史目标对话对象序列得到的。
[0066] 如图3A所示,可以利用GRU处理历史目标对话对象序列表征与候选对象节点的转移矩阵结合形成的表征和目标对话引导对象表征340,得到候选对象节点的第二初始代价参数350。
[0067] 根据本公开的实施例,利用输入层处理目标对话引导信息中与历史目标对话对象序列类型相同的信息,例如利用输入层处理与历史目标对话对象序列类型相同的目标对话引导对象,得到目标对话引导对象表征。
[0068] 根据本公开的实施例,历史目标对话对象序列表征与候选对象节点的转移矩阵结合可以包括:将历史目标对话对象序列表征与候选对象节点的转移矩阵拼接为一个矩阵。
[0069] 根据本公开的实施例,可以基于第一初始代价参数和第二初始代价参数,确定候选对象节点的代价参数。例如,可以将第一初始代价参数和第二初始代价参数确定为候选对象节点的代价参数。
[0070] 如图3A所示,可以利用多层感知机(MultiLayer Perceptron,MLP)处理第一初始代价参数330和第二初始代价参数350,得到多分类结果。基于多分类结果,从候选对象节点中确定目标对话对象节点。目标对话对象节点用于表征目标对话对象,进而得到目标对话对象360,例如关于对话类型的目标对话对象、关于对话主题的目标对话对象、以及关于主题属性的目标对话对象。
[0071] 根据本公开的实施例,上述目标对话对象的确定方式适用于确定关于对话类型的目标对话对象,但是并不局限于此,上述目标对话对象的确定方式也同样适用于确定关于对话主题的目标对话对象以及确定关于主题属性的目标对话对象。可以采用上述目标对话对象的确定方式,异步确定关于对话类型的目标对话对象、关于对话主题的目标对话对象以及关于主题属性的目标对话对象。
[0072] 如图3A所示,在目标对话对象的类型为对话类型或者对话主题的情况下,基于候选对象节点的代价参数,从候选对象节点中确定目标对话对象还可以包括如下操作。
[0073] 例如,基于候选对象节点的代价参数,例如第一代价参数330和第二代价参数350,确定目标对话对象节点的跳转概率370。在确定跳转概率大于或者等于预定跳转阈值的情况下,基于候选对象节点的代价参数,从候选对象节点中确定目标对话对象。在确定跳转概率小于预定跳转阈值的情况下,从历史目标对话对象序列中确定目标对话对象。
[0074] 例如,可以利用级联的第一全连接层、第二全连接层以及第一激活函数(例如2FC+softmax激活函数)来处理候选对象节点的代价参数,确定目标对话对象节点的跳转概率。
[0075] 根据本公开的实施例,预定跳转阈值可以不做限定,例如,预定跳转阈值可以是0.5。
[0076] 根据本公开的实施例,在确定跳转概率小于预定跳转阈值的情况下,可以从历史目标对话对象序列中的t时刻的历史目标对话对象作为t+1时刻的目标对话对象。
[0077] 例如,根据跳转概率确定需要执行关于对话类型的目标对话对象的切换。可以由历史对话信息包括“我暂时不想聊电影”切换为目标对话信息包括“那我们聊聊明星XX吧,他是影帝哦”。关于对话类型的历史目标对话对象“电影推荐”切换为目标对话对象“聊天”。
[0078] 例如,根据跳转概率确定不需要执行关于对话类型的目标对话对象的切换,则可以由历史对话信息包括“我们聊会天吧”顺延为目标对话信息包括“好的,我有空哦”。关于对话类型的历史目标对话对像与目标对话对象均为“寒暄”。
[0079] 根据本公开的实施例,可以利用跳转概率来确定是否需要执行目标对话对象切换的分类预测处理,可以使得目标对话对象的确定具有可解释性和可控性。此外,基于该方法生成的目标对话对象来生成目标对话信息,能够使得对话顺畅、自然。
[0080] 图3B示意性示出了根据本公开另一实施例的确定目标对话对象的流程图。
[0081] 如图3B所示,在目标对话对象的类型为主题属性的情况下,基于候选对象节点的代价参数,从候选对象节点中确定目标对话对象可以包括如下操作。
[0082] 例如,基于候选对象节点的代价参数,例如第一代价参数和第二代价参数,确定目标对话对象节点的生成概率。在确定生成概率大于或者等于预定生成阈值的情况下,基于候选对象节点的代价参数,从候选对话对象节点中确定目标对话对象。
[0083] 根据本公开的实施例,可以利用级联的第三全连接层、第四全连接层以及第二激活函数(例如2FC+softmax激活函数)来处理候选对象节点的代价参数,确定目标对话对象节点的生成概率。
[0084] 根据本公开的实施例,预定生成阈值的大小不做限定。例如,预定生成阈值可以是0.5。
[0085] 根据本公开的实施例,在确定生成概率小于预定生成阈值的情况下,可以放弃执行确定该类型的目标对话对象。
[0086] 例如,根据生成概率确定需要生成关于主题属性的目标对话对象。则可以由历史对话信息包括“歌名很有深意”顺延为目标对话信息包括“是啊,百听不腻”。
[0087] 例如,根据生成概率确定不需要生成关于主题属性的目标对话对象。可以由历史对话信息包括“我觉得他很真诚”切换为目标对话信息包括“给你推荐一首他唱的歌吧,歌名叫《YY》”。
[0088] 根据本公开的实施例,利用生成概率来确定关于主题属性的目标对话对象是否需要执行目标对话对象切换的分类预测处理,可以使得目标对话对象的确定具有可解释性和可控性。此外,基于该方法生成的目标对话对象来生成目标对话信息,能够使得对话顺畅、自然。
[0089] 根据本公开的实施例,对话目标图谱可以包括异构层次化对话目标图谱。异构层次化对话目标图谱可以包括多个对话目标子图谱。多个对话目标子图谱可以包括3个,例如对话类型对话目标子图谱、对话主题对话目标子图谱、以及主题属性对话目标子图谱。但是并不局限于此,多个对话目标子图谱还可以包括2个,例如对话类型对话目标子图谱和对话主题对话目标子图谱。多个对话目标子图谱也可以包括4个、或者更多。只要是多个对话目标子图谱之间具有层级关系,多个对话目标子图谱各自的对象节点的类型彼此之间不同即可。
[0090] 图4示意性示出了根据本公开实施例的对话目标图谱的示意图。
[0091] 如图4所示,异构层次化对话目标图谱400包括3个对话目标子图谱,例如对话类型对话目标子图谱410、对话主题对话目标子图谱420、以及主题属性对话目标子图谱430。3个对话目标子图谱具有层级关系,例如,对话类型对话目标子图谱410为第一层级对话目标子图谱,对话类型对话目标子图谱410中的对象节点,用圆形节点表示。对话主题对话目标子图谱420为第二层级对话目标子图谱,对话主题对话目标子图谱420中的对象节点,用方形节点表示。主题属性对话目标子图谱430为第三层级对话目标子图谱。主题属性对话目标子图谱430中的对象节点,用菱形节点表示。
[0092] 如图4所示,以对话类型对话目标子图谱410为例,对话类型对话目标子图谱410可以包括同类型的多个对象节点,例如,对话类型对话目标子图谱410可以包括同属于对话类型的多个对象节点N11、N12、以及N13。N11可以用于表示对话类型为问答的对象节点,N12可以用于表示对话类型为推荐的对象节点,N13可以用于表示对话类型为电影推荐的对象节点。多个对象节点N11、N12、以及N13彼此之间具有用于表征同构关联关系连接边,例如,N11和N12之间的连接边E11_12、以及N11和N13之间的连接边E11_13。连接边具有箭头,箭头可以用于表征对象节点的跳转指向。例如,连接边E11_13的箭头由对象节点N11指向对象节点N13,则可以表征由对象节点N11跳转至同类型的对象节点N13。
[0093] 根据本公开的实施例,可以基于预先训练的异构层次化对话目标图谱中的对话类型对话目标子图谱,来引导对话的对话类型为多次推荐或者支持用户决策。此外,还可以利用对话主题对话目标子图谱、以及主题属性对话目标子图谱等来提高对话与用户的预期交流内容的贴近程度,提升用户体验和用户聊天时长。
[0094] 根据本公开的实施例,相邻两个对话目标子图谱各自的对象节点类型不同,上一层级对话目标子图谱中的多个对象节点与当前层级对话目标子图谱中的多个对象节点彼此之间的连接边用于表征异构关联关系。
[0095] 如图4所示,第二层级对话目标子图谱为对话主题对话目标子图谱420,将第二层级作为当前层级。当前层级的对象节点可以包括同属于对话主题类型的多个对象节点N21、N22、N23、以及N24。当前层级的任一对象节点(例如关于对话主题的对象节点)与上一层级的任一对象节点(例如关于对话类型的对象节点)的类型不同。相邻两个层级的对象节点之间的连接边用于表征异构关联关系。例如,节点N12与节点N21之间设置有连接边E12_21。连接边E12_21的箭头由对象节点N12指向对象节点N21,表征由对象节点N12跳转至异构类型的对象节点N21。
[0096] 根据本公开的实施例,在执行基于对话目标图谱,确定候选对象节点的转移矩阵的操作的情况下,以对话类型为例,对话类型对话目标子图谱作为第一层级对话目标子图谱,可以将对话类型对话目标子图谱中的全部对象节点作为当前层级对话目标子图谱中的候选对象节点,从而来利用GCN来确定当前层级对话目标子图谱中的候选对象节点的转移矩阵。
[0097] 根据本公开的其他实施例,以对话类型为例,但是并不局限于此,下述确定当前层级对话目标子图谱中的候选对象节点的转移矩阵的方式也同样适用于对话主题目标子图谱。对话类型对话目标子图谱作为第一层级对话目标子图谱,可以将对话类型对话目标子图谱中的全部对象节点作为第一层级对话目标子图谱中的候选对象节点,利用GCN与注意机制结合的网络来确定候第一层级的选对话对象节点的转移矩阵。例如,利用GCN来进行当前层级对话目标子图谱的对象节点表征,并利用注意力机制将下一层级对话目标子图谱的对象节点表征进行聚合,从而得到当前层级对话目标子图谱中的候选对象节点的转移矩阵。
[0098] 根据本公开的实施例,相比于利用利用GCN来确定候选对象节点的转移矩阵,利用GCN与注意力机制结合的网络来确定候选对象节点的转移矩阵,可以结合异构层次化对话目标图谱中的更多的信息,使得确定的候选对象节点的转移矩阵信息更为丰富,进而由此确定的目标对话对象更为精准。
[0099] 根据本公开的实施例,在执行基于异构层次化对话目标图谱,确定候选对象节点的转移矩阵的操作的情况下,以对话主题为例,但是并不局限于此,下述确定当前层级对话目标子图谱中的候选对象节点的转移矩阵的方式也同样适用于主题属性目标子图谱。可以将第二层级对话目标子图谱的对话主题对话目标子图谱作为当前层级对话目标子图谱,将第一层级对话目标子图谱的对话类型对话目标子图谱作为上一层级对话目标子图谱。可以基于异构层次化对话目标图谱中的异构关联关系和已确定的上一层级对话目标子图谱中的目标对象节点,确定当前层级对话目标子图谱中的候选对象节点。
[0100] 如图4所示,对话主题对话目标子图谱作为当前层级对话目标子图谱,则上一层级对话目标子图谱中的已确定的目标对象节点,例如可以为上一层级的目标对象节点N11。通过异构层次化对话目标图谱,可以确定上一层级的目标对象节点N11与当前层级对话目标子图谱中的对象节点N22、对象节点N23、以及对象节点N24,分别通过连接边E11_22、连接边E11_23、以及连接边E11_24连接。由此可以说明,目标对象节点N11分别与对象节点N22、对象节点N23、以及对象节点N24存在异构关联关系。可以基于异构关联关系确定当前层级对话目标子图谱中的候选对象节点包括对象节点N22、对象节点N23、以及对象节点N24。在此基础上可以执行基于对话目标图谱,确定候选对象节点的转移矩阵的操作。
[0101] 利用本公开实施例提供的确定候选对象节点的方式,可以利用异构层次化对话目标图谱中的异构关联关系,将与上一层级的目标对话对象相关联的当前层级对话目标子图谱中的对象节点作为当前层级对话目标子图谱中的候选对象节点,可以对多个对象节点进行初步筛选,完成剪枝的操作。相比于将对话目标子图谱中的所有对象节点作为候选对象节点,剪枝的操作降低候选对象节点的数量,由此降低数据的处理量,在提高处理效率的同时,提高对话质量
[0102] 根据本公开的实施例,针对操作S230,基于目标对话对象,生成目标对话信息可以包括如下操作。
[0103] 例如,基于目标对话对象、历史对话信息以及历史目标对话对象序列,生成目标对话信息。目标对话对象可以是当前时刻例如t时刻的目标对话对象。历史目标对话对象序列可以包括在对话期间的历史时间段例如0~t时刻的时间段生成的历史目标对话对象序列。
[0104] 根据本公开的其他实施例,还可以基于目标对话对象、历史对话信息以及对话期间预定历史时刻的历史目标对话对象,生成目标对话信息。对话期间预定历史时刻可以为当前时刻的上一时刻,例如当前时刻t的上一时刻t‑1作为对话期间预定历史时刻。
[0105] 根据本公开的实施例,目标对话对象可以包括对话类型目标对话对象、对话主题目标对话对象、以及主题属性目标对话对象。可以将三种类型的目标对话对象、历史对话信息以及与三种类型的目标对话对象各自一一对应的三种类型的历史目标对话对象序列作为输入,输入至编码解码器中,得到目标对话信息。
[0106] 根据本公开的实施例,可以使用双向的GRU作为编码器,层次化的门控融合单元(Hierarchical Gated Fusion Unit,HGFU)作为解码器,处理目标对话对象、历史对话信息以及历史目标对话对象序列,生成用于回复的目标对话信息。
[0107] 根据本公开的实施例,基于目标对话对象、历史对话信息以及历史目标对话对象序列来生成目标对话信息,能够使得生成的目标对话信息自然、信息丰富的同时,推荐精准。
[0108] 图5示意性示出了根据本公开实施例的对话推荐模型的训练方法的流程图。
[0109] 如图5所示,该方法包括操作S510~S520。
[0110] 在操作S510,获取训练样本。
[0111] 在操作S520,利用训练样本训练对话推荐模型,得到经训练的对话推荐模型。
[0112] 根据本公开的实施例,经训练的对话推荐模型用于:获取历史对话信息;基于历史对话信息,从对话目标图谱中确定待生成的目标对话对象,其中,对话目标图谱包括对象节点,对象节点用于表征对话对象,目标对话对象是基于对象节点确定的;以及基于目标对话对象,生成用于推荐的目标对话信息。
[0113] 根据本公开的实施例,对话推荐模型的训练方法可以包括操作S510和操作S520,但是并不局限于此,对话推荐模型的训练方法还可以包括操作S510。
[0114] 图6示意性示出了根据本公开实施例的生成初始对话目标图谱的流程图。
[0115] 如图6所示,可以获取多个初始对话对象序列610。利用用户画像620对多个初始对话对象序列610进行筛选,得到对话对象序列630。基于对话对象序列630和知识图谱640,生成初始对话目标图谱650。
[0116] 根据本公开的实施例,多个初始对话对象序列的类型可以包括以下至少一项:用于推荐的对话类型、对话主题、以及对话主题属性。但是并不局限于此。多个初始对话对象序列的类型还可以包括用于聊天、用于命令、或者用于问答等的对话类型。
[0117] 根据本公开的实施例,以用于推荐的对话类型的初始对话对象序列为例,初始对话对象序列可以包括{寒暄、电影推荐、聊天、音乐推荐、音乐推荐、播放音乐}。
[0118] 根据本公开的实施例,用户画像(User Profile)可以是根据用户的属性信息、用户偏好、生活习惯、用户行为等信息而抽象出来的用于标识用户的标签数据。可以利用用户画像获知用户感兴趣的电影、美食、运动、歌曲等。进而可以从多个初始对话对象序列中确定符合用户爱好或者与用户兴趣相匹配的对话对象序列。
[0119] 根据本公开的实施例,知识图谱(Knowledge Graph)可以是指揭示了实体之间关系的语义网络。可以利用(实体1、关系、实体2)或者(实体、属性、属性值)等三元组数据来构成知识图谱。
[0120] 根据本公开的实施例,可以利用对话对象序列以及相应的知识图谱数据等,形成用于规划对话方向的初始对话目标图谱。
[0121] 根据本公开的实施例,利用训练样本训练包括初始对话目标图谱的对话推荐模型,得到经训练的对话推荐模型中的对话目标图谱。对话目标图谱可以包括异构层次化对话目标图谱。异构层次化对话目标图谱包括多个对话目标子图谱,多个对话目标子图谱之间具有层级关系。多个对话目标子图谱中的每个对话目标子图谱包括同类型的多个对象节点,同类型的多个对象节点彼此之间的连接边用于表征同构关联关系。相邻两个对话目标子图谱各自的对象节点类型不同,上一层级对话目标子图谱中的多个对象节点与当前层级对话目标子图谱中的多个对象节点彼此之间的连接边用于表征异构关联关系。
[0122] 根据本公开的实施例,可以设置异构层次化对话目标图谱包括对话类型对话目标子图谱、对话主题对话目标子图谱、以及主题属性对话目标子图谱。对话类型对话目标子图谱中的对象节点设置为不同的用于推荐的对话类型,例如餐厅推荐、美食推荐、音乐推荐、歌手推荐、电影推荐等,以此实现多次主动推荐的对话或者支持用户决策的推荐对话。此外,设置异构层次化对话目标图谱包括对话主题对话目标子图谱、以及主题属性对话目标子图谱,扩充了对话内容以及丰富对话层次,使得对话顺畅且自然。
[0123] 根据本公开的实施例,训练样本可以包括样本对话信息和与样本对话信息相对应的标签,标签包括样本对话对象。标签的类型包括以下至少一项:用于推荐的对话类型、对话主题、以及主题属性。
[0124] 根据本公开的实施例,样本对话信息可以包括:给你推荐一部电影《MM》,很精彩的一部武侠片!与样本对话信息相对应的标签可以包括[电影推荐、《MM》、很精彩的一部武侠片]。其中,“电影推荐”为关于用于推荐的对话类型的标签,《MM》为关于对话主题的标签,“很精彩的一部武侠片”为关于主题属性的标签。
[0125] 根据本公开的实施例,可以将多个样本对话信息作为样本对话信息序列输入至初始对话推荐模型中,得到预测结果。利用损失函数处理预测结果和标签,得到损失值。基于损失值调整初始对话推荐模型中的参数,直至损失值收敛。将损失值收敛时的模型作为经训练的对话推荐模型。
[0126] 根据本公开的实施例,损失函数的类型不做限定,只要是能够利用损失函数和训练样本训练包括初始对话目标图谱的初始对话推荐模型即可。
[0127] 图7示意性示出了根据本公开实施例的对话推荐装置的框图。
[0128] 如图7所示,对话推荐装置700包括对话获取模块710、确定模块720、以及对话生成模块730。
[0129] 对话获取模块710,用于获取历史对话信息。
[0130] 确定模块720,用于基于历史对话信息,从对话目标图谱中确定待生成的目标对话对象,其中,对话目标图谱包括对象节点,对象节点用于表征对话对象,目标对话对象是基于对象节点确定的。
[0131] 对话生成模块730,用于基于目标对话对象,生成用于推荐的目标对话信息。
[0132] 根据本公开的实施例,确定模块可以包括确定子模块。
[0133] 确定子模块,用于基于历史对话信息和目标对话引导信息,从对话目标图谱中确定目标对话对象,其中,历史对话信息是对话期间已生成的信息,目标对话引导信息用于引导对话期间待生成的目标对话对象的生成。
[0134] 根据本公开的实施例,确定子模块可以包括第一确定单元、第二确定单元、以及第三确定单元。
[0135] 第一确定单元,用于基于历史对话信息,确定历史对话信息中的历史目标对话对象序列。
[0136] 第二确定单元,用于基于历史目标对话对象序列、目标对话引导信息和对话目标图谱,确定候选对象节点的代价参数,其中,候选对象节点的类型与历史目标对话对象序列的类型相匹配。
[0137] 第三确定单元,用于基于候选对象节点的代价参数,从候选对象节点中确定目标对话对象。
[0138] 根据本公开的实施例,第二确定单元可以包括第一确定子单元、第二确定子单元、第三确定子单元、以及第四确定子单元。
[0139] 第一确定子单元,用于基于对话目标图谱,确定候选对象节点的转移矩阵。
[0140] 第二确定子单元,用于基于历史目标对话对象序列和候选对象节点的转移矩阵,确定候选对象节点的第一初始代价参数。
[0141] 第三确定子单元,用于基于历史目标对话对象序列、目标对话引导信息和候选对象节点的转移矩阵,确定候选对象节点的第二初始代价参数。
[0142] 第四确定子单元,用于基于第一初始代价参数和第二初始代价参数,确定候选对象节点的代价参数。
[0143] 根据本公开的实施例,第三确定单元可以包括第五确定子单元、第六确定子单元、以及第七确定子单元。
[0144] 第五确定子单元,用于基于候选对象节点的代价参数,确定目标对话对象节点的跳转概率。
[0145] 第六确定子单元,用于在确定跳转概率大于或者等于预定跳转阈值的情况下,基于候选对象节点的代价参数,从候选对象节点中确定目标对话对象。
[0146] 第七确定子单元,用于在确定跳转概率小于预定跳转阈值的情况下,从历史目标对话对象序列中确定目标对话对象。
[0147] 根据本公开的实施例,第三确定单元可以包括第八确定子单元、第九确定子单元。
[0148] 第八确定子单元,用于基于候选对象节点的代价参数,确定目标对话对象节点的生成概率。
[0149] 第九确定子单元,用于在确定生成概率大于或者等于预定生成阈值的情况下,基于候选对象节点的代价参数,从候选对象节点中确定目标对话对象。
[0150] 根据本公开的实施例,对话目标图谱包括异构层次化对话目标图谱,异构层次化对话目标图谱包括多个对话目标子图谱,多个对话目标子图谱之间具有层级关系,多个对话目标子图谱中的每个对话目标子图谱包括同类型的多个对象节点,同类型的多个对象节点彼此之间的连接边用于表征同构关联关系,相邻两个对话目标子图谱各自的对象节点类型不同,上一层级对话目标子图谱中的多个对象节点与当前层级对话目标子图谱中的多个对象节点彼此之间的连接边用于表征异构关联关系。
[0151] 根据本公开的实施例,目标对话对象包括多个具有层级的目标对话对象。
[0152] 根据本公开的实施例,第一确定子单元用于:基于异构层次化对话目标图谱中的异构关联关系和已确定的上一层级对话目标子图谱中的目标对象节点,确定当前层级对话目标子图谱中的候选对象节点,其中,上一层级对话目标子图谱中的目标对象节点与上一层级的目标对话对象相对应,当前层级对话目标子图谱中的候选对象节点与当前层级的候选对话对象相对应;以及基于当前层级对话目标子图谱的候选对象节点,确定当前层级的候选对象节点的转移矩阵,并将当前层级的候选对象节点的转移矩阵作为候选对象节点的转移矩阵。
[0153] 根据本公开的实施例,对话生成模块可以包括对话生成单元。
[0154] 对话生成单元,用于基于目标对话对象、历史对话信息以及历史目标对话对象序列,生成目标对话信息。
[0155] 根据本公开的实施例,目标对话对象的类型包括以下至少一项:用于推荐的对话类型、对话主题、以及主题属性。
[0156] 图8示意性示出了根据本公开实施例的对话推荐模型的训练装置的框图。
[0157] 如图8所示,对话推荐模型的训练装置800可以包括样本获取模块810以及训练模块820。
[0158] 样本获取模块810,用于获取训练样本。
[0159] 训练模块820,用于利用训练样本训练对话推荐模型,得到经训练的对话推荐模型。
[0160] 根据本公开的实施例,经训练的对话推荐模型用于:获取历史对话信息;基于历史对话信息,从对话目标图谱中确定待生成的目标对话对象,其中,对话目标图谱包括对象节点,对象节点用于表征对话对象,目标对话对象是基于对象节点确定的;以及基于目标对话对象,生成用于推荐的目标对话信息。
[0161] 根据本公开的实施例,对话推荐模型的训练装置800可以包括样本获取模块810以及训练模块820。但是并不局限于此。对话推荐模型的训练装置800可以包括训练模块820。
[0162] 根据本公开的实施例,训练样本包括样本对话信息和与样本对话信息相对应的标签,标签包括样本对话对象。
[0163] 根据本公开的实施例,标签的类型包括以下至少一项:用于推荐的对话类型、对话主题、以及主题属性。
[0164] 根据本公开的实施例,对话推荐模型的训练装置还可以包括序列确定模块、以及图谱生成模块。
[0165] 序列确定模块,用于确定对话对象序列。
[0166] 图谱生成模块,用于基于对话对象序列和知识图谱,生成初始对话目标图谱,以便利用训练样本训练包括初始对话目标图谱的对话推荐模型,得到经训练的对话推荐模型中的对话目标图谱。
[0167] 根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0168] 根据本公开的实施例,一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如本公开实施例的方法。
[0169] 根据本公开的实施例,一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开实施例的方法。
[0170] 根据本公开的实施例,一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如本公开实施例的方法。
[0171] 图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0172] 如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
[0173] 设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0174] 计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器微控制器等。计算单元901执行上文所描述的各个方法和处理,例如对话推荐方法或者对话推荐模型的训练方法。例如,在一些实施例中,对话推荐方法或者对话推荐模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的对话推荐方法或者对话推荐模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行对话推荐方法或者对话推荐模型的训练方法。
[0175] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0176] 用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0177] 在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0178] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0179] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
[0180] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是服务器,也可以是分布式系统的服务器,或者是结合了区块链的服务器。
[0181] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0182] 上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。