排序模型的训练方法、装置及电子设备与流程

文档序号:31073466发布日期:2022-08-09 21:23阅读:78来源:国知局
排序模型的训练方法、装置及电子设备与流程

1.本技术涉及模型训练技术领域,尤其涉及一种排序模型的训练方法、装置及电子设备。


背景技术:

2.随着移动互联网的兴起,用户可以快速方便的通过网络获取大量的信息,其中搜索引擎扮演着重要的角色。用户在搜索引擎中输入相应的搜索词,搜索引擎将搜索得到的与搜索词相关联的大量搜索结果,然后将搜索结果排序之后输出。
3.目前,对于搜索排序算法来说,根据算法对应的损失函数不同主要可以分为三类:单文档法(pointwise)、文档对法(pairwise)以及文档列表法(listwise)。但无论上述哪类搜索排序算法,仅能够针对最后的搜索结果对排序模型进行训练。
4.然而,在下拉列表搜索场景下,由于存在一个不断键入的动态过程。因此从用户开始输入搜索词到最终点击搜索结果的过程中,将依次展示多个不同的列表。由于用户仅点击了最终显示的列表中的搜索结果,因此无法在剩余列表中确定正负样本,导致搜索过程中的剩余列表无法直接用于排序模型的训练。即排序模型的训练未将搜索过程信息考虑在内,导致排序模型的能力受限,其排序结果不能合理的满足用户的搜索需求。


技术实现要素:

