一种基于多视角知识图谱注意力网络的个性化推荐方法

文档序号:26589856发布日期:2021-09-10 20:33阅读:181来源:国知局
一种基于多视角知识图谱注意力网络的个性化推荐方法

1.本发明涉及知识图谱、推荐系统等领域,特别给出了一种基于多视角知识图谱注意力网络的个性化推荐方法。


背景技术:

2.随着互联网技术的快速发展,用户可选择的信息越来越丰富,但是也让用户面临着因信息数量过大而导致的“信息过载”问题。如何更好的为用户提供感兴趣的信息成为研究的热点,而推荐系统正是解决这一问题的有效方法,通过分析用户和推荐对象的属性来挖掘出用户的兴趣点,并将用户感兴趣的对象推荐给用户以满足用户的个性化需求。
3.现今,推荐系统面临的主要问题是数据稀疏性和冷启动问题。数据稀疏性指的是对于庞大的用户和推荐对象而言,仅存在少量的交互信息,使得传统的推荐方法效率不高。冷启动指的是对于新的用户或对象,无法进行有效的推荐。
4.现有主要的推荐模型包括传统的推荐模型、基于深度学习的推荐模型和基于知识图谱的推荐模型。传统的推荐模型的主要思想是通过对用户和对象的特征向量进行比对或交叉来进行推荐,协同过滤(ieee distributed systems online,2003)基于用户和对象的id来表示特定的向量,然后通过内积等操作,对这一交互关系进行建模。但是协同过滤技术往往会导致头部效应,使得冷门的对象获得较少的推荐机会,并且其无法加入用户、物品和上下文的特征信息,结果往往不够准确。为了缓解这一问题,研究者们提出fm(international conference on data mining,2010),其将用户和对象的所有特征映射在隐向量中,通过对隐向量特征进行相互交叉,得到不同的特征对,丰富了特征间的交互信息,但是其特征众多,容易导致特征计算爆炸。
5.基于深度学习的推荐模型是使用神经网络来自动学习用户和对象的交互特征,以此来进行预测。autorec(international world wide web conferences,2015)提出通过自编码器对共现矩阵进行编码,使得用户和对象的编码结果在一定程度上集成自身信息,但是其结构较为简单,存在一定的表达能力不足的问题,din(acm knowledge discovery and data mining,2018)通过引入注意力机制,使得每个用户的兴趣在模型中呈现多样性,但是存在数据稀疏性问题。
6.基于知识图谱的推荐模型是将知识图谱(kg)作为辅助信息引入到推荐系统中,通过知识图谱中丰富的语义关联和结构信息来挖掘出用户和对象的潜在联系,以此来提高推荐的性能。kgcn(international world wide web conferences,2019)在知识图谱上使用图卷积(gcn)的思想,在计算kg中给定实体的表示时,将其邻域的信息进行聚合,通过卷积的不断迭代,得到最后的实体表示,以此来捕获用户的高阶个性化兴趣。kgat(acm knowledge discovery and data mining,2019)在kg上进行图注意力网络,对每段关系施以不同的权重,以此来捕获用户的偏好兴趣。
7.然而,现有基于知识图谱的推荐系统往往只关注于单一视角下的特征,如对象的邻域信息和用户的社交信息,不能全面的捕获知识图谱中的特征信息,导致推荐系统的准
确率较低。


技术实现要素:

8.为了进一步提高推荐准确率,本发明提出一种基于多视角知识图谱注意力网络的个性化推荐方法,该方法能够提取多视角知识图谱特征信息,并通过引入图注意力机制进一步聚合偏好信息,提升重要结构信息的影响,降低噪声结构信息带来的影响,获得更高的推荐准确率。
9.为了解决技术问题本发明采用如下的技术方案:
10.一种基于多视角知识图谱注意力网络的个性化推荐方法,包括以下步骤:
11.1)构建多视角知识图谱
12.在知识图谱中,根据节点之间的关系定义三种不同视角下的知识图谱:
13.定义1:社交图谱:该视角的知识图谱描述了用户间的社交关系,用来对用户社交特征建模;
14.设用户集合为u={u1,u2,...,u
n
},社交图谱定义为:
15.kg
u
={(u
i
,u
j
)|u
i
,u
j
∈u};
16.定义2:关系图谱:该视角的知识图谱描述了推荐对象和推荐对象间的关联关系,用来对推荐对象的内在关联特征进行建模;
17.设推荐对象集合为v=(v1,v2,...,v
m
),关系图谱定义为:
18.kg
v
={(v
a
,v
b
)|v
a
,v
b
∈v};
19.定义3:交互图谱:该视角的知识图谱描述了用户和推荐对象间的交互关系,用来对用户和推荐对象的兴趣特征进行建模;
20.根据用户的集合u和对象集合v,交互图谱定义为:
21.kg
i
={(u
i
,v
a
)|u
i
∈u,v
a
∈v};
22.上述三种知识图谱分别从不同视角对用户和推荐对象的语义关系进行描述;
23.2)建立知识图谱邻接矩阵
24.根据知识图谱中节点间的链接关系,定义两种邻接关系:
25.定义4:直接邻节点:在知识图谱中存在直接链接关系的一对节点,节点间的距离为1;
26.定义5:间接邻节点:在知识图谱中存在一条通路的一对节点,节点间的距离大于1;
27.设用户数量为n,推荐对象数量为m,分别构建社交图谱、关系图谱、交互图谱的直接邻接矩阵:
[0028][0029]
其中a
s
为社交图谱的直接邻接矩阵,a
o
关系图谱的直接邻接矩阵,a
i
为交互图谱的直接邻接矩阵;矩阵中其中若两个节点互为直接邻节点,则对应位置的值为1,否则为0;
[0030]
同时,分别构建社交图谱、关系图谱、交互图谱的间接邻接矩阵:
[0031][0032]
其中a

