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

一种基于排序对比损失的推荐方法、系统、介质及设备

2023-02-04 10:56:17 来源:中国专利 TAG:


1.本发明属于推荐系统技术领域,具体涉及一种基于排序对比损失的推荐方法、系统、介质及设备。


背景技术:

2.近年来,推荐系统已经被广泛应用于新闻、广告、电子商务、社交网络、娱乐等多个领域。它们已经成为大数据时代的基础技术和重要研究领域。它基于用户的历史交互记录(点击、评分、评论、转发、点赞、购买等),为用户(user) 推荐可能喜欢的信息、产品、服务等(统称为项目,item)。基于深度学习的推荐算法已经成为研究的主流,最近被广泛关注的图卷积网络(gcn)、对比学习方法也成为推荐算法研究的热点。top-k推荐是推荐系统的基本任务之一,它根据用户和商品之间的相似性来生成一个最可能喜欢的k个项目的推荐列表。最常用的损失函数是贝叶斯个性化排名(bpr)损失,其目的是最大化正、负例之间的距离。交叉熵损失(cross entropy,ce)将top-k推荐作为一个分类问题,在一些情况下使用。对比损失(cl)广泛应用于对比学习中,发现它非常适合于推荐系统,为推荐系统损失函数提供了新的选择。
3.但是cl损失函数在推荐系统中并没有考虑以下两个问题:
4.(1)所有样本的权重都是相同的,并且困难样本和简单样本之间没有区别。然而,困难样本挖掘对于改进推荐系统具有重要意义。
5.(2)所有非正样本都被认为是负样本,但那些与用户有很大相似性的样本可能是潜在的正样本。挖掘这些潜在正样本可以解决正样本不足和数据稀疏的问题,有助于提高性能。
6.这两个问题都与推荐系统中负样本的处理有关。在推荐系统中如何看待和处理负样本是一个重要的问题。一般来说,用户与之互动的物品都被视为正样本,也就是所谓的“观察到的”正样本。没有互动的物品被简单地视为负样本是不合理的,它们被看做是“未标记的数据”,其中也包含用户可能喜欢的物品。推荐系统的主要目标是从没有与用户进行过交互的项目(负样本)中检索和排序,并推荐用户可能喜欢的项目。因此,通过对负样本的合理处理,可以有效地提高推荐系统的性能,这在现有的工作中得到了证明。现有的困难样本挖掘方法常使用复杂的模型(如gan,强化学习)以及额外的辅助信息,这些造成了此类方法的复杂性、应用的局限性、场景的适应性问题。潜在正样本的挖掘则是一个很少关注的话题。


技术实现要素:

7.本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于排序对比损失的推荐方法、系统、介质及设备,用于解决cl损失函数没有区分样本学习难度及挖掘困难样本,以及推荐系统缺少正样本和稀疏性问题的技术问题。
8.本发明采用以下技术方案:
9.一种基于排序对比损失的推荐方法,包括以下步骤:
10.s1、对用户的交互记录数据进行预处理,将用户、项目分别作为图的节点,用户和交互过的项目建立一条边,得到用户-项目图g;
11.s2、利用步骤s1得到的用户-项目图g,通过深度学习推荐模型plighgcn 得到用户和物品的特征表达eu和ei;
12.s3、利用步骤s2得到用户和物品的特征表达eu和ei计算用户与样本的相似度,根据相似度得到按行排序后的相似度矩阵;
13.s4、基于步骤s3得到的相似度矩阵挖掘困难样本和潜在正例,利用困难样本和潜在正例改进对比损失得到排序对比损失函数l
rcl
,利用排序对比损失函数l
rcl
对深度学习推荐模型plighgcn进行训练,得到推荐模型用于实现推荐任务。
14.具体的,步骤s2中,用户和物品的特征表达eu和ei具体为:
[0015][0016][0017]
其中,αk是每层的权重参数,k是层的最大数量,分别是第k层特征变换后的u,i的特征向量。
[0018]
具体的,步骤s3中,计算用户与样本的相似度sim(u,i)并得到按行排序后的相似度矩阵,具体为:
[0019][0020]
其中,eu,ei是用户和项目的特征表达,u,i分别为用户和项目。
[0021]
具体的,步骤s4具体为:
[0022]
s401、挖掘步骤s3中排序后的相似度矩阵,得到的困难样本并得到加权对比损失函数l
wcl

