# 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>
