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

一种模型训练的方法、信息推荐的方法以及装置与流程

2022-04-09 05:54:12 来源:中国专利 TAG:


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


背景技术:

2.目前,在大多数推荐场景下,通常使用增量更新的方法,在通过历史训练样本训练后的推荐模型的基础上,使用新增训练样本进行训练。
3.然而,在实际应用中,利用新增训练样本训练推荐模型的方法,可能会导致推荐模型出现严重的知识遗忘问题(catastrophic forgetting problems)。也就是说,随着时间的推移,这种方法会导致推荐模型失去早期的历史训练样本对推荐模型的训练成果,降低推荐模型确定出的推荐信息的准确性。
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.获取模块,用于响应于目标用户的信息推荐请求,获取所述目标用户的用户特征;
40.预测模块,用于针对每个候选推荐信息,将所述用户特征以及该候选推荐信息输入到预先训练的推荐模型中,预测所述目标用户针对该候选推荐信息的点击率,作为该候选推荐信息对应的点击率,所述推荐模型是通过上述模型训练的方法训练得到的;
41.推荐模块,用于根据各候选推荐信息对应的点击率,确定向所述目标用户进行推荐的推荐商户,作为目标推荐信息,并将所述目标推荐信息推荐给所述目标用户。
42.本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述模型训练的方法和信息推荐的方法。
43.本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述模型训练的方法和信息推荐的方法。
44.本说明书采用的上述至少一个技术方案能够达到以下有益效果:
45.在本说明书提供的模型训练的方法中,获取历史训练样本以及新增训练样本,其中,训练样本中包含有用户特征以及推荐信息。其次,针对每个历史训练样本,将该历史训练样本输入到预设的历史推荐模型中,确定该历史训练样本在历史推荐模型对应的点击率,作为第一点击率,将该历史训练样本输入到推荐模型中,确定该历史训练样本在推荐模型对应的点击率,作为第二点击率,以及将该历史训练样本对应的新增训练样本输入到推荐模型中,确定新增训练样本对应的点击率,作为新增点击率。最后,以最小化第一点击率与第二点击率之间的偏差,以及新增点击率与新增训练样本对应的标签之间的偏差为优化目标,对推荐模型进行训练。
46.从上述方法中可以看出,本方法可以以最小化通过预设的历史推荐模型确定出的第一点击率,与通过推荐模型确定出的第二点击率之间的偏差,避免推荐模型失去早期的历史训练样本对推荐模型的训练成果。并以最小化新增点击率与新增训练样本对应的标签
之间的偏差,并保证推荐模型在更新过程中可以确定出用户的偏好的变化,提高推荐模型确定出的推荐信息的准确性。
附图说明
47.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
48.图1为本说明书实施例提供的模型训练的方法的流程示意图;
49.图2为本说明书实施例提供的模型结构的示意图;
50.图3为本说明书实施例提供的信息推荐的方法的流程示意图;
51.图4为本说明书实施例提供的模型训练的装置的结构示意图;
52.图5为本说明书实施例提供的信息推荐的装置的结构示意图;
53.图6为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
54.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
55.以下结合附图,详细说明本说明书各实施例提供的技术方案。
56.在本说明书实施例中,响应于目标用户的信息获取请求进行信息推荐时,需要依赖预先训练好的推荐模型,所以,下面将先介绍对推荐模型进行训练的过程,如图1所示。
57.图1为本说明书实施例提供的模型训练的方法的流程示意图,具体包括以下步骤:
58.s100:获取历史训练样本以及新增训练样本,其中,训练样本中包含有用户特征以及推荐信息。
59.在本说明书实施例中,对推荐模型进行训练的执行主体可以是服务器,也可以是诸如台式电脑等电子设备,为了便于描述,下面仅以服务器为执行主体,对本说明书提供的推荐模型的训练方法进行说明。
60.在本说明书实施例中,服务器可以获取历史训练样本以及新增训练样本,其中,训练样本中包含有用户特征以及推荐信息。这里提到的新增训练样本可以是指训练样本的生成时间距离当前训练推荐模型的时间较为接近的训练样本。这里提到的历史训练样本可以是指训练样本的生成时间距离当前训练推荐模型的时间较为久远的训练样本。
61.这里提到的用户特征可以包括用户的年龄、性别以及用户所处的地理位置等用户的基础信息,还可以包括用户的历史行为数据。例如,用户在历史上的点击信息、用户在历史上的订单信息、用户在历史上的点赞信息等。这里提到的推荐信息可以包括商品信息、广告信息等不同业务场景下的推荐信息。
62.在实际应用中,由于历史训练样本的数量过多,服务器通常需要从训练样本集中选取出部分历史训练样本,对推荐模型进行训练。在选取历史训练样本的过程中,由于不同业务对象对应有不同的出现频率,例如,若业务对象为商家,知名商家出现在用户的推荐列
表的次数远大于小商家出现在用户的推荐列表的次数,那么知名商家对应的训练样本数量也远大于小商家对应的训练样本数量。基于此,服务器需要根据不同的业务对象在训练样本集中的训练样本数量,从训练样本集中选取历史训练样本。
63.在本说明书实施例中,服务器可以获取训练样本集,训练样本集中的训练样本包含有业务对象的对象数据。这里提到的业务对象可以是指商家,也可以是指用户。这里提到的对象数据可以包括业务对象的基础信息(业务对象的名称、业务对象的种类等)。
64.其次,服务器可以针对每个业务对象,根据对象数据,确定该业务对象对应的训练样本的数量在训练样本集中的占比,作为该业务对象对应的占比。最后,服务器可以按照各业务对象对应的占比,从训练样本集中选取训练样本,作为获取到的历史训练样本。具体公式如下:
[0065][0066]
在上述公式中,m
t,i
可以用于表征在第t轮训练中需要选取的第i个业务对象对应的历史训练样本的数量。n可以用于表征需要选取的历史训练样本的数量。|x,y=i∈e
t-1
|可以用于表征在第t-1轮训练中第i个业务对象对应的训练样本数量。|e
t-1
|可以用于表征第t-1轮训练中训练样本集中的历史训练样本的数量,其中,每轮训练选取出的训练样本数量|e
t-1
|是不变的。m
t,i
可以用于表征在第t轮训练中需要选取的第i个业务对象对应的历史训练样本的数量。从上述公式中可以看出,可以用于表征第t-1轮训练中业务对象对应的训练样本的数量在训练样本集中的占比。
[0067]
进一步的,服务器可以将按照各业务对象对应的占比,选取出的历史训练样本,以及新增训练样本,作为训练推荐模型的训练样本。
[0068]
在实际应用中,在同一业务场景下,用户在不同时间段具有不同的偏好,例如,在外卖场景下,用户在工作日内偏向于快餐、简餐等类别的商品,而用户在周末的消费欲望更高,偏向于价格较高的食品。基于此,服务器可以通过不同时段的训练样本,对推荐模型进行训练,使得推荐模型可以确定出用户在不同时段的偏好。
[0069]
在本说明书实施例中,服务器可以确定获取到的新增训练样本对应的业务时段。再从获取到的训练样本集中选取出与业务时段相匹配的训练样本,作为获取到的历史训练样本。这里提到的业务时段可以是指一天中的任意时段、一周中的任意天数等时段,例如,当前时刻为周三,获取到的新增训练样本对应的业务时段为周三,服务器可以从获取到的训练样本集中选取出业务时段为周三的训练样本,作为获取到的历史训练样本。这里提到的业务时段可以是指节假日、设定的营销活动日期等时段,例如,当前日期为春节,获取到的新增训练样本对应的业务时段为春节,服务器可以从获取到的训练样本集中选取出业务时段为春节的训练样本,作为获取到的历史训练样本。
[0070]
当然,服务器可以从获取到的训练样本集中选取出与业务时段相匹配的训练样本,并按照各业务对象对应的占比,进一步的选取训练样本,作为获取到的历史训练样本。
[0071]
s102:针对每个历史训练样本,将该历史训练样本输入到预设的历史推荐模型中,确定该历史训练样本在所述历史推荐模型对应的点击率,作为第一点击率,将该历史训练
样本输入到推荐模型中,确定该历史训练样本在所述推荐模型对应的点击率,作为第二点击率,以及将该历史训练样本对应的新增训练样本输入到所述推荐模型中,确定所述新增训练样本对应的点击率,作为新增点击率。
[0072]
在本说明书实施例中,服务器针对每个历史训练样本,将该历史训练样本输入到预设的历史推荐模型中,确定该历史训练样本在历史推荐模型对应的点击率,作为第一点击率。并将该历史训练样本输入到推荐模型中,确定该历史训练样本在推荐模型对应的点击率,作为第二点击率。
[0073]
同时,服务器可以将该历史训练样本对应的新增训练样本输入到推荐模型中,确定新增训练样本对应的点击率,作为新增点击率。
[0074]
具体的,服务器可以针对每个训练样本,确定该训练样本对应的用户特征、推荐信息对应的推荐信息特征以及环境数据对应的环境特征。这里提到的推荐信息对应的推荐信息特征可以包括:推荐信息的基础信息对应的特征(推荐信息的名称、推荐信息的种类等)、推荐信息的业务信息对应的特征(推荐信息的销量、推荐信息的评分、推荐信息的排名、推荐信息的规模等)。
[0075]
这里提到的环境数据对应的环境特征可以包括:天气情况对应的特征、营销活动对应的特征、所在区域等外部因素。
[0076]
其次,将用户特征、推荐信息对应的推荐信息特征以及环境数据对应的环境特征进行合并,确定该训练样本对应的综合特征。具体的,服务器可以将用户特征、推荐信息对应的推荐信息特征以及环境数据对应的环境特征进行拼接,得到综合特征。服务器也可以根据业务需求,确定各个特征对应的权重,对用户特征、推荐信息对应的推荐信息特征以及环境数据对应的环境特征进行加权求和,得到综合特征。
[0077]
针对每个历史训练样本,将该历史训练样本对应的综合特征输入到预设的历史推荐模型中,确定该历史训练样本在历史推荐模型对应的点击率,作为第一点击率,将该历史训练样本对应的综合特征输入到推荐模型中,确定该历史训练样本在推荐模型对应的点击率,作为第二点击率,以及将该历史训练样本对应的新增训练样本的综合特征输入到推荐模型中,确定新增训练样本对应的点击率,作为新增点击率。具体如图2所示。
[0078]
图2为本说明书实施例提供的模型结构的示意图。
[0079]
在图2中,服务器获取新增训练样本,以及从训练样本集中获取历史训练样本。其次,服务器将同一个历史训练样本输入到历史推荐模型,确定第一点击率,并将同一个历史训练样本输入到推荐模型,确定第二点击率。而后,服务器将新增训练样本输入到推荐模型中,确定新增点击率,并将新增训练样本放入训练样本集,以用于推荐模型的下一轮训练。最后,以最小化第一点击率与第二点击率之间的偏差,以及新增点击率与新增训练样本对应的标签之间的偏差为优化目标,对推荐模型进行训练。
[0080]
其中,历史推荐模型的模型结构与推荐模型的模型结构相同,历史推荐模型的模型参数与推荐模型的模型参数不同。并且,历史推荐模型是定期通过训练样本集中全部的训练样本进行训练的。也就是说。历史推荐模型已经训练完成,在训练推荐模型的过程中,历史推荐模型的模型参数不会发生变化,仅用于辅助推荐模型进行训练。
[0081]
s104:以最小化所述第一点击率与所述第二点击率之间的偏差,以及所述新增点击率与所述新增训练样本对应的标签之间的偏差为优化目标,对所述推荐模型进行训练。
[0082]
在实际应用中,仅利用新增训练样本训练推荐模型的方法,可能会导致推荐模型出现严重的知识遗忘问题。随着时间的推移,这种方法会导致推荐模型失去早期的历史训练样本对推荐模型的训练成果,降低推荐模型确定出的推荐信息的准确性。基于此,服务器可以通过将推荐模型确定出的推荐信息对应的点击率接近于历史推荐模型确定出的推荐信息对应的点击率的方式,使得推荐模型保持有早期的历史训练样本对推荐模型的训练成果。
[0083]
同时,服务器继续通过新增训练样本对推荐模型进行训练,以保证推荐模型在更新过程中可以确定出用户的偏好的变化趋势,进一步的,提高推荐模型确定出的推荐信息的准确性。
[0084]
在本说明书实施例中,服务器可以以最小化第一点击率与第二点击率之间的偏差,以及新增点击率与新增训练样本对应的标签之间的偏差为优化目标,对推荐模型进行训练。具体公式如下:
[0085][0086]
在上述公式中,x可以用于表征历史训练样本对应的特征。y可以用于表征历史训练样本对应的标签。可以用于表征通过历史推荐模型确定出的历史训练样本对应的点击率,也就是第一点击率。pi可以用于表征通过推荐模型确定出的历史训练样本对应的点击率,也就是第二点击率。从上述公式中可以看出,服务器可以通过提高历史推荐模型确定出的各历史训练样本对应的第一点击率与推荐模型确定出的各历史训练样本对应的第二点击率之间的相似程度,使得推荐模型保持有早期的历史训练样本对推荐模型的训练成果。
[0087]
同样的,服务器可以在以最小化第一点击率与第二点击率之间的偏差的基础上,最小化新增点击率与新增训练样本对应的标签之间的偏差为优化目标,对推荐模型进行训练。具体公式如下:
[0088][0089]
在上述公式中,|d
t
|可以用于表征第t轮训练中训练样本集中的新增训练样本的数量。x可以用于表征新增训练样本对应的特征。y可以用于表征新增训练样本对应的标签,点击为1,未点击为0。可以用于表征通过推荐模型确定出的新增训练样本对应的点击率。从上述公式中可以看出,若y为1时,服务器通过推荐模型确定出的新增点击率越接近y(值为1),交叉熵损失函数l
ce

t
)的值越小。若y为0时,服务器通过推荐模型确定出的新增点击率越接近y(值为0),交叉熵损失函数l
ce

t
)的值越小。因此,服务器可以通过最小化新增点击率与新增训练样本对应的标签之间的偏差,提高推荐模型对用户在当前时刻的偏好的感知能力。
[0090]
在实际应用中,推荐模型获取到的新增训练样本的时间距离当前时刻较为接近,若该轮训练获取到的新增训练样本较多,为了使得推荐模型可以尽快的确定出在接下来的
一段时间内用户的偏好,以保证推荐模型确定出的推荐信息的准确性。服务器可以提高新增点击率与新增训练样本对应的标签之间的偏差在推荐模型的训练过程中的影响程度。若该轮训练获取到的新增训练样本较少,为了使得推荐模型不失去早期的历史训练样本对推荐模型的训练成果。服务器可以提高第一点击率与第二点击率之间的偏差在推荐模型的训练过程中的影响程度。
[0091]
在本说明书实施例中,服务器可以将第一点击率与第二点击率之间的偏差,作为第一偏差,以及将新增点击率与新增训练样本对应的标签之间的偏差,作为第二偏差。其次,根据历史训练样本中的训练样本的数量与新增训练样本中的训练样本的数量,确定第一偏差对应的权重,作为第一权重,其中,新增训练样本中的训练样本的数量相比于历史训练样本中的训练样本的数量越多,第一权重越小。最后,根据第一偏差、第二偏差,以及第一权重,对推荐模型进行训练。具体公式如下:
[0092]
loss=l
ce
λ
t
l
kd
[0093][0094]
在上述公式中,|d
t
|可以用于表征第t轮训练中训练样本集中的新增训练样本的数量。|e
t-1
|可以用于表征第t-1轮训练中训练样本集中的历史训练样本的数量。其中,|d
t
|的新增训练样本的生成时间与|e
t-1
|的历史训练样本的生成时间相比,|d
t
|的新增训练样本的生成时间更接近于当前时刻。l
kd
可以用于表征第一点击率与第二点击率之间的偏差,也就是第一偏差。l
ce
可以用于表征新增点击率与新增训练样本对应的标签之间的偏差,也就是第二偏差。λ
t
可以用于表征第t轮训练对应的第一权重。
[0095]
从上述公式中可以看出,新增训练样本中的新增训练样本的数量相比于历史训练样本中的历史训练样本的数量越多,第一权重越小。服务器可以通过降低第一偏差在推荐模型的训练过程中的影响程度,以此提高第二偏差在推荐模型的训练过程中的影响程度,使得推荐模型可以通过新增训练样本快速的确定出用户的偏好变化。
[0096]
在实际应用中,在各个业务场景下,会不断出现新的业务对象。而这些新增业务对象的历史训练样本较少,为了尽快确定出用户对这些新增业务对象的偏好,提高推荐模型确定出的点击率的准确性。服务器可以提高新增点击率与新增训练样本对应的标签之间的偏差在推荐模型的训练过程中的影响程度。
[0097]
在本说明书实施例中,将第一点击率与第二点击率之间的偏差,作为第一偏差,以及将新增点击率与新增训练样本对应的标签之间的偏差,作为第二偏差。其次,根据历史训练样本中的业务对象的数量与新增训练样本中的业务对象的数量,确定第一偏差对应的权重,作为第二权重,其中,新增训练样本中的业务对象的数量相比于历史训练样本中的业务对象的数量越多,第二权重越小。最后,根据第一偏差、第二偏差,以及第二权重,对推荐模型进行训练。经过多轮的迭代训练,可以使偏差不断减小,并收敛在一个数值范围内,进而完成推荐模型的训练过程。具体公式如下:
[0098]
loss=l
ce
λ
t
l
kd
[0099][0100]
在上述公式中,|i
t
|可以用于表征第t轮训练中新增训练样本中的业务对象的数量。|i
t-1
|可以用于表征第t-1轮训练中历史训练样本中的业务对象的数量。其中。λ
t
可以用于表征第t轮训练对应的第二权重。
[0101]
从上述公式中可以看出,新增训练样本中的业务对象的数量相比于历史训练样本中的业务对象的数量越多,第二权重越小。服务器可以通过降低第一偏差在推荐模型的训练过程中的影响程度,以此提高第二偏差在推荐模型的训练过程中的影响程度,使得推荐模型可以通过新增训练样本快速的确定出用户对这些新增业务对象的偏好。
[0102]
当然,服务器可以根据第一偏差、第二偏差、第一权重,以及第二权重,对推荐模型进行训练。具体公式如下:
[0103][0104]
在上述公式中,可以用于表征第二权重。可以用于表征第一权重。在上述公式中可以看出,服务器可以通过第一权重,以及第二权重,当新一轮的推荐模型的训练过程中,新增训练样本的数量较少或新增训练样本中的业务对象的数量较少时,使得推荐模型更关注于早期的历史训练样本对推荐模型的训练效果。当新一轮的推荐模型的训练过程中,新增训练样本的数量较多或新增训练样本中的业务对象的数量较多时,使得推荐模型可以尽快的确定出在接下来的一段时间内用户的偏好,以保证推荐模型针对当前数据确定出的推荐信息的准确性。
[0105]
需要说明的是,上述提到的推荐模型所使用的框架可以是全链接前向传播网络(feed forward network,ffn)、全连接神经网络(fully connected neural network,fcnn)、多头注意力机制网络(multi-head self-attention,msa)等enc-dec网络结构,或是其他形式的神经网络结构,本说明书不对推荐模型所使用的框架的具体形式进行限定。
[0106]
从上述过程中可以看出,本方法可以以最小化通过预设的历史推荐模型确定出的第一点击率,与通过推荐模型确定出的第二点击率之间的偏差,避免推荐模型失去早期的历史训练样本对推荐模型的训练成果。并以最小化新增点击率与新增训练样本对应的标签之间的偏差,并保证推荐模型在更新过程中可以确定出用户的偏好的变化,提高推荐模型确定出的推荐信息的准确性。
[0107]
本说明书实施例在推荐模型的训练完成后,可以通过推荐模型对用户进行信息推荐,具体过程如图3所示。
[0108]
图3为本说明书实施例提供的信息推荐的方法的流程示意图。
[0109]
s300:响应于目标用户的信息推荐请求,获取所述目标用户的用户特征。
[0110]
在本说明书实施例中,服务器可以响应于目标用户的信息推荐请求,获取目标用户的用户特征,这里的目标用户是指当前时刻在指定业务场景下正在执行指定业务的用户。候选推荐信息可以是指在指定业务场景下的已经经过筛选的信息,也可以是指在指定
业务场景下的所有信息。
[0111]
s302:针对每个候选推荐信息,将所述用户特征以及该候选推荐信息输入到预先训练的推荐模型中,预测所述目标用户针对该候选推荐信息的点击率,作为该候选推荐信息对应的点击率,所述推荐模型是通过上述模型训练的方法训练得到的。
[0112]
s304:根据各候选推荐信息对应的点击率,确定向所述目标用户进行推荐的推荐商户,作为目标推荐信息,并将所述目标推荐信息推荐给所述目标用户。
[0113]
在本说明书实施例中,服务器可以针对每个候选推荐信息,将用户特征以及该候选推荐信息输入到预先训练的推荐模型中,预测目标用户针对该候选推荐信息的点击率,作为该候选推荐信息对应的点击率。
[0114]
再根据各候选推荐信息对应的点击率,确定向目标用户进行推荐的推荐商户,作为目标推荐信息,并将目标推荐信息推荐给所述目标用户。
[0115]
具体的,服务器可以确定出各候选推荐信息对应的点击率,将各候选推荐信息以点击率从大到小的方式进行排序,将排序在设定排序位置之前的候选推荐信息,作为当前时刻输出的目标推荐信息。
[0116]
从上述内容可以看出,服务器可以通过推荐模型确定出的目标推荐信息,提高向目标用户进行信息推荐的推荐效果。
[0117]
以上为本说明书的一个或多个实施例提供的模型训练的方法,基于同样的思路,本说明书还提供了相应的模型训练的装置,如图5所示。
[0118]
图4为本说明书实施例提供的模型训练的装置的结构示意图,具体包括:
[0119]
获取模块400,用于获取历史训练样本以及新增训练样本,其中,训练样本中包含有用户特征以及推荐信息;
[0120]
确定模块402,用于针对每个历史训练样本,将该历史训练样本输入到预设的历史推荐模型中,确定该历史训练样本在所述历史推荐模型对应的点击率,作为第一点击率,将该历史训练样本输入到推荐模型中,确定该历史训练样本在所述推荐模型对应的点击率,作为第二点击率,以及将该历史训练样本对应的新增训练样本输入到所述推荐模型中,确定所述新增训练样本对应的点击率,作为新增点击率;
[0121]
训练模块404,用于以最小化所述第一点击率与所述第二点击率之间的偏差,以及所述新增点击率与所述新增训练样本对应的标签之间的偏差为优化目标,对所述推荐模型进行训练。
[0122]
可选地,所述获取模块400具体用于,获取训练样本集,所述训练样本集中的训练样本包含有业务对象的对象数据,针对每个业务对象,根据所述对象数据,确定该业务对象对应的训练样本的数量在所述训练样本集中的占比,作为该业务对象对应的占比,按照各业务对象对应的占比,从所述训练样本集中选取训练样本,作为获取到的历史训练样本。
[0123]
可选地,所述获取模块400具体用于,确定获取到的新增训练样本对应的业务时段,从获取到的训练样本集中选取出与所述业务时段相匹配的训练样本,作为获取到的历史训练样本。
[0124]
可选地,所述确定模块402具体用于,针对每个训练样本,确定该训练样本对应的所述用户特征、所述推荐信息对应的推荐信息特征以及环境数据对应的环境特征,将所述用户特征、所述推荐信息对应的推荐信息特征以及所述环境数据对应的环境特征进行合
并,确定该训练样本对应的综合特征,针对每个历史训练样本,将该历史训练样本对应的综合特征输入到预设的历史推荐模型中,确定该历史训练样本在所述历史推荐模型对应的点击率,作为第一点击率,将该历史训练样本对应的综合特征输入到推荐模型中,确定该历史训练样本在所述推荐模型对应的点击率,作为第二点击率,以及将该历史训练样本对应的新增训练样本的综合特征输入到所述推荐模型中,确定所述新增训练样本对应的点击率,作为新增点击率。
[0125]
可选地,所述确定模块402具体用于,将所述第一点击率与所述第二点击率之间的偏差,作为第一偏差,以及将所述新增点击率与所述新增训练样本对应的标签之间的偏差,作为第二偏差,根据所述历史训练样本中的历史训练样本的数量与所述新增训练样本中的新增训练样本的数量,确定第一偏差对应的权重,作为第一权重,其中,所述新增训练样本中的新增训练样本的数量相比于所述历史训练样本中的历史训练样本的数量越多,第一权重越小,根据所述第一偏差、所述第二偏差,以及所述第一权重,对所述推荐模型进行训练。
[0126]
可选地,所述训练模块404具体用于,将所述第一点击率与所述第二点击率之间的偏差,作为第一偏差,以及将所述新增点击率与所述新增训练样本对应的标签之间的偏差,作为第二偏差,根据所述历史训练样本中的业务对象的数量与所述新增训练样本中的业务对象的数量,确定第一偏差对应的权重,作为第二权重,其中,所述新增训练样本中的业务对象的数量相比于所述历史训练样本中的业务对象的数量越多,第二权重越小,根据所述第一偏差、所述第二偏差、所述第一权重,以及所述第二权重,对所述推荐模型进行训练。
[0127]
图5为本说明书实施例提供的信息推荐的装置的结构示意图,具体包括:
[0128]
获取模块500,用于响应于目标用户的信息推荐请求,获取所述目标用户的用户特征;
[0129]
预测模块502,用于针对每个候选推荐信息,将所述用户特征以及该候选推荐信息输入到预先训练的推荐模型中,预测所述目标用户针对该候选推荐信息的点击率,作为该候选推荐信息对应的点击率,所述推荐模型是通过上述模型训练的方法训练得到的;
[0130]
推荐模块506,用于根据各候选推荐信息对应的点击率,确定向所述目标用户进行推荐的推荐商户,作为目标推荐信息,并将所述目标推荐信息推荐给所述目标用户。
[0131]
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的模型训练的方法以及上述图3提供的信息推荐的方法。
[0132]
本说明书还提供了图6所示的电子设备的结构示意图。如图6所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的模型训练的方法以及上述图3提供的信息推荐的方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0133]
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因
此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0134]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0135]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0136]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0137]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0138]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程
图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0139]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0140]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0141]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0142]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0143]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0144]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0145]
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0146]
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境
中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0147]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0148]
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献