排序模型的训练方法及装置与流程

文档序号:12364118阅读:301来源:国知局
排序模型的训练方法及装置与流程

本发明涉及互联网技术,尤其涉及一种排序模型的训练方法及装置。



背景技术:

处理引擎是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供搜索服务,将用户搜索相关的信息展示给用户的系统。据国家统计局的报道,中国网民人数已经超过了4亿,这个数据意味着中国已经超过美国成为世界上第一大网民国,且中国的网站总数量已经超过了200万。因此,如何利用搜索服务最大限度满足用户需求,对于互联网企业而言,始终是一个重要的课题。

搜索结果排序,是处理引擎的核心问题,现有排序算法新增特征之后需要重新训练构建新的页面排序模型,但模型重训往往会带来较大的性能差异,使得新特征的贡献淹没在模型重训所带来的更大的性能差异中,很难分析该特征的贡献,从而导致了特征调研的可靠性的降低。



技术实现要素:

本发明的多个方面提供一种排序模型的训练方法及装置,用以提高特征调研的可靠性。

本发明的一方面,提供一种排序模型的训练方法,包括:

获取训练样本数据,所述训练样本数据包括至少一个搜索关键词所对应的正例样本页面的特征数据和负例样本页面的特征数据;

获取神经网络的损失函数,所述损失函数中包含约束项;所述所述约束项用于对加入新特征数据之前的所述神经网络与其在加入新特征数据之后的所述神经网络中所对应的权重参数之间的差值进行二范数约束;

根据所述损失函数、所述正例样本页面的特征数据和所述负例样本页面的特征数据,构建页面排序模型。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述损失函数中还包含第一调整因子和第二调整因子;所述第一调整因子用于调整所述正例样本页面的排序分数趋向于大于指定阈值;所述第二调整因子用于调整所述负例样本页面的排序分数趋向于小于指定阈值。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第一调整因子,包括:

第一最大值与预先设置的第一常数的乘积;其中,所述第一最大值为所述指定阈值与第i组正例样本页面的排序分数的相反数中的最大值;i为大于或等于1且小于或等于n的整数,n为神经网络的层数。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二调整因子,包括:

第二最大值与预先设置的第二常数的乘积;其中,所述第二最大值为所述指定阈值与第i组负例样本页面的排序分数中的最大值;i为大于或等于1且小于或等于n的整数,n为神经网络的层数。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述损失函数、所述正例样本页面的特征数据和所述负例样本页面的特征数据,构建页面排序模型,包括:

根据所述正例样本页面的特征数据和所述正例样本页面的特征调整权重,以及所述负例样本页面的特征数据和所述负例样本页面的特征调整权重,获得所述正例样本页面的调整特征数据和所述负例样本页面的调整特征数据;

根据所述损失函数、所述正例样本页面的调整特征数据和所述负例样本页面的调整特征数据,构建所述页面排序模型。

本发明的另一方面,提供一种排序模型的训练装置,包括:

数据获取单元,用于获取训练样本数据,所述训练样本数据包括至少一个搜索关键词所对应的正例样本页面的特征数据和负例样本页面的特征数据;

函数获取单元,用于获取神经网络的损失函数,所述损失函数中包含约束项;所述约束项用于对加入新特征数据之前的所述神经网络与其在加入新特征数据之后的所述神经网络中所对应的权重参数之间的差值进行二范数约束;

模型构建单元,用于根据所述损失函数、所述正例样本页面的特征数据和所述负例样本页面的特征数据,构建页面排序模型。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述损失函数中还包含第一调整因子和第二调整因子;所述第一调整因子用于调整所述正例样本页面的排序分数趋向于大于指定阈值;所述第二调整因子用于调整所述负例样本页面的排序分数趋向于小于指定阈值。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第一调整因子,包括:

第一最大值与预先设置的第一常数的乘积;其中,所述第一最大值为所述指定阈值与第i组正例样本页面的排序分数的相反数中的最大值;i为大于或等于1且小于或等于n的整数,n为神经网络的层数。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二调整因子,包括:

第二最大值与预先设置的第二常数的乘积;其中,所述第二最大值为所述指定阈值与第i组负例样本页面的排序分数中的最大值;i为大于或等于1且小于或等于n的整数,n为神经网络的层数。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述模型构建单元,具体用于

根据所述正例样本页面的特征数据和所述正例样本页面的特征调整权重,以及所述负例样本页面的特征数据和所述负例样本页面的特征调整权重,获得所述正例样本页面的调整特征数据和所述负例样本页面的调整特征数据;以及

根据所述损失函数、所述正例样本页面的调整特征数据和所述负例样本页面的调整特征数据,构建所述页面排序模型。

由上述技术方案可知,本发明实施例通过获取训练样本数据,所述训练样本数据包括至少一个搜索关键词所对应的正例样本页面的特征数据和负例样本页面的特征数据,以及获取神经网络的损失函数,所述损失函数中包含约束项;所述约束项用于对加入新特征数据之前的所述神经网络即旧神经网络与其在加入新特征数据之后的所述神经网络即新神经网络中所对应的权重参数之间的差值进行二范数约束,使得能够根据所述损失函数、所述正例样本页面的特征数据和所述负例样本页面的特征数据,构建页面排序模型,由于采用对旧神经网络与其在新神经网络中所对应的权重参数之间的差值进行二范数约束的约束项,使得这个差值会比较小,这样,旧神经网络与其在新神经网络中所对应的权重参数趋于一致,能够避免现有技术中由于模型重训而导致的性能差异较大的技术问题,从而提高了特征调研的可靠性。

另外,采用本发明所提供的技术方案,通过采用调整所述正例样本页面的排序分数趋向于大于指定阈值,且调整所述负例样本页面的排序分数趋向于小于指定阈值的调整因子,使得基于Pairwise的排序算法中不同搜索关键词所对应的页面的排序分数具有可比性,从而提高了页面的排序分数的可应用性。

【附图说明】

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

图1为本发明一实施例提供的排序模型的训练方法的流程示意图;

图2为本发明另一实施例提供的排序模型的训练装置的结构示意图。

【具体实施方式】

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

需要说明的是,本发明实施例中所涉及的终端可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、个人电脑(Personal Computer,PC)、MP3播放器、MP4播放器、可穿戴设备(例如,智能眼镜、智能手表、智能手环等)等。

另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

图1为本发明一实施例提供的排序模型的训练方法的流程示意图,如图1所示。

101、获取训练样本数据,所述训练样本数据包括至少一个搜索关键词所对应的正例样本页面的特征数据和负例样本页面的特征数据。

102、获取神经网络的损失函数,所述损失函数中包含约束项;所述约束项用于对加入新特征数据之前的所述神经网络与其在加入新特征数据之后的所述神经网络中所对应的权重参数之间的差值进行二范数约束。

103、根据所述损失函数、所述正例样本页面的特征数据和所述负例样本页面的特征数据,构建页面排序模型。

可以理解的是,101与102没有固定的执行顺序,可以先执行101,再执行102,或者还可以先执行102,再执行101,或者还可以同时执行101和102,本实施例对此不进行特别限定。

需要说明的是,101~103的执行主体的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为位于网络侧服务器中的处理引擎,或者还可以为位于网络侧的分布式系统,本实施例对此不进行特别限定。

可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行特别限定。

这样,通过获取训练样本数据,所述训练样本数据包括至少一个搜索关键词所对应的正例样本页面的特征数据和负例样本页面的特征数据,以及获取神经网络的损失函数,所述损失函数中包含约束项;所述约束项用于对加入新特征数据之前的所述神经网络即旧神经网络与其在加入新特征数据之后的所述神经网络即新神经网络中所对应的权重参数之间的差值进行二范数约束,使得能够根据所述损失函数、所述正例样本页面的特征数据和所述负例样本页面的特征数据,构建页面排序模型,由于采用对旧神经网络与其在新神经网络中所对应的权重参数之间的差值进行二范数约束的约束项,使得这个差值会比较小,这样,旧神经网络与其在新神经网络中所对应的权重参数趋于一致,能够避免现有技术中由于模型重训而导致的性能差异较大的技术问题,从而提高了特征调研的可靠性。

