一种基于知识图谱的可解释推荐方法及相关装置

allin2022-07-12  265



1.本技术涉及信息技术领域,特别涉及一种基于知识图谱的可解释推荐方法及相关装置。


背景技术:

2.可解释推荐是在给用户推荐物品的同时,给予相应的推荐理由;其中,可解释推荐的形式可以为在推荐给用户物品时,将推荐物品与用户的历史行为相关联。比如,在电影推荐中,用户给诺兰导演的电影《盗梦空间》评分很高,于是推荐系统给用户推荐诺兰导演的另一部作品《星际穿越》,形成了“用户—《盗梦空间》—诺兰—《星际穿越》”这样的推荐解释路径。
3.目前常用的可解释推荐系统普遍采用基于知识图谱的推荐方法,其中,基于知识图谱的推荐方法主要分成两类,分别为基于嵌入的推荐方法以及基于路径的推荐方法。基于嵌入的推荐方法缺乏可解释性,不适合用于构建可解释推荐系统。基于路径的推荐方法需要预先构建若干元路径,再通过计算得出概率最大的解释路径,其虽然可以得到可解释路径,但是需要先从数据中抽取、构造大量的元路径,无法实现端到端。此外,针对一些特定的推荐场景,例如新闻推荐问题,其每条新闻与图谱中多个实体关联,从而很难直接应用元路径相关的推荐方法。
4.因而现有技术还有待改进和提高。


技术实现要素:

