一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

节点和元路径对比学习增强的推荐方法及系统与流程

2022-03-02 00:50:59 来源:中国专利 TAG:


1.本发明涉及机器学习领域。更具体地说,本发明涉及一种节点和元路径对比学习增强的推荐方法及系统。


背景技术:

2.近年来,推荐系统在youtube和亚马逊等在线平台上取得了巨大的成功。推荐系统的原理是利用历史记录来计算用户和项的表示。随着图神经网络(gnns)的发展(gnn是一种学习图上节点表示的技术,其可以从历史交互记录中提取用户-项目二部图),出现了许多基于gnn的推荐系统,但它们仍然面临着数据稀疏性的问题。在推荐场景中,用户-项目二部图是非常稀疏的。gnn很难在稀疏的用户-项目二部图上学习有用的节点表示,这导致基于gnn的模型遇到了性能瓶颈。对比学习作为一种属于自监督学习,其通过定义正样本和负样本,可以最大化正样本之间的相似性,并最小化正样本和负样本之间的相似性。因为对比学习可以进一步从未标记数据中挖掘信息,所以被认为是缓解数据稀疏性的有效方法。因此,许多基于gnn的推荐系统都采用了对比学习。具体来说,s3-rec作为会话推荐系统,通过dropout生成多个会话视图,然后在这些会话视图上使用对比学习。sgl通过dropout用户-项目二部图来获得一个辅助视图,然后通过多视图对比学习增强了模型的鲁棒性。通过对比学习,这些作品取得了卓越的进展。但是,它们仍然存在以下限制:(1)信息丢失。由dropout生成的视图可能会丢弃有用信息,这样会损害模型的性能。(2)对路径信息的利用率不足。


技术实现要素:

3.本发明的一个目的是提供一种节点和元路径对比学习增强的推荐方法及系统,其可以利用节点级信息和路径级信息来指导推荐模型学习节点的表示。
4.为了实现根据本发明的目的和其它优点,提供了一种节点和元路径对比学习增强的推荐方法,包括:
5.获取待推荐用户标识;
6.将所述待推荐用户标识输入到训练好的推荐模型中,获得待推荐用户的用户嵌入及与所述待推荐用户关联的项目嵌入;
7.将所述用户嵌入与所述项目嵌入相乘,获得对应项目的得分,并按照得分的高低排序,生成与该排序对应的项目推荐列表;;其中,
8.所述训练好的推荐模型是由bpr损失、基于元路径的用户侧对比损失和基于元路径的项目侧对比损失,对推荐模型进行训练得到的。
9.优选的是,所述的节点和元路径对比学习增强的推荐方法,所述训练好的推荐模型通过以下步骤得到:
10.获取所有用户与项目的历史交互记录,生成用户-项目二部图并计算中的用
户节点嵌入和项目节点嵌入根据和计算推荐模型的bpr损失
11.对所述用户-项目二部图进行元路径提取,生成用户元路径视图和项目元路径视图
12.将所述用户节点嵌入和所述用户元路径视图输入元路径视图编码器中,获取所述用户元路径视图上的节点嵌入将和投影到同一向量空间中,计算用户侧对比损失
13.将所述项目节点嵌入和所述项目元路径视图输入元路径视图编码器中,获取所述项目元路径视图上的节点嵌入将和投影到同一向量空间中,计算项目侧对比损失
14.根据所述bpr损失用户侧对比损失和项目侧对比损失计算推荐模型的整体损失用对推荐模型进行训练,直至小于预设阈值,即得训练好的推荐模型。
15.优选的是,所述的节点和元路径对比学习增强的推荐方法,将所述用户节点嵌入和所述用户元路径视图输入元路径视图编码器中,获取所述用户元路径视图上的节点嵌入将和役影到同一向量空间中,计算用户侧对比损失具体为:
16.定义:
[0017][0018]
式中,是节点i在上的一组相邻节点,di和di′
分别是节点i和i

的度,是节点i的邻域节点i

的用户节点嵌入
[0019]
根据所述用户元路径视图生成列表su,式中,表示节点i与中的第n个相邻节点i

的共同交互项目的个数;
[0020]
将列表su按降序排序,生成列表su

,设置一个超参数t
posu
,如果|su

|>t
posu
,我们从su

中选择第一个t
posu
节点作为节点i的正样本,否则将su

