1.一种基于多视角知识图谱注意力网络的个性化推荐方法,其特征在于,所述方法包括以下步骤:
1)构建多视角知识图谱
在知识图谱中,根据节点之间的关系定义三种不同视角下的知识图谱:定义1:社交图谱:该视角的知识图谱描述了用户间的社交关系,用来对用户社交特征建模;
设用户集合为U={u1,u2,…,uN},社交图谱定义为:KGU={(ui,uj)|ui,uj∈U};
定义2:关系图谱:该视角的知识图谱描述了推荐对象和推荐对象间的关联关系,用来对推荐对象的内在关联特征进行建模;
设推荐对象集合为V=(v1,v2,…,vM),关系图谱定义为:KGV={(va,vb)|va,vb∈V};
定义3:交互图谱:该视角的知识图谱描述了用户和推荐对象间的交互关系,用来对用户和推荐对象的兴趣特征进行建模;
根据用户的集合U和对象集合V,交互图谱定义为:KGI={(ui,va)|ui∈U,va∈V};
上述三种知识图谱分别从不同视角对用户和推荐对象的语义关系进行描述;
2)建立知识图谱邻接矩阵
根据知识图谱中节点间的链接关系,定义两种邻接关系:定义4:直接邻节点:在知识图谱中存在直接链接关系的一对节点,节点间的距离为1;
定义5:间接邻节点:在知识图谱中存在一条通路的一对节点,节点间的距离大于1;
设用户数量为N,推荐对象数量为M,分别构建社交图谱、关系图谱、交互图谱的直接邻接矩阵:其中As为社交图谱的直接邻接矩阵,AO为关系图谱的直接邻接矩阵,AI为交互图谱的直接邻接矩阵;矩阵中其中若两个节点互为直接邻节点,则对应位置的值为1,否则为0;
同时,分别构建社交图谱、关系图谱、交互图谱的间接邻接矩阵:其中A′S为社交图谱的间接邻接矩阵,A′O为社交图谱的间接邻接矩阵,A′I为社交图谱的间接邻接矩阵;矩阵中若两个节点互为间接邻节点,则间接邻节点对应位置的值为1,否则为0;
3)设计图注意力网络
图注意力网络包括一层输入层以及两层隐藏层,输入层为三种知识图谱的直接邻接矩阵和间接邻接矩阵,两层隐藏层通过卷积操作学习直接邻接节点和间接邻接节点的信息,两层隐藏层训练后的输出以及输入层的向量进行拼接作为实体的最终向量表示;
由于节点间的关联关系并不完全相同,因此采用注意力机制来计算节点之间的关联关系,对各自邻域中的节点进行不同程度的聚合,计算公式如下:其中, 表示Nodei,Nodej两节点之间的注意力系数,[]表示向量的拼接,为参数矩阵, 为偏差,σ表示的是非线性激活函数,在计算完注意力系数后,使用softmax函数对其归一化,得到当前节点的所有权重系数之和为1的概率分布;
4)基于图注意力网络提取知识图谱的特征信息,过程如下:(4.1)提取用户社交特征
将社交图谱的直接邻接矩阵和间接邻接矩阵输入到图注意力网络中,提取该视角下用户的社交特征;
输入As和A′S,用户i在社交图谱中第l+1层的向量表示为 具体公式如下:其中, 表示当前用户i在第l+1层卷积中与社交图谱中的邻居用户j之间的注意力系数, 表示用户j在第l层卷积的向量表示;
(4.2)提取对象关系特征
将关系图谱的直接邻接矩阵和间接邻接矩阵输入到图注意力网络中,提取该视角对象关系特征;
输入AO和A′O,对象m在关系图谱中第l+1层的向量表示为 具体公式如下:其中, 表示当前对象m在第l+1层卷积中与关系图谱中的邻居对象n之间的注意力系数, 表示对象n在第l层卷积的向量表示;
(4.3)提取交互特征
将交互图谱的直接邻接矩阵和间接邻接矩阵输入到图注意力网络中,提取该视角下用户和对象的兴趣变化特征;
(4.4)多视角特征融合
在本模型中,用户和对象实体的特征在层与层之间传递的时候,都会聚合它上一层自身的特征以及它在多视角状态下的邻节点的特征,并且在聚合多视角下的特征时,赋予他们不同权重,以此来有所偏重的进行特征融合;
(4.5)多层图卷积特征输出
在上述的用户和对象的各层卷积操作都计算完成后,拼接三层的输出结果来作为用户和对象最终的向量表示;
5)知识图谱注意力网络训练与预测
将上述得到的用户最终向量 和对象最终向量 进行内积,得到最终的概率其中 定义如下:其中,sigmoid()函数将向量映射到[0,1]范围内,输出概率;
然后根据上述计算出的概率 通过损失函数与样本中正确的标签 进行损失计算,并通过Adam优化器来最小化损失函数,损失函数定义为:其中, 为样本中的样本数, 为样本中正确的标签;
接着不断循环训练过程,不断缩小损失,使得用户和对象的嵌入收敛,得到最终的用户和对象嵌入;
最终根据收敛后的用户和对象嵌入的参数来进行推荐。
2.如权利要求1所述的一种基于多视角知识图谱注意力网络的个性化推荐方法,其特征在于,所述(4.3)的过程如下:(4.3.1)提取用户交互特征
输入AI和A′I,用户i在交互图谱中第l+1层的向量表示为 具体公式如下:其中, 表示当前用户i在第l+1层卷积中与交互图谱中的邻居对象k之间的注意力系数, 表示对象k在第l层卷积的向量表示;
(4.3.1)提取对象交互特征
输入AI和A′I,对象m在交互图谱中第l+1层的向量表示为 具体公式如下:其中, 表示当前对象m在第l+1层卷积中与交互图谱中的邻居用户t之间的注意力系数, 表示用户t在第l层卷积的向量表示。
3.如权利要求1或2所述的一种基于多视角知识图谱注意力网络的个性化推荐方法,其特征在于,所述(4.4)的过程如下:(4.4.1)用户特征融合
输入用户社交特征 用户交互特征 和用户在上层卷积中的向量 进行用户多视角特征融合,用户i在第l+1层卷积中的向量表示为 具体公式如下:其中,η是用于平衡来自上层用户卷积聚合结果和当前多视角下的用户卷积聚合结果的权重, 表示当前用户i在第l+1层卷积中与 之间的注意力系数, 表示当前用户i在第l+1层卷积中与 之间的注意力系数;
(4.4.2)对象特征融合
输入对象关系特征 对象交互特征 和对象在上层卷积中的向量 进行对象多视角特征融合,对象m在第l+1层卷积中的向量表示为 具体公式如下:其中,θ是用于平衡来自上层对象卷积聚合结果和当前多视角下的对象卷积聚合结果的权重, 表示当前对象m在第l+1层卷积中与 之间的注意力系数, 表示当前对象m在第l+1层卷积中与 之间的注意力系数。
4.如权利要求1或2所述的一种基于多视角知识图谱注意力网络的个性化推荐方法,其特征在于,所述(4.5)的过程如下:(4.5.1)用户特征输出
将用户的三层卷积输出结果进行拼接,作为用户特征的最终输出向量 具体公式如下:其中, 分别表示用户在图注意力网络模型中的输入层、第一层卷积、第二层的卷积结果;
(4.5.2)对象特征输出
将对象的三层卷积输出结果进行拼接,作为对象特征的最终输出向量 具体公式如下:其中, 分别表示对象在图注意力网络模型中的输入层、第一层卷积、第二层的卷积结果。