推荐对象的排序方法、模型训练方法、装置及电子设备与流程

文档序号:28282794发布日期:2021-12-31 21:45阅读:97来源:国知局
推荐对象的排序方法、模型训练方法、装置及电子设备与流程

1.本技术涉及计算机技术领域,尤其涉及一种推荐对象的排序方法、模型训练方法、装置及电子设备及电子设备。


背景技术:

2.在推荐系统中,给当前用户推荐对象时,通常会确定多个候选对象,对这多个候选对象进行排序,以确定这些候选对象的优先程度,将优先程度比较高的候选对象推荐给该当前用户,从而提高用户的体验。
3.目前,较常用的排序方法是成对方法(pairwise),即将排序问题转换为序列分类或回归问题,例如输入为(a,b,c,d),则需要构造(a,b)、(b,c)、(a,c)、
……
、(c,d)等所有组队,通过算法判断上述组队中排序是否正确,正确则为1,不正确则为0。但这种组队排序方法存在计算过程繁琐,效率低的问题。


技术实现要素:

4.本技术提供一种推荐对象的排序方法、模型训练方法、装置及电子设备。用以解决对目前对候选对象的排序存在过程繁琐、效率低的问题。
5.第一方面,本技术实施例提供一种推荐对象的排序方法,包括:获取目标用户的用户标识,以及目标用户对应的多个待推荐对象的对象标识;将用户标识和对象标识输入目标网络模型,得到对象标识对应的排序序号,目标网络模型用于确定为目标用户推荐待推荐对象时待推荐对象的排序序号;根据排序序号,对待推荐对象进行排序。
6.在本技术的一个实施例中,目标网络模型包括:预处理层、卷积网络层和后处理层,将用户标识和各对象标识输入目标网络模型,得到各对象标识对应的排序序号,包括:将用户标识和各对象标识经过预处理层进行特征融合处理,得到第一融合向量;将第一融合向量经过卷积网络层进行卷积处理,得到目标特征向量;将目标特征向量经过后处理层进行后处理,得到各对象标识对应的排序序号。
7.在本技术的一个实施例中,预处理层包括:输入子层、嵌入子层和第一融合子层,将用户标识和各对象标识经过预处理层进行特征融合处理,得到第一融合向量,包括:将用户标识经过输入子层进行独热编码处理,得到用户标识对应的用户一维向量;将对象标识经过输入子层进行独热编码处理,得到对象标识对应的对象一维向量;将用户一维向量经过嵌入子层进行稠密化处理,得到用户稠密向量;将对象一维向量经过嵌入子层进行稠密化处理,得到对象稠密向量;将各个对象稠密向量进行合并,得到多维稠密向量;将用户稠密向量和多维稠密向量经过第一融合子层融合处理,得到第一融合向量。
8.在本技术的一个实施例中,卷积网络层包括激活函数和多种类型的卷积核,每种类型的卷积核具有多个;将第一融合向量经过卷积网络层进行卷积处理,得到目标特征向量,包括:采用不同类型的卷积核,分别对第一融合向量分进行特征提取,得到多个中间特征向量;采用激活函数对多个中间特征向量分别进行非线性处理,得到目标特征向量。
9.在本技术的一个实施例中,业务数据信息还包括:全局事件;全局事件包括多个事件信息,模型训练方法还包括:消息订阅模块向引擎服务单元配置全局事件。
10.在本技术的一个实施例中,后处理层包括:池化子层,第二融合子层,多个全连接子层和决策层,将目标特征向量经过后处理层进行后处理,得到各对象标识对应的排序序号,包括:采用池化子层对目标特征向量进行池化处理,得到池化向量;采用第二融合子层,对不同类型的卷积核对应的池化向量进行融合处理,得到第二融合向量;采用多个全连接子层对第二融合向量进行概率预估处理,得到待推荐对象对应的结果向量,结果向量用于表示将待推荐对象映射到样本排序序号标记空间;采用决策层对结果向量进行回归处理,得到各个待推荐对象属于各个样本排序序号标记的概率,其中,将每一待推荐对象对应的概率最大的样本标记序号确定为该待推荐对象的排序序号。
11.第二方面,本技术实施例提供一种模型训练方法,用于训练第一方面中任一项的目标网络模型,模型训练方法,包括:获取多个训练样本,训练样本包括样本用户标识,和样本用户标识对应的各样本推荐对象的样本对象标识;获取训练样本对应的标签数据,标签数据用于表示样本对象推荐对象对应的实际排序序号;将训练样本输入目标网络模型,得到训练输出排序序号;根据实际排序序号和训练输出排序序号,调整目标网络模型参数,直到实际排序序号与训练输出排序序号的差值小于阈值,得到训练完成的目标网络模型。
12.第三方面,本技术实施例提供一种推荐对象的排序装置,包括:获取模块,用于获取目标用户的用户标识,以及目标用户对应的多个待推荐对象的对象标识;输入模块,用于将用户标识和对象标识输入目标网络模型,得到对象标识对应的排序序号,目标网络模型用于确定为目标用户推荐待推荐对象时待推荐对象的排序序号;排序模块,用于根据排序序号,对待推荐对象进行排序。
13.第四方面,本技术实施例提供一种模型训练装置,用于训练第三方面的目标网络模型,模型训练装置,包括:第一获取模块,用于获取多个训练样本,训练样本包括样本用户标识,和样本用户标识对应的各样本推荐对象的样本对象标识;第二获取模块,获取训练样本对应的标签数据,标签数据用于表示样本对象推荐对象对应的实际排序序号;输入模块,用于将训练样本输入目标网络模型,得到训练输出排序序号;调整模块,用于根据实际排序序号和训练输出排序序号,调整目标网络模型参数,直到实际排序序号与训练输出排序序号的差值小于阈值,得到训练完成的目标网络模型。
14.第五方面,本技术实施例提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使电子设备能够执行本技术第一方面中任一项的推荐对象的排序或第二方面中的模型训练方法。
15.第六方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本技术第一方面中任一项的推荐对象的排序或第二方面
中的模型训练方法。
16.本技术实施例提供一种推荐对象的排序方法、模型训练方法、装置及电子设备,该推荐对象的排序方法包括:获取目标用户的用户标识,以及目标用户对应的多个待推荐对象的对象标识;将用户标识和对象标识输入目标网络模型,得到对象标识对应的排序序号,目标网络模型用于确定为目标用户推荐待推荐对象时待推荐对象的排序序号;根据排序序号,对待推荐对象进行排序。在本技术实施例中通过目标网络模型对目标用户对应的待推荐对象进行排序,能够降低待推荐对象排序的繁琐程度,进而提高待推荐对象排序的效率。
附图说明
17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
18.图1为本技术实施例提供的一种推荐对象的排序方法的场景示意图;图2为相关技术提供的一种推荐对象的排序方法的步骤流程图;图3为本技术实施例提供的另一种推荐对象的排序方法的步骤流程图;图4为本技术实施例提供的一种目标网络模型的结构框图;图5为本技术实施例提供的预处理层处理过程的示例图;图6为本技术实施例提供的卷积核处理过程的示例图;图7为本技术实施例提供的激活函数处理过程的示例图;图8为本技术实施例提供的池化层处理过程的示例图;图9为本技术实施例提供的全连接子层处理过程的示例图;图10为本技术实施例提供的一种模型训练方法的步骤流程图;图11为本技术实施例提供的一种推荐对象的排序装置的结构框图;图12为本技术实施例提供的一种模型训练装置的结构框图;图13为本技术一实施例提供的电子设备的硬件结构示意图。
19.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
20.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
22.此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
23.示例性的,图1为本技术一实施例提供的推荐对象的排序方法的场景示意图,如图1所示,用户在使用电子设备10浏览咨询内容b1时,电子设备10的显示界面的广告位会给用户推荐对象a1,当用户点击下一页时。显示界面显示咨询内容b2,广告位会给用户推荐对象a2。其中,在给当前用户推荐对象a1和a2时,需要对对象a1和对象a2排序,排序较前的对象更符合用户的喜好,因此可以较前的推荐给用户。
24.上述只是示例性的一个应用场景,本技术实施例可以应用在互联网中任何排序场景中,如电子商务、社交网络等,以按照用户的喜好推荐给用户偏好的对象,在此不再赘述。
25.对于上述应用场景中,相关技术采用的一种方法是点对点(pointwise)的方法,该点对点的方法是将排序问题转化为对各输入样本的评分回归问题,按照各样本得分高低完成排序,该方法需要独立对参与排序的样本做回归训练,排序的准确率较低。另一种方法是成对方法(pairwise),该方法是将排序问题转换为序列分类或回归问题,当时该方法需要对各组队中的对象进行比较,当输入为n时,需要完成n
×
(n

1)/2次的操作,存在计算量大、且过程繁琐的问题。再一种方法是列表方法(listwise),该方法采用更直接的方式对排序问题进行处理,在学习和预测过程中将排序列表作为一个样本,排序结构被保持,该方法最直接,但是最难实现,实质上还是将该问题转换为成对方法的问题进行处理,所以也存储计算量大、且过程繁琐的问题。
26.基于上述相关技术存在的问题,本技术提供一种推荐对象的排序方法,能够通过将用户标识和对象标识输入目标网络模型,通过目标网络模型的处理直接输出待推荐对象的排序序号,具有排序准确率高,过程简单,排序效率高的技术效果。
27.下面,通过具体实施例对本技术的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
28.图2为本技术一实施例提供的推荐对象的排序方法的流程图。本技术实施例提供一种推荐对象的排序方法,具体包括以下步骤:s201,获取目标用户的用户标识,以及目标用户对应的多个待推荐对象的对象标识。
29.其中,用户标识可以是表示用户属性的标识,例如,用户的id(身份信息)、用户的职业、用户的年龄、用户的性别或者用户的资产等。此外,对象标识可以是对应对象的名称,对象的id(身份信息)等。
30.示例性的,目标用户“阿兰”的用户标识为“学生”,多个待推荐对象的对象标识分别为:“书”、“灯”、“被子”和“手机”。
31.s202,将用户标识和对象标识输入目标网络模型,得到对象标识对应的排序序号。
32.其中,目标网络模型用于确定为目标用户推荐待推荐对象时待推荐对象的排序序号。
33.在本技术实施例中,目标网络模型是预先训练好的,可以根据输入的用户标识和
对应的对象标识,输出对应的排序序号。该排序序号是待推荐对象对于用户标识的,若用户标识不同,但是对应的待推荐对象相同,则得出的排序序号可能不同。
34.其中,将用户标识“学生”、对象标识“书”、“灯”、“被子”和“手机”输入网络模型,输出的排序序号为,书

