基于多粒度流行度特征的轻量级图卷积协同过滤推荐方法转让专利

申请号 : CN202110612684.0

文献号 : CN113343121B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 薛峰刘康张涛盛一城

申请人 : 合肥工业大学

摘要 :

本发明公开了一种基于多粒度流行度特征的轻量级图卷积协同过滤推荐方法其步骤包括:1、简化了图卷积神经网络,在图卷积神经网络和协同过滤的融合框架中移除了图卷积神经网络中的非线性激活函数和权重转换矩阵;2、建模多粒度节点流行度特征,将流行度特征融入到协同过滤信号中,形成一个统一的框架模型;3、经过模型的输入、模型的嵌入生成、模型的预测偏好评分,最后使用BPR loss损失函数作为目标函数,利用Adam优化器进行模型训练以更新模型的参数。本发明通过使用轻量级的图卷积神经网络,融入多粒度流行度特征的协同过滤框架,可以更加准确的学习用户与物品的交互关系,从而实现更好的推荐效果。

权利要求 :

1.一种基于多粒度流行度特征的轻量级图卷积协同过滤推荐方法,其特征是按照如下步骤进行:步骤1、获取用户与物品的交互数据集以及评分矩阵;利用所述评分矩阵构造邻接矩阵,再对所述邻接矩阵进行双边标准化处理,得到标准化的邻接矩阵;初始化所述交互数据集中用户的ID信息与物品的ID信息;以任一用户作为目标用户u,以任一物品作为目标物品i;从所述交互数据集中获取所述目标用户u的一阶邻居节点和目标物品i的一阶邻居节点;

步骤2、基于轻量级图卷积协同过滤模型,分别考虑不同用户和不同物品的嵌入生成;

步骤2.1、利用式(1)得到在流行度特征的粒度控制系数为r时来自模型第l‑1层中目标用户u的一阶邻居节点的嵌入生成式(1)中,Nu表示目标用户u的邻居节点集合,Ni表示物品i的邻居节点集合,物品i是来自Nu集合中的元素,|Nu|表示目标用户u的邻居节点的数量,|Ni|表示物品i的邻居节点的数‑0.5 ‑r量,r表示用于控制流行度的超参数,|Nu| ·|Ni| 表示对聚集的邻居节点信息的双边标准化, 表示在流行度特征的粒度控制系数为r时第l‑1层物品i的嵌入表示;

步骤2.2、利用式(2)得到在流行度特征的粒度控制系数为r时来自模型第l‑1层中目标用户u自身节点的嵌入生成式(2)中, 表示在流行度特征的粒度控制系数为r时第l‑1层目标用户u的嵌入表‑0.5 ‑r示,|Nu| ·|Nu| 表示对聚集的自身节点信息的双边标准化;

步骤2.3、利用式(3)得到在流行度特征的粒度控制系数为r时第l层目标用户u的嵌入表示式(3)中,μu表示用于控制目标用户u自身节点嵌入表示权重的超参数;

步骤2.4、利用式(4)得到在流行度特征的粒度控制系数为r时来自模型第l‑1层中目标物品i的一阶邻居节点的嵌入生成式(4)中, 表示在流行度特征的粒度控制系数为r时第l‑1层用户u的嵌入表示;

步骤2.5、利用式(5)得到在流行度特征的粒度控制系数为r时来自模型第l‑1层中目标物品i自身节点的嵌入生成式(5)中, 表示在流行度特征的粒度控制系数为r时第l‑1层目标物品i的嵌入表示;

步骤2.6、利用式(6)得到在流行度特征的粒度控制系数为r时第l层目标物品i的嵌入表示式(6)中,μi表示用于控制目标物品i自身节点嵌入表示的权重的超参数;

步骤3、使用轻量级图卷积协同过滤模型第L层输出的嵌入表示 和 分别作为目标用户u的最终嵌入表达 和目标物品i的最终嵌入表达利用式(7)得到在流行度特征的粒度控制系数为r时目标用户u对目标物品i的预测偏好评分 并作为模型的预测函数:利用式(8)得到在不同粒度控制系数取值下目标用户u对目标物品i的最终预测评分Rui:式(8)中,rj表示粒度控制系数r的第j个取值,rj∈(0,0.5], 表示流行度特征的粒度控制系数r取第j个值时目标用户u对目标物品i的预测偏好评分;