5.本技术要解决的技术问题在于,针对现有技术的不足,提供一种基于知识图谱的可解释推荐方法及相关装置。
6.为了解决上述技术问题,本技术实施例第一方面提供了一种基于知识图谱的可解释推荐方法,所述的方法包括:
7.基于用户历史数据集构建物品-物品属性知识图谱;
8.对于用户历史数据集中的每个用户,基于所述物品-物品属性知识图谱确定所述用户对应的h阶个相关实体集,其中,相邻两阶相关实体集中的前一阶相关实体集中的每个相关实体a为后一阶相关实体集中至少一个相关实体b的头实体,并且相关实体a和相关实体b构成的物品属性三元组包含于物品-物品属性知识图谱;
9.根据h阶个相关实体集以及用户对应的起始兴趣物品,在物品-物品属性知识图谱选取h跳水波集,并确定选取到的各跳水波集对应的用户兴趣向量,其中,各水波集均包括若干物品-物品属性知识图谱中的三元组;
10.基于获取到的各用户兴趣向量确定用户嵌入向量,基于所述用户嵌入向量和物品嵌入向量确定预测访问概率,以及基于所述预测访问概率训练推荐模型;
11.通过所述推荐模型进行物品推荐。
12.所述基于知识图谱的可解释推荐方法,其中,所述基于用户历史数据集构建物品
知识图谱具体包括:
13.提取用户历史数据集中物品的物品属性;
14.根据提取到的物品属性构建物品-物品属性知识图谱,其中,所述物品-物品属性知识图谱中的三元组包括头实体-关系-尾实体。
15.所述基于知识图谱的可解释推荐方法,其中,所述对于用户历史数据集中的每个用户,基于所述物品-物品属性知识图谱确定所述用户对应的h阶个相关实体集具体包括:
16.对于用户历史数据集中的每个用户,基于用户物品交互关系确定所述用户对应的起始兴趣物品,其中,所述起始兴趣物品包括于所述历史数据集;
17.将由起始兴趣物品构成的零阶相关实体集作为候选相关实体集;
18.在所述物品-物品属性知识图谱中选取以候选相关实体集中的各相关实体为头实体的三元组,并将选取到的三元组中的尾实体构成的集合作为第一阶相关实体集;
19.将所述第一阶相关实体集作为候选相关实体集,并继续执行在所述物品-物品属性知识图谱中选取以候选相关实体集中的各相关实体为头实体的三元组的步骤直至得到第h阶相关实体集,其中,h大于1;
20.将第一阶相关实体集至第h阶相关实体集作为h阶个的相关实体集。
21.所述基于知识图谱的可解释推荐方法,其中,所述交互关系为用户历史评分记录;所述基于用户物品交互关系确定所述用户对应的起始兴趣物品具体为:
22.获取所述用户对应的用户历史评分记录;
23.将获取到的用户历史评分记录中的历史评分最高的物品作为所述用户对应的起始兴趣物品。
24.所述基于知识图谱的可解释推荐方法,其中,所述根据h阶个相关实体集以及用户对应的起始兴趣物品,在物品-物品属性知识图谱选取h跳水波集具体包括:
25.在物品-物品属性知识图谱中选取以该第k-1阶相关实体集中的相关实体为头实体的三元组,其中,k=1,2,...,h,当k=1时,第k-1阶相关实体集为由起始兴趣物品构成的零阶相关实体集;
26.将选取到的所有三元组构成的集合作为第k跳水波集,以得到h跳水波集。
27.所述基于知识图谱的可解释推荐方法,其中,所述确定选取到的各跳水波集对应的用户兴趣向量具体包括:
28.对于第一跳水波集,获取第一跳水波集中的各三元组与用户历史数据集中的各物品的相关性系数,并基于获取的相关系数将第一跳水波集中的各三元组中的尾实体加权,以得到第一跳水波集对应的用户兴趣向量;
29.对于第k跳水波集,获取第k跳水波集中的各三元组与第k-1阶用户兴趣向量的相关性系数,并基于获取的相关系数将第k跳水波集中的各三元组中的尾实体加权,以得到第k跳水波集对应的用户兴趣向量,其中,k=2,3,...,h。
30.所述基于知识图谱的可解释推荐方法,其中,当用户历史数据集未包括与所述用户具有交互关系的物品时,将所述用户第一次登录时标记的实体作为起始兴趣物品。
31.所述基于知识图谱的可解释推荐方法,其中,所述通过所述推荐模型进行物品推荐具体包括:
32.将待推荐用户以及待推荐用户对应的候选物品集输入所述推荐模型;
33.通过所述推荐模型确定所述用户与各候选物品的访问概率预测值;
34.基于预设概率阈值以及访问概率预测值确定目标推荐物品,并基于目标推荐物品与待推荐用户的h阶个相关实体集中相关实体的相关系数确定目标推荐物品对应的解释推荐路径。
35.本技术实施例第二方面提供了一种基于知识图谱的可解释推荐系统,所述系统包括:
36.构建模块,用于基于用户历史数据集构建物品-物品属性知识图谱;
37.确定模块,用于对于用户历史数据集中的每个用户,基于所述物品-物品属性知识图谱确定所述用户对应的h阶个相关实体集,其中,相邻两阶相关实体集中的前一阶的相关实体集中的相关实体为后一阶的相关实体集中的相关实体的头实体,并且两个相关实体构成的物品属性三元组包含于物品-物品属性知识图谱;
38.选取模块,用于根据h阶个相关实体集以及用户对应的起始兴趣物品,在物品-物品属性知识图谱选取h跳水波集,并确定选取到的各跳水波集对应的用户兴趣向量,其中,各水波集均包括若干物品-物品属性知识图谱中的三元组;
39.推理模块,用于基于获取到的各用户兴趣向量确定用户嵌入向量,基于所述用户嵌入向量和物品嵌入向量确定预测访问概率,以及基于所述预测访问概率训练推荐模型;
40.推荐模块,用于通过所述推荐模型进行物品推荐。
41.本技术实施例第三方面提供了一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
42.所述通信总线实现处理器和存储器之间的连接通信;
43.所述处理器执行所述计算机可读程序时实现如上任一所述的一种基于知识图谱的可解释推荐方法中的步骤。
44.有益效果:与现有技术相比,本技术提供了一种基于知识图谱的可解释推荐方法及相关装置,方法包括基于用户历史数据集构建物品-物品属性知识图谱;基于所述物品-物品属性知识图谱确定所述用户对应的h阶个相关实体集,根据h阶个相关实体集以及用户对应的起始兴趣物品,在物品-物品属性知识图谱选取h跳水波集,并确定选取到的各跳水波集对应的用户兴趣向量,基于获取到的各用户兴趣向量确定用户嵌入向量,基于所述用户嵌入向量和物品嵌入向量确定预测访问概率,以及基于所述预测访问概率训练推荐模型;通过所述推荐模型进行物品推荐。本技术通过知识图谱构建h跳水波集,然后通过h跳水波集确定用户感兴趣向量,之后基于用户感兴趣向量和物品嵌入向量训练推荐模型,然后通过推荐模型确定推荐物品和解释推荐路径,这样无需预先构建大量的元路径,通过h条水波集中的每轮传播来构建解释推荐路径中的物品,在保证推荐精确性的同时提高了推荐方法的适用范围。
附图说明
45.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1为本技术提供的基于知识图谱的可解释推荐方法的流程图。
47.图2为本技术提供的基于知识图谱的可解释推荐方法的流程示例图。
48.图3为本技术提供的基于知识图谱的可解释推荐方法中的知识图谱构建流程图。
49.图4为以电影数据集为实例构建电影知识图谱的流程示意图。
50.图5为本技术提供的基于知识图谱的可解释推荐方法中的推荐模型的训练过程示意图。
51.图6为本技术提供的基于知识图谱的可解释推荐方法中确定目标推荐物品及目标推荐物品对应的解释推荐路径的流程示意图。
52.图7为本技术提供的基于知识图谱的可解释推荐系统的结构原理图。
53.图8为本技术提供的终端设备的结构原理图。
具体实施方式
54.本技术提供一种基于知识图谱的可解释推荐方法及相关装置,为使本技术的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本技术进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
55.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
56.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
57.应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
58.发明人经过研究发现,可解释推荐是在给用户推荐物品的同时,给予相应的推荐理由;其中,可解释推荐的形式可以为在推荐给用户物品时,将推荐物品与用户的历史行为相关联。比如,在电影推荐中,用户给诺兰导演的电影《盗梦空间》评分很高,于是推荐系统给用户推荐诺兰导演的另一部作品《星际穿越》,形成了“用户—《盗梦空间》—诺兰—《星际穿越》”这样的推荐解释路径。
59.目前常用的可解释推荐系统普遍采用基于知识图谱的推荐方法,其中,基于知识图谱的推荐方法主要分成两类,分别为基于嵌入的推荐方法以及基于路径的推荐方法。基于嵌入的推荐方法缺乏可解释性,不适合用于构建可解释推荐系统。基于路径的推荐方法需要预先构建若干元路径,再通过计算得出概率最大的解释路径,其虽然可以得到可解释路径,但是需要先从数据中抽取、构造大量的元路径,无法实现端到端。此外,针对一些特定
的推荐场景,例如新闻推荐问题,其每条新闻与图谱中多个实体关联,从而很难直接应用元路径相关的推荐方法。
60.为了解决上述问题,在本技术实施例中,基于用户历史数据集构建物品-物品属性知识图谱;基于所述物品-物品属性知识图谱确定所述用户对应的h阶个相关实体集,根据h阶个相关实体集以及用户对应的起始兴趣物品,在物品-物品属性知识图谱选取h跳水波集,并确定选取到的各跳水波集对应的用户兴趣向量,基于获取到的各用户兴趣向量确定用户嵌入向量,基于所述用户嵌入向量和物品嵌入向量确定预测访问概率,以及基于所述预测访问概率训练推荐模型;通过所述推荐模型进行物品推荐。本技术通过知识图谱构建h跳水波集,然后通过h跳水波集确定用户感兴趣向量,之后基于用户感兴趣向量和物品嵌入向量训练推荐模型,然后通过推荐模型确定推荐物品和解释推荐路径,这样无需预先构建大量的元路径,通过h条水波集中的每轮传播来构建解释推荐路径中的物品,在保证推荐精确性的同时提高了推荐方法的适用范围。
61.下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
62.本实施例提供了一种基于知识图谱的可解释推荐方法,如图1和图2所示,所述方法包括:
63.s10、基于用户历史数据集构建物品-物品属性知识图谱。
64.具体地,用户历史交互数据集为用户-物品交互数据集,例如,movielens-20m电影数据集,book-crossing图书数据集,last.fm音乐数据集等。物品-属性知识图谱用于反映物品及其携带的物品属性,也就是说,物品-属性知识图谱是通过添加物品的相关属性所构建的。
65.在一个实现方式中,如图3所示,所述基于用户历史数据集构建物品知识图谱具体包括:
66.提取用户历史数据集中物品的物品属性;
67.根据提取到的物品属性构建物品-物品属性知识图谱,其中,所述物品-物品属性知识图谱中的三元组包括头实体-关系-尾实体。
68.具体地,物品属性用于反映物品信息,物品-物品属性知识图谱可以采用三元组表示。三元组包括头实体-关系-尾实体,可以表示为{(h,r,t)|h,t∈e

,r∈r
+
},其中,h代表头实体,t代表尾实体,e