[0023]
s402、挖掘步骤s3中排序后的相似度矩阵,并构造得到基于潜在正例的对比损失函数l
pcl

[0024]
s403、结合步骤s401得到的加权对比损失函数l
wcl
和步骤s402得到的潜在正例的对比损失函数l
pcl
确定排序对比损失函数l
rcl

[0025]
s404、根据步骤s403得到的排序对比损失函数l
rcl
,完成对plightgcn 的训练,依据u和各个项目的相似度结果推荐最相似的k个项目给用户u,完成推荐任务。
[0026]
进一步的,步骤s401中,加权对比损失函数l
wcl
为:
[0027][0028]
其中,n为训练批次大小,u,i分别为用户和项目,eu,ei是用户和项目的特征表达,g为u,i构成的交互图,i-为负样本集合,g是转换函数,γ是超参数,τ是温度系数。
[0029]
进一步的,步骤s402中,基于潜在正例的对比损失函数l
pcl
为:
[0030][0031]
其中,λ为超参数,n为训练批次大小,u,i分别为用户和项目,g为 u,i构成的交互图,i-为负样本集合,t为挖掘的潜在正例的集合,i

和j分别为正例和挖掘的潜在正例,τ为温度系数,sim(u,i)为用户u、项目i的潜向量eu、 ei的余弦相似度。
[0032]
进一步的,步骤s403中,排序对比损失函数l
rcl
为:
[0033][0034]
其中,λ为超参数,n为训练批次大小,u,i分别为用户和项目, g为u,i构成的交互图,i-为负样本集合,t为挖掘的潜在正例的集合,i

