本发明涉及一种基于知识图谱的智能推荐方法,属于人工智能。
背景技术:
1、推荐系统在缓解信息过载方面发挥着重要作用,信息过载在互联网应用中无处不在,如电子商务平台(亚马逊、淘宝)、社交网络(facebook、twitter)等。典型的推荐系统通常通过分析用户的历史行为数据来识别用户的偏好,从而提供个性化的推荐服务。协同过滤是最经典的推荐算法之一,在许多场景下都取得了很大的成功。协同过滤根据用户和项目之间的历史交互预测用户可能的未来行为。虽然协同过滤是高效的,但在用户和项目交互稀疏的场景下效果不佳。
2、知识图谱是一种以图的形式表现客观世界中的实体及其之间的关系的大型语义网络。目前,流行的通用知识图谱有freebase、wikidata、yago4,在医疗、学术、金融等领域知识图谱也有了相应的行业应用。由于知识图谱包含了海量的知识条目,有助于推荐结果的多样性和可解释性,因此,研究者们提出了多种知识图谱推荐系统。传统的知识图谱推荐系统主要以基于嵌入方法和基于路径方法为主。前者通过对知识图谱进行表征学习,可以对原有数据之间的语义信息进行补充,使语义描述更加丰富,有利于发掘用户偏好。但没有考虑到知识图谱中信息之间的连接关系,推荐系统的可解释性不强。后者根据关系连接各实体并生成路径,用户能够通过路径去发现与实体具有关联性的潜在项目,从而获取更加准确的用户偏好。但存在模型复杂,优化困难,计算量大等问题。为了提升推荐效果,在“ripplenet:propagating user preferences on the knowledge graph forrecommender systems”一文中,h.wang等人提出一种ripplenet模型,将上述两种方法融合,充分利用了知识图谱中的实体信息和语义关系。但ripplenet模型在传播的过程中更关注的是用户和项目的交互信息,而没有完全挖掘整个知识图谱的结构。x.wang等人在“kgat:knowledge graph attention network for recommendation”一文中提出的kgat模型,将用户-项目二部图、知识图谱和图神经网络结合,细化用户、项目、实体的表示。但此类模型复杂程度高,在更新模型参数时,用户偏好信息会被削弱。在“exploring multi-dimension user-item interactions with attentional knowledge graph neuralnetworks for recommendation”一文中,z.wang等人提出一种mi-kgnn模型,引入一种基于用户和邻居的双重注意力机制,共同控制邻居节点向中心节点的信息传播。此模型虽考虑用户因素对于知识传播的影响,但未能充分利用用户和项目之间历史交互信息,以深度挖掘用户的潜在偏好。
技术实现思路
1、本发明的目的在于克服上述现有技术存在的不足之处,提出一种基于知识图谱的智能推荐方法,根据实体的聚合特征与用户的偏好特征,可获得用户点击实体的预测概率,从而实现实体推荐。
2、本发明提供一种基于知识图谱的智能推荐方法,其特殊之处在于包括以下步骤:
3、步骤1)采用图神经网络通过聚合每个实体的邻居节点信息,以挖掘知识图谱的结构信息,作为智能推荐的基础;
4、步骤2)在图神经网络的基础上引入一种基于多重路径的知识传播注意力机制,用于聚合相邻实体的特征信息,在此基础上,引入一种面向用户偏好的注意力机制,根据用户和项目之间历史交互情况,控制中心实体对用户偏好的影响权重,进而表征用户的偏好特征;
5、步骤3)根据实体的聚合特征与用户的偏好特征,获得用户点击实体的预测概率,实现实体推荐。
6、优选的,所述步骤1)具体步骤如下:
7、给定用户集合u={u1,u2,…,um},项目集合i={i1,i2,…,in},用户-项目二部图gui定义为:
8、gui={(u,yui,i)|u∈u,i∈i,yui∈y};
9、其中yui表示用户和项目之间历史交互情况,即用户u的历史查询信息是否包含项目i,若yui=1,则用户u的历史查询信息包含项目i;若yui=0,则用户u的历史查询信息不包含项目i;
10、对于知识图谱kg={(h,r,t)|h,t∈e,r∈r},其中,实体集合e包含项目集合i,即知识图谱推荐系统的设计目标即为:给定用户-项目二部图gui与知识图谱kg,输出知识图谱kg中的实体反馈至用户的预测概率;
11、对于知识图谱中的每一个三元组,先将头实体和尾实体的嵌入初始化为关系嵌入初始化为然后采用transr模型开展知识图谱嵌入学习,其损失函数为:
12、
13、其中,[·]+=max{0,·},t和t′分别表示正、负三元组采样的集合,γ1(γ1>0)是一个边界超参数;
14、对于知识图谱中的实体h,设定实体h的邻居的实体集合为n(h),实体集合n(h)中的信息传播至中心实体h可丰富其在知识图谱中信息,邻居实体n(h)向实体h传播信息的计算方法:
15、
16、其中,h表示中心实体h的嵌入,t表示中心实体h的邻居实体t的嵌入,t(l)表示邻居实体t在第l层的嵌入,p={p}表示实体h和实体t之间的关系路径集合p={p}的嵌入,其p表示为:
17、p=r1⊙e2⊙r3⊙… (3)
18、其中,r1,e2,r3…表示实体h和实体t之间的关系路径所包含的关系与实体的嵌入;
19、函数π(h,p,t)为知识传播注意力机制,针对中心实体,根据相邻实体的信息传播贡献度,控制信息传播的权重,具体如下表示:
20、
21、其中,g(p,t)表示相邻实体传播至中心实体的信息,其与中心实体h的嵌入取内积,则表示根据相邻实体的信息传播贡献度,控制信息传播的权重,其中g(p,t)为:
22、
23、
24、其中,为权值向量,b1为偏置。
25、在知识传播过程中,进一步增强中心实体与其相邻实体之间的交互:
26、
27、其中,表示邻居实体向中心实体h的知识传播,均为可训练参数。
28、优选的,所述步骤2)具体步骤如下:
29、中心实体对用户偏好的影响程度的计算方法:
30、
31、其中,iu表示与用户u存在历史交互的项目集合,函数可根据用户和项目之间历史交互情况,以及邻居实体向中心实体的知识传播,控制中心实体对用户偏好的影响权重,具体如下表示:
32、
33、其中,为权值向量,b2为偏置;
34、根据式(8),将用户嵌入u与向量进行聚合:
35、
36、其中为可训练参数;
37、根据式(7)和(10),得到中心实体h的多个嵌入表示以及用户u的多个嵌入表示将中心实体h以及用户u的多个嵌入表示拼接成单个向量:
38、
39、优选的,所述步骤3)的具体步骤为:
40、对eu和eh进行内积计算,从而得到知识图谱实体反馈至用户的预测概率
41、
42、使用贝叶斯个性化排序对模型进行优化:
43、
44、其中,y+表示用户u与实体h+存在历史交互,y-表示用户u与实体h-不存在历史交互,σ(·)为sigmoid函数;
45、模型的整体损失函数由式(1)和(13)组成,如下:
46、
47、其中,表示模型参数集,e,r分别表示海上船舶活动知识图谱kg中实体与关系的嵌入表示,λ1和λ2为正则化参数;
48、最终,通过反向传播计算目标函数ltotal相对于模型参数集θ的梯度,然后通过梯度下降算法更新模型参数集θ,模型训练完成后,根据式(12)计算用户点击知识图谱实体的预测概率,根据概率大小对实体进行排名,作为推荐给用户的推荐项目列表。
49、本发明根据实体的聚合特征与用户的偏好特征,可获得用户点击实体的预测概率,从而实现实体推荐。
1.一种基于知识图谱的智能推荐方法,其特征在于包括以下步骤:
2.按照权利要求1所述的一种基于知识图谱的智能推荐方法,其特征在于所述步骤1)具体步骤如下:
3.按照权利要求2所述的一种基于知识图谱的智能推荐方法,其特征在于所述所述步骤2)具体步骤如下:
4.按照权利要求3所述的一种基于知识图谱的智能推荐方法,其特征在于所述所述步骤3)的具体步骤为:
