一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于目标推荐模型的产品推荐及模型训练方法和装置与流程

2022-12-10 09:14:23 来源:中国专利 TAG:


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.在本发明实施方式的第十方面中,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明任一实施例所述的方法。
32.在本发明实施方式的第十一方面中,提供了一种目标推荐模型,所述目标推荐模型包括:输入层,用于输入目标用户所处的目标业务场景的场景特征和与待推荐产品相关的第一通用特征;交叉拓扑网络层,包括多个子模型,不同的子模型对应于不同的业务场景,每个子模型用于基于所述第一通用特征和所述子模型对应的业务场景的场景特征获取所述待推荐产品在所述子模型对应的业务场景下的第二推荐分数;输出层,用于基于所述待推荐产品在各个业务场景下的第二推荐分数输出所述待推荐产品的第一推荐分数,所述第一推荐分数用于向所述目标用户推荐所述待推荐产品。
33.在本发明的一个实施例中,所述目标推荐模型还包括:辅助模型,用于输出各个业务场景对应的权重;所述输出层,用于基于各个业务场景对应的权重,对所述待推荐产品在各个业务场景下的第二推荐分数进行加权求和,得到所述待推荐产品的第一推荐分数。
34.在本发明的另一实施例中,所述辅助模型包括:初始化单元,用于基于每个业务场景的历史业务目标确定所述每个业务场景的初始流量;计算单元,用于计算预设时间窗口内所述每个业务场景下被推荐产品的推荐次数和达成业务目标的次数;更新单元,用于基于所述推荐次数和达成业务目标的次数对所述每个业务场景的初始流量分布进行更新,得到所述每个业务场景的实时流量分布,并基于所述每个业务场景的实时流量分布输出所述每个业务场景对应的权重。
35.在本发明的又一实施例中,每个子模型包括第一特征提取单元和第二特征提取单元;所述第一特征提取单元,用于对所述第一通用特征进行特征提取,得到第一输出特征向量;其中,所述第一特征提取单元在对所述第一特征提取单元的网络参数和所述第二特征提取单元的网络参数进行融合后对所述第一通用特征进行特征提取;所述第二特征提取单元,用于对所述子模型对应的业务场景的场景特征进行特征提取,得到第二输出特征向量;所述子模型输出的第二推荐分数通过对所述第一输出特征向量和所述第二输出特征向量进行逐元素交叉得到。
36.根据本发明实施方式的基于目标推荐模型的产品推荐及模型训练方法和装置,采用包括多个子模型的目标推荐模型来对待推荐产品进行推荐,每个子模型都能够对该子模型对应的业务场景的场景特征以及与待推荐产品相关的第一通用特征进行处理,得到待推荐产品在对应场景下的第二推荐分数,再基于各个子模型输出的第二推荐分数得到第一推荐分数,并基于第一推荐分数将待推荐产品推荐给目标用户。本发明的目标推荐模型能够同时提取出不同业务场景的差异性以及业务场景之间的共性,从而能够适用于多种不同的业务场景,因此,无需针对不同的业务场景训练不同的推荐模型,降低了模型运维的资源开销和人力成本,提高了目标推荐模型的可扩展性,为用户带来了更好的体验。
37.此外,本发明实施例通过目标推荐模型中的主模型获取第二推荐分数,并通过目
标推荐模型中的辅助模型基于目标业务场景的实时流量分布获取权重后对第二推荐分数进行加权处理,使得目标推荐模型能够兼顾业务场景不同生命周期的流量分布变化,保证了推荐结果的实时性和稳定性,为用户带来了更好的体验。
附图说明
38.通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
39.图1示意性地示出了根据本发明实施方式的应用场景的示意图;
40.图2示意性地示出了根据本发明实施方式的基于目标推荐模型的产品推荐方法的流程图;
41.图3示意性地示出了根据本发明实施方式的进入某个业务场景的方式的示意图;
42.图4示意性地示出了根据本发明实施方式的子模型的结构示意图;
43.图5示意性地示出了根据本发明实施方式的辅助模型的结构示意图;
44.图6示意性地示出了根据本发明另一实施方式的基于目标推荐模型的产品推荐方法的流程图;
45.图7示意性地示出了根据本发明实施方式的模型训练方法的流程图;
46.图8示意性地示出了根据本发明另一实施方式的模型训练方法的流程图;
47.图9示意性地示出了根据本发明实施方式的介质的示意图;
48.图10示意性地示出了根据本发明实施方式的基于目标推荐模型的产品推荐装置的框图;
49.图11示意性地示出了根据本发明另一实施方式的基于目标推荐模型的产品推荐装置的框图;
50.图12示意性地示出了根据本发明实施方式的模型训练装置的框图;
51.图13示意性地示出了根据本发明另一实施方式的模型训练装置的框图;
52.图14示意性地示出了根据本发明实施方式的目标推荐模型的结构示意图;
53.图15示意性地示出了根据本发明实施方式的计算设备的结构示意图;
54.在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
55.下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
56.本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
57.根据本发明的实施方式,提出了一种音频播放器的控制方法、介质、装置和计算设备。
58.在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
59.下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
60.发明概述
61.产品推荐一般是通过预先训练的推荐模型从海量产品中筛选出待推荐产品并推荐给用户。不同的业务场景往往有不同的业务目标,例如,在一种业务场景下,业务目标是向用户推荐优惠力度较大、价格较低的商品,以实现用户转化率最大化;而在另一种业务场景下,业务目标是尽可能向用户推荐更多的新产品,以使新产品尽快获得足够的流量。
62.本发明人发现,推荐模型需要根据业务场景的业务目标向用户推荐产品,由于不同业务场景的业务目标不同,因此,往往需要针对不同的业务场景分别训练不同的推荐模型,从而增加了模型运维的资源开销和人力成本,且可扩展性差。此外,在业务的不同生命周期,产品的流量往往存在较大的变化。例如,在即业务初期(即低水位阶段),用户量较少,从而产品的流量也较小;在线上流量蓄水期,用户逐渐增多,流量由小变大,该阶段持续时间可长可短,可能发生流量突变;在业务稳定期(即高水位阶段),各类产品的流量占比一般比较固定。现有技术中的推荐模型难以在业务的全生命周期中提供稳定的推荐结果。
63.为此本发明采用包括多个子模型的目标推荐模型来对待推荐产品进行推荐,每个子模型都能够对该子模型对应的业务场景的场景特征以及与待推荐产品相关的第一通用特征进行处理,得到待推荐产品在对应场景下的第二推荐分数,再基于各个子模型输出的第二推荐分数得到第一推荐分数,并基于第一推荐分数将待推荐产品推荐给目标用户。本发明的目标推荐模型能够同时提取出不同业务场景的差异性以及业务场景之间的共性,从而能够适用于多种不同的业务场景,因此,无需针对不同的业务场景训练不同的推荐模型,降低了模型运维的资源开销和人力成本,提高了目标推荐模型的可扩展性,为用户带来了更好的体验。
64.此外,本发明通过目标推荐模型中的主模型获取第二推荐分数,并通过目标推荐模型中的辅助模型基于目标业务场景的实时流量分布获取权重后对第二推荐分数进行加权处理,使得目标推荐模型能够兼顾业务场景不同生命周期的流量分布变化,保证了推荐结果的实时性和稳定性。
65.在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
66.应用场景总览
67.首先参考图1,是本发明的应用场景的示意图。用户可以在智能终端101(例如,手机、平板电脑等)上安装客户端(例如,网易严选、淘宝、京东等),并通过客户端向服务器发送推荐请求。服务器在接收到产品推荐请求之后,可以将产品103的产品信息发送到客户端的显示界面102,以供用户进行浏览。用户还可以在显示界面102上对感兴趣产品执行查看、收藏、加购等操作。例如,在图1中,用户可以点击名称为“纯棉t恤”的产品的图片,从而查看该产品的具体信息,例如,颜色、尺寸、折扣、用户评论信息等。
68.示例性方法
69.下面结合图1的应用场景,参考图2来描述根据本发明示例性实施方式的基于目标推荐模型的产品推荐方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神
和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
70.实施例一:
71.如图2所示,本发明的基于目标推荐模型的产品推荐方法包括:
72.步骤s201:将目标用户所处的目标业务场景的场景特征和与待推荐产品相关的第一通用特征输入所述目标推荐模型;
73.步骤s202:获取所述目标推荐模型基于所述场景特征和所述第一通用特征输出的第一推荐分数,其中,所述第一推荐分数基于所述多个子模型中的每个子模型输出的第二推荐分数得到,一个子模型输出的第二推荐分数由所述子模型基于所述第一通用特征和所述子模型对应的业务场景的场景特征得到;
74.步骤s203:基于所述第一推荐分数向所述目标用户推荐所述待推荐产品。
75.在步骤s201中,目标用户是需要进行产品推荐的用户。例如,在一个用户通过客户端向服务器发送产品推荐请求的情况下,可以确定该用户为目标用户。目标用户可以是单个用户,即,可以分别为每个目标用户推荐待推荐产品。或者,目标用户也可以包括同一类簇的多个用户,即,可以将同样的待推荐产品推荐给同一类簇的各个目标用户。其中,可以基于用户特征对各个用户进行聚类。用户特征包括但不限于用户的年龄、性别、职业等中的至少一者。为了便于描述,下面以目标用户是单个用户为例进行说明。
76.目标用户所处的业务场景可以称为目标业务场景。业务场景的种类可以是多种多样的,例如,可以包括促销业务场景和流量探索业务场景。在促销业务场景中,业务目标是向用户推荐优惠力度较大、价格较低的商品,以实现用户转化率最大化;在流量探索业务场景中,业务目标是向用户推荐更多的新产品,以使新产品尽快获得足够的流量。此外,还有一些业务场景的业务目标是使用户对产品的加购、收藏等操作的次数最大化。除了以上列举的业务场景之外,本发明实施例中的业务场景还可以包括其他业务场景,此处不再一一列举。
77.不同的业务场景可以包括不同的场景特征,场景特征对应于不同业务场景的业务心智及用户画像的表征。其中,一个业务场景的场景特征可以包括但不限于以下至少一种:业务场景的名称、业务场景的场景业务属性、业务场景对应的用户类别特征。例如,业务场景的名称可以包括“特价”、“限时折扣”、“超级划算”、“猜你喜欢”、“为你推荐”等。其中,名称为“特价”、“限时折扣”和“超级划算”的业务场景的场景业务属性为促销属性,名称为“猜你喜欢”和“为你推荐”的业务场景的场景业务属性为流量探索属性。不同的场景业务属性对应不同的业务目标,例如,上述促销属性的业务场景的业务目标为实现用户转化率最大化,上述流量探索属性的业务场景的业务目标为使新产品尽快获得足够的流量。业务场景对应的用户类别特征可以用于表征该业务场景下的用户的类别,例如,可以基于用户的职业,将用户划分为学生类别、白领类别、教师类别、医生类别等;还可以基于用户的年龄,将用户划分为20岁以下、20岁至30岁、30岁至40岁、40岁以上等类别;还可以基于用户的性别将用户划分为男性和女性两个类别。除此之外,还可以基于其他维度划分用户类别,或者同时基于多个维度划分用户类别,此处不再一一列举。
78.可以在客户端的显示界面102上设置一个或多个业务场景对应的控件,如图3所示,客户端的显示界面102上包括“猜你喜欢”控件1021和“超级划算”控件1022,分别用于进
入流量探索场景和促销场景。在目标用户点击“猜你喜欢”控件1021之后,服务器可以确定目标用户所处的目标业务场景为流量探索场景。
79.在目标用户处于目标业务场景时,可以将目标业务场景的场景特征输入目标推荐模型。每个业务场景的场景特征都可以是一个特征向量,各个业务场景的场景特征可以组合成一个特征矩阵并输入目标推荐模型,其中,每个业务场景的场景特征在特征矩阵中的位置可以是固定的。以每个业务场景的场景特征为特征矩阵中的固定的列为例,流量探索场景的场景特征固定为特征矩阵的第1列,促销场景的场景特征固定为特征矩阵的第3列。在目标用户处于某个目标业务场景时,特征矩阵中对应于目标业务场景的列向量为非零向量,而特征矩阵中的其他列向量可以均为零向量。目标推荐模型可以基于各个业务场景的场景特征在特征矩阵中的位置,将各个业务场景的场景特征输入对应的子模型。
80.除了场景特征之外,还可以将与待推荐产品相关的第一通用特征输入目标推荐模型。其中,第一通用特征是各个业务场景之间共有的特征,可以通过客户端采集的历史数据(即离线数据,可以是t 1的天/小时级采集的数据)得到。第一通用特征可以包括但不限于以下至少一种:目标用户的用户特征,待推荐产品的产品特征,向目标用户推荐所述待推荐产品时的上下文情境特征,目标用户对待推荐产品的历史交互行为特征。其中,目标用户即为待推荐产品的推荐目标,目标用户的用户特征用于描述用户画像,可以包括目标用户的年龄、性别、职业等。待推荐产品的产品特征可以包括待推荐产品的类目信息、价格、折扣、好评率等。上下文情境特征可以包括目标用户的客户端所在设备的设备型号、目标用户的地理位置、向目标用户推荐待推荐产品时的时间信息等。历史交互行为特征可以包括目标用户对第一历史推荐产品的操作行为序列,例如,点击、搜索、收藏、加购、购买、评论等。
81.在步骤s202中,目标推荐模型可以将包括目标业务场景在内的多个业务场景的场景特征分别输入每个业务场景对应的子模型,并获取各个子模型输出的第二推荐分数。由于目标用户所处的目标业务场景一般是单个业务场景,因此,一般只有目标业务场景对应的子模型输入的场景特征是非零的,其他子模型输入的场景特征是全零的。这样,虽然每个子模型都可以输出第二推荐分数,但是目标业务场景对应的子模型输出的第二推荐分数会占据主导地位,从而使得目标推荐模型最终输出的第一推荐分数主要由目标业务场景对应的子模型的输出结果决定,即,第一推荐分数能够适配于目标业务场景。
82.除此之外,目标推荐模型还可以将第一通用特征分别输入各个子模型。假设子模型的数量为n,则子模型1的输入包括业务场景1的场景特征和第一通用特征,子模型2的输入包括业务场景2的场景特征和第一通用特征,
……
,子模型n的输入包括业务场景n的场景特征和第一通用特征。
83.在一些实施例中,每个子模型包括第一特征提取单元和第二特征提取单元。其中,第一特征提取单元可以对第一通用特征进行特征提取,得到第一输出特征向量。第二特征提取单元可以对所属子模型对应的业务场景的场景特征进行特征提取,得到第二输出特征向量。进一步地,在获取第一输出特征向量和第二输出特征向量之前,场景特征和第一通用特征还可以经过类型转换、归一化、缺省值处理、嵌入处理等预处理。其中,类型转换可以将不同类型的特征转换为同一类型,例如,将整型特征转换为浮点型特征等。归一化可以将各个特征映射到相同的取值范围内。缺省值处理可以补全特征缺失的特征值。嵌入处理可以将第一通用特征和场景特征分别转换为固定大小的稠密数值的向量。相比独热编码,嵌入
处理优化了高维稀疏带来的参数量和计算效率问题。
84.第一特征提取单元和第二特征提取单元均可以包括一个或多个的dnn(deep neural networks,深度神经网络)全连接层,且第一特征提取单元和第二特征提取单元包括的全连接层的数量相同。例如,在图4中,第一特征提取单元和第二特征提取单元均包括3个全连接层,每个全连接层如图中标注有dnn的一个方块所示。
85.在一些实施例中,第一特征提取单元可以先对第一特征提取单元的网络参数和第二特征提取单元的网络参数进行融合,再对第一通用特征进行特征提取。通过这种方式,可以同时建模各业务场景的独有信息和多业务场景间的共性信息。其中,网络参数可以包括权重参数和偏置参数。参数融合后各个全连接层的参数及输出结果如下:
[0086][0087]
oi=(ws)
t
αi bsꢀꢀꢀ
(2)
[0088][0089]
在公式(1)中,w
p
为第一特征提取单元的全连接层的权重参数,w为第二特征提取单元的全连接层的权重参数,b
p
为第一特征提取单元的全连接层的偏置参数,b为第二特征提取单元的全连接层的偏置参数。通过对w
p
和w进行交叉,可以得到业务场景s对应的权重参数ws,通过对b
p
和b进行交叉,可以得到业务场景s对应的偏置参数bs。以图4所示的子模型为例,可以按照公式(1)确定该子模型的第一特征提取单元中第1层、第2层和第3层全连接层的权重参数ws和偏置参数bs。
[0090]
在公式(2)中,αi为第一特征提取单元的全连接层的输入特征,oi为第一特征提取单元的全连接层的输出特征。将按照公式(1)确定每个全连接层的权重参数ws和偏置参数bs之后,可以将该全连接层的权重参数ws、偏置参数bs以及输入特征αi代入公式(2),得到该全连接层的输出特征oi。该全连接层的输出特征oi可以作为下一个全连接层的输入特征继续按照公式(2)进行计算,最终得到第一特征提取单元的最后一个全连接层的输出特征(即第一输出特征向量)。
[0091]
另一方面,假设第二特征提取单元中每个全连接层的输入特征和特征映射关系分别记为α
s,i
和f,则可以通过映射关系f对输入特征α
s,i
进行映射,得到第二特征提取单元中每个全连接层的输出特征,该输出特征可以作为第二特征提取单元中下一个全连接层的输入特征继续计算,直到得到第二特征提取单元的最后一个全连接层的输出特征(即第二输出特征向量)。公式(3)中的oi为第一特征提取单元的最后一个全连接层的输出特征,f(α
s,i
)为第二特征提取单元的最后一个全连接层的输出特征,n为业务场景s对应的样本数,φ为激活函数。通过公式(3)对第一特征提取单元和第二特征提取单元最后一个全连接层的输出特征进行融合(逐元素交叉)之后,可以得到该子模型输出的第二推荐分数。
[0092]
按照同样的方式可以得到目标推荐模型中其他各个子模型输出的第二推荐分数,此处不再一一赘述。然后,可以对各个子模型输出的推荐分数进行融合,得到第一推荐分数。例如,可以对各个子模型输出的第二推荐分数进行加权求和,得到第一推荐分数。
[0093]
在步骤s203中,可以基于第一推荐分数向目标用户推荐待推荐产品。具体来说,可以为每个待推荐产品确定第一推荐分数,并基于各个待推荐产品的第一推荐分数对各个待推荐产品进行排序,根据排序结果依次向目标用户推荐各个待推荐产品。一个待推荐产品
的第一推荐分数越高,该待推荐产品的排序结果越靠前,即,在向目标用户推荐时,会优先推荐第一推荐分数较高的待推荐产品。
[0094]
在一些实施例中,可以通过采用各个业务场景对应的权重对各个业务场景对应的子模型输出的第二推荐分数进行加权求和,得到第一推荐分数。其中,一个业务场景对应的权重能够体现出该业务场景的线上流量分布对推荐结果的影响。权重越大,线上流量分布对推荐结果的影响越大,历史数据(例如第一通用特征和场景特征)对推荐结果的影响越小;反之,权重越小,线上流量分布对推荐结果的影响越小,历史数据对推荐结果的影响越大。通过增加权重,能够使排序结果适应不同生命周期的流量变化。例如,在生命周期处于低水位阶段时,由于流量较小,历史数据比较稀缺,因此,目标推荐模型基于历史数据输出的推荐结果准确度较低,而基于线上流量进行推荐的准确度比较高。因此,在低水位阶段,通过增大权重,能够提高线上流量对业务场景的第二推荐分数的影响力,从而提高推荐结果的准确度。而在生命周期处于高水位阶段时,目标推荐模型输出的推荐结果准确度较高,因此,通过减小权重,能够降低线上流量对推荐结果的影响力,使推荐结果主要受历史数据的影响。
[0095]
在一些实施例中,还可以通过超参数对权重进行加权。其中,超参数用于表征权重的影响力,超参数越大,权重的影响力越大,反之权重的影响力越小。可选地,可以通过超参数对权重进行指数加权。在这种情况下,第一推荐分数output可以记为:
[0096][0097]
在公式(4)中,os为业务场景s对应的子模型输出的第二推荐分数,μs为业务场景s对应的权重,ws为超参数,是业务场景s对应的指数。引入μs和ws,对每个业务场景的权重提供个性化处理,μs直接影响不同业务场景的第二推荐分数的排序,ws则对μs的影响力进行控制,ws越大,μs的影响力越大,反之μs的影响力越小。
[0098]
在一些实施例中,可以先基于一个业务场景的历史业务目标确定该业务场景的初始流量分布。其中,初始流量分布可以是β分布,即(0,1)区间的连续概率分布。β分布具备以下特性:1)形状多变,具备很好的分布拟合性;2)值域范围在(0,1)之间。因此β分布可以描述各种0-1区间内的形状/事件,适合为不同业务场景产生业务的概率建模。可以基于最近n天(n的取值可以是7、15、30等)各个业务场景的业务目标,根据这一段时间的业务目标的变化,统计对应业务场景的业务目标的平均值μ和方差σ2,从而建立该业务场景的初始流量分布。其中,不同的业务场景可以对应不同的业务目标,例如,可以采用点击率(click through rate,ctr)或者转化率(conversion rate,cvr)作为业务目标。其中,点击率是产品的点击到达率,即该产品的实际点击次数除以产品的曝光次数。转化率是指产品点击后产生了转化的次数占比。根据数学知识可知,β分布的均值μ和方差σ2有如下数学描述:
[0099][0100]
其中,α和β分别表示β分布的α参数和β参数。由式(5)变换可得式(6),得到β分布的初始α参数α0和初始β参数β0,并将其作为各个业务场景的初始α参数和初始β参数,从而得到各个业务场景的α参数集合{α0,α0,α0,

}和β参数集合{β0,β0,β0,

}。上述两个参数集合中的每一项对应于一个业务场景。
[0101][0102]
在建立初始流量分布之后,可以采用预设时间窗口内该业务场景下被推荐产品的推荐次数和达成业务目标的次数(可以基于线上实时产生的业务数据得到)对该业务场景的初始流量分布进行更新,得到该业务场景的实时流量分布。其中,预设时间窗口可以根据实际需要设置,例如,设置为12小时、1天或者3天等时长。
[0103]
仍以β分布为例,该业务场景的实时流量分布的β参数可以基于该业务场景的初始流量分布的β参数和该业务场景下被推荐产品被推荐,且未达成业务目标的次数确定;该业务场景的实时流量分布的α参数可以基于预设时间窗口内该业务场景下被推荐产品达成业务目标的次数与该业务场景下的业务目标对应的正反馈次数的乘积以及该业务场景的初始流量分布的α参数确定。
[0104]
假设业务目标对应的正反馈记为r={r1,r2,r3...},其中,下标表示业务场景,下同。产品被推荐(也称为曝光)但未达成业务目标(例如,产品被点击或者转化)的次数记为s={s1,s2,s3...},产品达成业务目标的次数记为c={c1,c2,c3...}。可以按照预设时间窗口w进行聚合,重复如下计算步骤:
[0105]
如果产品被曝光但未达成业务目标,可以将实时流量分布的β参数更新为初始流量分布的β参数与产品被推荐但未达成业务目标的次数之和,记为{β0,β0,β0...} {s1,s2,s3...};
[0106]
如果产品达成业务目标,可以将实时流量分布的α参数更新为产品达成业务目标的次数与业务目标对应的正反馈次数的乘积同初始流量分布的α参数之和,记为{α0,α0,α0...} {c1,c2,c3...}*{r1,r2,r3...}。
[0107]
然后,可以基于该业务场景的实时流量分布确定该业务场景对应的权重。在实时流量分布为β分布的情况下,一个业务场景对应的权重可以基于该业务场景的实时流量分布的α参数和β参数确定。具体来说,可以基于实时流量分布的α参数和β参数计算得到新的均值μ,并将新的均值μ作为对应业务场景的权重。
[0108]
在一些实施例中,目标推荐模型可以包括辅助模型,用于输出各个业务场景对应的权重。参见图5,辅助模型可以包括初始化单元,用于基于每个业务场景的历史业务目标确定所述每个业务场景的初始流量;计算单元,用于计算预设时间窗口内所述每个业务场景下被推荐产品的推荐次数和达成业务目标的次数;以及更新单元,用于基于所述推荐次数和达成业务目标的次数对所述每个业务场景的初始流量分布进行更新,得到所述每个业务场景的实时流量分布,并基于所述每个业务场景的实时流量分布输出所述每个业务场景对应的权重。
[0109]
对于多业务场景的业务目标的第一推荐分数如下:
[0110][0111]
其中,os是业务场景s对应的子模型输出的第二推荐分数,详见公式(3),μ
α,β
是基于实时流量分布的α参数和β参数计算得到的均值,函数gs是业务场景s对应的第二推荐分数与权重的融合函数,详见公式(4)。融合函数的最终融合结果即为多业务场景的业务目标的第一推荐分数。
[0112]
在一些实施例中,目标推荐模型可以基于多个业务场景的场景特征和与第一历史推荐产品相关的第二通用特征训练得到。具体来说,可以将多个业务场景的场景特征和与第一历史推荐产品相关的第二通用特征输入包括多个原始子模型的原始推荐模型。其中,原始推荐模型包括的多个原始子模型与目标推荐模型包括的多个子模型一一对应。然后,可以获取所述原始推荐模型基于所述场景特征和所述第二通用特征输出的第三推荐分数,并基于所述第三推荐分数对所述原始推荐模型进行训练,得到所述目标推荐模型。其中,所述第三推荐分数基于所述多个原始子模型中的每个原始子模型输出的第四推荐分数得到,一个原始子模型输出的第四推荐分数由所述原始子模型基于所述第二通用特征和所述子模型对应的业务场景的场景特征得到。
[0113]
其中,第二通用特征可以基于客户端采集的历史数据得到,且第二通用特征与第一通用特征的类别可以相同,也可以包括用户特征、产品特征、上下文情境特征和/或历史交互行为特征,此处不再赘述。不同于对待推荐产品进行推荐(即模型上线部署)的过程,在训练过程中,需要将多个业务场景的场景特征都输入到原始推荐模型中。在前向传播过程中,原始推荐模型的处理方式与模型上线部署阶段类似。在反向传播过程中,可以基于原始推荐模型输出的第三推荐分数对原始推荐模型的模型参数进行调整。
[0114]
具体来说,可以基于所述第三推荐分数确定所述第一历史推荐产品属于正样本的概率;基于所述概率以及所述第一历史推荐产品的真实样本类别对所述原始推荐模型进行训练。其中,所述真实样本类别基于业务目标确定,用于表征所述第一历史推荐产品是否为正样本的真实结果(ground truth)。例如,在业务目标为ctr的情况下,可以将被点击的第一历史推荐产品确定为正样本,将曝光但未被点击的第一历史推荐产品确定为负样本。又例如,在业务目标为cvr的情况下,可以将被转化的第一历史推荐产品确定为正样本,将被曝光但未被转化的第一历史推荐产品确定为负样本。第一历史推荐产品的真实样本类别可以基于第一历史推荐产品的第二通用特征确定,以业务目标为ctr为例,第二通用特征可以包括目标用户对第一历史推荐产品的历史交互行为特征,如果历史交互行为特征中对第一历史推荐产品的历史交互行为包括点击行为,则第一历史推荐产品为正样本,否则第一历史推荐产品为负样本。在确定第一历史推荐产品的预测样本类别以及真实样本类别之后,可以建立损失函数(例如,交叉熵损失函数)loss(θ),表示如下:
[0115][0116]
其中,x
s,i
为业务场景s的样本i的输入特征(包括场景特征和第二通用特征),θ表示原始推荐模型的模型参数,p
ctr,cvr
(x
s,i
,θ)为样本i属于正样本的概率,可以基于原始推荐模型输出的第三推荐分数确定,y
s,i
表示样本i的标签,用于表征样本i的真实样本类别,n为样本数量,cross_entropy表示交叉熵损失函数。
[0117]
在每个子模型均包括第一特征提取单元和第二特征提取单元的情况下,在对原始推荐模型进行训练的过程中,可以在输入的场景特征包括第一业务场景的场景特征的情况下,固定除第一原始子模型以外的其他原始子模型中的第一特征提取单元的模型参数(即对其他原始子模型中的第一特征提取单元进行参数冻结),并对第一原始子模型中的第一特征提取单元的模型参数进行调整,其中,第一原始子模型为第一业务场景对应的原始子模型。在输入任一业务场景的场景特征的情况下,对所述多个原始子模型中的每个原始子
模型中的第二特征提取单元的模型参数均进行调整(即对各个原始子模型中的第二特征提取单元进行参数共享)。通过参数冻结和参数共享,可以强化各个业务场景间的差异,得到各业务场景对应的最终模型参数。
[0118]
在目标推荐模型包括辅助模型的情况下,在对原始推荐模型中的多个原始子模型进行训练的过程中,可以将原始推荐模型中的原始辅助模型输出的权重固定,即对权重进行冻结。
[0119]
在一些实施例中,还可以对训练好的目标推荐模型进行测试。如果测试通过,可以通过目标推荐模型执行本发明实施例的产品推荐方法。如果测试未通过,则对目标推荐模型进行重新训练。
[0120]
具体来说,可以针对多个第二历史推荐产品中的每个第二历史推荐产品,获取所述目标推荐模型基于第二历史推荐产品的第三通用特征和多个业务场景的场景特征输出的所述第二历史推荐产品的第五推荐分数,从所述多个第二历史推荐产品中抽取正样本和负样本,基于所述正样本的第五推荐分数和所述负样本的第五推荐分数对所述目标推荐模型进行测试。
[0121]
在上述实施例中,可以采集最近n天的历史数据作为训练数据和测试数据,其中,前n-1天的历史数据作为训练数据,第n天的历史数据作为测试数据。因此,可以将第n天的历史数据(包括第n天推送给目标用户的各个第二历史推荐产品的第三通用特征和多个业务场景的场景特征)输入目标推荐模型,并获取目标推荐模型输出的各个第二历史推荐产品的第五推荐分数。目标推荐模型输出第五推荐分数的方式与输出第一推荐分数的方式类似,此处不再赘述。可以对各个第二历史推荐产品的第五推荐分数进行排序,并根据排序结果,引入auc(area under curve,roc曲线下与坐标轴围成的面积)和/或gauc(group auc,即基于每个目标用户的auc计算加权平均值)指标对目标推荐模型的排序能力进行评估。其中,auc指标反映了“随机抽取一对正负样本,目标推荐模型把正样本排在负样本前面”的概率,关注目标推荐模型对整体样本空间的排序能力;gauc指标粒度更细,反映了“对于每个目标用户,随机抽取一对正负样本,目标推荐模型把正样本排在负样本前面”的概率,更加关注目标推荐模型对每个目标用户的排序能力。如果针对任意抽取的一组正负样本,目标推荐模型总是能够把正样本排在负样本之前(即目标推荐模型为正样本输出的第五推荐分数高于为负样本输出的第五推荐分数),则表示目标推荐模型的排序能力较好,即推荐结果比较准确。
[0122]
本发明利用多场景下用户历史行为特征、用户特征、商品特征、线上流量分布等特征,在不同生命周期、不同业务场景下推荐符合目标用户心智的个性化产品,能够提高电商多业务场景的业务指标。本发明相比于现有技术具有以下优点:
[0123]
(1)现有技术仅关注特定生命周期(例如,业务稳定期或业务初期),无法对业务的全生命周期进行有效的产品推荐,而且针对一些线上流量蓄水期(流量变化、突增或突降等)的业务场景,现有技术方案无法适用。本发明基于动态权重来适应业务全生命周期的流量分布变化,能将线上流量变化实时地反馈给目标推荐模型,适应线上业务的生命周期变化,保证了推荐方案的实时反馈和推荐效果的稳定性。
[0124]
(2)现有技术仅围绕单一场景进行建模,一方面忽视了多业务场景的共性,导致小流量场景难以训练出目标推荐模型;另一方面多个业务场景下则需要构建多个对应的推荐
模型,增加了模型运维的资源开销和人力成本,且可扩展性差。本发明结合多场景数据联合建模,既能学习到不同场景的差异性,兼顾场景之间的共性,又能够降低资源开销和运维成本,且多场景数据增加了样本数据的数据量,更有利于训练出目标推荐模型。
[0125]
实施例二:
[0126]
参见图6,本发明实施例还提供一种基于目标推荐模型的产品推荐方法,所述目标推荐模型包括主模型和辅助模型;所述方法包括:
[0127]
步骤s601:将与待推荐产品相关的第一通用特征输入所述目标推荐模型;
[0128]
步骤s602:获取所述目标推荐模型基于所述第一通用特征输出的第一推荐分数;其中,所述第一推荐分数通过采用所述辅助模型输出的权重对所述主模型输出的第二推荐分数进行加权处理得到,所述权重基于目标用户所处的目标业务场景的实时流量分布确定;
[0129]
步骤s603:基于所述第一推荐分数向所述目标用户推荐所述待推荐产品。
[0130]
在步骤s601中,第一通用特征可以包括但不限于以下至少一种:目标用户的用户特征,待推荐产品的产品特征,向目标用户推荐所述待推荐产品时的上下文情境特征,目标用户对待推荐产品的历史交互行为特征。第一通用特征的具体描述详见实施例一,此处不再赘述。
[0131]
在步骤s602中,一方面,可以通过主模型输出第二推荐分数;另一方面,可以通过辅助模型输出权重。然后,基于权重对第二推荐分数进行加权处理,即可得到第一推荐分数。
[0132]
其中,权重可以基于目标用户所处的目标业务场景的实时流量分布确定,而目标业务场景的实时流量分布则可以基于以下方式确定:基于所述目标业务场景的历史业务目标确定所述目标业务场景的初始流量分布;基于预设时间窗口内所述业务场景下被推荐产品的推荐次数和达成业务目标的次数对所述业务场景的初始流量分布进行更新,得到所述业务场景的实时流量分布。确定实时流量分布的方式以及确定权重的方式可参考实施例一,此处不再赘述。
[0133]
在步骤s603中,可以基于第一推荐分数向目标用户推荐所述待推荐产品。例如,可以按照多个待推荐产品的第一推荐分数从高到低的顺序,依次向目标用户推荐各个待推荐产品。
[0134]
其中,目标推荐模型可以预先训练得到。具体来说,可以将历史推荐产品的第二通用特征输入包括原始主模型和原始辅助模型的原始推荐模型,并获取原始推荐模型输出的第三推荐分数。其中,第三推荐分数基于原始辅助模型输出的权重对原始主模型输出的第四推荐分数进行加权处理得到。基于第三推荐分数可以预测出历史推荐产品的样本类别,该样本类别用于表征历史推荐产品是否为正样本。基于历史推荐产品的第二通用特征还可以确定历史推荐产品的真实样本类别,真实样本类别可以基于第二通用特征预先标注,例如,在业务目标为ctr的情况下,曝光但未被点击的历史推荐产品为负样本,被点击的历史推荐产品为正样本。基于原始推荐模型确定的样本类别以及历史推荐产品的真实样本类别建立损失函数,从而对原始推荐模型进行训练,得到目标推荐模型。进一步地,在训练过程中,可以冻结原始辅助模型输出的权重。
[0135]
在一些实施例中,为了使目标推荐模型能够应用于多个业务场景,可以在主模型
中设置多个子模型,每个子模型对应于一个业务场景。每个子模型用于输出待推荐产品在所述子模型对应的业务场景下的第二推荐分数;所述辅助模型输出的权重包括多个业务场景中每个业务场景对应的权重;所述第一推荐分数通过采用各个业务场景对应的权重对所述各个业务场景对应的子模型输出的第二推荐分数进行加权求和得到。
[0136]
在包括多个子模型的实施例中,输入目标推荐模型的数据既包括与待推荐产品相关的第一通用特征,又包括目标用户所处的目标业务场景的场景特征。其中,每个子模型可以包括第一特征提取单元和第二特征提取单元;所述每个子模型基于以下方式输出第二推荐分数:通过所述第一特征提取单元对所述第一通用特征进行特征提取,得到第一输出特征向量;其中,所述第一特征提取单元在对所述第一特征提取单元的网络参数和所述第二特征提取单元的网络参数进行融合后对所述第一通用特征进行特征提取;通过所述第二特征提取单元对所述子模型对应的业务场景的场景特征进行特征提取,得到第二输出特征向量;对所述第一输出特征向量和所述第二输出特征向量进行逐元素交叉,得到所述子模型输出的第二推荐分数。目标推荐模型包括多个子模型时的方法实施例的具体细节可以参考实施例一,此处不再赘述。
[0137]
在一些实施例中,还可以对目标推荐模型进行测试,如果测试通过,则可以执行实施例二中的产品推荐方法。如果测试不通过,则重新训练目标推荐模型。具体来说,可以针对多个第二历史推荐产品中的每个第二历史推荐产品,获取所述目标推荐模型基于第二历史推荐产品的第三通用特征和多个业务场景的场景特征输出的所述第二历史推荐产品的第五推荐分数;从所述多个第二历史推荐产品中抽取正样本和负样本,基于所述正样本的第五推荐分数和所述负样本的第五推荐分数对所述目标推荐模型进行测试。测试过程可参考实施例一,此处不再赘述。
[0138]
实施例三:
[0139]
参见图7,本发明实施例还提供一种模型训练方法,用于对原始推荐模型进行训练,所述原始推荐模型包括多个原始子模型,不同的原始子模型对应于不同的业务场景;所述方法包括:
[0140]
步骤s701:将多个业务场景的场景特征和与第一历史推荐产品相关的第二通用特征输入所述原始推荐模型;
[0141]
步骤s702:获取所述原始推荐模型基于所述场景特征和所述第二通用特征输出的第三推荐分数,其中,所述第三推荐分数基于所述多个原始子模型中的每个原始子模型输出的第四推荐分数得到,一个原始子模型输出的第四推荐分数由所述原始子模型基于所述第二通用特征和所述原始子模型对应的业务场景的场景特征得到;
[0142]
步骤s703:基于所述第三推荐分数对所述原始推荐模型进行训练,得到目标推荐模型。
[0143]
本方法实施例可以用于训练出实施例一中的目标推荐模型,训练过程的具体细节详见实施例一中有关训练过程的实施例,此处不再赘述。
[0144]
实施例四:
[0145]
参见图8,本发明实施例还提供一种模型训练方法,用于对原始推荐模型进行训练,所述原始推荐模型包括原始主模型和原始辅助模型;所述方法包括:
[0146]
步骤s801:将与第一历史推荐产品相关的第二通用特征输入所述原始推荐模型;
[0147]
步骤s802:获取所述原始推荐模型基于所述第二通用特征输出的第三推荐分数;其中,所述第三推荐分数通过采用所述原始辅助模型输出的权重对所述原始主模型输出的第四推荐分数进行加权处理得到,所述权重基于目标用户所处的目标业务场景的实时流量分布确定;
[0148]
步骤s803:基于所述第三推荐分数对所述原始推荐模型进行训练,得到目标推荐模型。
[0149]
本方法实施例可以用于训练出实施例二中的目标推荐模型,训练过程的具体细节详见实施例二中有关训练过程的实施例,此处不再赘述。
[0150]
示例性介质
[0151]
在介绍了本发明示例性实施方式的方法之后,接下来,参考图9对本发明示例性实施方式的介质的实施例进行说明。
[0152]
本示例性实施方式中,可以通过程序产品实现上述方法,如可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,该存储器可以在设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读介质90可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0153]
该程序产品可以采用一个或多个可读介质的任意组合。可读介质90可以是可读信号介质或者可读介质。可读介质90例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0154]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0155]
可读介质90上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、re等等,或者上述的任意合适的组合。
[0156]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如java、c 等,还包括常规的过程式程序设计语言,诸如c语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0157]
示例性装置
[0158]
在介绍了本发明示例性实施方式的介质之后,接下来,对本发明示例性实施方式的装置的实施例进行说明。
[0159]
参考图10,本发明实施例还提供一种基于目标推荐模型的产品推荐装置,所述目
标推荐模型包括多个子模型,不同的子模型对应于不同的业务场景;所述装置包括:
[0160]
第一输入模块1001,用于将目标用户所处的目标业务场景的场景特征和与待推荐产品相关的第一通用特征输入所述目标推荐模型;
[0161]
第一获取模块1002,用于获取所述目标推荐模型基于所述场景特征和所述第一通用特征输出的第一推荐分数,其中,所述第一推荐分数基于所述多个子模型中的每个子模型输出的第二推荐分数得到,一个子模型输出的第二推荐分数由所述子模型基于所述第一通用特征和所述子模型对应的业务场景的场景特征得到;
[0162]
第一推荐模块1003,用于基于所述第一推荐分数向所述目标用户推荐所述待推荐产品。
[0163]
参见图11,本发明实施例还提供,一种基于目标推荐模型的产品推荐装置,所述目标推荐模型包括主模型和辅助模型;所述装置包括:
[0164]
第二输入模块1101,用于将与待推荐产品相关的第一通用特征输入所述目标推荐模型;
[0165]
第二获取模块1102,用于获取所述目标推荐模型基于所述第一通用特征输出的第一推荐分数;其中,所述第一推荐分数通过采用所述辅助模型输出的权重对所述主模型输出的第二推荐分数进行加权处理得到,所述权重基于目标用户所处的目标业务场景的实时流量分布确定;
[0166]
第二推荐模块1103,用于基于所述第一推荐分数向所述目标用户推荐所述待推荐产品。
[0167]
参见图12,本发明实施例还提供一种模型训练装置,用于对原始推荐模型进行训练,所述原始推荐模型包括多个原始子模型,不同的原始子模型对应于不同的业务场景;所述装置包括:
[0168]
第三输入模块1201,用于将多个业务场景的场景特征和与第一历史推荐产品相关的第二通用特征输入所述原始推荐模型;
[0169]
第三获取模块1202,用于获取所述原始推荐模型基于所述场景特征和所述第二通用特征输出的第三推荐分数,其中,所述第三推荐分数基于所述多个原始子模型中的每个原始子模型输出的第四推荐分数得到,一个原始子模型输出的第四推荐分数由所述原始子模型基于所述第二通用特征和所述原始子模型对应的业务场景的场景特征得到;
[0170]
第一训练模块1203,用于基于所述第三推荐分数对所述原始推荐模型进行训练,得到目标推荐模型。
[0171]
参见图13,本发明实施例还提供一种模型训练装置,用于对原始推荐模型进行训练,所述原始推荐模型包括原始主模型和原始辅助模型;所述装置包括:
[0172]
第四输入模块1301,用于将与第一历史推荐产品相关的第二通用特征输入所述原始推荐模型;
[0173]
第四获取模块1302,用于获取所述原始推荐模型基于所述第二通用特征输出的第三推荐分数;其中,所述第三推荐分数通过采用所述原始辅助模型输出的权重对所述原始主模型输出的第四推荐分数进行加权处理得到,所述权重基于目标用户所处的目标业务场景的实时流量分布确定;
[0174]
第二训练模块1303,用于基于所述第三推荐分数对所述原始推荐模型进行训练,
得到目标推荐模型。
[0175]
示例性网络结构
[0176]
参见图14,本发明实施例还提供一种目标推荐模型,所述目标推荐模型包括:
[0177]
输入层1401,用于输入目标用户所处的目标业务场景的场景特征和与待推荐产品相关的第一通用特征;
[0178]
交叉拓扑网络层1402,包括多个子模型14021,不同的子模型对应于不同的业务场景,每个子模型14021用于基于所述第一通用特征和所述子模型14021对应的业务场景的场景特征获取所述待推荐产品在所述子模型14021对应的业务场景下的第二推荐分数;
[0179]
输出层1403,用于基于所述待推荐产品在各个业务场景下的第二推荐分数输出所述待推荐产品的第一推荐分数,所述第一推荐分数用于向所述目标用户推荐所述待推荐产品。
[0180]
假设子模型的数量为n,为了简洁,图中仅示出了子模型1的具体结构,子模型2,
……
,子模型n的具体结构与子模型1相同,图中未示出。
[0181]
在一些实施例中,所述目标推荐模型还包括:辅助模型1404,用于输出各个业务场景对应的权重;所述输出层1403,用于基于各个业务场景对应的权重,对所述待推荐产品在各个业务场景下的第二推荐分数进行加权求和,得到所述待推荐产品的第一推荐分数。
[0182]
在一些实施例中,所述辅助模型1404包括:初始化单元14041,用于基于每个业务场景的历史业务目标确定所述每个业务场景的初始流量;计算单元14042,用于计算预设时间窗口内所述每个业务场景下被推荐产品的推荐次数和达成业务目标的次数;更新单元14043,用于基于所述推荐次数和达成业务目标的次数对所述每个业务场景的初始流量分布进行更新,得到所述每个业务场景的实时流量分布,并基于所述每个业务场景的实时流量分布输出所述每个业务场景对应的权重。
[0183]
在一些实施例中,每个子模型14021包括第一特征提取单元14021a和第二特征提取单元14021b;所述第一特征提取单元14021a,用于对所述第一通用特征进行特征提取,得到第一输出特征向量;其中,所述第一特征提取单元14021a在对所述第一特征提取单元14021a的网络参数和所述第二特征提取单元14021b的网络参数进行融合后对所述第一通用特征进行特征提取;所述第二特征提取单元14021b,用于对所述子模型对应的业务场景的场景特征进行特征提取,得到第二输出特征向量;所述子模型14021输出的第二推荐分数通过对所述第一输出特征向量和所述第二输出特征向量进行逐元素交叉得到。
[0184]
在一些实施例中,输入层1401还用于对场景特征和第一通用特征进行类型转换、归一化、缺省值处理等预处理。在另一些实施例中,目标推荐模型还包括嵌入向量层1405,用于对输入层1401输出的场景特征和第一通用特征进行嵌入处理,得到场景特征对应的向量和第一通用特征对应的向量后输出至对应的子模型。
[0185]
本实施例中目标推荐模型中各个层执行的功能详见前述方法实施例,此处不再赘述。
[0186]
示例性计算设备
[0187]
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图15对本发明示例性实施方式的计算设备的实施例进行说明。
[0188]
图15显示的计算设备1500仅仅是一个示例,不应对本发明实施例的功能和使用范
围带来任何限制。
[0189]
如图15所示,计算设备1500以通用计算设备的形式表现。计算设备1500的组件可以包括但不限于:上述至少一个处理单元1501、上述至少一个存储单元1502,连接不同系统组件(包括处理单元1501和存储单元1502)的总线1503。
[0190]
总线1503包括数据总线、控制总线和地址总线。
[0191]
存储单元1502可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)15021和/或高速缓存存储器15022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(rom)15023。
[0192]
存储单元1502还可以包括具有一组(至少一个)程序模块15024的程序/实用工具15025,这样的程序模块15024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0193]
计算设备1500也可以与一个或多个外部设备1504(例如键盘、指向设备等)通信。
[0194]
这种通信可以通过输入/输出(i/o)接口1505进行。并且,计算设备1500还可以通过网络适配器1506与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图15所示,网络适配器1506通过总线1503与计算设备1500的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备1500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0195]
应当注意,尽管在上文详细描述中提及了音频播放器的控制装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
[0196]
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0197]
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献