01,手机

02,被子

03,灯

04。若将用户标识“it男士”,对象标识“书”、“灯”、“被子”和“手机”输入网络模型,输出的排序序号为,手机

01,书

02,灯

03。被子

04。可知,不同的用户标识下,相同的对象标识的排序序号不同。进而可以实对不同目标用户的待推荐对象的个性化排序,以实现在推荐待推荐对象时的针对性推荐。
35.在本技术实施例中,采用目标网络模型,可以对用户标识对应的各对象标识,通过一次处理则能计算出所有对象标识的排序序号,进而提高了待推荐对象排序的效率。此外,由于目标网络模型是预先根据大量样本训练得到的,进而能提高确定排序序号的准确度。
36.s203,根据排序序号,对待推荐对象进行排序。
37.在本技术实施例中,排序序号可以是用正数表示,则排序的方式可以是按照排序序号从小到大的顺序排序。此外,排序序号也可以用其他数表示,则对应的排序也可以是按照排序序号从小到大或者从大到小的顺序排序,在此不加以限定。
38.本技术实施例提供一种推荐对象的排序方法,该推荐对象的排序方法包括:获取目标用户的用户标识,以及目标用户对应的多个待推荐对象的对象标识;将用户标识和对象标识输入目标网络模型,得到对象标识对应的排序序号,目标网络模型用于确定为目标用户推荐待推荐对象时待推荐对象的排序序号;根据排序序号,对待推荐对象进行排序。在本技术实施例中通过目标网络模型对目标用户对应的待推荐对象进行排序,能够降低待推荐对象排序的繁琐程度,进而提高待推荐对象排序的效率。
39.参照图3,为本技术另一实施例提供的推荐对象的排序方法的步骤流程图。该推荐对象的排序方法具体包括如下步骤:s301,获取目标用户的用户标识,以及目标用户对应的多个待推荐对象的对象标识。
40.此步骤的具体实现过程参照s201,在此不再赘述。
41.s302,将用户标识和各对象标识经过预处理层进行特征融合处理,得到第一融合向量。
42.其中,参照图4,为目标网络模型的结构示意图,该目标网络模型40包括:预处理层41、卷积网络层42和后处理层43。具体的,预处理层41包括:输入子层411、嵌入子层412和第一融合子层413。卷积网络层42包括多个卷积核(如图4中e1至e3)何激活函数。后处理层43包括:池化子层、融合子层、多个全连接子层(图中f1至f2)、形状转换层和决策层。
43.具体的,将用户标识和各对象标识经过预处理层进行特征融合处理,得到第一融合向量,包括:将用户标识经过输入子层进行独热编码处理,得到用户标识对应的用户一维向量;将对象标识经过输入子层进行独热编码处理,得到对象标识对应的对象一维向量;将用户一维向量经过嵌入子层进行稠密化处理,得到用户稠密向量;将对象一维向量经过嵌入子层进行稠密化处理,得到对象稠密向量;将各个对象稠密向量进行合并,得到多维稠密向量;将用户稠密向量和多维稠密向量经过第一融合子层融合处理,得到第一融合向量。
44.其中,将用户标识和各对象标识输入该输入子层411,输入子层411可以采用onehot(独热编码)对用户标识和对象标识进行编码转换处理,得到对应的onehot向量(用
户一维向量和对象一维向量)。
45.示例性的,参照表1,若有n个对象标识,则用户一维向量和对象一维向量均为(n+1)元的一维向量。表1中只示出有4个对象标识的情况,在实际使用过程中可能具有成千上百数量的对象标识。
46.表1标识onehot向量用户标识“学生”用户一维向量(1,0,0,0,0)对象标识“书”对象一维向量(0,1,0,0,0)对象标识“灯”对象一维向量(0,0,1,0,0)对象标识“被子”对象一维向量(0,0,0,1,0)对象标识“手机”对象一维向量(0,0,0,0,1)进一步的,嵌入子层412包括:用户嵌入子层(embedding u)和对象嵌入子层(embedding n)。其中,每个对象标识对应一个对象嵌入子层(图4中d至dn)。其中,用户嵌入子层的作用是用一个多维的浮点数据(用户稠密向量)表示用户一维向量,进而表示用户标识。对象嵌入子层的作用也是用一个多维的浮点数据(对象稠密向量)表示对象一维向量,进而表示对象标识。用户稠密向量和对象稠密向量的采用的维度相同,如32维。通常情况下待排序对象的数量巨大,则用户一维向量或者对象一维向量的元数较多,因此经过嵌入子层的处理,可以将用户一维向量压缩成一个多维稠密向量,将用户一维向量也压缩成一个多维稠密向量。
47.此外,示例性的,参照图5,用户一维向量经过嵌入子层的处理,得到一个5维的用户稠密向量51,各对象一维向量进去嵌入子层的处理,分别得到一个5维的对象稠密向量(52至55)。
48.然后在嵌入子层中将对象稠密向量(52至55)合并,得到多维稠密向量56。具体的,若对象标识的个数为n,每个对象稠密向量为m维,则得到的多维稠密向量为n
×
m的向量。
49.进一步的,参照图5,将用户稠密向量51和多维稠密向量56经过第一融合子层413融合处理,得到第一融合向量57。其中,融合处理是指,将用户稠密向量51和多维稠密向量56中每一维向量对应进行叠加,通过叠加的方式融合在一起,形成第一融合向量57。
50.在本技术实施例中,通过预处理层对用户标识和对象标识进行特征融合处理,以便后续步骤的实现。
51.s303,将第一融合向量经过卷积网络层进行卷积处理,得到目标特征向量。
52.具体的,卷积网络层包括激活函数和多种类型的卷积核,每种类型的卷积核具有多个。参照图4,包括卷积核e1、卷积核e2和卷积核e3这三种卷积核。
53.其中,卷积核e1可以是1
×
1的卷积核,卷积核e2可以是3
×
3的卷积核,卷积核e3可以是5
×
5的卷积核,每种卷积核可以由128个。其中,每一个卷积核均对第一融合向量进行卷积,进而可以通过并联卷积的方式得到不同卷积核下的特征结果,可以更好的表针对象标识和对象标识之间的关系。
54.此外,卷积核还可以选择其他类型的卷积核,在此不加以限定。
55.进一步的,将第一融合向量经过卷积网络层进行卷积处理,得到目标特征向量,包括:采用不同类型的卷积核,分别对第一融合向量分进行特征提取,得到多个中间特征向
量;采用激活函数对多个中间特征向量分别进行非线性处理,得到目标特征向量。
56.其中,卷积核进行特征提取的公式为。该式中表示第一融合向量,其中,j∈[0,n),k∈[0,m),n为第一融合向量的行,m为第一融合向量的列,表示卷积核,∈[0,s),∈[0,s),s为卷积核的维度。例如,若卷积核为1
×
1,则s为1,若卷积核为3
×
3,则s为3。为偏差,是目标网络模型在训练过程中得到的值。
[0057]
示例性的,参照图6,在偏差为0时,采用1
×
1的卷积核62对第一融合向量61进行特征提取,得到一个中间特征向量64。采用3
×
3的卷积核63对第一融合向量61进行特征提取,得到一个中间特征向量65。其中。卷积核的具体向量值是在目标网络模型训练过程中得到的。此外,若具有128个卷积核62,则可以得128个中间特征向量64,若具有128个卷积和63,则也可以得到128个中间特征向量65。
[0058]
在本技术实施例中,通过卷积核的特征提取处理,可以提取出用户标识

