掌桥专利:专业的专利平台
掌桥专利
首页

训练模型的方法、装置、电子设备及可读存储介质

文献发布时间:2023-06-19 10:11:51


训练模型的方法、装置、电子设备及可读存储介质

技术领域

本公开的实施例涉及互联网技术领域,尤其涉及一种训练模型的方法、装置、电子设备及可读存储介质。

背景技术

随着信息技术的迅速发展,如何从大量的信息中精准获取用户所需的信息是搜索领域中需要解决的主要问题。

用户在通过搜索引擎搜索时,通常会在搜索引擎所展示的界面中输入搜索词,然后搜索引擎爬取与搜索词相关的搜索结果项,并且利用点击率预估模型预估每个搜索结果项的点击率,最后按照一定的排序策略将搜索结果项排序后展示给用户。

通常,搜索结果项的排序顺序与搜索结果项的预估点击率正相关,预估点击率高的搜索结果项将展示在搜索结果列表中靠前的位置。然而,在实际应用中,由于排序位置靠前的搜索结果项天然有着更高的点击率,而不完全是因为其内容相关性更高或质量更优,从而会造成点击率预估模型的误判,即排序位置靠前的搜索结果项将较大概率永远靠前,进而导致搜索结果的精准度降低。

发明内容

本公开的实施例提供一种训练模型的方法、装置、电子设备及可读存储介质,用以提高点击率预估模型预估点击率的准确性,进而提高搜索结果的精准度。

根据本公开的实施例的第一方面,提供了一种训练模型的方法,所述方法包括:

获取存在有效点击的历史搜索数据为样本数据,所述历史搜索数据中包含以预设概率展示的随机排序结果;

对于每个样本数据,根据所述随机排序结果中每个排序位置对应的点击概率,确定所述每个排序位置的偏置参数;

根据所述偏置参数对所述样本数据进行加权,得到加权后的样本数据;

利用所述加权后的样本数据训练目标模型。

根据本公开的实施例的第二方面,提供了一种排序方法,所述方法包括:

接收用户输入的查询信息;

获取与所述查询信息相关的搜索结果项集合;

将所述搜索结果项集合中的每个搜索结果项分别与所述查询信息输入目标模型,通过所述目标模型预估所述搜索结果项集合中每个搜索结果项的点击率,并根据预估的点击率输出所述搜索结果项集合的排序结果,所述目标模型根据前述的训练模型的方法训练得到。

根据本公开的实施例的第三方面,提供了一种训练模型的装置,所述装置包括:

样本获取模块,用于获取存在有效点击的历史搜索数据为样本数据,所述历史搜索数据中包含以预设概率展示的随机排序结果;

参数确定模块,用于对于每个样本数据,根据所述随机排序结果中每个排序位置对应的点击概率,确定所述每个排序位置的偏置参数;

样本加权模块,用于根据所述偏置参数对所述样本数据进行加权,得到加权后的样本数据;

模型训练模块,用于利用所述加权后的样本数据训练目标模型。

根据本公开的实施例的第四方面,提供了一种排序装置,所述装置包括:

信息接收模块,用于接收用户输入的查询信息;

搜索获取模块,用于获取与所述查询信息相关的搜索结果项集合;

结果排序模块,用于将所述搜索结果项集合中的每个搜索结果项分别与所述查询信息输入目标模型,通过所述目标模型预估所述搜索结果项集合中每个搜索结果项的点击率,并根据预估的点击率输出所述搜索结果项集合的排序结果,所述目标模型根据前述的训练模型的方法训练得到。

根据本公开的实施例的第五方面,提供了一种电子设备,包括:

处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现前述训练模型的方法。

根据本公开的实施例的第六方面,提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述训练模型的方法。

本公开的实施例提供了一种训练模型的方法、装置、电子设备及可读存储介质,所述方法包括:

本公开实施例在用户搜索过程中,按照预设概率向用户展示随机排序结果,这样,从历史搜索数据中获取的样本数据中包含以预设概率展示的随机排序结果。对于每个样本数据,根据所述随机排序结果中每个排序位置对应的点击概率,确定所述每个排序位置的偏置参数;并且根据所述偏置参数对所述样本数据进行加权,得到加权后的样本数据,进而利用所述加权后的样本数据训练目标模型。用户对随机排序结果的点击行为更加反应用户的真实点击需求,而非排序策略下的点击需求。所述偏置参数可以反映用户在无排序策略下的点击行为与在有排序策略下的点击行为之间的偏差。本公开实施例利用偏置参数对样本数据进行加权,可以消除样本数据存在的位置偏置,进而训练得到的目标模型为无偏的点击率预估模型,也即利用目标模型预测的点击率不存在位置偏置,可以提高预测点击率的准确性,避免搜索结果项的显示顺序固化,进而可以提高搜索结果的精准度。

