基于对比学习的物品推荐方法、电子设备及存储介质.pdf

上传人:GAME****980 文档编号:14157000 上传时间:2023-07-11 格式:PDF 页数:20 大小:2.54MB
返回 下载 相关 举报
基于对比学习的物品推荐方法、电子设备及存储介质.pdf_第1页
第1页 / 共20页
基于对比学习的物品推荐方法、电子设备及存储介质.pdf_第2页
第2页 / 共20页
基于对比学习的物品推荐方法、电子设备及存储介质.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《基于对比学习的物品推荐方法、电子设备及存储介质.pdf》由会员分享,可在线阅读,更多相关《基于对比学习的物品推荐方法、电子设备及存储介质.pdf(20页珍藏版)》请在专利查询网上搜索。

1、(19)国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202310438525.2(22)申请日 2023.04.23(71)申请人 江苏亿友慧云软件股份有限公司地址 215200 江苏省苏州市吴江区芦荡路168号(72)发明人 沈利东赵朋朋秦秀元沈逸旸沈逸明(74)专利代理机构 北京德崇智捷知识产权代理有限公司 11467专利代理师 王金双(51)Int.Cl.G06F 16/9536(2019.01)G06N 3/0455(2023.01)G06N 3/047(2023.01)G06N 3/0895(2023.01)G06N 3/0985(202。

2、3.01)G06F 18/23213(2023.01)(54)发明名称一种基于对比学习的物品推荐方法、电子设备及存储介质(57)摘要本申请涉及机器学习技术领域,特别是涉及一种基于对比学习的物品推荐方法、电子设备及存储介质。所述物品推荐方法,包括:将各用户的原始交互序列切分为多个子序列;对于每一子序列,从具有与所述子序列相同的目标物品的所有子序列中取样一个作为对比序列;捕捉获得子序列和对比序列对应的粗粒度的意图表示并进行粗粒度对比学习;将子序列和对比序列的粗粒度的意图表示和聚类所得的对应的细粒度的意图表示进行细粒度对比学习;确定物品推荐概率和推荐损失函数;基于粗粒度对比学习和细粒度对比学习的损失。

3、函数以及推荐损失函数进行迭代训练生成物品推荐模型。本申请的一种基于对比学习的物品推荐方法,物品推荐准确率高,鲁棒性好。权利要求书3页 说明书12页 附图4页CN 116150508 A2023.05.23CN 116150508 A1.一种基于对比学习的物品推荐方法,其特征在于,包括:将各用户的原始交互序列切分为多个子序列,使所述原始交互序列中的每一个交互物品都作为一个子序列的目标物品,所述目标物品为子序列中的最后一个物品;对于每一子序列,从具有与所述子序列相同的目标物品的所有子序列中取样一个作为所述子序列的对比序列;对所述子序列和所述子序列的对比序列进行编码,捕捉获得所述子序列和所述子序列的。

4、对比序列对应的粗粒度的意图表示,并进行粗粒度对比学习,确定粗粒度对比学习的损失函数;使用Kmeans对所有的子序列的粗粒度的意图表示进行聚类,将聚类中心作为子序列的细粒度的意图表示,获得所有子序列的细粒度的意图表示,再使用query确定每个子序列对应的细粒度的意图表示;将所述子序列、所述子序列的对比序列的粗粒度的意图表示和对应的细粒度的意图表示进行细粒度对比学习,确定细粒度对比学习的损失函数;对所述粗粒度的意图表示与物品的向量矩阵做乘法运算并进行归一化,确定物品推荐概率和推荐损失函数;基于所述粗粒度对比学习的损失函数、所述细粒度对比学习的损失函数和所述推荐损失函数,确定总损失函数,基于所述总损。

5、失函数,进行迭代训练生成物品推荐模型。2.根据权利要求1所述的基于对比学习的物品推荐方法,其特征在于,所述将各用户的原始交互序列切分为多个子序列的步骤,包括:使用滑动窗口从后往前按照预设步长移动切分所述原始交互序列得到子序列,直至得到长度为2且目标物品为原始交互序列中第2个位置的物品的子序列。3.根据权利要求1所述的基于对比学习的物品推荐方法,其特征在于,所述方法,还包括:将所有具有相同目标物品的子序列放入同一个集合。4.根据权利要求1所述的基于对比学习的物品推荐方法,其特征在于,所述使用Kmeans对所有的子序列的粗粒度的意图表示进行聚类,将聚类中心作为子序列的细粒度的意图表示,获得所有子序。

