排序学习
排序学习简单说就是在排序任务中使用机器学习的方法,在信息检索、自然语言处理与数据挖掘等许多领域中有重要的应用。
用文档检索来举例,如下图:
排序学习的核心就是要学习到一个排序模型f(q,d) , q 表示查询,d 表示文档,然后利用排序模型,在给定查询q的时候给出相关文档的排序。
传统排序,例如BM25: 基于条件概率分布, f(q,d)=p(r|q,d) f ( q , d ) = p ( r | q , d ) ,其中r只可以取0或者1,表示相关或者不相关。无法有效利用与排序相关的其他丰富的特征,例如文字链接、pagerank分值等。同时由于网页检索领域大量用户点击数据的积累使得机器学习的应用变为可能,由此现代的排序系统基本都使用了排序学习(LTR)。
排序学习属于监督学习,自然有训练与测试两个阶段,如下图:
查询与文档的相关信息可以有多种表示形式,其中应用最广泛的形式是使用label表示,将相关性表示为几个级别。
对于一条训练数据 (qi,Di),Yi ( q i , D i ) , Y i 来说, Di D i 表示与 qi q i 相关文档集合 di,1,di,2,...di,n d i , 1 , d i , 2 , . . . d i , n , Yi Y i 为相关文档的label集合