掌桥专利:专业的专利平台
掌桥专利
首页

基于图卷积注意力机制的协同过滤推荐算法

文献发布时间:2023-06-19 11:16:08


基于图卷积注意力机制的协同过滤推荐算法

技术领域

本发明属于计算机人工智能的技术领域,尤其涉及一种基于图卷积注意力机制的协同过滤推荐算法。

背景技术

在这个数据大爆炸的时代,为了缓解信息过载问题,推荐系统已经被广泛应用于个性化信息过滤。目前应用最广泛的推荐技术是协同过滤推荐算法,它基于相似的用户会对项目表现出相似的偏好这一假设,通过用户历史行为记录探索用户的隐性偏好,并根据用户的隐式偏好进行推荐。早期的推荐模型直接使用用户和项目的ID号作为嵌入向量,导致所学习的嵌入表达具有局限性。随后,许多研究者将用户ID以及它的交互记录作为嵌入向量(如SVD++模型、NAIS模型和GC-MC模型)提高了嵌入质量。但是,从用户-项目交互图的角度来看,SVD++和NAIS等模型仅仅利用了用户的一阶邻居进行嵌入学习,虽然GC-MC模型考虑了用户-项目的高阶连接性,但是此模型并未将这种高阶信息编码进嵌入表达的学习过程中,从而影响了推荐准确度。

数据稀疏性和冷启动问题影响了协同过滤技术的推荐性能。社交网络的出现,使得越来越多的推荐算法利用社交网络提供的丰富信息来缓解数据稀疏性和冷启动等问题。但是,传统的基于社交网络推荐算法往往会忽略用户-项目之间隐式关系,为了建模用户-项目信息网络的隐式关系,研究人员提出一系列的图嵌入(Graph embedding,GE)模型。卷积神经网络借助其强大的建模能力得到了快速发展,但卷积神经网络只能处理欧式空间数据(如文本、图像等)。用户-项目交互图是图结构数据,属于非欧式空间数据,不满足平移不变性。图卷积神经网络是一种针对图结构数据的深度学习模型,利用图卷积神经网络建模图上的复杂信息使其具有强大的特征表征能力,PinSage、NGCF和LightGCN等均为典型的图卷积协同过滤技术。但它们聚合邻居节点的特征方式完全依赖于图结构,不利于扩展到其他的图结构,从而局限了模型的泛化能力。

发明内容

基于以上现有技术的不足,本发明所解决的技术问题在于提供一种基于图卷积注意力机制的协同过滤推荐算法,更好的提高了推荐精度和模型的可解释性。

针对以往模型的缺陷,本发明提出的模型利用用户-项目交互图的拓扑结构,将用户-项目之间的高阶连接信息加入到嵌入表达的学习过程中,考虑了用户-项目之间的交互信息,以此揭示了用户/项目之间的耦合关系。

本发明的基于图卷积注意力机制的协同过滤推荐算法,包括以下步骤:

步骤1:数据采集、数据处理、数据集划分。

数据采集:本发明的数据集采用Gowalla数据集,此数据集包括29858条用户数据,40981条项目数据以及1027370条用户与项目交互数据。

数据处理:将采集到的欧式空间数据构造为非欧式空间数据(即图数据),主要做法是将用户与项目之间的交互数据构造为用户-项目交互二部图。

数据集划分:将处理好的数据集随机选取80%的历史交互作为训练集,用于训练模型;其余作为测试集,用于评估模型的泛化能力。对于数据集中每一个可以观察到的用户项目交互,将其视为正样本,然后执行负采样策略为用户没有交互的项目配对负样本;

步骤2:模型的构建。

首先将用户-项目交互图中的交互信息映射到向量空间,然后通过图卷积网络学习用户-项目交互图的嵌入表达,利用交互图的拓扑结构对用户-项目的高阶连接信息进行建模。再利用注意力机制为邻居节点分配不同的权重,聚合邻居节点的特征信息可使邻居节点之间的权重仅依赖于节点之间的特征表达,从而提高模型的泛化能力,最后将图卷积层学习到的多个嵌入向量加权聚合捕获不同卷积层的嵌入影响。

步骤3:模型训练及项目推荐:

将步骤1中得到的训练集和测试集分别用于训练和评估步骤3中构建的模型,模型通过内积得到用户-项目之间的关联分数。最终根据得到的关联分数判断是否将项目推荐给用户。