6、列的细粒度的意图表示的步骤,采用如下公式:;其中,f为编码器,为编码器参数,为第m个子序列,为第m个子序列的粗粒度的意图表示,C为聚类结果,c为意图,K为意图的种类。5.根据权利要求4所述的基于对比学习的物品推荐方法,其特征在于,所述对所述子序列和所述子序列的对比序列进行编码,捕捉获得所述子序列和所述子序列的对比序列对应的粗粒度的意图表示,并进行粗粒度对比学习,确定粗粒度对比学习的损失函数的步骤,采用如下公式:权利要求书1/3 页2CN 116150508 A2;其中,为粗粒度对比学习的损失函数,S()为相似度,分别为子序列和所述子序列的对比序列的粗粒度的意图表示,为温度系数,为一个训练批量内。

7、除了外的所有其他样本。6.根据权利要求5所述的基于对比学习的物品推荐方法,其特征在于,所述将所述子序列、所述子序列的对比序列的粗粒度的意图表示和对应的细粒度的意图表示进行细粒度对比学习,确定细粒度对比学习的损失函数的步骤,采用如下公式:;其中,为细粒度对比学习的损失函数,、分别为粗粒度的意图表示、聚类后对应的细粒度意图表示。7.根据权利要求6所述的基于对比学习的物品推荐方法,其特征在于,所述对所述粗粒度的意图表示与物品的向量矩阵做乘法运算并进行归一化,确定物品推荐概率和推荐损失函数的步骤,采用如下公式:;其中,为物品推荐概率,为推荐损失函数,为目标物品的标签,为预测到目标物品的概率,为预测到第。

8、 个物品的概率,为所有物品的数量,为用户u的交互序列的意图表示,M为物品的向量矩阵。8.根据权利要求7所述的基于对比学习的物品推荐方法,其特征在于,所述基于所述粗粒度对比学习的损失函数、细粒度对比学习的损失函数和推荐损失函数,确定总损失函数的步骤,采用如下公式:权利要求书2/3 页3CN 116150508 A3;其中,为总损失函数,和为权重超参数,为粗粒度对比学习的损失函数,为细粒度对比学习的损失函数,为推荐损失函数。9.一种电子设备,其特征在于,包括:处理器;存储器,其上存储有一个或多个在所述处理器上运行的计算机指令;所述处理器运行所述计算机指令时,执行权利要求18任一项所述的基于对比学习。

9、的物品推荐方法的步骤。10.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,当计算机指令被处理器运行时,执行权利要求18任一项所述的基于对比学习的物品推荐方法的步骤。权利要求书3/3 页4CN 116150508 A4一种基于对比学习的物品推荐方法、电子设备及存储介质技术领域0001本申请涉及机器学习技术领域,特别是涉及一种基于对比学习的物品推荐方法、电子设备及存储介质。背景技术0002推荐系统是基于用户的历史交互信息为用户推荐感兴趣物品的一种系统,序列推荐作为动态建模用户兴趣偏好的最优模型之一,其专注于通过用户的交互历史来预测用户下一个可能交互的物品。由于用户的交互行为主要依赖于用。

10、户的意图,因此现有技术常常引入意图捕捉来提高预测的性能和鲁棒性,目前建模捕捉意图的方法按照是否使用辅助信息分为两类,一类是使用如用户行为、物品种类等辅助信息来帮助模型学习用户的意图表示,但是这些辅助信息并不是总能够反应用户的意图,存在局限性;另一类是通过用户序列级别的聚类来捕捉单个用户的意图,但忽略了具有相同目标物品的子序列的不同用户之间的关系,导致推荐性能并不如意。发明内容0003为了解决现有技术存在的不足,本申请的目的在于提供一种基于对比学习的物品推荐方法、电子设备及存储介质,提高推荐系统的推荐精准度。0004为实现上述目的,本申请提供一种基于对比学习的物品推荐方法,包括:将各用户的原始交。