和j分别为正例和挖掘的潜在正例,t为相似度最高的j物品集合。
[0035]
第二方面,本发明实施例提供了一种基于排序对比损失的推荐系统,包括:
[0036]
预处理模块,对用户的交互记录数据进行预处理,将用户、项目分别作为图的节点,用户和交互过的项目建立一条边,得到用户-项目图g;
[0037]
表征模块,利用预处理模块得到的用户-项目图g,通过深度学习推荐模型得到用户和物品的特征表达eu和ei;
[0038]
排序模块,利用表征模块得到用户和物品的特征表达eu和ei计算用户与样本的相似度,根据相似度得到按行排序后的相似度矩阵;
[0039]
推荐模块,基于排序模块得到的相似度矩阵挖掘困难样本和潜在正例,利用困难样本和潜在正例改进对比损失得到排序对比损失函数l
rcl
,利用排序对比损失函数l
rcl
对深度学习推荐模型plighgcn进行训练,得到推荐模型用于实现推荐任务。
[0040]
第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于排序对比损失的推荐方法的步骤。
[0041]
第四方面,本发明实施例提供了一种计算机可读存储介质,包括计算机程序,所述计算机程序被处理器执行时实现上述基于排序对比损失的推荐方法的步骤。
[0042]
与现有技术相比,本发明至少具有以下有益效果:
[0043]
本发明一种基于排序对比损失的推荐方法,基于训练批次内用户和项目相似度排序,简单有效地挖掘了困难样本和挖掘潜在正例,并结合对比损失函数提出了基于排序的对比损失函数l
rcl
,将对比损失和推荐系统的困难样本挖掘、潜在正例挖掘结合和改进,结合现有图卷积模型plightgcn,形成先进的推荐方法,使模型自适应地更加关注和学习困难样本,且有助于缓解正样本不足和稀疏性问题。
[0044]
进一步的,用户和物品的特征表达eu和ei便于深度学习模型和方法学习到用户和项目更高质量的潜在特征。
[0045]
进一步的,基于排序后的相似度矩阵发现了用户正样本并不是排在最前边,进而
便于后续简单有效地实现了困难样本挖掘和潜在正例的挖掘,是后续改进和利用的基础。矩阵运算也有利于gpu进行加速训练。
[0046]
进一步的,步骤s4分步骤挖掘、使用了困难样本和潜在正例,提出了基于 cl的两个改进l
wcl
和l
pcl
,并结合形成了l
rcl
函数,从不同角度进行了样本挖掘,而结合cl进行损失函数改进的方式,简单、直观、有效、有普适性。
[0047]
进一步的,基于排序的相似度矩阵,区分了困难样本和简单样本,显式地挖掘困难样本。基于相似度值的变换和加权形成了加权对比损失函数l
wcl
,它能自适应地调整样本的权重,使训练过程更加注重困难样本的学习,提升模型效果。
[0048]
进一步的,基于排序的相似度矩阵,挖掘到潜在正例作为正例使用,有助于缓解稀疏性问题,结合cl直接利用这些潜在正例形成了基于潜在正例的对比损失函数l
pcl
,等价于训练中使用了更多的正样本,提升模型效果。
[0049]
进一步的,困难样本不容易学习,是从学习难度和样本学习的质量考虑;潜在正例的挖掘利用是从可学习的正样本数量考虑。因此,二者结合起来共同发挥作用,排序对比损失函数l
rcl
结合了上述两点改进可以取得更优的效果。此外,基于l
wcl
的加权学习利于获得更好的排序质量,提升了最前面的样本即潜在正例的质量。
[0050]
可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
[0051]
综上所述,本发明使用基于排序的困难样本挖掘及损失函数加权、潜在正例挖掘及损失函数应用,以及二者的结合形成排序对比损失函数和推荐方法,显著提升了推荐性能。
[0052]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0053]
图1为本发明方法流程图;
[0054]
图2为用户和样本相似度排序结果示意图;
[0055]
图3为rcl与其他方法训练效率的对比图,其中,(a)为yelp数据集上的练效率的对比图,(b)为amazon-book数据集上的练效率的对比图;
[0056]
图4为本发明图卷积每层重要性定量表示图,其中,(a)为基于yelp数据集的图卷积每层重要性定量表示结果,(b)为基于amazon-book数据集的图卷积每层重要性定量表示结果;
[0057]
图5是本发明一实施例提供的计算机设备的示意图。
具体实施方式
[0058]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0059]
在本发明的描述中,需要理解的是,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元
素、组件和/或其集合的存在或添加。
[0060]
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0061]
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合,例如,a和/或b,可以为:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本发明中字符“/”,一般为前后关联对象是一种“或”的关系。
[0062]
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述预设范围等,但这些预设范围不应限于这些术语。这些术语仅用来将预设范围彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一预设范围也可以被称为第二预设范围,类似地,第二预设范围也可以被称为第一预设范围。
[0063]
取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
[0064]
在附图中示出了根据本发明公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/ 层。
[0065]
本发明提供了一种基于排序对比损失的推荐方法,基于训练批次内用户和项目相似度排序,简单有效地挖掘了困难样本和挖掘潜在正例,并结合对比损失函数提出了基于排序的对比损失函数(rcl)和推荐方法。本发明提出的方法使模型自适应地更加关注和学习困难样本,且有助于缓解正样本不足和稀疏性问题。实验证明本发明方法先进的性能、广泛的适用性和较高的训练效率。
[0066]
top-k推荐的常用损失函数bpr,以及对比学习领域常用的损失函数对比损失(contrastive loss,cl)。
[0067]
bpr损失为:
[0068][0069]
其中,d={(u,i,j),u∈u,i,j∈i},u,i是用户和项的集合,i,j分别为正项和负项;σ是sigmoid函数;是用户和商品的内积。
[0070]
对比损失函数有多种来源和近似的形式,都可以应用本发明的改进方法;本发明使用的一种形式为:
[0071]
[0072][0073]
其中,sim(u,i)是基于用户u、项目i的潜向量eu、ei的余弦相似度,g为u,i构成的交互图;i

