论文部分内容阅读
近年来,互联网已成为全球最大、最广泛使用的信息库,如何有效检索其中的海量信息成为当前重要的研究课题,因此信息检索技术越来越受到人们的重视。用户将表示自己需求的查询提交给信息检索系统后,系统将对检索到的信息根据与查询相关度的大小进行排序。近年来,基于机器学习理论的有监督排序学习方法的信息检索模型成为了信息检索领域中的研究热点。这种模型使用排序学习方法在训练数据上学习到一个排序特性,并依此特性作为排序模型,实现对目标的排序预测。
但是,我们发现使用排序学习方法来解决信息检索中的排序问题时,仍然存在一些需要解决的问题。大多数排序学习方法要求其数据应满足独立同分布假设,但在信息检索中,这个假设并不能被很好地满足。在信息检索中,针对某一个查询,信息检索系统会先从文档库中检索出与这个查询字面上有关联的文档集合,然后再对其进行排序。所以,信息检索排序问题中需要排序的样本是由查询与其包含的检索文档共同组成的查询文档对,这种样本的生成是依赖于查询的,它的特征和其所属的查询之间是相关的,这种相关性导致了不同的查询所包含样本的分布之间存在差异。但传统的排序学习方法不能很好地应对这种查询间的差异性问题,从而导致了其在信息检索应用中的局限性。
针对此问题,本文提出一类新的排序学习模型——与查询相关的排序学习模型。在此模型中,我们认为查询之间具有排序差异性,不同查询具有不同的排序特性。为了对这种差异进行量化,我们提出“查询排序差异度”的概念来描述不同查询所对应的排序特性之间的差异程度。在此基础上,我们提出与查询相关的排序学习目标:在模型学习时,针对训练集中查询所对应的不同排序特性,生成具有不同排序特性的多个排序器模型,并提出集成排序学习方法,实现使用多个排序器对一个目标查询进行预测;在排序预测时,针对待预测的查询,以集成排序模型为基础,生成近似于其排序特性的排序模型进行预测。为了达到这个目标,我们分别从两个方面开展研究,即排序模型学习和排序预测。
针对传统排序学习方法对查询排序差异表达能力不足的问题,本文提出与查询相关的排序模型学习方法,即针对训练集中包含的不同的排序特性,构造与之对应的多排序器模型,并提出相应的集成排序学习方法。信息检索的训练集会包含多个查询,而这些查询所对应的排序特性是有差别的。因此,我们对这些查询在排序特性上的差异进行分析,提出了两种排序差异度的计算方法,分别是基于分布的查询排序差异度,以及基于决策函数的查询排序差异度。然后,基于这两种差异度,我们提出了相应的多排序器训练方法,和基于多排序器的“与查询相关集成排序学习方法”。通过理论和实验表明,基于集成学习的排序方法可以有效提高模型的泛化性能,同时也为与查询相关的排序预测提供了基础。
随后,我们进一步提出了与查询相关的排序预测方法,即针对待预测的查询,生成近似于其排序特性的排序模型进行预测。要想达到这个目的,就必须对待预测查询的排序特性进行考量,但由于待预测的查询不包含标注数据,所以很难对它的排序特性进行直接估计,因此我们提出样本特征空间上的“排序差异尺度学习方法”,使用机器学习的方法对查询间排序特性的差异进行差异度尺度学习。基于排序差异尺度,我们首先使用K近邻的方法在线学习适合于待预测查询的排序模型,但这种方法由于时间复杂度比较高,所以不适合一些信息检索应用的要求。由此,我们又提出了基于动态集成的排序学习方法,它是以前文提出的与查询相关的集成排序学习方法为基础,通过计算待预测查询与排序器之间的排序差异尺度,来实现集成权重的动态生成,从而实现了与查询相关排序学习问题的最终目标。
我们分别使用模拟数据集以及两个真实的信息检索数据集对提出的方法进行实验验证。结果表明,在信息检索中,与查询相关的排序学习方法可以有效地应对这种具有查询排序差异的排序问题,与传统的排序学习方法相比,其排序性能得到了明显的提高。