通常,搜索引擎在获取到用户所提供的输入关键词之后,可以采用现有的搜索方法,获得与所述搜索关键词,对应的若干个页面,进而根据这些页面生成包含页面摘要等内容的搜索结果,并将搜索结果提供给用户。详细描述可以参见现有技术中的相关内容,此处不在赘述。

可以理解的是,本发明所涉及的页面,也可以称为Web页面或网页,可以是基于超文本标记语言(HyperText Markup Language,HTML)编写的网页(Web Page),即HTML页面,或者还可以是基于HTML和Java语言编写的网页,即Java服务器页面(Java Server Page,JSP),或者还可以为其他语言编写的网页,本实施例对此不进行特别限定。页面可以包括由一个或者多个页面标签例如,超文本标记语言(HyperText Markup Language,HTML)标签、JSP标签等,定义的一个显示区块,称为页面元素,例如,文字、图片、超链接、按钮、编辑框、下拉框等。

在完成一次搜索之后,可以将该搜索相关的数据记录下来,形成用户历史行为数据。基于所记录的用户历史行为数据,则可以获得同一个搜索关键词(query)所对应的正例样本页面和负例样本页面,并将同一个搜索关键词所对应的正例样本页面与负例样本页面两两组合,组成配对样本<<Q,T,1><Q,T,0>>(Q表示query,T表示样本数据,0表示负例,1表示正例),以作为训练样本数据。进而,则可以利用所述训练样本数据,执行101~103,构建神经网络即页面排序模型。其中,所述神经网络可以包括但不限于深度神经网络(Deep Neural Network,DNN),本实施例对此不进行特别限定。

所谓的正例样本页面,是指点击过的页面;所谓的负例样本页面,是指未点击过的页面。对于同一个query,一个正例样本和一个负例样本就组成了一个训练用的数据样本即训练样本数据。这里的点击过的页面与未点击过的页面,具体可以是指在搜索引擎的点击日志当中所记录的,当某个用户搜索了一个query之后,选择了其中的某个搜索结果进行进一步浏览,则可以称该搜索结果所对应的页面为点击过的页面,称未选择的其他搜索结果所对应的页面为未点击的页面。

通常而言,损失函数可以由损失项(loss term)和正则项(regularization term)组成。本发明中,所采用的损失项可以交叉熵损失函数,或者还可以为Hinge loss损失函数,本实施例对此不进行特别限定。本发明中所采用的损失函数还进一步包含一个约束项,对旧神经网络与其在新神经网络中所对应的权重参数之间的差值进行二范数约束的约束项。可选地,在本实施例的一个可能的实现方式中,在102中,所获取的神经网络的损失函数中所包含的约束项r(W)可以为其中,表示加入新特征数据之后的所述神经网络即新神经网络第j层的权重参数,j为大于或等于1且小于或等于n的整数;表示加入新特征数据之前的所述神经网络即旧神经网络的权重参数;c表示预先设置的一个常数。由于采用对旧神经网络与其在新神经网络中所对应的权重参数之间的差值进行二范数约束的约束项,使得这个差值会比较小,这样,旧神经网络与其在新神经网络中所对应的权重参数趋于一致,能够避免现有技术中由于模型重训而导致的性能差异较大的技术问题,从而提高了特征调研的可靠性。在保证旧神经网络与其在新神经网络中所对应的权重参数趋于一致的情况之下,能够最大限度地发挥新特征数据地效用。