可选的,在步骤S1中,首先下载Gowalla集,其次进行数据预处理,将采集到的欧式空间数据构造为非欧式空间数据(即图数据),主要做法是将用户与项目之间的交互数据构造为用户-项目交互二部图。最后,对于数据集中每一个可以观察到的用户项目交互,将其视为正样本,然后执行负采样策略为用户没有交互的项目配对负样本;

可选的,在步骤S2中,其计算方法如下:

S201:构造嵌入层(输入层):嵌入层主要包括用户ID嵌入和项目ID嵌入两部分。

S202:构造加入注意力机制的嵌入传播层:根据嵌入层传送的用户ID/项目ID匹配其一阶邻居ID作为嵌入传播层的输入,并将其目标节点与一阶邻居节点分别送入注意力机制和哈达玛积两个模块中进行学习,将学习到的嵌入向量再送入下一层的嵌入传播层,以此类推。

S203:构造预测层(输出层):预测用户与项目之间的关联分数。

可选的,在步骤S3中,其计算方法为:

将嵌入传播层学习到的嵌入向量合并为最终的嵌入向量,模型将最终的嵌入向量进行简单的内积处理得到用户与项目之间的关联分数进行预测,并为最终用户推荐可能感兴趣的项目。

由上,本发明的融合图卷积神经网络和注意力机制的协同过滤推荐方法至少具有如下有益效果:

(1)、本发明考虑在用户-项目交互二部图中学习嵌入表示,在模型嵌入层便考虑了用户与项目之间的交互信息,通过嵌入传播在用户项目交互图上建模高阶连通性,使得模型可以学习到高维特征信息,以此获得更有效的嵌入,提高了推荐的准确性。

(2)、本发明运用了注意力机制聚合邻居节点对目标用户的影响,使得在嵌入传播层学习到的邻居权重为可变权重,捕获了不同邻居节点的重要性影响,其次注意力机制这种聚合方式独立于图结构,提高了模型的泛化能力,使推荐系统具有更好的推荐效果和可解释性。

(3)、本发明使用内积作为最后得到的用户嵌入和项目嵌入的交互函数,得到用户与项目之间的关联分数,简化了模型的时间复杂度和空间复杂度,提高了模型的推荐性能。

(4)、本发明是协同过滤技术与社交网络图数据推荐的结合,可以很好的解决数据稀疏性和冷启动问题。

(5)、本发明使用图卷积神经网络(GCN)学习特征中每一维度之间的高阶交互关系,GCN强大的建模能力可以挖掘用户-项目交互图的局部/全局的特征信息,而且具有较少的参数,因此更容易训练和泛化。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下结合优选实施例,并配合附图,详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍。

图1为数据处理图;

图2为嵌入层用户-项目高阶连接性交互图;

图3为本发明的基于图卷积注意力机制的协同过滤推荐算法的模型架构图;

图4为数据稀疏度效果对比图;

图5为前top-k推荐效果图;

图6为项目聚类效果图。

具体实施方式

下面结合附图详细说明本发明的具体实施方式,其作为本说明书的一部分,通过实施例来说明本发明的原理,本发明的其他方面、特征及其优点通过该详细说明将会变得一目了然。在所参照的附图中,不同的图中相同或相似的部件使用相同的附图标号来表示。

本发明针对现有技术无法聚合邻居节点的不同影响进行有效的建模。图1~图6给出了数据处理以及图卷积注意力机制网络模型的具体设计结构。

第一步,构建用户-项目交互二部图。首先将数据集中获取的用户与项目交互数据进行处理,将处理好的欧式空间数据构造为非欧式空间数据,即用户-项目二部图。

第二步,构建嵌入层用户-项目高阶连接性交互图。利用上述构造的用户-项目交互二部图的拓扑结构对用户-项目的高阶连接信息进行建模。

第三步,构建模型架构图。在第一步构造的用户-项目二部图的基础上,首先使用图嵌入技术将用户-项目的交互信息映射到向量空间,然后通过图卷积网络学习用户-项目交互图的嵌入表达,利用交互图的拓扑结构对用户-项目的高阶连接信息进行建模,再利用注意力机制为邻居节点分配不同的权重,聚合邻居节点的特征信息可使邻居节点之间的权重仅依赖于节点之间的特征表达,从而提高模型的泛化能力,最后将图卷积层学习到的多个嵌入向量加权聚合得到最终的嵌入表达。