为目标用户u的正样本,i-为负样本集合,n为训练批次大小。遵循对比学习中使用的抽样策略,即对用户u,除正样本i

外,同一训练批次中其他n-1项被视为负样本。
[0074]
请参阅图1,本发明一种基于排序对比损失的推荐方法,将lightgcn改进为plightgcn并作为基线方法,包括以下步骤:
[0075]
s1、数据预处理得到用户-项目图;
[0076]
收集用户的交互记录,如评分、评论、点赞、转发等。一般地,将用户的交互记录数据转换为隐式交互记录(0代表未交互,1代表交互过)或者图数据 (有交互记录则图中存在边或者连接)。此处将其转换得到用户-项目图g。
[0077]
s2、通过深度学习推荐模型得到用户和物品的特征表达eu和ei;
[0078]
按照深度学习推荐模型的主流做法,首先创建用户和项目的潜向量,作为用户和项目的特征表达,其中,d是潜向量维度,潜向量的不同维度为推荐系统中用户或项目的不同特征或偏好。为了和后续表达一致,上标 0代表初始的潜向量层。
[0079]
选择了图卷积领域最先进的方法lightgcn作为的基本方法,并改进为 plightgcn。根据交互图g,用户和物品的潜向量由以下gcn获得:
[0080][0081][0082]
其中,u,i分别为用户和项目,分别是第k层特征变换后的u,i的特征向量,一般设置它们具有相同的维度d,k=0为初始化的潜向量,和分别为图中节点u,i的邻居的集合。
[0083]
用户和物品的最终特征向量计算如下:
[0084][0085][0086]
其中,αk是每层的权重参数,k是层的最大数量。
[0087]
在lightgcn中,αk参数被简单设置为1/(k 1),做出改进:将αk作为可学习的参数,并在训练过程中自动优化和学习,这种改进的方法被命名为 plightgcn。
[0088]
s3、计算用户与样本的相似度并得到按行排序后的相似度矩阵;
[0089]
根据前述公式si m(u,i),在一个训练批次内(batch)n个用户及n个项目计算相似度得到n*n的相似度矩阵。矩阵的每行代表了某一个用户和所有项目的相似度,包含1个正样本和n-1个负样本。
[0090]
每行按照相似度大小从高到底排序,得到排序后的相似度矩阵。发现许多负样本出现在正样本之前,如图2所示。图2中第k行中ok是ik的正样本,在排序结果中它一般都不是最相似的。
[0091]
s4、挖掘困难样本和潜在正例并形成排序对比损失rcl,对plightgcn模型进行训练和推荐。
[0092]
s401、挖掘困难样本并得到加权对比损失函数l
wcl

[0093]
s4011、困难样本挖掘
[0094]
从图2中排序结果来分析,排在正样本前边的样本与用户有更高的相似度,所以他们被认为是困难样本。正样本之后的样本学习难度低被看做简单样本。这样就区分出了困难样本和简单样本。
[0095]
s4012、基于学习难度的加权
[0096]
对于负样本,相似度越大,学习难度越大;相似度越低,越容易学习。因此,相似度与学习难度成正比,并被用作权重。困难样本的权重更大,简单样本权重相对变小,使得模型在训练时更加注重困难样本的学习,因而能够得到更好效果。由于正样本通常具有较高的相似度,通过相似度加权也可以促进它们的学习。因此,统一根据样本的相似性对所有样本进行加权。
[0097]
加权后的损失函数为:
[0098]
f(u,i)=(g(sim(u,i)))
γ
exp(sim(u,i))/τ)
[0099][0100]
其中,函数g将余弦相似度值转换为正值,可以是softplus,softmax和 sigmoid等函数,本例中选用softplus;γ是一个正的超参数,如1,2,3等,它有助于在训练时调整样本的权重。
[0101]
s402、挖掘并构造得到基于潜在正例的对比损失函数l
pcl

