首页> 中国专利> 商品推荐模型的训练方法、商品推荐方法以及装置

商品推荐模型的训练方法、商品推荐方法以及装置

摘要

本说明书公开了一种商品推荐模型的训练方法、商品推荐方法以及装置,获取各商品的特征信息以及用户的历史订单信息,确定各商品对应的特征向量,并确定所述用户对应的偏好特征向量。而后,将所述各商品对应的特征向量以及所述用户对应的偏好特征向量输入到待训练的商品推荐模型中,以依次确定至少一个推荐商品。最后,以最小化所述至少一个推荐商品与所述历史订单信息实际涉及的各商品的偏差为优化目标,对所述商品推荐模型进行训练,所述商品推荐模型用于对用户进行商品推荐。本方法通过各商品对应的特征向量以及用户对应的偏好特征向量,进行商品推荐模型的训练,避免重复推荐相同的商品以及推荐商品不合理的情况发生,提高用户体验。

著录项

  • 公开/公告号CN112598467A

    专利类型发明专利

  • 公开/公告日2021-04-02

    原文格式PDF

  • 申请/专利权人 北京三快在线科技有限公司;

    申请/专利号CN202011537233.7

  • 发明设计人 方瑞玉;杨林;胡懋地;

    申请日2020-12-23

  • 分类号G06Q30/06(20120101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构11709 北京曼威知识产权代理有限公司;

  • 代理人方志炜

  • 地址 100080 北京市海淀区北四环西路9号2106-030

  • 入库时间 2023-06-19 10:27:30

说明书

技术领域

本说明书涉及计算机技术领域,尤其涉及一种商品推荐模型的训练方法、商品推荐方法以及装置。

背景技术

随着电子技术和网络技术的不断发展,越来越多的用户喜欢网络购物,目前,业务平台能够根据商品特征信息和用户特征信息向用户进行商品推荐。

在实际应用中,业务平台会将基于商品特征信息和用户特征信息得到的商品排序展示给用户,这种商品推荐方式会导致商品出现重复推荐,以及推荐的商品不符合用户偏好的情况,从而降低用户的体验。

因此,如何能够更为合理的向用户进行商品推荐,则是一个亟待解决的问题。

发明内容

本说明书提供一种商品推荐模型的训练方法、装置、存储介质及电子设备,以部分的解决现有技术存在的上述问题。

本说明书采用下述技术方案:

本说明书提供了一种商品推荐模型的训练方法,包括:

获取各商品的特征信息以及用户的历史订单信息;

根据所述各商品的特征信息,确定各商品对应的特征向量;

根据所述用户的历史订单信息,确定所述用户对应的偏好特征向量;

将所述各商品对应的特征向量以及所述用户对应的偏好特征向量输入到待训练的商品推荐模型中,以依次确定至少一个推荐商品,其中,针对每个推荐商品,该推荐商品是根据已确定出的推荐商品、所述各商品对应的特征向量以及所述用户偏好特征向量确定出;

以最小化所述至少一个推荐商品与所述历史订单信息实际涉及的各商品的偏差为优化目标,对所述商品推荐模型进行训练,所述商品推荐模型用于对用户进行商品推荐。

可选地,所述各商品对应的特征信息包括:各商品的实际商品名称、各商品对应的标准商品名称、各商品的属性信息、各商品的业务特征信息中的至少一种。

可选地,获取各商品的特征信息,具体包括:

确定所述历史订单信息对应的商家;

获取所述商家所提供的各商品在所述商家中的特征信息。

可选地,根据所述各商品的特征信息,确定各商品对应的特征向量,具体包括:

针对所述商家所提供的每个商品,根据该商品对应的特征信息,确定该商品对应的特征向量;

将所述商家提供的各商品所对应的特征向量合并,得到在所述商家下,所述各商品对应的特征向量。

可选地,将所述各商品对应的特征向量以及所述用户偏好特征向量输入到待训练的商品推荐模型中,以依次确定至少一个推荐商品,具体包括:

将所述各商品对应的特征向量以及所述用户偏好特征向量输入到待训练的商品推荐模型中,以使所述商品推荐模型针对每个推荐商品,根据在所述商家下所述各商品对应的特征向量,已确定出的推荐商品在所述商家下对应的特征向量以及所述用户偏好特征向量,确定该推荐商品。

可选地,根据用户的历史订单信息,确定所述用户对应的偏好特征向量,具体包括:

确定所述历史订单信息涉及的各商品对应的各属性信息;

根据所述历史订单信息,确定所述各属性信息对应的属性频次;

根据所述历史订单信息涉及的各商品的属性信息以及所述各属性信息对应的属性频次,确定所述用户对应的偏好特征向量。

本说明书提供了一种商品推荐方法,包括:

获取各商品的特征信息以及用户的历史订单信息;

根据所述各商品的特征信息,确定各商品对应的特征向量;

根据所述用户的历史订单信息,确定所述用户对应的偏好特征向量,作为第一偏好特征向量;

将所述各商品对应的特征向量以及所述第一偏好特征向量输入到预先训练的商品推荐模型中,得到各待推荐商品,所述商品推荐模型是通过上述商品推荐模型的训练方法训练得到的;

根据所述各待推荐商品,向所述用户进行商品推荐。

可选地,根据所述各待推荐商品,向所述用户进行商品推荐,具体包括:

根据所述各待推荐商品对应的特征向量以及预先训练的商品筛选模型,从所述各待推荐商品中筛选出至少一个推荐商品,并将所述至少一个推荐商品推荐给所述用户。

可选地,获取各商品的特征信息以及用户的历史订单信息,具体包括:

获取所述用户从过去第一时间点到当前时刻之间的历史订单信息;

根据所述各待推荐商品对应的特征向量以及预先训练的商品筛选模型,从所述各待推荐商品中筛选出至少一个推荐商品,具体包括:

确定所述用户从过去第二时间点到所述当前时刻之间的历史订单信息,其中,所述过去第二时间点到所述当前时刻之间的时间间距小于所述过去第一时间点到所述当前时刻之间的时间间距;

根据所述用户从所述过去第二时间点到所述当前时刻之间的历史订单信息,确定所述用户对应的第二偏好特征向量;

将所述各待推荐商品对应的特征向量以及所述第二偏好特征向量输入到预先训练的商品筛选模型中,以从所述各待推荐商品中筛选出至少一个推荐商品。

可选地,训练所述商品筛选模型,具体包括:

获取目标用户的历史订单信息以及各样本商品的特征信息;

根据所述各样本商品的特征信息,确定所述各样本商品对应的特征向量;

根据所述目标用户的历史订单信息,确定所述目标用户对应的偏好特征向量;

将所述各样本商品对应的特征向量以及所述目标用户对应的偏好特征向量输入到训练后的所述商品推荐模型中,得到各待筛选商品;

将所述各待筛选商品对应的特征向量以及所述目标用户对应的偏好特征向量输入到待训练的商品筛选模型中,得到针对所述目标用户的至少一个推荐商品;

以最小化针对所述目标用户的至少一个推荐商品与所述目标用户对应的历史订单信息中实际涉及的各商品之间的偏差为优化目标,对所述商品筛选模型进行训练。

本说明书提供了一种商品推荐模型训练的装置,包括:

获取模块,用于获取各商品的特征信息以及用户的历史订单信息;

向量模块,用于根据所述各商品的特征信息,确定各商品对应的特征向量;

偏好模块,用于根据所述用户的历史订单信息,确定所述用户对应的偏好特征向量;

推荐模块,用于将所述各商品对应的特征向量以及所述用户对应的偏好特征向量输入到待训练的商品推荐模型中,以依次确定至少一个推荐商品,其中,针对每个推荐商品,该推荐商品是根据已确定出的推荐商品、所述各商品对应的特征向量以及所述用户偏好特征向量确定出;

训练模块,用于以最小化所述至少一个推荐商品与所述历史订单信息实际涉及的各商品的偏差为优化目标,对所述商品推荐模型进行训练,所述商品推荐模型用于对用户进行商品推荐。

本说明书提供了一种商品推荐装置,包括:

获取模块,用于获取各商品的特征信息以及用户的历史订单信息;

向量模块,用于根据所述各商品的特征信息,确定各商品对应的特征向量;

偏好模块,用于根据所述用户的历史订单信息,确定所述用户对应的偏好特征向量,作为第一偏好特征向量;

推荐模块,用于将所述各商品对应的特征向量以及所述第一偏好特征向量输入到预先训练的商品推荐模型中,得到各待推荐商品,所述商品推荐模型是通过上述方法训练得到的;

展示模块,用于根据所述各待推荐商品,向所述用户进行商品推荐。

本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述商品推荐模型的训练方法和商品推荐方法。

本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述商品推荐模型的训练方法和商品推荐方法。

本说明书采用的上述至少一个技术方案能够达到以下有益效果:

在本说明书提供的商品推荐模型的训练方法中,获取各商品的特征信息以及用户的历史订单信息,并根据所述各商品的特征信息,确定各商品对应的特征向量,再根据所述用户的历史订单信息,确定所述用户对应的偏好特征向量。而后,将所述各商品对应的特征向量以及所述用户对应的偏好特征向量输入到待训练的商品推荐模型中,以依次确定至少一个推荐商品,其中,针对每个推荐商品,该推荐商品是根据已确定出的推荐商品、所述各商品对应的特征向量以及所述用户偏好特征向量确定出。最后,以最小化所述至少一个推荐商品与所述历史订单信息实际涉及的各商品的偏差为优化目标,对所述商品推荐模型进行训练,所述商品推荐模型用于对用户进行商品推荐。

从上述方法中可以看出,本方法可以基于各商品的特征信息以及用户的历史订单信息,确定各商品对应的特征向量以及用户对应的偏好特征向量,进行商品推荐模型的训练。在确定推荐商品的过程中,需要参照已确定出的推荐商品来确定出接下来的推荐商品,相比于现有技术中来说,可以避免重复推荐相同的商品。并且,商品推荐模型是以推荐商品与用户实际订单信息中涉及的各商品之间的偏差为训练目标,而用户实际订单信息中涉及的各商品是用户根据自身偏好选择的,并且具有一定的搭配性,这样不仅避免了推荐商品不符合用户偏好的情况发生,提高用户的体验,还能够在一定程度上降低用户在进行商品搭配时所消耗的时间,提高了用户的业务执行效率。

附图说明

此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:

图1为本说明书实施例提供的商品推荐模型的训练方法的流程示意图;

图2为本说明书实施例提供的商品推荐方法的流程示意图;

图3为本说明书实施例提供的商品推荐模型的训练装置的结构示意图;

图4为本说明书实施例提供的商品推荐装置的结构示意图;

图5为本说明书实施例提供的电子设备的结构示意图。

具体实施方式

为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。

以下结合附图,详细说明本说明书各实施例提供的技术方案。

在本说明书实施例中,针对各商品的特征信息以及用户的历史订单信息进行商品推荐时,需要依赖预先训练好的商品推荐模型,所以,下面将先介绍对商品推荐模型进行训练的过程,如图1所示。

图1为本说明书实施例提供的商品推荐模型的训练方法的流程示意图,具体包括以下步骤:

S100:获取各商品的特征信息以及用户的历史订单信息。

在本说明书实施例中,服务器可以获取各商品的特征信息以及用户的历史订单信息。其中,服务器获取到的各商品的特征信息可以包括:各商品的实际商品名称、各商品对应的标准商品名称、各商品的属性信息、各商品的业务特征信息中的至少一种。

具体的,服务器可以针对一个商家获取该商家内各商品的特征信息,其中,获取各商品的实际商品名称是指在商家按照自己的理解或需求而确定出的商品名称,在实际应用中,商品的实际商品名称可以添加与商品无关的信息,如宫保鸡丁(单点不送)、宫保鸡块等。需要指出的是,该商品的实际商品名称除了可以是文字形式表示的名称外,还可以是以库存保有单位(Stock keeping Unit,SKU)的形式表示的。

各商品对应的标准商品名称是指商品约定俗成的名称或对商品做出的统一规定的名称,如宫保鸡丁(单点不送)以及宫保鸡块的标准商品名称均为宫保鸡丁。

各商品的属性信息是指商品的口味、食材等信息,例如宫保鸡丁的属性信息为鸡肉、甜辣。各商品的业务特征信息是指不同商品的商品价格、商品包装价格、商品过去一段时间内的销量、商品的推荐次数、商品过去一段时间内的点赞次数、商品是否为新品等。

在商品推荐的过程中,需要结合用户的个人偏好实施,所以,在本说明书实施例中,服务器可以获取用户的历史订单信息,其中,这里提到的用户可以是过去在线上购买过商品的任意用户,用户的历史订单信息中所涉及的各商品,能够在一定程度上反映出用户的个人偏好,并且,历史订单信息中所涉及的各商品也能够为后续的模型训练提供优化目标。需要指出的是,本说明书中提到的历史订单信息中所涉及的各商品,是指历史订单信息中包含的各商品信息所对应的商品。

需要说明的是,对商品推荐模型进行训练的执行主体可以是服务器,也可以是诸如台式电脑等电子设备,为了便于描述,下面仅以服务器为执行主体,对本说明书提供的控制模型的训练方法进行说明。

S102:根据所述各商品的特征信息,确定各商品对应的特征向量。

在本说明书实施例中,每个商品都有其对应的特征信息,所以,服务器可以根据商品的特征信息,确定该商品对应的特征向量。由于商品的特征信息包含有多种类型,所以,可以先分别确定出每种特征信息对应的特征向量,然后再通过每种特征信息对应的特征向量,确定出该商品对应的特征向量。

在实际应用中,服务器确定每种特征信息的方式可以有多种,例如,在确定商品的标准商品名称所对应的特征向量时,可以按照预设的方式,确定出该商品对应的标准商品名称中每个字的特征向量,并将每个字的特征向量进行合并计算,进而得到该商品的标准商品名称对应的特征向量;再例如,服务器也可以采用多头注意力机制(Multi-HeadAttention),将该商品对应的标准商品名称中首字的特征向量,作为该商品的标准商品名称对应的特征向量。其中,由于采用的是Multi-Head Attention,所以,虽然确定出的是该标准商品名称中首字的特征向量,但是,该首字的特征向量中实际上还涉及该标准商品名称中除首字外的其他字的部分特征向量,因此,可以将该标准商品名称中首字的特征向量,作为该商品的标准商品名称对应的特征向量。而对于商品的实际商品名称对应的特征向量来说,与标准商品名称对应的特征向量的确定方式相似,在此就不详细赘述了。

对于商品的属性信息来说,服务器也可以采用多种方式确定商品的属性信息所对应的特征向量。例如,若商品的属性信息中涉及有多个属性,则服务器可以根据预设的属性排列顺序对多个属性进行排序,而后,服务器可以先确定每个属性的特征向量,并将每个属性的特征向量按照该排序进行合并,从而得到商品的属性信息所对应的特征向量。再例如,服务器也可以采用Multi-Head Attention,确定出该商品对应的属性信息中首个属性的特征向量,并将该首个属性的特征向量,作为该商品的属性信息对应的特征向量。与上述原理相同,采用Multi-Head Attention所确定出的首个属性的特征向量,实际上还涉及该商品的属性信息中除首个属性外的其他属性的部分特征向量。

对于商品的业务特征信息对应的特征向量来说,由于商品的业务特征信息中包含商品价格、商品包装价格、商品一段时间内的销量、商品的推荐次数、商品一段时间内的点赞次数等形式的信息,这些信息都是与数值直接相关的,所以,服务器可以直接将这些业务特征信息对应的数值按照一定的顺序进行拼接,以得到商品的业务特征信息所对应的特征信息,当然,服务器也可以采用上述类似的方式进行确定。

而值得一提的是,在不同的商家对于相同的商品对应的业务特征信息可能有所不同,而若相同的商品对应的业务特征信息差别过大,可能导致确定出的特征向量失真。因此,在本说明书实施例中,服务器将各商品的业务特征信息中的商品价格、商品包装价格、商品一段时间内的销量、商品的推荐次数、商品一段时间内的点赞次数等,先进行归一化处理,然后再确定出相应的特征向量。

以业务特征信息中包含的商品价格为例,服务器可以先统计出同一个商品在不同商家中的价格,然后,按照预设的归一化处理方式,将该商家所提供的商品的价格按照统计出的该商品在不同商家中的价格进行归一化,得到归一化后的该商品在该商家的价格。

在确定出上述各种类型的特征信息所对应的特征向量后,服务器可以基于这些特征向量,确定出该商品对应的特征向量,所以,这里的该商品的特征向量,实际上记录有该商品在不同的特征信息维度上的特征。

服务器在确定出该商家所提供的各商品对应的特征向量后,可以将该商家提供的各商品所对应的特征向量合并,得到在该商家下,这些商品对应的特征向量。也就是说,将同一商家内的各商品所对应的特征向量合并所得到的特征向量,是用来反映该商品所提供的各商品在总体上的特征向量。通过这种方式所确定出的特征向量,实际上也属于该商家在商品上所对应的特征向量,该特征向量中包含有该商家所能提供的所有商品的特征。同理,服务器可以针对每个商家,将该商家所能提供的各商品的特征向量进行合并,并将得到的特征向量,作为该商家所提供的商品对应的特征向量。

需要说明的是,在进行模型训练的过程中,通常都需要采用具有一定相关性的信息进行训练,所以,在本说明书实施例中,服务器可以先获取到用户的历史订单信息,然后确定出历史订单信息所对应的商家,进而获取该商家所提供的各商品在该商家中的特征信息,并确定出相应的特征向量。

S104:根据所述用户的历史订单信息,确定所述用户对应的偏好特征向量。

在本说明书实施例中,服务器获取历史订单信息中涉及有各商品对应的各属性信息,例如口味(酸甜、麻辣)、食材(猪肉、牛肉等)等,这些信息可以在一定程度上反映出用户的个人偏好。基于此,服务器可以基于历史订单信息中涉及的各商品对应的属性信息,确定出该用户对应的偏好特征向量。其中服务器确定该偏好特征向量的方式可以有多种,例如,服务器可以将这些文字形式的属性信息转化成相应的特征向量,并将这些特征向量进行拼接,得到该用户的偏好特征向量。

再例如,服务器将各文字形式的属性信息转化成相应的特征向量的同时,可以统计出各属性信息对应的属性频次,例如麻辣4次、牛肉3次、猪肉2次等,而后,服务器可以将基于文字转化所得到的各特征向量以及各属性频次进行合并,得到该用户的偏好特征向量。如,可以将各属性信息对应的属性频次作为权重,然后对各商品的属性信息对应的特征向量进行加权求和,得到用户对应的偏好特征向量。

需要说明的是,历史订单信息涉及的各商品可能还隐含有其他搭配商品,在这种情况下,服务器从该历史订单信息中确定出的各商品对应的各属性信息还需要包括这些其他搭配商品的属性信息。例如,黄焖鸡米饭是一个标准商品名,但实际包含有黄焖鸡、米饭两种商品,但是在历史订单信息中很可能只包含有黄焖鸡,而不包括米饭,所以,服务器除了需要基于历史订单信息确定出黄焖鸡的属性信息以外,还需要确定出黄焖鸡米饭中米饭的属性信息。

S106:将所述各商品对应的特征向量以及所述用户对应的偏好特征向量输入到待训练的商品推荐模型中,以依次确定至少一个推荐商品,其中,针对每个推荐商品,该推荐商品是根据已确定出的推荐商品、所述各商品对应的特征向量以及所述用户偏好特征向量确定出。

在本说明书实施例中,服务器可以将确定出的各商品对应的特征向量以及用户对应的偏好特征向量输入到待训练的商品推荐模型中,以依次确定至少一个推荐商品。其中,商品推荐模型可以根据各商品对应的特征向量以及用户对应的偏好特征向量先确定出第一个推荐商品,再根据第一个推荐商品的特征向量、各商品对应的特征向量以及用户对应的偏好特征向量确定第二个推荐商品,接着根据第一个推荐商品的特征向量、第二个推荐商品的特征向量、各商品对应的特征向量以及用户对应的偏好特征向量确定第三个推荐商品,以此类推。

也就是说,根据已确定出的推荐商品的特征向量、各商品对应的特征向量以及用户偏好特征向量确定下一个推荐商品。例如,用户对应的偏好特征向量为鸡肉、猪肉、甜辣、酸等,先确定出的第一个推荐商品为宫保鸡丁(偏好特征向量:鸡肉、甜辣),再根据宫保鸡丁的特征向量、各商品对应的特征向量以及用户对应的偏好特征向量确定第二个推荐商品为酸菜白肉(偏好特征向量:猪肉、酸),以此类推。

商品推荐模型在依次确认推荐商品时,会确认各商品的被选择概率,将各商品以被选择概率从大到小的方式进行排序,被选择概率最大的商品作为当前时刻输出的推荐商品。商品推荐模型根据先确定出的第一个推荐商品,在接下来的推荐过程中将降低与第一个推荐商品的属性信息相似的商品的被选择概率。例如,先确定出的第一个推荐商品为宫保鸡丁,根据宫保鸡丁的属性信息将降低与宫保鸡丁属性信息相似的酱爆鸡丁、辣子鸡丁的被选择概率。也就是说,根据先确定出的推荐商品,重新确认剩余的各商品外的被选择概率,将剩余的各商品以被选择概率从大到小的方式进行排序,进而将被选择概率最大的商品作为输出的推荐商品(即第二个推荐商品),以此类推。

需要说明的是,服务器根据已确定出的推荐商品、各商品对应的特征向量以及用户偏好特征向量,确定出下一个推荐商品是商品推荐模型推荐商品的内在的逻辑,商品推荐模型在输出推荐商品时,可以是确定一个推荐商品就对其进行输出,也可以是确定出全部需要推荐的商品后再对其进行一并输出。

需要说明的是,上述提到的商品推荐模型所使用的框架可以是注意力机制(Attention)、Multi-Head Attention等Enc-Dec网络结构,或是其他形式的神经网络结构,本说明书不对商品推荐模型所使用的框架的具体形式进行限定。

在本说明书实施例中,若商品推荐模型所使用的框架是包含有Multi-HeadAttention的Enc-Dec网络结构,则服务器实际上是将各商品的特征信息以及从历史订单信息中提取出的属性信息输入到商品推荐模型中,商品推荐模型将与对这些信息进行编码,得到相应的特征向量。而在解码的过程中会进行两次解码,第一次解码输入各商品对应的特征向量与商家所对应的特征向量,输出第一次解码结果,其中,Enc-Dec网络结构中涉及的矩阵Q为各商品对应的特征向量,矩阵K为商家所对应的特征向量,矩阵V为商家所对应的特征向量。第二次解码过程中输入用户对应的偏好特征向量以及第一次解码结果,输出推荐商品以及推荐商品的被选择概率,其中,在第二次解码过程中涉及的矩阵Q为第一次解码结果,矩阵K为用户对应的偏好特征向量,矩阵V为用户对应的偏好特征向量。

S108:以最小化所述至少一个推荐商品与所述历史订单信息实际涉及的各商品的偏差为优化目标,对所述商品推荐模型进行训练,所述商品推荐模型用于对用户进行商品推荐。

服务器在对商品推荐模型进行训练的过程中,可以以最小化至少一个推荐商品与历史订单信息实际涉及的各商品的偏差为优化目标,对商品推荐模型进行训练。也就是说,服务器将各商品对应的特征向量以及用户对应的偏好特征向量输入到待训练的商品推荐模型中,依次确定推荐商品,将该推荐商品与用户的历史订单信息中的各商品进行对比,确定该推荐商品与用户的历史订单信息中的各商品之间的偏差。经过多轮的迭代训练,可以使偏差不断减小,并收敛在一个数值范围内,进而完成商品推荐模型的训练过程。

从上述过程中可以看出,由于在模型训练的过程中,根据已确定出的推荐商品来确定出接下来的推荐商品,相比于现有技术中来说,可以避免重复推荐相同的商品。同时,根据用户对应的偏好特征向量以及商品的特征信息等多维度的信息来确定推荐商品,以及以推荐商品与用户的历史订单信息之间的偏差为训练目标来训练商品推荐模型,可以使推荐的商品更符合用户偏好,并具有一定的搭配性,所以不仅能够有效地提高用户的体验,并且还能有效地节省用户在进行商品搭配时所消耗的时间,从而提高了用户的业务执行效率。

本说明书实施例在商品推荐模型的训练完成后,可以通过商品推荐模型对用户进行商品推荐,具体过程如图2所示。

图2为本说明书实施例提供的商品推荐方法的流程示意图。

S200:获取各商品的特征信息以及用户的历史订单信息。

在本说明书实施例中,服务器可以获取各商品的特征信息以及用户的历史订单信息,这里的用户是指当前时刻正在执行业务的用户,而商品推荐模型训练过程中的用户是指用于训练的历史订单信息所对应的用户。获取到的各商品的特征信息,可以是指所有商家所提供的各商品的特征信息,也可以是指向用户推荐的若干商家所提供的各商品的特征信息,抑或是该用户当前选择的商家所提供的各商品的特征信息。

S202:根据所述各商品的特征信息,确定各商品对应的特征向量。

S204:根据所述用户的历史订单信息,确定所述用户对应的偏好特征向量,作为第一偏好特征向量。

在获取到各商品的特征信息以及用户的历史订单信息后,可以分别确定出各商品对应的特征向量以及该用户的第一偏好特征向量。其中,确定各商品对应的特征向量以及该用户的第一偏好特征向量的方式,与上述模型训练过程中提到的方式基本相同,在此就不进行详细赘述了。

S206:将所述各商品对应的特征向量以及所述第一偏好特征向量输入到预先训练的商品推荐模型中,得到各待推荐商品。

S208:根据所述各待推荐商品,向所述用户进行商品推荐。

在本说明书实施例中,服务器通过商品推荐模型确定出各待推荐商品后,可以将各待推荐商品全部推荐给用户。当然,服务器也可以将各待推荐商品中的部分推荐商品推荐给用户。

具体的,服务器在确定出各待推荐商品后,可以确定出各待推荐商品对应的特征向量,并将再根据各待推荐商品对应的特征向量以及预先训练的商品筛选模型,从各待推荐商品中筛选出推荐商品,并将该推荐商品推荐给用户。例如,待推荐商品对应的特征向量中包含有待推荐商品的热度信息、点击率等特征,将各待推荐商品对应的特征向量输入到商品筛选模型中后,该商品筛选模型可以输出热度较高、点击率较高的商品作为最终的推荐商品推荐给用户。

除此之外,上述提到的历史订单信息,可以是指用户从过去第一时间点到当前时刻之间的历史订单信息。而服务器实际上还可以确定出用户从过去第二时间点到当前时刻之间的历史订单信息,并根据用户从过去第二时间点到当前时刻之间的历史订单信息,确定用户对应的第二偏好特征向量。其中,过去第二时间点到当前时刻之间的时间间距小于过去第一时间点到当前时刻之间的时间间距。

从上述内容中可以看出,第一偏好特征向量和第二偏好特征向量都是从同一历史订单信息中得到的,第二时间点相比于第一时间点距离当前时刻较近,所以,第二偏好特征向量相比于第一偏好特征向量能够反映出用户近期内的一些个人偏好,而第一偏好特征向量相比于第二偏好特征向量能够反映出用户长期内的一些个人偏好。

基于此,服务器在确定出各待推荐商品后,可以确定出各待推荐商品对应的特征向量,并将各待推荐商品对应的特征向量以及第二偏好特征向量输入到预先训练的商品筛选模型,以从各待推荐商品中筛选出推荐商品,并将推荐商品推荐给用户。

从上述内容可以看出,首先,服务器先通过商品推荐模型,来确定出具有一定搭配性,以及符合用户长期个人偏好(即第一偏好特征向量)的若干待推荐商品,而后,服务器还需要使用商品筛选模型,结合用户的近期个人偏好(即第二偏好特征向量),从若干待推荐商品中筛选出最终需要推荐给用户的商品。这样不仅能够保证向用户推荐的商品具有一定的搭配性,以及符合用户的总体个人偏好,还能保证向用户推荐的商品是符合用户近期个人偏好的,从而进一步地提高了用户的业务体验,提高了用户的业务执行效率。

在本说明书实施例中,服务器需要预先对商品筛选模型进行训练,在对商品筛选模型进行训练的过程中,服务器可以先获取目标用户的历史订单信息以及各样本商品的特征信息,该目标用户是指训练过程中选定的用户,样本商品可以是指该目标用户的历史订单信息所涉及的商家所提供的商品。进一步地,服务器可以确定出各样本商品对应的特征向量以及目标用户对应的偏好特征向量,并将各样本商品对应的特征向量以及目标用户对应的偏好特征向量输入到训练后的商品推荐模型中,得到各待筛选商品。

其中,各待筛选商品是由已经训练完成的商品推荐模型得到的,也就是说,在对商品筛选模型进行训练之前,需要先完成商品推荐模型的训练。服务器在将各待筛选商品对应的特征向量以及目标用户对应的偏好特征向量输入到待训练的商品筛选模型后,可以得到针对目标用户的至少一个推荐商品。服务器可以以最小化针对目标用户的至少一个推荐商品与目标用户对应的历史订单信息中实际涉及的各商品之间的偏差为优化目标,对商品筛选模型进行训练。

也就是说,将各待筛选商品对应的特征向量以及目标用户对应的偏好特征向量输入到待训练的商品筛选模型中,得到针对目标用户的至少一个推荐商品,将该推荐商品与目标用户的历史订单信息中的各商品进行对比,确定该推荐商品与用户的历史订单信息中的各商品之间的偏差。经过多轮的迭代训练,可以使偏差不断减小,并收敛在一个数值范围内,进而完成商品筛选模型的训练过程。

上述提到的商品筛选模型所使用的框架可以是深度兴趣网络(Deep InterestNetwork、DIN)、深度神经网络(Machine Learning、ML),本说明书不对商品筛选模型所使用的框架的具体形式进行限定。

在本说明书实施例中,若商品筛选模型所使用的框架是DIN,则可以根据该用户近期的历史订单信息(即上述提到的用户从过去第二时间点到当前时刻之间的历史订单信息),确定出用户近期购买的商品,并将这些商品对应的特征向量以向量序列的方式,表示出该第二偏好特征向量,如{商品1对应的特征向量1,商品2对应的特征向量2,商品3对应的特征向量3…商品n对应的特征向量n},再将该第二偏好特征向量与各待筛选商品的特征向量进行计算,得到筛选出的推荐商品。

以上为本说明书的一个或多个实施例提供的商品推荐模型训练的方法,基于同样的思路,本说明书还提供了相应的商品推荐模型的训练装置,如图3所示。

图3为本说明书实施例提供的商品推荐模型的训练装置的结构示意图,具体包括:

获取模块300,用于获取各商品的特征信息以及用户的历史订单信息;

向量模块302,用于根据所述各商品的特征信息,确定各商品对应的特征向量;

偏好模块304,用于根据所述用户的历史订单信息,确定所述用户对应的偏好特征向量;

推荐模块306,用于将所述各商品对应的特征向量以及所述用户对应的偏好特征向量输入到待训练的商品推荐模型中,以依次确定至少一个推荐商品,其中,针对每个推荐商品,该推荐商品是根据已确定出的推荐商品、所述各商品对应的特征向量以及所述用户偏好特征向量确定出;

训练模块308,用于以最小化所述至少一个推荐商品与所述历史订单信息实际涉及的各商品的偏差为优化目标,对所述商品推荐模型进行训练,所述商品推荐模型用于对用户进行商品推荐。

可选地,所述获取模块300具体用于,获取所述各商品对应的特征信息包括:各商品的实际商品名称、各商品对应的标准商品名称、各商品的属性信息、各商品的业务特征信息中的至少一种。

可选地,所述获取模块300具体用于,确定所述历史订单信息对应的商家,获取所述商家所提供的各商品在所述商家中的特征信息。

可选地,所述获取模块300具体用于,针对所述商家所提供的每个商品,根据该商品对应的特征信息,确定该商品对应的特征向量,将所述商家提供的各商品所对应的特征向量合并,得到在所述商家下,所述各商品对应的特征向量。

可选地,所述获取模块300具体用于,将所述各商品对应的特征向量以及所述用户偏好特征向量输入到待训练的商品推荐模型中,以使所述商品推荐模型针对每个推荐商品,根据在所述商家下所述各商品对应的特征向量,已确定出的推荐商品在所述商家下对应的特征向量以及所述用户对应的偏好特征向量,确定该推荐商品。

可选地,所述偏好模块304具体用于,确定所述历史订单信息涉及的各商品对应的各属性信息,根据所述历史订单信息,确定所述各属性信息对应的属性频次,根据所述历史订单信息涉及的各商品的属性信息以及所述各属性信息对应的属性频次,确定所述用户对应的偏好特征向量。

图4为本说明书实施例提供的商品推荐装置的结构示意图,具体包括:

获取模块400,用于获取各商品的特征信息以及用户的历史订单信息;

向量模块402,用于根据所述各商品的特征信息,确定各商品对应的特征向量;

偏好模块404,用于根据所述用户的历史订单信息,确定所述用户对应的偏好特征向量,作为第一偏好特征向量;

推荐模块406,用于将所述各商品对应的特征向量以及所述第一偏好特征向量输入到预先训练的商品推荐模型中,得到各待推荐商品,所述商品推荐模型是通过上述模型的训练方法训练得到的;

展示模块408,用于根据所述各待推荐商品,向所述用户进行商品推荐。

可选地,所述展示模块408具体用于,根据所述各待推荐商品对应的特征向量以及预先训练的商品筛选模型,从所述各待推荐商品中筛选出至少一个推荐商品,并将所述至少一个推荐商品推荐给所述用户。

可选地,所述获取模块400具体用于,获取所述用户从过去第一时间点到当前时刻之间的历史订单信息。确定所述用户从过去第二时间点到所述当前时刻之间的历史订单信息,其中,所述过去第二时间点到所述当前时刻之间的时间间距小于所述过去第一时间点到所述当前时刻之间的时间间距。根据所述用户从所述过去第二时间点到所述当前时刻之间的历史订单信息,确定所述用户对应的第二偏好特征向量。将所述各待推荐商品对应的特征向量以及所述第二偏好特征向量输入到预先训练的商品筛选模型中,以从所述各待推荐商品中筛选出至少一个推荐商品。

可选地,所述展示模块408具体用于,获取目标用户的历史订单信息以及各样本商品的特征信息。根据所述各样本商品的特征信息,确定所述各样本商品对应的特征向量。根据所述目标用户的历史订单信息,确定所述目标用户对应的偏好特征向量。将所述各样本商品对应的特征向量以及所述目标用户对应的偏好特征向量输入到训练后的所述商品推荐模型中,得到各待筛选商品。将所述各待筛选商品对应的特征向量以及所述目标用户对应的偏好特征向量输入到待训练的商品筛选模型中,得到针对所述目标用户的至少一个推荐商品。以最小化针对所述目标用户的至少一个推荐商品与所述目标用户对应的历史订单信息中实际涉及的各商品之间的偏差为优化目标,对所述商品筛选模型进行训练。

本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的商品推荐模型的训练方法以及上述图2提供的商品推荐方法。

本说明书还提供了图5所示的电子设备的结构示意图。如图5所述,在硬件层面,该商品推荐模型的训练设备和商品推荐方法的设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的商品推荐模型的训练方法以及上述图2提供的商品推荐方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号