第四步,生成预测结果。将模型生成的最终的用户/项目的嵌入向量进行内积,得到用户与项目之间的关联分数,并且根据关联分数为用户推荐感兴趣的项目。

GACF模型架构图的具体算法如下:

构建模型的嵌入层。

根据推荐模型,本发明的一个用户u(或项目i)嵌入向量表示为c

Em=[e

其中用户集U={u

构建模型的加入注意力机制的嵌入传播层

受NGCF和GAT模型的启发以及GCN神经网络的消息传递机制的基础上,本发明对加入注意力机制的嵌入传播层的设计如下。首先说明单阶传播设计,然后将其推广到高阶传播。

1、单阶传播

一般地,用户交互的项目直接反映了用户偏好,例如,与某个项目交互的用户可以被视为此项目的特征,从而用于度量两个项目之间的协作相似性。在此基础上执行用户与项目之间嵌入传播,主要由消息构建和消息聚合两部分构成。

(1)消息构建

对于用户-项目交互图中存在的一个连接的用户-项目对(u,i),定义从项目i到用户u的消息为:

m

其中,u←i表示从项目到用户的方向传递,m为表示传递消息的嵌入向量。f()是一个消息编码函数,输入为这个用户-项目节点对中用户u对项目i的嵌入向量e

在本发明中消息编码函数f()实现为:

其中,W

根据图卷积神经网络原理,相关性系数p设置为图数据的拉普拉斯范数:

其中,N

依据图注意力机制(GAT)原理,邻居节点i对目标节点u的影响,可以由注意力相关分数表示:

e

其中,为注意力分数(设置为α=0.5)。为了使注意力相关分数便于比较以及得到注意力权重,引入了softmax函数对目标用户u的所有邻居节点i进行归一化,如式(6)所示:

(2)消息聚合

通过聚合目标用户u的邻居节点特征来更新用户u的嵌入表达e

其中,e

m

其中,W

2、高阶传播

通过堆叠多个单阶传播层来挖掘高阶的连接信息,这种高阶连接信息对评估用户与项目之间的关联分数是至关重要的。通过堆叠l层的加入注意力机制的嵌入传播层,用户(或项目)可以获得l-阶自身节点和邻接节点传播的特征消息。由单阶传播可知,在第l层时传播形式如下:

其中,高阶自连接和高阶邻居节点影响的具体表达形式如下:

m

3、传播过程的矩阵形式

单阶传播和高阶传播只是对单个节点进行算法上的描述,为了实现传播过程中能够对节点进行批量的计算,本发明设计了逐层传播的矩阵形式,如式(12)所示:

其中,E(l)表示所有用户和项目节点在第l层得到的嵌入向量,且I为单位矩阵,为拉普拉斯矩阵,具体定义为;

其中,矩阵R∈R

构建模型的预测层

在经过l层传播后,得到了用户u的多个嵌入表达,即{e

其中,β

最后,在模型预测部分,本发明采用了简单的内积交互函数,通过内积运算得到用户对目标项目的偏好:

模型优化

为了学习模型参数,本发明使用了贝叶斯(BPR)损失函数对模型进行优化,主要原因是因为贝叶斯损失函数考虑了观测到的交互和未观测到的交互之间的相对顺序。具体地说,它假设观测到的交互对用户偏好的影响更大,优化目标如下:

其中,O={(u,i,j)|(u,i)∈R

R

为L2正则化项,λ||Θ||

实验结果说明

实验结果表明:至少在以下几方面,本发明模型的益处:

(1)与近年提出的先进推荐算法比较,本发明的模型取得了更好的推荐效果。

(2)引入注意力机制的聚合方式,对GACF模型的推荐效果表现是有效的。

(3)本发明的模型可以缓解数据稀疏性对推荐性能的消极影响。

(4)本发明设计的高阶连接性与单层连接对目标节点聚合效果进行比较,证明了高阶连接性的模型的聚合效果更好。

本发明采用的数据集为Gowalla数据集,对于数据集,本发明随机选择每个用户的80%的交互历史构成训练集,剩下的20%作为测试集。表1给出了数据集的统计信息。

表1实验数据信息

1、对比算法

本发明提出的图卷积注意力机制协同过滤模型(简称为GACF)分别与两种非图神经网络模型(如MF和NeuMF)和三种图神经网络模型(如Hop-Rec、GC-MC和NGCF)共5个主流模型比较,现对这5种模型进行介绍:

(1)MF模型:该模型利用奇异值(简称为SVD)方法对矩阵进行分解,通过贝叶斯个性化排名损失函数对模型进行优化,并将用户-项目交互作为交互函数的目标值。

(2)NeuMF模型:该模型是一个经典的基于深度学习的协同过滤推荐算法,它结合了传统矩阵分解和多层感知机,通过元素层面上的用户和项目嵌入和串联多个隐藏层来捕获用户-项目之间的非线性特征交互,能够捕获用户和项目间的关联关系。

(3)Hop-Rec模型:该模型基于图神经网络,通过在图上的随机游走并结合图顶点的度,以一定概率采样用户和项目的高阶关系,可以显式的建模用户和项目之间的高阶偏好。

(4)GC-MC模型:该模型基于消息传递的图自动编码,通过编码器生成用户和项目表示,并利用用户和项目的一阶交互信息来捕捉它们之间的隐性特征,提高了推荐模型的泛化能力。

(5)NGCF模型:该模型是基于图卷积神经网络的最新推荐模型,它利用了用户-项目交互图的拓扑结构将交互信息嵌入到学习过程中,并构建了三层图卷积神经网络对交互信息进行嵌入传播学习,通过将传播层学习的嵌入向量进行聚合,得到用户-项目之间的关联分数。

2、评估指标

本发明中对于测试集中的每个用户,本发明将用户未交互的所有项目视为负样本,将用户已经交互的项目作为正样本。本发明的模型以及本发明中所选取的对比模型均输出用户对所有项目的偏好分数,为了评估top-k推荐和偏好排序的有效性,本实验采用top-k召回率(Recall@K)和归一化折现积累收益(NDCG@K)作为评价指标。召回率计算的是所有“被正确推荐的项目”占所有“应该被推荐的正确的项目”的比例,如式(18)所示:

其中,R(u)是为用户推荐的项目集合,T(u)为测试集上用户感兴趣的项目的集合。

归一化折现积累收益是一种基于排名的测试指标,排名靠前的项目得分更高。NDCG的表示由DCG和IDCG共同表示,DCG表示某个用户对项目集喜爱程度的评分,IDCG表示某个用户对项目集喜爱程度由高到底的评分。

其中表示用户对第i个项目的评分,是指按照评分高低的排序取前top-k个物品的评分,log

实验结果分析

1、总体比较

本发明将本发明所提出的模型与对比模型在相同数据集上分别进行实验,实验结果如表2所示。

表2总体比较

Table.2 Overall Performance Comparison

从模型性能的总体比较来看,本发明提出的GACF模型在两个不同的数据集相比于其他模型的Recall@20和NDCG@20均有明显提高,说明了本发明模型具有良好的泛化能力。与经典的MF模型相比,在Gowalla数据集上,Recall@20和NDCG@20分别提高了10.49%和10.65%。与NeuMF模型相比,在Gowalla数据集上,Recall@20和NDCG@20分别提高了10.18%和9.59%。与GC-MC模型相比,在Gowalla数据集上,Recall@20和NDCG@20分别提高了9.29%和9.33%。与Hop-Rec模型相比,在Gowalla数据集上,Recall@20和NDCG@20分别提高了9.18%和8.18%。与NGCF模型相比,在Gowalla数据集上,Recall@20和NDCG@20分别提高了7.92%和7.07%。

原因是本发明模型使用了最先进的图卷积神经网络用于协同过滤推荐技术,并且在模型训练过程中对用户-项目之间的高阶连接信息进行建模,另外还引入了注意力机制聚合了邻近节点信息,考虑了邻居节点影响的重要性,最后为每一层嵌入传播层分配不同的权重,综合考虑每一层嵌入传播层对最终向量表达的影响。经典的MF模型在两个数据集上所表现出来的性能都是最差的,这表明MF模型直接将用户-项目交互作为交互函数的目标值不足以捕捉用户和项目之间的复杂关系,这大大限制了MF模型的推荐效果。NeuMF模型的推荐性能优于MF模型,这是因为NeuMF模型考虑了用户和项目嵌入之间的非线性特征交互的重要性,然而MF与NeuMF模型在建模过程中均没有明确的对用户和项目在嵌入学习过程中的连接性建模,因此导致了MF与NeuMF模型的推荐效果均不是很好。

与另外三个图神经网络推荐模型相比,本发明模型仍表现出很好的推荐效果。原因是GC-MC模型虽然在建模时考虑了用户-项目连接性的一阶邻居影响,但是此模型没有充分挖掘用户与项目之间的非线性特征交互,这导致了GC-MC模型在NDCG@20上的表现不如NeuMF模型,但在Recall@20上的表现优于MF与NeuMF模型。Hop-Rec模型利用高阶邻居来丰富训练数据,对用户和项目之间的高阶偏好进行建模,但是该模型仅考虑相似的用户。NGCF模型相比于其他的模型都取得了明显的提高,通过堆叠多个嵌入传播层能够以显式的方式捕获用户与项目之间的高阶连接信息进行嵌入学习,但是NGCF模型没有聚合邻居节点的影响,并且将每一层嵌入传播层学习到的嵌入向量直接拼接为最终的嵌入向量表达,因而没有考虑每一层嵌入传播层对最终嵌入向量的影响。

2、数据稀疏情况下模型推荐效果。

数据稀疏性限制了协同过滤推荐算法的性能,原因是不活跃用户的交互历史的嵌入学习不足以构成高质量嵌入表达。因此,本发明利用用户与项目之间的连接信息缓解数据稀疏性对推荐性能的影响。本发明对不同稀疏度的用户组进行实验,基于每一个用户的交互记录将测试集共分为四组。例如,在Gowalla数据集中,每个用户的交互次数分别小于24、50、117、1014,如图4所示。由于Recall@20主要受空间影响,因此本发明仅讨论了对于不同活跃度的用户组的ndcg@20性能指标。

通过观察图5可以发现,GACF模型、NGCF模型以及Hop-Rec模型在所有不同活跃度的用户组上NDCG@20表现总体上优于其他模型,这表明利用用户与项目之间的高阶连接性可以促进活跃性较低的用户的嵌入学习表达,原因是利用高阶连接性可以有效的捕捉用户与项目之间的交互信息,并且图5还表明了GACF模型在缓解数据稀疏性对推荐效果的影响最为有效。

为了探究注意力机制和以不同权重聚合每一层对最终嵌入向量对模型推荐效果的影响,实验对模型的top-k推荐的有效性进行了Recall@20和NDCG@20两方面的评估,其中k分别取值为20、40、60、80、100,结果如图5所示。从图5可知,本发明模型在两个数据集上所表现出的效果均远高于其他模型,这是由于本发明模型的嵌入传播层中加入了注意力机制,使得嵌入传播层的每一层都能聚合邻居节点对目标节点的不同影响,并聚合了嵌入传播层学习到多个嵌入向量对最终嵌入向量的影响,本发明模型根据每一层学习的嵌入向量的重要性赋予它们不同的权重。综上可以说明本发明模型所推荐的前top-k列表更具个性化。

为了验证用户-项目之间的高阶连接性对提高推荐性能的有效性,从Gowalla数据集中随机选择了六名用户以及与他们相关的项目并赋予他们相同的颜色,通过观察相同颜色的项目是否更容易形成集群来验证推荐性能,更容易聚类的模型则它所表现出的推荐效果更好。本发明设计了GACF-0和GACF-3两个推荐模型,其中GACF-0表示用户与项目之间仅是单层连接,GACF-3表示用户与项目之间为三层连接,与这六名随机用户相关项目的聚类效果图如图6所示。从图6可知,GACF-3模型中用户与项目之间的关联性在嵌入空间中得到了更好的表达,图6中相同颜色的项目更容易形成集群并且更容易聚类,这也反映出本发明所提出的用户-项目高阶连接性思想对推荐表现的有效性。

本发明通过注意力机制聚合邻居节点信息,依据邻居节点的重要性为其分配不同的权值,并且本发明提出的聚合方式独立于图结构,能够有效提高模型的泛化能力。

本发明将用户与项目之间的交互数据构造成用户-项目交互图,这是一种图卷积神经网络可以处理的图数据,很好的利用了图卷积神经网络强大的建模能力,使得模型更容易训练和泛化,并且缓解了数据稀疏性对协同过滤技术的影响。

相关技术
  • 基于图卷积注意力机制的协同过滤推荐算法
  • 一种基于高阶连接图的协同过滤推荐算法
技术分类

06120112859410