• 搜索排序-learning to Rank简介


    Learning to Rank

    • pointwise

    [Lleft(f ; x_{j}, y_{j} ight)=left(y_{j}-fleft(x_{j} ight) ight)^{2} ]

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

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

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

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

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

    • PairWise

    [Lleft(h ; x_{u}, x_{v}, y_{u, v} ight)=left(y_{u, v}-Pleft(x_{u} succ x_{v} ight) ight)^{2}+left(y_{v, u}-Pleft(x_{u} prec x_{v} ight) ight)^{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

  • 相关阅读:
    Spark开发环境搭建(IDEA、Scala、SVN、SBT)
    Spark源码系列:RDD repartition、coalesce 对比
    Scala:类和对象
    申请MS的FastCounter
    code generation part1some OOrelated topic! not completed
    [book]ADO.NET实用指南
    如果FC能把blog的WEB VIEW与AGG VIEW统计起来就方便多了
    Dell 1704
    O'Reilly .NET Framework Essentials, 2nd Edition
    单用户blog系统(一)
  • 原文地址:https://www.cnblogs.com/gongyanzh/p/12106419.html
Copyright © 2020-2023  润新知