对象标识序列中,局部对象标识区域之间的相互关系。
[0059]
进一步的,将得到的中间特征向量采用激活函数进行非线性处理,得到目标特征向量。此外,该激活函数的作用是使目标网络模型具有非线性特性,其中,卷积核和后续的全连接子层本身不具有非线性特征,而目标网络模型的功能是将输入的数据变成期望的输出数据,若没有激活函数的非线性处理,目标网络模型无法完成这个功能。在本技术中,激活函数选择tanh(双曲正切函数),tanh函数是关于原点中心对称,可以保留卷积核输出的正负结果,该正负结果可以很好的对后续的池化子层服务,并且采用该函数tanh可以将中间特征向量中的各值收敛在[

1,1]之间,将中间特征向量中的各值均转换层[

1,1]之间的值,不会改变中间特征向量的数据维度。
[0060]
示例性的,参照图7,中间特征向量71经过激活函数非线性处理后得到目标特征向量73,中间特征向量72经过激活函数非线性处理后得到目标特征向量74。
[0061]
s304,将目标特征向量经过后处理层进行后处理,得到各个待推荐对象属于各个样本排序序号标记的概率。
[0062]
参照图4,后处理层43包括:池化子层,第二融合子层,多个全连接子层和决策层。其中,将目标特征向量经过后处理层进行后处理,得到各对象标识对应的排序序号,包括:采用池化子层对目标特征向量进行池化处理,得到池化向量;采用第二融合子层,对不同类型的卷积核对应的池化向量进行融合处理,得到第二融合向量;采用多个全连接子层对第二融合向量进行概率预估处理,得到待推荐对象对应的结果向量,结果向量用于表示将待推荐对象映射到样本排序序号标记空间;采用决策层对结果向量进行回归处理,得到各个待推荐对象属于各个样本排序序号标记的概率,其中,将每一待推荐对象对应的概率最大的样本标记序号确定为该待推荐对象的排序序号。
[0063]
其中,池化子层的目的是对目标特征向量进行特征的选取(可以是最大值、最小值或者平均值),池化子层能够有效的减少目标特征向量中的特征参数的量,同时具有正则化效果,一定程度上可以提高目标网络模型的鲁棒性。
[0064]
在本技术实施例中,池化子层可以选择最大池化的方式,提取目标特征向量中一块区域的最大值,即提取正向最大信息,进而选取出后续对排序最重要的特征,以便后续的计算。本技术实施例中可以选取任意规格的一个或多个池化方式,如2
×
2或4
×
4等。
[0065]
示例性的,参照图8,选取4
×
4的最大池化对目标特征向量81进行池化处理,得到池化向量83,选取2
×
2的最大池化对目标特征向量82进行池化处理,得到池化向量84。
[0066]
进一步的,采用第二融合子层,对不同类型的卷积核对应的池化向量进行融合处理,得到第二融合向量,是指将各个池化向量融合在一起。
[0067]
示例性的,参照图8,若有128个1
×
1的卷积核,则得到的池化向量83也有128个,若有128个2
×
2的卷积核,则得到的池化向量84也有128个。则融合后得到的第二融合向量可以是(1,1,

,1,0.5,0.5,
……
,0.5)。
[0068]
另一种示例性的,若有三种卷积核,分别128个1
×
1的卷积核e1,128个3
×
3的卷积核e2,128个5
×
5的卷积核e3,卷积核e1对应的池化向量为[1,128]维的数据、卷积核e2对应的池化向量也为[1,128]维的数据、卷积核e3对应的池化向量也为[1,128]维的数据。则融合后为的第二融合向量为[1,k]维的数据,其中k为384。
[0069]
参照图4,然后将第二融合向量通过各个全连接子层进行处理,其中,全连接子层的个数和对象标识的个数相同并且一一对应。其中,全连接子层的计算公式为y=x
×
w+b,该式中x是输入的第二融合向量[1,k]。w是权重矩阵,该权重矩阵是目标网络模型训练得到的,维度为[k,m]。b是偏置参数,为一维数组[m],该偏置参数也是目标网络模型在训练得到的。y是全连接子层的输出,用于表示第二融合向量映射到各个样本排序序号标记空间的结果,维度为[1, m]。
[0070]
其中,第二融合向量依次输入每个全连接子层,每个全连接子层会输出为[1,n]维的向量,该向量包括n个值,该值的个数与对象标识的个数相同。然后将n个全连接子层的输出n个[1,n]维向量进行融合,对应具有n
×
n个值,将每个[1,n]维向量进行变换,得到[n,1]维的向量,则n个[n,1]维的向量组合后得到结果向量,该结果向量为[n,n]维的向量,该结果向量用于表示将待推荐对象映射到样本排序序号标记空间。
[0071]
示例性的,参照图9,将第二融合向量91依次输入每个全连接子层(f1至f4),每个全连接子层输出一个维数为[1,4]的向量,然后将这些向量转换并合并后得到结果向量92。其中,结果向量92的每一列对应一个目标标识。
[0072]
在本技术实施例中,决策层采用的是softmax(逻辑回归)决策函数,该决策函数的计算公式为,其中,j依次取结果向量中的一列中的各个值,i为结果向量中一列的值,为该i对应的0至1之间的浮点数组,其中,为各个待推荐对象属于各个样本排序序号标记的概率,使s值最大的i对应的样本标记序号即为对应的排序序号。其中,结果向量中每一列的各值的样本排序序号标记分别为[1,2,3,

,n]。
[0073]
示例性的,在图9中结果向量92第一列对应的为对象标识“书”。则计算结果为,其他三个值均为,则使其中最大的i对应的样本排序序号标记为1,则对象标识“书”的排序序号为1,采用相同的方式,确定对象标识“灯”的排序序号为4,确定对象标识“被子”的排序序号为3,确定对象标识“手机”的排序序号为2。
[0074]
再例如,在图9中结果向量92中第四列中第一个概率值0.1对应的样本排序序号标记为1,第二个概率值0.1对应的样本排序序号标记为2,第三个概率值0.5对应的样本排序
序号标记为3,第四个概率值0.3对应的样本排序序号标记为4。
[0075]
在本技术实施例中,通过上述方式可以一次得到各个对象标识对应的排序序号,排序效率高且过程简单。
[0076]
s305,根据排序序号,对待推荐对象进行排序。
[0077]
该步骤的具体实现过程参照步骤s203,在此不再赘述。
[0078]
在本技术实施例中,利用神经网络强大的特征表达能力以及特征整合能力,对对象标识直接进行序号的计算,模型复杂度低,并且直接对输入的对象标识进行序号预测,不需要通过拍日色间接排序,将排序问题转换成对应排序序号的分类识别问题,准确率高,且直接能得到排序结构,简单直观。
[0079]
参照图10,为本技术一实施例提供的模型训练方法的步骤流程图。该模型训练方法用于训练图2或图3中的目标网络模型,具体包括如下步骤:s101,获取多个训练样本。
[0080]
其中,训练样本包括样本用户标识,和样本用户标识对应的各样本推荐对象的样本对象标识。
[0081]
s102,获取训练样本对应的标签数据。
[0082]
其中,标签数据用于表示样本对象推荐对象对应的实际排序序号。
[0083]
在本技术实施例中,训练样本和标签数据均为历史数据,例如,训练样本为,样本用户标识“学生”,样本对象标识“书”、“灯”、“被子”和“手机”。标签数据则为书