可选地,在本实施例的一个可能的实现方式中,在102中,所获取的神经网络的损失函数中还可以进一步包含第一调整因子和第二调整因子,对损失函数中的损失项进行调整优化。其中,所述第一调整因子用于调整所述正例样本页面的排序分数趋向于大于指定阈值;所述第二调整因子用于调整所述负例样本页面的排序分数趋向于小于指定阈值。

具体来说,所述第一调整因子,可以为第一最大值与预先设置的第一常数的乘积;其中,所述第一最大值为所述指定阈值与第i组正例样本页面的排序分数的相反数中的最大值;i为大于或等于1且小于或等于n的整数,n为神经网络的层数,即:

其中,α表示预先设置的第一常数;θ表示所述指定阈值;表示第i组正例样本页面的特征数据,i为大于或等于1且小于或等于n的整数,n为神经网络的层数;表示第i组正例样本页面的排序分数。这样,则可以调整所述正例样本页面的排序分数趋向于大于指定阈值。

所述第二调整因子,可以为第二最大值与预先设置的第二常数的乘积;其中,所述第二最大值为所述指定阈值与第i组负例样本页面的排序分数中的最大值;i为大于或等于1且小于或等于n的整数,n为神经网络的层数,即:

其中,β表示预先设置的第二常数;θ表示所述指定阈值;表示第i组负例样本页面的特征数据,i为大于或等于1且小于或等于n的整数,n为神经网络的层数;表示第i组负例样本页面的排序分数。这样,则可以调整所述负例样本页面的排序分数趋向于小于指定阈值。

可选地,在本实施例的一个可能的实现方式中,在103中,具体可以根据所述正例样本页面的特征数据和所述正例样本页面的特征调整权重,以及所述负例样本页面的特征数据和所述负例样本页面的特征调整权重,获得所述正例样本页面的调整特征数据和所述负例样本页面的调整特征数据,进而,则可以根据所述损失函数、所述正例样本页面的调整特征数据和所述负例样本页面的调整特征数据,构建一个神经网络,以作为页面排序模型。

一般来说,多个特征输入的用于页面排序的神经网络(即RankNet网络)的网络结构为即输入特征逐层经过矩阵向量乘积和非线性变换的作用后输出。但是,由于全部输入特征都直接接入神经网络,并不能显示地控制特征效果,从而会限制某些特征的效果。例如,涉及输入特征所依赖的数据与页面排序模型训练所用的数据不匹配的情况下,输入特征往往只有较小的权重占比,其贡献的效果也会被削弱。为了特征权重调整的便捷性,可以让输入特征输入神经网络之前乘以一个正对角阵,即每个特征数据乘以一个大于0的权重参数即特征调整权重。这样,通过设置正对角阵对应元素的值,就能够为每一个输入特征增加一个权重先验,在保持其他输入特征的权重先验取值不变的情况下,提升某一个输入特征的权重先验取值将会提升该输入特征最终的权重占比。

本实施例中,通过获取训练样本数据,所述训练样本数据包括至少一个搜索关键词所对应的正例样本页面的特征数据和负例样本页面的特征数据,以及获取神经网络的损失函数,所述损失函数中包含约束项;所述约束项用于对加入新特征数据之前的所述神经网络即旧神经网络与其在加入新特征数据之后的所述神经网络即新神经网络中所对应的权重参数之间的差值进行二范数约束,使得能够根据所述损失函数、所述正例样本页面的特征数据和所述负例样本页面的特征数据,构建页面排序模型,由于采用对旧神经网络与其在新神经网络中所对应的权重参数之间的差值进行二范数约束的约束项,使得这个差值会比较小,这样,旧神经网络与其在新神经网络中所对应的权重参数趋于一致,能够避免现有技术中由于模型重训而导致的性能差异较大的技术问题,从而提高了特征调研的可靠性。

另外,采用本发明所提供的技术方案,通过采用调整所述正例样本页面的排序分数趋向于大于指定阈值,且调整所述负例样本页面的排序分数趋向于小于指定阈值的调整因子,使得基于Pairwise的排序算法中不同搜索关键词所对应的页面的排序分数具有可比性,从而提高了页面的排序分数的可应用性。

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

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

