概念:三种不同的排序模型学习(Learning to Rank)设计思路。主要体现在损失函数不同
用户 的查询query为 Q,候选文档集docs为 c1~CN,正确的结果排序假设为C1-CK 。候选文档集要一般大于最终返回的集合,因此N>K .例如,给出一个提问句子从候选句子(有10个)中选出最佳的5个的答案,返回的列表也要按优劣排序,优的在前面。
PointWise:把排序问题当成一个二分类问题。输入为q和c。输出为0~1表示c和q的匹配程度。1表示匹配。
缺陷:
该方法给出的是c对q的绝对打分。然而实际排序过程只需要有相对打分即可。(即A比B的相关性高即可)
没有充分利用样本间的结构性
query间doc的不平衡,如query1对应500个文档,query2对应10个文档。
Pairwise:学习的是两个候选样本之间的相对顺序。采用triplet loss形式的损失函数。要求正样本得分比负样本打分高于超参数阈值。
缺陷:
doc pair 的数量将是 doc 数量的二次,从而 pointwise 方法存在的 query 间 doc 数量的不平衡性将在 pairwise 类方法中进一步放大
pairwise 方法相对 pointwise 方法对噪声标注更敏感,即一个错误标注会引起多个 doc pair 标注错误。
pairwise 方法仅考虑了 doc pair 的相对位置,损失函数还是没有 model 到预测排序中的位置信息。(即整体顺序?这里有疑惑)
ListWise:优化的是整个候选列表中的排序信息。即给定k个文档。输入是K维度归一化向量。label是每个文档得分。训练目标是最小化二者KL散度。即去拟合label的位置信息分布。往往效果最好
标签:候选,排序,doc,ListWise,PairWise,query,文档,PointWise From: https://www.cnblogs.com/jiyuebo/p/18460458