搜索排序-learning to Rank简介

Learning to Rank

  • pointwise

\[L\left(f ; x_{j}, y_{j}\right)=\left(y_{j}-f\left(x_{j}\right)\right)^{2} \]

只考虑给定查询下单个文档的绝对相关度,不考虑其他文档和给定查询的相关度.

输入空间中样本是单个 doc(和对应 query)构成的特征向量;

输出空间中样本是单个 doc(和对应 query)的相关度;

假设空间中样本是打分函数;

损失函数评估单个 doc 的预测得分和真实得分之间差异。

  • PairWise

\[L\left(h ; x_{u}, x_{v}, y_{u, v}\right)=\left(y_{u, v}-P\left(x_{u} \succ x_{v}\right)\right)^{2}+\left(y_{v, u}-P\left(x_{u} \prec x_{v}\right)\right)^{2} \]

考虑给定查询下两个文档直接的相对相关度。比如给定查询query的一个真实文档序列,我们只需要考虑任意两个相关度不同的文档直接的相对相关度。

输入应该是两个item的特征,最重的输出应该是两个item的大小关系

输入空间中样本是(同一 query 对应的)两个 doc(和对应 query)构成的两个特征向量;
输出空间中样本是 pairwise preference;
假设空间中样本是二变量函数;
损失函数评估 doc pair 的预测 preference 和真实 preference 之间差异

  • ListWise

\[L(F(x),y) = exp(-NDCG) \\NDCG = DCG/IDCG \\ DCG = g_i+\sum_{i=2}\frac{g_i}{log_2^{i}} \]

\(g_i\) 表示对应项的增益(得分)。NDCG(Normalized Discounted Cumulative Gain); IDCG (Ideal DCG)

举个栗子:

搜索结果 3、1、2、3、2 ; DCG = 3+(1+1.26+1.5+0.86 )=7.62

IDCG下的分值排列顺序是3、3、2、2、1 ; IDCG=3 + (3+1.26+1+0.43)=8.69

直接考虑给定查询下的文档集合的整体序列,直接优化模型输出的文档序列

输入空间中样本是(同一 query 对应的)所有 doc(与对应的 query)构成的多个特征向量(列表);
输出空间中样本是这些 doc(和对应 query)的相关度排序列表或者排列;
假设空间中样本是多变量函数,对于 docs 得到其排列,实践中,通常是一个打分函数,根据打分函数对所有docs 的打分进行排序得到 docs 相关度的排列;

reference:

https://blog.csdn.net/lipengcn/article/details/80373744

https://blog.csdn.net/u014313009/article/details/38944687

posted @ 2019-12-27 11:30  鱼与鱼  阅读(418)  评论(0编辑  收藏  举报