s
为社交图谱的间接邻接矩阵,a

o
为社交图谱的间接邻接矩阵,a

i
为社交
图谱的间接邻接矩阵;矩阵中若两个节点互为间接邻节点,则间接邻节点对应位置的值为1,否则为0;
[0033]
3)设计图注意力网络
[0034]
图注意力网络包括一层输入层以及两层隐藏层,输入层为三种知识图谱的直接邻接矩阵和间接邻接矩阵,两层隐藏层通过卷积操作学习直接邻接节点和间接邻接节点的信息,两层隐藏层训练后的输出以及输入层的向量进行拼接作为实体的最终向量表示;
[0035]
由于节点间的关联关系并不完全相同,因此采用注意力机制来计算节点之间的关联关系,对各自邻域中的节点进行不同程度的聚合,计算公式如下:
[0036][0037][0038]
其中,表示node
i
,node
j
两节点之间的注意力系数,[]表示向量的拼接,为参数矩阵,为偏差,σ表示的是非线性激活函数,在计算完注意力系数后,使用softmax函数对其归一化,得到当前节点的所有权重系数之和为1的概率分布;
[0039]
4)基于图注意力网络提取知识图谱的特征信息
[0040]
(4.1)提取用户社交特征
[0041]
将社交图谱的直接邻接矩阵和间接邻接矩阵输入到图注意力网络中,提取该视角下用户的社交特征;
[0042]
输入a
s
和a

s
,用户i在社交图谱中第l+1层的向量表示为具体公式如下:
[0043][0044]
其中,表示当前用户i在第l+1层卷积中与社交图谱中的邻居用户j之间的注意力系数,表示用户j在第l层卷积的向量表示;
[0045]
(4.2)提取对象关系特征
[0046]
将关系图谱的直接邻接矩阵和间接邻接矩阵输入到图注意力网络中,提取该视角对象关系特征;
[0047]
输入a
o
和a

o
,对象m在关系图谱中第l+1层的向量表示为具体公式如下:
[0048][0049]
其中,表示当前对象m在第l+1层卷积中与关系图谱中的邻居对象n之间的注意力系数,表示对象n在第l层卷积的向量表示;
[0050]
(4.3)提取交互特征
[0051]
将交互图谱的直接邻接矩阵和间接邻接矩阵输入到图注意力网络中,提取该视角下用户和对象的兴趣变化特征;
[0052]
(4.4)多视角特征融合
[0053]
在本模型中,用户和对象实体的特征在层与层之间传递的时候,都会聚合它上一
层自身的特征以及它在多视角状态下的邻节点的特征,并且在聚合多视角下的特征时,赋予他们不同权重,以此来有所偏重的进行特征融合;
[0054]
(4.5)多层图卷积特征输出
[0055]
在上述的用户和对象的各层卷积操作都计算完成后,拼接三层的输出结果来作为用户和对象最终的向量表示
[0056]
5)知识图谱注意力网络训练与预测
[0057]
将上述得到的用户最终向量和对象最终向量进行内积,得到最终的概率其中定义如下:
[0058][0059]
其中,sigmoid()函数将向量映射到[0,1]范围内,输出概率;
[0060]
然后根据上述计算出的概率通过损失函数与样本中正确的标签进行损失计算,并通过adam优化器来最小化损失函数,损失函数定义为:
[0061][0062]
其中,为样本中的样本数,为样本中正确的标签;
[0063]
接着不断循环训练过程,不断缩小损失,使得用户和对象的嵌入收敛,得到最终的用户和对象嵌入;
[0064]
最终根据收敛后的用户和对象嵌入的参数来进行推荐。
[0065]
进一步,所述(4.3)的过程如下:
[0066]
(4.3.1)提取用户交互特征
[0067]
输入a
i
和a

