排序学习是推荐、搜索、广告的核心方法。排序结果的好坏很大程度影响用户体验、广告收入等。排序学习可以理解为机器学习中用户排序的方法,这里首先推荐一本微软亚洲研究院刘铁岩老师关于LTR的著作,Learning to Rank for Information Retrieval,还有李航的Learning to Rank for Information Retrieval and Natural Language Processing 链接https://www.iro.umontreal.ca/~nie/IFT6255/Books/Learning-to-rank.pdf
常用的排序学习分为三种类型:PointWise,PairWise和ListWise。也就是训练数据的格式,单文档,双文档,列表文档。
1.PointWise
方法学习到全局的相关性,并不对先后顺序的优劣做惩罚。
2.PairWise
对于搜索系统来说,系统接收到用户査询后,返回相关文档列表,所以问题的关键是确定文档之间的先后顺序关系。单文档方法完全从单个文档的分类得分角度计算,没有考虑文档之间的顺序关系。文档对方法将排序问题转化为多个pair的排序问题,比较不同文章的先后顺序。没有考虑位置关系。
但是文档对方法也存在如下问题:
-
文档对方法考虑了两个文档对的相对先后顺序,却没有考虑文档出现在搜索列表中的位置,排在搜索结果前面的文档更为重要,如果靠前的文档出现判断错误,代价明显高于排在后面的文档。
-
同时不同的査询,其相关文档数量差异很大,所以转换为文档对之后, 有的查询对能有几百个对应的文档对,而有的查询只有十几个对应的文档对,这对机器学习系统的效果评价造成困难
3.ListWise:
单文档方法将训练集里每一个文档当做一个训练实例,文档对方法将同一个査询的搜索结果里任意两个文档对作为一个训练实例,文档列表方法与上述两种方法都不同,ListWise方法直接考虑整体序列,针对Ranking评价指标进行优化。比如常用的MAP, NDCG
但是呢,一般竞赛呀,语料一般还是 以文档对的形式 组织,比较容易标语料吧。