11、互序列切分为多个子序列,使所述原始交互序列中的每一个交互物品都作为一个子序列的目标物品,所述目标物品为子序列中的最后一个物品;对于每一子序列,从具有与所述子序列相同的目标物品的所有子序列中取样一个作为所述子序列的对比序列;对所述子序列和所述子序列的对比序列进行编码,捕捉获得所述子序列和所述子序列的对比序列对应的粗粒度的意图表示,并进行粗粒度对比学习,确定粗粒度对比学习的损失函数;使用Kmeans对所有的子序列的粗粒度的意图表示进行聚类,将聚类中心作为子序列的细粒度的意图表示,获得所有子序列的细粒度的意图表示,再使用query确定每个子序列对应的细粒度的意图表示;将所述子序列、所述子序列的对比序。

12、列的粗粒度的意图表示和对应的细粒度的意图表示进行细粒度对比学习,确定细粒度对比学习的损失函数;对所述粗粒度的意图表示与物品的向量矩阵做乘法运算并进行归一化,确定物品推荐概率和推荐损失函数;基于所述粗粒度对比学习的损失函数、所述细粒度对比学习的损失函数和所述推荐损失函数,确定总损失函数,基于所述总损失函数,进行迭代训练生成物品推荐模型。0005进一步地,所述将各用户的原始交互序列切分为多个子序列的步骤,包括:使用滑动窗口从后往前按照预设步长移动切分所述原始交互序列得到子序列,直说明书1/12 页5CN 116150508 A5至得到长度为2且目标物品为原始交互序列中第2个位置的物品的子序列。00。

13、06进一步地,所述方法,还包括:将所有具有相同目标物品的子序列放入同一个集合。0007进一步地,所述使用Kmeans对所有的子序列的粗粒度的意图表示进行聚类,将聚类中心作为子序列的细粒度的意图表示,获得所有子序列的细粒度的意图表示的步骤,采用如下公式:;其中,f为编码器,为编码器参数,为第m个子序列,为第m个子序列的粗粒度的意图表示,C为聚类结果,c为意图,K为意图的种类。0008进一步地,所述对所述子序列和所述子序列的对比序列进行编码,捕捉获得所述子序列和所述子序列的对比序列对应的粗粒度的意图表示,并进行粗粒度对比学习,确定粗粒度对比学习的损失函数的步骤,采用如下公式:;其中,为粗粒度对比学。

14、习的损失函数,S()为相似度,分别为子序列和所述子序列的对比序列的粗粒度的意图表示,为温度系数,为一个训练批量内除了外的所有其他样本。0009进一步地,所述将所述子序列、所述子序列的对比序列的粗粒度的意图表示和对应的细粒度的意图表示进行细粒度对比学习,确定细粒度对比学习的损失函数的步骤,采用如下公式:;其中,为细粒度对比学习的损失函数,、分别为粗粒度的意图表示、聚类后对应的细粒度意图表示。0010进一步地,所述对所述粗粒度的意图表示与物品的向量矩阵做乘法运算并进行归一化,确定物品推荐概率和推荐损失函数的步骤,采用如下公式:说明书2/12 页6CN 116150508 A6;其中,为物品推荐概率。

15、,为推荐损失函数,为目标物品的标签,为预测到目标物品的概率,为预测到第 个物品的概率,为所有物品的数量,为用户u的交互序列的意图表示,M为物品的向量矩阵。0011更进一步地,所述基于所述粗粒度对比学习的损失函数、细粒度对比学习的损失函数和推荐损失函数,确定总损失函数的步骤,采用如下公式:;其中,为总损失函数,和为权重超参数,为粗粒度对比学习的损失函数,为细粒度对比学习的损失函数,为推荐损失函数。0012为实现上述目的,本申请提供的电子设备,包括:处理器;存储器,其上存储有一个或多个在所述处理器上运行的计算机指令;所述处理器运行所述计算机指令时,执行如上所述的基于对比学习的物品推荐方法的步骤。0。