i
,用户i在交互图谱中第l+1层的向量表示为具体公式如下:
[0068][0069]
其中,表示当前用户i在第l+1层卷积中与交互图谱中的邻居对象k之间的注意力系数,表示对象k在第l层卷积的向量表示;
[0070]
(4.3.1)提取对象交互特征
[0071]
输入a
i
和a

i
,对象m在交互图谱中第l+1层的向量表示为具体公式如下:
[0072][0073]
其中,表示当前对象m在第l+1层卷积中与交互图谱中的邻居用户t之间的注意力系数,表示用户t在第l层卷积的向量表示。
[0074]
再进一步,所述(4.4)的过程如下:
[0075]
(4.4.1)用户特征融合
[0076]
输入用户社交特征用户交互特征和用户在上层卷积中的向量进行用户多视角特征融合,用户i在第l+1层卷积中的向量表示为具体公式如下:
[0077][0078]
其中,η是用于平衡来自上层用户卷积聚合结果和当前多视角下的用户卷积聚合结果的权重,表示当前用户i在第l+1层卷积中与之间的注意力系数,表示当前用户i在第l+1层卷积中与之间的注意力系数;
[0079]
(4.4.2)对象特征融合
[0080]
输入对象关系特征对象交互特征和对象在上层卷积中的向量进行对象多视角特征融合,对象m在第l+1层卷积中的向量表示为具体公式如下:
[0081][0082]
其中,θ是用于平衡来自上层对象卷积聚合结果和当前多视角下的对象卷积聚合结果的权重,表示当前对象m在第l+1层卷积中与之间的注意力系数,表示当前对象m在第l+1层卷积中与之间的注意力系数。
[0083]
更进一步,所述(4.5)的过程如下:
[0084]
(4.5.1)用户特征输出
[0085]
将用户的三层卷积输出结果进行拼接,作为用户特征的最终输出向量具体公式如下:
[0086][0087]
其中,分别表示用户在图注意力网络模型中的输入层、第一层卷积、第二层的卷积结果。
[0088]
(4.5.2)对象特征输出
[0089]
将对象的三层卷积输出结果进行拼接,作为对象特征的最终输出向量具体公式如下:
[0090][0091]
其中,分别表示对象在图注意力网络模型中的输入层、第一层卷积、第二层的卷积结果。
[0092]
本发明的有益效果为:本发明给出的基于多视角知识图谱注意力网络的个性化推荐方法,其优势在于能够从不同角度关注用户和对象,分别捕获用户社交关系变化特征、对象关系变化特征、用户对象兴趣变化特征,并且通过引入图注意力机制,对不重要的邻域节点所带来的噪声进行剔除,对重要的邻域节点进行重点关注,使得每个邻域节点都能对当前节点的贡献都有所不同,提高了推荐系统的准确率。
附图说明
[0093]
图1是多视角知识图谱示意图。
[0094]
图2是基于last.fm的音乐数据所构建的知识图谱。
[0095]
图3是本发明的模型框架图。
具体实施方式
[0096]
下面结合附图对本发明的作进一步说明
[0097]
参照图1、图2、图3,一种基于多视角知识图谱注意力网络的个性化推荐方法,包括以下步骤:
[0098]
1)构建多视角知识图谱
[0099]
对知识图谱进行划分,根据节点之间的关系划分出多视角的知识图谱,如图1所示的社交图谱、关系图谱、交互图谱,分别捕获用户社交关系变化特征、对象关系变化特征、用户对象兴趣变化特征;
[0100]
2)构造知识图谱邻接矩阵
[0101]
对于步骤(1)中的三种多视角下的知识图谱,根据图谱中的节点之间的链接关系来构建出邻接矩阵,以图2的知识图谱为例,图2(a)是基于last.fm的音乐数据所构建的知识图谱,为便于表示将其抽象为图2(b)的表示形式;
[0102]
直接邻接矩阵反映节点之间是否直接相连,例如,图2中的用户u1与用户u2、u5、u6相连,则(a
s
)
(1,2)
=(a
s
)
(2,1)
=(a
s
)
(1,5)
=(a
s
)
(5,1)
=(a
s
)
(1,6)
=(a
s
)
(6,1)
=1,因此,图2的知识图谱在社交图谱中的直接邻接矩阵a
s
表示为:
[0103][0104]
间接邻接矩阵反映节点之间是否间接连接,因此,图2的知识图谱在社交图谱中的间接邻接矩阵a

s
表示为:
[0105][0106]
同理,图2的知识图谱在关系图谱的直接邻接矩阵a
o
中(a
o
)
(1,2)
=(a
o
)
(2,1)
=(a
o
)
(2,3)
=(a
o
)
(3,2)
=(a
o
)
(4,5)
=(a
o
)
(5,4)
=1,其余元素均为0,间接邻接矩阵a