[0102]
s4021、潜在正例挖掘
[0103]
从图2中排序结果中排名最靠前的几个项目被挖掘为潜在的正样本。推荐系统的目的是为用户选择最喜欢的商品,排名靠前的物品与用户非常相似,它们大概率是用户感兴趣但未交互的项目。排名越高,项目被推荐的概率就越高。将排名最高的|t|个人项目挖掘出来做为正样本,称为潜在正例或潜在正样本。
[0104]
s4022、基于cl的潜在正例应用
[0105]
推荐系统中正样本相对稀少,因而存在稀疏性问题。挖掘更多的正样本可以缓解稀疏性问题,提升推荐性能。挖掘到潜在正例后,它们可以直接按照正样本在cl中使用,因此,仿照cl,仅改变分子得到以下仅使用潜在正例的公式:
[0106][0107]
其中,t为被挖掘处理的潜在正例j的集合,一般地,前|t|个最相似的样本被使用,数量|t|是一个超参数。
[0108]
作为改进,潜在正例可以作为附加项使用;因此,将l
p
与原始cl函数合并为l
pcl
如下:
[0109][0110]
其中,λ为超参数,用于衡量l
p
的贡献。
[0111]
s403、结合困难样本和潜在正例挖掘得到排序对比损失函数l
rcl

[0112]
上述两个样本挖掘和损失函数是可以并行、分开的;鉴于二者从不同的角度进行挖掘,可以相互补充,因而将步骤s401和步骤s402两个改进相结合形成排序对比损失函数l
rcl
,此时等价于先后计算l
wcl
、l
pcl

