背景技术
在信息超载的时代,推荐系统在各种线上服务中起着举足轻重的作用,旨在为用户推荐感兴趣的物品。矩阵分解作为推荐系统中使用的一种流行技术,利用用户物品评分矩阵作为输入数据,将用户向量和物品向量的内积来模拟用户偏好。但是,评分仅反映用户对商品的整体评价,而不能反映该商品的某个具体方面。因此,矩阵分解(MF)技术无法从物品的各个方面进行用户偏好的细粒度建模,也无法解释推荐结果。
近年来涌现了许多基于知识图谱(KG)的推荐系统的工作,由于KG包含丰富的语义信息并可以表达复杂的用户物品关系。基于嵌入的方法利用知识图嵌入技术将实体和关系映射到低维向量空间,丰富用户和物品的表示。基于路径的方法考虑KG中实体的连通性,并构建用户物品图以提高推荐性能。最近,研究人员以不同的方式融合基于嵌入的方法和基于路径的方法,由于图神经网络(GNN)强大的学习和表示能力,研究人员还在KG中实现了偏好传播,旨在充分挖掘其高阶关系。
近年来,许多研究人员尝试利用知识图谱(KG)结构进行推荐,可以将其分为三种类型:基于嵌入的方法,基于路径的方法和联合的方法。
基于嵌入的方法通常直接利用知识图中的信息来丰富用户和物品的表示。此类方法通常利用知识图嵌入算法(KGE)对知识图谱进行编码以得到物品表示,然后将物品辅助信息融合到推荐框架中。例如,张福征等提出了基于嵌入的协同知识推荐算法(CKE),该算法将协同过滤(CF)模块与物品的知识嵌入,文本嵌入和图像嵌入相结合。为了捕获用户的动态兴趣,王鸿伟等通过将实体嵌入和词嵌入与卷积神经网络(CNN)结合在一起提出了面向新闻推荐的深度知识网络算法(DKN),该框架汇总了历史点击序列的嵌入以学习用户表示。王鸿伟等接着提出了用于情感链接预测的异构信息网络嵌入算法(SHINE),该算法将名人推荐任务看作图中实体之间的情感链接预测任务。还有一些工作试图将用户整合到知识图谱中,如曹一新等提出了基于知识图谱的协同过滤模型(CFKG),该模型首先构造用户物品知识图谱,并设计了一个度量函数来测量知识图谱中两个实体之间的距离。
基于路径的方法通过探索知识图谱中物品的各种联系以提供推荐。例如,余晓等提出的基于异构信息网络的矩阵分解模型(HeteMF)通过提取不同的元路径并计算各条路径中的物品与物品间的相似度,以增强用户和物品的表示。罗成等进一步考虑用户-用户相似度和用户-物品相似度提出了用于异构信息网络的协同过滤模型(HeteCF)。余晓等接着提出的基于异构信息网络的元路径推荐模型(HeteRec)直接利用元路径相似性来丰富用户-物品交互矩阵,从而更全面地表示用户和物品。随后,俞潇等提出的个性化实体推荐模型(PER)进一步考虑不同元路径的重要性应该针对不同用户而有所不同。为了突破元路径表达能力的限制,赵欢等提出的基于元图的异构信息网络推荐模型(FMG)将元路径替换成元图,该元图包含比元路径更丰富的连通信息,并更准确地捕获实体之间的相似性。另外,为了减少元路径选择的数量,马威志等提出了基于知识图谱的联合学习算法模型(RuleRec),该模型通过利用KG中实体之间的连通性来学习关联物品之间的关系,有共同点击或共同查看等行为的称为关联物品。
联合的方法巧妙地融合了基于嵌入的方法和基于路径的方法,它们结合了实体的语义表示,关系和信息的连通性。例如,王鸿伟等提出了基于知识图谱的用户偏好传播模型(RipplNet),这是第一项引入偏好传播概念的工作。具体来说,RippleNet模型通过KG路径传播用户的历史交互偏好。与此类似的,唐小莉等提出了面向知识的增强注意力模型(AKUPM),以用户的点击历史记录对其进行建模。具体来说,AKUPM模型通过一个自我注意层来学习实体之间的连接信息,并传播用户的偏好。为了进一步挖掘KG的高阶关系,王项等提出了知识图注意力网络模型(KGAT),该模型运行实体本身并向外传播。瞿彦如等提出的基于端到端的领域交互模型(KNI),它进一步考虑了物品侧邻居和用户侧邻居之间的相互作用,因此能够并行优化用户表示和物品表示。
基于知识图谱(KG)的推荐系统通过考虑物品的各个方面以提供准确的推荐。许多研究表明,利用KG的丰富语义是提高推荐性能的有效方法,并且可以缓解数据稀疏性且为用户提供可解释性的推荐结果。但是,现有的基于KG的推荐系统忽略了以下的事实:用户通常会对物品的各种关系给予不同程度的重视的事实;用户对不同物品的各种关系有不同的期望,可以用关系向量表示。但现有的基于KG的推荐系统无法直接对关系向量进行建模,也无法直观显示注意力权重。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种聚合知识图神经网络和自适应注意力的推荐方法。
为了实现本发明的上述目的,本发明提供了一种聚合知识图神经网络和自适应注意力的推荐方法,包括以下步骤:
S1,将用户,关系,实体的知识图三元组作为输入,并为其分配初始嵌入表示即用户嵌入表示、关系嵌入表示、实体嵌入表示;
S2,利用用户嵌入表示和关系嵌入表示的内积表示该种关系对用户的重要程度;将异构知识图谱转换为一个带权图,然后为目标节点挑选邻居目标节点并训练其领域嵌入表示;同时,将初始的实体嵌入表示喂进图神经网络训练并产生新的实体嵌入表示;随后聚合邻域嵌入表示和新的实体嵌入表示得到最终物品嵌入表示;
S3,将用户嵌入表示和最终物品嵌入表示的内积作为最终预测评分,并将最高得分所对应的物品推荐给用户。
进一步地,所述带权图包括:关系感知注意力和感受野;
所述关系感知注意力包括:
引入一个面向用户的关系注意力得分函数
以提供用户u对关系r的重视程度,如式(2)所示:
其中u和r分别表示用户u和关系r的嵌入特征向量,·T表示转置;
所述感受野包括:
目标节点v的邻域嵌入表示定义如下:
其中
为目标节点v的邻域嵌入,e表示实体e,N(v)表示被挑选的邻居集合,
表示用户关系得分正则化,如式(4)所示:
其中
表示以自然底数为底
为指数的函数,
表示用户u对该种关系r的重视程度,e表示实体e,N(v)表示被挑选的邻居集合。
进一步地,所述图神经网络训练包括:
前馈传播:
其中H0表示第0层中实体矩阵,H1表示第1层中实体矩阵,H2表示第2层中实体矩阵,H3表示第3层中实体矩阵,Hl-1表示第l-1层中实体矩阵,Hl表示第l层中实体矩阵;σ(·)表示非线性激活函数,Du表示Au的对角矩阵,Au表示带权图,l表示层数,W0表示第0层的权重参数,W1表示第1层的权重参数,W2表示第2层的权重参数,Wl-1表示第l-1层的权重参数。
进一步地,所述聚合包括:
三种类型的聚合器:GCN聚合器,GraphSage聚合器,Bi交互聚合器;
所述GCN聚合器包括:将目标实体表示与其邻域表示求和并经过非线性转换,如式(6)所示:
其中LeakyRelu(·)表示激活函数,Q和b分别表示权重矩阵和偏置,H
l表示第l层中实体矩阵,e
v表示物品的最终嵌入特征向量,
表示目标节点v的邻域嵌入特征向量;
所述GraphSage聚合器包括:
将目标实体表示和其领域表示串联起来,然后再经过一层非线性变换,如式(7)所示:
其中LeakyRelu(·)表示激活函数,Q和b分别表示权重矩阵和偏置,H
l表示第l层中实体矩阵,||表示串联,e
v表示物品的最终嵌入特征向量,
表示目标节点v的邻域嵌入特征向量;
所述Bi交互聚合器包括:
考虑了目标实体表示和其领域表示的两种特征交互,如式(8)所示:
其中LeakyRelu(·)表示激活函数,H
l表示第l层中实体矩阵,⊙表示点积,b
1、b
2的分别表示第一偏置、第二偏置;Q
1、Q
2分别表示第一权重矩阵、第二权重矩阵;e
v表示物品的最终嵌入特征向量,
表示目标节点v的邻域嵌入特征向量。
进一步地,所述最终预测评分是用户表示和物品的最终表示作内积得到的,如式(9)所示:
其中u表示用户u的嵌入特征向量,·T表示转置,
表示推荐生成的排名得分即预测函数,e
v表示物品的最终嵌入特征向量。
进一步地,包括:
为了提高计算效率,在训练期间使用了负采样策略,损失函数定义如式(10)所示:
其中O为训练集,i表示与用户产生交互的物品,j表示未与用户产生交互的物品,u表示用户,σ(·)表示非线性激活函数,λ表示L2正则化参数,θ表示参数集,
表示范数的平方,
分别表示与用户产生交互的物品的概率,未与用户产生交互的物品的概率。
进一步地,包括:
令U={u1,u2,u3...}和V={v1,v2,v3...}分别表示用户集和物品集,u1表示表示用户1,u2表示用户2,u3表示用户3,v1表示物品1,v2表示物品2,v3表示物品3;用户物品交互矩阵Y={yuv|u∈U,v∈V}根据用户的隐式反馈定义,用户物品交互矩阵定义如下:
其中yuv表示标记用户u与物品v是否产生交互,产生交互记为1,未产生记为0。
综上所述,由于采用了上述技术方案,本发明能够:
(1)提出了一种新颖的基于自适应的关系感知注意机制上,直接应用关系向量对KG的语义信息进行建模。它在聚合目标节点邻域的矢量表示时考虑了邻居目标节点的重要性。
(2)引入了一个关系感知注意力网络来捕获每个用户物品对的注意力权重,并引入感受野来筛选KG中目标节点的邻居节点,并利用图神经网络解决矩阵分解方法的局限性。
(3)对三个开源数据集上进行了大量实验,实验结果表明KGARA算法优于最新算法。这也证实在推荐模型中本发明的有效性。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
本发明提出了一种基于自适应关系注意力的知识图推荐模型KGARA,可以准确捕获用户对物品的各种关系的关注度即偏好。详细地说,引入关系的嵌入表示来对KG的语义信息进行建模,并通过注意机制捕获用户对物品的各种关系的关注度。然后将用户向量和关系向量的内积作为注意力权重。
此外,利用图神经网络(GNN)接收注意力权重并迭代更新物品嵌入表示,从而解决矩阵分解算法仅仅利用用户与物品交互的局限性问题;为了减轻计算负担,引入感受野来形成包含有限域目标节点的子图而不是全局图。
在KGARA算法中,图神经网络用于接受注意力权重并迭代更新物品向量。为了评估KGARA模型的有效性,进行了大量实验,将KGARA模型在Movielens-1M数据集,LastFM数据集和Book-Crossing数据集上与几个最新基准进行比较。实验结果表明,KGARA算法优于其他最新的推荐方法,也证明了在推荐模型中本发明的有效性。
KGARA方法
1.1问题描述
基于知识图谱的推荐系统问题描述如下。令U={u1,u2,...}和V={v1,v2,v3...}分别表示用户集和物品集,u1表示表示用户1,u2表示用户2,u3表示用户3,v1表示物品1,v2表示物品2,v3表示物品3;用户物品交互矩阵Y={yuv|u∈U,v∈V}根据用户的隐式反馈定义。用户物品交互矩阵定义如下:
其中yuv表示标记用户u与物品v是否产生交互,产生交互记为1,未产生记为0;比如点击,观看,浏览。另外还需要准备一个包含大量<实体,关系,实体>三元组的知识图谱,其中物品,用户都属于实体。
在实际推荐场景中,物品通常也与知识图谱中的一个或者多个实体相连接。
因此,对于给定的用户物品交互矩阵和知识图谱,旨在预测用户u是否对从未交互的物品v感兴趣。目标是学习一个预测函数
其中
表示用户u点击物品v的概率,θ表示函数F(·)的参数。所述物品包括:电影作品、购物商品或者新闻、视频
1.2总体框架
KGARA模型的主要思想是通过设计一个关系感知模型来增强目标节点的表示。借助知识图谱,KGARA模型利用关系感知注意力机制指导不同类型邻居的路径选择并获取知识图谱中丰富的语义信息。另外,将图神经计算和迭代聚合作为有效的学习算法。
KGARA的整体架构如图1所示。首先,利用包含了图1的知识图三元组作为输入,并为其分配初始嵌入表示。随后,利用用户嵌入表示和关系嵌入表示的内积表示该种关系对用户的重要程度。将异构知识图谱转换为一个带权图以刻画用户偏好,还为目标节点挑选邻居目标节点并训练其领域嵌入表示。同时,将初始的实体嵌入表示喂进图神经网络训练并产生新的实体嵌入表示。随后聚合邻域嵌入表示和新的实体嵌入表示得到物品最终嵌入表示。最后将用户嵌入表示和物品最终嵌入表示的内积作为最终预测评分。
用
表示用户嵌入表示和关系嵌入表示的内积,这个内积包含在目标节点的领域表示里,最后聚合目标节点和其领域表示并与用户嵌入表示内积后生成一个概率值,通过缩小loss值训练反向传播更新参数。原有的知识图谱是无权图,引入了
后,可以将原有的知识图谱看作是带权图。
目标节点即物品,当计算用户点击某个物品的概率值,可以把某个物品看作是知识图谱中的目标节点。
1.3关系感知注意力和感受野
模型第一步是将异构知识图谱转换为一个带权图以刻画用户偏好。为此,引入一个面向用户的关系注意力得分函数
以提供用户u对关系r的重视程度即用户嵌入表示和关系嵌入表示的内积,如式(2)所示:
其中u和r分别表示用户u和关系r的特征向量,·
T表示转置。原始知识图谱是一个无权图,其中的边仅仅表示一种关系,无法显示权重大小。引入关系注意力得分函数
后,原始知识图谱转换为一个带权图。
在真实场景下,带权图的规模通常非常大。为了缓解计算负担,引入一个感受野来确定目标节点数量。具体来说,为目标节点采样固定的邻居目标节点数量,其中邻居节点被选择的优先级由其注意力权重决定。目标节点v的邻域嵌入表示定义如下:
其中
为目标节点v的邻域嵌入,e表示实体e,N(v)表示被挑选的邻居集合,
表示用户关系得分正则化如式(4)所示:
其中
表示以自然底数为底
为指数的函数,
表示用户u对该种关系r的重视程度,e表示实体e,N(v)表示被挑选的邻居集合。
1.4图神经网络计算
将实体的原始特征矩阵表示为E,然后利用多层前馈传播层更新实体表示。具体来说,前馈传播表示如式(5)所示:
其中H0表示第0层中实体矩阵,H1表示第1层中实体矩阵,H2表示第2层中实体矩阵,H3表示第3层中实体矩阵,Hl-1表示第l-1层中实体矩阵,Hl表示第l层中实体矩阵;σ(·)表示非线性激活函数,Du表示Au的对角矩阵,Au表示带权图,l表示层数,W0表示第0层的权重参数,W1表示第1层的权重参数,W2表示第2层的权重参数,Wl-1表示第l-1层的权重参数。
经过l层计算,得到实体即物品表示Hl。为了使得信息在目标实体与其邻域传播更多有用信息。最后一步,聚合目标实体表示与其领域表示得到目标实体新的表示。其中,在KGARA模型中实施了三种类型的聚合器:
(1)GCN聚合器将目标实体表示与其邻域表示求和并经过非线性转换,如式(6)所示:
其中LeakyRelu(·)表示激活函数,Q和b分别表示权重矩阵和偏置,H
l表示第l层中实体矩阵,e
v表示物品的最终嵌入特征向量,
表示目标节点v的邻域嵌入特征向量。
(2)GraphSage聚合器将目标实体表示和其领域表示串联起来,然后再经过一层非线性变换,如式(7)所示:
其中LeakyRelu(·)表示激活函数,Q和b分别表示权重矩阵和偏置,H
l表示第l层中实体矩阵,||表示串联,e
v表示物品的最终嵌入特征向量,
表示目标节点v的邻域嵌入特征向量。
(3)Bi交互聚合器考虑了目标实体表示和其领域表示的两种特征交互,如式(8)所示:
其中LeakyRelu(·)表示激活函数,H
l表示第l层中实体矩阵,⊙表示点积,b
1、b
2的分别表示第一偏置、第二偏置;Q
1、Q
2分别表示第一权重矩阵、第二权重矩阵;e
v表示物品的最终嵌入特征向量,
表示目标节点v的邻域嵌入特征向量。
通常,聚合的优势在于利用一阶连通性来关联用户,关系和实体表示。它可以将模型扩展到多个层次,从而以更广泛和更深入的方式探索用户的潜在兴趣。聚合深度为2的过程;邻域嵌入需要邻居节点的聚合,而这些邻居节点的嵌入又需要他们的邻居节点嵌入来聚合,所以聚合深度为2。
其中hV (1)、hV (2)、hN(v) (1)分别表示目标节点v的一阶嵌入,二阶嵌入和邻域一阶嵌入。
1.5模型训练
模型的最终预测评分是用户表示和物品的最终表示作内积得到的,如式(9)所示:
其中u表示用户u的嵌入特征向量,·T表示转置,
表示推荐生成的排名得分即用户点击该物品的概率,也称为预测函数,e
v表示物品的最终嵌入特征向量。
推荐系统的最终目标是为用户推荐物品,认为用户永远处于模型的中心地位。因此,模型主要学习物品的嵌入表示。然后使用交叉熵损失来优化推荐预测损失。为了提高计算效率,在训练期间使用了负采样策略。完整的损失函数定义如式(10)所示:
其中训练集O={(u,i,j)|(u,i)∈R
+,(u,j)∈R
-},i表示与用户产生交互的物品,j表示未与用户产生交互的物品,u表示用户,R
+表示用户与物品存在交互的集合,R
-表示用户未与物品交互集合,σ(·)表示非线性激活函数,θ表示参数集,λ表示L2正则化参数,
表示范数的平方,
分别表示与用户产生交互的物品的概率,未与用户产生交互的物品的概率,(u,i)、(u,j)分别表示产生过交互的用户物品对,未产生交互的用户物品对。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。