中的所有节点视为正样本,并将节点i的正样本节点集标记为将节点i的负样本节点集标记为
[0021]
使用相同的非线性变换将和投影到同一向量空间中,其中,
[0022][0023][0024]
式中,w是权重矩阵,b是常数,是投影后的节点嵌入,是投影后的节点嵌入;
[0025]
以用户-项目二部图为主体计算对比损失以用户元路径视图为主体计算对比损失其中,
[0026][0027][0028]
式中,τ是温度参数;
[0029]
计算用户侧对比损失
[0030][0031]
式中,λ是系数,i是用户集合,|i|为用户数量。
[0032]
优选的是,所述的节点和元路径对比学习增强的推荐方法,将所述项目节点嵌入和所述项目元路径视图输入元路径视图编码器中,获取所述项目元路径视图上的节点嵌入将和投影到同一向量空间中,计算项目侧对比损失具体为:
[0033]
定义:
[0034][0035]
式中,是节点j在上的一组相邻节点,dj和dj′
分别是节点j和j

的度,是节点j的邻域节点j

的项目节点嵌入;
[0036]
根据所述用户元路径视图生成列表sv,式中,表示节点j与中的第n个相邻节点j

的共同交互用户的个数;
[0037]
将列表sv按降序排序,生成列表sv

,设置一个超参数t
posv
,如果|sv

|>t
posv
,我们从sv

中选择第一个t
posv
节点作为节点j的正样本,否则对sv

中的所有节点视为正样本,并将节点j的正样本节点集标记为将节点i的负样本节点集标记为
[0038]
使用相同的非线性变换将和投影到同一向量空间中,其中,
[0039][0040][0041]
式中,w是权重矩阵,b是常数,是投影后的节点嵌入,是投影后的节点嵌入;
[0042]
以用户-项目二部图为主体计算对比损失以项目元路径视图为主体计算对比损失其中,
[0043][0044][0045]
式中,τ是温度参数;
[0046]
计算项目侧对比损失
[0047][0048]
式中,λ是系数,j是项目集合,|j|为项目数量。
[0049]
优选的是,所述的节点和元路径对比学习增强的推荐方法,根据所述bpr损失用户侧对比损失和项目侧对比损失计算推荐模型的整体损失具体为:
[0050]
计算推荐模型整体的对比损失
[0051][0052]
式中,w
user
和w
item
是超参数,其分别控制了对用户侧对比损失和对项目侧对比损失的影响;
[0053]
计算推荐模型的整体损失计算推荐模型的整体损失
[0054]
优选的是,所述的节点和元路径对比学习增强的推荐方法,所述推荐模型包括lightgcn、ngcf、neumf中的一种。
[0055]
优选的是,所述的节点和元路径对比学习增强的推荐方法及装置,所述元路径视图编码器包括gnn、gcn、gat中的一种。
[0056]
本发明还提供了一种节点和元路径对比学习增强的推荐系统,包括:
[0057]
获取模块,其用于获取待推荐用户与项目的历史交互记录一;
[0058]
推荐模块,其用于将所述历史交互记录一输入训练好的推荐模型中,得到待推荐用户的推荐项目;其中,
[0059]
所述训练好的推荐模型是由bpr损失、基于元路径的用户侧对比损失和基于元路径的项目侧对比损失,对推荐模型进行训练得到的。
[0060]
本发明还提供了一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述的方法。
[0061]
本发明还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时,
实现上述的方法。
[0062]
本发明至少包括以下有益效果:
[0063]
本发明提供了一种节点和元路径对比学习增强的推荐方法和系统,它可以利用节点级信息和路径级信息来指导推荐模型学习节点的表示,使训练好的推荐模型可以学习到包含节点级信息和路径级信息的节点表示,进而使得训练好的推荐模型输出的推荐项目更符合用户需求。具体来说,首先通过利用元路径而不是随机dropout,对用户-项目二部图生成一个元路径视图,这样,元路径视图在存储大量路径级信息时不会丢失信息,元路径视图和用户-项目二部图,可以从不同的角度来描述节点表示。其次,利用gnns捕获节点级信息和路径级信息,学习交互视图和元路径视图上的节点表示。再次,引入了多正样本机制,使对比学习更适合推荐任务,该方法可以为当前节点定义多个正样本,而不是仅定义一个正样本。最后,再把计算正样本和负样本之间的对比损失作为辅助任务,以指导模型学习具有更多路径级信息的节点表示。
[0064]
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
[0065]
图1是本发明的npcrs模型的结构示意图;
[0066]
图2是本发明从交互视图中提取元路径视图的示意图。
具体实施方式
[0067]
下面结合实施例和附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
[0068]
应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不排除一个或多个其它元件或其组合的存在或添加。
[0069]
术语解释:
[0070]
lightgcn:simplifying and powering graph convolution network for recommendation,用于推荐的轻量化的图卷积神经网络;
[0071]
ngcf:neural graph collaborative filtering,图神经协同过滤;
[0072]
neumf:neural collaborative filtering,基于神经网络的协同过滤;
[0073]
gcn:图卷积网络;
[0074]
gat:图注意力网络。
[0075]
本发明提供了一种节点和元路径对比学习增强的推荐方法,包括:
[0076]
s101、获取待推荐用户标识,如用户id、用户名称;
[0077]
s102、将所述待推荐用户标识输入到训练好的推荐模型中,获得待推荐用户的用户嵌入(这里,嵌入可以理解为向量表示,下同)及与所述待推荐用户关联的项目嵌入;
[0078]
将所述用户嵌入与所述项目嵌入相乘,获得对应项目的得分,得分越高表示用户对该项目的感兴趣程度越高,并按照得分的高低排序,生成与该排序对应的项目推荐列表,进一步的,可取排在前预设位数的得分,如前10位的得分,再按照得分的高低,生成与得分对应的项目推荐列表;;其中,
[0079]
所述训练好的推荐模型是由bpr损失、基于元路径的用户侧对比损失和基于元路径的项目侧对比损失,对推荐模型进行训练得到的。
[0080]
本发明通过bpr损失、基于元路径的用户侧对比损失和基于元路径的项目侧对比损失,对推荐模型进行训练,使训练好的推荐模型可以学习到包含节点级信息和路径级信息的节点表示,进而使得训练好的推荐模型输出的推荐项目更符合用户需求。
[0081]
在另一实施方案中,如图1所示,所述训练好的推荐模型(命名为npcrs模型)通过以下步骤得到:
[0082]
s201、获取所有用户与项目的历史交互记录,生成用户-项目二部图并计算中的用户节点嵌入和项目节点嵌入根据和计算推荐模型的bpr损失所述推荐模型包括lightgcn、ngcf、neumf中的一种;具体的:
[0083]
令用户表示为i={i1,i2,...,in}(|i|=n),项目分别表示为j={j1,j2,...,jm}(|j|=m)。用户和项目之间的交互历史可以表示为矩阵r
ij
=1表示用户i和项目j存在交互记录,否则表示为r
ij
=0。设o ={r
ij
|i∈i,j∈j}是观察到的交互。利用矩阵可以得到一个用户-项目二部图其中是所有节点的集合,εr=o

