机器学习:排序

https://zhuanlan.zhihu.com/p/26539920

从使用的数据类型,以及相关的机器学习技术的观点来看,互联网搜索经历了三代的发展历程。

       第一代技术,将互联网网页看作文本,主要采用传统信息检索的方法。

       第二代技术,利用互联网的超文本结构,有效地计算网页的相关度与重要度,代表的算法有 PageRank 等。

       第三代技术,有效利用日志数据与统计学习方法,使网页相关度与重要度计算的精度有了进一步的提升,代表的方法包括排序学习、网页重要度学习、匹配学习、话题模型学习、查询语句转化学习。

       这里主要介绍机器学习排序。

1. 机器学习排序(Learning to Rank)

利用机器学习技术对搜索结果进行排序,机器学习+信息检索技术。

受限制的原因:

一方面是因为:在前面几节所述的基本检索模型可以看出,用来对査询和文档的相关性进行排序,所考虑的因素并不多,主要是利用词频、逆文档频率和文档长度这几个因子来人工拟合排序公式。因为考虑因素不多,由人工进行公式拟合是完全可行的,此时机器学习并不能派上很大用场,因为机器学习更适合采用很多特征来进行公式拟合,此时若指望人工将几十种考虑因素拟合出排序公式是不太现实的,而机器学习做这种类型的工作则非常合适。随着搜索引擎的发展,对于某个网页进行排序需要考虑的因素越来越多,比如网页的pageRank值、查询和文档匹配的单词个数、网页URL链接地址长度等都对网页排名产生影响,Google目前的网页排序公式考虑200多种因子,此时机器学习的作用即可发挥出来,这是原因之一。
       另外一个原因是:对于有监督机器学习来说,首先需要大量的训练数据,在此基础上才可能自动学习排序模型,单靠人工标注大量的训练数据不太现实。对于搜索引擎来说, 尽管无法靠人工来标注大量训练数据,但是用户点击记录是可以当做机器学习方法训练数据的一个替代品,比如用户发出一个查询,搜索引擎返回搜索结果,用户会点击其中某些网页,可以假设用户点击的网页是和用户查询更加相关的页面。尽管这种假设很多时候并 不成立,但是实际经验表明使用这种点击数据来训练机器学习系统确实是可行的。

    传统的检索模型靠人工拟合排序公式,并通过不断的实验确定最佳的参数组合,以此来形成相关性打分函数。机器学习排序与此思路不同,最合理的排序公式由机器自动学习获得,而人则需要给机器学习提供训练数据。

       机器学习排序系统由4个步骤组成:人工标注训练数据、文档特征抽取、学习分类函数、在实际搜索系统中采用机器学习模型.

Learning to rank

排序学习是推荐、搜索、广告的核心方法。排序结果的好坏很大程度影响用户体验、广告收入等。
排序学习可以理解为机器学习中用户排序的方法,这里首先推荐一本微软亚洲研究院刘铁岩老师关于LTR的著作,Learning to Rank for Information Retrieval,书中对排序学习的各种方法做了很好的阐述和总结。

排序学习是一个有监督的机器学习过程,对每一个给定的查询-文档对,抽取特征,通过日志挖掘或者人工标注的方法获得真实数据标注。然后通过排序模型,使得输入能够和实际的数据相似。
常用的排序学习分为三种类型:PointWise,PairWise和ListWise。

PointWise

单文档方法的处理对象是单独的一篇文档,将文档转换为特征向量后,机器学习系统根据从训练数据中学习到的分类或者回归函数对文档打分,打分结果即是搜索结果

PointWise方法很好理解,即使用传统的机器学习方法对给定查询下的文档的相关度进行学习,比如CTR就可以采用PointWise的方法学习,但是有时候排序的先后顺序是很重要的,而PointWise方法学习到全局的相关性,并不对先后顺序的优劣做惩罚。

PairWise

对于搜索系统来说,系统接收到用户査询后,返回相关文档列表,所以问题的关键是确定文档之间的先后顺序关系。单文档方法完全从单个文档的分类得分角度计算,没有考虑文档之间的顺序关系。文档对方法将排序问题转化为多个pair的排序问题,比较不同文章的先后顺序。

但是文档对方法也存在如下问题:

  1. 文档对方法考虑了两个文档对的相对先后顺序,却没有考虑文档出现在搜索列表中的位置,排在搜索结果前面的文档更为重要,如果靠前的文档出现判断错误,代价明显高于排在后面的文档。

  2. 同时不同的査询,其相关文档数量差异很大,所以转换为文档对之后, 有的查询对能有几百个对应的文档对,而有的查询只有十几个对应的文档对,这对机器学习系统的效果评价造成困难

常用PairWise实现:

  1. SVM Rank
  2. RankNet(2007)
  3. RankBoost(2003)

你可能感兴趣的:(机器学习:排序)