[0113]
排序对比损失函数l
rcl
为:
[0114][0115]
s404、使用l
rcl
进行模型训练和推荐。
[0116]
使用l
rcl
完成对plightgcn的训练,得到用户和项目特征表达eu和ei的最终结果。
[0117]
推荐阶段,用户u和项目i的相似度为u,i最终特征表达的内积:
[0118][0119]
依据u和各个项目的相似度结果,推荐最相似的k个项目给用户u,进而完成推荐任务。
[0120]
本发明再一个实施例中,提供一种基于排序对比损失的推荐系统,该系统能够用于实现上述基于排序对比损失的推荐方法,具体的,该基于排序对比损失的推荐系统包括预处理模块、表征模块、排序模块以及推荐模块。
[0121]
其中,预处理模块,对用户的交互记录数据进行预处理,得到用户-项目图 g;
[0122]
表征模块,通过深度学习推荐模型得到用户和物品的特征表达eu和ei;
[0123]
排序模块,利用表征模块得到用户和物品的特征表达eu和ei计算用户与样本的相似度,根据相似度得到按行排序后的相似度矩阵;
[0124]
推荐模块,基于排序对比损失函数l
rcl
对模型进行训练,得到模型,。
[0125]
本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储
器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor、dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于基于排序对比损失的推荐方法的操作,包括:
[0126]
对用户的交互记录数据进行预处理,将用户、项目分别作为图的节点,用户和交互过的项目建立一条边,得到用户-项目图g;利用用户-项目图g,通过深度学习推荐模型plighgcn得到用户和物品的特征表达eu和ei;利用用户和物品的特征表达eu和ei计算用户与样本的相似度,根据相似度得到按行排序后的相似度矩阵;基于相似度矩阵挖掘困难样本和潜在正例,利用困难样本和潜在正例改进对比损失得到排序对比损失函数l
rcl
,利用排序对比损失函数l
rcl
对深度学习推荐模型plighgcn进行训练,得到推荐模型用于实现推荐任务。
[0127]
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。
[0128]
可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关基于排序对比损失的推荐方法的相应步骤;计算机可读存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:
[0129]
对用户的交互记录数据进行预处理,将用户、项目分别作为图的节点,用户和交互过的项目建立一条边,得到用户-项目图g;利用用户-项目图g,通过深度学习推荐模型plighgcn得到用户和物品的特征表达eu和ei;利用用户和物品的特征表达eu和ei计算用户与样本的相似度,根据相似度得到按行排序后的相似度矩阵;基于相似度矩阵挖掘困难样本和潜在正例,利用困难样本和潜在正例改进对比损失得到排序对比损失函数l
rcl
,利用排序对比损失函数l
rcl
对深度学习推荐模型plighgcn进行训练,得到推荐模型用于实现推荐任务。
[0130]
请参阅图5,该实施例的计算机设备60包括:处理器61、存储器62以及存储在存储器62中并可在处理器61上运行的计算机程序63,该计算机程序63被处理器61执行时实现实施例中的基于排序对比损失的推荐方法,为避免重复,此处不一一赘述。或者,该计算机程序63被处理器61执行时实现实施例基于排序对比损失的推荐系统中各模型/单元的功能,为避免重复,此处不一一赘述。
[0131]
计算机设备60可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。
计算机设备60可包括,但不仅限于,处理器61、存储器62。本领域技术人员可以理解,图5仅仅是计算机设备60的示例,并不构成对计算机设备 60的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
[0132]
所称处理器61可以是中央处理单元(central processing unit,cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列 (field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0133]
存储器62可以是计算机设备60的内部存储单元,例如计算机设备60的硬盘或内存。存储器62也可以是计算机设备60的外部存储设备,例如计算机设备60上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
[0134]
进一步地,存储器62还可以既包括计算机设备60的内部存储单元也包括外部存储设备。存储器62用于存储计算机程序以及计算机设备所需的其它程序和数据。存储器62还可以用于暂时地存储已经输出或者将要输出的数据。
[0135]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中的描述和所示的本发明实施例的组件可以通过各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅为本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0136]
本发明方法在yelp2018,amazon-book和pinterest三个常用的基准数据集上进行实验,评估指标是recall@20和ndcg@20.对比方法分为两类。一是主流的top-k推荐方法。mf、ngcf、lr-gccf和lightgcn,后三者是最近基于gcn的强有竞争力的方法。二是基于损失函数的方法。这里采nncf和 enmf。
[0137]
本发明方法相对于传统bpr损失显著提升了效果,各个改进点(挖掘困难样本加权的wcl、挖掘潜在正例的pcl)都有明确的性能提升。适应于不同的深度学习推荐模型。此外,rcl函数有较高的训练效率,本发明方法也给出了图卷积领域不同层重要性的定量数值,具体如下:
[0138]
比较结果如表1所示。
[0139]
表1方法对比实验结果
[0140]
[0141][0142]
分步骤地进行了消融分析,验证了cl及改进的wcl、pcl、rcl相对于 bpr的有效性,结果如表2所示。特别地,plightgcn是本发明对lightgcn 的改进,它在原有损失函数下表现更差,而在cl及wcl、pcl、rcl性能更优。
[0143]
表2消融分析
[0144][0145]
展示rcl作为损失函数在不同深度学习推荐模型上的适应性,结果如表3 所示。其中,mf是基于潜向量的最基本模型,而其他模型是基于潜向量的复杂特征变换,即mf是其他模型的最基础版本。mf-rcl的成功表明rcl能够广泛应用于该领域的各种方法。
[0146]
表3 rcl在不同模型上的适应性
[0147]
[0148][0149]
展示了rcl具有较高的训练效率,如图3所示。很明显rcl具有最快的收敛速度和最好的结果,并且每轮次的训练时间几乎没有变化。
[0150]
基于plightgcn成功地学习了αk,如图4所示;这是图卷积网络(gcn)、图神经网络(gnn)领域内域中每层的重要性的第一个定量表达。
[0151]
综上所述,本发明一种基于排序对比损失的推荐方法、系统、介质及设备,通过排序的相似度矩阵挖掘了困难样本和潜在正例,结合cl进行改进形成新的损失函数pcl,基于先进的图卷积网络模型plightgcn在多个公共数据集上获得了领先的结果。本文提出的pcl损失函数及推荐方法直观、简单、有效、训练效率高、适应性强。
[0152]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0153]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/ 或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0154]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0155]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0156]
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按
照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献