表示观察到的交互。和是邻居节点集。包括用户i交互过的所有项目节点。包括与项目j交互过的所有用户节点。
[0084]
为简单起见,这里,使用lightgcn作为推荐模型,进行举例说明:
[0085]
计算用户和项目的表示形式:在lightgcn中嵌入的计算定义如下:
[0086][0087][0088]
在这里,ei和ej分别是用户嵌入和项目嵌入。k是gcn的层数。是对称归一化项,它可以避免在图卷积操作过程中嵌入规模的增大。值得注意的是,lightgcn不使用非线性激活函数和特征转换。通过k层的gcn后,通过以下方法得到最终的嵌入:
[0089][0090]
αk≥0度量了k层嵌入的重要性。在实际应用中,设置αk=1/(k 1)。
[0091]
训练和预测:在获得用户和项目的最终嵌入后,通过用户和项目的嵌入相乘来获得预测分数:
[0092]
[0093]
是反映用户对该项目的兴趣程度的得分,分数越高表示用户对该项目越感兴趣。
[0094]
lightgcn采用贝叶斯个性化排序(bpr)损失来学习参数。bpr损失是一种成对的损失,促进观察到的条目的排名高于未观察的对应:
[0095][0096]
其中,λ为l2正则化系数,θ为模型的参数
[0097]
s202、对所述用户-项目二部图进行元路径提取,生成用户元路径视图和项目元路径视图具体的:
[0098]
元路径p定义为(缩写为a1a2...a
l 1
)形式的路径,描述节点a1和a
l 1
之间组合关系其中表示关系上的组合运算符。如图2所示,用户-项目交互图有两个元路径,iji和jij。iji表示与同一项目交互过的两个用户。jij表示用户交互的两个项目。通过元路径,可以很容易地捕获路径级信息。
[0099]
s203、将所述用户节点嵌入和所述用户元路径视图输入元路径视图编码器中,获取所述用户元路径视图上的节点嵌入将和投影到同一向量空间中,计算用户侧对比损失所述元路径视图编码器包括gnn、gcn、gat中的一种,这里,以gnn进行举例说明;具体的:
[0100]
定义:
[0101][0102]
式中,是节点i在上的一组相邻节点,di和di′
分别是节点i和i

的度,是节点i的邻域节点i

的用户节点嵌入。元路径视图上的聚合使节点嵌入能够了解有关路径级别的信息。因此,比捕获更多的高阶信息。
[0103]
根据所述用户元路径视图生成列表su,式中,表示节点i与中的第n个相邻节点i

的共同交互项目的个数;
[0104]
将列表su按降序排序,生成列表su

