推荐模型的训练方法、装置、电子设备和存储介质与流程

文档序号:32481334发布日期:2022-12-09 22:50阅读:36来源:国知局
推荐模型的训练方法、装置、电子设备和存储介质与流程

1.本公开涉及人工智能技术领域,尤其涉及深度学习技术领域。


背景技术:

2.推荐系统是向用户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。随着人工智能技术的发展,出现了用于向用户推荐商品的推荐模型。本公开主要解决在推荐系统领域如何提高推荐模型的性能。


技术实现要素:

3.本公开提供了一种推荐模型的训练方法、装置、电子设备以及存储介质。
4.根据本公开的一方面,提供了一种推荐模型的训练方法,包括:
5.将第一样本序列输入推荐模型,该第一样本序列包括多个实体;
6.获取该推荐模型得到的各个实体的第一特征表示;其中,该第一特征表示根据该第一样本序列的注意力信息确定,该注意力信息与该第一样本序列中每对实体之间的距离信息和关系信息中的至少一项相关;
7.根据各个实体的第一特征表示,确定损失函数的值;以及
8.根据该损失函数的值调整该推荐模型的参数,以对该推荐模型进行训练。
9.根据本公开的另一方面,提供了一种商品推荐方法,包括:
10.利用第二用户构建第二序列,该第二序列包括多个实体,多个实体中的第一个实体为该第二用户对应的实体;
11.将该第二序列输入推荐模型;
12.根据该推荐模型的预测结果,确定为该第二用户推荐的商品;其中,该推荐模型采用上述任意一种推荐模型的训练方法训练得到。
13.根据本公开的另一方面,提供了一种推荐模型的训练装置,包括:
14.第一输入模块,用于将第一样本序列输入推荐模型,该第一样本序列包括多个实体;
15.获取模块,用于获取该推荐模型得到的各个实体的第一特征表示;其中,该第一特征表示根据该第一样本序列的注意力信息确定,该注意力信息与该第一样本序列中每对实体之间的距离信息和关系信息中的至少一项相关;
16.损失函数确定模块,用于根据各个实体的第一特征表示,确定损失函数的值;以及,
17.调整模块,用于根据该损失函数的值调整该推荐模型的参数,以对该推荐模型进行训练。
18.根据本公开的另一方面,提供了一种商品推荐装置,包括:
19.序列构建模块,利用第二用户构建第二序列,该第二序列包括多个实体,该多个实
体中的第一个实体为该第二用户对应的实体;
20.第二输入模块,用于将该第二序列输入推荐模型;
21.确定模块,用于根据该推荐模型的预测结果,确定为该第二用户推荐的商品;其中,该推荐模型由上述任意一种推荐模型的训练方法训练得到。
22.根据本公开的另一方面,提供了一种电子设备,包括:
23.至少一个处理器;以及
24.与该至少一个处理器通信连接的存储器;其中,
25.该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开中任一实施例的方法。
26.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开中任一实施例的方法。
27.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开中任一实施例的方法。
28.本公开提出的推荐模型的训练方法,采用与实体之间的距离信息和/或关系信息相关的注意力信息确定实体的特征表示,因此能够将实体的距离信息和/或关系信息融入到模型自注意力网络中,从而提高推荐模型的性能。
29.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
30.附图用于更好地理解本方案,不构成对本公开的限定。其中:
31.图1是根据本公开实施例的一分布式集群处理场景的示意图;
32.图2是根据本公开一实施例的推荐模型训练方法200的实现流程图;
33.图3是根据本公开一实施例构建元图信息的方法300的实现流程图;
34.图4是根据本公开一实施例的元图示意图;
35.图5是根据本公开一实施例训练推荐模型的整体流程示意图;
36.图6是根据本公开一实施例中推荐模型学习初始特征表示或第二特征表示的效果示意图;
37.图7是根据本公开一实施例的推荐系统模型框架图;
38.图8是根据本公开一实施例的商品推荐方法800的实现流程图;
39.图9是根据本公开一实施例的一种推荐模型的训练装置900的结构示意图;
40.图10是根据本公开一实施例的一种推荐模型的训练装置1000的结构示意图;
41.图11是根据本公开一实施例的一种商品推荐装置1100的结构示意图;
42.图12示出了可以用来实施本公开的实施例的示例电子设备1200的示意性框图。
具体实施方式
43.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同
样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
44.本公开提出一种推荐模型的训练方法,该推荐模型可以用于向用户推荐商品,其中,商品的含义广泛,并不局限于实际物品,还可以包括数字商品,如课程、电子书、视音频、音视频会员、网盘会员、出行券、美食券等等。
45.根据本公开的实施例,图1是根据本公开实施例的一分布式集群处理场景的示意图,该分布式集群系统为集群系统的一个示例,示例性的描述了可以利用该分布式集群系统进行模型训练,本公开不限于单机或多机上的模型训练,采用分布式的处理可以进一步提高模型训练的精度。如图1所示,在该分布式集群系统100中包括多个节点(如服务器集群101、服务器102、服务器集群103、服务器104、服务器105,服务器105还可以连接电子设备,如手机1051及台式机1052),多个节点间,以及多个节点与连接的电子设备间可以共同执行一个或多个模型训练任务。可选地,该分布式集群系统中的多个节点可以采用数据并行的关系进行模型训练,则多个节点可以基于相同的训练方式执行模型训练任务;若该分布式集群系统中的多个节点采用的是模型并行的模型训练方式,则多个节点可以基于不同的训练方式执行模型训练任务。可选地,在每一轮关系提取模型训练完成后,多个节点之间都可以进行数据交换(如数据同步)。
46.图2是根据本公开一实施例的推荐模型训练方法200的实现流程图,包括:
47.s210:将第一样本序列输入推荐模型,该第一样本序列包括多个实体;
48.s220:获取该推荐模型得到的各个实体的第一特征表示;其中,该第一特征表示根据该第一样本序列的注意力信息确定,该注意力信息与该第一样本序列中每对实体之间的距离信息和关系信息中的至少一项相关;
49.s230:根据各个实体的第一特征表示,确定损失函数的值;以及,
50.s240:根据该损失函数的值调整该推荐模型的参数,以对该推荐模型进行训练。
51.在训练过程中,根据损失函数的值调整推荐模型的参数,并向调整后的模型重新输入新的第一样本序列,再次计算损失函数的值;直至计算得到的损失函数的值小于或等于预定阈值、或者迭代的次数达到预定门限时,结束对模型的训练过程。
52.另外,在训练过程中,还可以分批次向推荐模型输入第一样本序列,如,在一次迭代中输入多个第一样本序列,采用推荐模型针对该多个第一样本序列确定的第一特征表示,计算针对应损失函数的值;并采用这种方式多次迭代。
53.本公开实施例提出的推荐模型可以为深度自注意力(self-attention)网络模型,例如多头(multi-head)自注意力网络。深度自注意力网络(例如transformer)是一种多层多头的自注意力网络,旨在通过多层多头注意力机制计算输入的序列中独立的节点之间的关系,获取基于上下文信息更加丰富的语义表示。
54.传统的深度自注意力网络中,采用以下式子(1)确定输入序列的注意力信息:
55.q=xwq,k=xwk,v=xwv;其中,
[0056][0057]
其中,x表示输入的序列化数据,wq,wk,wv表示模型中学习的矩阵,dm=d/m表示数据特征维度与自多头自注意力网络中头(head)的数量的比值;其中数据维度特征可以是自
定义的参数,如超参数。a表示输入序列中各个每两个数据之间的注意力分数;a可以采用矩阵的形式表示,该矩阵的长和宽等于输入序列中数据的个数,矩阵中的各个元素标识两两数据之间的注意力分数。
[0058]
与传统方式不同的是,本公开在确定注意力信息时,使该注意力信息与输入的样本序列(如上述第一样本序列)中每对实体之间的距离信息和关系信息中的至少一项相关。
[0059]
例如,该第一样本序列中每对实体之间的距离信息采用对应的距离值表示,该距离值与该对实体之间的最短路径正相关。
[0060]
又如,该第一样本序列中每对实体之间的关系信息由第一关系的特征表示和第一关系的权重中的至少之一确定;其中,
[0061]
第一关系包括该对实体之间的关系;
[0062]
第一关系的特征表示或该第一关系的权重由该推荐模型确定。
[0063]
在一些实施方式中,本公开实施例采用以下式子(2)确定第一样本序列的注意力信息:
[0064][0065]
其中,
[0066][0067]bmn
=r
mn
ω
t
ꢀꢀ
(2)
[0068]
其中,em,en分别表示输入的第一样本序列中的任意两个实体(m,n实体)的特征表示;em,en也可以认为是实体;
[0069]
表示实体em,en之间的注意力分数,可以是一个数值;两两实体的注意力分数构成总的注意力分数a,a是由m*n个构成的矩阵;
[0070]
d(em,en)表示实体em,en之间的最短路径,该最短路径可以指从实体em到实体en所经历的实体的个数;
[0071]
表示对每个d(em,en)学习到的一个参数表示;
[0072]
φ(em,en)表示第一样本序列中实体em,en之间的距离值,用于表示实体em,en之间的距离信息,该距离值与d(em,en)正相关;
[0073]bmn
表示实体em,en之间的关系信息;
[0074]rmn
表示实体em,en之间的第一关系的特征表示,ω表示表示实体em,en之间的第一关系的权重,该特征表示或权重可以由推荐模型确定,如由推荐模型学习到。
[0075]
可见,本公开实施例中的注意力信息可以与第一样本序列中每对实体之间的距离信息和关系信息相关,例如,采用距离信息与已有技术中每对实体之间的注意力信息相乘,再将乘积与关系信息相加,得到本公开实施例提出的注意力信息。通过这种方式,可以将实体之间的距离信息和关系信息融入到模型自注意力网络中,使得模型学习过程中更多地关注距离近的节点,并考虑节点关系的语义信息,从而提高推荐模型的性能。
[0076]
在将第一样本序列输入推荐模型之前,可以通过构建元图的方式构建多个第一样
本序列,并将构建的第一样本序列保存,作为训练的样本数据。
[0077]
图是一种常见的数据结构,用于表示实体及其之间的关系。其中,实体(entity)又称为节点(node),实体之间的关系用边(edge)来描述。用户商品交互数据(或称为用户-商品交互数据)为多元异构图(multi-source heterogeneous graph)数据,一条记录包含用户、商品、以及用户和商品之间的关系信息。为了能够扩充模型能够学习到的数据以及提供可解释性分析,本公开实施例可以采用元图的方式扩充模型学习的数据。在一些实施方式中,本公开实施例提出的推荐模型训练方法还可以包括:
[0078]
利用数据集合构建元图信息,该数据集合包括用户与商品的交互集合、以及用户与商品的知识图谱集合中的至少之一;
[0079]
该元图信息中包括多个第一样本序列,每个第一样本序列对应一个用户-商品对,该用户-商品对中包括第一用户和第一商品;
[0080]
第一样本序列中包括该第一用户的用户实体、该第一用户的近邻实体、该第一用户到该第一商品的路径中所包含的路径实体、该第一商品的近邻实体、以及该第一商品的商品实体中的至少之一。与第一用户交互的实体可以称为第一用户的近邻实体,第一用户的近邻实体可以是其它用户实体、商品实体或技能实体等。与第一商品交互的实体可以称为第一商品的近邻实体。
[0081]
构建元图信息时,采用包括知识图谱集合的数据集合,可以提高元图信息的丰富性和准确性;并且,构建的元图信息中还包括用户实体和商品实体的近邻实体,能够使样本数据中包含近邻实体的信息,便于模型训练中学习到相邻实体的信息。
[0082]
例如,用户与商品的交互集合(如用户-商品交互数据)中,用户a、商品b、商品c分别为实体,用户a购买过商品b,则用户a的实体和用户b的实体之间存在关系,该关系的类型为“购买”;用户a浏览过商品c,则用户a的实体和用户c的实体之间存在关系,该关系的类型为“浏览”。
[0083]
在一些实施方式中,对于用户-商品记录,分别从交互数据以及知识图谱数据集获取用户-商品的近邻以及用户-商品之间的路径信息,为了提升模型计算的效率,可以选取固定的近邻数量;同时路径的选取可以采取偏置随机游走算法,保证选取节点的公平性,使得出现次数少的节点能够被学习到。除了直接相连的实体(或节点)外,实体之间的路径也包含一定的关系信息,通过用户-商品的路径信息挖掘实体之间的上下文信息,从而可以获取更丰富的特征表示,“偏置随机游走算法”通过偏置随机游走的方式,利用公式获取下一个节点,目的是通过采取这种方式使得实体的选取更合理公平,使一些存在关联较少的实体可以被选中。
[0084]
需要强调的是,本公开中的“商品”是一个宽泛的概念,不局限于实际物品,还可以包括数字商品,如课程、电子书、视音频、音视频会员、网盘会员、出行券、美食券、社交场景相关商品等数字商品。针对为用户推荐课程的场景,本公开实施例涉及的实体至少可以包括用户实体、商品实体或技能实体。
[0085]
对于课程推荐场景,构建的元图中可以包含用户实体、商品实体(或称为课程实体)、技能实体。通过用户-商品的近邻以及用户-商品的路径信息构造元图,利用这些信息可以学习节点特征表示,还可以通过路径进行可解释性分析。
[0086]
图3是根据本公开一实施例构建元图信息的方法300的实现流程图,包括:
[0087]
s310:从数据集合中选择一个用户,将该用户的实体作为当前实体;
[0088]
s320:针对当前实体的各个近邻实体,根据与近邻实体有关系的实体的个数、以及当前实体与该近邻实体的关系在该数据集合中出现的次数中的至少之一,确定该近邻实体作为当前实体的下一个实体的第一概率;
[0089]
s330:根据该第一概率,从当前实体的各个近邻实体中确定下一个实体;例如,可以按照从大到小的顺序排列第一概率,选择排序后的前n(n为正整数)个第一概率所对应的近邻实体作为该当前实体的下一个实体;
[0090]
s340:将该下一个实体作为当前实体,重复执行步骤s320,直至确定出的下一个实体为商品实体时,结束构建过程。
[0091]
在一些实施方式中,采用如下式子(3)和(4)确定上述第一概率:
[0092][0093]
其中,ω
i,i+1
=exp(-(a*num(r
i,i+1
)+b*num(e
i+1
))/τ)
ꢀꢀ
(4)
[0094]
其中,ei表示当前实体;
[0095]ei+1
表示为ei选取的下一个实体,e
i+1
是ei的近邻实体中的一个实体,即的近邻实体中的一个实体,即表示ei的所有近邻实体组成的集合;也就是说,一个实体需要是ei的近邻实体,才能够作为ei的下一个实体;
[0096]
p(e
i+1
|ei)表示在当前节点为ei的情况下,下一个实体为e
i+1
的概率;
[0097]
t表示交互数据以及知识图谱数据中所有的实体;
[0098]
在当前实体和该当前实体的所有近邻实体、以及当前实体与近邻实体的关系均出现在交互数据以及图谱数据中时(即),可以计算该当前实体的下一个实体是任意一个近邻实体的概率;否则,该概率为0;
[0099]
表示针对ei的任意一个近邻实体,计算ω
i,i+1
;并将针对ei的所有近邻实体计算得到的ω
i,i+1
相加;
[0100]
在式子(4)中,函数exp()表示求以自然常数e为底的指数函数;
[0101]ri,i+1
表示实体ei和实体e
i+1
之间的关系,num(r
i,i+1
)表示关系r
i,i+1
在交互数据以及知识图谱数据中出现的次数;例如,实体ei代表某用户、实体e
i+1
代表某商品,该用户购买过该商品,则r
i,i+1
为“购买”,num(r
i,i+1
,)为“购买”这一关系在交互数据以及知识图谱数据出现过的次数;
[0102]
num(e
i+1
)表示与实体e
i+1
有关系的实体的个数,例如实体e
i+1
的邻近实体的个数;
[0103]
τ表示预定参数,如温度参数;τ可以是一个预先设定的数值,如τ为正数;
[0104]
a和b表示预先设定的参数,如a和b均为正数,a和b可以相同、也可以不同。
[0105]
从式子(3)和(4)可以看出,在本实施例中,对于ei的近邻实体,该近邻实体在交互数据以及知识图谱数据中出现的次数越多(即num(e
i+1
)越大)、该近邻实体与ei的关系在交互数据以及知识图谱数据中出现的次数越多(即num(r
i,i+1
)越大),则该近邻实体是ei的下一个实体的概率就越小;如此设计,可以使最终确定的元图中尽可能多地出现关注度较低
的实体,采用这样的元图训练得到的推荐模型的效果更优。
[0106]
针对一个用户(该用户实体记为u)和一个商品(该商品实体记为c),可以确定一个元图,确定的方式为:
[0107]
针对该用户实体u,采用上述式子(3)和式子(4),计算该用户实体u的各个近邻实体被确定为用户实体u的下一个实体的概率;选择概率大的至少一个近邻实体,作为用户实体u的下一个实体。图4是根据本公开一实施例的元图示意图,以图4为例,和是为用户实体u确定出的下一个实体。
[0108]
再将确定出的下一个实体作为当前实体,采用上述式子(3)和式子(4),确定该当前实体的下一个实体。以图4为例,和是为实体u确定出的下一个实体;是为实体确定出的下一个实体;c是为实体确定出的下一个实体。
[0109]
循环执行上述过程,直至针对每条路径确定出的下一个实体均为商品实体c时,完成元图的确定过程。图4所示的元图确定出2条路径,其中一条路径中依次包含实体u、实体实体和实体u;另一条路径中依次包含实体u、实体和实体u。在最终确定的元图中,包括依次包括以下内容:
[0110]
(1)用户实体;如图4中的u;
[0111]
(2)用户实体u的近邻实体;如图4中的和
[0112]
(3)用户实体u和商品实体c之间的路径上的实体(简称路径实体);如图4中的和
[0113]
(4)商品实体c的近邻实体;如图4中的和
[0114]
(5)商品实体;如图4中的c。
[0115]
在上述元图包含的内容中,用户的近邻实体(如上述(2))、路径实体(如上述(3))、商品的近邻实体(如上述(4))内部的顺序不受限制。
[0116]
通过预先处理,确定出多个元图数据,将确定出的元图数据保存,如保存为文件格形式。
[0117]
图5是根据本公开一实施例训练推荐模型的整体流程示意图,如图5所示,该整体流程包括以下步骤:
[0118]
s510:数据元图构建过程。
[0119]
s520:数据序列化输入过程。
[0120]
s530:深度自注意力网络学习数据表示;
[0121]
s540:元图的结构化信息融入。
[0122]
s550:确定损失函数的值,并根据损失函数的值调整推荐模型的参数。
[0123]
以下分别详细介绍上述各个步骤。
[0124]
(1)步骤s510的元图构建过程可以采用上述实施例中的构建方式,在此不再赘述。
[0125]
(2)针对步骤520,可以将构建完成的元图数据序列化地输入推荐模型。
[0126]
以前述元图为例,可以将用户实体u、用户实体u的近邻实体、路径实体、商品实体c的近邻实体、商品实体c按照先后顺序输入推荐模型。
[0127]
(3)针对步骤s530,由推荐模型学习各个实体的初始特征表示和第二特征表示(或
称为片段表示),并将该第二特征表示加入到各个实体的初始片段表示,并结合第一样本序列的注意力信息,确定上述第一特征表示。
[0128]
在一些实施方式中,第一特征表示根据该第一样本序列的注意力信息、该第一样本序列中各个实体的初始特征表示、以及该第一样本序列中各个实体的第二特征表示确定;其中,
[0129]
该第二特征表示用于表征对应实体的类型,该类型包括以下至少一种:
[0130]
第一类型,包括第一用户的用户实体或第一商品的商品实体;其中,第一用户的用户实体可以是第一样本序列中的第一个实体,第一商品的商品实体可以是第一样本序列中的最后一个实体;
[0131]
第二类型,包括该第一用户的近邻实体或该第一商品的近邻实体;
[0132]
第三类型,包括路径实体。
[0133]
其中,上述初始特征表示又可以称为节点特征,上述第二特征表示又可以称为片段特征。初始特征表示或第二特征表示可以由推荐模型确定。图6是根据本公开一实施例中推荐模型学习初始特征表示或第二特征表示的效果示意图。如图6所示,将元图的第一样本序列输入推荐模型,具体输入的实体按先后顺序依次为:u、u;模型学习到各个实体的节点特征、以及各个节点的片段特征,其中,片段特征用于区分不同的实体,例如,ef表示第一用户的用户实体或第一商品的商品实体,en表示近邻实体,e
p
表示路径实体;模型将各个实体的片段特征加入其初始化特征(或称为节点特征)中。
[0134]
将各个实体的第一特征表示、第二特征表示(用于表征实体的类型)与注意力信息结合,确定各个实体的第一特征表示,能够使实体的第一特征表示包含更为准确的语义信息,从而提高推荐模型的性能。
[0135]
(4)针对步骤s540,以下结合图7进行介绍。
[0136]
图7是根据本公开一实施例的推荐系统模型框架图。如图7所示,对元图信息中的部分实体进行掩码(掩码的相关内容在后续针对步骤s550的介绍中详细介绍),将掩码后的序列输入推荐模型。
[0137]
在一些实施方式中,针对第一样本序列中的各个路径,将该路径中的第一商品、以及该路径以外的其他路径中的实体进行掩码,将掩码后的第一样本序列输入该推荐模型。
[0138]
该推荐模型可以采用多头自注意力模型,多头自注意力模型对掩码后的第一样本序列进行处理,得到该第一样本序列的注意力信息,并根据该注意力信息确定第一样本序列中各个实体的第一特征表示。
[0139]
例如,采用上述式子(2),并结合q矩阵(查询矩阵)和k矩阵(键矩阵),确定a矩阵;再利用该a矩阵和v矩阵(值矩阵),如将a矩阵和v矩阵相乘,得到各个实体的第一特征表示。
[0140]
(5)针对上述步骤s550,结合图7详细介绍。
[0141]
在一些实施方式中,步骤s550中确定损失函数的值的方式包括:
[0142]
根据各个实体的第一特征表示中,该第一用户的用户实体的第一特征表示和该第一商品的商品实体的第一特征表示,确定第一损失函数;
[0143]
根据各个实体的第一特征表示中,该第一商品的商品实体的第一特征表示,确定为该第一用户推荐各个第二商品的第二概率;根据该第二概率,确定第二损失函数;该第二
商品为该数据集合中的任意商品;
[0144]
利用该第一损失函数和该第二损失函数,确定该损失函数的值。
[0145]
在一些示例中,通过点击通过率约束函数进行推荐预测,具体公式如式子(5):
[0146][0147]
其中,ψ为激活函数。表示点击通过率函数。
[0148]
在一些示例中,利用点击通过率约束函数,确定第一损失函数,如采用如下式子(6)确定第一损失函数:
[0149][0150]
其中,bceloss是多标签分类的损失函数;
[0151]yuc
分别表示模型的预测结果与真实标签;例如,由以上式子(5)确定,为(0,1)范围内的值,表示用户u和商品c存在关系的概率;y
uc
表示用户u和商品c的真实关系(即真实标签),其取值为1或0,表示用户u和商品c之间是否存在关系。
[0152]
在一些示例中,上述第二损失函数可以为掩码预测函数,如采用式子(7)表示:
[0153][0154]
其中,l
mask
(u,pi,c)表示掩码预测函数。
[0155]
利用第一损失函数和第二损失函数,可以确定损失函数的值,如采用以下式子(8):
[0156][0157]
其中,l为最终确定的损失函数的值;
[0158]
λ为预先设置的参数,如平衡参数。
[0159]
在本示例中,通过对实体对之间的路径p(eu,ec)={p1,p2,

,ps}中除路径pi以外的其余路径、以及ec进行掩码,利用eu和其中一条路径pi预测ec。其中u,c表示用户-商品实体对,eu,ec分别表示用户实体的特征表示和商品实体的特征表示,pi表示实体对之间的第i条路径,s表示实体对之间的路径总数。
[0160]
在上述式子中,yc可以为一个向量,该向量包含的元素个数等于商品的个数,每个元素对应一个商品,该元素是对应商品的标签,该元素的取值可以为1或0,表示与对应商品与用户是否存在关系;
[0161]
也可以为一个向量,该向量包含的元素个数等于商品的个数,每个元素对应一个商品,该元素的取值可以为(0,1)范围内的值,表示模型预测出的该对应商品与用户存在关系的概率值。其中,该概率值由模型为该用户预测的对应商品的第一特征表示来确定。
[0162]
可见,模型预测的结果越偏离真实情况,l
mask
(u,pi,c)的值就越大,相应地整体的损失函数值l就越大;通过调整模型的参数,使得整体的损失函数值l满足预定要求。通过构建采用上述方式构建损失函数,能够使模型训练过程时更快收敛,通过训练推荐模型的效率。
[0163]
此外,利用上述第二损失函数,本公开实施例还可以进一步确定各个路径的权重,
在一些示例中,可以针对第一样本序列中的各个路径,根据第二损失函数确定该路径的权重。
[0164]
在一些示例中,可以采用以下式子(9)确定路径的权重:
[0165][0166]
其中,weight(pi,)表示路径pi的权重。通过该权重可以进行用户-商品之间的目的性分析,基于路径权重,能够对用户与商品之间的关系进行更好的可解释性分析。
[0167]
以上实施方式中,介绍了本公开实施例对推荐模型的训练方法。在数据输入方面,本公开实施例采用元图的方式扩充用户-商品的信息,并将元图信息序列化地输入到深度自注意力网络中,同时将元图的结构化信息融入到自注意力计算方式中,获得语义信息更为丰富的特征表示,从而提高推荐模型的性能。并且,本公开实施例还可以利用各个路径对应的权重,分别对各个路径实现更好的可解释性分析。
[0168]
本公开实施例提出的模型训练方法,借助知识图谱在一定程度上能够很好地缓解推荐系统领域中数据稀疏以及冷启动等问题,而通过元图以及元图结构化信息极大的提升了模型的性能;相比普通的基于知识图谱的方法,通过数据中的路径信息能够很好的进行可解释性分析,在推荐系统领域中有着重要作用。
[0169]
本公开实施例可以广泛地运用在推荐系统场景中,比如课程推荐场景、商品推荐场景以及社交推荐场景等。通过场景中的交互数据和知识图谱数据可构建元图的方式序列化输入模型中训练模型,通过模型进行推荐,并且通过不同路径的权重可以进行可解释性分析等。其中,课程推荐、社交推荐,可以认为属于广义的商品推荐,例如,课程可以认为是一种数字商品,社交可以认为是一种服务类商品。总之,本公开涉及的商品是广义的概念,包括实物商品、数字商品、服务等等。
[0170]
本公开实施例还提出一种商品推荐方法,该方法可以采用上述实施例中介绍的任意一种模型训练方法训练得到的推荐模型来实现,如图8所示,该商品推荐方法包括:
[0171]
s810:利用第二用户构建第二序列,该第二序列包括多个实体,多个实体中的第一个实体为该第二用户对应的实体;
[0172]
s820:将该第二序列输入推荐模型;
[0173]
s830:根据该推荐模型的预测结果,确定为该第二用户推荐的商品;其中,该推荐模型由本公开实施例提出的任意一种推荐模型的训练方法训练得到。
[0174]
在本实施例中,第二序列中包括具有固定顺序的多个实体,其中第一个实体为第二用户对应的实体,后续实体可以是随机选择的实体;或者采用任意设定的标识信息标识后续实体。
[0175]
在一些实施方式中,推荐模型的预测结果包括:第二序列中的各个实体对应的特征表示;
[0176]
相应地,根据推荐模型的预测结果,确定为第二用户推荐的商品,包括:
[0177]
根据第二序列中最后一个实体对应的特征表示,确定为第二用户推荐的商品。
[0178]
本公开实施例提出的商品推荐方法,能够提高商品推荐系统的性能。
[0179]
本公开实施例还提出一种推荐模型的训练装置,图9是根据本公开一实施例的一
种推荐模型的训练装置900的结构示意图,包括:
[0180]
第一输入模块910,用于将第一样本序列输入推荐模型,该第一样本序列包括多个实体;
[0181]
获取模块920,用于获取该推荐模型得到的各个实体的第一特征表示;其中,该第一特征表示根据该第一样本序列的注意力信息确定,该注意力信息与该第一样本序列中每对实体之间的距离信息和关系信息中的至少一项相关;
[0182]
损失函数确定模块930,用于根据各个实体的第一特征表示,确定损失函数的值;以及,
[0183]
调整模块940,用于根据该损失函数的值调整该推荐模型的参数,以对该推荐模型进行训练。
[0184]
在一些实施方式中,该第一样本序列中每对实体之间的距离信息采用对应的距离值表示,该距离值与该对实体之间的最短路径正相关。
[0185]
在一些实施方式中,该第一样本序列中每对实体之间的关系信息由第一关系的特征表示和该第一关系的权重中的至少之一确定;
[0186]
该第一关系包括该对实体之间的关系;
[0187]
该第一关系的特征表示或该第一关系的权重由该推荐模型确定。
[0188]
图10是根据本公开一实施例的一种推荐模型的训练装置1000的结构示意图,如图10所示,在一些实施方式中,本公开实施例提出的一种推荐模型的训练装置1000,还包括:
[0189]
元图构建模块1050,用于利用数据集合构建元图信息,该数据集合包括用户与商品的交互集合、以及用户与商品的知识图谱集合中的至少之一;
[0190]
该元图信息中包括多个第一样本序列,每个第一样本序列对应一个用户-商品对,该用户-商品对中包括第一用户和第一商品;
[0191]
第一样本序列中包括该第一用户的用户实体、该第一用户的近邻实体、该第一用户到该第一商品的路径中所包含的路径实体、该第一商品的近邻实体、以及该第一商品的商品实体中的至少之一。
[0192]
在一些实施方式中,该元图构建模块1050用于:
[0193]
从该数据集合中选择一个用户,将该用户的实体作为当前实体;
[0194]
针对当前实体的各个近邻实体,根据与该近邻实体有关系的实体的个数、以及当前实体与该近邻实体的关系在该数据集合中出现的次数中的至少之一,确定该近邻实体作为该当前实体的下一个实体的第一概率;
[0195]
根据第一概率,从当前实体的各个近邻实体中确定下一个实体;
[0196]
将下一个实体作为当前实体,重复执行针对当前实体的各个近邻实体确定该第一概率的过程,直至确定出的下一个实体为商品实体的情况下,结束构建过程。
[0197]
在一些实施方式中,该第一特征表示根据第一样本序列的注意力信息确定,包括:
[0198]
该第一特征表示根据第一样本序列的注意力信息、第一样本序列中各个实体的初始特征表示、以及第一样本序列中各个实体的第二特征表示确定;其中,
[0199]
该第二特征表示用于表征对应实体的类型,该类型包括以下至少一种:
[0200]
第一类型,包括第一用户的用户实体或第一商品的商品实体;
[0201]
第二类型,包括第一用户的近邻实体或第一商品的近邻实体;
[0202]
第三类型,包括路径实体。
[0203]
在一些实施方式中,该初始特征表示或该第二特征表示由该推荐模型根据该第一样本序列得到。
[0204]
在一些实施方式中,该第一输入模块910用于:
[0205]
针对该第一样本序列中的各个路径,将该路径中的第一商品、以及该路径以外的其他路径中的实体进行掩码,将掩码后的第一样本序列输入该推荐模型。
[0206]
在一些实施方式中,该损失函数确定模块930用于:
[0207]
根据各个实体的第一特征表示中,该第一用户的用户实体的第一特征表示和该第一商品的商品实体的第一特征表示,确定第一损失函数;
[0208]
根据各个实体的第一特征表示中,该第一商品的商品实体的第一特征表示,确定为该第一用户推荐各个第二商品的第二概率;根据该第二概率,确定第二损失函数;该第二商品为该数据集合中的任意商品;
[0209]
利用该第一损失函数和该第二损失函数,确定该损失函数的值。
[0210]
在一些实施方式中,本公开实施例提出的一种推荐模型的训练装置1000,还包括:
[0211]
路径权重确定模块1060,用于针对第一样本序列中的各个路径,根据该第二损失函数确定该路径的权重。
[0212]
本公开实施例还提出一种商品推荐装置,图11是根据本公开一实施例的一种商品推荐装置1100的结构示意图,包括:
[0213]
序列构建模块1110,利用第二用户构建第二序列,该第二序列包括多个实体,多个实体中的第一个实体为该第二用户对应的实体;
[0214]
第二输入模块1120,用于将该第二序列输入推荐模型;
[0215]
确定模块1130,用于根据该推荐模型的预测结果,确定为该第二用户推荐的商品;其中,该推荐模型由本公开实施例提出的任意一种推荐模型的训练方法训练得到。
[0216]
在一些实施方式中,该推荐模型的预测结果包括:该第二序列中的各个实体对应的特征表示;
[0217]
该确定模块1130用于,根据该第二序列中最后一个实体对应的特征表示,确定为该第二用户推荐的商品。
[0218]
本公开实施例的装置的各模块、子模块的具体功能和示例的描述,可以参见上述方法实施例中对应步骤的相关描述,在此不再赘述。
[0219]
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0220]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0221]
图12示出了可以用来实施本公开的实施例的示例电子设备1200的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0222]
如图12所示,设备1200包括计算单元1201,其可以根据存储在只读存储器(rom)1202中的计算机程序或者从存储单元1208加载到随机访问存储器(ram)1203中的计算机程序,来执行各种适当的动作和处理。在ram1203中,还可存储设备1200操作所需的各种程序和数据。计算单元1201、rom1202以及ram1203通过总线1204彼此相连。输入/输出(i/o)接口1205也连接至总线1204。
[0223]
设备1200中的多个部件连接至i/o接口1205,包括:输入单元1206,例如键盘、鼠标等;输出单元1207,例如各种类型的显示器、扬声器等;存储单元1208,例如磁盘、光盘等;以及通信单元1209,例如网卡、调制解调器、无线通信收发机等。通信单元1209允许设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0224]
计算单元1201可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1201的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1201执行上文所描述的各个方法和处理,例如推荐模型的训练方法。例如,在一些实施例中,推荐模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由rom1202和/或通信单元1209而被载入和/或安装到设备1200上。当计算机程序加载到ram1203并由计算单元1201执行时,可以执行上文描述的推荐模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行推荐模型的训练方法。
[0225]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0226]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0227]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或
上述内容的任何合适组合。
[0228]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
[0229]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0230]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0231]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0232]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1