一种知识图谱层次信息与推荐系统结合的新方法

文档序号:29469163发布日期:2022-04-02 04:20阅读:88来源:国知局
一种知识图谱层次信息与推荐系统结合的新方法

1.本发明涉及机器学习中知识表示学习领域、图神经网络、推荐系统领域,具体为一种知识图谱层次信息与推荐系统结合的新方法。


背景技术:

2.由于大数据和深度学习的发展,知识图谱在推荐系统、对话系统和搜索引擎等领域受到了广泛关注。其中推荐系统被广泛采用,帮助用户获得最喜欢的商品、建议或服务。早期的推荐系统主要使用协同过滤(cf)来推荐项目。然而,在真实的推荐场景中,cf经常遇到数据稀疏和冷启动问题。
3.因此建议将边信息整合到cf中,如引入社交网络、上下文相关的评论信息、知识图谱。知识图谱(kg)可以从三个方面提高推荐系统的性能:从节点的角度,kg引入了项目之间的语义关联,有助于发现项目之间潜在的关联,提高推荐项目的准确率;从边的角度,kg中具有各种类型的关系,这有利于用户利益,并增加推荐的性能;kg连接用户的多样性历史推荐路径,能够增强推荐系统的可解释性。
4.但是,kg在目前阶段将其迁移至推荐系统存在局限性,同时现有的知识图嵌入模型主要集中于对称/反对称、反转、合成等关系模式的建模,无法对语义层次结构建模,并且层次结构在推荐系统中也十分常见,例如,两个项目(如演员和导演),来自不同领域但密切相关的类别的人很可能与他们的职能有着互补的关系,这种项目之间的层次关系可以极大地提高推荐的性能,而目前的知识图嵌入模型还无法对此精确进行预测推荐。


技术实现要素:

5.本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
6.鉴于上述现有文本检测过程中存在的问题,提出了本发明。
7.因此,本发明解决的技术问题是:目前的方法无法对语义层次结构建模,无法对具有层次结构的项目数据进行精准预测和推荐的问题。
8.为解决上述技术问题,本发明提供如下技术方案:一种知识图谱层次信息与推荐系统结合的新方法,包括:
9.利用框架模型中输入信息层获取原始信息;
10.将所述原始信息嵌入至嵌入层,用于捕获项目之间的层次结构;
11.将所述层次结构发送至联合学习层,用于交叉训练获取模型最优参数;
12.利用预测层对所述最优参数进行效果评价并输出最终预测结果。
13.作为本发明所述的知识图谱层次信息与推荐系统结合的新方法的一种优选方案,其中:所述框架模型为共生系统,包括所述输入信息层、所述嵌入层、所述联合学习层以及所述预测层。
14.作为本发明所述的知识图谱层次信息与推荐系统结合的新方法的一种优选方案,其中:所述输入信息层包括,知识图谱、用户—项目交互矩阵和一组项目—实体对齐项。
15.作为本发明所述的知识图谱层次信息与推荐系统结合的新方法的一种优选方案,其中:所述嵌入层包括,
16.使用gcn捕获项目之间的所述层次结构,一个包含两层gcn模型可以表示为:
[0017][0018]
其中,x表示特征矩阵,a表示邻接矩阵,表示度矩阵;
[0019]
其中,表示为:
[0020][0021]
获取到所述层次结构后,使用层次记录模块作为推荐任务的嵌入模型。
[0022]
还包括对应的损失函数为:
[0023][0024]
其中,y表示真实值,表示预测值,l
2为
正则化参数。
[0025]
作为本发明所述的知识图谱层次信息与推荐系统结合的新方法的一种优选方案,其中:所述嵌入模型包括模量部分和相位部分,
[0026]
所述模量部分表示为:
[0027][0028]
其中i_hm,i_tm∈rk,
[0029]
对应的距离函数为:
[0030][0031]
其中i_h,i_t,r分别表示所述推荐任务中头实体、尾实体和关系的嵌入表示。下标m表示所述模量部分的头实体和尾实体;
[0032]
所述相位部分表示为:
[0033][0034]
其中i_h
p
,r
p
,i_t
p
∈[0,2π)k;
[0035]
对应的距离函数为:
[0036][0037]
作为本发明所述的知识图谱层次信息与推荐系统结合的新方法的一种优选方案,其中:依据所述模量部分和所述相位部分,所述层次记录模块表示为:
[0038]
[0039]
其中i_hm,i_tm∈rk,i_h
p
,r
p
,i_t
p
∈[0,2π)k。
[0040]
所述层次记录模块的距离函数为:
[0041][0042]
其中λ1,λ2∈r。
[0043]
作为本发明所述的知识图谱层次信息与推荐系统结合的新方法的一种优选方案,其中:所述嵌入模型的得分函数为:
[0044][0045]
作为本发明所述的知识图谱层次信息与推荐系统结合的新方法的一种优选方案,其中:所述联合学习层包括链接预测任务和推荐任务;
[0046]
所述链接预测任务采用带有自对抗训练的负采样损失函数训练,表示为:
[0047][0048]
其中γ是个固定值,(h
′i,r,t
′i)是第i个负样本;
[0049]
所述推荐任务使用bprloss训练,表示为:
[0050][0051]
其中(u,i)是正样本,(u,i

)是负样本,g(u,i),g(u,i

)表示正负样本的得分。
[0052]
作为本发明所述的知识图谱层次信息与推荐系统结合的新方法的一种优选方案,其中:所述联合学习层还包括:采用使用总目标函数对所述框架模型共生系统训练,表示为:
[0053]
l=λl1+(1-λ)l2[0054]
其中l1,l2分别表示知识图谱中链接预测的损失函数和推荐系统中项目推荐的损失函数,λ为一个平衡两个任务的超参数。
[0055]
作为本发明所述的知识图谱层次信息与推荐系统结合的新方法的一种优选方案,其中:所述预测层包括推荐任务预测结果和链接预测结果;
[0056]
所述推荐任务预测结果根据排名标准给出,所述排名标准表示为:
[0057][0058]
其中i表示推荐系统里面的项目,uu表示用户u的嵌入表示,e
jn
表示项目n的嵌入表示;
[0059]
所述链接预测结果基于得分函数给出,所述得分函数表示为:
[0060]
《h,r,?》:f1》f2》

