信息检索(IR)—排序学习技术
信息检索(IR)—排序学习技术
1 引入
回顾搜索引擎的发展历史,其发展的过程如下图所示:
在之前的文章中,我们介绍了基于链接分析的搜索引擎,下面我们来介绍基于排序学习的搜索引擎中的排序学习技术。
1.1 基本概念和基本过程
排序学习是指应用有监督学习的机制训练排序模型来用于信息的表示。 其基本的过程如下图所示:
1.2 排序学习的基本分类
- Pointwise单文档方法:用类别号表示排序的相关度。
- Pairwise排序学习:将排序问题表示成两两文档之间的偏序关系。
- Listwise文档列表方法:将一个查询对应的所有搜索结果列表作为一个训练实例。
2 排序算法简述
2.1 Pointwise
Pointwise处理对象是单一的文档,将文档转换成特征向量之后,主要是将排序问题转换成机器学习常规的分类或者回归问题。如下图所示:
根据上图所示,我们可以将Pointwise抽象成一个多分类排序问题(McRank),排序函数通过多分类分类模型学习得到,对于一个文档,分类器输出文档的相关性标签,排序值等于分类器的输出结果的合并。
2.2 Pointwise实例
2.3 Pointwise的局限性
Pointwise完全从单文档的分类角度计算,没有考虑文档之间的相对顺序。假设相关度是查询无关的,只要(query,di)的相关度相同,那么他们就被划分到一个级别中,属于同一类。这样就导致训练样本的不一致,并且对于预测为同一label级别的文档之间也无法相对排序。
2.4 Pairwise排序学习
Pairwise主要将排序问题转为了文档对顺序的判断,如下图所示:
2.5 Ranking SVM
这里我们举一个使用Pairwise的具体算法,Ranking SVM算法。Ranking SVM是一种使用SVM分类器学习两两样本间偏序关系的模型。
2.6 Pairwise思想的局限性
首先,Pairwise只考虑了两个文档的先后顺序,没有考虑文档出现在搜索列表中的位置。其次,排在前面的文档更为重要,如果出现在前面的文档判断错误,惩罚函数要明显高于排在后面的判断错误。Pairwise也会导致闭环的出现,例如:1>2,2>3,3>1。
与此同时,不同的查询,其相关文档数量的差异很大,转换成文档对之后,有的查询可能有几百对文档,有的可能有几十个。这对学习系统的效果评价带来的偏置。我们举一个例子来说明这种局限性:
2.7 Listwise排序学习
对于这种策略而言,其训练实例为查询和文档排序的列表,而不是文档对。对于这种策略而言,其重点在于如何定义Listwise的损失函数。
对于排序列表的集合而言,其等价于排列的概率分布,使用概率分布对于排序列表来说,是更加直观并且合理的一种表示:文档的排列和文档检索结果的排序列表一一对应。举个例子来说:
进一步,我们应该如何定义排序的概率呢?这里我们使用Plackett-Luce模型定义一个排列的概率:
最后,我们可以定义不同的排序列表之间的距离:这里我们使用KL散度来定义不同排序列表之间的距离:
3 总结
本文主要讲述的在排序学习中的三种思想,没有讲述具体的算法,有兴趣的读者可以去了解不同策略下的具体算法。
4 参考
- 哈工大——信息检索