16、013为实现上述目的,本申请提供的计算机可读存储介质,其上存储有计算机指令,当计算机指令被处理器运行时,执行如上所述的基于对比学习的物品推荐方法的步骤。0014本申请的一种基于对比学习的物品推荐方法,利用隐藏在不同用户交互历史中的相同目标物品的子序列来构建意图监督信号意图进行对比学习,以此提高了用户交互物品预测推荐的准确率和性能。0015本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。附图说明0016附图用来提供对本申请的进一步理解,并且构成说明书的一部分,并与本申请的实施例一起,用于解释本申请,并不构成对本申请的限制。在附图中:图1。

17、为本申请的基于对比学习的物品推荐方法的流程示意图;图2为本申请的物品推荐模型的结构示意图;图3为本申请的数据统计结果的示意图;图4为本申请的物品推荐模型的性能指标的示意图;图5为本申请的物品推荐模型的鲁棒性效果的示意图。说明书3/12 页7CN 116150508 A7具体实施方式0017下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。0018应。

18、当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。0019本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。0020需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个。

19、或多个”。“多个”应理解为两个或以上。0021下面,将参考附图详细地说明本申请的实施例。0022实施例1本申请的一个实施例,提供了一种基于对比学习的物品推荐方法,下面将参考图15对本申请的基于对比学习的物品推荐方法进行详细描述。0023步骤S101:将各用户的原始交互序列切分为多个子序列,使所述原始交互序列中的每一个交互物品都作为一个子序列的目标物品,所述目标物品为子序列中的最后一个物品;具体的,假设用户和物品的集合分别为U和I,用户u(属于U)的原始交互序列Su=su1,su2,su|Su|,sut(属于I,t属于1,|Su|)表示用户u在第t个位置交互的物品,其中|Su|表示序列的长度。0。