》fn

t1,t2,
…→
tn
[0061]
其中,《h,r,?》为一个元组,n是候选实体的数量。t1,t2,

,tn表示每个评分函数f的候选实体;
[0062]
得到前n个(即1,5,10)个候选实体作为所述链接预测结果。
[0063]
本发明的有益效果:本发明将项目推荐任务和链接预测任务以端到端方式结合在一起,整体以端到端的方式运行,能够捕获数据网络之间的层次结构,实现对具有层次结构的数据进行精确的预测和推荐,以及对不完整的知识图谱进行补全。
附图说明
[0064]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
[0065]
图1为本发明一个实施例提供的知识图谱层次信息与推荐系统结合的新方法的共生系统的整体架构示意图;
[0066]
图2为本发明一个实施例提供的知识图谱层次信息与推荐系统结合的新方法中嵌入层中gcn模块示意图;
[0067]
图3为本发明一个实施例提供的知识图谱层次信息与推荐系统结合的新方法中一个在推荐系统中使用gcn的工作流示意图;
[0068]
图4为本发明一个实施例提供的知识图谱层次信息与推荐系统结合的新方法中嵌入层中的层次记录模块示意图;
[0069]
图5为本发明第二个实施例提供的知识图谱层次信息与推荐系统结合的新方法中各对比方法在项目推荐任务的有效性柱状图;
[0070]
图6为本发明第二个实施例提供的知识图谱层次信息与推荐系统结合的新方法中各对比方法在在链接预测任务的有效性图;
[0071]
图7为本发明第二个实施例提供的知识图谱层次信息与推荐系统结合的新方法中添加gcn模块后对项目推荐任务的有效性图;
[0072]
图8为本发明第二个实施例提供的知识图谱层次信息与推荐系统结合的新方法中添加gcn模块后对对链接预测任务的有效性图。
具体实施方式
[0073]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
[0074]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0075]
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
[0076]
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本
发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
[0077]
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0078]
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0079]
实施例1
[0080]
参照图1~4,为本发明的一个实施例,提供了一种知识图谱层次信息与推荐系统结合的新方法,包括:
[0081]
s1:利用框架模型中输入信息层获取原始信息;
[0082]
更进一步的,框架模型为共生系统,包括输入信息层、嵌入层、联合学习层以及预测层。
[0083]
较佳的,共生系统可为mutualism。
[0084]
更进一步的,输入信息层包括,知识图谱、用户—项目交互矩阵和一组项目—实体对齐项。
[0085]
具体的,知识图谱中的信息以三元组的形式存在,可以将其表示为《h,r,t》,其中h表示头实体,r表示关系,t表示尾实体,例如《姚明,国籍,中国》这个三元组,描述的信息为:姚明的国籍是中国。
[0086]
具体的,用户—项目交互矩阵,可见图2、图3最左边结构,是一个包含三列的矩阵,每一列分别是用户id,项目id以及相应用户对项目的评分。
[0087]
具体的,对于项目—实体对齐项,需通过将项目映射至dbpedia实体(如果有可用的映射),并通过lodrecsys对它们进行改进。
[0088]
s2:将部分原始信息嵌入至嵌入层,用于捕获项目之间的层次结构;
[0089]
应说明的是,如图2,将用户-项目交互矩阵作为输入,项目的信息嵌入层作为输出;
[0090]
更进一步的,如图3,使用gcn捕获项目之间的层次结构,一个包含两层gcn模型可以表示为:
[0091][0092]
其中,x表示特征矩阵,a表示邻接矩阵,表示度矩阵;
[0093]
其中,表示为:
[0094][0095]
应说明的是,为了最小化用户交互的真实值与预测值之间的误差,采用损失函数,
对应的损失函数为:
[0096][0097]
同时为了避免过拟合,添加了正则化参数l2。
[0098]
其中y表示真实值,表示预测值。
[0099]
获取到层次结构后,使用层次记录模块作为推荐任务的嵌入模型,它将实体映射到极坐标系统中。
[0100]
较佳的,所述层次记录模块可为hirec模块。
[0101]
更进一步的,嵌入模型包括模量部分和相位部分,
[0102]
模量部分表示为:
[0103][0104]
其中i_hm,i_tm∈rk,
[0105]
对应的距离函数为:
[0106][0107]
其中i_h,i_t,r分别表示推荐任务中头实体、尾实体和关系的嵌入表示。下标m表示模量部分的头实体和尾实体;
[0108]
相位部分表示为:
[0109][0110]
其中i_h
p
,r
p
,i_t
p
∈[0,2π)k;
[0111]
对应的距离函数为:
[0112][0113]
依据模量部分和相位部分,层次记录模块表示为:
[0114][0115]
其中i_hm,i_tm∈rk,i_h
p
,r
p
,i_t
p
∈[0,2π)k。
[0116]
层次记录模块的距离函数为:
[0117][0118]
其中λ1,λ2∈r,用于表示两部分的权重。
[0119]
嵌入模型的得分函数为:
[0120][0121]
应说明的是,在这一层可以得到包含项目图和知识图的层次结构的嵌入。s3:将层次结构发送至联合学习层,用于交叉训练获取模型最优参数;
[0122]
更进一步的,联合学习层包括链接预测任务和项目推荐任务;
[0123]
具体的,链接预测任务为知识图谱中的,推荐任务为推荐系统中的。
[0124]
链接预测任务采用带有自对抗训练的负采样损失函数训练,表示为:
[0125][0126]
其中γ是个固定值,(h
′i,r,t
′i)是第i个负样本;
[0127]
推荐任务使用bprloss训练,表示为:
[0128][0129]
其中(u,i)是正样本,(u,i

)是负样本,g(u,i),g(u,i

)表示正负样本的得分。
[0130]
联合学习层还包括:采用使用总目标函数对框架模型共生系统训练,表示为:
[0131]
l=λl1+(1-λ)l2[0132]
其中l1,l2分别表示知识图谱中链接预测的损失函数和推荐系统中推荐的损失函数,λ是一个平衡两个任务的超参数。
[0133]
应说明的是,在训练阶段,共生系统使用adam作为优化器来执行梯度下降,并设置早停,避免出现过拟合的现象。
[0134]
应说明的是,通过该联合学习框架,在增强推荐的同时也提升了链接预测的性能。
[0135]
s4:利用预测层对最优参数进行效果评价并输出最终预测结果。
[0136]
更进一步的,预测层包括推荐任务预测结果和链接预测结果;
[0137]
推荐任务预测结果需根据排名标准给出,排名标准表示为:
[0138][0139]
其中i表示推荐系统里面的项目,uu表示用户u的嵌入表示,e
jn
表示项目n的嵌入表示;
[0140]
链接预测结果需基于得分函数给出,得分函数表示为:
[0141]
《h,r,?》:f1》f2》