步骤4、使用BPRloss建立如式(9)所示的流行度特征的粒度控制系数为r时模型的损失函数Lr:式(9)中,M表示目标用户u,目标用户u交互过的物品i以及未交互的物品k的三元组,且σ(·)表示激活函数, 与 分别表示在流行度特征的粒度控制系数为r时目标用户u对交互过的物品i和未交互过k的物品的偏好评分,λ表示正则化系数,||·||2表示二范数正则化,Er表示在流行度特征的粒度控制系数为r时目标用户u的最终嵌入表达 和目标物品i的嵌入表示 拼接后的矩阵表示;

利用式(10)得到在不同粒度控制系数取值下模型的最终目标函数L:式(10)中,rj表示粒度控制系数r的第j个取值,rj∈(0,0.5], 表示流行度特征的粒度控制系数r取第j个值时模型的损失函数;

步骤5、基于用户与物品的交互数据,利用Adam优化器对轻量级图卷积协同过滤模型进行训练,使得模型的目标函数L达到最小,从而得到最优参数的轻量级图卷积协同过滤模型以用于物品对用户的推荐。

说明书 :

基于多粒度流行度特征的轻量级图卷积协同过滤推荐方法

技术领域

[0001] 本发明属于计算机机器学习与人工智能技术领域,主要是涉及一种多粒度流行度特征的轻量级图卷积协同过滤模型推荐方法。

背景技术

[0002] 随着近些年来互联网技术的快速发展以及互联网用户的快速增长,产生了海量的数据,我们已经进入了一个信息爆炸的时代,时时刻刻都有大量的数据产生,然而这些数据并不都是用户完全关心的,这样用户很难高效地从海量的数据中寻找满足自己需要或者自己感兴趣的信息。因此,为了解决“信息过载”问题,推荐系统应运而生。简单来说,推荐系统是根据用户的浏览习惯,了解用户的兴趣,通过挖掘用户的行为,将合适的信息推荐给用户,满足用户的个性化需求。推荐算法被广泛地应用于各种领域如电子商务、社交应用以及新闻媒体等,对有效减轻信息过载尤为重要。
[0003] 学习用户和物品的向量表示是现代推荐系统的核心,从早期的矩阵分解到最近出现的基于深度学习的方法,现有的工作通常是通过描述用户或物品的现有特性(如ID属性)映射来获得用户或物品的Embedding表示。然而这样的方法存在一个缺点,即隐藏在用户‑物品交互中的协作信号没有在嵌入过程中编码,由此产生的嵌入可能不足以捕获协作过滤的效果。
[0004] 经典的图卷积神经网络的协同过滤推荐方法通过利用用户物品图的结构,在用户物品图上传播Embedding,来解决固有方法的局限性,这就导致用户物品图中高阶连通性的表达建模,有效地将协同过滤信号显式地注入到Embedding过程中,对高阶交互关系有很强的显式捕获能力。图卷积神经网络的协同过滤推荐方法是图卷积神经网络和协同过滤的融合,分别建模用户和物品Embedding表示;使用用户和物品的Embedding的内积得到用户对物品的预测偏好评分,可以理解为协同过滤的行为;利用图卷积神经网络来生成节点的Embedding表示,可以理解为图卷积神经网络在神经图协同过滤模型中的应用。尽管图卷积神经网络的协同过滤推荐方法取得了很好的效果,但依然存在着缺陷,比如图卷积神经网络在处理推荐中的隐反馈数据时,图卷积结构中的非线性网络是非必要的,相反会给节点的Embedding生成引入过多的信息冗余,从而降低了模型的效果;另外图卷积神经网络的协同过滤推荐方法还未考虑节点多粒度流行度(一种重要的特征)对推荐的影响,从而也限制了模型性能的进一步提升。

发明内容