图2为本发明另一实施例提供的排序模型的训练装置的结构示意图,如图2所示。本实施例的排序模型的训练装置可以包括数据获取单元21、函数获取单元22和模型构建单元23。其中,数据获取单元21,用于获取训练样本数据,所述训练样本数据包括至少一个搜索关键词所对应的正例样本页面的特征数据和负例样本页面的特征数据;函数获取单元22,用于获取神经网络的损失函数,所述损失函数中包含约束项;所述约束项用于对加入新特征数据之前的所述神经网络与其在加入新特征数据之后的所述神经网络中所对应的权重参数之间的差值进行二范数约束;模型构建单元23,用于根据所述损失函数、所述正例样本页面的特征数据和所述负例样本页面的特征数据,构建页面排序模型。

需要说明的是,本实施例所提供的排序模型的训练装置的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为位于网络侧服务器中的处理引擎,或者还可以为位于网络侧的分布式系统,本实施例对此不进行特别限定。

可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),本实施例对此不进行特别限定。

可选地,在本实施例的一个可能的实现方式中,所述损失函数中还可以进一步包含第一调整因子和第二调整因子;所述第一调整因子用于调整所述正例样本页面的排序分数趋向于大于指定阈值;所述第二调整因子用于调整所述负例样本页面的排序分数趋向于小于指定阈值。

其中,所述第一调整因子,具体可以包括:

第一最大值与预先设置的第一常数的乘积;其中,所述第一最大值为所述指定阈值与第i组正例样本页面的排序分数的相反数中的最大值;i为大于或等于1且小于或等于n的整数,n为神经网络的层数。

所述第二调整因子,具体可以包括:

第二最大值与预先设置的第二常数的乘积;其中,所述第二最大值为所述指定阈值与第i组负例样本页面的排序分数中的最大值;i为大于或等于1且小于或等于n的整数,n为神经网络的层数。

可选地,在本实施例的一个可能的实现方式中,所述模型构建单元23,具体可以用于根据所述正例样本页面的特征数据和所述正例样本页面的特征调整权重,以及所述负例样本页面的特征数据和所述负例样本页面的特征调整权重,获得所述正例样本页面的调整特征数据和所述负例样本页面的调整特征数据;以及根据所述损失函数、所述正例样本页面的调整特征数据和所述负例样本页面的调整特征数据,构建所述页面排序模型。

需要说明的是,图1对应的实施例中方法,可以由本实施例提供的排序模型的训练装置实现。详细描述可以参见图1对应的实施例中的相关内容,此处不再赘述。

本实施例中,通过数据获取单元获取训练样本数据,所述训练样本数据包括至少一个搜索关键词所对应的正例样本页面的特征数据和负例样本页面的特征数据,以及函数获取单元获取神经网络的损失函数,所述损失函数中包含约束项;所述约束项用于对加入新特征数据之前的所述神经网络即旧神经网络与其在加入新特征数据之后的所述神经网络即新神经网络中所对应的权重参数之间的差值进行二范数约束,使得模型构建单元能够根据所述损失函数、所述正例样本页面的特征数据和所述负例样本页面的特征数据,构建页面排序模型,由于采用对旧神经网络与其在新神经网络中所对应的权重参数之间的差值进行二范数约束的约束项,使得这个差值会比较小,这样,旧神经网络与其在新神经网络中所对应的权重参数趋于一致,能够避免现有技术中由于模型重训而导致的性能差异较大的技术问题,从而提高了特征调研的可靠性。

另外,采用本发明所提供的技术方案,通过采用调整所述正例样本页面的排序分数趋向于大于指定阈值,且调整所述负例样本页面的排序分数趋向于小于指定阈值的调整因子,使得基于Pairwise的排序算法中不同搜索关键词所对应的页面的排序分数具有可比性,从而提高了页面的排序分数的可应用性。

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

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1