5.本技术实施例提供了一种排序模型的训练方法、装置及电子设备,以至少解决现有技术中训练得到的排序模型的能力受限,其排序结果无法满足用户搜索需求的技术问题。
6.根据本技术实施例的一个方面,提供了一种排序模型的训练方法,所述方法包括:
7.获取用户历史搜索过程中的终态列表,其中,所述终态列表包括基于用户输入的目标信息搜索得到的多条搜索结果;
8.基于所述终态列表,生成包含正样本和负样本的样本对,其中,所述正样本为所述终态列表中被用户触发过的任一所述搜索结果,所述负样本为所述终态列表中排列在所述正样本之前的未被用户触发过的任一所述搜索结果;
9.在每次迭代过程中,基于当前样本对的第一分数、第二分数以及所述当前样本对所属终态列表对应的键入次数,确定目标梯度,其中,所述第一分数包括所述排序模型基于所述当前样本对的正样本输出的相关度评分,所述第二分数包括所述排序模型基于所述当前样本对的负样本输出的相关度评分,所述键入次数包括用户在输入框中输入所述目标信息的过程中,所述输入框更新数据的次数;
10.在每次迭代过程中,基于本次迭代得到的所述目标梯度,更新所述排序模型中的模型参数。
11.可选地,所述基于当前样本对的第一分数、第二分数以及所述当前样本对所属终态列表对应的键入次数,确定目标梯度,包括:
12.根据所述第一分数、所述第二分数以及目标评价指标的变化情况,确定以优化文档列表法的损失为目标的第一中间梯度,其中,所述目标评价指标包括基于所述当前样本对确定的信息检索的评价指标;
13.基于所述当前样本对中正样本对应的第一键入次数以及负样本对应的第二键入次数,确定第二中间梯度,其中,所述第一键入次数等于所述当前样本对所属终态列表对应的键入次数,所述第二键入次数为大于所述第一键入次数的预设目标次数;
14.将所述第一中间梯度与所述第二中间梯度的乘积,确定为目标梯度。
15.可选地,所述基于所述当前样本对中正样本对应的第一键入次数以及负样本对应的第二键入次数,确定第二中间梯度,包括:
16.计算所述第一键入次数加上1的和的倒数,得到第一倒数;
17.计算所述第二键入次数加上1的和的倒数,得到第二倒数;
18.计算所述第一倒数与所述第二倒数的差值的绝对值,得到第一目标值;
19.将所述第一目标值加上1的和,确定为第二中间梯度。
20.可选地,所述方法还包括:获取用户历史搜索过程中使用的电子设备的目标操作系统,其中,不同操作系统对应不同缩放系数;
21.所述计算所述第一键入次数加上1的和的倒数,得到第一倒数,包括:
22.计算所述第一键入次数与目标系数的乘积,得到第二目标值;其中,所述目标系数为所述目标操作系统对应的缩放系数;
23.计算所述第二目标值加上1的和的倒数,得到第一倒数。
24.可选地,所述根据所述第一分数、所述第二分数以及目标评价指标的变化情况,确定以优化文档列表法的损失为目标的第一中间梯度,包括:
25.基于所述第一分数和第二分数,确定以优化文档对法的损失为目标的第三中间梯度;
26.计算所述当前文本对中正样本与负样本互换各自在所述终态列表中的位置前后的归一化折损累计增益变化值;
27.将所述第三中间梯度和所述归一化折损累计增益变化值的乘积,确定为第一中间梯度。
28.根据本技术实施例的又一个方面,提供了一种排序模型的训练装置,所述装置包括:
29.第一获取模块,用于获取用户历史搜索过程中的终态列表,其中,所述终态列表包括基于用户输入的目标信息搜索得到的多条搜索结果;
30.样本模块,用于基于所述终态列表,生成包含正样本和负样本的样本对,其中,所述正样本为所述终态列表中被用户触发过的任一所述搜索结果,所述负样本为所述终态列表中排列在所述正样本之前的未被用户触发过的任一所述搜索结果;
31.第一迭代模块,用于在每次迭代过程中,基于当前样本对的第一分数、第二分数以及所述当前样本对所属终态列表对应的键入次数,确定目标梯度,其中,所述第一分数包括所述排序模型基于所述当前样本对的正样本输出的相关度评分,所述第二分数包括所述排序模型基于所述当前样本对的负样本输出的相关度评分,所述键入次数包括用户在输入框中输入所述目标信息的过程中,所述输入框更新数据的次数;
32.第二迭代模块,用于在每次迭代过程中,基于本次迭代得到的所述目标梯度,更新所述排序模型中的模型参数。
33.可选地,所述第一迭代模块,包括:
34.第一确定单元,用于根据所述第一分数、所述第二分数以及目标评价指标的变化情况,确定以优化文档列表法的损失为目标的第一中间梯度,其中,所述目标评价指标包括基于所述当前样本对确定的信息检索的评价指标;
35.第二确定单元,用于基于所述当前样本对中正样本对应的第一键入次数以及负样本对应的第二键入次数,确定第二中间梯度,其中,所述第一键入次数等于所述当前样本对所属终态列表对应的键入次数,所述第二键入次数为大于所述第一键入次数的预设目标次数;
36.将所述第一中间梯度与所述第二中间梯度的乘积,确定为目标梯度。
37.可选地,所述第二确定单元,包括:
38.第一计算子单元,用于计算所述第一键入次数加上1的和的倒数,得到第一倒数;
39.第二计算子单元,用于计算所述第二键入次数加上1的和的倒数,得到第二倒数;
40.第三计算子单元,用于计算所述第一倒数与所述第二倒数的差值的绝对值,得到第一目标值;
41.第一确定子单元,用于将所述第一目标值加上1的和,确定为第二中间梯度。
42.可选地,所述装置还包括:
43.第二获取模块,用于获取用户历史搜索过程中使用的电子设备的目标操作系统,其中,不同操作系统对应不同缩放系数;
44.所述第一计算子单元,具体用于计算所述第一键入次数与目标系数的乘积,得到第二目标值;其中,所述目标系数为所述目标操作系统对应的缩放系数;计算所述第二目标值加上1的和的倒数,得到第一倒数。
45.可选地,所述第一确定单元,包括:
46.第二确定子单元,用于基于所述第一分数和第二分数,确定以优化文档对法的损失为目标的第三中间梯度;
47.第四计算子单元,用于计算所述当前文本对中正样本与负样本互换各自在所述终态列表中的位置前后的归一化折损累计增益变化值;
48.第三确定子单元,用于将所述第三中间梯度和所述归一化折损累计增益变化值的乘积,确定为第一中间梯度。
49.根据本技术实施例的又一个方面,提供了一种电子设备,包括:
50.处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的排序模型的训练方法。
51.根据本技术实施例的又一个方面,提供了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上所述的排序模型的训练方法。
52.在本技术实施例中,可以在下拉列表搜索场景中,基于终态列表生成模型训练所需的训练样本,即包含正样本和负样本的样本对。其中,被用户触发过的任一搜索结果可以视为正样本,终态列表中排列在正样本之前的未被用户触发过的任一搜索结果可以视为负
样本。在计算排序模型优化所需的梯度时,除排序模型针对正负样本输出的相关度评分之外,还将可以表征搜索过程信息的键入次数考虑在内,从而使得计算出的目标梯度可以更加准确的指导排序模型的优化方向,这里,键入次数包括用户在输入框中输入目标信息的过程中,输入框更新数据的次数,也就是与搜索过程相关联的搜索过程信息。最后利用目标梯度对排序模型中的模型参数进行更新,完成对排序模型的优化,使得训练结束得到的排序模型具有更好的排序能力,使其排序结果可以更加合理的满足用户的搜索需求。
附图说明
53.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
54.图1为本技术实施例提供的排序模型的训练方法的步骤流程图;
55.图2为下拉搜索场景中终态列表的展示示意图;
56.图3为一段时间内的真实的键入次数的分布情况示意图;
57.图4为一天中不同操作系统下对应的键入次数分布情况示意图;
58.图5为终态列表中优化方向和强度展示示意图;
59.图6为本技术实施例提供的排序模型的训练装置的结构框图。
具体实施方式
60.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
61.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
62.在本技术的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
63.参见图1,本技术实施例提供了一种排序模型的训练方法,该方法包括:
64.步骤101:获取用户历史搜索过程中的终态列表。
65.本步骤中,终态列表包括基于用户输入的目标信息搜索得到的多条搜索结果。在下拉列表搜索场景下,用户可以输入任意信息,终端设备基于用户输入的信息搜索得到与用户输入的信息相关联的数据(搜索结果),并将搜索结果展示给用户。这里,搜索结果通常为多条数据,每条数据成为一条搜索结果。通常采用列表的形式将各搜索结果展示给用户,即展示一终态列表,列表中包括多条数据,每一条数据为一搜索结果。可以理解的是,用户输入的目标信息可以为多次输入的结果,在此情况下,终态列表为最终展示给用户的列表。
66.需要说明的是,本技术中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。例如,这里在获取用户历史搜索过程中的数据可以为用户授权后获取的用户的搜索数据。当然,这里也可以直接获取不带有用户个人信息的搜索数据,此部分数据不包含用户个人的任何信息。
67.步骤102:基于终态列表,生成包含正样本和负样本的样本对。
68.本步骤中,终态列表作为模型训练的数据源,由于模型训练所需样本数量较大,因此终态列表的数量通常较大。这里,模型训练所需的训练样本采用样本对的形式呈现,其中,每一样本对中存在一个正样本和一个负样本,且这两个样本来源于同一终态列表。具体的,正样本为终态列表中被用户触发过的任一搜索结果,负样本为终态列表中排列在正样本之前的未被用户触发过的任一搜索结果。
69.步骤103:在每次迭代过程中,基于当前样本对的第一分数、第二分数以及当前样本对所属终态列表对应的键入次数,确定目标梯度。
70.本步骤中,排序模型的训练过程实为迭代过程,由于每次迭代的过程相同,这里仅以任意一次迭代的过程为例进行说明。在一次迭代过程中,需要利用排序模型的输出计算得到优化排序模型的梯度,即最大程度上减少损失的方向。这里,排序模型的输出为一相关度评分,即样本与目标信息的相关程度正相关的分数。具体的,第一分数包括排序模型基于当前样本对的正样本输出的相关度评分,第二分数包括排序模型基于当前样本对的负样本输出的相关度评分。
71.在下拉搜索场景下,由于需用户多次键入信息以达到输入目标信息的目的,因此,可以将键入信息的次数作为搜索过程信息。由于每次键入信息,搜索输入框中的数据就会进行更新,从而显示最新的数据,因此搜索输入框更新数据的次数与键入信息的次数相等,可以将搜索输入框更新数据的次数视为键入次数。如图2所示,目标信息为“火锅”,用户通过三次键入信息从而在搜索输入框中完成“火锅”的输入。相应的,包含c1~c9的列表为终态列表,其对应的键入次数为三次。较佳地,由于存在用户键入信息过快导致终端设备来不及展示列表的情况,因此键入次数也可以指一次完整搜索过程中前端页面列表更迭次数。继续以图2为例,用户第一次键入的信息为“h”,前端页面列表展示a1~a9,第二次键入的信息为“u”,然后在很短的时间内第三次键入“o”,此时由于前端页面来不及展示基于前两次键入的信息搜索得到的搜索结果,前端页面在展示a1~a9之后,继续展示基于前三次键入的信息搜索得到的搜索结果,即b1~b9。用户最后一次键入信息之后将展示c1~c9,在此过程中,用户键入信息的次数为四次,但前端页面的更新次数为三次,此时,可以将前端页面更新的三次作为键入次数。
72.步骤104:在每次迭代过程中,基于本次迭代得到的目标梯度,更新排序模型中的模型参数。
73.本步骤中,每次迭代过程实为一次训练过程,在每次训练或迭代过程中,实现对排序模型的一次优化,即更新排序模型的模型参数。基于计算出的梯度对模型参数进行更新,为模型训练过程中对模型进行优化的具体方式,这里不再赘述。可以理解的是,每次迭代将更新一次模型参数,进而在下次迭代过程中使用更新后的模型参数进行模型训练,从而不断的对模型参数进行更新,以实现对模型的不断优化。在训练结果满足预设条件后结束训
练,其中预设条件可以为某一数值较大的训练次数,但不限于此。
74.本技术实施例中,可以在下拉列表搜索场景中,基于终态列表生成模型训练所需的训练样本,即包含正样本和负样本的样本对。其中,被用户触发过的任一搜索结果可以视为正样本,终态列表中排列在正样本之前的未被用户触发过的任一搜索结果可以视为负样本。在计算排序模型优化所需的梯度时,除排序模型针对正负样本输出的相关度评分之外,还将可以表征搜索过程信息的键入次数考虑在内,从而使得计算出的目标梯度可以更加准确的指导排序模型的优化方向,这里,键入次数包括用户在输入框中输入目标信息的过程中,输入框更新数据的次数,也就是与搜索过程相关联的搜索过程信息。最后利用目标梯度对排序模型中的模型参数进行更新,完成对排序模型的优化,使得训练结束得到的排序模型具有更好的排序能力,使其排序结果可以更加合理的满足用户的搜索需求。
75.可选地,基于当前样本对的第一分数、第二分数以及当前样本对所属终态列表对应的键入次数,确定目标梯度,包括:
76.根据第一分数、第二分数以及目标评价指标的变化情况,确定以优化文档列表法的损失为目标的第一中间梯度,其中,目标评价指标包括基于当前样本对确定的信息检索的评价指标。
77.应当说明的是,文档列表法即为listwise,以优化文档列表法的损失为目标,即为在减少错误相对关系的样本对的基础上,引入文档或样本在列表中的位置信息,更关注位置靠前的优质文档的排序位置的提升。可以有效的避免下调位置靠前优质文档的位置的情况的发生。其中,信息检索的评价指标包括:mrr(倒数排序法,mean reciprocal rank)、map(平均精度均值,mean average precision)等,map可以理解为单个主题的平均准确率是每篇相关文档检索出后的准确率的平均值。mrr可以理解为把标准答案在被评价系统给出结果中的排序取倒数作为它的准确度,再对所有的问题取平均。目标评价指标可以为其中任意一个。
78.基于当前样本对中正样本对应的第一键入次数以及负样本对应的第二键入次数,确定第二中间梯度,其中,第一键入次数等于当前样本对所属终态列表对应的键入次数,第二键入次数为大于第一键入次数的预设目标次数。
79.应当说明的是,理论上说对于同一个列表中不同的搜索结果或文档无论点击与否,其键入次数应该都是相同的,这里,进行了一个变换,将终态列表中点击过的搜索结果(正样本)对应的键入次数值置为点击时刻真实的键入次数,对于未点击的搜索结果(负样本)其键入次数值置为预设常数。其中,在确定该预设常数时,该预设常数的取值需要大于真实的键入次数,较佳地,可以拉取搜索日志中一段时间内的真实的键入次数的分布情况,如图3所示,由于大部分用户的键入次数小于40,因此,可以将预设常数设为40,但不限于此。
80.将第一中间梯度与第二中间梯度的乘积,确定为目标梯度。
81.本技术实施例中,以优化文档列表法的损失为目标的第一中间梯度的基础上,增加了基于搜索过程信息确定的第二中间梯度,使得目标梯度可以在原文档列表法的基础上,实现进一步优化。
82.可选地,基于当前样本对中正样本对应的第一键入次数以及负样本对应的第二键入次数,确定第二中间梯度,包括:
83.计算第一键入次数加上1的和的倒数,得到第一倒数;
84.计算第二键入次数加上1的和的倒数,得到第二倒数;
85.计算第一倒数与第二倒数的差值的绝对值,得到第一目标值;
86.将第一目标值加上1的和,确定为第二中间梯度。
87.应当说明的是,可以采用公式一计算第二中间梯度,公式一:
[0088][0089]
其中,表示第二中间梯度,ksi表示样本对中的第一样本,ksj表示样本对中的第二样本,i表示第一样本在终态列表中的位置,j表示第二样本在终态列表中的位置,abs为求绝对值的函数。且在第一样本为正样本时,ksi的数值等于点击时刻真实的键入次数,即第一键入次数,在第一样本为负样本时,ksi的数值等于预设常数,即第二键入次数。
[0090]
本技术实施例中,将正负样本对应的键入次数设置为不同的数值,利用倒数、绝对值的运算方式得到第二中间梯度。
[0091]
可选地,该方法还包括:获取用户历史搜索过程中使用的电子设备的目标操作系统,其中,不同操作系统对应不同缩放系数;
[0092]
计算第一键入次数加上1的和的倒数,得到第一倒数,包括:
[0093]
计算第一键入次数与目标系数的乘积,得到第二目标值;其中,目标系数为目标操作系统对应的缩放系数;
[0094]
计算第二目标值加上1的和的倒数,得到第一倒数。
[0095]
应当说明的是,由于下拉列表搜索场景的特殊性,用户一次搜索过程对应的键入次数是与机型强相关的。以安卓系统和苹果系统为例,用户输入的目标信息在上框之前是需要通过输入法的,对于不同输入法类型来说,上框情况是不同的。假设不同系统的用户使用系统本身自带的输入法进行输入,那么对于相同的输入词汉字“火锅”来说,使用苹果系统的用户的列表会在键入拼音过程中不断切换,对于使用安卓系统的用户来说,用户在通过输入法键入完整的“火锅”汉字之前,过程中的拼音不会上框,因此下拉列表不会频繁切换。两种系统输入法上的差异会导致用户一次搜索过程中的键入次数的数值有较大差别。为避免训练过程中的有偏估计,这里使用了缩放系数。具体的,可以拉取一天中不同操作系统下对应的键入次数分布,如图4所示,曲线41表示使用苹果系统的用户对应的键入次数分布情况,曲线42表示使用安卓系统的用户对应的键入次数分布情况,可以发现在整体分布上使用安卓系统的用户对应的键入次数确实天然的比使用苹果系统的用户对应的键入次数低。为了消除这种偏差,我们增加了一个缩放系数,进一步对两种操作系统的键入次数进行归一化。具体的,可以采用公式二确定第二目标值。
[0096]
公式二:
[0097][0098]
其中,ksi表示样本对中的正样本,osi表示操作系统,ios表示苹果操作系统,android表示安卓操作系统。scale表示安卓操作系统对应的缩放系统,其中,苹果系统对应的缩放系数可以视为1。
[0099]
本技术实施例中,通过缩放系数对不同操作系统数据进行归一化,进一步避免了优化方向的偏差问题。
[0100]
可选地,根据第一分数、第二分数以及目标评价指标的变化情况,确定以优化文档列表法的损失为目标的第一中间梯度,包括:
[0101]
基于第一分数和第二分数,确定以优化文档对法的损失为目标的第三中间梯度;
[0102]
计算当前文本对中正样本与负样本互换各自在终态列表中的位置前后的归一化折损累计增益(normalized discounted cumulative gain,简称ndcg)变化值;
[0103]
将第三中间梯度和归一化折损累计增益变化值的乘积,确定为第一中间梯度。
[0104]
应当说明的是,文档对法即为pairwise,以优化文档对法的损失为目标,即为减少错误相对关系的样本对。下面以一具体计算公式详细说明目标梯度的计算过程,这里可以利用lambdarank,在lambda梯度的基础上计算目标梯度。具体的,如公式三:
[0105][0106]
其中,λ
ij
表示目标梯度,σ表示预设参数,在样本对中的正样本于终态列表中的位置为第i个,样本对中的负样本于终态列表中的位置为第j个的情况下,si表示正样本的第一分数,sj表示负样本的第二分数,表示正样本与负样本互换各自在终态列表中的位置前后的ndcg变化值,参见上述公式一。
[0107]
本技术实施例中,利用了lambdarank算法,在lambda梯度的基础上计算得到目标梯度,通过借助lambda梯度的优势对模型进行优化,使得训练得到的排序模型具有良好的排序效果。
[0108]
如图5所示,终态列表1和终态列表2分别为两次用户搜索过程中对应的终态列表,假设终态列表1对应的键入次数小于终态列表2的键入次数。图5中目标区域50中的横条表示终态列表中被点击的样本,其余横条表示未被用户点击的样本。第一箭头51、第二箭头52、第三箭头53分别代表pointwise、listwise、本技术提供的方法三种优化方式对应的下一轮样本的优化方向和强度。pointwise由于只关注正负样本对之间的错误样本对数,为降低错误样本数,明显靠后的点击样本优化强度更大。listwise除了考虑样本对间的错误之外,还考虑了列表中点击样本的位置信息,也即考虑了正负样本对调换之后ndcg的变化,对于靠上位置的点击样本来说调换后ndcg变化较大,因此,下一轮迭代强度如第二箭头52所示。本技术提供的方法中的优化方法,对于终态列表内部点击样本所处位置相同的情况来说,键入次数较小的终态列表我们会附加一个更大的系数,导致键入次数较小的终态列表优化强度大于键入次数较大的,该样本在优化过程中起到的作用相对来说更大,本技术不会改变内部点击样本的相对优化强度。因此,下一轮迭代强度就如第三箭头53所示。
[0109]
在使用本技术提供的方式训练得到的排序模型,其表征模型性能的各参数的测试结果如下表1和表2所示:
[0110]
离线指标aucndcg@allndcg@1ndcg@7基准组0.8921120.8357520.6567250.824474实验组0.9007280.8458320.6751110.835786绝对差异+0.0086+0.0100+0.0183+0.0113
[0111]
表1
[0112][0113][0114]
表2
[0115]
表1中auc(area under curve)被定义为roc曲线下与坐标轴围成的面积,qvctr(query view click through rate)表示一次搜索意图下曝光点击率;ks表示键入次数。
[0116]
本技术实施例,构造了符合下拉列表搜索场景的优化目标,将搜索过程信息考虑了进来,同时兼顾了优化终态列表内部以及之间的排序效果;兼顾了本场景的业务特点,通过缩放系数对不同操作系统数据进行归一化,避免了优化方向的偏差问题。同时,整体实现链路复杂度相对较低,且效果可控,无论是从数据角度、特征角度、模型角度来说,线下训练以及线上服务的开销基本不会增加。
[0117]
参见图6,本技术实施例提供了一种排序模型的训练装置,该装置包括:
[0118]
第一获取模块61,用于获取用户历史搜索过程中的终态列表,其中,终态列表包括基于用户输入的目标信息搜索得到的多条搜索结果;
[0119]
样本模块62,用于基于终态列表,生成包含正样本和负样本的样本对,其中,正样本为终态列表中被用户触发过的任一搜索结果,负样本为终态列表中排列在正样本之前的未被用户触发过的任一搜索结果;
[0120]
第一迭代模块63,用于在每次迭代过程中,基于当前样本对的第一分数、第二分数以及当前样本对所属终态列表对应的键入次数,确定目标梯度,其中,第一分数包括排序模型基于当前样本对的正样本输出的相关度评分,第二分数包括排序模型基于当前样本对的负样本输出的相关度评分,键入次数包括用户在输入框中输入目标信息的过程中,输入框更新数据的次数;
[0121]
第二迭代模块64,用于在每次迭代过程中,基于本次迭代得到的目标梯度,更新排序模型中的模型参数。
[0122]
可选地,第一迭代模块62,包括:
[0123]
第一确定单元,用于根据第一分数、第二分数以及目标评价指标的变化情况,确定以优化文档列表法的损失为目标的第一中间梯度,其中,目标评价指标包括基于当前样本对确定的信息检索的评价指标;
[0124]
第二确定单元,用于基于当前样本对中正样本对应的第一键入次数以及负样本对应的第二键入次数,确定第二中间梯度,其中,第一键入次数等于当前样本对所属终态列表对应的键入次数,第二键入次数为大于第一键入次数的预设目标次数;
[0125]
将第一中间梯度与第二中间梯度的乘积,确定为目标梯度。
[0126]
可选地,第二确定单元,包括:
[0127]
第一计算子单元,用于计算第一键入次数加上1的和的倒数,得到第一倒数;
[0128]
第二计算子单元,用于计算第二键入次数加上1的和的倒数,得到第二倒数;
[0129]
第三计算子单元,用于计算第一倒数与第二倒数的差值的绝对值,得到第一目标值;
[0130]
第一确定子单元,用于将第一目标值加上1的和,确定为第二中间梯度。
[0131]
可选地,该装置还包括:
[0132]
第二获取模块,用于获取用户历史搜索过程中使用的电子设备的目标操作系统,其中,不同操作系统对应不同缩放系数;
[0133]
第一计算子单元,具体用于计算第一键入次数与目标系数的乘积,得到第二目标值;其中,目标系数为目标操作系统对应的缩放系数;计算第二目标值加上1的和的倒数,得到第一倒数。
[0134]
可选地,第一确定单元,包括:
[0135]
第二确定子单元,用于基于第一分数和第二分数,确定以优化文档对法的损失为目标的第三中间梯度;
[0136]
第四计算子单元,用于计算当前文本对中正样本与负样本互换各自在终态列表中的位置前后的归一化折损累计增益变化值;
[0137]
第三确定子单元,用于将第三中间梯度和归一化折损累计增益变化值的乘积,确定为第一中间梯度。
[0138]
本技术实施例提供的排序模型的训练装置能够实现图1至图5的方法实施例中排序模型的训练方法实现的各个过程,为避免重复,这里不再赘述。
[0139]
本技术的实施例中,可以在下拉列表搜索场景中,基于终态列表生成模型训练所需的训练样本,即包含正样本和负样本的样本对。其中,被用户触发过的任一搜索结果可以视为正样本,终态列表中排列在正样本之前的未被用户触发过的任一搜索结果可以视为负样本。在计算排序模型优化所需的梯度时,除排序模型针对正负样本输出的相关度评分之外,还将可以表征搜索过程信息的键入次数考虑在内,从而使得计算出的目标梯度可以更加准确的指导排序模型的优化方向,这里,键入次数包括用户在输入框中输入目标信息的过程中,输入框更新数据的次数,也就是与搜索过程相关联的搜索过程信息。最后利用目标梯度对排序模型中的模型参数进行更新,完成对排序模型的优化,使得训练结束得到的排序模型具有更好的排序能力,使其排序结果可以更加合理的满足用户的搜索需求。
[0140]
另一方面,本技术实施例还提供了一种电子设备,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述各申请实施例提供的排序模型的训练方法。
[0141]
再一方面,本技术实施例还提供了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上各申请实施例提供的排序模型的训练方法。
[0142]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术
所必须的。
[0143]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0144]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0145]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1