01,手机

02,被子

03,灯

04。
[0084]
s103,将训练样本输入目标网络模型,得到训练输出排序序号。
[0085]
在本技术实施例中,目标网络模型的结构如图4所示,其中,目标网络模型中各个参数,如卷积核、偏差,权重矩阵等,通过多次训练进行调整。
[0086]
s104,根据实际排序序号和训练输出排序序号,调整目标网络模型参数,直到实际排序序号与训练输出排序序号的差值小于阈值,得到训练完成的目标网络模型。
[0087]
其中,在目标网络模型的决策层softmax输出训练输出排序序号之后,计算模型的损失函数,采用计算最小化交叉熵loss来更新目标网络模型参数。
[0088]
具体的,确定实际排序序号和训练输出排序序号的差值,采用损失函数调整目标网络模型参数。调整目标网络模型参数实质上是调整目标网络模型中卷积、偏差,权重矩阵等参数。
[0089]
其中,阈值是预先设置好的,根据对象标识的数量来确定,具体为与对象标识的数量正相关。例如,对于对象标识的数量大于一万的对象标识,阈值可以设置为6至10之间的一个值,对于对象标识的数量小于一万且大于一千,阈值可以设置为2至6之间的一个值,对于对象标识的数量小于一千大于一百,阈值可以设置为1至2之间的一个值,对于对象标识的数量小于一百,阈值可以设置为1。
[0090]
在本技术实施例中,通过采用样本用户标识,样本对象标识以及标签数据,能够训练得到目标网络模型,以对对象标识的排序序号进行准确且高效的确定。
[0091]
图11为本技术一实施例提供的推荐对象的排序装置110的结构框图。本技术实施例提供的推荐对象的排序装置110包括:获取模块111、输入模块112和排序模块113,其中:获取模块111,用于获取目标用户的用户标识,以及目标用户对应的多个待推荐对
象的对象标识;输入模块112,用于将用户标识和对象标识输入目标网络模型,得到对象标识对应的排序序号,目标网络模型用于确定为目标用户推荐待推荐对象时待推荐对象的排序序号;排序模块113,用于根据排序序号,对待推荐对象进行排序。
[0092]
在本技术的一个实施例中,目标网络模型包括:预处理层、卷积网络层和后处理层,输入模块112包括:融合单元,用于将用户标识和各对象标识经过预处理层进行特征融合处理,得到第一融合向量;卷积单元,用于将第一融合向量经过卷积网络层进行卷积处理,得到目标特征向量;处理单元,用于将目标特征向量经过后处理层进行后处理,得到各对象标识对应的排序序号。
[0093]
在本技术的一个实施例中,预处理层包括:输入子层、嵌入子层和第一融合子层,融合单元具体用于:将用户标识经过输入子层进行独热编码处理,得到用户标识对应的用户一维向量;将对象标识经过输入子层进行独热编码处理,得到对象标识对应的对象一维向量;将用户一维向量经过嵌入子层进行稠密化处理,得到用户稠密向量;将对象一维向量经过嵌入子层进行稠密化处理,得到对象稠密向量;将各个对象稠密向量进行合并,得到多维稠密向量;将用户稠密向量和多维稠密向量经过第一融合子层融合处理,得到第一融合向量。
[0094]
在本技术的一个实施例中,卷积网络层包括激活函数和多种类型的卷积核,每种类型的卷积核具有多个;卷积单元具体用于:采用不同类型的卷积核,分别对第一融合向量分进行特征提取,得到多个中间特征向量;采用激活函数对多个中间特征向量分别进行非线性处理,得到目标特征向量。
[0095]
在本技术的一个实施例中,后处理层包括:池化子层,第二融合子层,多个全连接子层和决策层,处理单元具体用于:采用池化子层对目标特征向量进行池化处理,得到池化向量;采用第二融合子层,对不同类型的卷积核对应的池化向量进行融合处理,得到第二融合向量;采用多个全连接子层对第二融合向量进行概率预估处理,得到待推荐对象对应的结果向量;采用决策层对结果向量进行回归处理,得到各个待推荐对象属于各个样本排序序号标记的概率,其中,将每一待推荐对象对应的概率最大的样本标记序号确定为该待推荐对象的排序序号。
[0096]
本技术实施例提供的推荐对象的排序装置,用于执行图2或图3对应的方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
[0097]
图12为本技术一实施例提供的模型训练装置120的结构框图。本技术实施例提供的模型训练装置120包括:第一获取模块121、第二获取模块122、输入模块123和调整模块124,其中:第一获取模块121,用于获取多个训练样本,训练样本包括样本用户标识,和样本用户标识对应的各样本推荐对象的样本对象标识;第二获取模块122,获取训练样本对应的标签数据,标签数据用于表示样本对象推
荐对象对应的实际排序序号;输入模块123,用于将训练样本输入目标网络模型,得到训练输出排序序号;调整模块124,用于根据实际排序序号和训练输出排序序号,调整目标网络模型参数,直到实际排序序号与训练输出排序序号的差值小于阈值,得到训练完成的目标网络模型。
[0098]
本技术实施例提供的模型训练装置120,用于执行对应的方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
[0099]
图13为本技术实施例提供的电子设备的硬件结构示意图。如图13所示,本技术实施例的电子设备130可以包括:至少一个处理器131(图13中仅示出了一个处理器);以及,与至少一个处理器通信连接的存储器132。其中,存储器132存储有可被至少一个处理器131执行的指令,指令被至少一个处理器131执行,以使电子设备130能够执行前述任一方法实施例中的技术方案。
[0100]
可选的,存储器132既可以是独立的,也可以跟处理器131集成在一起。
[0101]
当存储器132是独立于处理器131之外的器件时,电子设备130还包括:总线133,用于连接存储器132和处理器131。
[0102]
本技术实施例提供的电子设备可以执行前述任一方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。
[0103]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当计算机程序被处理器执行时用于实现前述任一方法实施例中的技术方案。
[0104]
本技术实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一方法实施例中的技术方案。
[0105]
本技术实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中的技术方案。
[0106]
进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述方法实施例中的技术方案。
[0107]
应理解,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0108]
存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
[0109]
总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
[0110]
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合
实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0111]
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
[0112]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1