,设置一个超参数t
posu
,如果|su

|>t
posu
,我们从su

中选择第一个t
posu
节点作为节点i的正样本,否则将su

中的所有节点视为正样本,并将节点i的正样本节点集标记为将节点i的负样本节点集标记为这里,每个节点都有多个正样本,而不是一个,但在之前的对比学习工作中,都只考虑了一对正样本。例如,simclr只将原始图片和裁剪后的图片作为正样本。在推荐系统场景中,可能会有许多用户具有相似的兴趣。如果只使用一对正值,模型将很难学习有用的信息,从而导致模型性能受损。因此,使用多对正值更符合推荐任务的背景。
[0105]
使用相同的非线性变换将和投影到同一向量空间中,其中,
[0106][0107][0108]
式中,w是权重矩阵,b是常数,是投影后的节点嵌入,是投影后的节点嵌入;这里,可使用一个两层的mlp实来现,其中激活函数选择了elu。
[0109]
以用户-项目二部图为主体计算对比损失以用户元路径视图为主体计算对比损失其中,
[0110][0111][0112]
式中,τ是温度参数;
[0113]
计算用户侧对比损失
[0114][0115]
式中,λ是系数,i是用户集合,|i|为用户数量。
[0116]
s204、将所述项目节点嵌入和所述项目元路径视图输入元路径视图编码器中,获取所述项目元路径视图上的节点嵌入将和投影到同一向量空间中,计算项目侧对比损失这里,仍以gnn进行举例说明,具体为:
[0117]
定义:
[0118][0119]
式中,是节点j在上的一组相邻节点,dj和dj′
分别是节点j和j

的度,是节点j的邻域节点j

的项目节点嵌入;
[0120]
根据所述用户元路径视图生成列表sv,式中,表示节点j与中的第n个相邻节点j

的共同交互用户的个数;
[0121]
将列表sv按降序排序,生成列表sv

,设置一个超参数t
posv
,如果|sv

|>t
posv
,我们从sv

中选择第一个t
posv
节点作为节点j的正样本,否则对sv

中的所有节点视为正样本,并将节点j的正样本节点集标记为将节点i的负样本节点集标记为
[0122]
使用相同的非线性变换将和投影到同一向量空间中,其中,
[0123][0124][0125]
式中,w是权重矩阵,b是常数,是投影后的节点嵌入,是投影后的节点嵌入;
[0126]
以用户-项目二部图为主体计算对比损失以项目元路径视图为主体计算对比损失其中,
[0127][0128][0129]
式中,τ是温度参数;
[0130]
计算项目侧对比损失
[0131][0132]
式中,λ是系数,j是项目集合,|j|为项目数量。
[0133]
s205、根据所述bpr损失用户侧对比损失和项目侧对比损失计算推荐模型的整体损失用对推荐模型进行训练,直至小于预设阈值,即得训练好的推荐模型;具体的:
[0134]
计算推荐模型整体的对比损失
[0135][0136]
式中,w
user
和w
item
是超参数,其分别控制了对用户侧对比损失和对项目侧对比损失的影响;
[0137]
计算推荐模型的整体损失计算推荐模型的整体损失
[0138]
采用替换式1中的来学习lightgcn的参数,直至小于预设阈值,即得训练好的推荐模型。
[0139]
本发明还提供了一种节点和元路径对比学习增强的推荐系统,包括:
[0140]
获取模块,其用于获取待推荐用户与项目的历史交互记录一;
[0141]
推荐模块,其用于将所述历史交互记录一输入训练好的推荐模型中,得到待推荐
用户的推荐项目;其中,
[0142]
所述训练好的推荐模型是由bpr损失、基于元路径的用户侧对比损失和基于元路径的项目侧对比损失,对推荐模型进行训练得到的。
[0143]
本技术方案基于与节点和元路径对比学习增强的推荐方法相同的发明构思,理解本技术方案可参见推荐方法部分的描述。
[0144]
本发明还提供了一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述的方法。
[0145]
本技术方案基于与节点和元路径对比学习增强的推荐方法相同的发明构思得到,可参考推荐方法部分的描述。本技术方案的电子设备不限于pc、终端、服务器。
[0146]
本发明还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时,实现上述的方法。
[0147]
本技术方案基于与节点和元路径对比学习增强的推荐方法相同的发明构思得到,可参考推荐方法部分的描述,以使本发明的推荐方法可以以软件产品的形式体现出来。
[0148]
以下,以3个真实世界的数据集,如表1所示,来评估本发明的npcrs模型的有益效果,结果见表2。由表2可知,本发明的模型显著地优于现有模型。
[0149]
表1
[0150][0151]
表2
[0152][0153]
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献