表示知识图谱中的实体集合,r代表头实体与尾实体的关系,例如(《红楼梦》,作者,曹雪芹)为知识图谱的三元组。例如,如图4所示,假设用户历史数据集为movielens-20m电影数据集,根据电影数据集中的电影条目中每部电影的电影文本信息,抽取结构化数据和文本信息中的实体、属性和关系以构建知识本体,然后将知识本体进行知识融合以得到包括三元组(头实体,关系,尾实体)的电影知识图谱,其中,知识融合包括实体对齐和属性对齐。
69.s20、对于用户历史数据集中的每个用户,基于所述物品-物品属性知识图谱确定所述用户对应的h阶个相关实体集。
70.具体地,h阶个相关实体集中的每个相关实体集均包括若干相关实体,并且h阶个相关实体集按照阶数从小到大的顺序排列后,相邻两阶相关实体集中的前一阶相关实体集中的每个相关实体a为后一阶相关实体集中至少一个相关实体b的头实体,并且相关实体a和相关实体b构成的物品属性三元组包含于物品-物品属性知识图谱。例如,h阶个相关实体
集包括一阶相关实体集和二阶相关实体集,一阶相关实体集包括相关实体a1,二阶相关实体集包括相关实体b1,相关实体a1为相关实体b1的头实体,并且相关实体a1,关系,相关实体b1构成的三元组包含于物品-物品属性知识图谱内。此外,h阶个相关实体集中的h为大于1的数值,其具体数值可以根据实际需求确定,在一个典型实现方式中,h=2。
71.在一个实现方式中,所述对于用户历史数据集中的每个用户,基于所述物品-物品属性知识图谱确定所述用户对应的h阶个相关实体集具体包括:
72.s21、对于用户历史数据集中的每个用户,基于用户物品交互关系确定所述用户对应的起始兴趣物品,其中,所述起始兴趣物品包括于所述历史数据集;
73.s22、将由起始兴趣物品构成的零阶相关实体集作为候选相关实体集;
74.s23、在所述物品-物品属性知识图谱中选取以候选相关实体集中的各相关实体为头实体的三元组,并将选取到的三元组中的尾实体构成的集合作为第一阶相关实体集;
75.s24、将所述第一阶相关实体集作为候选相关实体集,并继续执行在所述物品-物品属性知识图谱中选取以候选相关实体集中的各相关实体为头实体的三元组的步骤直至得到第h阶相关实体集,其中,h大于1;
76.s25、将第一阶相关实体集至第h阶相关实体集作为h阶个的相关实体集。
77.具体地,在所述步骤s21中,所述起始兴趣物品为用户的起始兴趣点,起始兴趣物品为基于用户物品交互关系确定的,其中,交互关系可以为用户历史评分记录,可以是用户历史访问记录等。例如,起始兴趣物品为历史评分记录中历史评分最高的物品,或者是,用户历史访问记录最多的物品等。
78.在一个实现方式中,所述交互关系为用户历史评分记录;所述基于用户物品交互关系确定所述用户对应的起始兴趣物品具体为:
79.获取所述用户对应的用户历史评分记录;
80.将获取到的用户历史评分记录中的历史评分最高的物品作为所述用户对应的起始兴趣物品。
81.具体地,用户历史评分记录为用户对物品进行评分所形成的,用户历史评分记录可以存储于用户历史数据集中,也就是说,用户历史数据集中的每个物品携带有各用户对其所在的用户评分,以得到在确定用户对应的起始兴趣物品时,可以获取到用户历史评分记录,以便于基于用户历史评分记录确定起始兴趣物品。此外,由于起始兴趣物品为基于用户历史评分记录确定的,从而所述起始兴趣物品包含于用户历史数据集中。
82.在所述步骤s22中,在获取到起始兴趣物品后,可以将起始兴趣物品作为起始兴趣点来确定用户对应的h阶个相关实体集。由此,将将由起始兴趣物品构成的相关实体集作为零阶相关实体集,并零阶相关实体集作为候选相关实体集,以便于基于候选相关实体集确定一级相关实体集。
83.在所述步骤s23中,在将零阶相关实体集作为候选相关实体集后,将零阶相关实体集所包括的起始兴趣物品作为头实体,在物品-物品属性知识图谱中选取三元组,然后提取选取到的各三元组中的尾实体,并选取到的尾实体构成的集合作为一阶相关实体集。
84.在所述步骤s24中,在获取到一阶相关实体集后,将一阶相关实体集作为候选相关实体集来确定二阶相关实体集,其中,二阶相关实体集的确定过程与一阶相关实体集的确定过程相同,这里就不在赘述。此外,在获取到二阶相关实体集后将二阶相关实体集作为候
选相关实体集来确定三阶相关实体集,依次类推直至得到h阶相关实体集,其中,h为大于或者等于1的整数。
85.由上述可知,h阶个相关实体集中的每阶相关实体集均是基于其前一阶相关实体集确定,并且该阶相关实际集中的每个相关实体均其一阶相关实体集中的一个相关实体的尾实体。因此,第k阶相关实体集可以表示为:
[0086][0087]
其中,表示第k阶相关实体集,当k=1时,表示由起始兴趣物品构成的零阶相关实体集,u表示用户,t表示尾实体,r表示关系,h表示头实体,表示第k-1阶相关实体集,g表示物品-物品属性知识图谱,h表示与起始兴趣物品最远的物品所属阶数。
[0088]
s30、根据h阶个相关实体集以及用户对应的起始兴趣物品,在物品-物品属性知识图谱选取h跳水波集,并确定选取到的各跳水波集对应的用户兴趣向量。
[0089]
具体地,水波集的数量与相关实体集的数量相同,各水波集均包括若干三元组,若干三元组中的每个三元组均包含于物品-物品属性知识图谱。可以理解的是,每跳水波集rippleset均是由物品-物品属性知识图谱中的部分三元组构成的。例如,第k跳水波集包括三元组1和三元组2,三元组1和三元组2均包含于物品-物品属性知识图谱中。此外,水波集中的三元组的头实体包含于一相关实体集内,并且该水波集对饮的跳数比包含其头实体的相关实体集的阶数大1,换句话说,第k跳水波集中的三元组的头实体包含于第k-1阶相关实体集内。
[0090]
在一个实现方式中,所述根据h阶个相关实体集以及用户对应的起始兴趣物品,在物品-物品属性知识图谱选取h跳水波集具体包括:
[0091]
在物品-物品属性知识图谱中选取以该第k-1阶相关实体集中的相关实体为头实体的三元组,其中,k=1,2,...,h,当k=1时,第k-1阶相关实体集为由起始兴趣物品构成的零阶相关实体集;
[0092]
将选取到的所有三元组构成的集合作为第k跳水波集,以得到h跳水波集。
[0093]
具体地,三元组包括于物品-物品属性知识图谱,并且三元组的头实体为第k-1阶相关实体集。也就是说,对于第k阶相关实体集中的每个相关实体,选取物品-物品属性知识图谱中所有以该相关实体为头实体的所有三元组,以得到每个相关实体对应的所有三元组,然后,将所有相关实体对饮的三元组构成的集合作为第k跳水波集。在一个实现方式中,第k跳水波集rippleset可以表示为:
[0094][0095]
其中,表示第k跳水波集,表示第k-1阶相关实体集,当k=1时,表示由起始兴趣物品构成的零阶相关实体集,t表示尾实体,r表示关系,h表示头实体,g表示物品-物品属性知识图谱,h表示与起始兴趣物品最远的物品所属阶数。
[0096]
在一个实现方式中,所述确定选取到的各跳水波集对应的用户兴趣向量具体包括:
[0097]
对于第一跳水波集,获取第一跳水波集中的各三元组与用户历史数据集中的各物品的相关性系数,并基于获取的相关系数将第一跳水波集中的各三元组中的尾实体加权,
以得到第一跳水波集对应的用户兴趣向量;
[0098]
对于第k跳水波集,获取第k跳水波集中的各三元组与第k-1阶用户兴趣向量的相关性系数,并基于获取的相关系数将第k跳水波集中的各三元组中的尾实体加权,以得到第k跳水波集对应的用户兴趣向量,其中,k=2,3,...,h。
[0099]
具体地,用户兴趣向量用于反映用户在水波集上的潜在兴趣,例如,第一跳水波集对应的用户感兴趣向量反映用户在第一跳水波集上的潜在兴趣。相关性系数用于反映水波集中的物品与用户交互历史的相关度,即头实体hi在三元组关系ri上的语义相关性,其中,相关性系数越大,说明相关度越高;反之,相关性系数越小,说明相关度越低。
[0100]
进一步,对于第一跳水波集,由于未存在用户感兴趣向量,从而先确定三元组与物品的相关性系数;对于第二跳水波集时,已经获取到第一跳水波集对应的用户兴趣向量,从而可以确定三元组与第一跳水波集对应的用户兴趣向量的相关性系数,依次类推实现h个水波集的多阶传播,从而各跳水波集对应的用户兴趣向量。
[0101]
在一个实现方式中,用户在第一跳水波集中的每个三元组(h,r,t)与物品v的相关性系数的表达式可以为:
[0102][0103]
其中,ri为第一跳水波集上的三元组中关系的d
×
d维矩阵表示,hi为三元组的头实体d维向量表示,pi表示第一跳水波集中的第i个三元组对应的相关性系数,用于反映物品v与用户交互历史vu的相关度,即头实体hi在三元组关系ri上的语义相关性。
[0104]
进一步,用户在第二跳水波集至第h跳水波集中的每个三元组(h,r,t)与物品v的相关性系数的表达式与用户在第一跳水波集中的每个三元组(h,r,t)与物品v的相关性系数的表达式基本相同,两者的区别在于在在第二跳水波集至第h跳水波集中的每个三元组(h,r,t)与物品v的相关性系数的表达式中,物品v采用该跳水波集的上一跳水波集对应的用户感兴向量。例如,第二跳水波集中每个三元组(h,r,t)与物品v的相关性系数的表达式中的相关性系数中的v替换为第一跳水波集对应的用户兴趣向量第三跳水波集中每个三元组(h,r,t)与物品v的相关性系数的表达式中的相关性系数中的v替换为第二跳水波集对应的用户兴趣向量依次类推,第h跳水波集中每个三元组(h,r,t)与物品v的相关性系数的表达式中的相关性系数中的v替换为第h-1跳水波集对应的用户兴趣向量由此,第k跳水波集上的三元组对应的相关性系数可以表示为:
[0105][0106]
此外,各跳水波集各自对应的用户感兴趣向量是基于各三元组各自对应的相关性系数将各三元组中的尾实体加权得到。换句话说,对于每跳水波集,在获取到各三元组各自对应的相关性系数后,基于各三元组各自对应的相关性系数为权重系数将各三元组中的尾实体进行加权,以得到各跳水波集各自对应的用户感兴趣向量。其中,用户感兴趣向量的表达是可以为:
[0107][0108]
其中,表示第k跳水波集对应的用户兴趣向量,表示第k跳水波集,(hi,ri,ti)表示第k跳水波集中的第i个三元组,第一跳水波集中的第i个三元组对应的相关性系数,ti表示第i个三元组中的尾实体。
[0109]
s40、基于获取到的各用户兴趣向量确定用户嵌入向量,基于所述用户嵌入向量和物品嵌入向量确定预测访问概率,以及基于所述预测访问概率训练推荐模型。
[0110]
具体地,用户嵌入向量通过各跳水波集对应的用户兴趣向量累积得到,其中,用户嵌入向量表示为:
[0111][0112]
其中,u表示用户嵌入向量,表示第k跳水波集对应的用户兴趣向量。
[0113]
预测访问概率用于反映用户访问物品的概率,其中,预测访问概率通过内积方式得到。也就是说,如图5所示,在获取到的用户嵌入向量后,获取用户嵌入向量与物品嵌入向量的内积,得到预测访问概率。所述预测访问概率的计算公式可以为:
[0114][0115]
其中,表示预测访问概率,u表示用户嵌入向量,v表示物品嵌入向量。
[0116]
在一个实现方式中,当用户历史数据集未包括与所述用户具有交互关系的物品时,将所述用户第一次登录时标记的实体作为起始兴趣物品。可以理解的是,由于用户没有交互记录,从而可以采用用户第一次登录时标记的实体作为起始兴趣点,即用户兴趣物品;然后只经过一阶传播生成第一跳水波集rippleset,通过推荐模型训练生成用户的用户嵌入向量。这样可以解决新用户的系统冷启动问题。当然,在使用推挤模型时遇到新用户时,也可以采用该过程确定用户对应的用户嵌入向量,以便于确定用户的目标推荐物品及目标推荐物品对应的解释推荐路径。
[0117]
s50、通过所述推荐模型进行物品推荐。
[0118]
具体地,推荐模型经过训练后,可以对待推荐用户进行物体推荐且形成推荐物品对应的解释推荐路径。在一个实现方式中,如图6所示,所述通过所述推荐模型进行物品推荐具体包括:
[0119]
将待推荐用户以及待推荐用户对应的候选物品集输入所述推荐模型;
[0120]
通过所述推荐模型确定所述用户与各候选物品的访问概率预测值;
[0121]
基于预设概率阈值以及访问概率预测值确定目标推荐物品,并基于目标推荐物品与待推荐用户的h阶个相关实体集中相关实体的相关系数确定目标推荐物品对应的解释推荐路径。
[0122]
具体地,候选物品集中的候选物品为待推荐给待推荐用户的物品,然后通过推荐模型确定待推荐用户对应的用户嵌入向量,以及各候选物品各自对应的物品嵌入向量,确定用户嵌入向量和物品嵌入向量的内积得到访问概率预测值。预设概率阈值为预先设置的,用于衡量候选物品是否可以作为推荐物品的依据,其中,当访问概率预测值大于预设概率值时,访问概率预测值对应的候选物品可以作为推荐物品,反之,当访问概率预测值小于
或等于预设概率值时,访问概率预测值对应的候选物品不可以作为推荐物品。在一个实现方式中,预设概率阈值可以为0.5。
[0123]
在获取到访问概率预测值大于预设概率阈值的候选物品后,在获取的候选物品中选取访问概率预测值最大的候选物品作为目标推荐物品,然后在待推荐用户的每轮传播中最大相关性系数对应的三元组,构成解释路径(user,interact,h0)^(h0,r0,t0)^(t0,r1,t1),即对于目标推荐物品t,因为用户u对物品h0有较高的评分,同时其评分依据是“h0-》r0-》t0-》r1-》t1”这一实体相关性较高的知识图谱路径。
[0124]
综上所述,本实施例提供了一种基于知识图谱的可解释推荐方法,方法包括基于用户历史数据集构建物品-物品属性知识图谱;基于所述物品-物品属性知识图谱确定所述用户对应的h阶个相关实体集,根据h阶个相关实体集以及用户对应的起始兴趣物品,在物品-物品属性知识图谱选取h跳水波集,并确定选取到的各跳水波集对应的用户兴趣向量,基于获取到的各用户兴趣向量确定用户嵌入向量,基于所述用户嵌入向量和物品嵌入向量确定预测访问概率,以及基于所述预测访问概率训练推荐模型;通过所述推荐模型进行物品推荐。本技术通过知识图谱构建h跳水波集,然后通过h跳水波集确定用户感兴趣向量,之后基于用户感兴趣向量和物品嵌入向量训练推荐模型,然后通过推荐模型确定推荐物品和解释推荐路径,这样无需预先构建大量的元路径,通过h条水波集中的每轮传播来构建解释推荐路径中的物品,在保证推荐精确性的同时提高了推荐方法的适用范围。
[0125]
基于上述一种基于知识图谱的可解释推荐方法,本实施例提供了一种基于知识图谱的可解释推荐系统,如图7所示,所述系统包括:
[0126]
构建模块100,用于基于用户历史数据集构建物品-物品属性知识图谱;
[0127]
确定模块200,用于对于用户历史数据集中的每个用户,基于所述物品-物品属性知识图谱确定所述用户对应的h阶个相关实体集,其中,相邻两阶相关实体集中的前一阶的相关实体集中的相关实体为后一阶的相关实体集中的相关实体的头实体,并且两个相关实体构成的物品属性三元组包含于物品-物品属性知识图谱;
[0128]
选取模块300,用于根据h阶个相关实体集以及用户对应的起始兴趣物品,在物品-物品属性知识图谱选取h跳水波集,并确定选取到的各跳水波集对应的用户兴趣向量,其中,各水波集均包括若干物品-物品属性知识图谱中的三元组;
[0129]
推理模块400,用于基于获取到的各用户兴趣向量确定用户嵌入向量,基于所述用户嵌入向量和物品嵌入向量确定预测访问概率,以及基于所述预测访问概率训练推荐模型;
[0130]
推荐模块500,用于通过所述推荐模型进行物品推荐。
[0131]
基于上述一种基于知识图谱的可解释推荐方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的一种基于知识图谱的可解释推荐方法中的步骤。
[0132]
基于上述一种基于知识图谱的可解释推荐方法,本技术还提供了一种终端设备,如图8所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(communications interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置
模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
[0133]
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0134]
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
[0135]
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
[0136]
此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
[0137]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
转载请注明原文地址: https://www.8miu.com/read-86.html

最新回复(0)