[0005] 本发明是为了解决上述现有技术存在的不足之处,提出一种基于多粒度流行度特征的轻量级图卷积协同过滤推荐方法,以期通过去除图卷积神经网络中的非线性激活函数和权重转换矩阵,以有效减少模型过拟合的影响,并且融合节点的多种粒度流行度特征,以提高不同用户对不同物品的偏好程度的区分度,从而达到更好的推荐效果和较高的精度。
[0006] 本发明为解决技术问题采用如下技术方案:
[0007] 本发明一种基于多粒度流行度特征的轻量级图卷积协同过滤推荐方法的特点是按照如下步骤进行:
[0008] 步骤1、获取用户与物品的交互数据集以及评分矩阵;利用所述评分矩阵构造邻接矩阵,再对所述邻接矩阵进行双边标准化处理,得到标准化的邻接矩阵;初始化所述交互数据集中用户的ID信息与物品的ID信息;以任一用户作为目标用户u,以任一物品作为目标物品i;从所述交互数据集中获取所述目标用户u的一阶邻居节点和目标物品i的一阶邻居节点;
[0009] 步骤2、基于轻量级图卷积协同过滤模型,分别考虑不同用户和不同物品的嵌入生成;
[0010] 步骤2.1、利用式(1)得到在流行度特征的粒度控制系数为r时来自模型第l‑1层中目标用户u的一阶邻居节点的嵌入生成
[0011]
[0012] 式(1)中,Nu表示目标用户u的邻居节点集合,Ni表示物品i的邻居节点集合(物品i是来自Nu集合中的元素),|Nu|表示目标用户u的邻居节点的数量,|Ni|表示物品i的邻居节‑0.5 ‑r点的数量,r表示用于控制流行度的超参数,|Nu| ·|Ni| 表示对聚集的邻居节点信息的双边标准化, 表示在流行度特征的粒度控制系数为r时第l‑1层物品i的嵌入表示;
[0013] 步骤2.2、利用式(2)得到在流行度特征的粒度控制系数为r时来自模型第l‑1层中目标用户u自身节点的嵌入生成
[0014]
[0015] 式(2)中, 表示在流行度特征的粒度控制系数为r时第l‑1层目标用户u的嵌入‑0.5 ‑r表示,|Nu| ·|Nu| 表示对聚集的自身节点信息的双边标准化;
[0016] 步骤2.3、利用式(3)得到在流行度特征的粒度控制系数为r时第l层目标用户u的嵌入表示
[0017]
[0018] 式(3)中,μu表示用于控制目标用户u自身节点嵌入表示权重的超参数;
[0019] 步骤2.4、利用式(4)得到在流行度特征的粒度控制系数为r时来自模型第l‑1层中目标物品i的一阶邻居节点的嵌入生成
[0020]
[0021] 式(4)中, 表示在流行度特征的粒度控制系数为r时第l‑1层用户u的嵌入表示;
[0022] 步骤2.5、利用式(5)得到在流行度特征的粒度控制系数为r时来自模型第l‑1层中目标物品i自身节点的嵌入生成
[0023]
[0024] 式(5)中, 表示在流行度特征的粒度控制系数为r时第l‑1层目标物品i的嵌入表示;
[0025] 步骤2.6、利用式(6)得到在流行度特征的粒度控制系数为r时第l层目标物品i的嵌入表示
[0026]
[0027] 式(6)中,μi表示用于控制目标物品i自身节点嵌入表示的权重的超参数;
[0028] 步骤3、使用轻量级图卷积协同过滤模型第L层输出的嵌入表示 和 分别作为目标用户u的最终嵌入表达 和目标物品i的最终嵌入表达
[0029] 利用式(7)得到在流行度特征的粒度控制系数为r时目标用户u对目标物品i的预测偏好评分 并作为模型的预测函数:
[0030]
[0031] 利用式(8)得到在不同粒度控制系数取值下目标用户u对目标物品i的最终预测评分Rui:
[0032]
[0033] 式(8)中,rj表示粒度控制系数r的第j个取值,rj∈(0,0.5], 表示流行度特征的粒度控制系数r取第j个值时目标用户u对目标物品i的预测偏好评分;
[0034] 步骤4、使用BPR loss建立如式(9)所示的流行度特征的粒度控制系数为r时模型的损失函数Lr:
[0035]
[0036] 式(9)中,M表示目标用户u,目标用户u交互过的物品以及未交互的物品的三元组,且 Nu表示目标用户u交互过的物品集合,σ(·)表示激活函数, 与 分别表示在流行度特征的粒度控制系数为r时目标用户u对交互过的物品和未交互过的物品的偏好评分,λ表示正则化系数,||·||2表示二范数正则化,Er表示在流行度特征的粒度控制系数为r时目标用户u的最终嵌入表达 和目标物品i的嵌入表示 拼接后的矩阵表示;
[0037] 利用式(10)得到在不同粒度控制系数取值下模型的最终目标函数L:
[0038]
[0039] 式(10)中,rj表示粒度控制系数r的第j个取值,rj∈(0,0.5], 表示流行度特征的粒度控制系数r取第j个值时模型的损失函数;
[0040] 步骤5、基于用户与物品的交互数据,利用Adam优化器对轻量级图卷积协同过滤模型进行训练,使得模型的目标函数L达到最小,从而得到最优参数的轻量级图卷积协同过滤模型以用于物品对用户的推荐。
[0041] 与现有技术相比,本发明的有益效果在于:
[0042] 1.本发明在模型的嵌入生成过程中将图卷积神经网络中的非线性激活函数和权重转换矩阵移除,有效减少了嵌入生成过程中过多的信息冗余问题,使得模型的性能得到有效提升。在本发明模型中使用的是用户和物品的ID属性信息作为模型的输入,这些信息和一般的特征不同,它不需要一个复杂的神经网络去学习;相反,如果仍然考虑构造一层非线性网络来处理这些ID信息,可能会引入噪声,造成模型出现过拟合的现象。通过大量的实验数据结果证明了该做法的有效性,提高了模型的推荐效果。
[0043] 2.本发明在模型的嵌入生成过程中引入了多种粒度流行度特征,能有效的区分不同用户对不同物品的偏好程度。流行度高有时候可以反映很多事实,比如,流行度高的物品,一般情况下该物品的质量挺好或者价格适中,这也是符合消费者的消费行为。但单独考虑节点的流行度特征可能不够,这样经过模型的预测会造成偏差,因此考虑将节点流行度特征融合到协同过滤信号中去,在统一的框架下进行嵌入生成,并且不是仅考虑一种粒度的流行度特征,而是考虑多种粒度的流行度特征建模,经过实验数据结果证明了这样会使得模型的性能得到进一步提升,有效提高了模型的推荐效果。

