对话推荐与模型训练方法、装置、电子设备和存储介质与流程

文档序号:32386918发布日期:2022-11-30 06:35阅读:44来源:国知局
对话推荐与模型训练方法、装置、电子设备和存储介质与流程

1.本发明实施例涉及计算机技术领域,尤其涉及一种对话推荐与模型训练方法、装置、电子设备和存储介质。


背景技术:

2.对话推荐系统(conversational recommender system,crs)能够在与用户的对话过程中,实现了诸如商品的推荐对象的推荐过程。传统的对话推荐任务往往先通过一些规则或模型判定用户需求,然后基于用户的对话信息分析用户偏好,进而向用户推荐诸如商品的推荐对象。
3.随着对话推荐系统的发展,引入了对话策略模块,能够根据与用户的当前对话状态作出主题引导还是直接进行推荐的判断,进一步提高了用户体验的流畅性和推荐的准确度,但是,目前的对话推荐系统在主题引导过程或推荐过程中对用户偏好或意图估计不够准确,导致了推荐效率仍有提高的空间。


技术实现要素:

4.有鉴于此,本发明实施例提供一种对话推荐与模型训练方法、装置、电子设备和存储介质,以至少部分解决上述问题。
5.根据本发明实施例的第一方面,提供了一种对话推荐方法,包括:确定当前对话语句中的多个推荐要素;在预先构建的推荐对象图谱中,查询所述多个推荐要素之间的关联关系,所述推荐对象图谱的实体指示推荐要素,所述推荐对象图谱的实体关系指示不同推荐要素之间的关联关系;至少基于所述多个推荐要素及其关联关系之间的上下文语义关联,构建所述当前对话语句的当前主题的偏好表示;基于所述当前主题的偏好表示,预测所述当前主题的下一主题;推荐与所述下一主题匹配的推荐对象。
6.在本发明的另一实现方式中,所述推荐与所述下一主题匹配的推荐对象,包括:在所述下一主题与对象标签匹配时,对所述对象标签所属的推荐对象进行推荐。
7.在本发明的另一实现方式中,所述对所述对象标签所属的推荐对象进行推荐,包括:确定具有所述对象标签的多个备选推荐对象;基于所述多个备选推荐对象与所述当前主题的偏好表示的相似度,对所述多个备选推荐对象进行排序;基于多个备选推荐对象的排序,选择所述多个备选推荐对象中的推荐对象进行推荐,所述推荐对象在所述多个备选推荐对象中的排序序数小于预设序数。
8.在本发明的另一实现方式中,所述方法还包括:在所述下一主题与所述对象标签不匹配时,基于所述当前主题的偏好表示、以及所述下一主题,生成所述当前对话语句的回复语句。
9.在本发明的另一实现方式中,所述至少基于所述多个推荐要素及其关联关系之间的上下文语义关联,构建所述当前对话语句的当前主题的偏好表示,包括:分别生成所述多个推荐要素的多个初始向量表示;基于所述多个推荐要素的关联关系,对所述多个初始向
量表示进行上下文语义处理,得到所述多个推荐要素的第一上下文语义表示;至少基于所述第一上下文语义表示,构建所述当前对话语句的当前主题的偏好表示。
10.在本发明的另一实现方式中,所述基于所述多个推荐要素的关联关系,对所述多个初始向量表示进行上下文语义处理,得到所述多个推荐要素的第一上下文语义表示,包括:构建所述多个初始向量表示的初始矩阵表示;构建所述多个初始向量之间的关系矩阵以及度矩阵;将所述初始矩阵表示、所述关系矩阵以及所述度矩阵进行编码输入到图卷积网络中,得到所述多个推荐要素的第一上下文语义表示,所述图卷积网络通过图训练数据的初始矩阵表示、关系矩阵以及度矩阵及其分类标签预先训练得到。
11.在本发明的另一实现方式中,所述方法还包括:生成所述当前对话语句的历史对话语句及其历史主题、以及对话用户偏好中的至少一者的各个第二上下文语义表示。所述至少基于所述第一上下文语义表示,构建所述当前对话语句的当前主题的偏好表示,包括:基于所述第一上下文语义表示、所述各个第二上下文语义表示输入到预先训练的自注意力层中,得到所述当前对话语句的当前主题的偏好表示,所述自注意力层用于对所述第一上下文语义表示以及所述各个第二上下文语义表示进行基于对话主题的上下文表示。
12.在本发明的另一实现方式中,所述自注意力层的输出与主题引导层的输入连接,所述自注意力层与所述主题引导层组成引导主题引导模型,所述主题引导模型通过不同对话语句的主题引导关系训练得到。所述基于所述当前主题的偏好表示,预测所述当前主题的下一主题,包括:将所述当前主题的偏好表示输入到主题引导层,得到所述当前主题的下一主题。
13.在本发明的另一实现方式中,所述方法还包括:基于所述当前主题的偏好表示以及所述推荐对象,生成所述当前对话语句的回复语句。
14.根据本发明实施例的第二方面,提供了一种模型训练方法,包括:获取对话语句样本及其所述对话语句样本的引导主题;确定所述对话语句样本中的多个推荐要素;在预先构建的推荐对象图谱中,查询所述多个推荐要素之间的关联关系,所述推荐对象图谱的实体指示推荐要素,所述推荐对象图谱的实体关系指示不同推荐要素之间的关联关系;至少基于所述多个推荐要素及其关联关系之间的上下文语义关联作为输入,以所述引导主题作为监督条件,对主题引导模型进行训练。
15.根据本发明实施例的第三方面,提供了一种对话推荐装置,包括:确定模块,确定当前对话语句中的多个推荐要素;查询模块,在预先构建的推荐对象图谱中,查询所述多个推荐要素之间的关联关系,所述推荐对象图谱的实体指示推荐要素,所述推荐对象图谱的实体关系指示不同推荐要素之间的关联关系;构建模块,至少基于所述多个推荐要素及其关联关系之间的上下文语义关联,构建所述当前对话语句的当前主题的偏好表示;预测模块,基于所述当前主题的偏好表示,预测所述当前主题的下一主题;推荐模块,推荐与所述下一主题匹配的推荐对象。
16.根据本发明实施例的第四方面,提供了一种模型训练装置,包括:获取模块,获取对话语句样本及其所述对话语句样本的引导主题;确定模块,确定所述对话语句样本中的多个推荐要素;查询模块,在预先构建的推荐对象图谱中,查询所述多个推荐要素之间的关联关系,所述推荐对象图谱的实体指示推荐要素,所述推荐对象图谱的实体关系指示不同推荐要素之间的关联关系;训练模块,至少基于所述多个推荐要素及其关联关系之间的上
下文语义关联作为输入,以所述引导主题作为监督条件,对主题引导模型进行训练。
17.根据本发明实施例的第五方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面或第二方面所述的方法对应的操作。
18.根据本发明实施例的第六方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面或第二方面所述的方法。
19.在本发明实施例的方案中,在预先构建的推荐对象图谱中,查询当前对话语句的多个推荐要素之间的关联关系,召回了更多有利于推荐的信息,使得所构建的当前对话语句的当前主题的偏好表示能够更准确地反映了当前对话语句的用户的偏好和意图,进而在基于当前主题的偏好表示能够更准确地预测下一主题,在保证了推荐的准确度的同时进一步地提高了推荐效率。
附图说明
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
21.图1为根据一个示例的对话推荐系统的示意性框图。
22.图2为根据本发明的一个实施例的对话推荐方法的步骤流程图。
23.图3为根据本发明的一个实施例的模型训练方法的步骤流程图。
24.图4为图2和图3的实施例所适用的对话推荐系统的示意性框图。
25.图5为根据本发明的另一实施例的对话推荐装置的结构框图。
26.图6为根据本发明的另一实施例的模型训练装置的结构框图。
27.图7为根据本发明的另一实施例的电子设备的结构示意图。
具体实施方式
28.为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
29.下面结合本发明实施例附图进一步说明本发明实施例具体实现。
30.图1为根据一个示例的对话推荐系统的示意性框图。对话推荐系统包括用户界面110、对话策略模块120、推荐模块130、主题引导模块140以及对话生成模块150。
31.具体地,用户界面110用于获取用户输入的自然语言语句,即,当前对话语句,也用于给出对话推荐系统的答复语句。对话策略模块120用于根据当前对话语句做出如何回复的决定,比如是继续询问到下一主题还是直接进行推荐。推荐模块130用于根据用户偏好或意图给出相应的推荐列表或者单个推荐结果。主题引导模块140用于继续询问到下一主题。对话生成模块150用于根据推荐列表或者单个推荐结果或者下一主题生成回复语句。目前
的对话推荐系统在主题引导过程或推荐过程中对用户偏好或意图估计不够准确,导致了推荐效率仍有提高的空间。
32.图2示出了根据本发明的一个实施例的对话推荐方法。本实施例的方案可以适用于任意适当的具有数据处理能力的电子设备,包括但不限于:服务器、移动终端(如手机、pad等)和pc机等。例如,在主题引导模型的模型训练(training)阶段,可以利用配置有cpu(处理单元的示例)+gpu(加速单元的示例)架构的计算设备(例如,数据中心)基于训练样本对编码器解码器模型进行训练。诸如数据中心的计算设备可以部署在诸如专有云、私有云、或混合云的云服务器中。相应地,在对话推荐方法的推理(inference)阶段,也可以利用配置有cpu(处理单元的示例)+gpu(加速单元的示例)架构的计算设备进行推理运算。本实施例的对话推荐方法,包括:
33.s210:确定当前对话语句中的多个推荐要素。
34.应理解,多个推荐要素可以是与备选推荐对象关联的要素,在推荐对象为商品时,推荐要素包括但不限于价格、销量、品牌、店铺、热度等。在推荐对象为知识点时,推荐要素包括但不限于与知识点相关的专家、领域、诸如国籍、性别、年龄等专家相关信息、书籍、引文资源等。
35.还应理解,多个推荐要素可以是与当前对话语句的关键词匹配的推荐要素,也可以是与当前对话语句的主题匹配的推荐要素。在识别当前对话语句中出现的多个推荐要素时,如果当前对话语句为“想要买一个便宜的电子产品”,则关键词匹配的“电子产品”、“便宜”等属于推荐要素,另外,主题匹配的“手机”、“手环”、“vr眼镜”、“性价比”等也属于推荐要素。
36.s220:在预先构建的推荐对象图谱中,查询多个推荐要素之间的关联关系,推荐对象图谱的实体指示推荐要素,推荐对象图谱的实体关系指示不同推荐要素之间的关联关系。
37.应理解,推荐对象图谱可以采用不同方式存储,推荐对象图谱包括实体以及实习关系。不同实体之间可以具有实体关系,也可以不具有实体关系。例如,上述示例中的“手机”可以与“性价品”具有某种关系,例如,某个手机品牌以性价品著称。又例如,“手机”与“vr眼镜”可以不具有关联关系。又例如,“手环”与“vr眼镜”之间具有某种关系,例如,某一可穿戴设备供应商生产或售卖“手环”和“vr眼镜”。综上,“某个手机品牌以性价品著称”、“某一可穿戴设备供应商生产或售卖手环和vr眼镜”都是当前对话语句中并不存在,但是与当前对话语句的意图或偏好密切关联的信息,也就是说,通过推荐对象图谱召回了更多且更隐含的意图信息或偏好信息。
38.s230:至少基于多个推荐要素及其关联关系之间的上下文语义关联,构建当前对话语句的当前主题的偏好表示。
39.应理解,可以通过预先训练的自注意力矩阵表示多个推荐要素及其关联关系之间的上下文语义关联,得到当前对话语句的当前主题的偏好表示,作为可靠且全面的中间表示,这样的中间表示有利于从监督条件中学习到泛化能力更强的模型参数。
40.s240:基于当前主题的偏好表示,预测当前主题的下一主题。
41.应理解,下一主题可以是当前主题的下级主题,或者,当前主题的同级主题,但是属于不同的领域或子领域。例如,当前主题为“电子产品”,当前主题的下级主题为“手机”或“笔记本电脑”或“智能手环”,相应地,在对话推荐过程中,由于“电子产品”过于宽泛而不利于准确确定推荐对象时,在下一主题表示“手机”等的情况下,有利于更准确确定推荐对象。另外,在当前主题与下一主题属于同一级别时,例如,当前主题为“手机”时,由于备选推荐对象受限等原因,“手机”不是主推的场景(例如,采用对话推荐系统的商家不是手机售卖商家或厂商),下一主题为“智能音箱”或“vr眼镜”,这是,当前主题与下一主题属于同一级别,都属于“电子产品”,并且下一主题与当前主题属于不同产品领域,这是如果采用对话推荐系统的商家可以售卖“智能音箱”或“vr眼镜”,则可以将“智能音箱”或“vr眼镜”作为推荐对象进行推荐。可替代地,如果采用对话推荐系统的商家不售卖“智能音箱”或“vr眼镜”,则对话策略模块(其能够调用图5的推荐模块和预测模块)可以从下一主题预测下一主题的下一主题,直到下一主题匹配采用对话推荐系统的商家售卖的产品。
42.s250:推荐与下一主题匹配的推荐对象。
43.应理解,对话策略模块可以调用自然语言生成模型(例如,gpt或gpt-2)生成用于推荐的回复语句或用于引导下一主题的回复语句。
44.在本发明实施例的方案中,在预先构建的推荐对象图谱中,查询当前对话语句的多个推荐要素之间的关联关系,召回了更多有利于推荐的信息,使得所构建的当前对话语句的当前主题的偏好表示能够更准确地反映了当前对话语句的用户的偏好和意图,进而在基于当前主题的偏好表示能够更准确地预测下一主题,在保证了推荐的准确度的同时进一步地提高了推荐效率。
45.在另一些示例中,至少基于多个推荐要素及其关联关系之间的上下文语义关联,构建当前对话语句的当前主题的偏好表示,包括:分别生成多个推荐要素的多个初始向量表示;基于多个推荐要素的关联关系,对多个初始向量表示进行上下文语义处理,得到多个推荐要素的第一上下文语义表示;至少基于第一上下文语义表示,构建当前对话语句的当前主题的偏好表示。
46.在另一些示例中,基于多个推荐要素的关联关系,对多个初始向量表示进行上下文语义处理,得到多个推荐要素的第一上下文语义表示,包括:构建多个初始向量表示的初始矩阵表示;构建多个初始向量之间的关系矩阵以及度矩阵;将初始矩阵表示、关系矩阵以及度矩阵进行编码输入到图卷积网络中,得到多个推荐要素的第一上下文语义表示,图卷积网络通过图训练数据的初始矩阵表示、关系矩阵以及度矩阵及其分类标签预先训练得到。
47.在另一些示例中,对话推荐方法还包括:生成当前对话语句的历史对话语句及其历史主题、以及对话用户偏好中的至少一者的各个第二上下文语义表示。至少基于第一上下文语义表示,构建当前对话语句的当前主题的偏好表示,包括:基于第一上下文语义表示、各个第二上下文语义表示输入到预先训练的自注意力层中,得到当前对话语句的当前主题的偏好表示,自注意力层用于对第一上下文语义表示以及各个第二上下文语义表示进行基于对话主题的上下文表示。
48.在另一些示例中,自注意力层的输出与主题引导层的输入连接,自注意力层与主题引导层组成引导主题引导模型,主题引导模型通过不同对话语句的主题引导关系训练得到;基于当前主题的偏好表示,预测当前主题的下一主题,包括:将当前主题的偏好表示输入到主题引导层,得到当前主题的下一主题。
49.图3为根据本发明的一个实施例的模型训练方法的步骤流程图。在主题引导模型的模型训练(training)阶段,可以利用配置有cpu(处理单元的示例)+gpu(加速单元的示例)架构的计算设备(例如,数据中心)基于训练样本对编码器解码器模型进行训练。诸如数据中心的计算设备可以部署在诸如专有云、私有云、或混合云的云服务器中。
50.本实施例的模型训练方法包括:
51.s310:获取对话语句样本及其对话语句样本的引导主题。
52.s320;确定对话语句样本中的多个推荐要素。
53.s330:在预先构建的推荐对象图谱中,查询多个推荐要素之间的关联关系,推荐对象图谱的实体指示推荐要素,推荐对象图谱的实体关系指示不同推荐要素之间的关联关系。
54.s340:至少基于多个推荐要素及其关联关系之间的上下文语义关联作为输入,以引导主题作为监督条件,对主题引导模型进行训练。
55.在本发明实施例的方案中,在预先构建的推荐对象图谱中,查询对话语句样本的多个推荐要素之间的关联关系,召回了更多有利于推荐的信息,使得多个推荐要素及其关联关系之间的上下文语义关联能够更准确地反映了对话语句样本的用户的偏好和意图,使训练后得到的主题引导模型,能够更准确地执行主题引导,进而提高了推荐效率。
56.应理解,在主题引导模型的端到端训练阶段,主题引导模型的输入包括多个推荐要素及其关联关系之间的上下文语义关联,作为监督条件的引导主题为对话语句样本所对应的当前主题的下一主题,下一主题可以是当前主题的下级主题,或者,当前主题的同级主题,但是属于不同的领域或子领域。
57.图4为图2和图3的实施例所适用的对话推荐系统的示意性框图。图4的对话推荐模型包括诸如图编码器的图向量编码模块410、诸如文本向量编码器的文本编码模型420、主题引导模型430、推荐模块440、以及自然语言生成(natural language generation,nlg)模块450。
58.图编码模块410通过诸图卷积网络(graph convolutional networks,gcn)的图编码器,对子图进行编码,得到第一上下文表示。例如,子图可以从推荐对象图谱查询到。作为知识图谱的推荐对象图谱包括实体和实体关系,推荐对象图谱的实体指示推荐要素,推荐对象图谱的实体关系指示不同推荐要素之间的关联关系。不同的实体之间可以具有实体关系,也可以不具有实体关系。推荐对象图谱可以根据与推荐对象相关的经验知识或数据构建。
59.具体而言,推荐对象图谱中的各个实体可以是与推荐对象本身或者与推荐对象相关的对象。例如,在推荐对象为商品时,各个实体包括但不限于标识、品牌特征、类别特征、店铺信息、热度指标、出厂信息、价格特征等。相应地,各个实体关系包括但不限于商品的标识、商品的品牌特征、商品的类别特征、商品的店铺信息、商品的热度指标、商品的出厂信息、商品的价格特征等。一般而言,如果一提到某个商品,很容易想到这个商品的某种主题特征,则说明这个商品与这个主题特征的相关度较高。例如,如果一提到手机,人们很容易想到手机的某个品牌及价格,则说明这个品牌和价格的主题特征与手机的关系比较密切。
60.子图中的各个实体是推荐对象图谱中的各个实体的子集,可以通过图查询模块415在推荐对象图谱中查询。例如,首先,识别当前对话语句中出现的多个推荐要素,例如,
当前对话语句为“想要买一个便宜的电子产品”,则“电子产品”、“便宜”都是推荐要素。相应地,在推荐对象图谱中,查询与各个推荐要素匹配(关键词匹配或主题匹配)的实体。
61.例如,如果“电子产品”在推荐对象图谱的实体中,则属于关键词匹配,相应地,从推荐对象图谱中,提取“电子产品”这个实体。可替代地,如果“电子产品”不在推荐对象图谱的实体中,并且“手机”在推荐对象图谱的实体中,因为“手机”属于“电子产品”,则属于主题匹配,相应地,从推荐对象图谱中,提取“手机”这个实体。可替代地,如果“电子产品”和“手机”都在推荐对象图谱的实体中,则从推荐对象图谱中,提取“电子产品”和“手机”。
62.应理解,可以从推荐对象图谱中的所有实体中,确定多个推荐要素,多个推荐要素可以比从当前对话语句中识别出的推荐要素的数量更多。
63.然后,从推荐对象图谱中,获取(召回)多个推荐要素之间的关联关系。例如,“想要买一个便宜的电子产品”中未包括具体的手机品牌,但是,通过从推荐对象图谱中可以获取作为实体的“手机”以及与“手机”相关的“便宜”的“品牌”,从而通过推荐对象图谱提高了比当前对话语句自身更多的意图偏好信息,更多的意图偏好信息有利于更精准的推荐。
64.此外,文本编码模型420通过诸如bert编码器的文本编码器,对当前对话语句的历史对话语句及其历史主题、以及对话用户偏好中的至少一者进行编码,得到各自的第二上下文表示。例如,将历史对话语句输入到bert编码器,得到历史对话语句的第二上下文表示;将对话用户偏好输入到bert编码器,得到对话用户偏好的第二上下文表示;将对话用户偏好的历史主题输入到bert编码器,得到历史主题的第二上下文表示。
65.在一个对话示例中,采用作为图编码器的示例的gcn编码器可以采用(公式1)进行编码:
66.其中,a为邻接矩阵,d为节点的度的矩阵,in是n阶单位矩阵,是对应的度矩阵,是可学习的线性转换器。应理解,gcn编码器的线性转换器采用训练样本训练得到。
67.进一步地,图编码模块410的第一上下文表示以及文本编码模块420的各个第二上下文表示输入到主题引导模型430。主题引导模型430可以通过端到端训练得到的分类模型。例如,主题引导模型430包括自注意力层和主题引导层,自注意力层用于拼接第一上下文表示与各个第二上下文表示,得到表示拼接上下文表示的拼接矩阵(当前主题的偏好表示的示例),然后,基于预先训练的自注意力矩阵,对拼接矩阵进行上下文语义处理,得到更可靠的语义中间表示,自注意力矩阵中的每个元素为权重值,每个元素的权重值表示每个元素对应的两个字符之间的语义相关性。
68.然后,拼接矩阵通过诸如解码器的主题引导层的处理,得到下一主题。
69.通过对话策略模块判断在对象标签集合中是否存在与下一主题匹配的对象标签,如果存在,则在推荐模块440中获取与对象标签所述的推荐对象,然后将推荐对象(例如,推荐对象的文本矩阵或文本向量)和偏好表示的拼接矩阵(例如,将两者再次拼接),输入到自然语言生成模块450中,得到当前对话语句的回复语句(推荐语句),这里的自然语言生成模块450可以采用诸如gpt或者gpt-2的预训练模型实现。
70.如果在对象标签集合中不存在与下一主题匹配的对象标签,则将下一主题(例如,
下一主题的文本矩阵或文本向量)和偏好表示的拼接矩阵(例如,将两者再次拼接),输入到自然语言生成模块450中,得到当前对话语句的回复语句。
71.进一步地,推荐模块440可以在备选推荐对象集合中确定对应标签所属的多个备选对象标签,然后,基于多个备选推荐对象与当前主题的偏好表示的相似度,对多个备选推荐对象进行排序,然后,基于多个备选推荐对象的排序,选择多个备选推荐对象中的推荐对象进行推荐,推荐对象在多个备选推荐对象中的排序序数小于预设序数,例如,推荐首个备选推荐对象,从而通过基于相似度的排序,更加精准地进行推荐。
72.在更一般的情况下,作为推荐与下一主题匹配的推荐对象的示例,可以在下一主题与对象标签匹配时,对所述对象标签所属的推荐对象进行推荐,下一主题可以是当前主题的下级主题,在下级主题的标签与对象标签匹配时进行推荐,提高了推荐的效率。
73.可替代地,在下一主题与对象标签不匹配时,基于当前主题的偏好表示、以及下一主题,生成当前对话语句的回复语句。例如,如果下一主题是当前主题的下级主题,说明下级主题的标签仍然与对象标签不匹配,例如,下级主题仍然不能准确地聚焦在对象标签,从而通过回复语句再次引导下级主题,直到与一对象标签匹配为止。又例如,如果下一主题与当前主题的位于同一层级,且下一主题与当前主题属于不同的领域或子领域,则通过下一主题转换了对话主题的方向,更有利于与一对象标签匹配。
74.应理解,在构建对象标签集合时,可首先标注备选推荐对象集合中的所有备选推荐对象的对象标签,每个备选推荐对象可以包括至少一个对象标签,然后,统计所有备选推荐对象的所有对象标签,去除重复对象标签,得到对象标签集合。
75.进一步地,图5示出了根据本发明的另一实施例的对话推荐装置。本实施例的对话推荐装置与图2的对话推荐方法对应,包括:
76.确定模块510,确定当前对话语句中的多个推荐要素。
77.查询模块520,在预先构建的推荐对象图谱中,查询所述多个推荐要素之间的关联关系,所述推荐对象图谱的实体指示推荐要素,所述推荐对象图谱的实体关系指示不同推荐要素之间的关联关系。
78.构建模块530,至少基于所述多个推荐要素及其关联关系之间的上下文语义关联,构建所述当前对话语句的当前主题的偏好表示。
79.预测模块540,基于所述当前主题的偏好表示,预测所述当前主题的下一主题;
80.推荐模块550,推荐与所述下一主题匹配的推荐对象。
81.在本发明实施例的方案中,在预先构建的推荐对象图谱中,查询当前对话语句的多个推荐要素之间的关联关系,召回了更多有利于推荐的信息,使得所构建的当前对话语句的当前主题的偏好表示能够更准确地反映了当前对话语句的用户的偏好和意图,进而在基于当前主题的偏好表示能够更准确地预测下一主题,在保证了推荐的准确度的同时进一步地提高了推荐效率。
82.在另一些示例中,推荐模块具体用于:在所述下一主题与对象标签匹配时,对所述对象标签所属的推荐对象进行推荐。
83.在另一些示例中,推荐模块具体用于:确定具有所述对象标签的多个备选推荐对象;基于所述多个备选推荐对象与所述当前主题的偏好表示的相似度,对所述多个备选推荐对象进行排序;基于多个备选推荐对象的排序,选择所述多个备选推荐对象中的推荐对
象进行推荐,所述推荐对象在所述多个备选推荐对象中的排序序数小于预设序数。
84.在另一些示例中,对话推荐装置还包括:对话生成模块,在所述下一主题与所述对象标签不匹配时,基于所述当前主题的偏好表示、以及所述下一主题,生成所述当前对话语句的回复语句。
85.在另一些示例中,构建模块具体用于:分别生成所述多个推荐要素的多个初始向量表示;基于所述多个推荐要素的关联关系,对所述多个初始向量表示进行上下文语义处理,得到所述多个推荐要素的第一上下文语义表示;至少基于所述第一上下文语义表示,构建所述当前对话语句的当前主题的偏好表示。
86.在另一些示例中,构建模块具体用于:构建所述多个初始向量表示的初始矩阵表示;构建所述多个初始向量之间的关系矩阵以及度矩阵;将所述初始矩阵表示、所述关系矩阵以及所述度矩阵进行编码输入到图卷积网络中,得到所述多个推荐要素的第一上下文语义表示,所述图卷积网络通过图训练数据的初始矩阵表示、关系矩阵以及度矩阵及其分类标签预先训练得到。
87.在另一些示例中,构建模块还用于:生成所述当前对话语句的历史对话语句及其历史主题、以及对话用户偏好中的至少一者的各个第二上下文语义表示。构建模块具体用于:基于所述第一上下文语义表示、所述各个第二上下文语义表示输入到预先训练的自注意力层中,得到所述当前对话语句的当前主题的偏好表示,所述自注意力层用于对所述第一上下文语义表示以及所述各个第二上下文语义表示进行基于对话主题的上下文表示。
88.在另一些示例中,所述自注意力层的输出与主题引导层的输入连接,所述自注意力层与所述主题引导层组成引导主题引导模型,所述主题引导模型通过不同对话语句的主题引导关系训练得到。预测模块具体用于:将所述当前主题的偏好表示输入到主题引导层,得到所述当前主题的下一主题。
89.在另一些示例中,对话生成模块还包括:基于所述当前主题的偏好表示以及所述推荐对象,生成所述当前对话语句的回复语句。
90.本实施例的装置用于实现前述多个方法实施例中相应的方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
91.图6为根据本发明的另一实施例的模型训练装置的结构框图。
92.本实施例的模型训练装置与图3的模型训练方法对应,包括:
93.获取模块610,获取对话语句样本及其所述对话语句样本的引导主题。
94.确定模块620,确定所述对话语句样本中的多个推荐要素。
95.查询模块630,在预先构建的推荐对象图谱中,查询所述多个推荐要素之间的关联关系,所述推荐对象图谱的实体指示推荐要素,所述推荐对象图谱的实体关系指示不同推荐要素之间的关联关系。
96.训练模块640,至少基于所述多个推荐要素及其关联关系之间的上下文语义关联作为输入,以所述引导主题作为监督条件,对主题引导模型进行训练。
97.在本发明实施例的方案中,在预先构建的推荐对象图谱中,查询对话语句样本的多个推荐要素之间的关联关系,召回了更多有利于推荐的信息,使得多个推荐要素及其关联关系之间的上下文语义关联能够更准确地反映了对话语句样本的用户的偏好和意图,使
训练后得到的主题引导模型,能够更准确地执行主题引导,进而提高了推荐效率。
98.参照图7,示出了根据本发明的另一实施例的电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
99.如图7所示,该电子设备可以包括:处理器(processor)702、通信接口(communications interface)704、存储有程序710的存储器(memory)706、以及通信总线708。
100.处理器、通信接口、以及存储器通过通信总线完成相互间的通信。
101.通信接口,用于与其它电子设备或服务器进行通信。
102.处理器,用于执行程序,具体可以执行上述方法实施例中的相关步骤。
103.具体地,程序可以包括程序代码,该程序代码包括至少一可执行指令。
104.处理器可能是处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
105.存储器,用于存放程序。存储器可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
106.程序具体可以用于使得处理器执行以下图2的对话推荐方法或图3的模型训练方法。
107.此外,程序中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
108.需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
109.上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
110.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
111.以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1