[发明专利]一种基于Ranknet和Lambdamart算法的搜索排序方法在审
申请号: | 201910654609.3 | 申请日: | 2019-07-19 |
公开(公告)号: | CN110489616A | 公开(公告)日: | 2019-11-22 |
发明(设计)人: | 刘胜美;程睿 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F16/9038 | 分类号: | G06F16/9038 |
代理公司: | 32102 南京苏科专利代理有限责任公司 | 代理人: | 姚姣阳<国际申请>=<国际公布>=<进入 |
地址: | 210012 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 算法 迭代 排序 搜索 基础模型 模型效果 排序函数 排序模型 损失函数 原始模型 传统的 凸函数 主题性 准确率 输出 学习 全局 改进 | ||
1.一种基于Ranknet和Lambdamart算法的搜索排序方法,其特征在于,包括如下步骤,
步骤S1、由Rankbet算法训练出基本模型,首先训练一个打分函数,根据打分函数计算文档的得分,通过文档的得分情况计算文档的偏序概率和真实概率,采用交叉熵作为损失函数来衡量偏序概率对真实概率的拟合程度,从而获取所有文档的总代价函数;
步骤S2、计算每个文档的梯度lambda和偏导,针对步骤S1中的损失函数对排序函数的偏导求导,再利用梯度下降法获取最佳参数;
步骤S3、利用Lambdamart算法训练回归树;
步骤S4、将步骤S2中获取的梯度作用于Lambdamart算法的GBDT上,作为训练模型的拟合对象,再根据牛顿法计算训练树的叶子节点值;
步骤S5、更新模型,根据学习率计算每个文档的得分。
2.根据权利要求1所述的一种基于Ranknet和Lambdamart算法的搜索排序方法,其特征在于,所述步骤S1中,训练的打分函数为s=f(x;w),根据打分函数计算文档xi和xj为si=f(xi;w),sj=f(xj;w);根据得分计算二者的偏序概率,偏序概率为
Pij为第i个样本排在第j个样本前面的概率,si和sj为文档xi和xj的得分,其真实概率为
采用交叉熵作为损失函数衡量偏序概率pij对实概率的拟合程度,损失函数为经简化为则可知所有文档对的总代价函数为其中,I表示所有文档对的集合,且每个文档对仅包含一次。
3.根据权利要求1所述的一种基于Ranknet和Lambdamart算法的搜索排序方法,其特征在于,所述步骤S2中,针对步骤S1中的损失函数Cij,对排序函数中的ωk求导,然后利用梯度下降法来求得最佳参数其中,η为步长,代价C延负梯度方向变化对继续分解,则由于令把和带入得,
集合I中包含label不同的文档的集合,且每个文档只包含一次,即(Ui,Uj)和(Uj,Ui)等价,若只包含(Ui,Uj),则表示Ui相关性大于Uj的文档对,即Sij=1,那么决定着第i个文档在迭代中的移动方向和幅度,此外,由于NDCG或ERR这样的评价指标是非连续的,故而在推导出的梯度上,加入这些评价指标,即:其中,|ΔZij|为将Ui和Uj交换位置后,待优化指标的变化。
4.根据权利要求1所述的一种基于Ranknet和Lambdamart算法的搜索排序方法,其特征在于,所述步骤S3中,Lambdamart算法中的MART即为GBDT,在GBDT的迭代中,若前一轮迭代获取的强学习器是ft-1(x),损失函数为L(y,ft-1(x)),则迭代的目标为获取一个回归树模型的弱学习器ht(x),让本轮的损失函数L(y,ft(x)=L(y,ft-1(x)+ht(x)))最小;每个模型的权重为其中εt为该模型在样本中的错误率,最终的模型为
5.根据权利要求1所述的一种基于Ranknet和Lambdamart算法的搜索排序方法,其特征在于,所述步骤S4中,将梯度应用于GBDT上,作为训练模型的拟合对象,再根据牛顿法计算训练树的叶子节点值,首先把训练模型作为变量,则直接使用梯度对模型求导:再使用牛顿法可得:其中,
6.根据权利要求1所述的一种基于Ranknet和Lambdamart算法的搜索排序方法,其特征在于,所述步骤S5中,更新模型,根据学习率计算每个文档的得分,文档的得分为:Fk(xi)=Fk-1(xi)+η∑lγlkI(xi|∈Rlk)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910654609.3/1.html,转载请声明来源钻瓜专利网。