《SoftRank: Optimising Non-Smooth Rank Metrics》论文阅读

背景

SoftRank是一种listwise的建模方法,listwise建模的难点在于损失函数的选取。在排序中常用NDCG作为评价指标,最直接的想法是NDCG作为损失函数,这样优化目标和评价指标是一致的,没有gap,但是NDCG是不可以微的(需要排序的IR评价指标都是不可微),没法用梯度下降法来优化。SoftRank采用了一种软化的方法,让NDCG变成可微的损失函数,论文中称为SoftNDCG

 

技术方案

 

score的表示

在以往的研究中,都是把一个doc的score当作一个确定的值的,在SoftRank中用一个概率分布来表示score(如上图1所示):

论文中假定了文档j的score sj服从均值为sj的高斯分布(所有doc的score分布的方差都是一个值)

 

从score到rank分布

当一个doc的score用一个概率分布来表示后,这个doc的rank也是一个概率分布(上图2所示),下面介绍具体的计算过程

首先doc i 排在 doc j 前的概率可以表示为:

doc j 的 rank的期望可表示为:

接下来我们来计算doc j排在各个位置上的概率:

1. 假设doc j刚开始排在第0位

2. 可以采用动态规划的思想得到doc j排在任意一个位置的概率(时间复杂度位O(n2)):

 

SoftNDCG

先看一下NDCG的计算公式:

 以doc下标作为索引,NDCG可以写为:

这样,可以用期望来表示确定的D(rj),得到SoftNDCG的计算公式:

可以看出SoftNDCG是可微的,可以用梯度下降法来优化

终结来说,如下图所示,SoftNDCG就是用概率分布来表示原来确定的折损D(r)

 

参考资料

https://zhuanlan.zhihu.com/p/144278154

posted @ 2023-05-14 12:33  xd_xumaomao  阅读(171)  评论(0编辑  收藏  举报