rank

Pointwise

Pointwise处理的是单一文档,将文档在当前的query下分成5个等级,即{perfect,Excellent,good,fair,bad}。于是排序问题转化成分类或者回归问题了,可以用最大熵,SVM等解决

pairwise

pairwise处理的是文档对,比较两个文档的顺序关系。这时转化成二分类问题

pairwise存在明显问题

  • 只考虑了两篇文档的相对顺序,没有考虑他们出现在搜索结果列表中的位置。排在前面的文档更为重要,如果出现在前面的文档判断错误,惩罚函数要明显高于排在后面判断错误。因此需要引入位置因素,每个文档对根据其在结果列表中的位置具有不同的权重,越排在前面权重越大,如果排错顺序其受到的惩罚也越大。

  • 对于不同的查询相关文档集的数量差异很大,转换为文档对后,有的查询可能只有十几个文档对,而有的查询可能会有数百个对应的文档对,这对学习系统的效果评价带来了偏置。

Listwise

Listwise处理的是文档列表,是对整个搜索结果作为一个样例。Listwise根据训练样例训练得到最优评分函数F,对应新的查询,评分F对每个文档打分,然后根据得分由高到低排序,即为最终的排序结果。 Listwise效果明显好于前两种。Listwise常用方法有AdaRank,SoftRank,LambdaMART等。

评价模型与指标

http://www.cnblogs.com/ywl925/archive/2013/08/16/3262209.html

Last updated