20、024在本实施方式中,为了学习不同用户的原始交互序列中隐藏的相同子序列,使用滑动操作即DS()操作将各用户的原始交互序列切分为多个子序列,DS()操作过程如下:;对于原始交互序列,规定切分后的子序列的最大长度为,当原始交互序列的长度小于规定的子序列的最大长度时,直接滑动切分,切分得到长度分别为2的子序列;当原始交互序列的长度大于规定的子序列的最大长度说明书4/12 页8CN 116150508 A8时,使用窗口大小为的滑动窗口,从后往前切分原始交互序列直至原始交互序列的长度小于,当原始交互序列的长度小于后,再直接滑动切分,切分得到长度分别为2的子序列。0025需要说明的是,iuk(属于I,k属。

21、于2,|Su|)表示用户u在第k个位置交互的物品(和sut的定义相同,两者的区别是为了方便后面的划分集合,也即将具有相同目标物品的子序列划到一个集合中,如果用sut表示会出现解释模型的情况例如s1t和s2t可能表示的是同一个item(物品)。0026综上所述,即使用滑动窗口从后往前按照预设步长移动切分所述原始交互序列得到子序列,直至得到长度为2且目标物品为原始交互序列中第2个位置的物品的子序列。0027示例性的,原始交互序列,规定切分后的子序列的最大长度为3,则切分后得到的子序列有:、,对于子序列,其目标物品即为对应的物品,对于子序列,其目标物品即为对应的物品。0028在本实施方式中,将所有具。

22、有相同目标物品的子序列放入同一个集合。0029步骤S102:对于每一子序列,从具有与所述子序列相同的目标物品的所有子序列中取样一个作为所述子序列的对比序列;具体的,对于每一子序列,从其对应的集合中,采样一个作为对比序列。0030步骤S103:对所述子序列和所述子序列的对比序列进行编码,捕捉获得所述子序列和所述子序列的对比序列对应的粗粒度的意图表示,并进行粗粒度对比学习,确定粗粒度对比学习的损失函数。0031参考图2,在本实施方式中,使用Transformer作为编码器来进行编码、捕捉粗粒度的意图表示,三个编码器均为Transformer且共享参数。示例性的,为编码器,为一个子序列,为粗粒度的意。

23、图表示,为编码器参数。0032具体的,确定粗粒度对比学习的损失函数采用如下公式:说明书5/12 页9CN 116150508 A9;其中,s()为相似度,分别为子序列和所述子序列的对比序列的粗粒度的意图表示,为温度系数,为一个训练批量内除了外的所有其他样本。0033可以理解的是,因为直接将所有数据放进模型会导致梯度过大,所以每次是按批量大小计算的梯度,例如所有数据总量为1000条数据,批量大小为10,可以有100个批量,这里每一个训练批量里面就有10条数据。0034步骤S104:使用Kmeans对所有的子序列的粗粒度的意图表示进行聚类,将聚类中心作为子序列的细粒度的意图表示,获得所有子序列的细。

24、粒度的意图表示,再使用query确定每个子序列对应的细粒度的意图表示。0035需要明白的是,Kmeans是一种常用的聚类算法,其原理在此不再赘述。0036在本实施方式中,使用faiss包里面的kmeans方法来对所有的子序列的粗粒度的意图表示进行聚类,然后使用faiss包里面的kmeans里面的query子方法确定每个子序列对应的细粒度的意图表示。0037具体的,使用Kmeans对所有的子序列的粗粒度意图表示进行聚类采用如下公式:;其中,f为编码器,为编码器参数,为第m个子序列,为第m个子序列的粗粒度的意图表示,C为聚类结果,c为意图,k为意图的种类。0038具体的,对于一个子序列的粗粒度的意。

25、图表示,其对应的细粒度的意图表示为。0039步骤S105:将所述子序列、所述子序列的对比序列的粗粒度的意图表示和对应的细粒度的意图表示进行细粒度对比学习,确定细粒度对比学习的损失函数。0040具体的,确定细粒度对比学习的损失函数采用一下公式:;说明书6/12 页10CN 116150508 A10其中,、分别为粗粒度的意图表示、聚类后对应的细粒度意图表示。0041步骤S106:对所述粗粒度的意图表示与物品的向量矩阵做乘法运算并进行归一化,确定物品推荐概率和推荐损失函数。0042具体的,所述确定物品推荐概率和推荐损失函数包括:;其中,为物品推荐概率,g为目标物品的标签,为预测到目标物品的概率,为。

26、预测到第i个物品的概率,为所有物品的数量,为用户u的交互序列的意图表示,M为物品的向量矩阵。0043步骤S107:基于所述粗粒度对比学习的损失函数、所述细粒度对比学习的损失函数和所述推荐损失函数,确定总损失函数,基于所述总损失函数,进行迭代训练生成物品推荐模型。0044具体的,确定总损失函数采用如下公式:;其中,和为权重超参数,为第一损失函数,为第二损失函数,为推荐损失函数。0045下面将结合试验数据对本申请的基于对比学习的物品推荐方法做进一步说明:图3为本申请的数据统计结果的示意图,如图3所示,在本实施方式中,使用广泛用于推荐的运动数据集Sports、装饰品数据集Beauty、玩具数据集To。

27、ys以及电影数据集ML1M四个数据集对推荐方法进行了评估。0046图4为本申请的物品推荐模型的性能指标的示意图,如图4所示,以命中率HRK和累积折损增益NDCGK作为主要的性能评价指标,可以看出本申请的物品推荐模型(表中的ICSRec)在Sports、Beauty、Toys以及ML1M四个数据集上预测推荐的性能比其他如:BPR、GRU4Rec、Caser、SASRec、BertRec、S3Rec、CL4SRec、CoScRec、DuoRec、DSSRec、SINE和ICLRec等模型的性能平均提高了24个百分点。0047图5为本申请的物品推荐模型添加噪音后的鲁棒性在NDCG20上效果的示意图,。

28、如图5所示,物品推荐模型ICSRec在在引入不同程度的噪音数据的情况下都优于其他模型,特别地,ICSRec在引入15%噪音数据的情况下甚至优于其他模型不添加任何噪音的结果,具有优秀的鲁棒性。0048实施例2本实施例中,还提供一种基于对比学习的物品推荐模型,下面将参考图2对本申请说明书7/12 页11CN 116150508 A11的基于对比学习的物品推荐方法进行详细描述,包括:监督信号建立、意图表示学习、预测层和多任务学习三部分。0049第一部分,为了学习不同用户交互历史中隐藏的相同的子序列模式,我们首先通过DS()操作将原始序列切分为多个子序列。对与给定的一个原始序列Su,动态滑动操作定义如。

29、下:;公式解释:对于给定长度的序列,从后往前依次切分,例如给定序列S=i1,i2,i3,i4,i5,假定n设置为2,也即序列最大长度为n+1=3(序列中最后一个为该子序列的目标物品),因为其长度为5大于3,因此将其切分为S=i1,i2,i1,i2,i3,i2,i3,i4,i3,i4,i5,也即让每一个物品都做一次前面所有item组成的子序列的目标物品。0050当给定序列的长度小于等于切分序列长度时:直接进行滑动切分,划分长度为2n+1,当滑动长度为n+1时,也即等价于原始序列;当给定序列的长度大于切分序列长度时:对于前n+1个item组成的子序列按照小于等于n+1长度切分,之后滑动窗口固定大小。

30、为n+1,步长为1向后滑动,每一次截取n+1个长度的子序列,如上案例所示S=i1,i2,i3,i4,i5,n=2的时候划分之后序列变为S=i1,i2,i1,i2,i3,i2,i3,i4,i3,i4,i5。0051其中n表示序列的最大长度,iuk(属于I,k属于2,|Su|)表示用户u在第k个位置交互的物品(和sut的定义相同,两者的区别是为了方便后面的划分集合,也即将具有相同目标物品的子序列划到一个集合中,如果用sut表示会出现解释模型的情况例如s1t和s2t可能表示的是同一个item(物品),用i表示更加合理)。在完成切分操作之后,我们将所有具有相同的目标物品的子序列放入一个集合中,T =T。

31、1,T2,.,T|I|,其中Tm表示目标物品为im的所有子序列的集合。0052第二部分,意图对比部分的损失函数主要包含两部分,首先会直接将两个具有相同目标物品经过编码器所获得的粗粒度的意图表示直接进行对比学习,损失函数如下所示:h1=f(S1),h2=f(S2);Lcl1=Lcl(h1,h2);另外会将每一个子序列所获得粗理的意图表示与其原始的细粒度的意图表示进行对比,细粒度表示是通过对粗粒度的意图表示进行聚类获得的,这里假定用户总共有K不同的意图,然后使用Kmeans对所有的序列获得的粗粒度的意图表示进行聚类,并使用聚类中心(聚类的簇)作为该类别的细粒度的意图表示,在训练过程中先使用聚类获得。

32、所有子序列的细粒度的意图表示C=cK,获得的方式如下:C=Kmeans(f(S1),f(S2),.,f(Sm)=cK;其中m表示所有子序列的数目,这里会先将所有子序列放入编码器f()编码,将所得的m个表示(一个子序列经过编码获得一个粗粒度意图表示),然后对这m个得到的表示进说明书8/12 页12CN 116150508 A12行kmeans聚类得到k个细粒度的意图表示。0053然后使用query操作获得每一个子序列对应的细粒度的意图表示,其计算如下所示:c1=query(h1,C),c2=query(h2,C);最后让每一个子序列与其对应的细粒度进行对比,计算公式如下所示:Lcl2=Lcl(h。

33、1,c1)+Lcl(h2,c2)需要说明的Lcl为对比学习二大损失函数,采用以下公式:;其中,x1,x2表示两个需要进行对比学习的张量,s(a,b)表示a与b的相似度,计算方式使用的是点乘,表示温度系数,表示的一个batch(训练批量)内中除了正样本以外的所有其他样本,例如x1和x2表示一对正样本,batch大小为b,一共有2b个样本,现在去掉两个正对(x1和x2)和(x2和x1),将剩下的2(b1)个样本作为负样本。0054第三部分,因为transformer在CV和NLP都取得了成功,在推荐领域也是一样,因此我们也使用transformer作为我们框架的base encoder(编码器),。

34、假设我们一共有N个物品,我们会对其进行embedding(向量化)操作,得到一个矩阵M,其中矩阵大小为nd,n表示物品的数目,d表示embedding(向量化)的维数,为了方便我们将整个encoder(编码器)看作一个整体使用f ()表示,其中 表示模型(编码器)的参数。0055我们使用模型学到的意图表示来计算用户在下一个时刻可能感兴趣的物品,并使用交叉熵损失函数来最小化预测错误的概率。我们使用模型的输出与原始的item embdding使用矩阵乘法得到一个矩阵,然后将这个矩阵通过softmax得到最后的概率矩阵。最后使用交叉熵计算推荐损失,其计算方法如下:;hu=f(S1);说明书9/12 。

35、页13CN 116150508 A13其中g表示原本的目标物品的id,其中g取值与1,n表示对应的item id,M表示原始的item embedding(物品向量化)矩阵,M大小为nh,其中n表示不同物品的数目,h表示物品的隐藏特征的数目,hu表示模型输出的意图表示,通过计算模型输出与物品向量化矩阵乘积,再将其通过softmax得到概率值,这里的目标函数是最小化其他位置的概率,最大化目标item(物品)对应的位置的概率,示例性的,当目标物品为1,也即g=1,这里需要最大化的概率,最小化以及之间的概率。0056第四部分,多任务学习,使用联合学习的框架来训练模型,最后的训练损失函数如下所示:L1。

36、=LRec+Lcl1+Lcl2;其中 和 都是需要进行调节的超参数。0057实施例3本实施例中,还提供一种电子设备,包括处理器和存储器。存储器用于存储非暂时性计算机可读指令。处理器用于运行非暂时性计算机可读指令,非暂时性计算机可读指令被处理器运行时可以执行上文所述的基于对比学习的物品推荐方法的一个或多个步骤。存储器和处理器可以通过总线系统和/或其它形式的连接机构互连。0058例如,处理器可以是中央处理单元(CPU)、数字信号处理器(DSP)或者具有数据处理能力和/或程序执行能力的其它形式的处理单元,例如现场可编程门阵列(FPGA)等;例如,中央处理单元(CPU)可以为X86或ARM架构等。00。

37、59例如,存储器可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CDROM)、USB存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块,处理器可以运行一个或多个计算机程序模块,以实现电子设备的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。。

38、0060需要说明的是,本申请的实施例中,电子设备的具体功能和技术效果可以参考上文中关于基于对比学习的物品推荐方法的描述,此处不再赘述。0061实施例4本实施例中,还提供一种计算机可读存储介质,存储介质用于存储非暂时性计算机可读指令。例如,当非暂时性计算机可读指令由计算机执行时可以执行根据上文所述的基于对比学习的物品推荐方法中的一个或多个步骤。0062例如,该存储介质可以应用于上述电子设备中。例如,存储介质可以为实施例3的电子设备中的存储器。例如,关于存储介质的相关说明可以参考实施例3的电子设备中的存储器的相应描述,此处不再赘述。0063需要说明的是,本申请上述的存储介质(计算机可读介质)可以是。

39、计算机可读信号介质或者非暂时性计算机可读存储介质或者是上述两者的任意组合。非暂时性计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或说明书10/12 页14CN 116150508 A14者任意以上的组合。非暂时性计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CDROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。0064在本申请中,非暂时性计算机可读存储介质可以是任。

40、何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是非暂时性计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等,或者上述的任意合适的组合。006。

41、5上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。0066可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言,诸如Java、Smalltalk、C+,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。0067附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实。

42、现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。0068描述于本申请实施例中所涉及到的。

43、单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。0069本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等。0070以上描述仅为本申请的部分实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其。

44、等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功说明书11/12 页15CN 116150508 A15能的技术特征进行互相替换而形成的技术方案。0071此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。0072尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。说明书12/12 页16CN 116150508 A16图 1说明书附图1/4 页17CN 116150508 A17图 2图 3说明书附图2/4 页18CN 116150508 A18图 4说明书附图3/4 页19CN 116150508 A19图 5说明书附图4/4 页20CN 116150508 A20。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1