o
中(a

o
)
(1,3)
=(a

o
)
(3,1)
=1,其余元素均为0;图2的知识图谱在交互图谱的直接邻接矩阵a
i
中(a
i
)
(2,1)
=(a
i
)
(3,1)
=(a
i
)
(4,3)
=(a
i
)
(5,4)
=(a
i
)
(6,4)
=(a
i
)
(7,4)
=(a
i
)
(8,4)
=1,其余元素均为0,间接邻接矩阵a

i
中(a

i
)
(2,3)
=(a

i
)
(3,2)
=(a

i
)
(5,6)
=(a

i
)
(6,5)
=(a

i
)
(5,7)
=(a

i
)
(7,5)
=(a

i
)
(5,8)
=(a

i
)
(8,5)
=(a

i
)
(6,7)
=(a

i
)
(7,6)
=(a

i
)
(6,8)
=(a

i
)
(8,6)
=(a

i
)
(7,8)
=(a

i
)
(8,7)
=1,其余元素均为0;
[0107]
3)设计图注意力网络
[0108]
图注意力网络,其结构包括一层输入层以及两层隐藏层,各层向量维度为[64,64,
64],并对三层向量进行拼接作为实体的最终向量表示,将步骤(2)得到的多视角下的直接邻接矩阵a
s
、a
o
、a
i
和间接邻接矩阵a

s
、a

o
、a

i
输入到图注意力网络中,并通过公式(1)、(2)来对各自邻域中的节点进行不同程度上的聚合,以此来学习知识图谱中多视角下的特征信息。
[0109]
4)基于图注意力网络提取知识图谱的特征信息,过程如下:
[0110]
(4.1)提取用户社交特征
[0111]
将步骤(1)中得到的社交图谱的直接邻接矩阵a
s
和间接邻接矩阵a

s
输入到步骤(3)中的图注意力网络模型中,通过公式(3)得到当前用户的社交特征向量,例如图2中的用户u2在计算当前层的向量表示时,需要根据公式(1)、(2)计算出的注意力系数来有所偏好的聚合上一层中的直接邻节点u1和间接邻节点u5、u6的特征向量。
[0112]
(4.2)提取对象关系特征
[0113]
将步骤(1)中得到的关系图谱的直接邻接矩阵a
o
和间接邻接矩阵a

o
输入到步骤(3)中的图注意力网络模型中,通过公式(4)得到当前对象的关系特征向量,例如图2中的对象i1在计算当前层的向量表示时,需要根据公式(1)、(2)计算出的注意力系数来有所偏好的聚合上一层中的直接邻节点i2和间接邻节点i3的特征向量。
[0114]
(4.3)提取交互特征
[0115]
将步骤(1)中得到的交互图谱的直接邻接矩阵a
i
和间接邻接矩阵a

i
输入到步骤(3)中的图注意力网络模型中,通过公式(5)、(6)得到当前用户对象的交互特征向量,例如图2中的用户u2在计算当前层的向量表示时,需要根据公式(1)、(2)计算出的注意力系数来有所偏好的聚合上一层中的直接邻节点i2和间接邻节点u3的特征向量。
[0116]
(4.4)多视角特征融合
[0117]
通过将步骤(4.1)

(4.3)中得到当前层中的用户社交特征向量、对象关系特征向量以及用户对象的交互特征向量输入到公式(7)、(8)进行特征融合,并根据公式(1)、(2)计算出的注意力系数来有所偏好的聚合各视角下的特征向量,最终融合得到当前层的用户和对象的特征向量。
[0118]
(4.5)多层图卷积特征输出
[0119]
重复步骤(4.1)

(4.4),得到三层用户和对象的特征向量表示,将其输入到公式(9)、(10)得到用户和对象的最终向量表示。
[0120]
5)知识图谱注意力网络训练与预测
[0121]
首先,将步骤(3.5)中得到的用户和对象的最终向量表示输入到公式(11)中,得到最终的推荐概率。
[0122]
其次,根据公式(12)的损失函数缩小公式(11)中计算出的概率与正确的标签之间的损失,使得计算出的概率不断的逼近正确的标签,从而让用户和对象向量更加准确。
[0123]
接着不断循环训练过程,不断缩小损失,使得用户和对象的嵌入收敛,得到最终的用户和对象嵌入;
[0124]
最终根据收敛后的用户和对象嵌入的参数来进行推荐。
[0125]
本说明书的实施例所述的内容仅仅是对发明构思的实现形式的列举,仅作说明用途。本发明的保护范围不应当被视为仅限于本实施例所陈述的具体形式,本发明的保护范围也及于本领域的普通技术人员根据本发明构思所能想到的等同技术手段。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1