一种产品推荐方法、装置及电子设备与流程

文档序号:33474211发布日期:2023-03-15 09:36阅读:35来源:国知局
一种产品推荐方法、装置及电子设备与流程

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.图1是根据本公开的产品推荐方法的一种流程示意图;
33.图2是根据本公开的产品推荐模型的训练方法的一种流程示意图;
34.图3是根据本公开的产品推荐模型的训练方法的另一种流程示意图;
35.图4是根据本公开的产品推荐模型的训练方法的另一种流程示意图;
36.图5是根据本公开的产品推荐模型的训练方法的另一种流程示意图;
37.图6是根据本公开的产品推荐装置的一种结构示意图;
38.图7是根据本公开的产品推荐模型的训练装置的一种结构示意图;
39.图8是用来实现本公开实施例的产品推荐方法和产品推荐模型的训练方法的电子设备的框图。
具体实施方式
40.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识
到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
41.产品制造或营销公司常常需要为用户推荐合适的产品,使得用户能够便利的获得符合自己需要的产品,而相关技术中往往不能准确的确定用户对哪种产品感兴趣而不能为用户推荐合适的产品,基于此,本公开提供了一种产品推荐方法,如图1所示,方法包括:
42.s101,确定拥有第一产品且未拥有第二产品的候选推荐用户。
43.s102,将候选推荐用户的用户特征输入至产品推荐模型,得到产品推荐模型输出的各候选推荐用户对第二产品的感兴趣程度。
44.s103,根据感兴趣程度,从候选推荐用户中确定目标推荐用户。
45.s104,向目标推荐用户推荐第二产品。
46.选用该实施例,将购买了第一产品的用户作为候选推荐用户,将候选推荐用户的用户特征输入至产品推荐模型,使得产品推荐模型输出候选推荐用户对第二产品的感兴趣程度,而产品推荐模型是通过样本用户的用户特征训练得到的,该样本用户为拥有了第一产品而未拥有第二产品的用户特征,和既拥有第一产品又拥有第二产品的用户,因此,基于这样的样本用户训练得到的产品推荐模型可以学习到拥有第一产品的用户中对第二产品感兴趣的用户,进而,可以根据候选推荐用户的用户特征预测候选推荐用户的对第二产品的感兴趣程度,进而根据该感兴趣程度确定候选推荐用户中的目标推荐用户,为目标推荐用户推荐第二产品,使得目标推荐用户获得合理的产品推荐,提高了用户体验。
47.其中,在s101中,可以理解的是,本公开中的候选推荐用户为已经拥有了某特定产品的用户,为方便描述,下文以保险产品为例,在此示例中,候选推荐用户即为已经购买了某个保险产品的用户。具体的,可以周期性的查询包含保险产品营销信息的数据库,如hive(一种数据仓库工具),获取拥有了某一保险产品(第一产品)而未拥有另一保险产品(第二产品)的用户作为候选推荐用户。
48.示例性的,由于长期保险产品保费较高,产品期限时间较长,而短期保险产品例如赠险,保费低,产品期限时间短,因此,售卖长期保险产品对于保险公司利润高,而售卖短期保险产品对于保险公司利润低,进而对于保险公司而言,可以将短期保险产品作为第一产品,将长期保险产品作为第二产品,将购买了短期保险产品而未购买长期保险产品的用户作为候选推荐用户,为部分的候选推荐用户推荐长期保险产品,以此提高利润。
49.其中,在s102中,产品推荐模型是预先通过样本用户的用户特征训练得到的,样本用户包括在历史时间窗口内拥有第一产品且未拥有第二产品的负样本用户,以及在历史时间窗口内拥有第一产品和第二产品的正样本用户。
50.在历史时间窗口内拥有第一产品且未拥有第二产品表示该用户在拥有了第一产品后的预设时间内没有拥有第二产品,以保险产品为例,即用户在购买了第一产品保险后,在预设时间内没有购买第二产品保险,将这样的用户,作为负样本用户。相应的,在历史时间窗口内拥有第一产品和第二产品表示该用户在拥有了第一产品后的预设时间内拥有了第二产品,以保险产品为例,即用户在购买了第一产品保险后,在预设时间内购买了第二产品保险,将这样的用户,作为正样本用户。具体的,若预设时间为三个月,用户a在1月份买了第一产品,而后又在2月份买了第二产品,则将用户a作为正样本用户,而用户b在1月份买了第一产品,而后续2、3、4月份都没有购买第二产品,则将用户b作为负样本用户。
51.样本用户中包括了正样本用户和负样本用户,而正样本用户拥有第二产品,因此可以视为对第二产品感兴趣的用户,而负样本用户未拥有第二样本,因此可以视为对第二产品感兴趣的用户,根据样本用户的用户特征训练得到的产品推荐模型可以学习到样本用户的用户特征与样本用户是否对第二产品感兴趣之间的映射关系,从而根据候选推荐用户的用户特征预测候选推荐用户是否对第二产品感兴趣,即预测得到候选推荐用户对第二产品的感兴趣程度。其中,样本用户的用户特征可以包括用户的年龄、收入、健康状况等等,相应的,获取的候选推荐用户的用户特征的特征维度应该与样本用户的用户特征的特征维度相同,示例性的,若样本用户的用户特征包括样本用户的年龄,则候选推荐用户的用户特征也应当包括候选推荐用户的年龄。在一种可能的实施例中,样本用户的用户特征是利用专家经验和/或自动特征生成工具根据每个样本用户的相关信息生成的,该相关信息可以包括样本用户的产品购买记录,样本用户的年龄,性别等等。
52.产品推荐模型输出的感兴趣程度可以以分数表示,分数越高则表示该候选推荐用户对第二产品越感兴趣,在其他示例中,产品推荐模型也可以以等级表示,具体的,输出等级1和等级0,等级1表示该候选推荐用户对第二产品感兴趣,而等级0表示该候选推荐用户对该第二产品不感兴趣,等等,本公开对感兴趣程度的表示方法并不限定。
53.在一种可能的实施例中,在用户特征输入至产品推荐模型前,可以对类别型的用户特征先进行label encoder(标签编码器)编码,类别型特征为初始时未使用数值表示的特征,如性别:男、女,而为便于产品推荐模型对这些特征进行处理,这类特征输入至模型之前需要进行数值化编码,例如,将若将男性编码为2,将女性编码为3。
54.其中,在s103中,根据感兴趣程度,将对第二产品的感兴趣程度大的候选推荐用户作为目标推荐用户,以前述感兴趣程度以分数表示为例,若产品推荐模型输出的一个候选推荐用户的感兴趣程度的分数大于预设阈值,则将该候选推荐用户作为目标推荐用户,或者产品推荐模型输出的一个候选推荐用户的感兴趣程度的分数为所有候选推荐用户的感兴趣程度的分数排序中,从大到小排序序号为前预设排序名次,则将该候选推荐用户作为目标推荐用户,以此,从所有候选推荐用户中确定出各个目标推荐用户。
55.其中,在s104中,可以理解的是,目标推荐用户为对第二产品较为感兴趣的用户,因此,向目标推荐用户推荐第二产品的推荐成功率较高,而目标推荐用户也可以便利的获得自己感兴趣的产品的相关信息,提高了用户体验。
56.在前述方法中,是基于产品推荐模型输出的感兴趣程度确定目标推荐用户,进而为其推荐第二产品的,可以理解的是,产品推荐模型对候选推荐用户输出的感兴趣程度的准确度直接影响到能否为合适的用户推荐第二产品,基于此,本公开提供了一种产品推荐模型的训练方法,以提高产品推荐模型的准确性,如图2所示,方法包括:
57.s201,获取样本用户的用户特征。
58.s202,将用户特征输入至原始训练模型中,得到原始训练模型输出的各样本用户对第二产品的感兴趣程度。
59.s203,根据感兴趣程度构建训练损失。
60.s204,根据训练损失调整原始训练模型,得到产品推荐模型。
61.其中,在s201中,样本用户包括在历史时间窗口内拥有第一产品且未拥有第二产品的负样本用户,以及在历史时间窗口内拥有第一产品和第二产品的正样本用户。
62.样本用户在前述s102中已经解释,可以参见前述s102的相关描述,此处不再赘述。
63.其中,在s202中,原始训练模型为还未进行训练的模型,其可以是xgboost(extreme gradient boosting,极致梯度提升)模型,也可以是lightgbm(light gradient boosting machine,一款基于决策树算法的分布式梯度提升框架),本公开对此并不限定。将样本用户的用户特征输入至原始训练模型中,使得原始训练模型输出各样本用户对第二产品的感兴趣程度,该感兴趣程度如前所述,可以以分数表示,也可以以其他形式表示。
64.其中,在s203中,其中,训练损失与正样本用户的感兴趣程度负相关,且与负样本用户的感兴趣程度正相关。
65.可以理解的是,正样本用户为在历史时间窗口既拥有第一产品又拥有第二产品的用户,其必然是对第二产品感兴趣程度较大才在拥有第一产品的基础上购买第二产品的,而负样本用户为在历史时间窗口只拥有第一产品的用户,由于其对第二产品的感兴趣程度较低,因此负样本用户才会在后续不购买第二产品。可见,若原始训练模型准确,则其应该对正样本用户对第二产品输出的感兴趣程度较大,而为负样本用户对第二产品输出的感兴趣程度较小,换言之,若正样本用户对应的感兴趣程度越小,则说明原始训练模型不够准确,训练损失应该越大,相应的,若负样本用户对应的感兴趣程度越大,则说明原始训练模型不够准确,训练损失应该越大,基于此,构建训练损失。具体的,训练损失可以由损失函数表示,例如huber损失函数、softmax损失函数等等,本公开对此并不限定。
66.其中,在s204中,根据训练损失调整原始训练模型的相关参数,直到基于调整后的原始训练模型输出的感兴趣程度构建的训练损失小于某个阈值,例如输出的正样本用户对第二产品的感兴趣的程度较高,负样本用户对第二产品的感兴趣的程度较低,可以认为该调整后的原始训练模型可以准确的预测候选推荐用户对第二产品的感兴趣程度,进而将该原始训练模型作为产品推荐模型,以便后续使用。
67.选用该实施例,可以基于样本用户中正样本用户和负样本用户的特点,为原始训练模型构建损失函数,根据该损失函数再调整原始训练模型,指导调整后的原始训练模型可以准确输出样本用户中正样本用户和负样本用户对第二产品的感兴趣程度,进而得到可以准确预测候选推荐用户对第二产品的感兴趣程度的产品推荐模型。
68.在产品推荐模型的训练过程中,用户特征的确定也较为重要,若选取的样本用户的用户特征随着时间变化较大,则可以理解该用户特征不够稳定,不能准确体现该用户的相关情况,进而根据这样的用户特征训练得到的产品推荐模型也可能不能准确预测候选推荐用户对第二产品的感兴趣程度,基于此,本公开还提供了一种产品推荐模型的训练方法,如图3所示,方法包括:
69.s301,获取样本用户在各原始特征维度上的样本特征分布以及跨时间测试用户在各原始特征维度上的跨时间特征分布。
70.s302从原始特征维度中筛除样本特征分布与跨时间特征分布差异满足预设条件的特征维度,得到目标特征维度。
71.s303,获取样本用户在目标特征维度上的用户特征。
72.s304,将用户特征输入至原始训练模型中,得到原始训练模型输出的各样本用户对第二产品的感兴趣程度。
73.s305,根据感兴趣程度构建训练损失。
74.s306,根据训练损失调整原始训练模型,得到产品推荐模型。
75.其中,在s301中,跨时间测试用户为在跨时间窗口内拥有第一产品的用户,跨时间窗口与历史时间窗口不重叠。
76.由于跨时间窗口与历史时间窗口不重叠,因此,跨时间测试用户拥有第一产品的时间与样本用户拥有第一产品的时间不重叠,例如,若样本用户对应的历史时间窗口为1-6月,则跨时间测试用户对应的跨时间窗口可以为在7月份或8月份等不与1-6月重叠的月份。
77.原始特征维度为初始时获取的样本用户的所有原始特征所处的特征维度,可以包括年龄、性别、健康状况、收入等等维度,各样本用户在各原始特征维度上的原始特征有其对应的分布情况,将该分布情况作为样本用户在各原始特征维度上的样本特征分布。而跨时间特征分布为跨时间测试用户的原始特征在原始特征维度上的分布情况。
78.其中,在s302中,可以理解的是,由于样本用户和跨时间测试用户不在一个时间窗口,因此,样本用户和跨时间测试用户对第一产品的初始拥有时间差异较大。而若样本特征分布和跨时间特征分布中存在分布差异较大的特征维度,则说明该特征维度的特征会随着时间的变化而有较大的变化,进而该特征维度的特征不够稳定,可以将该特征维度筛除。因此,样本特征分布与跨时间特征分布在某个特征维度的特征分布差异越大,则该特征维度越可能满足预设条件,示例性的,预设条件可以为分布差异大于特定阈值。将原始特征维度中满足预设条件的特征维度筛除,即是将不稳定的原始特征筛除,得到稳定的能够体现样本用户的相关特点的目标特征维度上的用户特征。
79.在一种可能的实施例中,可以通过以下方法确定满足预设条件的特征维度并进行筛除:
80.s3021,通过稳定性指标评估样本特征分布和跨时间特征分布在原始特征维度上的分布差异,得到第一评估结果。
81.s3022,根据第一评估结果筛除原始特征维度中样本特征分布与跨时间特征分布差异满足第一预设条件的特征维度,得到第一特征维度。
82.s3023,通过对抗验证方式评估样本特征分布和跨时间特征分布在第一特征维度上的分布差异,得到第二评估结果。
83.s3024,根据第二评估结果筛除第一特征维度中样本特征分布与跨时间特征分布差异满足第二预设条件的特征维度,得到目标特征维度。
84.其中,在s3021中,稳定性指标可以反映样本特征分布在各分数段(各特征维度)的分布与跨时间特征分布的稳定性,通常稳定性指标可以为psi(population stability index)指标,通过该稳定性指标可以评估出样本特征分布和跨时间特征分布在原始特征维度中分布差异,得到关于各个特征维度的特征分布的分布差异的第一评估结果。
85.其中,在s3022中,根据该第一评估结果,确定各个原始特征维度中满足第一预设条件的特征维度进行筛除,得到第一特征维度。其中,第一预设条件可以是原始特征维度上的特征分布差异大于预设阈值,可以理解的是,样本特征分布和跨时间特征分布在某个原始特征维度上分布差异越大,则该原始特征维度越可能满足第一预设条件。
86.其中,在s3023中,对抗验证方式(adversarial validation)为一种确认训练集(样本特征分布)和测试集(跨时间特征分布)的分布是否一致的方法,对抗验证作为一种特征筛选方法时,可以找出时序波动明显的特征,帮我们快速找到在原始特征维度上不稳定
的特征维度的特征。因此,可以基于对抗验证方式,对已经经过稳定性指标评估筛除的第一特征维度再次进行评估,得到第一特征维度中各个特征维度的特征分布的分布差异的第二评估结果。
87.其中,在s3024中,根据该第二评估结果,确定各个第一特征维度中满足第二预设条件的特征维度进行筛除,得到目标特征维度。其中,第二预设条件可以是第一特征维度上的特征分布差异大于预设阈值,可以理解的是,样本特征分布和跨时间特征分布在某个特征维度上分布差异越大,则该特征维度越可能满足第二预设条件。
88.选用该实施例,稳定性指标和对抗验证方式都能准确评估特征分布的稳定性,而通过稳定性指标和对抗验证方式评估了原始特征维度上样本特征分布和跨时间特征分布的分布差异,进而根据评估结果筛选出了目标特征维度,进一步的提高了后续在目标特征维度上获取的用户特征的稳定性。
89.其中,在s303中,可以理解的是,样本用户在目标特征维度上的用户特征为稳定的,可以准确体现样本用户相关特点的用户特征,使用该用户特征训练原始推荐模型,使得后续训练得到产品推荐模型输出的感兴趣程度更加准确。
90.其中,在s304中,此步骤s202相同,具体可以参见s202的相关描述,此处不再赘述。
91.其中,在s305中,此步骤s203相同,具体可以参见s203的相关描述,此处不再赘述。
92.其中,在s306中,此步骤s204相同,具体可以参见s204的相关描述,此处不再赘述。
93.选用该实施例,通过对原始特征维度中特征不稳定的特征维度的筛除,实现有目的地获取稳定分布在目标特征维度的用户特征,使得后续根据这些稳定的样本用户的用户特征训练得到的产品推荐模型更加准确。
94.为了确定训练好的产品推荐模型预测的候选推荐用户对第二产品的感兴趣程度的准确性,可以对产品推荐模型进行验证,基于此,本公开还提供了一种产品推荐模型的验证方法,如图4所示,方法包括:
95.s401,获取验证样本的用户特征。
96.s402,将验证样本的用户特征输入至产品推荐模型,得到产品推荐模型输出的各验证样本的感兴趣程度。
97.s403,确定感兴趣程度与验证样本中的负样本用户和验证样本中的正样本用户的匹配程度。
98.s404,根据匹配程度验证产品推荐模型,得到验证结果。
99.其中,在s401中,验证样本包括在历史时间窗口拥有第一产品且未拥有第二产品的负样本用户,以及在历史时间窗口内拥有第一产品和第二产品的正样本用户。
100.验证样本与样本用户类似,为包括在历史时间窗口拥有第一产品且未拥有第二产品的负样本用户,以及在历史时间窗口内拥有第一产品和第二产品的正样本用户,但是具体的,样本用户为用于训练产品推荐模型的样本,而验证样本为用于验证产品推荐模型的样本,样本用户和验证样本包含的具体的样本是不同的,如样本用户中包括用户a,则验证样本中便不会包括用户a。
101.其中,在s402中,此步骤与s102类似,不同的是s102输入的是候选推荐用户的用户特征,得到的是候选推荐用户对第二产品的感兴趣程度,而s402输入的是验证样本的用户特征,得到的是验证样本对第二产品的感兴趣的程度,具体可以参见s102的相关描述,此处
不再赘述。
102.其中,在s403中,如前所述,负样本用户在历史时间窗口中未拥有第二产品,为对第二产品感兴趣程度较低的用户,因此,若产品推荐模型准确,则应输出负样本用户对第二产品的感兴趣程度较低,正样本用户在历史时间窗口中拥有了第二产品,为对第二产品感兴趣程度较高的用户,因此,若产品推荐模型准确,则应输出负样本用户对第二产品的感兴趣程度较高。因此,可以基于产品推荐模型输出的验证样本中各正样本用户和负样本用户对第二产品的感兴趣程度,判断各感兴趣程度是否与各正样本用户和负样本用户的特点匹配,即,若产品推荐模型输出的正样本用户对第二产品的感兴趣程度高,则说明该感兴趣程度与正样本用户匹配,若产品推荐模型输出的负样本用户对第二产品的感兴趣程度低,则说明该感兴趣程度与正样本用户匹配。基于此,确定各验证样本与感兴趣程度的匹配程度。
103.在一种可能的实施例中,本公开提供了一种确定感兴趣程度与验证样本匹配程度的方法,方法包括:
104.s4031,根据感兴趣程度将验证样本进行等频分箱,得到各箱体。
105.s4032,统计每个箱体内验证样本中正样本用户的正样本率和/或负样本用户的负样本率。
106.s4033,确定正样本率和/或负样本率与箱体的匹配程度,作为验证样本中的负样本用户和验证样本中的正样本用户的匹配程度。
107.其中,在s4031中,等频分箱是将数据离散化的一种方法,等频分箱使得每个箱体包括的值一样多。本公开中根据感兴趣程度对验证样本进行等频分箱可以是将验证样本根据其对应的感兴趣程度按照感兴趣程度的大小进行分箱,例如,若感兴趣程度以分数表示,可以将感兴趣程度为1的验证样本放在一个箱体,将感兴趣程度为2的验证样本放在另一个箱体,以此类推,对各验证样本进行等频分箱。
108.其中,在s4032中,可以理解的是,各个箱体中可能包括正样本用户和/或负样本用户,而各正样本用户数量占本箱体所有验证样本的数量的比例即为正样本率,各负样本用户数量占本箱体所有验证样本的数量的比例即为负样本率。示例性的,若一个箱体中有5个验证样本,其中1个为正样本用户,4个负样本用户,则该箱体的正样本率为20%,负样本率为80%。
109.其中,在s4033中,正样本率和/或负样本率与箱体的匹配程度为正样本率和/或负样本率与箱体中各验证样本对应的感兴趣程度的匹配程度,换言之,一个箱体的正样本率越高,且其对应的感兴趣程度也应该越高,则说明该正样本率与该箱体匹配程度高,相应的,若一个箱体的负样本率越低,且其对应的感兴趣程度也应该越低,则说明该负样本率与该箱体匹配程度高。
110.其中,箱体是根据其中的验证样本对应的感兴趣程度划分的,因此,针对一个箱体,其会对应一个感兴趣程度。以感兴趣程度以分数表示为例,若a箱体对应的感兴趣程度的分数为1,即感兴趣程度较低,则说明产品推荐模型预测该箱体中各验证样本对第二产品的感兴趣程度低,b箱体对应的感兴趣程度的分数为6,即感兴趣程度较高,则说明产品推荐模型预测该箱体中各验证样本对第二产品的感兴趣程度高,可以理解,理论上a箱体中的既拥有第一产品又拥有第二产品的人应该少于b箱体,即a箱体的正样本率应该小于b箱体的正样本率,而若统计出a箱体中正样本率为60%,统计出b箱体中正样本率为20%,则说明a
箱体和b箱体的正样本率与a箱体和b箱体不匹配。以此,将箱体与正样本率和/或负样本率的匹配程度作为验证样本中的负样本用户和验证样本中的正样本用户的匹配程度,使得获得的匹配程度的确定更加准确。
111.选用该实施例,通过离散统计的方法,可以准确的确定出验证样本与产品推荐模型输出的验证样本对第二产品的感兴趣程度的匹配程度,使得后续进而根据该匹配程度确定产品推荐模型是否准确,得到验证结果,提高了本公开得到关于产品推荐模型的验证结果的准确度,进一步的提高了本公开产品推荐方法的推荐准确度。
112.其中,在s404中,可以理解的是,感兴趣程度与验证样本不匹配的情况多,则说明产品推荐模型输出的验证样本对第二产品的感兴趣程度不准确,而若感兴趣程度与验证样本匹配的情况多,或者都匹配,则说明书产品推荐模型对验证样本输出的第二产品的感兴趣程度准确,基于此,获得产品推荐模型的验证结果。
113.选用该实施例,通过验证样本验证产品推荐模型的准确性,得到验证结果,以便后续根据验证结果对产品推荐模型的调整后再进行使用,提高了本公开产品推荐方法的推荐准确度。
114.为了更好的说明上述产品推荐模型的训练方法的具体实施过程,本公开还提供了产品推荐模型的训练方法的流程示意图,如图5所示,下面将结合图5进行说明:
115.s501,定义样本,确定出样本用户。
116.s502,数据提取,将样本用户和样本用户所有可能被用到的特征导入到建模环境中。
117.s503,原始特征回溯、生成,利用专家经验和自动特征生成工具产出每条样本用户对应的原始特征。
118.s504,特征筛选,将原始特征进行筛选,得到目标特征维度下的用户特征。
119.s505,模型训练,通过用户特征训练原始推荐模型,得到产品推荐模型。
120.s506,模型评估,通过等频分箱统计正样本率的方法对产品推荐模型进行评估,确定产品推荐模型输出的候选推荐用户的感兴趣程度的准确性。
121.根据本公开的实施例,本公开还提供了一种产品推荐装置,如图6所示,包括:
122.候选确定模块601,用于确定拥有第一产品且未拥有第二产品的候选推荐用户;
123.兴趣获取模块602,用于将所述候选推荐用户的用户特征输入至产品推荐模型,得到所述产品推荐模型输出的各所述候选推荐用户对第二产品的感兴趣程度,所述产品推荐模型是预先通过样本用户的用户特征训练得到的,所述样本用户包括在历史时间窗口内拥有第一产品且未拥有所述第二产品的负样本用户,以及在所述历史时间窗口内拥有所述第一产品和所述第二产品的正样本用户;
124.目标确定模块603,用于根据所述感兴趣程度,从所述候选推荐用户中确定目标推荐用户;
125.产品推荐模块604,用于向所述目标推荐用户推荐所述第二产品。
126.根据本公开的实施例,本公开还提供了一种产品推荐模型的训练装置,如图7所示,包括:
127.特征获取模块701,用于获取样本用户的用户特征,所述样本用户包括在历史时间窗口内拥有第一产品且未拥有第二产品的负样本用户,以及在所述历史时间窗口内拥有所
述第一产品和所述第二产品的正样本用户;
128.初始训练模块702,用于将所述用户特征输入至原始训练模型中,得到所述原始训练模型输出的各所述样本用户对所述第二产品的感兴趣程度;
129.模型调整模块703,用于根据所述感兴趣程度构建训练损失,其中,所述训练损失与所述正样本用户的所述感兴趣程度负相关,且与所述负样本用户的所述感兴趣程度正相关;
130.模块获得模块704,用于根据所述训练损失调整所述原始训练模型,得到产品推荐模型。
131.在一种可能的实施例中,还包括:
132.分布获取模块,用于获取样本用户在各原始特征维度上的样本特征分布以及跨时间测试用户在各所述原始特征维度上的跨时间特征分布,其中,所述跨时间测试用户为在跨时间窗口内拥有所述第一产品的用户,所述跨时间窗口与所述历史时间窗口不重叠;
133.特征筛选模块,用于从所述原始特征维度中筛除所述样本特征分布与所述跨时间特征分布差异满足预设条件的特征维度,得到目标特征维度;
134.所述特征获取模块701,具体用于获取样本用户在所述目标特征维度上的用户特征。
135.在一种可能的实施例中,特征筛选模块,包括:
136.第一评估获取子模块,用于通过稳定性指标评估所述样本特征分布和所述跨时间特征分布在所述原始特征维度上的分布差异,得到第一评估结果;
137.第一筛选子模块,用于根据所述第一评估结果筛除所述原始特征维度中所述样本特征分布与所述跨时间特征分布差异满足第一预设条件的特征维度,得到第一特征维度;
138.第二评估获取子模块,用于通过对抗验证方式评估所述样本特征分布和所述跨时间特征分布在所述第一特征维度上的分布差异,得到第二评估结果;
139.第二筛选子模块,用于根据所述第二评估结果筛除所述第一特征维度中所述样本特征分布与所述跨时间特征分布差异满足第二预设条件的特征维度,得到目标特征维度。
140.在一种可能的实施例中,还包括:
141.验证获取模块,用于获取验证样本的用户特征,所述验证样本包括在所述历史时间窗口内拥有所述第一产品且未拥有所述第二产品的负样本用户,以及在所述历史时间窗口内拥有所述第一产品和所述第二产品的正样本用户;
142.验证输入模块,用于将所述验证样本的用户特征输入至所述产品推荐模型,得到所述产品推荐模型输出的各所述验证样本的感兴趣程度;
143.验证匹配模块,用于确定所述感兴趣程度与所述验证样本中的负样本用户和所述验证样本中的正样本用户的匹配程度;
144.验证结果模块,用于根据所述匹配程度验证所述产品推荐模型,得到验证结果。
145.在一种可能的实施例中,验证匹配模块,包括:
146.箱体子模块,用于根据感兴趣程度将所述验证样本进行等频分箱,得到各箱体;
147.样本子模块,用于统计每个箱体内所述验证样本中所述正样本用户的正样本率和/或所述负样本用户的负样本率;
148.匹配子模块,用于确定所述正样本率和/或负样本率与所述箱体的匹配程度,作为
所述验证样本中的负样本用户和所述验证样本中的正样本用户的匹配程度。
149.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
150.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
151.图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
152.如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
153.设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
154.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如产品推荐方法和产品推荐模型的训练方法。例如,在一些实施例中,产品推荐方法和产品推荐模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的产品推荐方法和产品推荐模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行产品推荐方法和产品推荐模型的训练方法。
155.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
156.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
157.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
158.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
159.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
160.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
161.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
162.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1