附图说明

为了更清楚地说明本公开的实施例的技术方案,下面将对本公开的实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示出了本公开的一个实施例中的训练模型的方法的步骤流程图;

图2示出了本公开的一个实施例中的排序方法的步骤流程图;

图3示出了本公开的一个实施例中的训练模型的装置的结构图;

图4示出了本公开的一个实施例中的排序装置的结构图;

图5示出了本公开的一个实施例提供的电子设备的结构图。

具体实施方式

下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的实施例一部分实施例,而不是全部的实施例。基于本公开的实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开的实施例保护的范围。

实施例一

参照图1,其示出了本公开的一个实施例中的训练模型的方法的步骤流程图,所述方法包括:

步骤101、获取存在有效点击的历史搜索数据为样本数据,所述历史搜索数据中包含以预设概率展示的随机排序结果;

步骤102、对于每个样本数据,根据所述随机排序结果中每个排序位置对应的点击概率,确定所述每个排序位置的偏置参数;

步骤103、根据所述偏置参数对所述样本数据进行加权,得到加权后的样本数据;

步骤104、利用所述加权后的样本数据训练目标模型。

本公开提供的训练模型方法可应用于电子设备,所述电子设备包括但不限于:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准音频层面3,Moving PictureExperts Group Audio Layer III)播放器、MP4(动态影像专家压缩标准音频层面4,MovingPicture Experts Group AudioLayer IV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等。

需要理解的是,在本公开的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

用户在通过搜索引擎搜索时,通常会在搜索引擎所展示的界面中输入查询词(query),然后搜索引擎将与所述查询词对应的搜索结果项按照一定的显示顺序显示给用户。可以理解的是,与所述查询词对应的搜索结果项可以是对网络数据进行爬取、标引、并按照特定形式存储维护后,应用计算方法例如关联度计算方法等所获得的,其中涉及的现有的或者将来的爬取、标引、存储、维护等技术,和/或关联度计算技术均可以应用到本公开实施例,本公开实施例对此不作限定。在用户通过搜索引擎进行搜索的过程中,搜索引擎或者其他计算设备会通过日志文件等记录用户的各种搜索数据,例如记录用户对某一查询词的搜索数据(例如包括搜索次数,搜索频率)和/或用户对查询词的搜索结果项的点击数据(例如包括点击次数、点击时间、展示次数、展示时间、和/或所点击的搜索结果项的显示顺序等)等。

由于显示顺序靠前的搜索结果项会由于其显示顺序导致点击率更高,显示顺序靠后的搜索结果项会由于其显示顺序导致点击率更低,导致搜索结果项的显示顺序固化,搜索结果项存在位置偏置。搜索结果项存在位置偏置指存在排序位置靠后且被用户点击的搜索结果项,该搜索结果项被用户点击,因此该搜索结果项应被排在更靠前的位置才更加合理,也即该搜索结果项的实际排序位置与理想排序位置存在偏差。

为了消除搜索结果项的位置偏置,解决显示顺序靠前的搜索结果项将较大概率永远靠前,从而使得搜索结果的精准度降低的问题,本公开实施例在用户搜索过程中,按照预设概率(如0.1%的概率)向用户展示随机排序结果。也就是说,针对用户的每一次查询,其中有0.1%的概率向用户展示的排序结果项是随机排序结果。随机排序结果指对原本按照预设排序策略排序得到的排序结果项进行随机打乱后得到的搜索结果列表。

其中,所述预设概率的取值可以根据实际需要进行设置,该预设概率可以为一个较小值,在不影响按照现有的排序策略向用户展示搜索结果项的基础上,利用小流量的随机排序结果统计每个位置被点击的概率。

根据用户对随机排序结果的点击行为,可以统计随机排序结果中每个每个排序位置的点击概率,进而确定每个排序位置的偏置参数。所述偏置参数根据用户对随机排序结果的点击行为所确定,随机排序结果是随机打乱的排序结果,也即无排序策略的排序结果。用户对随机排序结果的点击行为更加反应用户的真实点击需求,而非排序策略下的点击需求。所述偏置参数可以反映用户在无排序策略下的点击行为与在有排序策略下的点击行为之间的偏差。

基于上述以预设概率(如0.1%的概率)向用户展示随机排序结果的前提下,获取存在有效点击的历史搜索数据为样本数据,所述历史搜索数据中包含以预设概率展示的随机排序结果。其中,获取的历史搜索数据可以是预设的任何时间段,例如上个月或去年等。有效点击指的是,该次点击进入页面后,至页面100%展示并留有其浏览内容的时间的,算是有效点击。

在获取的样本数据中,对于其中的随机排序结果,可以统计用户点对所述随机排序结果中每个排序位置对应的点击概率,从而还原出实际上每个排序位置的偏置参数,例如,可以将偏置参数理解为用户点击随机排序结果中每个排序位置的概率的归一化结果。

本公开实施例利用偏置参数对样本数据进行加权,以消除样本数据中的位置偏置,例如,可以根据排序位置进行反向加权,如对于存在点击但是排序位置靠后的搜索结果项赋予更大的权重。由于排序靠后的搜索结果项更不容易被用户看到并点击,因此,对于排序位置靠后且被用户点击的搜索结果项赋予更大的权重,可以消除该搜索结果项存在的位置偏置。

最后利用所述加权后的样本数据训练目标模型。由于加权后的样本数据为取消位置偏置的样本数据,因此,利用加权后的样本数据训练得到的目标模型,可用于预测搜索结果项的点击率,且预测结果不存在位置偏置,可以提高预测点击率的准确性,避免搜索结果项的显示顺序固化,进而可以提高搜索结果的精准度。

所述目标模型可以为根据大量的样本数据和机器学习方法,对现有的神经网络进行有监督训练而得到的。需要说明的是,本公开实施例对所述目标模型的模型结构以及训练方法不加以限制。所述目标模型可以是融合了多种神经网络的深度神经网络模型。所述神经网络包括但不限于以下的至少一种或者至少两种的组合、叠加、嵌套:CNN(ConvolutionalNeural Network,卷积神经网络)、LSTM(Long Short-Term Memory,长短时记忆)网络、RNN(SimpleRecurrentNeuralNetwork,循环神经网络)、注意力神经网络等。

例如,首先构建并初始化目标模型,设置初始模型的模型参数;然后,将样本数据逐个输入所述初始模型,根据初始模型的输出结果与样本数据中的标注信息之间的差异,以及梯度下降算法对该初始模型进行迭代优化,调整模型参数,直到优化的模型达到预设收敛条件时,停止迭代优化,将最后一次优化得到的模型作为训练完成的目标模型。

需要说明的是,本公开实施例中的样本数据是以搜索维度聚合得到的,用户触发的每一次搜索会得到多个搜索结果项,每一次搜索输入的查询词(query)与该查询词下展示的搜索结果项作为一个样本数据。需要说明的是,对于一次搜索,在该次搜索的搜索结果项中存在被点击的搜索结果项时,本公开实施例将该次搜索的查询词和该查询词返回的所有搜索结果项作为一个样本数据。其中,标注信息指一个样本数据中每个搜索结果项是否被点击。

在训练得到目标模型之后,可以使用该目标模型对在线搜索的搜索结果项预估点击率,由于目标模型消除了搜索结果项的位置偏置,因此,目标模型预估的点击率不再受到历史排序位置的影响,从而可以提高预估点击率的准确性,提高对搜索结果项排序的准确性,得到更加符合用户需求的排序结果,提升用户体验。

在本公开的一种可选实施例中,步骤102所述对于每个样本数据,根据所述随机排序结果中每个排序位置对应的点击概率,确定所述每个排序位置的偏置参数,包括:

步骤S11、获取所述每个样本数据中的随机排序结果;

步骤S12、统计所述随机排序结果中每个排序位置对应的点击概率;

步骤S13、确定所述每个排序位置对应的点击概率为所述每个排序位置的偏置参数。

具体地,本公开实施例按照搜索维度对历史搜索结果进行聚合,当某次搜索中存在有效点击的搜索结果项时,将该次搜索下的整个排序列表作为一个样本数据。

对于从历史搜索数据中选择的样本数据,获取其中以预设概率(如0.1%的概率)向用户展示的随机排序结果,并且统计随机排序结果中每个排序位置对应的点击概率,将相应排序位置对应的点击概率作为该排序位置的偏置参数。

例如,用户输入查询词“大盘鸡”触发一次搜索行为,对于本次搜索,本公开实施例以0.1%的概率向用户展示查询词“大盘鸡”对应的随机排序结果,并且统计“大盘鸡”对应的随机排序结果中每个排序位置对应的点击概率,作为该随机排序结果中每个排序位置的偏置参数。

又如,用户输入查询词“2020贺岁大片”触发一次搜索行为,对于本次搜索,本公开实施例以0.1%的概率向用户展示查询词“2020贺岁大片”对应的随机排序结果,并且统计“2020贺岁大片”对应的随机排序结果中每个排序位置对应的点击概率,作为该随机排序结果中每个排序位置的偏置参数。

可以理解,在本公开实施例中,不同查询词对应的随机排序结果中每个排序位置可能对应不同的偏置参数。

在本公开的一种可选实施例中,步骤103所述根据所述偏置参数对所述样本数据进行加权,得到加权后的样本数据,包括:

步骤S21、对于每个样本数据,对其排序结果中每个排序位置对应的偏置参数进行归一化处理,得到所述每个排序位置对应的偏差量;

步骤S22、根据所述每个排序位置对应的偏差量,确定所述每个排序位置对应的权重;

步骤S23、根据被点击的搜索结果项所在排序位置对应的权重,对所述被点击的搜索结果项进行加权,得到加权后的样本数据。

对于每个样本数据,在统计随机排序结果中每个排序位置对应的点击概率,得到每个排序位置的偏置参数之后,对每个排序位置对应的偏置参数进行归一化处理,得到所述每个排序位置对应的偏差量。

其中,归一化处理的过程可以如下:计算每个排序位置的偏置参数除以第一位排序位置的偏置参数,得到的结果即为各个排序位置的偏差量。例如,对于一次搜索过程产生的随机排序结果,包括n个排序位置,n个排序位置分别对应的偏置参数为p1~pn。对于第一位排序位置,其偏差量为第一位排序位置的偏置参数除以第一位排序位置的偏置参数,即p1/p1;对于第二位排序位置,其偏差量为第二位排序位置的偏置参数除以第一位排序位置的偏置参数,即p2/p1;对于第三位的排序位置,其偏差量为第三位排序位置的偏置参数除以第一位排序位置的偏置参数,即p3/p1;以此类推,对于第n位的排序位置,其偏差量为第n位排序位置的偏置参数除以第一位排序位置的偏置参数,即pn/p1。

根据所述每个排序位置对应的偏差量,确定所述每个排序位置对应的权重。具体地,可以将该偏差量直接作为权重,或者还可以对偏差量进行预设的计算得到相应的权重等。

本公开实施例利用偏差量对随机排序结果进行反向加权。例如,如果随机排序结果中第一位排序位置的搜索结果项被点击,该位置的偏差量为p1/p1=1,也即该搜索结果项本身的排序位置不存在位置偏差,不用进行加权。又如,如果随机排序结果中第二位排序位置的搜索结果项被点击,该位置的偏差量为p2/p1,假设p2为p1的1/2,可以为该搜索结果项增加2倍的权重。再如,如果随机排序结果中第五位排序位置的搜索结果项被点击,该位置的偏差量为p5/p1,假设p5为p1的1/5,可以为该搜索结果项增加5倍的权重。可以看出,排序越靠后的被点击的搜索结果项,得到的权重越大。

由于靠后位的搜索结果项(比如30位之后)的被点击概率很低,因此计算出该位置的偏差量可能极低,比如0.001,而靠后位的被点击的搜索结果项较为稀疏,如果不压缩,可能会导致一些靠后位的样本数据被放大到1000倍以上,从而使模型过拟合到稀疏样本上。因此,本公开实施例为避免模型过拟合到稀疏样本上,将偏差量压缩到0.01和1之间,即将所有小于0.01的偏差量视为0.01。

可选地,所述根据所述每个排序位置对应的偏差量,确定所述每个排序位置对应的权重,包括:对初始模型计算的损失值,按照每个排序位置对应的偏差量确定所述每个排序位置对应的权重。例如,根据原始模型计算的损失值与所述每个排序位置对应的偏差量的商,作为所述每个排序位置对应的权重。

其中,损失值可以表示初始模型预测的点击概率与实际统计的点击概率之间的偏差程度。如果损失值在预设范围外时,认为初始模型预测的点击概率与实际统计的点击概率之间的偏差较大,此时,可以调整初始模型的模型参数,继续对初始模型进行迭代训练,以使得最终得到的损失值在预设范围内。

本公开实施例按照每个排序位置对应的偏差量确定所述每个排序位置对应的权重,由于每个排序位置的偏差量是该排序位置的点击概率除以第一位排序位置的点击概率,因此,排序位置越靠后偏差量越小,用原始模型计算的损失值除以该排序位置对应的偏差量得到的商越大,则得到该排序位置对应的权重越大。在实际应用中,排序位置越靠后的商家更不容易被用户看到并被点击,因此,本公开实施例在被点击的搜索结果项的排序位置越靠后的情况下,对该搜索结果项赋予更大的权重,由此可以消除该被点击的搜索结果的位置偏置。

可以理解的是,本公开实施例对确定权重的具体方式不做限制。例如,还可以用1除以所述每个排序位置对应的偏差量得到的商,作为所述每个排序位置对应的权重。

在本公开的一种可选实施例中,所述利用所述加权后的样本数据训练目标模型之后,所述方法还可以包括:

步骤S31、根据所述历史搜索数据,确定无偏评估数据;

步骤S32、根据所述无偏评估数据,计算所述目标模型的无偏评估指标;

步骤S33、若所述无偏评估指标未满足预设条件,则继续训练所述目标模型;

步骤S34、若所述无偏评估指标满足预设条件,则停止训练所述目标模型,得到训练完成的目标模型。

其中,评估指标指的是NDCG(Normalized Discounted Cumulative Gain,归一化折损累计增益)。NDCG可用作对推荐系统的排序结果进行评价,评价排序的准确性。推荐系统通常为用户返回一个排序列表,该排序列表中包含topK的搜索结果项。假设列表长度为K,这时可以用NDCG@K评价该排序列表与用户真实交互列表的差距。

要评价一个推荐系统返回的排序列表有多好,需要为排序列表中每个搜索结果项计算一个相关的评分值,通常这些评分值是一个非负数,这就是gain(增益)。此外,对于没有用户反馈的搜索结果项,通常设置其增益为0。把这些评分值相加,也就是CumulativeGain(累积增益)。为了评价那些位于列表前面的最相关的项,在把这些评分值相加之前,将每项除以一个递增的数,也就是折损值,并得到DCG。在用户与用户之间,DCGs没有直接的可比性,所以要对它们进行归一化处理。通常,把测试集中所有的条目置放在理想的次序下,采取的是前K项并计算它们的DCG。然后将原DCG除以理想状态下的DCG并得到NDCG@K,得到的是一个0到1之间的数。

NDCG的目标是希望得到的排序列表质量越高越好,并且,如果将更相关的搜索结果项排到更前面,那么计算得到的NDCG会越高。

在具体应用中,可以离线获取用于计算NDCG的评估数据。例如,可以从历史搜索数据中选取评估数据。一个示例中,可以选取线上一天产生的历史搜索数据作为评估数据。进一步地,选取的评估数据不在训练目标模型的样本数据中。

由前述可知,由于历史搜索数据中的搜索结果项可能存在位置偏置,在这种情况下,获取的评估数据也可能存在位置偏置,进而导致计算的评估指标不够准确。为解决该问题,本公开实施例获取无偏评估数据,利用无偏评估数据,计算所述目标模型的无偏评估指标。无偏评估数据指不存在或者消除了位置偏置的评估数据。所述无偏评估指标指的是对原本存在位置偏置的评估样本计算的评估指标进行修正得到的准确的评估指标。

如果计算得到的无偏评估指标未满足预设条件,则继续训练所述目标模型,优化目标模型的模型参数;如果计算得到的无偏评估指标满足预设条件,则停止训练所述目标模型,得到训练完成的目标模型。

其中,预设条件用于判断目标模型的NDCG是否达到上线使用的要求,也就是说,目标模型预测点击率的准确性是否已满足预期。在确定目标模型的无偏评估指标满足预设条件时,可以将此时的目标模型作为最终训练完成的目标模型,上线使用。

在本公开的一种可选实施例中,步骤S31所述根据所述历史搜索数据,确定无偏评估数据,包括:

步骤S311、在所述历史搜索数据中确定原始评估数据;

步骤S312、根据所述偏置参数和所述原始评估数据中的点击数据,对所述原始评估数据进行加权,得到加权后的评估数据;

步骤S313、将所述加权后的评估数据作为无偏评估数据。无偏评估指标

由于历史搜索数据中的搜索结果项可能存在位置偏置,在这种情况下,获取的评估数据也可能存在位置偏置。为了获取无偏评估数据,本公开实施例先在所述历史搜索数据中确定原始评估数据,例如选取线上一天产生的历史搜索数据作为原始评估数据。然后根据所述偏置参数和所述原始评估数据中的点击数据,对所述原始评估数据进行加权,得到加权后的评估数据,并且将加权后的评估数据作为无偏评估数据,进而可以利用无偏评估数据计算所述目标模型的无偏评估指标。

在本公开的一种可选实施例中,步骤S312所述根据所述偏置参数和所述原始评估数据中的点击数据,对所述原始评估数据进行加权,得到加权后的评估数据,包括:

步骤S3121、获取所述原始评估数据中的第一排序结果;

步骤S3122、利用所述目标模型对所述第一排序结果进行重新排序,得到第二排序结果;

步骤S3123、对所述第一排序结果中的点击数据和所述第二排序结果中的点击数据进行比对;

步骤S3124、若相同的点击数据在所述第二排序结果中的排序位置高于在所述第一排序结果中的排序位置,则根据所述偏置参数,对所述第一排序结果中的点击数据进行加权,得到加权后的评估数据。

在历史搜索数据中获取原始评估数据之后,获取所述原始评估数据中的第一排序结果。一个示例中,对于某次搜索下的原始评估数据,其原始的排序列表为第一排序结果,如排名前5的搜索结果项分别为a1~a5,且排序为a1、a3、a2、a4、a5。如果用户点击了a3,则a3为正样本,a1、a2、a4、a5为负样本。利用本公开实施例的目标模型对所述第一排序结果进行重新排序,假设得到第二排序结果,且第二排序结果为a3、a1、a2、a4、a5。

对所述第一排序结果中的点击数据和所述第二排序结果中的点击数据进行比对;若相同的点击数据在所述第二排序结果中的排序位置高于在所述第一排序结果中的排序位置,则说明第二排序结果优于第一排序结果。也就是说,当前的目标模型优于原有的排序模型,或者,当前的目标模型优于上一次的目标模型。

例如,在上述示例中,第一排序结果为a1、a3、a2、a4、a5,第二排序结果为a3、a1、a2、a4、a5。由于用户点击了a3,而经过目标模型重新排序后,a3从原来的第二位排到第一位,也即a3在第二排序结果中的排序位置高于在第一排序结果中的排序位置,说明第二排序结果优于第一排序结果。此时,根据a3的偏置参数,对所述第一排序结果中的a3进行加权,得到加权后的评估数据。

需要说明的是,对于上述示例,如果第一排序结果中a3本身就排在第一位,说明a3不存在位置偏置,则不用对a3进行加权。此外,在第一排序结果中,被点击的搜索结果项在第二排序结果中位置提高的越多,则赋予的权重越大。例如,在上述示例中,如果第一排序结果为a1、a2、a4、a3、a5,第二排序结果为a3、a1、a2、a4、a5。a3从第四位提高到第一位,则相对于从第二位提高到第一位,被赋予更大的权重。

根据所述偏置参数,对所述第一排序结果中被点击的搜索结果项进行加权,得到加权后的评估数据,也即得到无偏评估数据。利用无偏评估数据计算DCG,进而可以得到无偏的NDCG。本公开实施例可以根据无偏的NDCG,通过梯度下降的方式调整目标模型的模型参数,从而在每轮模型更新参数后改变每个排序位置的搜索结果项的评分,以提高NDCG。

本公开实施例可以利用偏置参数对评估指标进行修正,得到无偏评估指标,和训练过程类似,对于评估数据,本公开实施例也在原先评估指标的基础上对点击位置不同的样本数据进行不同的加权,从而得到无偏评估数据,进而得到无偏评估指标,无偏评估指标可用来更真实、客观地评估目标模型的质量。可以理解,对第一排序结果中的点击数据进行加权的方式可以采用对随机排序结果进行反向加权的方式,加权过程相似,例如,按照被点击的搜索结果项在第一排序结果中的位置,对于每一个以query为粒度的样本数据计算出的NDCG进行反向加权。

在本公开的一种可选实施例中,步骤S31所述根据所述历史搜索数据,确定无偏评估数据,包括:获取以预设概率展示随机排序结果的历史搜索数据,作为无偏评估数据。

本公开实施例可以提供两种获取无偏评估数据的方式。除了可以利用偏置参数对第一排序结果中被点击的搜索结果项进行加权,得到无偏评估数据,还可以直接获取以预设概率展示随机排序结果的历史搜索数据,作为无偏评估数据。

按照预设概率(如0.1%的概率)向用户展示的随机排序结果,是随机打乱的排序结果,也即无排序策略的排序结果。用户对随机排序结果的点击行为更加反应用户的真实点击需求。随机排序结果中不存在因排序策略或者顺序固化导致的位置偏置,因此,可以作为无偏评估数据,用于计算无偏评估指标。

综上,本公开实施例在用户搜索过程中,按照预设概率向用户展示随机排序结果,这样,从历史搜索数据中获取的样本数据中包含以预设概率展示的随机排序结果。对于每个样本数据,根据所述随机排序结果中每个排序位置对应的点击概率,确定所述每个排序位置的偏置参数;并且根据所述偏置参数对所述样本数据进行加权,得到加权后的样本数据,进而利用所述加权后的样本数据训练目标模型。用户对随机排序结果的点击行为更加反应用户的真实点击需求,而非排序策略下的点击需求。所述偏置参数可以反映用户在无排序策略下的点击行为与在有排序策略下的点击行为之间的偏差。本公开实施例利用偏置参数对样本数据进行加权,可以消除样本数据存在的位置偏置,进而训练得到的目标模型为无偏的点击率预估模型,也即利用目标模型预测的点击率不存在位置偏置,可以提高预测点击率的准确性,避免搜索结果项的显示顺序固化,进而可以提高搜索结果的精准度。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开实施例并不受所描述的动作顺序的限制,因为依据本公开实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开实施例所必须的。

实施例二

参照图2,其示出了本公开的一个实施例中的排序方法的步骤流程图,所述方法包括:

步骤201、接收用户输入的查询信息;

步骤202、获取与所述查询信息相关的搜索结果项集合;

步骤203、将所述搜索结果项集合中的每个搜索结果项分别与所述查询信息输入目标模型,通过所述目标模型预估所述搜索结果项集合中每个搜索结果项的点击率,并根据预估的点击率输出所述搜索结果项集合的排序结果,所述目标模型根据前述的训练模型的方法训练得到。

本公开提供的排序方法可应用于电子设备,所述电子设备包括但不限于:智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等。所述电子设备包括人机交互界面,用户可以通过所述人机交互界面进行操作,使得所述电子设备执行特定的功能,如搜索引擎的在线搜索功能。该人机交互界面的实现形态可以是网页、或者应用页面,或者窗口等。

用户在搜索引擎的搜索框中输入查询信息之后可以触发用于获取所述查询信息对应的搜索结果的查询请求,所述查询请求中携带有所述查询信息。

需要说明的是,本公开实施例对所述查询信息的具体类型不加以限制。所述查询信息可以为文本信息、语音信息、图像信息等。当所述查询信息为文本信息时,可以对该文本信息进行分析,如分词分析等,得到该文本信息中的查询关键词;当所述查询信息为语音信息时,可对该语音信息进行语音识别以得到对应的文本信息,再对该文本信息进行分析,得到该文本信息中的查询关键词;当查询信息为图像信息时,如果该图像信息中包含文本内容,可以对该图像信息进行文本识别以得到对应的文本信息,再对该文本信息进行分析,得到该文本信息中的查询关键词;如果该图像信息中不包括文本内容,则可以对该图像信息进行图像处理以识别出该图像信息所包含的内容,将该内容作为查询内容进行图像检索。

根据前述训练模型的方法可知,本公开实施例训练得到的目标模型在预估所述搜索结果项集合中每个搜索结果项的点击率时,可以消除搜索结果项的位置偏置,得到更加准确的点击率,进而根据预估的点击率输出的排序结果为消除位置偏置的排序结果,可以提高预测点击率的准确性,避免搜索结果项的显示顺序固化,进而可以提高搜索结果的精准度。

实施例三

参照图3,其示出了本公开的一个实施例中的训练模型的装置的结构图,具体如下。

样本获取模块301,用于获取存在有效点击的历史搜索数据为样本数据,所述历史搜索数据中包含以预设概率展示的随机排序结果;

参数确定模块302,用于对于每个样本数据,根据所述随机排序结果中每个排序位置对应的点击概率,确定所述每个排序位置的偏置参数;

样本加权模块303,用于根据所述偏置参数对所述样本数据进行加权,得到加权后的样本数据;

模型训练模块304,用于利用所述加权后的样本数据训练目标模型。

可选地,所述装置还包括:

数据获取模块,用于根据所述历史搜索数据,确定无偏评估数据;

模型评估模块,用于根据所述无偏评估数据,计算所述目标模型的无偏评估指标;

条件判断模块,用于若所述无偏评估指标未满足预设条件,则继续训练所述目标模型;

所述条件判断模块,还用于若所述无偏评估指标满足预设条件,则停止训练所述目标模型,得到训练完成的目标模型。

可选地,所述数据获取模块,包括:

获取子模块,用于在所述历史搜索数据中确定原始评估数据;

加权子模块,用于根据所述偏置参数和所述原始评估数据中的点击数据,对所述原始评估数据进行加权,得到加权后的评估数据;

确定子模块,用于将所述加权后的评估数据作为无偏评估数据。

可选地,所述加权子模块,包括:

第一排序单元,用于获取所述原始评估数据中的第一排序结果;

第二排序单元,用于利用所述目标模型对所述第一排序结果进行重新排序,得到第二排序结果;

结果比对单元,用于对所述第一排序结果中的点击数据和所述第二排序结果中的点击数据进行比对;

数据加权单元,用于若相同的点击数据在所述第二排序结果中的排序位置高于在所述第一排序结果中的排序位置,则根据所述偏置参数,对所述第一排序结果中的点击数据进行加权,得到加权后的评估数据。

可选地,所述数据获取模块,具体用于获取以预设概率展示随机排序结果的历史搜索数据,作为无偏评估数据。

可选地,所述参数确定模块,包括:

随机结果获取子模块,用于获取所述每个样本数据中的随机排序结果;

点击概率统计子模块,用于统计所述随机排序结果中每个排序位置对应的点击概率;

偏置参数确定子模块,用于确定所述每个排序位置对应的点击概率为所述每个排序位置的偏置参数。

可选地,所述样本加权模块,包括:

归一化子模块,用于对于每个样本数据,对其排序结果中每个排序位置对应的偏置参数进行归一化处理,得到所述每个排序位置对应的偏差量;

权重确定子模块,用于根据所述每个排序位置对应的偏差量,确定所述每个排序位置对应的权重;

样本加权子模块,用于根据被点击的搜索结果项所在排序位置对应的权重,对所述被点击的搜索结果项进行加权,得到加权后的样本数据。

本公开实施例利用偏置参数对样本数据进行加权,可以消除样本数据中的位置偏置,进而训练得到的目标模型为无偏的目标模型,也即目标模型的预测结果可以消除位置偏置,提高预测点击率的准确性,避免搜索结果项的显示顺序固化,进而可以提高搜索结果的精准度。

实施例四

参照图4,其示出了本公开的一个实施例中的排序装置的结构图,具体如下。

信息接收模块401,用于接收用户输入的查询信息;

搜索获取模块402,用于获取与所述查询信息相关的搜索结果项集合;

结果排序模块403,用于将所述搜索结果项集合中的每个搜索结果项分别与所述查询信息输入目标模型,通过所述目标模型预估所述搜索结果项集合中每个搜索结果项的点击率,并根据预估的点击率输出所述搜索结果项集合的排序结果,所述目标模型根据前述的训练模型的方法训练得到。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开的实施例还提供了一种电子设备,参见图5,包括:处理器501、存储器502以及存储在所述存储器上并可在所述处理器上运行的计算机程序5021,所述处理器执行所述程序时实现前述实施例的训练模型的方法。

本公开的实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的训练模型的方法。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开的实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的实施例的内容,并且上面对特定语言所做的描述是为了披露本公开的实施例的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的实施例的示例性实施例的描述中,本公开的实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开的实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的实施例的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

本公开的实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本公开的实施例的排序设备中的一些或者全部部件的一些或者全部功能。本公开的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本公开的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本公开的实施例进行说明而不是对本公开的实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开的实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所述仅为本公开的实施例的较佳实施例而已,并不用以限制本公开的实施例,凡在本公开的实施例的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本公开的实施例的保护范围之内。

以上所述,仅为本公开的实施例的具体实施方式,但本公开的实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开的实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的实施例的保护范围之内。因此,本公开的实施例的保护范围应以权利要求的保护范围为准。

相关技术
  • 模型训练方法、训练装置、电子设备和可读存储介质
  • 一种故障检测模型的训练方法、装置、故障检测方法、电子设备和可读存储介质
技术分类

06120112456966