CN113569032A - 对话式推荐方法、装置及设备 - Google Patents
对话式推荐方法、装置及设备 Download PDFInfo
- Publication number
- CN113569032A CN113569032A CN202110880175.6A CN202110880175A CN113569032A CN 113569032 A CN113569032 A CN 113569032A CN 202110880175 A CN202110880175 A CN 202110880175A CN 113569032 A CN113569032 A CN 113569032A
- Authority
- CN
- China
- Prior art keywords
- entity
- user
- recommendation
- conversation
- entities
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3343—Query execution using phonetics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种对话式推荐方法、装置及设备,该方法包括:获取预设时段内和用户之间的对话语句;根据对话语句确定对话实体,并确定对话实体对应的知识图谱;获取历史时段内向用户推荐的实体序列,以及预设时段内的历史规划目标序列,实体序列中包括T个推荐时刻和每个时刻对应的推荐信息,所述推荐信息包括推荐实体和推荐结果,所述推荐结果为接受或者拒绝,所述历史规划目标序列为预设时段内已向所述用户规划的历史对话话题和历史对话方式;根据所述对话语句、所述知识图谱、所述历史规划目标序列和所述实体序列,确定和所述用户之间的对话方式和对话内容,并通过所述对话方式输出所述对话内容。提高对话式推荐的灵活度。
Description
技术领域
本申请涉及智能语音的技术领域,尤其涉及一种对话式推荐方法、装置及设备。
背景技术
对话推荐是指在人机对话的过程中,终端设备可以向用户推荐用户感兴趣的内容。
目前,终端设备可以根据和用户之间的对话内容,确定用户喜欢的话题和话题中的实体,并结合实体对应的知识图谱,生成对话内容。例如,若用户对智能机器人说“今天的天气适合去游泳”,则智能机器人可以确定用户的兴趣为游泳,终端设备可以向用户推荐和游泳相关的内容(例如,最近的游泳馆或者评价最好的游泳馆等)。但是,根据上述方法,终端设备只能向用户推荐和实体对应的知识图谱有关的内容,导致对话推荐的灵活度较低。
发明内容
本申请实施例提供一种对话式推荐方法、装置及设备,用于解决现有技术中对话推荐的灵活度较低的技术问题。
本申请提供一种对话式推荐方法,该方法包括:
获取预设时段内和用户之间的对话语句;
根据所述对话语句确定对话实体,并确定所述对话实体对应的知识图谱;
获取历史时段内向所述用户推荐的实体序列,以及所述预设时段内的历史规划目标序列,所述实体序列中包括T个推荐时刻和每个时刻对应的推荐信息,所述推荐信息包括推荐实体和推荐结果,所述推荐结果为接受或者拒绝,所述T为大于1的整数,所述历史规划目标序列为预设时段内已向所述用户规划的历史对话话题和历史对话方式;
根据所述对话语句、所述知识图谱、所述历史规划目标序列和所述实体序列,确定和所述用户之间的对话方式和对话内容,并通过所述对话方式输出所述对话内容。
在一种可能的实施方式中,根据所述对话语句、所述知识图谱和所述实体序列,确定和所述用户之间的对话方式和对话内容,包括:
在所述知识图谱中获取多个第一待选实体;
根据所述对话语句和所述实体序列,确定多个第二待选实体;
根据所述多个第一待选实体、所述多个第二待选实体、所述对话语句和所述历史规划目标序列,确定所述对话方式和所述对话内容。
在一种可能的实施方式中,据所述对话语句和所述实体序列,确定多个第二待选实体,包括:
根据所述实体序列,确定所述用户对应的兴趣序列,所述兴趣序列中包括多个推荐时刻、以及用户在各个推荐时刻对对应的推荐实体的兴趣程度;
根据所述兴趣序列和所述对话语句,确定多个第二待选实体。
在一种可能的实施方式中,根据所述实体序列,确定所述用户对应的兴趣序列,包括:
获取所述实体序列集合中每个推荐信息的语义向量;
针对第i个推荐时刻,对前i个推荐时刻对应的推荐信息的语义向量进行处理,得到用户在所述第i个推荐时刻对对应的推荐实体的兴趣程度,所述i依次取1、2、……、T。
在一种可能的实施方式中,根据所述兴趣序列和所述对话语句,确定多个第二待选实体,包括:
根据所述兴趣序列和所述对话语句,确定所述用户在当前时刻对每个推荐实体的兴趣程度;
根据所述用户在当前时刻对每个推荐实体的兴趣程度和所述对话语句,确定所述用户的偏好属性,所述偏好属性用于指示所述用户当前喜好的实体类型;
根据所述偏好属性,确定所述多个第二待选实体。
在一种可能的实施方式中,根据所述偏好属性,确定多个第二待选实体,包括:
根据所述偏好属性所指示的所述用户当前喜好的实体类型,在预设数据库中获取所述实体类型对应的具有所述偏好属性的多个实体;
将所述实体类型对应的具有所述偏好属性的所述多个实体确定为所述多个第二待选实体。
在一种可能的实施方式中,根据所述用户在当前时刻对每个推荐实体的兴趣程度和所述对话语句,确定所述用户的偏好属性,包括:
根据第一预设模型对所述用户在当前时刻对每个推荐实体的兴趣程度和所述对话语句进行处理,得到所述偏好属性;
其中,所述第一预设模型为对多组样本学习得到的,每组样本包括多个样本兴趣程度、样本对话语句和样本偏好属性。
在一种可能的实施方式中,根据所述多个第一待选实体、所述多个第二待选实体、所述对话语句和所述历史规划目标序列,确定所述对话方式和所述对话内容,包括:
根据所述多个第一待选实体和所述多个第二待选实体,确定实体类型,所述实体类型为多个第一待选实体和多个第二待选实体所属的类型;
根据第二预设模型,对所述多个第一待选实体、所述多个第二待选实体、所述对话语句、所述历史规划目标序列和所述实体类型进行处理,得到所述对话方式和所述对话内容;
其中,所述第二预设模型为对多组样本学习得到的,所述多组样本包括多个样本待选实体、样本对话语句、样本规划目标序列信息、样本实体类型、样本对话方式和样本对话内容。
第二方面,本申请提供一种对话推荐装置,包括第一获取模块、第一确定模块、第二获取模块和第二确定模块,其中:
所述第一获取模块用于,获取预设时段内和用户之间的对话语句;
所述第一确定模块用于,根据所述对话语句确定对话实体,并确定所述对话实体对应的知识图谱;
所述第二获取模块用于,获取历史时段内向所述用户推荐的实体序列,以及所述预设时段内的历史规划目标序列,所述实体序列中包括T个推荐时刻和每个时刻对应的推荐信息,所述推荐信息包括推荐实体和推荐结果,所述推荐结果为接受或者拒绝,所述T为大于1的整数,所述历史规划目标序列为预设时段内已向所述用户规划的历史对话话题和历史对话方式;
所述第二确定模块用于,根据所述对话语句、所述知识图谱、所述历史规划目标序列和所述实体序列,确定和所述用户之间的对话方式和对话内容,并通过所述对话方式输出所述对话内容。
在一种可能的实施方式中,所述第二确定模块具体用于:
在所述知识图谱中获取多个第一待选实体;
根据所述对话语句和所述实体序列,确定多个第二待选实体;
根据所述多个第一待选实体、所述多个第二待选实体、所述对话语句和所述历史规划目标序列,确定所述对话方式和所述对话内容。
在一种可能的实施方式中,所述第二确定模块具体用于:
根据所述实体序列,确定所述用户对应的兴趣序列,所述兴趣序列中包括多个推荐时刻、以及用户在各个推荐时刻对对应的推荐实体的兴趣程度;
根据所述兴趣序列和所述对话语句,确定多个第二待选实体。
在一种可能的实施方式中,所述第二确定模块具体用于:
获取所述实体序列集合中每个推荐信息的语义向量;
针对第i个推荐时刻,对前i个推荐时刻对应的推荐信息的语义向量进行处理,得到用户在所述第i个推荐时刻对对应的推荐实体的兴趣程度,所述i依次取1、2、……、T。
在一种可能的实施方式中,所述第二确定模块具体用于:
根据所述兴趣序列和所述对话语句,确定所述用户在当前时刻对每个推荐实体的兴趣程度;
根据所述用户在当前时刻对每个推荐实体的兴趣程度和所述对话语句,确定所述用户的偏好属性,所述偏好属性用于指示所述用户当前喜好的实体类型;
根据所述偏好属性,确定所述多个第二待选实体。
在一种可能的实施方式中,所述第二确定模块具体用于:
根据所述偏好属性所指示的所述用户当前喜好的实体类型,在预设数据库中获取所述实体类型对应的多个实体;
将所述实体类型对应的所述多个实体确定为所述多个第二待选实体。
在一种可能的实施方式中,所述第二确定模块具体用于:
根据第一预设模型对所述用户在当前时刻对每个推荐实体的兴趣程度和所述对话语句进行处理,得到所述偏好属性;
其中,所述第一预设模型为对多组样本学习得到的,每组样本包括多个样本兴趣程度、样本对话语句和样本偏好属性。
在一种可能的实施方式中,根据所述多个第一待选实体、所述多个第二待选实体、所述对话语句和所述历史规划目标序列,确定所述对话方式和所述对话内容,包括:
根据所述多个第一待选实体和所述多个第二待选实体,确定实体类型,所述实体类型为多个第一待选实体和多个第二待选实体所属的类型;
根据第二预设模型,对所述多个第一待选实体、所述多个第二待选实体、所述对话语句、所述历史规划目标序列和所述实体类型进行处理,得到所述对话方式和所述对话内容;
其中,所述第二预设模型为对多组样本学习得到的,所述多组样本包括多个样本待选实体、样本对话语句、样本规划目标序列、样本实体类型、样本对话方式和样本对话内容。
第三方面,本申请实施例提供一种对话式推荐设备,包括:处理器、存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第一方面任一项所述的对话式推荐方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现第一方面任一项所述的对话式推荐方法。
第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如前述任一项所述的对话式推荐方法的步骤。
本申请实施例提供一种对话式推荐方法、装置及设备,获取预设时段内和用户之间的对话语句,根据对话语句,确定对话实体,并确定对话实体对应的知识图谱,获取历史时段内向用户推荐的实体序列,以及预设时段内的历史规划目标序列,其中,实体序列中包括T个推荐时刻和每个时刻对应的推荐信息,推荐信息包括推荐实体和推荐结果,推荐结果为接受或拒绝,T为大于1的整数,历史规划目标序列为预设时段内已向用户规划的历史对话话题和历史对话方式,根据对话语句、知识图谱、历史规划目标序列和实体序列,确定和用户之间的对话方式和对话内容,并通过对话方式输出对话内容。在上述方法中,在服务器通过终端设备向用户推荐内容时,服务器可以通过与用户之间的对话语句,以及用户对服务器在历史时段内推荐的实体的操作(接受或拒绝),确定推荐内容,由于用户对服务器在历史时段内推荐的实体的操作可以准确的体现用户在历史时段内的兴趣演化过程,因此,可以结合当前的对话语句和兴趣演化过程,灵活的向用户推荐内容,进而提高对话推荐的灵活度。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种对话式推荐方法的流程示意图;
图3为本申请实施例提供的一种获取对话语句的过程示意;
图4为本申请实施例提供的一种知识图谱的结构示意图;
图5为本申请实施例提供的实体序列的结构示意图;
图6为本申请实施例提供的一种输出对话内容的过程示意图;
图7为本申请实施例提供的另一种对话式推荐方法的流程示意图;
图8为本申请实施例提供的一种确定用户当前兴趣状态的过程示意图;
图9为本申请实施例提供的一种对话目标规划模块的结构示意图;
图10为本申请实施例提供的一种对话式推荐方法的过程示意图;
图11为本申请实施例提供的一种对话式推荐装置的结构示意图;
图12为本申请提供的对话式推荐设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
下面,结合图1,对本申请适用的应用场景进行介绍。
图1为本申请实施例提供的一种应用场景示意图。请参见图1,包括终端设备和用户。可选的,终端设备可以为具有智能语音功能的设备。例如,终端设备可以为手机、电脑、智能音箱、智能机器人等设备。
请参见图1,终端设备输出“你喜欢爬山吗”的语音,用户回答“是的”,在终端设备接收到用户发出的“是的”语音时,终端设备可以向用户语音推荐和爬山有关的内容,例如,终端设备输出“崂山是不错的景区”的语音。在相关技术中,在服务器根据终端设备根据与用户的对话语句确定对话中的实体之后,服务器可以根据实体对应的知识图谱,向用户推荐与实体相关的内容。例如,在服务器确定用户喜欢爬山时,服务器可以通过终端设备向用户推荐和爬山有关的内容(崂山风景优美、华山较为险峻等信息)。但是,在用户向服务器发送去爬山的语音之后,服务器只会固定的向用户推荐和爬山相关的内容,进而导致对话推荐的灵活度较低。
为了解决相关技术中对话推荐的灵活度较低的技术问题,本申请实施例提供一种对话式推荐方法,服务器获取预设时段内终端设备和用户之间的对话语句,并确定对话语句中的对话实体对应的知识图谱,获取历史时段内向用户推荐的实体序列,以及预设时段内的历史规划目标序列,其中,实体序列中包括推荐实体、推荐实体对应的推荐时刻、推荐实体对应的推荐结果,推荐结果包括用户接受推荐或者用户拒绝推荐,历史规划目标序列为预设时段内已向用户规划的历史对话话题和历史对话方式,在知识图谱中获取多个第一待选实体,并根据对话语句和实体序列,确定多个第二待选实体,根据多个第一待选实体和多个第二待选实体、对话语句和历史规划目标序列,确定对话方式和对话内容,并通过对话方式输出对话内容。在上述方法中,服务器可以根据终端设备与用户之间的对话语句和本次对话中已经向用户推荐的目标实体信息,以及用户在历史时段内对推荐的实体的操作(接受或拒绝),确定对话方式和对话内容,由于用户对服务器在历史时段内推荐的实体的操作可以准确的体现用户在历史时段内的兴趣演化过程,因此,服务器可以结合当前的对话语句和兴趣演化过程,灵活的向用户推荐内容,进而提高对话推荐的灵活度。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,如下实施例可以单独存在,也可以相互结合,对于相同或相似的内容,在不同的实施例中不再重复说明。
图2为本申请实施例提供的一种对话式推荐方法的流程示意图。请参见图2,该方法可以包括:
S201、获取预设时段内和用户之间的对话语句。
本申请实施例的执行主体可以为服务器,也可以为设置在服务器中的对话式推荐装置。其中,对话式推荐装置可以通过软件来实现,也可以通过软件和硬件的结合来实现。可选的,在实际应用过程中,服务器可以通过终端设备与用户进行语音交互。例如,服务器通过终端设备获取用户的语音,并通过终端设备向用户发送用户的语音对应的应答语音。
对话语句为服务器通过终端设备与用户之间的语音信息。可选的,预设时段可以为本次对话的时段。例如,终端设备与用户本次对话已经进行3分钟,则预设时段可以为3分钟,终端设备与用户本次对话已经进行10分钟,则预设时段可以为10分钟。可选的,预设时段也可以为用户任意设置的时段。例如,预设时段可以为1分钟内、5分钟内、10分钟内等。可选的,对话语句也可以为终端设备和用户的一次对话中所有的语音信息。例如,终端设备与用户进行3分钟的对话,则对话语句为3分钟内的语音信息。
下面,结合图3,对获取对话语句的过程进行说明。
图3为本申请实施例提供的一种获取对话语句的过程示意。请参见图3,包括终端设备和用户。终端设备向用户发送语音“你喜欢爬山吗”,用户回复“喜欢”,在终端设备接收到“喜欢”的语音时,终端设备向用户发送“你可以爬一下华山”的语音,用户回复“有时间看看”。
请参见图3,在终端设备和用户之间的对话结束时,终端设备获取对话语句,其中,对话语句中包括“你喜欢爬山吗”、“喜欢”、“你可以爬一下华山”和“有时间去爬”4段语音信息。
S202、根据对话语句确定对话实体,并确定对话实体对应的知识图谱。
对话实体为对话语句中的话题对应的对象。例如,若对话语句为“你喜欢电影《钢铁侠》吗”和“喜欢”,则对话语句中的话题与电影《钢铁侠》相关,根据对话语句确定的对话实体为钢铁侠。
知识图谱为知识领域的映射地图,知识图谱用于指示实体与领域的实体之间的联系。例如,运动的知识图谱包括室外的运动和室内的运动。
下面,结合图4,详细说明知识图谱的结构。
图4为本申请实施例提供的一种知识图谱的结构示意图。在图4所示的实施例中对话实体为运动,请参见图4,运动的知识图谱包括有氧运动和无氧运动。其中,无氧运动可以为健身,健身中包括举重和短跑。有氧运动可以包括步行、跳舞和攀登等,攀登包括爬山和攀岩。需要说明的是,图4所示的知识图谱为运动对应的部分知识图谱。
可选的,在确定对话语句中的对话实体之后,可以在数据库中获取对话实体对应的知识图谱。例如,若对话语句中的对话实体为电影《小王子》,则服务器可以在数据库中获取《小王子》对应的知识图谱,进而确定与《小王子》相关的信息。
S203、获取历史时段内向用户推荐的实体序列,以及预设时段内的历史规划目标序列。
可选的,历史时段可以为过去的任意时段。例如,历史时段可以为过去的1个小时、过去的1个月、过去的1年等。
实体序列中包括T个推荐时刻和每个时刻对应的推荐信息。其中,T为大于1的整数,推荐时刻为服务器在历史时段内向用户推荐实体时的时刻。例如,若服务器在过去1个月内通过多次对话向用户推荐10个实体,则实体序列中包括10个推荐时刻和每个推荐时刻对应的推荐信息。例如,服务器在1个小时前向用户推荐电影《画皮》,则推荐时刻为1个小时前。
推荐信息包括推荐实体和推荐结果。其中,推荐实体为服务器向用户推荐的对象。例如,服务器在1周之前向用户推荐游泳馆的信息,则推荐实体为游泳馆;服务器在1个月之前向用户推荐爬山的信息,则推荐实体为山。
推荐结果用于指示用户是否接受服务器的推荐实体。其中,推荐结果为接受或拒绝。例如,若服务器在1个月之前向用户推荐爬山的信息,但用户拒绝去爬山,则爬山对应的推荐结果为拒绝;若服务器在3天前向用户推荐电影《小王子》,且用户答应观看电影《小王子》,则电影《小王子》对应的推荐结果为接受。
可选的,实体序列中的推荐信息按照推荐时刻排列。例如,实体序列中推荐信息A对应的推荐时刻为推荐时刻A,推荐信息B对应的推荐时刻为推荐时刻B,若推荐时刻A早于推荐时刻B,则实体序列中推荐信息A的位置在推荐信息B的位置之前。例如,推荐信息对应的推荐时刻越早,推荐信息在实体序列中的位置越靠前。
可选的,服务器可以通过如下可行的实现方式获取实体序列:获取多个用户的标识与多个实体序列之间的第一预设关系,根据第一预设关系,确定用户对应的实体序列,并在数据库中获取用户对应的实体序列。其中,第一预设关系中包括多个用户的标识和每个用户的标识对应的实体序列。可选的,用户的标识可以为用户的登陆账户。例如,第一预设关系可以如表1所示:
表1
用户的标识 | 实体序列 |
标识1 | 实体序列1 |
标识2 | 实体序列1 |
标识3 | 实体序列3 |
…… | …… |
需要说明的是,表1只是以示例的形式示意第一预设关系,并非对第一预设关系的限定。
例如,若用户的标识为标识1,则用户对应的实体序列为实体序列1;若用户的标识为标识2,则用户对应的实体序列为实体序列2;若用户对应的标识为标识3,则用户对应的实体序列为实体序列3。
可选的,在实际应用过程中,服务器可以实时的采集对用户推荐的实体的推荐结果,并存储于用户对应的数据库中,以增加用户对应的实体序列中的信息,进而提高对话式推荐的灵活度。
可选的,服务器可以在用户描述文件(user profile)中获取用户对应的实体序列。其中,实体序列中用户接受或拒绝的推荐可以为同一个领域中的实体,也可以为多个领域中的实体,实体序列为一种多源异构序列数据。
下面,结合图5,对本申请介绍的实体序列进行说明。
图5为本申请实施例提供的实体序列的结构示意图。请参见图5,包括实体序列。其中,实体序列中包括多个推荐时刻。例如,请参见图5,实体序列中的推荐时刻为1天之前、2天之前、3天之前、4天之前等。实体序列中包括多个推荐实体。例如,请参见图5,实体序列中的推荐实体包括买运动衣、爬山、打篮球、烧烤等。实体序列中包括多个推荐结果。例如,推荐实体买运动衣对应的推荐结果为接受,推荐实体去爬山对应的推荐结果为接受,推荐实体打篮球对应的推荐结果为拒绝,推荐实体去烧烤对应的推荐结果为拒绝。
请参见图5,1天之前对应的推荐信息为用户接受买运动衣,2天之前对应的推荐信息为用户接受去爬山,3天之前对应的推荐信息为用户拒绝打篮球,4天之前对应的推荐信息为用户拒绝去烧烤。
历史规划目标序列为预设时段内已向用户规划的历史对话话题和历史对话方式。其中,对话话题为对话内容的实体所属的类型。例如,若对话内容中的实体为爬山,则对话话题为景点,若对话内容中的实体为烧烤,则对话话题为饮食。对话方式为服务器通过终端设备与用户之间进行语音对话的方式。例如,对话方式可以包括闲聊式对话、问答式对话、任务式对话和推荐式对话等。例如,若对话方式为闲聊式对话,则服务器可以模拟口语会话的方式通过终端设备与用户进行对话;若对话方式为问答式对话,则服务器可以模拟提问会话的方式通过终端设备与用户进行对话。例如,在本次会话中,服务器已经通过问答对话方式向用户依次推荐爬山、吃饭和民宿,则历史规划目标序列中的历史对话话题依次为景点、饮食和住宿,历史对话方式为问答式对话。可选的,服务器可以在数据库中获取本次对话的历史规划目标序列。
S204、根据对话语句、知识图谱、历史规划目标序列和实体序列,确定和用户之间的对话方式和对话内容。
对话内容为与对话话题相关的内容。例如,若对话的话题为科幻电影,则服务器向用户推荐的对话内容与科幻电影相关;若对话的话题为轻音乐,则服务器向用户推荐的对话内容与轻音乐相关。
可以根据如下可行的实现方式,确定服务器向用户推荐的对话方式和对话内容:在知识图谱中获取多个第一待选实体。其中,多个第一待选实体都与对话实体相关。例如,若对话语句中的对话实体为衣服,则根据衣服对应的知识图谱确定的多个第一待选实体都与衣服有关。例如,若对话语句中的对话实体为衣服,则第一待选实体可以为短袖、长袖、羽绒服等。
根据对话语句和实体序列,确定多个第二待选实体。根据多个第一待选实体、多个第二待选实体、对话语句和历史规划目标序列,确定对话方式和对话内容。可选的,可以根据如下可行的实现方式,确定对话方式和对话内容:根据多个第一待选实体和多个第二待选实体,确定实体类型。其中,实体类型为多个第一待选实体和多个第二待选实体所属的类型。例如,若第一待选实体包括:音乐1、音乐2、电影1,第二待选实体包括:短袖、牛仔裤、肉夹馍,则多个第一待选实体和多个第二待选实体对应的实体类型为:音乐类、电影类、服装类和饮食类。
根据第二预设模型,对多个第一待选实体、多个第二待选实体、对话语句、历史规划目标序列和实体类型进行处理,得到对话方式和对话内容。其中,第二预设模型为对多组样本学习得到的,多组样本包括多个样本待选实体、样本对话语句、样本规划目标序列、样本实体类型、样本对话方式和样本对话内容。可选的,第二预设模型对多个第一待选实体、多个第二待选实体、对话语句、历史规划目标序列和实体类型进行处理,也可以得到对话方式和对话话题,进而根据对话话题生成对话内容。
可选的,若服务器根据对话语句无法确定对话实体,则在确定对话方式和对话内容时,根据多个第二待选实体、对话语句和历史规划目标序列确定。例如,若终端设备和用户对话的过程中,用户打断对话,则服务器根据对话语句中的信息无法判断对话实体,也无法根据对话实体对应的知识图谱确定多个第一待选实体,因此,根据多个第二待选实体、对话语句和历史规划目标序列,确定对话方式和对话内容。
S205、通过对话方式输出对话内容。
下面,结合图6,对通过对话方式输出对话内容的过程进行说明。
图6为本申请实施例提供的一种输出对话内容的过程示意图。在图6所示的实施例中,对话内容为钢铁侠,对话方式为闲聊式对话,请参见图6,包括终端设备和用户。在确定对话内容为钢铁侠,对话方式为闲聊式对话之后,终端设备通过闲聊的方式和用户交流与钢铁侠相关的内容。
请参见图6,终端设备输出“《雷神》真好看”的语音,在终端设备接收到用户回复的“我看了好几遍”的语音时,终端设备确定用户对科幻电影感兴趣,终端设备可以输出“钢铁侠也非常好看”的语音,以向用户推荐钢铁侠。在终端设备接收到用户回复的“我最喜欢钢铁侠了”的语音时,终端设备确定用户喜欢钢铁侠,进而输出“真想有个钢铁战甲”的语音,这样,终端设备可以通过闲聊的方式和用户交流用户感兴趣的内容,提高对话推荐的灵活度,进而提高人机交互的体验。
本申请实施例提供一种对话式推荐方法,获取预设时段内和用户之间的对话语句,根据对话语句,确定对话实体,并确定对话实体对应的知识图谱,获取历史时段内向用户推荐的实体序列,其中,实体序列中包括T个推荐时刻和每个时刻对应的推荐信息,推荐信息包括推荐实体和推荐结果,推荐结果为接受或拒绝,T为大于1的整数,在知识图谱中获取多个第一待选实体,根据对话语句和实体序列,确定多个第二待选实体,根据多个第一待选实体和多个第二待选实体,确定对话方式和对话内容,并通过对话方式输出对话内容。在上述方法中,多个第二待选实体是根据对话语句和实体序列确定得到的,由于实体序列中包括多个历史时刻对应的推荐实体的推荐结果,并且,用户的行为(接受或拒接)具有时序关系,因此,通过用户在历史时段内的行为,可以准确的确定用户在历史时段内的兴趣演化过程,并结合当前的语句,准确的确定用户在当前时刻最感兴趣的话题,进而灵活的改变向用户推荐的内容和对话的方式,提高对话推荐的灵活度。
在图2所示的实施例的基础上,下面,结合图7,对上述对话式推荐方法的过程进行详细的说明。
图7为本申请实施例提供的另一种对话式推荐方法的流程示意图。请参见图7,该方法包括:
S701、获取预设时段内和用户之间的对话语句。
需要说明的是,步骤S701的执行过程可以参照步骤S201,本申请实施例不再进行赘述。
S702、根据对话语句确定对话实体,并确定对话实体对应的知识图谱。
需要说明的是,步骤S702的执行过程可以参照步骤S202,本申请实施例不再进行赘述。
S703、获取历史时段内向用户推荐的实体序列,以及预设时段内的历史规划目标序列。
实体序列中包括T个推荐时刻和每个时刻对应的推荐信息,推荐信息包括推荐实体和推荐结果,推荐结果为接受或者拒绝,T为大于1的整数。
可选的,在用户和服务器进行语音交互完成时,服务器可以根据和用户进行语音交互的内容,实时的更新用户对应的实体序列,更新后的实体序列会影响服务器向用户后续推荐的对话话题和对话方式。
S704、在知识图谱中获取多个第一待选实体。
需要说明的是,步骤S704的执行过程可以参照步骤S204,本申请实施例不再进行赘述。
S705、根据对话语句和实体序列,确定多个第二待选实体。
可以根据如下可行的实现方式,确定多个第二待选实体:根据实体序列,确定用户对应的兴趣序列。其中,兴趣序列中包括多个推荐时刻、以及用户在各个推荐时刻对对应的推荐实体的兴趣程度。其中,兴趣程度用于指示用户的兴趣状态。例如,用户的兴趣状态可以为用户对衣服感兴趣、用户对科幻电影感兴趣、用户对轻音乐感兴趣等。
具体的,由于兴趣序列具有时序关系,因此,兴趣序列中各个推荐时刻对应的兴趣程度,可以准确的反映用户在历史时段内的兴趣演变的过程。例如,用户在夏天对短袖的兴趣程度大于对羽绒服的兴趣程度,用户在冬天对羽绒服的兴趣程度大于对短袖的兴趣程度,这样可以体现用户在不同时间段内对不同的衣服的感兴趣的程度。
可选的,可以根据如下可行的实现方式,确定用户对应的兴趣序列:获取实体序列集合中每个推荐信息的语义向量。其中,语义向量用于指示推荐信息的内容。在实际应用过程中,服务器可以通过语义向量,准确的确定推荐信息的内容。例如,若语义向量对应的推荐信息为用户拒绝去爬山,则服务器根据语义向量可以确定用户拒绝去爬山。
具体的,针对第i个推荐时刻,对前i个推荐时刻对应的推荐信息的语义向量进行处理,得到用户在第i个推荐时刻对对应的推荐实体的兴趣程度,其中,i依次取1、2、……、T。例如,实体序列中包括3个推荐时刻,针对于最晚的推荐时刻(第3个推荐时刻),通过第1个门控循环单元(Gate Recurrent Unit,GRU),对第1个推荐时刻对应的推荐信息的语义向量进行处理,生成第1个推荐时刻对对应的推荐实体的兴趣程度h1,并向第2个GRU发送记忆(部分可能会遗忘)的信息(记忆的兴趣程度),第2个GRU对记忆的信息和第2个推荐时刻对应的推荐信息的语义向量进行处理,生成第2个推荐时刻对对应的推荐实体的兴趣程度h2,并向最后一个GRU发送记忆的信息,最后一个GRU对记忆的信息和第3个推荐时刻对应的推荐信息的语义向量进行处理,生成第3个推荐时刻对对应的推荐实体的兴趣程度h3,这样可以得到实体序列对应的兴趣序列中的3个兴趣程度。
根据兴趣序列和对话语句,确定多个第二待选实体。可选的,可以根据如下可行的实现方式,确定多个第二待选实体:根据兴趣序列和对话语句,确定用户在当前时刻对每个推荐实体的兴趣程度。其中,当前时刻对每个推荐实体的兴趣程度用于指示用户当前对各个推荐实体的兴趣状态。例如,用户在当前时刻对每个推荐实体的兴趣程度可以为:对衣服感兴趣、对袜子感兴趣、对音乐不感兴趣等。
可选的,在确定用户当前时刻对每个推荐实体的兴趣程度时,可以引入注意力(attention)机制,以提高确定当前时刻对每个推荐实体的兴趣程度的准确度。
下面,结合图8,对确定当前时刻对每个推荐实体的兴趣程度的过程进行说明。
图8为本申请实施例提供的一种确定用户当前兴趣状态的过程示意图。请参见图8,实体序列中包括T个推荐时刻和每个推荐时刻对应的推荐信息。其中,b(1)为第1个推荐时刻(与当前时刻的时间差最大)对应的推荐信息,b(2)为第2个推荐时刻对应的推荐信息,b(T-1)为倒数第2个推荐时刻对应的推荐信息,b(T)为最后一个推荐时刻(与当前时刻的时间差最小)对应的推荐信息。其中,推荐信息中包括推荐实体和推荐实体对应的结果。例如,b(1)可以为用户接受去爬山。
请参见图8,将实体序列和服务器获取的用户与终端设备的对话语句输入至嵌入层中,得到推荐信息和对话语句对应的语义向量。其中,b(1)对应的语义向量为e(1),b(2)对应的语义向量为e(2),b(T-1)对应的语义向量为e(T-1),b(T)对应的语义向量为e(T)。将每个语义向量分别输入至GRU中,请参见图8,e(2)对应的GRU中不仅输入e(2),还输入记忆信息1,其中,记忆信息1为用户在第2个推荐时刻时,对第1个推荐时刻对应的兴趣状态的继承,记忆信息t为用户在第T个推荐时刻时,对第T-1个推荐时刻对应的兴趣状态的继承。
请参见图8,在GRU对对应的语义向量进行处理之后,可以得到兴趣序列,其中,兴趣序列中包括h(1)、h(2)、......、h(T-1)和h(T)。其中,h(1)为用户在第1个推荐时刻对对应的推荐实体的兴趣程度,h(2)为用户在第2个推荐时刻对对应的推荐实体的兴趣程度,h(T-1)为用户在第T-1个推荐时刻对对应的推荐实体的兴趣程度,h(T)为用户在第T个推荐时刻对对应的推荐实体的兴趣程度。
请参见图8,将兴趣序列中的每个兴趣程序输入至门控循环单元的注意力更新门(GRU with attentional update gate,AUGRU)中,并且根据对话语句的语义向量分别对每个用户的兴趣程度进行注意力处理,并向对应的AUGRU中发送注意力处理的结果。例如,对话语句的语义向量与h(1)进行注意力处理,并向h(1)对应的AUGRU中发送注意力处理的结果。
请参见图8,每个AUGRU都会向下一个AUGRU发送记忆信息,h(T)对应的AUGRU可以接收到T-1时刻的用户的兴趣状态对应的记忆信息和h(T),进而得到用户在当前时刻对每个推荐实体的兴趣程度H(T)。由于用户的兴趣丰富多样,并且兴趣之间存在漂移现象(用户从对打篮球感兴趣突然变化为对衣服感兴趣),用户每种兴趣互不影响,每种兴趣有其对应的演变趋势,因此,通过注意力机制的局部激活功能和GRU的序列学习结合,可以有效的在用户的兴趣演化的过程中激活相关的兴趣,这样,GRU每一步的局部激活都可以增强相关兴趣的影响,降低兴趣漂移的干扰,进而得到准确的用户兴趣演化的过程。
可选的,GRU单元的表达式如下:
ut=σ(Wuit+Uuht-1+bu),
rt=σ(Writ+Urht-1+br),
其中,U、W为参数矩阵,b为偏置,it为当前时刻的输入值,ht-1为上一时刻的GRU输出值,为候选激活,其中,ht为当前时刻GRU的输出值,ut为GRU的更新门,rt为GRU的重置门,σ表示激活函数sigmoid,tanh为激活函数。
注意力attention的计算方式如下:
其中,at为Attention系数,ht为当前时刻GRU的输出值。
根据用户在当前时刻对每个推荐实体的兴趣程度和对话语句,确定用户的偏好属性,其中,偏好属性用于指示用户当前喜好的实体类型。例如,用户的偏好属性可以包括轻音乐、苦情歌、科幻电影、爱情电影等。
可选的,可以根据如下可行的实现方式,确定用户的偏好属性:根据第一预设模型对用户在当前时刻对每个推荐实体的兴趣程度和对话语句进行处理,得到偏好属性。其中,第一预设模型为对多组样本学习得到的,每组样本包括多个样本兴趣程度、样本对话语句和样本偏好属性。具体的,在通过第一预设模型得到偏好属性时,可以通过softmax层进行分类判断。例如,将用户在当前时刻对每个推荐实体的兴趣程度与对话语句向量做向量拼接(如[H,X],其中,H为用户在当前时刻对每个推荐实体的兴趣程度向量,X为对话语句向量),然后将拼接好的向量输入至一个或者多个全连接层,其中,全连接层的激活函数可以使用sigmoid、Prelu、Relu、Dice等常用的函数,将全连接层的输出结果作为softmax函数的输入,进而得到输出的唯一的偏好属性。其中,偏好属性的预测范围为全部预设候选属性,预设的候选属性可以为任意设置的属性。通过多分类处理,可以准确的得到用户当前的唯一偏好属性,并且通过推荐信息中用户对推荐实体的接受或拒绝的具体行为之间的依赖,可以准确的体现用户实际的兴趣演变过程。
根据偏好属性,确定多个第二待选实体。可选的,可以根据偏好属性所指示的用户当前喜好的实体类型,在预设数据库中获取实体类型对应的多个实体。例如,若用户的偏好属性为科幻电影,则服务器在预设数据库中获取多个科幻类型的电影。
将实体类型对应的多个实体确定为多个第二待选实体。
S706、根据多个第一待选实体、多个第二待选实体、对话语句和历史规划目标序列,确定对话方式和对话内容。
确定对话方式和对话内容的过程与步骤S204相同,本申请实施例对此不再进行赘述。
在确定对话方式和对话内容之后,还可以通过用户的行为对上一个推荐时刻对应的用户对每个推荐实体的兴趣程度进行监督。例如,用户在T时刻对应的兴趣程度为对买衣服最感兴趣,若用户在T+1时刻对应的推荐信息为用户接受购买衣服的建议,则说明用户在T时刻对应的兴趣程度准确,若用户在T+1时刻对应的推荐信息为用户拒绝购买衣服的建议,则说明用户在T时刻对应的兴趣程度不准确。具体的,可以通过辅助损失函数(auxiliary)对当前时刻的兴趣程度进行学习。在实际应用过程中,辅助损失函数使用负对数似然,负例的选择可以从与用户从未交互过的领域中进行选择,或者从用户已经拒绝推荐的实体中选择,通过反向的训练,可以有效的提高确定用户当前的兴趣状态的准确度。可选的,辅助损失函数可以与第一预设模型相结合。例如,在实际应用过程中,训练模型可以包括第一预设模型和辅助损失函数模型的所有功能,训练模型的第一部分具备第一预设模型的功能,训练模型的第二部分具备辅助损失函数模型的功能。
S707、通过对话方式输出对话内容。
可选的,在服务器确定对话内容和对话方式之前,服务器可以判断当前的话题是否结束,进而确定是否确定对话内容和对话方式。例如,若当前话题还未结束,则服务器继续通过终端设备进行本话题的对话,无需规划新的对话内容和对话方式,若当前话题已结束,则服务器规划下一个对话内容和对话方式。可选的,服务器可以根据多目标驱动的对话生成框架,确定当前话题是否结束,进而确定是否规划新的话题和对话方式。其中,多目标驱动的对话生成框架MGCG包括对话目标规划模块。对话目标规划模块包括目标完成情况估计模块(Goal completion estimation,GCE)和当前目标预测模块(Current goalpredition)。GCE用于预测当前的话题是否完成,CGP(等同于本申请的第二预设模型)用于预测下一个对话方式和对话内容。
下面,结合图9,详细说明对话目标规划模块的结构。
图9为本申请实施例提供的一种对话目标规划模块的结构示意图。请参见图9,包括目标完成情况估计模块GCE和当前目标预测模块CGP。向GCE中的卷积神经网络CNN输入对话语句,GCE对其进行概率判断,在概率P小于0.5时,说明对话语句对应的当前话题未完成,在P大于或等于0.5时,说明对话语句对应的当前话题已完成,当前目标预测模块CGP接收到对话话题已完成的信息时,确定下一个对话的对话方式和对话内容。
可选的,CGP中的具体计算方式如下:
其中,K为知识图谱,为用户对应的实体序列,g′为本次对话中历史规划目标序列,gt为待推荐的实体和推荐实体的对话方式,gty为对话类型,gtp为对话的话题,为当前时刻对话类型和对话话题分别为gty,gtp的概率。该公式可以通过最大化等式的右侧使得等式成立,进而从候选的gty和候选的gtp中选出gty和的gtp。根据上述公式得到推荐的实体后,可以通过检索模型对实体进行处理,进而得到更多的与实体相关的对象。
本申请实施例提供一种对话式推荐方法,获取预设时段内和用户之间的对话语句,根据对话语句确定对话实体,并确定对话实体对应的知识图谱,获取历史时段内向用户推荐的实体序列,以及预设时段内的历史规划目标序列,在知识图谱中获取多个第一待选实体,根据对话语句和实体序列,确定多个第二待选实体,根据多个第一待选实体、多个第二待选实体、对话语句和历史规划目标序列,确定对话方式和对话内容,通过对话方式输出对话内容。在上述方法中,多个第二待选实体是根据对话语句和实体序列确定得到的,由于实体序列中包括多个历史时刻对应的推荐实体的推荐结果,并且,用户的行为(接受或拒接)具有时序关系,因此,可以准确的体现用户行为之间的依赖关系,并且可以准确的确定用户在历史时段内的兴趣演化的过程,并结合当前的语句,准确的确定在当前语境的状态下,用户最感兴趣的话题,进而灵活的改变向用户推荐的内容和对话的方式,提高对话推荐的灵活度。
在上述任意一个实施例的基础上,下面,结合图10,通过举例的方式对上述对话式推荐方法的过程进行说明。
图10为本申请实施例提供的一种对话式推荐方法的过程示意图。请参见图10,包括服务器、终端设备和用户。服务器先向用户推荐爬山的话题,并向终端设备发送“崂山的景色非常美”的语音信息,终端设备输出“崂山的景色非常美”的语音,在终端设备接收到用户发出的“我有时间去看看”的语音时,终端设备向服务器发送语音信息:我有时间去看看。服务器确定本次对话语句中的对话实体为崂山,并根据崂山的知识图谱、用户对应的历史的实体序列和当前的语句,确定多个待选实体,待选实体中包括崂山的景点、崂山的天气、烧烤、农家乐、小吃、民宿、酒店,本次对话的历史规划目标序列为闲聊的方式推荐景点。
请参见图10,在景点的话题聊完时,服务器在多个待选实体中,确定下一个话题为饮食,推荐的对话方式为闲聊,服务器可以向终端设备发送语音信息:可以尝尝本地的烧烤,终端设备输出“可以尝尝本地的烧烤”的语音,在终端设备接收到用户发送的“可以考虑”的语音时,终端设备向服务器发送语音信息:可以考虑。服务器确定饮食话题结束,并确定历史规划目标序列为闲聊的方式推荐景点-闲聊的方式推荐饮食。
请参见图10,在服务器确定饮食的话题聊完时,服务器确定下一个话题为住宿,推荐的对话方式为闲聊,服务器在多个待选实体中确定推荐的实体为民宿,并向终端设备发送语音信息:当地的民宿很有特色,终端设备输出“当地的民宿很有特色语音”,在终端设备接收到用户发出的“那到时候我就住民宿”的语音时,终端设备确定本次对话的住宿话题结束,并确定历史规划目标序列为闲聊的方式推荐景点-闲聊的方式推荐饮食-闲聊的方式推荐住宿。这样,在终端设备向用户推荐内容时,可以避免仅根据崂山对应的知识图谱中的实体向用户进行推荐,由于用户在历史时段内的行为(接受推荐和拒绝推荐)是真实反映用户的兴趣状态的,因此,根据实体序列和当前的语境,可以确定用户在当前语境中最感兴趣的实体,并结合本次对话已向用户推荐的历史对话话题和历史对话方式,灵活的向用户推荐烧烤和啤酒,进而提高对话式推荐的灵活度。
图11为本申请实施例提供的一种对话式推荐装置的结构示意图。该对话式推荐装置10可以设置在终端设备中。请参见图11,该对话式推荐装置10可以包括第一获取模块11、第一确定模块12、第二获取模块13和第二确定模块14,其中:
所述第一获取模块11用于,获取预设时段内和用户之间的对话语句;
所述第一确定模块12用于,根据所述对话语句确定对话实体,并确定所述对话实体对应的知识图谱;
所述第二获取模块13用于,获取历史时段内向所述用户推荐的实体序列,以及所述预设时段内的历史规划目标序列,所述实体序列中包括T个推荐时刻和每个时刻对应的推荐信息,所述推荐信息包括推荐实体和推荐结果,所述推荐结果为接受或者拒绝,所述T为大于1的整数,所述历史规划目标序列为预设时段内已向所述用户规划的历史对话话题和历史对话方式;
所述第二确定模块14用于,根据所述对话语句、所述知识图谱、所述历史规划目标序列和所述实体序列,确定和所述用户之间的对话方式和对话内容,并通过所述对话方式输出所述对话内容。
在一种可能的实施方式中,所述第二确定模块14具体用于:
在所述知识图谱中获取多个第一待选实体;
根据所述对话语句和所述实体序列,确定多个第二待选实体;
根据所述多个第一待选实体、所述多个第二待选实体、所述对话语句和所述历史规划目标序列,确定所述对话方式和所述对话内容。
在一种可能的实施方式中,所述第二确定模块14具体用于:
根据所述实体序列,确定所述用户对应的兴趣序列,所述兴趣序列中包括多个推荐时刻、以及用户在各个推荐时刻对对应的推荐实体的兴趣程度;
根据所述兴趣序列和所述对话语句,确定多个第二待选实体。
在一种可能的实施方式中,所述第二确定模块14具体用于:
获取所述实体序列集合中每个推荐信息的语义向量;
针对第i个推荐时刻,对前i个推荐时刻对应的推荐信息的语义向量进行处理,得到用户在所述第i个推荐时刻对对应的推荐实体的兴趣程度,所述i依次取1、2、……、T。
在一种可能的实施方式中,所述第二确定模块14具体用于:
根据所述兴趣序列和所述对话语句,确定所述用户在当前时刻对每个推荐实体的兴趣程度;
根据所述用户在当前时刻对每个推荐实体的兴趣程度和所述对话语句,确定所述用户的偏好属性,所述偏好属性用于指示所述用户当前喜好的实体类型;
根据所述偏好属性,确定所述多个第二待选实体。
在一种可能的实施方式中,所述第二确定模块14具体用于:
根据所述偏好属性所指示的所述用户当前喜好的实体类型,在预设数据库中获取所述实体类型对应的具有所述偏好属性的多个实体;
将所述实体类型对应的具有所述偏好属性的所述多个实体确定为所述多个第二待选实体。
在一种可能的实施方式中,所述第二确定模块14具体用于:
根据第一预设模型对所述用户在当前时刻对每个推荐实体的兴趣程度和所述对话语句进行处理,得到所述偏好属性;
其中,所述第一预设模型为对多组样本学习得到的,每组样本包括多个样本兴趣程度、样本对话语句和样本偏好属性。
在一种可能的实施方式中,所述第二确定模块14具体用于:
根据所述多个第一待选实体和所述多个第二待选实体,确定实体类型,所述实体类型为多个第一待选实体和多个第二待选实体所属的类型;
根据第二预设模型,对所述多个第一待选实体、所述多个第二待选实体、所述对话语句、所述历史规划目标序列和所述实体类型进行处理,得到所述对话方式和所述对话内容;
其中,所述第二预设模型为对多组样本学习得到的,所述多组样本包括多个样本待选实体、样本对话语句、样本规划目标序列、样本实体类型、样本对话方式和样本对话内容。
本申请实施例提供的对话式推荐装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本申请实施例所示的对话式推荐装置可以为芯片、硬件模组、处理器等。当然,对话式推荐装置可以为其它形态,本申请实施例对此不作具体限定。
图12为本申请提供的对话式推荐设备的硬件结构示意图。请参见图12,该对话式推荐设备20可以包括:处理器21和存储器22,其中,处理器21和存储器22可以通信;示例性的,处理器21和存储器22通过通信总线23通信,所述存储器22用于存储程序指令,所述处理器21用于调用存储器中的程序指令执行上述任意方法实施例所示的对话式推荐方法。
可选的,对话式推荐设备20还可以包括通信接口,通信接口可以包括发送器和/或接收器。
可选的,上述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请提供一种可读存储介质,所述可读存储介质上存储有计算机程序;所述计算机程序用于实现如上述任意实施例所述的对话式推荐方法。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括指令,当所述指令被执行时,使得计算机执行上述对话式推荐方法。
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(英文:read-only memory,缩写:ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘(英文:floppydisk)、光盘(英文:optical disc)及其任意组合。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程终端设备的处理单元以产生一个机器,使得通过计算机或其他可编程终端设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程终端设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
在本申请中,术语“包括”及其变形可以指非限制性的包括;术语“或”及其变形可以指“和/或”。本申请中术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
Claims (12)
1.一种对话式推荐方法,其特征在于,包括:
获取预设时段内和用户之间的对话语句;
根据所述对话语句确定对话实体,并确定所述对话实体对应的知识图谱;
获取历史时段内向所述用户推荐的实体序列,以及在所述预设时段内的历史规划目标序列,所述实体序列中包括T个推荐时刻和每个时刻对应的推荐信息,所述推荐信息包括推荐实体和推荐结果,所述推荐结果为接受或者拒绝,所述T为大于1的整数,所述历史规划目标序列为预设时段内已向所述用户规划的历史对话话题和历史对话方式;
根据所述对话语句、所述知识图谱、所述历史规划目标序列和所述实体序列,确定和所述用户之间的对话方式和对话内容,并通过所述对话方式输出所述对话内容。
2.根据权利要求1所述的方法,其特征在于,根据所述对话语句、所述知识图谱和所述实体序列,确定和所述用户之间的对话方式和对话内容,包括:
在所述知识图谱中获取多个第一待选实体;
根据所述对话语句和所述实体序列,确定多个第二待选实体;
根据所述多个第一待选实体、所述多个第二待选实体、所述对话语句和所述历史规划目标序列,确定所述对话方式和所述对话内容。
3.根据权利要求2所述的方法,其特征在于,根据所述对话语句和所述实体序列,确定多个第二待选实体,包括:
根据所述实体序列,确定所述用户对应的兴趣序列,所述兴趣序列中包括多个推荐时刻、以及用户在各个推荐时刻对对应的推荐实体的兴趣程度;
根据所述兴趣序列和所述对话语句,确定多个第二待选实体。
4.根据权利要求3所述的方法,其特征在于,根据所述实体序列,确定所述用户对应的兴趣序列,包括:
获取所述实体序列集合中每个推荐信息的语义向量;
针对第i个推荐时刻,对前i个推荐时刻对应的推荐信息的语义向量进行处理,得到用户在所述第i个推荐时刻对对应的推荐实体的兴趣程度,所述i依次取1、2、……、T。
5.根据权利要求3或4所述的方法,其特征在于,根据所述兴趣序列和所述对话语句,确定多个第二待选实体,包括:
根据所述兴趣序列和所述对话语句,确定所述用户在当前时刻对每个推荐实体的兴趣程度;
根据所述用户在当前时刻对每个推荐实体的兴趣程度和所述对话语句,确定所述用户的偏好属性,所述偏好属性用于指示所述用户当前喜好的实体类型;
根据所述偏好属性,确定所述多个第二待选实体。
6.根据权利要求5所述的方法,其特征在于,根据所述偏好属性,确定多个第二待选实体,包括:
根据所述偏好属性所指示的所述用户当前喜好的实体类型,在预设数据库中获取所述实体类型对应的具有所述偏好属性的多个实体;
将所述实体类型对应的具有所述偏好属性的所述多个实体确定为所述多个第二待选实体。
7.根据权利要求5或6所述的方法,其特征在于,根据所述用户在当前时刻对每个推荐实体的兴趣程度和所述对话语句,确定所述用户的偏好属性,包括:
根据第一预设模型对所述用户在当前时刻对每个推荐实体的兴趣程度和所述对话语句进行处理,得到所述偏好属性;
其中,所述第一预设模型为对多组样本学习得到的,每组样本包括多个样本兴趣程度、样本对话语句和样本偏好属性。
8.根据权利要求2-7任一项所述的方法,其特征在于,根据所述多个第一待选实体、所述多个第二待选实体、所述对话语句和所述历史规划目标序列,确定所述对话方式和所述对话内容,包括:
根据所述多个第一待选实体和所述多个第二待选实体,确定实体类型,所述实体类型为多个第一待选实体和多个第二待选实体所属的类型;
根据第二预设模型,对所述多个第一待选实体、所述多个第二待选实体、所述对话语句、所述历史规划目标序列和所述实体类型进行处理,得到所述对话方式和所述对话内容;
其中,所述第二预设模型为对多组样本学习得到的,所述多组样本包括多个样本待选实体、样本对话语句、样本规划目标序列、样本实体类型、样本对话方式和样本对话内容。
9.一种对话式推荐装置,其特征在于,包括第一获取模块、第一确定模块、第二获取模块和第二确定模块,其中:
所述第一获取模块用于,获取预设时段内和用户之间的对话语句;
所述第一确定模块用于,根据所述对话语句确定对话实体,并确定所述对话实体对应的知识图谱;
所述第二获取模块用于,获取历史时段内向所述用户推荐的实体序列,所述实体序列中包括T个推荐时刻和每个时刻对应的推荐信息,所述推荐信息包括推荐实体和推荐结果,所述推荐结果为接受或者拒绝,所述T为大于1的整数;
所述第二确定模块用于,根据所述对话语句、所述知识图谱和所述实体序列,确定和所述用户之间的对话方式和对话内容,并通过所述对话方式输出所述对话内容。
10.一种对话式推荐设备,其特征在于,包括:处理器和存储器;
所述存储器用于,存储计算机程序;
所述处理器用于,执行所述存储器中存储的计算机程序,实现如权利要求1至8中任一项所述的对话式推荐方法。
11.一种可读存储介质,其特征在于,所述可读存储介质上存储设备控制程序,当所述设备控制程序被处理器执行时,实现如权利要求1至8任一项所述的对话式推荐方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至8任一项所述的对话式推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110880175.6A CN113569032A (zh) | 2021-08-02 | 2021-08-02 | 对话式推荐方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110880175.6A CN113569032A (zh) | 2021-08-02 | 2021-08-02 | 对话式推荐方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113569032A true CN113569032A (zh) | 2021-10-29 |
Family
ID=78169896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110880175.6A Pending CN113569032A (zh) | 2021-08-02 | 2021-08-02 | 对话式推荐方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569032A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114550705A (zh) * | 2022-02-18 | 2022-05-27 | 北京百度网讯科技有限公司 | 对话推荐方法、模型的训练方法、装置、设备及介质 |
-
2021
- 2021-08-02 CN CN202110880175.6A patent/CN113569032A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114550705A (zh) * | 2022-02-18 | 2022-05-27 | 北京百度网讯科技有限公司 | 对话推荐方法、模型的训练方法、装置、设备及介质 |
CN114550705B (zh) * | 2022-02-18 | 2024-04-12 | 北京百度网讯科技有限公司 | 对话推荐方法、模型的训练方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108153780B (zh) | 一种人机对话装置及其实现人机对话的方法 | |
CN106815252B (zh) | 一种搜索方法和设备 | |
CN107797984B (zh) | 智能交互方法、设备及存储介质 | |
CN110297848A (zh) | 基于联邦学习的推荐模型训练方法、终端及存储介质 | |
CN110364146B (zh) | 语音识别方法、装置、语音识别设备及存储介质 | |
CN104778173B (zh) | 目标用户确定方法、装置及设备 | |
US20160379106A1 (en) | Human-computer intelligence chatting method and device based on artificial intelligence | |
CN106448670A (zh) | 基于深度学习和强化学习的自动回复对话系统 | |
WO2017097061A1 (zh) | 智能应答方法及装置 | |
CN107357875A (zh) | 一种语音搜索方法、装置及电子设备 | |
CN108962238A (zh) | 基于结构化神经网络的对话方法、系统、设备及存储介质 | |
CN108363745A (zh) | 机器人客服转人工客服的方法和装置 | |
CN103761254A (zh) | 多领域服务主题匹配推荐方法 | |
CN111191450A (zh) | 语料清洗方法、语料录入设备及计算机可读存储介质 | |
CN110688468B (zh) | 输出响应消息的方法、装置、电子设备及可读存储介质 | |
CN108921624A (zh) | 广告融合方法、装置、存储介质和终端设备 | |
CN110222838B (zh) | 文档排序方法、装置、电子设备及存储介质 | |
CN111199149B (zh) | 一种对话系统的语句智能澄清方法及系统 | |
CN114550705A (zh) | 对话推荐方法、模型的训练方法、装置、设备及介质 | |
CN110765348A (zh) | 一种热词的推荐方法、装置、电子设备及存储介质 | |
CN113420058A (zh) | 一种基于结合用户历史行为的对话式学术会议推荐方法 | |
CN112256856A (zh) | 机器人对话方法、装置、电子设备及存储介质 | |
CN113569032A (zh) | 对话式推荐方法、装置及设备 | |
CN111159382B (zh) | 会话系统知识模型的构建和使用方法及装置 | |
CN115809669B (zh) | 一种对话管理方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |