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

一种推荐方法及装置与流程

2022-09-14 22:15:42 来源:中国专利 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.本说明书提供一种推荐装置,包括:
40.接收模块,用于根据用户发送的推荐请求,确定指定数量的候选推荐对象,以及所述用户历史上执行过指定操作的各指定序列;
41.组合模块,用于将各候选推荐对象按照在序列中的不同位置进行组合,确定各候选推荐序列;
42.特征确定模块,用于针对每个候选推荐序列,将该候选推荐序列和所述各指定序列作为输入,输入预先训练好的点击率预估模型的特征提取层,得到所述特征提取层输出的根据该候选推荐序列中包含的各候选推荐对象的内容以及所述各候选推荐对象的位置确定的候选推荐特征,以及各指定特征;
43.预测模块,用于将所述候选推荐特征和所述各指定特征作为输入,输入所述点击率预估模型的预测层,得到所述预测层输出的该候选推荐序列的点击率;
44.确定模块,用于根据各候选推荐序列分别对应的点击率,确定推荐序列,向所述用户进行推荐。
45.本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述推荐方法。
46.本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述推荐方法。
47.本说明书采用的上述至少一个技术方案能够达到以下有益效果:
48.在本说明书提供的推荐方法中,确定按照序列中的不同位置,将指定数量的候选推荐对象进行组合确定出的各候选推荐序列,以及用户历史上执行过指定操作的指定序列,再通过点击率预估模型的特征提取层,得到基于候选推荐序列中各候选推荐对象的内容及其位置确定的候选推荐特征,以及各指定特征,进而通过点击率预估模型的预测层,确定各候选推荐序列的点击率,以基于各点击率,确定向用户进行推荐的推荐序列。
49.从上述方法中可以看出,本方法在预测各候选推荐序列的点击率时,不仅基于候选推荐序列中包含的候选推荐对象的内容,还基于各候选推荐对象的位置来确定,使得确定出的点击率更加准确,推荐效率更高。
附图说明
50.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。
在附图中:
51.图1为本说明书提供的推荐方法的流程示意图;
52.图2为本说明书提供的点击率预估模型的训练方法的流程示意图;
53.图3为本说明书提供的点击率预估模型的训练流程示意图;
54.图4为本说明书提供的推荐装置的示意图;
55.图5为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
56.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
57.一般的,在推荐领域,可通过点击率预估模型,确定用户对于不同对象(如,内容)的点击率,并基于各对象的点击率,从候选对象中确定向用户展示的推荐对象,以及将确定出的推荐对象以序列的形式在页面中进行展示,以向用户进行推荐。
58.但是,用户在点击序列中的某个对象时,点击该对象的原因除该对象本身的内容的因素之外,还可能存在该对象在序列中所处位置的因素以及该序列中其他对象对该对象的影响的因素等。其中,该对象可为产品、服务、商家、业务对象等,具体该对象的类型可根据需要进行设置,本说明书对此不做限制。
59.以页面中包含a、b、c三个产品为例,其中,a产品和c产品的价格较高,b产品的价格适中,用户点击了b产品的原因可能是因为b产品是页面中价格最低的,而并不是因为用户喜欢适中价格的产品。
60.综上,仅使用用户点击过的对象和候选对象确定相似度的方式,会导致确定出的点击率不够准确。
61.以下结合附图,详细说明本说明书各实施例提供的技术方案。
62.图1为本说明书提供的推荐方法的流程示意图,具体包括以下步骤:
63.s100:根据接收到的推荐请求,根据用户发送的推荐请求,确定指定数量的候选推荐对象,以及所述用户历史上执行过指定操作的各指定序列。
64.目前,在推荐领域,可通过推荐方法,基于接收到的推荐请求中的用户标识,确定用户数据,进而基于用户数据,从各候选推荐对象中,选择符合用户喜好的指定数量的候选推荐对象,组成推荐序列在页面中向用户进行展示,以向用户进行推荐。也就是说,服务提供方实际向用户进行推荐的,是包含指定数量的候选推荐对象的推荐序列。而相较于仅确定用户对于候选推荐对象的点击率,确定用户对于包含推荐对象的推荐序列的点击率,效果更加准确。
65.区别于目前采用基于候选推荐对象和用户历史上点击过的各对象的相似度的技术手段,来确定用户对于该候选推荐对象的点击率,而未考虑到推荐序列中其他候选推荐对象对该候选推荐对象的影响,以及该候选推荐对象在该推荐序列中所处的位置的影响,使得确定出的点击率不够准确。本说明书提供一种新的推荐方法,使得可基于候选推荐序列中各候选推荐对象的内容以及位置,来确定出该候选推荐序列的点击率,确定出的点击
率更加准确。
66.在本说明书提供的一个或多个实施例中,该推荐方法针对的是以候选推荐序列为单位向用户展示各候选推荐对象的场景中,且该推荐方法具体可由服务器执行。
67.基于此,可根据接收到用户发送的推荐请求,以及候选推荐序列包含的候选推荐对象的数量,确定指定数量的候选推荐对象和用户数据。
68.具体的,该服务器可接收用户发送的推荐请求,并确定该推荐请求中携带的指定数量以及该用户对应的用户标识。
69.然后,该服务器可从预先确定出的各候选推荐对象中,确定指定是用户量的候选推荐对象。
70.最后,该服务器可根据该用户标识,获取该用户历史上执行过指定操作的各序列,作为各指定序列,其中,各指定序列即为表征用户喜好的用户数据。
71.当然,各候选推荐对象可为根据推荐请求中携带的关键词确定出的,也可为该服务器预先根据用户数据确定出的,具体各候选推荐对象如何确定可根据需要进行设置,本说明书对此不做限制。
72.s102:将各候选推荐对象按照在序列中的不同位置进行组合,确定各候选推荐队列。
73.在本说明书提供的一个或多个实施例中,即使是相同的各候选推荐对象组成的候选推荐序列,若该序列中,各候选推荐对象的内容不同,用户对于该候选推荐内容的点击率也不同,因此,该服务器可按照在序列中的不同位置,将各候选推荐对象组合为不同的候选推荐队列。
74.具体的,该服务器可将各推荐对象进行排列组合,按照在序列中的不同顺序将各候选推荐对象进行排序,并将各排序结果作为各候选推荐序列。
75.s104:针对每个候选推荐序列,将该候选推荐序列和所述各指定序列作为输入,输入预先训练好的点击率预估模型的特征提取层,得到所述特征提取层输出的根据该候选推荐序列中包含的各候选推荐对象的内容以及所述各候选推荐对象的位置确定的候选推荐特征,以及各指定特征。
76.在本说明书提供的一个或多个实施例中,在确定出候选推荐序列后,该服务器可确定该候选推荐序列的特征,以便于基于该候选推荐序列的特征,执行后续确定点击率的步骤。而如前所述的,区别于采用用户点击过的对象和各候选推荐对象的相似度来确定点击率的方法,本说明书提供的该推荐方法,不仅会基于候选推荐对象的内容来确定点击率,还会基于候选推荐对象在候选推荐序列中的位置,来确定候选推荐序列的点击率。基于此,该服务器可基于该候选推荐序列中包含的候选推荐对象以及各候选推荐对象在该候选推荐序列中的位置,来确定该候选推荐序列的候选推荐特征。
77.具体的,针对每个候选推荐序列,该服务器可将该候选推荐序列作为输入,输入到预先训练好的点击率预估模型的特征提取层。
78.该点击率预估模型的特征提取层,可针对该候选推荐序列中的每个候选推荐对象,根据该候选推荐对象的内容和改变候选推荐对象在该候选推荐序列中的位置,确定该候选推荐对象的对象特征。
79.于是,该特征提取层可将确定出的各候选推荐对象进行融合,确定该候选推荐序
列的候选推荐特征。其中,该融合手段可包括拼接、相加等多种手段,由于由多个特征融合为一个特征的手段已经是目前较为成熟的技术方案了,本方案对此不再赘述。
80.另外,在本说明书中,需基于用户历史上执行过指定操作的各指定序列,来确定各候选推荐序列的点击率。基于此,该服务器在确定各候选推荐特征的同时,还可将针对每个指定序列,将该指定序列作为输入,输入到该点击率预估模型的特征提取层,得到该特征提取层输出的根据该指定序列中包含的对象的内容,以及该对象在该指定序列中的位置确定的指定特征。
81.进一步的,针对同一候选推荐序列中的每个候选推荐对象,都会受到该候选推荐序列中的其他候选推荐对象的影响,因此,为了准确确定出对象特征,以确定出更准确的候选推荐特征,以保证预估出的点击率的准确性,在确定对象特征时,还可针对每个候选推荐对象,用该候选推荐对象所在的候选推荐序列中的其他候选推荐对象的对象特征,对该候选推荐对象的对象特征进行增强。
82.具体的,该服务器可首先将该候选推荐序列输入该点击率预估模型的特征提取层中,由该特征提取层针对该候选推荐序列中的每个候选推荐对象,根据该候选推荐对象的内容以及该候选推荐对象的位置,确定该候选推荐对象的对象特征。
83.然后,该特征提取层可根据该候选推荐对象的对象特征,以及该候选推荐序列中包含的其他候选推荐对象的对象特征,确定其他各候选推荐对象和该候选推荐对象分别对应的相似度。
84.最后,根据确定出的各相似度,以及各相似度分别对应的各其他候选推荐对象的对象特征,对该候选推荐对象的对象特征进行增强。
85.最后,该服务器可将增强结果,作为该候选推荐对象的对象特征。
86.s106:将所述候选推荐特征和所述各指定特征作为输入,输入所述点击率预估模型的预测层,得到所述预测层输出的该候选推荐序列的点击率。
87.在本说明书提供的一个或多个实施例中,因为要基于用户历史上执行过指定操作的各指定序列,以及各候选推荐对象组成的各候选推荐序列之间的相似度,来预测用户对于各候选推荐序列的点击率。基于此,在确定出候选推荐特征和各指定特征后,该服务器可将确定出的各候选推荐特征和各指定特征作为输入,输入到搞点击率预估模型的预测层,以确定各候选推荐序列的点击率。
88.具体的,该服务器可针对每个候选推荐序列,将该候选推荐序列的候选推荐特征和确定出的各指定特征,输入到该点击率预估模型的预测层。
89.该预测层,可根据确定出的候选推荐特征和各指定特征,确定该候选推荐特征和各指定特征分别对应的相似度,并根据该指定操作的类型和各相似度对应的权重,来确定该候选推荐特征的点击率。
90.以指定操作为“点击”类型为例,若相似度为80%。则确定出的权重可为0.8等。以指定操作为“离开”类型为例,若相似度为80%,则确定出的权重可为0.2等。具体如何基于相似度以及指定操作的类型确定权重,可根据需要进行设置,本说明书对此不做限制。
91.s108:根据各候选推荐序列分别对应的点击率,确定推荐序列,向所述用户进行推荐。
92.在本说明书提供的一个或多个实施例中,在确定出各候选推荐序列分别对应的点
击率后,该服务器可根据确定出的各点击率,多个候选推荐序列进行排序,并根据排序,确定向用户展示的推荐序列。
93.基于图1的推荐方法,确定按照序列中的不同位置,将指定数量的候选推荐对象进行组合确定出的各候选推荐序列,以及用户历史上执行过指定操作的指定序列,再通过点击率预估模型的特征提取层,得到基于候选推荐序列中各候选推荐对象的内容及其位置确定的候选推荐特征,以及各指定特征,进而通过点击率预估模型的预测层,确定各候选推荐序列的点击率,以基于各点击率,确定向用户进行推荐的推荐序列。本方法在预测各候选推荐序列的点击率时,不仅基于候选推荐序列中包含的候选推荐对象的内容,还基于各候选推荐对象的位置来确定,使得确定出的点击率更加准确,推荐效率更高。
94.另外,该推荐方法中使用的点击率预估模型,通常可基于下述方式训练得到:
95.首先,该服务器可针对每个用户,确定该用户历史上浏览过的各序列,作为各目标序列,并根据该用户的历史行为,确定各目标序列的标注,以及从各目标序列中确定该用户历史上执行过指定操作的各序列,作为各指定序列。
96.其次,该服务器可针对每个目标序列,将该目标序列和各指定序列作为输入,输入待训练的点击率预估模型的特征提取层中,得到该特征提取层输出的基于该目标序列中包含的各对象的内容和各对象的位置确定出的目标特征,以及各指定特征;
97.然后,该服务器将该目标特征和各指定特征作为输入,输入该点击率预估模型的预测层,得到该预测层输出的该目标序列的点击率;
98.最后,该服务器可根据各目标序列的点击率及其标注确定损失,并基于该损失,对该点击率预估模型的模型参数进行调整。
99.需要说明的是,训练模型的服务器和执行本说明书提供的该推荐方法的服务器可为相同服务器,也可为不同服务器。
100.进一步的,仅使用正反馈或者负反馈确定出的结果,其准确度显然会低于同时使用正反馈和负反馈确定出的结果,因此,为了更准确地确定出各候选推荐序列的点击率,该服务器还可设置多种类型的指定序列。
101.具体的,该服务器可根据用户发送的推荐请求,确定该推荐请求中携带的用户标识,并根据该用户标识,确定该用户历史上浏览过的各序列,作为各浏览序列。
102.然后,在确定出各浏览序列后,该服务器还可确定该用户的历史行为,并针对每个浏览序列,根据确定出的历史行为,确定该用户对该浏览序列的操作,并确定该操作所属的操作类型,作为该浏览序列的标注。
103.最后,在确定出各浏览序列的批注后,该服务器可针对每种操作类型,从各浏览序列中,确定标注为该操作类型的各浏览序列,作为该操作类型对应的各指定序列。
104.进一步的,在确定该候选推荐序列对应的点击率时,该服务器可同时基于用户执行的多种类型的操作,来确定该用户对于该候选推荐序列的点击率。
105.具体的,首先,该服务器可将该候选推荐特征和各指定特征作为输入,输入点击率预估模型的预测层。
106.然后,该预测层可针对每种操作类型,根据该操作类型的各指定序列分别对应于该候选推荐特征的相似度,确定该候选推荐特征对应于该操作类型中的概率。
107.最后,根据该候选推荐特征分别对应于各操作类型的概率,以及预设的各操作类
型的权重,该服务器可确定该候选推荐序列的点击率。
108.另外,在向用户进行推荐时,往往候选推荐序列中包含的对象对应于不同的优先级,如,对象包括广告和自然结果两种,自然结果对应的优先级高,广告对应的优先级低,或自然结果对应的优先级低,广告对应的优先级高。则服务提供方更倾向于使用户点击广告,因此,在确定候选推荐序列的候选推荐特征时,该服务器还可确定该候选推荐序列包含的各候选推荐对象的优先级。
109.则该服务器可将该候选推荐序列作为输入,输入预先训练好的点击率预估模型的特征提取层,得到该特征提取层输出的根据该候选推荐序列中包含的各候选推荐对象的内容、各候选推荐对象的位置以及各候选推荐对象分别对应的优先级确定的候选推荐特征。
110.基于同样思路,本说明书还提供一种点击率预估模型的训练方法,如图2所示。
111.图2为本说明书提供的点击率预估模型的训练方法的流程示意图,其中:
112.s200:针对每个用户,确定该用户历史上浏览过的各序列,作为各目标序列,并根据该用户的历史行为,确定所述各目标序列的标注,以及从各目标序列中确定该用户历史上执行过指定操作的各序列,作为各指定序列。
113.通常,点击率预估模型是由用于训练模型的服务器,基于训练样本预先训练得到的。而本说明书提供了一种点击率预估模型的训练方法,同样的,可由用于训练模型的服务器执行该训练点击率预估模型的过程。
114.训练模型可以分为样本生成阶段以及训练模型阶段,在样本生成阶段可根据模型需要以及训练需要,确定用于训练模型的样本。在本说明书中,该服务器首先可确定用于训练点击率预估模型的训练样本,并且由于本说明书中的点击率预估模型是用于对候选推荐序列进行点击率预估的,因此,该服务器可首先确定用户历史上浏览过的各序列,以确定训练样本。
115.基于此,该服务器可针对每个用户,确定该用户历史上浏览过的各序列。其中,各序列可为预先存储的,由该服务器根据用户的用户标识,从预存的各用户对应的历史浏览日志中获取的,也可为服务器直接从用户对应的终端中获取的,该历史浏览日志包含用户历史上浏览的各序列、各序列中包含的对象、用户对各序列执行的操作等,具体该历史浏览日志包含的内容以及如何获取该历史浏览日志,可根据需要进行设置,本说明书对此不做限制。
116.在确定出用户的历史浏览日志后,该服务器可基于该历史浏览日志,确定用户历史上浏览过的各序列,作为用户的各目标序列。
117.同样的,该服务器还可基于历史浏览日志中包含的用户在各目标序列中执行的操作,即,用户的历史行为,确定各目标序列分别对应的标注。其中,该标注可包含“点击”以及“未点击”两种类型。
118.当然,对于用户的各目标序列,用户在各目标序列中执行过的操作,会在较大程度上反映用户对应各目标序列的偏好,于是,可基于用户在各目标序列中执行的操作的类型,确定用户执行过指定操作的各目标序列,作为各指定序列。其中,该指定操作可为“点击”操作、“收藏”操作、“离开”操作等等,该指定操作的具体类型可根据需要进行设置,本说明书对此不做限制。
119.s202:针对每个目标序列,将该目标序列和所述各指定序列作为输入,输入待训练
的点击率预估模型的特征提取层中,得到所述特征提取层输出的基于该目标序列中包含的各对象的内容和所述各对象的位置确定出的目标特征,以及各指定特征。
120.在本说明书提供的一个或多个实施例中,在确定出目标序列后,该服务器可确定各目标序列的特征,以便于后续基于目标序列的特征,来执行后续确定点击率的步骤。
121.区别于目前采用用户点击过的对象来确定候选推荐对象的点击率的方法,本说明书提供的该点击率预估模型,不仅会基于各候选推荐对象的内容来确定候选推荐序列的点击率,还会基于各候选推荐内容在该候选推荐序列中的位置,来确定该候选推荐序列的的点击率。
122.基于此,该服务器可基于目标序列中包含的对象以及各对象在目标序列中的位置,来确定目标特征。
123.具体的,针对每个目标序列,该服务器可将该目标序列作为输入,输入到该点击率预估模型的特征提取层。
124.该点击率预估模型的特征提取层,可针对该目标序列中包含的每个对象,根据该对象自身的内容以及该对象在该目标序列中的位置,确定该对象对应的对象特征。
125.于是,该特征提取层可将确定出的各对象对应的对象特征进行融合,确定该目标序列对应的目标特征。其中,该融合手段可包括拼接、相加等多种手段,由于由多个特征融合为一个特征的手段已经是目前较为成熟的技术方案了,本方案对此不再赘述。
126.同时,该服务器还可将各指定序列输入到该特征提取层中,得到该特征提取层输出的针对每个指定序列,基于该指定序列中包含的各对象、各对象在指定序列中的位置确定出的指定特征。
127.当然,在确定目标特征和指定特征时,该服务器还可确定用户对应的用户特征,并基于该用户特征对该目标特征和该指定特征进行更新。其中,该更新方法可采用上述融合时采用的技术手段。
128.进一步的,针对每个对象,为了更准确地体现出目标序列中的其他对象对该对象的影响,在确定目标特征时,该服务器还可用其他对象的对象特征来对该对象的对象特征进行增强,以确定目标特征。
129.具体的,该服务器可首先将该目标序列输入该特征提取层中,由特征提取层针对该目标序列包含的每个对象,确定该对象的对象特征。
130.然后,该特征提取层可根据该对象特征和该目标序列中包含的其他对象的对象特征,分别确定该对象和各其他对象的相似度,并基于确定出的各相似度,以及各位相似度分别对应的各其他对象的对象特征,对该对象的对象特征进行增强。其中,该增强时采用的技术手段可为上述更新时采用的技术手段。
131.最后,该服务器可将各对象的对象特征的增强结果进行融合,确定该目标序列的目标特征。
132.当然,在确定各指定特征时,也可采用上述增强的方式,以确定出更准确的点击率。
133.s204:将所述目标特征和所述各指定特征作为输入,输入所述点击率预估模型的预测层,得到所述预测层输出的该目标序列的点击率。
134.在本说明书提供的一个或多个实施例中,因为要基于用户历史上浏览过的目标序
列,以及用户执行过指定操作的各指定序列之间的关系,来预测序列中包含不同特征以及不同特征所处位置不同和用户对序列的点击率之间的关系,则在确定出目标特征和各指定特征后,该服务器即可基于该目标特征和各指定特征来对目标序列对应的点击率进行预测。
135.具体的,该服务器可将目标特征和各指定特征作为输入,输入到该点击率预估模型的预测层。
136.该预测层,可根据获取到的目标特征和各指定特征,确定各指定特征分别对应于该目标特征的相似度,并根据该指定操作的类型和各相似度对应的权重,来确定该目标序列对应的点击率。
137.以指定操作为“点击”类型为例,若相似度为80%。则确定出的权重可为0.8等。以指定操作为“离开”类型为例,若相似度为80%,则确定出的权重可为0.2等。具体如何基于相似度以及指定操作的类型确定权重,可根据需要进行设置,本说明书对此不做限制。
138.另外,在确定该目标序列对应的点击率时,该预测层还可将该目标特征和各指定特征进行融合,并将融合结果输入全连接层、多层感知机等网络结构,来确定融合特征对应的点击率。当然,该预测层具体的网络结构可根据需要进行设置,本说明书对此不做限制。
139.进一步的,为了进一步的增强目标序列的特征,以确定出更准确的点击率,该服务器在将目标序列的目标特征输入预测层之前,还可将该目标序列的目标特征和各指定特征,输入到点击率预估模型的融合层进行融合。
140.该融合层,可分别确定各目标特征和该指定特征之间的相似度,并基于该相似度确定权重,以及根据确定出的权重和各指定特征,对该目标特征进行增强,即,对该目标特征进行增强。则该融合层可将该增强结果作为融合特征进行输出。
141.则该服务器可将确定出的融合特征,输入该点击率预估模型的预测层,并由预测层输出该目标序列对应的点击率。
142.s206:根据所述各目标序列的点击率及其标注确定损失,并基于所述损失,对所述点击率预估模型的模型参数进行调整。
143.在本说明书提供的一个或多个实施例中,在确定出目标序列的点击率后,该服务器可基于各目标序列的标注和点击率,对该点击率预估模型进行训练。
144.具体的,该服务器可基于各目标序列的点击率和标注,确定损失,并基于该损失,对该点击率预估模型的模型参数进行调整,以完成对该点击率预估模型的训练。
145.另外,基于图2所示的点击率预估模型的训练方法相同的思路,本说明书还提供一种点击率预估模型的训练流程示意图,如图3所示。
146.图3为本说明书提供的点击率预估模型的训练流程示意图。该服务器可首先获取用户的历史浏览日志,并根据该历史浏览日志,确定用户的各目标序列,并确定该用户执行过指定操作的各指定序列。然后,针对每个目标序列,将该目标序列和各指定序列作为输入,输入点击率预估模型的特征提取层,得到该目标序列的目标特征以及各指定特征。然后将该目标特征和各指定特征作为输入,输入该点击率预估模型的融合层,确定该目标序列的融合特征。该服务器可将该融合特征输入该点击率预估模型的预测层,得到该预测层输出的该目标序列的点击率。进而基于该目标序列的点击率和标注,确定损失,以根据损失对该点击率预估模型进行训练。
147.其中,该历史浏览日志仅为获取用户的目标序列的方式的示例说明,具体如何获取用户的目标序列以及指定序列,可根据需要进行设置,本说明书对此不做限制。
148.基于图2的推荐方法,基于用户的各目标序列,以及用户执行过指定操作的各指定序列,通过点击率预估模型的特征提取层,确定根据该目标序列包含的各对象、所述各对象在该目标序列中的位置确定的目标特征,以及各指定特征,再通过点击率预估模型的预测层,根据目标特征和各指定特征确定的点击率,最后根据各目标序列的点击率和标注确定损失,对模型进行训练。本方案在预测页面的点击率时,不仅基于包含的对象,还基于对象的位置来确定,训练得到的模型在预测时会更加准确。
149.进一步的,为了训练出更准确的点击率预估模型,在确定目标序列的标注和各指定序列时,还可设置多种类型的标注和指定序列。
150.具体的,该服务器可针对每个目标序列,根据所述用户的历史行为,确定所述用户在该目标序列中执行的操作,并确定所述操作所属的操作类型,作为该目标序列的标注。
151.然后,在确定出各目标序列的标注后,该服务器可针对每种操作类型,从各目标序列中,确定标注为该操作类型的各目标序列,作为该操作类型对应的各指定序列。
152.更进一步的,在向用户进行推荐时,往往候选推荐序列中包含的对象对应于不同的优先级,如,对象包括广告和自然结果两种,自然结果对应的优先级高,广告对应的优先级低,或自然结果对应的优先级低,广告对应的优先级高。则服务提供方更倾向于使用户点击广告,因此,在确定目标序列的目标特征时,该服务器还可确定该目标序列包含的各对象的优先级。
153.则该服务器可将该目标序列作为输入,输入待训练的点击率预估模型的特征提取层,得到所述特征提取层输出的根据该目标序列包含的所述各对象对应的内容、各对象在该目标序列中的位置以及各对象分别对应的优先级,确定该目标序列的目标特征。
154.需要说明的是,为了保证模型输入维度的统一,以便于更好地对模型进行练,在确定用户的指定序列时,需确定指定数量的序列,作为用户的指定序列,若用户的指定序列中包含的序列的数量小于该指定数量,则可将用户执行该指定操作的序列和空序列组合为指定序列。
155.需要说明的是,本技术中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
156.以上为本说明书的一个或多个实施例提供的推荐方法,基于同样的思路,本说明书还提供了相应的推荐装置,如图4所示。
157.图4为本说明书提供的推荐装置,包括:
158.接收模块300,用于根据用户发送的推荐请求,确定指定数量的候选推荐对象,以及所述用户历史上执行过指定操作的各指定序列。
159.组合模块302,用于将各候选推荐对象按照在序列中的不同位置进行组合,确定各候选推荐序列。
160.特征确定模块304,用于针对每个候选推荐序列,将该候选推荐序列和所述各指定序列作为输入,输入预先训练好的点击率预估模型的特征提取层,得到所述特征提取层输出的根据该候选推荐序列中包含的各候选推荐对象的内容以及所述各候选推荐对象的位
置确定的候选推荐特征,以及各指定特征。
161.预测模块306,用于将所述候选推荐特征和所述各指定特征作为输入,输入所述点击率预估模型的预测层,得到所述预测层输出的该候选推荐序列的点击率。
162.推荐模块308,用于根据各候选推荐序列分别对应的点击率,确定推荐序列,向所述用户进行推荐。
163.可选的,所述方法还包括:
164.训练模块310,用于针对每个用户,确定该用户历史上浏览过的各序列,作为各目标序列,并根据该用户的历史行为,确定所述各目标序列的标注,以及从各目标序列中确定该用户历史上执行过指定操作的各序列,作为各指定序列,针对每个目标序列,将该目标序列和所述各指定序列作为输入,输入待训练的点击率预估模型的特征提取层中,得到所述特征提取层输出的基于该目标序列中包含的各对象的内容和所述各对象的位置确定出的目标特征,以及各指定特征,将所述目标特征和所述各指定特征作为输入,输入所述点击率预估模型的预测层,得到所述预测层输出的该目标序列的点击率,根据所述各目标序列的点击率及其标注确定损失,并基于所述损失,对所述点击率预估模型的模型参数进行调整。
165.可选的,所述特征确定模块304,用于针对每个候选推荐序列,将该候选推荐序列作为输入,输入到预先训练好的点击率预估模型的特征提取层,针对该候选推荐序列中的每个候选推荐对象,根据该候选推荐对象的内容以及该候选推荐对象在该候选推荐序列中的位置,确定该候选推荐对象的对象特征,确定该候选推荐对象和该候选推荐序列中其他候选推荐对象分别对应的相似度,并根据各相似度和所述各相似度分别对应的其他候选推荐对象的对象特征,对该候选推荐对象的对象特征进行增强,根据各对象特征的增强结果,确定该候选推荐序列的候选推荐特征。
166.可选的,所述预测模块306,用于将所述候选推荐特征和所述各指定特征作为输入,输入所述点击率预估模型的融合层,得到所述融合层输出的根据所述各指定特征对所述候选推荐特征进行增强的增强结果和所述各指定特征进行融合的融合结果,作为融合特征,将所述融合特征作为输入,输入所述点击率预估模型的预测层,得到所述预测层输出的该候选推荐序列的点击率。
167.可选的,所述指定操作包含多种操作类型,所述接收模块300,用于根据用户发送的推荐请求,确定所述推荐请求中携带的用户标识,并根据所述用户标识,确定所述用户历史上浏览过的各序列,作为各浏览序列,确定所述用户的历史行为,并针对每个浏览序列,根据所述历史行为,确定所述用户对所述浏览序列的操作,并确定所述操作所属的操作类型,作为该浏览序列的标注,针对每种操作类型,从各浏览序列中,确定标注为该操作类型的各浏览序列,作为该操作类型对应的各指定序列。
168.可选的,针对每个目标序列,该目标序列中包含的对象的优先级不完全相同,所述特征确定模块304,用于确定该候选推荐序列包含的各候选推荐对象的优先级,将该候选推荐序列作为输入,输入预先训练好的点击率预估模型的特征提取层,得到所述特征提取层输出的根据该候选推荐序列中包含的所述各候选推荐对象的内容、所述各候选推荐对象的位置以及所述各候选推荐向分别对应的优先级确定的候选推荐特征。
169.可选的,所述推荐模块308,用于将所述候选推荐特征和所述各指定特征作为输入,输入所述点击率预估模型的预测层,针对每种操作类型,根据该操作类型的各指定序列
分别对应于所述候选推荐特征的相似度,确定所述候选推荐特征对应于该操作类型中的概率,根据所述候选推荐特征分别对应于各操作类型的概率,以及预设的各操作类型的权重,确定该候选推荐序列的点击率。
170.本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的推荐方法。
171.本说明书还提供了图5所示的电子设备的示意结构图。如图5所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的推荐方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
172.在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。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
173.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种
功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
174.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
175.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
176.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
177.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
178.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
179.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
180.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
181.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
182.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备
或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
183.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
184.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
185.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
186.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
187.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
再多了解一些

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

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

相关文献