附图说明

[0044] 图1为本发明的模型结构图;
[0045] 图2为本发明的实施流程图。

具体实施方式

[0046] 本实施例中,一种基于多粒度流行度特征的轻量级图卷积协同过滤推荐方法是去除了图卷积神经网络的非线性激活函数和权重转换矩阵,并且加上了多种粒度的节点流行度的特征,克服了在节点Embedding过程中引入了过多的冗余信息问题以及在模型中不同用户对不同物品的偏好的区分度不足的弱点。本方法的模型结构图如图1所示,U和I分别表(l‑1)示的是用户和物品的ID信息的嵌入式矩阵, 表示双边标准化的邻接矩阵,G 表示在第l层中用户和物品嵌入表示拼接后的矩阵表示,在双边标准化时考虑了流行度特征的影响,设置了流行度特征的粒度控制系数p。在具体的流行度特征的粒度控制系数下,对每一个目标用户和物品分别进行L层的嵌入生成,使用目标用户和物品最后一层的嵌入表示进行内积,得到了在该流行度特征的粒度控制系数下模型的预测评分,然后根据不同的流行度特征的粒度控制系数进行上面同样的嵌入生成以及模型对目标用户和物品的预测评分,在不同的流行度特征的粒度控制系数下的预测评分相加得到了模型的最终预测评分。最后使用BPR loss损失函数作为模型的目标函数,使用Adam优化器对轻量级图卷积协同过滤模型进行训练,得到最优的参数。由于充分考虑了多粒度流行度特征的作用,使得模型有更好的推荐效果。具体的说,如图2所示,是按照如下步骤进行:
[0047] 步骤1、模型的输入:
[0048] 获取用户与物品的交互数据集以及评分矩阵;利用评分矩阵构造邻接矩阵,再对邻接矩阵进行双边标准化处理,得到标准化的邻接矩阵;初始化交互数据集中用户的ID信息与物品的ID信息;以任一用户作为目标用户u,以任一物品作为目标物品i;从交互数据集中获取目标用户u的一阶邻居节点和目标物品i的一阶邻居节点;
[0049] 步骤2、模型的Embedding生成:分别考虑不同用户以及不同物品的Embedding生成。
[0050] 对于每个用户来说,从两个方面来考虑其Embedding生成,一方面是从邻居节点(物品)的角度,其目的是考虑该用户的历史交互信息;另一方面是从用户自身节点的角度,其目的是考虑该用户的本身特性。对于目标用户u来说,这两个角度的Embedding生成的计算公式具体如下所示:
[0051] 步骤2.1、利用式(1)得到在流行度特征的粒度控制系数为r时来自模型第l‑1层中目标用户u的一阶邻居节点的嵌入生成
[0052]
[0053] 式(1)中,Nu表示目标用户u的邻居节点集合,Ni表示物品i的邻居节点集合(物品i是来自Nu集合中的元素),|Nu|表示目标用户u的邻居节点的数量,|Ni|表示物品i的邻居节‑0.5 ‑r点的数量,r表示用于控制流行度的超参数,其取值范围为(0,0.5]。|Nu| ·|Ni| 表示对聚集的邻居节点信息的双边标准化, 表示在流行度特征的粒度控制系数为r时第l‑1层物品i的嵌入表示。
[0054] 步骤2.2、利用式(2)得到在流行度特征的粒度控制系数为r时来自模型第l‑1层中目标用户u自身节点的嵌入生成
[0055]
[0056] 式(2)中, 表示在流行度特征的粒度控制系数为r时第l‑1层目标用户u的嵌入‑0.5 ‑r表示,|Nu| ·|Nu| 表示对聚集的自身节点信息的双边标准化。
[0057] 步骤2.3、考虑节点流行度的影响,设置不同流行度特征的粒度控制系数的值来实现多粒度流行度特征的建模。本实施例中,r分别取0.3,0.4,0.5三个值,对于不同流行度特征的粒度控制系数r取值,有不同的嵌入生成,分别记作
[0058] 步骤2.4、这两个方面的嵌入生成对第l层中目标用户u的嵌入表达有着不同程度的贡献,在这里考虑使用μu超参数来控制其用户自身节点嵌入生成的权重,因此有:
[0059]
[0060] 式(3)中, 表示在流行度特征的粒度控制系数为r时第l层目标用户u的嵌入表示,μu表示用于控制目标用户u自身节点嵌入表示权重的超参数。本实施例中,r分别取0.3,0.4,0.5三个值,则第l层目标用户u的嵌入表示的计算公式分别如下:
[0061]
[0062]
[0063]
[0064] 对于每个物品来说,也从两个方面考虑其嵌入生成。类似的,一方面是从物品的邻居节点(用户)的角度,考虑的是该物品被用户交互的历史信息;另一方面是从物品自身节点的角度,考虑的是该物品的内在属性。对于目标物品i来说,这两个角度的嵌入生成的计算公式具体如下所示:
[0065] 步骤2.5、利用式(7)得到在流行度特征的粒度控制系数为r时来自模型第l‑1层中目标物品i的一阶邻居节点的嵌入生成
[0066]
[0067] 式(7)中,Ni表示目标物品i的邻居节点集合,Nu表示用户u的邻居节点集合(用户u是来自Ni集合中的元素),|Ni|表示目标物品i的邻居节点的数量,|Nu|表示用户u的邻居节‑0.5 ‑r点的数量,|Ni| ·|Nu| 表示对聚集的邻居节点信息的双边标准化, 表示在流行度特征的粒度控制系数为r时第l‑1层用户u的嵌入表示。
[0068] 步骤2.6、利用式(8)得到在流行度特征的粒度控制系数为r时来自模型第l‑1层中目标物品i自身节点的嵌入生成
[0069]
[0070] 式(8)中, 表示在流行度特征的粒度控制系数为r时第l‑1层目标物品i的嵌入‑0.5 ‑r表示;|Ni| ·|Ni| 表示对聚集的自身节点信息的双边标准化。
[0071] 步骤2.7、同样的,考虑节点流行度的影响,设置不同流行度特征的粒度控制系数的值来实现多粒度流行度特征的建模。本实施例中,r分别取0.3,0.4,0.5三个值,对于不同流 行度 特 征 的 粒 度控 制 系 数 r取 值 ,有 不同 的 嵌 入 生成 ,分 别 记 作[0072] 步骤2.8、这两个方面的嵌入生成对第l层中目标物品i的嵌入表达有着不同程度的贡献,考虑使用μi超参数来控制目标物品i自身节点嵌入生成的权重,因此有,[0073]
[0074] 式(9)中, 表示在流行度特征的粒度控制系数为r时第l层目标物品i的嵌入表示,μi表示用于控制目标物品i自身节点嵌入表示权重的超参数。本实施例中,r分别取0.3,0.4,0.5三个值,则第l层目标物品i的嵌入表示的计算公式分别如下:
[0075]
[0076]
[0077]
[0078] 步骤3、模型的预测:借鉴传统的图卷积方法的思想,使用最后一层Embedding来实现各种机器学习的任务。使用轻量级图卷积协同过滤模型中第L层输出的嵌入表示 和分别作为目标用户u的最终嵌入表达 和目标物品i的最终嵌入表达
[0079] 利用式(13)得到在流行度特征的粒度控制系数为r时目标用户u对目标物品i的预测偏好评分 并作为模型的预测函数:
[0080]
[0081] 利用式(14)得到在不同粒度控制系数取值下目标用户u对目标物品i的最终预测评分Rui:
[0082]
[0083] 式(14)中,rj表示粒度控制系数r的第j个取值,rj∈(0,0.5], 表示流行度特征的粒度控制系数r取第j个值时目标用户u对目标物品i的预测偏好评分;
[0084] 本实施例中,r分别取0.3,0.4,0.5三个值,目标用户u对目标物品i的预测偏好评分分别为:
[0085]
[0086]
[0087]
[0088] 利用式(18)计算目标用户u对目标物品i的最终预测评分(模型的最终输出)Rui:
[0089]
[0090] 式(18)中, 分别为式(15),式(16),式(17)的计算结果。
[0091] 步骤4、模型的优化:使用BPR loss建立如式(19)所示的流行度特征的粒度控制系数为r时模型的损失函数Lr:
[0092]
[0093] 式(19)中,M表示目标用户u,目标用户u交互过的物品以及未交互的物品的三元组,且 Nu表示目标用户u交互过的物品集合,σ(·)表示激活函数, 与 分别表示在流行度特征的粒度控制系数为r时目标用户对交互过的物品和未交互过的物品的偏好评分,λ表示正则化系数,||·||2表示二范数正则化,Er表示在流行度特征的粒度控制系数为r时目标用户u的最终嵌入表示 和目标物品i的嵌入表示拼接后的矩阵表示;
[0094] 利用式(20)得到在不同粒度控制系数取值下模型的最终目标函数L:
[0095]
[0096] 式(20)中,rj表示粒度控制系数r的第j个取值,rj∈(0,0.5], 表示流行度特征的粒度控制系数r取第j个值时模型的损失函数;
[0097] 本实施例中,r分别取0.3,0.4,0.5三个值,模型的损失函数分别为:
[0098]
[0099]
[0100]
[0101] 利用式(24)计算模型的最终目标函数L:
[0102] L=L0.3+L0.4+L0.5      (24)
[0103] 式(24)中,L0.3,L0.4,L0.5分别为式(21),式(22),式(23)的计算结果。
[0104] 步骤5、基于用户与物品的交互数据,利用Adam优化器对轻量级图卷积协同过滤模型进行训练,使得模型的目标函数L达到最小,从而得到最优参数的轻量级图卷积协同过滤模型以用于物品对用户的推荐。
[0105] 综上所述,本方法针对已有的基于图卷积神经网络的协同过滤方法中用户和物品的嵌入过程中引入了过多的冗余信息以及未充分考虑节点流行度影响的问题,本发明能够很好的解决已有的基于图卷积神经网络的协同过滤推荐方法的不足之处,此外,还考虑了多种粒度流行度特征对模型的影响,使得模型有着更好的推荐效果。