发明内容
本说明书实施例旨在提供一种更有效的预测用户对对象的评分的方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种基于模型预测用户对对象的评分的方法,所述模型包括至少两组神经网络,所述至少两组神经网络与至少两个平台分别对应,其中,每组神经网络包括对象神经网络和用户神经网络,所述至少两个平台分别具有共同的多个用户,所述多个用户中包括第一用户,所述至少两个平台中包括第一平台,所述第一平台中包括所述第一用户未评分的第一对象,所述方法包括:
获取所述第一用户在各个平台的用户评分向量,其中,第一平台的用户评分向量的维度为第一平台中的对象数,所述第一平台的用户评分向量的各个维度值基于所述第一用户对第一平台中各个对象的实际评分获取;
获取所述第一对象的对象评分向量,所述对象评分向量的维度为所述多个用户的数目,所述对象评分向量的各个维度值基于所述多个用户中各个用户在所述第一平台对该第一对象的实际评分获取;
通过将所述第一用户在各个平台的用户评分向量分别输入与该平台对应的用户神经网络,获取所述第一用户在各个平台的用户潜在向量,其中各个所述用户潜在向量具有相同维度;
通过预定合并函数,基于各个所述用户潜在向量,获取第一用户的用户合并向量;
通过将第一对象的对象评分向量输入与第一平台对应的对象神经网络,获取第一对象的对象潜在向量,其中,所述对象潜在向量与所述用户合并向量具有相同维度;以及
计算所述用户合并向量与所述对象潜在向量的内积,作为所述第一用户在所述第一平台对所述第一对象的预测评分。
本说明书另一方面提供一种基于模型预测用户对对象的评分的方法,所述模型包括至少两组神经网络,所述至少两组神经网络与至少两个平台分别对应,其中,每组神经网络包括对象神经网络和用户神经网络,所述至少两个平台分别具有共同的多个对象,所述多个对象中包括第一对象,所述至少两个平台中包括第一平台,所述第一平台中包括第一用户,其中,所述第一用户未对所述第一对象评分,所述方法包括:
获取第一用户的用户评分向量,其中,所述用户评分向量的维度为所述多个对象的数目,所述用户评分向量的各个维度值基于所述第一用户在所述第一平台中对所述多个对象中各个对象的实际评分获取;
获取所述第一对象在各个平台的对象评分向量,其中,所述第一对象在第一平台的对象评分向量的维度为第一平台中的用户数,所述第一对象在第一平台的对象评分向量的各个维度值基于第一平台中各个用户对该第一对象的实际评分获取;
通过将所述第一对象在各个平台的对象评分向量分别输入与该平台对应的对象神经网络,获取所述第一对象在各个平台的对象潜在向量,其中,各个所述对象潜在向量具有相同维度;
通过预定合并函数,基于各个所述对象潜在向量,获取所述第一对象的对象合并向量;
通过将第一用户的用户评分向量输入与第一平台对应的用户神经网络,获取第一用户的用户潜在向量,其中,所述用户潜在向量与所述对象合并向量具有相同维度;以及
计算所述对象合并向量与所述用户潜在向量的内积,作为所述第一用户在所述第一平台对所述第一对象的预测评分。
在一个实施例中,所述模型通过以下步骤训练:
获取至少一个样本,每个样本包括所述多个用户中任一用户在各个平台的用户评分向量、所述第一平台中任一对象的对象评分向量和标签值,其中所述标签值为该任一用户在所述第一平台对该任一对象的实际评分;以及,
通过所述至少一个样本训练与所述第一平台对应的一组神经网络,以使得所述模型对所述至少一个样本的预测损失减小。
在一个实施例中,所述模型通过以下步骤训练:
获取至少一个样本,每个样本包括所述多个对象中任一对象在各个平台的对象评分向量、所述第一平台中任一用户的用户评分向量和标签值,其中所述标签值为该任一用户在所述第一平台对该任一对象的实际评分;以及
通过所述至少一个样本训练与所述第一平台对应的用户神经网络,以使得所述模型对所述至少一个样本的预测损失减小。
在一个实施例中,所述合并函数为以下任一种函数:求均值函数、求和函数、取最大值函数、加权和函数、注意力模型。
在一个实施例中,所述用户神经网络或所述对象神经网络包括至少一层全连接层。
在一个实施例中,所述实际评分由用户相对于对象直接提供。
在一个实施例中,所述实际评分基于用户相对于对象的操作行为计算获取。
在一个实施例中,所述对象为商品,所述用户相对于对象的操作行为包括以下至少一种:购买、点击、转发。
本说明书另一方面提供一种基于模型向用户展示对象的方法,所述模型用于至少两个平台,所述至少两个平台分别具有共同的多个用户,所述多个用户中包括第一用户,所述至少两个平台中包括第一平台,所述方法包括:
通过上述第一种模型预测方法,预测第一用户分别对第一平台中预定多个未评分对象的预测评分;以及
基于各个所述预测评分,向所述第一用户展示对象。
本说明书另一方面提供一种基于模型向用户展示对象的方法,所述模型用于至少两个平台,所述至少两个平台分别具有共同的多个对象,所述至少两个平台中包括第一平台,所述第一平台中包括第一用户,所述方法包括:
通过上述第二种模型预测方法,预测第一用户分别对所述多个对象中预定多个未评分对象的预测评分;以及
基于各个所述预测评分,向所述第一用户展示对象。
本说明书另一方面提供一种基于模型预测用户对对象的评分的装置,所述模型包括至少两组神经网络,所述至少两组神经网络与至少两个平台分别对应,其中,每组神经网络包括对象神经网络和用户神经网络,所述至少两个平台分别具有共同的多个用户,所述多个用户中包括第一用户,所述至少两个平台中包括第一平台,所述第一平台中包括所述第一用户未评分的第一对象,所述装置包括:
第一获取单元,配置为,获取所述第一用户在各个平台的用户评分向量,其中,第一平台的用户评分向量的维度为第一平台中的对象数,所述第一平台的用户评分向量的各个维度值基于所述第一用户对第一平台中各个对象的实际评分获取;
第二获取单元,配置为,获取所述第一对象的对象评分向量,所述对象评分向量的维度为所述多个用户的数目,所述对象评分向量的各个维度值基于所述多个用户中各个用户在所述第一平台对该第一对象的实际评分获取;
第一输入单元,配置为,通过将所述第一用户在各个平台的用户评分向量分别输入与该平台对应的用户神经网络,获取所述第一用户在各个平台的用户潜在向量,其中各个所述用户潜在向量具有相同维度;
合并单元,配置为,通过预定合并函数,基于各个所述用户潜在向量,获取第一用户的用户合并向量;
第二输入单元,配置为,通过将第一对象的对象评分向量输入与第一平台对应的对象神经网络,获取第一对象的对象潜在向量,其中,所述对象潜在向量与所述用户合并向量具有相同维度;以及
预测单元,配置为,计算所述用户合并向量与所述对象潜在向量的内积,作为所述第一用户在所述第一平台对所述第一对象的预测评分。
本说明书另一方面提供一种基于模型预测用户对对象的评分的装置,所述模型包括至少两组神经网络,所述至少两组神经网络与至少两个平台分别对应,其中,每组神经网络包括对象神经网络和用户神经网络,所述至少两个平台分别具有共同的多个对象,所述多个对象中包括第一对象,所述至少两个平台中包括第一平台,所述第一平台中包括第一用户,其中,所述第一用户未对所述第一对象评分,所述装置包括:
第一获取单元,配置为,获取第一用户的用户评分向量,其中,所述用户评分向量的维度为所述多个对象的数目,所述用户评分向量的各个维度值基于所述第一用户在所述第一平台中对所述多个对象中各个对象的实际评分获取;
第二获取单元,配置为,获取所述第一对象在各个平台的对象评分向量,其中,所述第一对象在第一平台的对象评分向量的维度为第一平台中的用户数,所述第一对象在第一平台的对象评分向量的各个维度值基于第一平台中各个用户对该第一对象的实际评分获取;
第一输入单元,配置为,通过将所述第一对象在各个平台的对象评分向量分别输入与该平台对应的对象神经网络,获取所述第一对象在各个平台的对象潜在向量,其中,各个所述对象潜在向量具有相同维度;
合并单元,配置为,通过预定合并函数,基于各个所述对象潜在向量,获取所述第一对象的对象合并向量;
第二输入单元,配置为,通过将第一用户的用户评分向量输入与第一平台对应的用户神经网络,获取第一用户的用户潜在向量,其中,所述用户潜在向量与所述对象合并向量具有相同维度;以及
预测单元,配置为,计算所述对象合并向量与所述用户潜在向量的内积,作为所述第一用户在所述第一平台对所述第一对象的预测评分。
在一个实施例中,所述模型通过训练装置训练,所述训练装置包括:
获取单元,配置为,获取至少一个样本,每个样本包括所述多个用户中任一用户在各个平台的用户评分向量、所述第一平台中任一对象的对象评分向量和标签值,其中所述标签值为该任一用户在所述第一平台对该任一对象的实际评分;以及
训练单元,配置为,通过所述至少一个样本训练与所述第一平台对应的一组神经网络,以使得所述模型对所述至少一个样本的预测损失减小。
在一个实施例中,所述模型通过训练装置训练,所述训练装置包括:
获取单元,配置为,获取至少一个样本,每个样本包括所述多个对象中任一对象在各个平台的对象评分向量、所述第一平台中任一用户的用户评分向量和标签值,其中所述标签值为该任一用户在所述第一平台对该任一对象的实际评分;以及
训练单元,配置为,通过所述至少一个样本训练与所述第一平台对应的一组神经网络,以使得所述模型对所述至少一个样本的预测损失减小。
本说明书另一方面提供一种基于模型向用户展示对象的装置,所述模型用于至少两个平台,所述至少两个平台分别具有共同的多个用户,所述多个用户中包括第一用户,所述至少两个平台中包括第一平台,所述装置包括:
预测单元,配置为,通过上述第一种模型预测装置,预测第一用户分别对第一平台中预定多个未评分对象的预测评分;以及
展示单元,配置为,基于各个所述预测评分,向所述第一用户展示对象。
本说明书另一方面提供一种基于模型向用户展示对象的装置,所述模型用于至少两个平台,所述至少两个平台分别具有共同的多个对象,所述至少两个平台中包括第一平台,所述第一平台中包括第一用户,所述装置包括:
预测单元,配置为,通过上述第二种模型预测装置,预测第一用户分别对所述多个对象中预定多个未评分对象的预测评分;以及
展示单元,配置为,基于各个所述预测评分,向所述第一用户展示对象。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。
在根据本说明书实施例的基于模型的评分预测方案中,使用多任务学习方法构建用于至少两个平台的评分预测模型,使得至少两个平台能够彼此挖掘其中的信息,提升评分预测正确性,从而在基于该评分进行对象推荐时,提升了推荐效果。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出根据本说明书实施例的评分预测模型100的示意图。如图1所示,该评分预测模型包括:用于平台1的第一输入模块11、第一组神经网络12和第一输出模块13、用于平台2的第二输入模块14、第二组神经网络15和第二输出模块16、以及合并模块17。该评分预测模型100为多任务处理模型,其中通过第一组神经网络12和第二组神经网络15分别进行平台1和平台2的任务处理,并通过合并模块17综合对平台1和平台2的模型训练,从而结合平台1和平台2各自的数据,进行对平台1和平台2中的模型预测,从而使预测结果更加准确。需要理解,本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。
具体是,假设平台1和平台2中分别包括共同的多个用户,其中包括第一用户,平台1中包括第一对象,平台2中包括第二对象。现在将通过模型100分别获取第一用户在平台1中对第一对象的评分、及第一用户在平台2中对第二对象的评分。首先,在第一输入模块11输入第一用户在第一平台的用户评分向量X11和第一对象的对象评分向量Z1,在第二输入模块14输入第一用户在第二平台的用户评分向量X12和第二对象的对象评分向量Z2。然后,通过第一组神经网络12中的对象神经网络获取第一对象的对象潜在向量v1,通过第一组神经网络12中的用户神经网络获取第一用户的用户潜在向量u11,通过第二组神经网络15中的对象神经网络获取第二对象的对象潜在向量v2,通过第二组神经网络15中的用户神经网络获取第一用户的用户潜在向量u12。之后,在合并模块17,通过预定合并函数F(x)对u11和u12进行合并,获取第一用户的用户合并向量u1’=F(u11,u12)。最后,在第一输出模块13,通过将v1与u1’进行内积获取第一用户在平台1对第一对象的预测评分,在第二输出模块16,通过将v2与u1’进行内积获取第一用户在平台2对第二对象的预测评分。
图1所示模型只是示意性的,并不用于限制本说明书实施例的范围,例如,平台1和平台2可以具有多个共同的对象,并通过对相同对象的对象潜在向量进行合并而进行多任务学习。另外,图1中虽然只示出了两个平台,本说明书实施例不限于此,例如模型100中可进行对三个、或三个以上平台的多任务学习。
下面将详细说明上述通过根据本说明书实施例的模型进行的多任务学习的过程。
图2示出根据本说明书实施例的一种基于模型预测用户对对象的评分的方法流程图,所述模型包括至少两组神经网络,所述至少两组神经网络与至少两个平台分别对应,其中,每组神经网络包括对象神经网络和用户神经网络,所述至少两个平台分别具有共同的多个用户,所述多个用户中包括第一用户,所述至少两个平台中包括第一平台,所述第一平台中包括所述第一用户未评分的第一对象,所述方法包括:
在步骤S202,获取所述第一用户在各个平台的用户评分向量,其中,第一平台的用户评分向量的维度为第一平台中的对象数,所述第一平台的用户评分向量的各个维度值基于所述第一用户对第一平台中各个对象的实际评分获取;
在步骤S204,获取所述第一对象的对象评分向量,所述对象评分向量的维度为所述多个用户的数目,所述对象评分向量的各个维度值基于所述多个用户中各个用户在所述第一平台对该第一对象的实际评分获取;
在步骤S206,通过将所述第一用户在各个平台的用户评分向量分别输入与该平台对应的用户神经网络,获取所述第一用户在各个平台的用户潜在向量,其中各个所述用户潜在向量具有相同维度;
在步骤S208,通过预定合并函数,基于各个所述用户潜在向量,获取第一用户的用户合并向量;
在步骤S210,通过将第一对象的对象评分向量输入与第一平台对应的对象神经网络,获取第一对象的对象潜在向量,其中,所述对象潜在向量与所述用户合并向量具有相同维度;以及
在步骤S212,计算所述用户合并向量与所述对象潜在向量的内积,作为所述第一用户在所述第一平台对所述第一对象的预测评分。
在下文中,将参考图1所示的模型对本说明书实施例的方法步骤进行详细说明,可以理解,尽管图1中的模型对应于两个平台,然而,图2所示方法可类似地适用于三个平台、或三个以上平台。
首先,在步骤S202,获取所述第一用户在各个平台的用户评分向量,其中,第一平台的用户评分向量的维度为第一平台中的对象数,所述第一平台的用户评分向量的各个维度值基于所述第一用户对第一平台中各个对象的实际评分获取。
所述第一平台例如为图1中所示的平台1,平台1可以为各种平台,如购物平台、影视评论平台等。例如,在平台1为购物平台的情况中,平台1中的对象为平台中的商品,所述商品可以为物品,也可以为服务。第一用户可以是平台1与平台2共有的多个用户中的任一用户。从而,该第一用户在平台1中的的用户评分向量的维度即为平台1中的商品数目,且各个维度值基于第一用户在平台1中对各个商品的评分获取。这里,所述评分可以是用户对商品的直接打分,也可以是基于用户对各个商品的操作行为计算的评分,在用户未对商品打分、或者未对商品进行任何操作时,可将评分设定为0。例如,用户对商品的操作行为包括点击、购买、转发等等,可统计用户对特定商品的各个操作行为的次数,并基于所述各个次数的加权和计算用户对特定商品的评分。或者,所述评分可以为0或1,其中,0代表未购买,1代表购买,从而可基于用户对商品的购买情况,确定所述评分。所述各个维度值可以等于第一用户对相应商品的评分,或者可以等于0或1,其中,例如,在第一用户对相应商品具有评分的情况中,相应的维度值为1,在没有评分的情况中,相应的维度值为0。
在一个实施例中,平台1为影视评论平台,从而,平台1中的对象为其中的电影或电视。平台1与平台2共有的第一用户在平台1中的的用户评分向量的维度即为平台1中的影视作品数目,且各个维度值基于第一用户在平台1中对各个影视作品的评分获取。其中,各个维度值可以直接等于第一用户在平台1中对相应作品的评分,或者各个维度值可以等于0或1,其中,0对应于第一用户对相应的作品没有评分的情况,1对应于第一用户对相应的作品有评分的情况。
可与平台1类似地,基于平台2中的对象数目及第一用户对平台2中的各个对象的评分,获取第一用户在平台2的用户评分向量。平台2与平台1只要拥有共同的多个用户即可,平台2与平台1可以涉及不同领域,例如,平台1为购物平台,平台2为影评平台。或者,平台2与平台1可涉及相同领域,例如,平台1为一个购物平台,平台2为另一个购物平台。
在步骤S204,获取所述第一对象的对象评分向量,所述对象评分向量的维度为所述多个用户的数目,所述对象评分向量的各个维度值基于所述多个用户中各个用户在所述第一平台对该第一对象的实际评分获取。
如上文所述,第一对象是平台1中的一个对象,例如,平台1为购物平台,第一对象可以为商品。可基于平台1中的交易记录,获取平台1和平台2共有的多个用户在第一平台中对该商品的操作行为,如购买次数、点击次数、转发次数等中至少一种,并基于各个用户的购买行为计算对应的评分。与上文中类似的,第一对象的对象评分向量的各个维度值可以直接等于相应的评分,其中,在对应的用户未对该第一对象进行评分(操作)时,可将相应的维度值设定为0。所述对象评分向量的各个维度值或者可以例如等于0或1,其中,在相应的用户对该第一对象进行评分时,相应的维度值等于1,在相应的用户未对该第一对象进行评分时,相应的维度值等于0。
表1示意示出用于获取用户评分向量和对象评分向量的评分表。假设平台1和平台2分别具有共同的n个用户1,2,…,n,平台1中共包括m个对象(例如商品)1,2,…,m,则可基于平台1中的历史记录(例如交易记录)获取平台1中n个用户对m个对象的评分表。
表1
如表1中所示,表中的各格中的评分为该格对应的用户(列)对该格对应的对象(行)的评分,例如,表1中的评分“1”为用户1对对象1的评分,表1中的“0”表示用户2未对对象2进行评分。从而,基于该评分表可直接获取各个用户的用户评分向量和各个对象的对象评分向量。在一个实施例中,用户评分向量和对象评分向量中的维度值直接等于评分值,从而,可从表1中的各列获取各个用户的用户评分向量,从表1中的各行获取各个对象的对象评分向量。例如,用户1的用户评分向量可从表1第2列直接获取,为(1,3,…,3)T,对象2的对象评分向量可从表1第3行直接获取,为(3,0,…,2)T。在一个实施例中,用户评分向量和对象评分向量中的维度值等于0或1,即,当表1中的相应评分为0时,相应的维度值为0,当表1中的相应评分不为0时,相应的维度值为1。例如,可基于表1第2列,获取用户1的用户评分向量(1,1,…,1)T,可基于表1第3行,获取对象2的对象评分向量(1,0,…,1)T。
在步骤S206,通过将所述第一用户在各个平台的用户评分向量分别输入与该平台对应的用户神经网络,获取所述第一用户在各个平台的用户潜在向量,其中各个所述用户潜在向量具有相同维度。
假设第一用户为表1中的用户1,第一对象为表1中的对象1,在通过如上所述方法获取用户1在各个平台的用户评分向量和第一平台中的对象1的对象评分向量之后,在例如图1所示的模型中,将用户1的用户评分向量分别输入第一组神经网络和第二组神经网络,从而分别获取用户1的两个用户潜在向量u11和u12,将对象1的对象评分向量输入第一组神经网络,从而获取对象1的对象潜在向量v1。如图1中示范示出的,第一组神经网络中包括用于处理用户评分向量的多层神经层(即用户神经网络)、和用于处理对象评分向量的多层神经层(即对象神经网络)。所述神经层例如为全连接层,包括多个神经元,每个神经元都对输入向量的每个维度值进行计算。例如,假设用于处理用户评分向量的多个神经层中的第一个神经层包括p个神经元,p的数目对应于该层神经层输出的潜在向量的维度。图3示意示出神经元中的计算过程。该神经元例如为神经网络输入层中的神经元a2,其具有5维参数W2=(w21,w22,…,w25),该神经元的输出值应为G(f(x1,w1),f(x2,w2)…,f(x5,w5)),该输出值即为该层神经层输出的潜在向量的第2维度的值,其中,(x1,x2,…,x5)为用户1的用户评分向量,G(X)、f(x)为相应的计算函数,例如,其可以为但不限于如以下公式(1)所示的计算函数
G(f(x1,w1),f(x2,w2)…,f(xn,wn))=σ(x1w1+x2w2+…xnwn) (1),
其中,σ()为一种激活函数。在图3中,输入层的每个神经元都可以与神经元a2类似地计算该层神经层输出的潜在向量的各个维度的值,从而获取该层神经层的输出潜在向量。在该输入层的下一层(即包括神经元b1、b2、b3)可与上述输入层类似地获取该层神经层的输出潜在向量。
从而,如图1所示,在第一组神经网络中右侧的对应于用户的多层神经层中,基于用户1在平台1的用户评分向量,通过与上述第一层神经层类似地进行多层神经层的多层计算,从而最终输出用户1的用户潜在向量u11,类似地,基于用户1在平台2的用户评分向量,通过第二组神经网络左侧的对应于用户的多层神经网络最终输出用户1的用户潜在向量u12。其中,通过对第一组神经网络和第二组神经网络的设计,使得其输出的u11和u12具有相同的维度,以便于后续的计算。
在步骤S208,通过预定合并函数,基于各个所述用户潜在向量,获取第一用户的用户合并向量。
所述合并函数可以为求均值函数、求和函数、取最大值函数、加权和函数、注意力模型(attention)等等,所述合并函数不限于上述几个函数,只要其能够起到对上述各个平台的用户潜在向量的合并作用即可。
例如,参考图1,在获取用户1在平台1的用户潜在向量u11和用户1在平台2的用户潜在向量u12,之后,通过合并函数g(u11,u12)对两个平台的计算结果进行合并。在一个实施例中,平台1和平台2采用同样的分制进行评分,例如都采用5分制进行评分,或者平台1和平台2的评分被转换到相同的分制下,例如,平台1为购物平台,其基于用户购物行为的评分被转换到5分制的分数,平台2为影评平台,其评分分制为5分制,在上述两种情况中,可对u11和u12直接进行加和、求平均、求最大值等,从而获取合并后的用户1的用户合并向量u1’。在一个实施例中,平台1和平台2采用不同的分制进行评分,例如平台1为5分制,平台2为10分制,在该情况中,可在合并函数中对u11和u12设定相应的权重,以抵消分制不同的影响。
在步骤S210,通过将第一对象的对象评分向量输入与第一平台对应的对象神经网络,获取第一对象的对象潜在向量,其中,所述对象潜在向量与所述用户合并向量具有相同维度。
同样参考图1,第一对象例如为平台1中的对象1,通过将对象1的对象评分向量输入第一组神经网络,与上述步骤S206中类似地,通过第一组神经网络左侧的与对象评分向量对应的多个神经层,最终输出对象1的对象潜在向量v1。为了便于后续的计算,通过设计神经网络输出层的神经元的个数,从而使得该对象潜在向量v1的维度等于上述用户合并向量u1’的维度。
在步骤S212,计算所述用户合并向量与所述对象潜在向量的内积,作为所述第一用户在所述第一平台对所述第一对象的预测评分。
也就是说,对于上述用户1和对象1,计算用户1的用户合并向量u1’与对象1的对象潜在向量v1的内积u1’T·v1,从而获取用户1在平台1中对对象1的预测评分。
图1所示的模型中的第一组神经网络和第二组神经网络可通过平台1和平台2各自的多个样本进行训练而获取。所述模型的第一组神经网络包括与第一平台的对象评分向量对应的多个第一参数、及与第一平台的用户评分向量对应的多个第二参数,图4示出用于训练图2所示方法对应的模型的方法流程图,包括以下步骤:
在步骤S402,获取至少一个样本,每个样本包括所述多个用户中任一用户在各个平台的用户评分向量、所述第一平台中任一对象的对象评分向量和标签值,其中所述标签值为该任一用户在所述第一平台对该任一对象的实际评分;
在步骤S404,通过所述至少一个样本训练与所述第一平台对应的一组神经网络,以使得所述模型对所述至少一个样本的预测损失减小。
首先,在步骤S402,获取至少一个样本,每个样本包括所述多个用户中任一用户在各个平台的用户评分向量、所述第一平台中任一对象的对象评分向量和标签值,其中所述标签值为该任一用户在所述第一平台对该任一对象的实际评分。
该方法用于训练所述模型中与第一平台对应的神经网络,该第一平台可以为上述至少两个平台中的任一平台。例如,所述模型为图1所示的模型,第一平台例如为图1所示模型中的平台1。对该模型的训练例如通过对模型输入多批样本,从而在输入每批样本时,基于梯度下降法等训练方法进行一次模型训练。其中,每批样本包括至少一个样本,每个样本与所述多个用户中的任一用户和平台1的多个对象中的任一对象相关。例如,其中一个样本i与用户i和对象i相关。则在该样本中包括:用户i在平台1中的用户评分向量、用户i在平台2中的用户评分向量、对象i在平台1中的对象评分向量及用户i在平台1中对对象i的实际评分。也就是说,样本i中包括以下几项:(Xi1、Xi2、Zi、yi),其中Xi1为用户i在平台1的用户评分向量,用户i为样本i对应的用户,该用户为所述多个用户中的任一用户,Xi2为用户i在平台2的用户评分向量,Zi为平台1中的对象i的对象评分向量,对象i为样本i对应的对象,该对象为平台1中的任一对象,yi为用户i对对象i的实际评分。
在步骤S404,通过所述至少一个样本训练与所述第一平台对应的一组神经网络,以使得所述模型对所述至少一个样本的预测损失减小。
例如,例如对于步骤S402中的样本,将用户i的与平台1对应的用户评分向量输入平台1的神经网络,从而获取用户i在平台1的用户潜在向量ui1,将用户i的与平台2对应的用户评分向量输入平台2的神经网络,从而获取用户i在平台2的用户潜在向量ui2。并通过例如加和的合并函数,获取用户i的用户合并向量ui1+ui2。同时,还将对象i的对象评分向量输入平台1的神经网络,从而获取对象i的对象潜在向量vi。另外,可从图1中模型的第一输出模块的输出获取该样本中用户在平台1对该样本中对象的预测评分。
在训练例如图1中的第一组神经网络之前,首先构造与第一组神经网络相关的损失函数,该损失函数基于模型对所述至少一个样本的预测损失构造。从而,所述损失函数例如为如公式(2)所示的均方误差损失函数。
其中,i的数目为至少一个样本的数目,y
i为每个样本中的标签值,
为模型预测值。公式(2)中的第二项Ω(θ)为正则化项,其中θ表示该组神经网络中的全部参数,包括下面提到的θ
1和θ
2。假设第一组神经网络左侧的对象神经网络在输入Z
i之后输出f
1(Z
i,θ
1),第一组神经网络右侧的用户神经网络在输入X
i1之后输出g
2(X
i1,θ
2),其中,θ
1表示对象神经网络中的多个参数中的任一参数,即,f
1(Z
i,θ
1)中除了θ
1之外,还包括其他多个θ
1参数,θ
2表示用户神经网络中的多个参数中的任一参数。另外,与平台2对应的第二组神经网络左侧的用户神经网络在输入X
i2之后输出u
i2。从而,将上述输出代入公式(2)可得公式(3)所示的损失函数:
L=∑i(yi-f1(Zi,θ1)*(g1(Xi1,θ2)+ui2))2+Ω(θ) (3)
其中,假设合并函数为用户i在两个平台的用户潜在向量之和,即g1(Xi1,θ2)+ui2。
从而,基于上述公式(3),根据梯度下降法,可通过如下公式(4)和(5)分别更新参数θ1和θ2,
其中,模型预测评分
通过公式(4)可以得出,基于各个样本对应的用户合并向量(即,g
1(X
i1,θ
2)+u
i2,即u
i1+u
i2)、模型预测误差(即,/>
)、及各个样本包括的对象评分向量(即Z
i),更新各个参数θ
1。通过公式(5)可以得出,基于各个样本对应的对象潜在向量(即,f
1(Z
i,θ
1),即v
i)、模型预测误差(即,
)、及各个样本包括的与第一平台对应的用户评分向量(即,X
i1),更新各个参数θ
2,以使得所述模型对所述至少一个样本的预测损失减小。
本说明书实施例中的损失函数不限于上述公式(3)所示的损失函数,而是可以根据具体模型设定具体的损失函数。另外,本说明书实施例的训练方法不限于上述方法,例如,在用户神经网络和对象神经网络分别是多层网络的情况中,可使用反向传播方法通过上述至少一个样本进行模型的训练,以减少训练过程中的计算量。
上文描述了对模型中与一个平台对应的神经网络的训练,例如,在图1所示的模型中,该方法可用于单独训练平台1对应的第一组神经网络,也可以用于单独训练平台2对应的第二组神经网络,或者可用于同时训练第一组神经网络和第二组神经网络。例如,在同时训练的情况中,在选择与平台1和平台2分别对应的两批样本时,可将该两批样本分别对应于共同的一批用户,从而可获取该批用户各自的用户合并向量,并可将该批用户各自的用户合并向量同时用于第一组神经网络和第二组神经网络的训练。
上文相对于至少两个平台具有共同多个用户的场景进行了描述,在一个实施例中,在至少两个平台具有共同的多个对象的场景中,同样可实施根据本说明书实施例的方案。
图5示出根据本说明书实施例的一种基于模型预测用户对对象的评分的方法流程图,所述模型包括至少两组神经网络,所述至少两组神经网络与至少两个平台分别对应,其中,每组神经网络包括对象神经网络和用户神经网络,所述至少两个平台分别具有共同的多个对象,所述多个对象中包括第一对象,所述至少两个平台中包括第一平台,所述第一平台中包括第一用户,其中,所述第一用户未对所述第一对象评分,所述方法包括:
在步骤S502,获取第一用户的用户评分向量,其中,所述用户评分向量的维度为所述多个对象的数目,所述用户评分向量的各个维度值基于所述第一用户在所述第一平台中对所述多个对象中各个对象的实际评分获取;
在步骤S504,获取所述第一对象在各个平台的对象评分向量,其中,所述第一对象在第一平台的对象评分向量的维度为第一平台中的用户数,所述第一对象在第一平台的对象评分向量的各个维度值基于第一平台中各个用户对该第一对象的实际评分获取;
在步骤S506,通过将所述第一对象在各个平台的对象评分向量分别输入与该平台对应的对象神经网络,获取所述第一对象在各个平台的对象潜在向量,其中,各个所述对象潜在向量具有相同维度;
在步骤S508,通过预定合并函数,基于各个所述对象潜在向量,获取所述第一对象的对象合并向量;
在步骤S510,通过将第一用户的用户评分向量输入与第一平台对应的用户神经网络,获取第一用户的用户潜在向量,其中,所述用户潜在向量与所述对象合并向量具有相同维度;以及
在步骤S512,计算所述对象合并向量与所述用户潜在向量的内积,作为所述第一用户在所述第一平台对所述第一对象的预测评分。
图5所示方法可通过将图2所示方法中的用户评分向量与对象评分向量互换、将用户潜在向量与对象潜在向量互换而获取,因此对于其中的具体实施过程不再赘述。在图5所示方法中,所述至少两个平台例如为图1中所示的平台1和平台2,平台1和平台2具有多个共同的对象,也即平台1和平台2为同种类型的平台,或者至少具有重合业务。例如,其都为购物平台,或者平台1为购物平台,平台2为支付平台,但是其具有部分重合业务,如保险服务、订票服务等,上述两种情况都可适用于图5所示方法。
图6示出用于训练图5所示方法对应的模型的方法流程图,包括以下步骤:
在步骤S602,获取至少一个样本,每个样本包括所述多个对象中任一对象在各个平台的对象评分向量、所述第一平台中任一用户的用户评分向量和标签值,其中所述标签值为该任一用户在所述第一平台对该任一对象的实际评分;以及
在步骤S604,通过所述至少一个样本训练与所述第一平台对应的一组神经网络,以使得所述模型对所述至少一个样本的预测损失减小。
与图5类似地,图6所示方法可通过将图4所示方法中的用户评分向量与对象评分向量互换、将用户潜在向量与对象潜在向量互换而获取,因此对于其中的具体实施过程不再赘述。
在通过图2或图5所示方法获取用户对对象的评分之后,可基于该获取的评分对用户进行对象推荐。
图7示出根据本说明书实施例的一种基于模型向用户展示对象的方法流程图,所述模型用于至少两个平台,所述至少两个平台分别具有共同的多个用户,所述多个用户中包括第一用户,所述至少两个平台中包括第一平台,所述方法包括:
在步骤S702,通过图2所示方法,预测第一用户分别对第一平台中预定多个未评分对象的预测评分;以及
在步骤S704,基于各个所述预测评分,向所述第一用户展示对象。
也就是说,在满足至少两个平台中具有共同的多个用户的情况下,即可使用图2所示方法预测该多个用户的各个用户对各个平台中各个未评分对象的评分,从而可在所示至少两个平台中的任一平台基于预测评分进行对象推荐。例如在图1所示模型中,在使用该模型对第一用户推荐平台1中对象时,所述预定多个未评分对象可以为平台1中的第一用户的全部未评分对象,或者可以是部分未评分对象。例如,平台1为购物平台,其中希望对电子类商品进行促销,从而,可通过图2所示模型预测第一用户对平台1中未评分的多个电子类商品进行评分预测,并基于该预测评分,进行对电子类商品的推荐,例如,将预测评分高于预定阈值的电子类商品展示给第一用户,或者将预测评分排名靠前的电子类商品展示给第一用户,等等。
图8示出根据本说明书实施例的一种基于模型向用户展示对象的方法,所述模型用于至少两个平台,所述至少两个平台分别具有共同的多个对象,所述至少两个平台中包括第一平台,所述第一平台中包括第一用户,所述方法包括:
在步骤S802,通过图5所示方法,预测第一用户分别对所述多个对象中预定多个未评分对象的预测评分;以及
在步骤S804,基于各个所述预测评分,向所述第一用户展示对象。
图9示出根据本说明书实施例的一种基于模型预测用户对对象的评分的装置900,所述模型包括至少两组神经网络,所述至少两组神经网络与至少两个平台分别对应,其中,每组神经网络包括对象神经网络和用户神经网络,所述至少两个平台分别具有共同的多个用户,所述多个用户中包括第一用户,所述至少两个平台中包括第一平台,所述第一平台中包括所述第一用户未评分的第一对象,所述装置包括:
第一获取单元91,配置为,获取所述第一用户在各个平台的用户评分向量,其中,第一平台的用户评分向量的维度为第一平台中的对象数,所述第一平台的用户评分向量的各个维度值基于所述第一用户对第一平台中各个对象的实际评分获取;
第二获取单元92,配置为,获取所述第一对象的对象评分向量,所述对象评分向量的维度为所述多个用户的数目,所述对象评分向量的各个维度值基于所述多个用户中各个用户在所述第一平台对该第一对象的实际评分获取;
第一输入单元93,配置为,通过将所述第一用户在各个平台的用户评分向量分别输入与该平台对应的用户神经网络,获取所述第一用户在各个平台的用户潜在向量,其中各个所述用户潜在向量具有相同维度;
合并单元94,配置为,通过预定合并函数,基于各个所述用户潜在向量,获取第一用户的用户合并向量;
第二输入单元95,配置为,通过将第一对象的对象评分向量输入与第一平台对应的对象神经网络,获取第一对象的对象潜在向量,其中,所述对象潜在向量与所述用户合并向量具有相同维度;以及
预测单元96,配置为,计算所述用户合并向量与所述对象潜在向量的内积,作为所述第一用户在所述第一平台对所述第一对象的预测评分。
图10示出根据本说明书实施例的一种基于模型预测用户对对象的评分的装置1000,所述模型包括至少两组神经网络,所述至少两组神经网络与至少两个平台分别对应,其中,每组神经网络包括对象神经网络和用户神经网络,所述至少两个平台分别具有共同的多个对象,所述多个对象中包括第一对象,所述至少两个平台中包括第一平台,所述第一平台中包括第一用户,其中,所述第一用户未对所述第一对象评分,所述装置包括:
第一获取单元101,配置为,获取第一用户的用户评分向量,其中,所述用户评分向量的维度为所述多个对象的数目,所述用户评分向量的各个维度值基于所述第一用户在所述第一平台中对所述多个对象中各个对象的实际评分获取;
第二获取单元102,配置为,获取所述第一对象在各个平台的对象评分向量,其中,所述第一对象在第一平台的对象评分向量的维度为第一平台中的用户数,所述第一对象在第一平台的对象评分向量的各个维度值基于第一平台中各个用户对该第一对象的实际评分获取;
第一输入单元103,配置为,通过将所述第一对象在各个平台的对象评分向量分别输入与该平台对应的对象神经网络,获取所述第一对象在各个平台的对象潜在向量,其中,各个所述对象潜在向量具有相同维度;
合并单元104,配置为,通过预定合并函数,基于各个所述对象潜在向量,获取所述第一对象的对象合并向量;
第二输入单元105,配置为,通过将第一用户的用户评分向量输入与第一平台对应的用户神经网络,获取第一用户的用户潜在向量,其中,所述用户潜在向量与所述对象合并向量具有相同维度;以及
预测单元106,配置为,计算所述对象合并向量与所述用户潜在向量的内积,作为所述第一用户在所述第一平台对所述第一对象的预测评分。
图11示出用于训练图9所示模型的训练装置1100,所述训练装置包括:
获取单元111,配置为,获取至少一个样本,每个样本包括所述多个用户中任一用户在各个平台的用户评分向量、所述第一平台中任一对象的对象评分向量和标签值,其中所述标签值为该任一用户在所述第一平台对该任一对象的实际评分;以及
训练单元112,配置为,通过所述至少一个样本训练与所述第一平台对应的对象神经网络,以使得所述模型对所述至少一个样本的预测损失减小。
图12示出用于训练图10所示模型的训练装置1200,所述训练装置包括:
获取单元121,配置为,获取至少一个样本,每个样本包括所述多个对象中任一对象在各个平台的对象评分向量、所述第一平台中任一用户的用户评分向量和标签值,其中所述标签值为该任一用户在所述第一平台对该任一对象的实际评分;以及
训练单元122,配置为,通过所述至少一个样本训练与所述第一平台对应的用户神经网络,以使得所述模型对所述至少一个样本的预测损失减小。
图13示出根据本说明书实施例的一种基于模型向用户展示对象的装置1300,所述模型用于至少两个平台,所述至少两个平台分别具有共同的多个用户,所述多个用户中包括第一用户,所述至少两个平台中包括第一平台,所述装置包括:
预测单元131,配置为,通过上述第一种模型预测装置,预测第一用户分别对第一平台中预定多个未评分对象的预测评分;以及
展示单元132,配置为,基于各个所述预测评分,向所述第一用户展示对象。
图14示出根据本说明书实施例的一种基于模型向用户展示对象的装置1400,所述模型用于至少两个平台,所述至少两个平台分别具有共同的多个对象,所述至少两个平台中包括第一平台,所述第一平台中包括第一用户,所述装置包括:
预测单元141,配置为,通过上述第二种模型预测装置,预测第一用户分别对所述多个对象中预定多个未评分对象的预测评分;以及
展示单元142,配置为,基于各个所述预测评分,向所述第一用户展示对象。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。
在根据本说明书实施例的基于模型的评分预测方案中,使用多任务学习方法构建用于至少两个平台的评分预测模型,使得至少两个平台能够彼此挖掘其中的信息,提升评分预测正确性,从而在基于该评分进行对象推荐时,提升了推荐效果。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。