》fn

t1,t2,
…→
tn
[0142]
其中,《h,r,?》为一个元组,n是候选实体的数量。t1,t2,

,tn表示每个评分函数f的候选实体;
[0143]
应说明的是,得分函数通过选取所有候选实体得到,并采用链路预测的方式计算每个候选实体的得分函数f1、f2
……
fn。
[0144]
然后得到前n个(即1,5,10)个候选实体作为链接预测结果。
[0145]
实施例2
[0146]
参照图1、2、5-8,为本发明另一个实施例,为对本方法中采用的技术效果加以验证说明,本实施例采用传统技术方案与本发明方法进行对比测试,以科学论证的手段对比试验结果,以验证本方法所具有的真实效果。
[0147]
本实施例数据集为ml1m数据集,如表1所示。
[0148]
应说明的是,movielens-1m数据属于电影数据集。该数据集评分数量和平均评分数量大,适合项目推荐。为了获取该数据集的层次结构,采用了一个包含两个关键部分的
gcn模型。一个是3240*3240邻接矩阵(3240是项目的数量),它描述项目之间的空间结构。另一个是描述项目属性的特征矩阵,大小为200。在得到每个项目的空间结构嵌入后,将rs和kg结合到共生系统中得到每个预测结果。
[0149]
表1两个数据集的信患
[0150][0151]
对于项目-实体对齐项,通过将项目映射到dbpedia实体,通过lodrecsys对它们进行了改进。如表2所示:
[0152]
表2 rs中的项目与kg中的实体之间的映射
[0153]
items in rsentities in kgstealing beauty(1996)http://dbpedia.org/resource/stealing_beautysuicide kings(1997)http://dbpedia.org/resource/suicide_kingsromeo is bleeding(1993)http://dbpedia.org/resource/romeo_is_bleedingscrewed(2000)http://dbpedia.org/resource/screwed_(2000_film)magnum force(1973)http://dbpedia.org/resource/magnum_force
[0154]
然后,如图2所示,将rs中的所有项目作为一个项目图,然后我们在这个项目图上使用包含两层的gcn,接着进行训练和预测输出。
[0155]
训练阶段,在真实世界的数据集上评估我方的框架,包括电影推荐场景。对于每个数据集,训练、验证和测试集的比例为7∶1∶2。对于超参数,在电影数据集上的学习率分别为0.001。λ设置为0.7,因为实验显示当超过0.7时,随着λ越来越大,链路预测的性能越来越差。
[0156]
通过将我方共生系统模型框架与最先进的推荐方法以及最先进的链接预测方法进行对比实验,可以直观的看出我方框架性能如何,以及添加gcn层后性能提高了多少。实验结果见图5-图8,共生系统在ml1m数据集上获得了优于现有推荐和链接预测方法的效果,特别是在f1-score和ndcg指标上有较大提高。在真实数据集上进行的实验表明,与现有的方法相比,该方法的f1分数提高了62.51%,准确率提高了49.31%。由此,可以证明本发明方法可有效提高具有层次结构数据的推荐以及链接预测的性能。
[0157]
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1