论文部分内容阅读
信息检索是指信息按一定的方式组织起来,并根据信息用户的需要找出有关的信息的过程和技术。信息检索的核心问题之一是排序问题,即决定哪些信息是相关的、符合用户的习信息需求。不失一般性,本文主要关注文档排序的研究。排序问题的目的在于根据文档和查询之间的相关性,将相关的文档排在靠前的位置。随着互联网信息的急剧增长,排序问题逐渐成为信息检索领域的研究热点之一。在过去的研究中,学者们提出了布尔模型、向量模型、概率模型和语言模型等信息检索模型。这些传统模型将文档表示为关键词的集合,并且定义一个排序函数来计算文档和查询之间的相关性。通常这些模型属于非监督学习,因此排序函数的参数必须靠经验由人工设定,可以利用的信息少而且不灵活。近年来随着机器学习的发展,学者们提出了排序学习方法。排序学习的目的在于利用机器学习的方法从已标注的数据集中学习得到排序模型或排序函数。排序学习方法分为基于单文档的排序学习算法、基于文档对的排序学习算法和基于文档列的排序学习算法三种。排序学习的核心问题之一是选择合适的损失函数来寻找近乎最优的排序函数。尽管信息检索排序测评使用的评估函数是最理想的损失函数,但是通常这些函数不能直接用来优化,因为他们不满足传统机器学习中要求的平滑特性。通常在过去的工作中,我们使用评估函数的替代损失函数来解决这一问题。然而大多数情况下替代函数和评估函数本身之间并不等价。直观的,我们认为直接优化算法将会具有很大优势并且带来性能上的提升。综上,在本文中我们提出了一种新的方法RankCSA来直接优化评估函数。RankCSA利用克隆选择算法将信息检索中的各种特征结合起来,学习得到一个最有效的学习函数。在该算法中,RankCSA将同一查询对应的一系列文档作为抗原,将候选排序函数当作抗体,这一设定使得RankCSA具有基于文档列的排序学习算法的天然优势。同时,本文还提出基于信息检索排序问题的形态空间用于建立抗原与抗体的关系模型。此外,由于克隆选择算法的进化过程是离散的,因此可以将评估函数直接当作亲和力函数来优化。进化过程从抗体库中选择出最优的抗体作为最终的排序函数。为了验证RankCSA的有效性,我们在LETOR标准数据集上进行了实验,并以具有代表性的算法RankSVM、ListNet、AdaRank和RankBoost作为基准。实验结果表明RankCSA在P@1-10、MAP和NDCG@1-10指标上优于基准并且还有进一步优化的潜力。同时根据对比和分析我们证明了直接优化评估函数的优势。本文的主要贡献分为如下几部分:(1)本文提出了基于克隆选择算法的排序学习算法。结合信息检索排序问题本身的特点,我们定义了抗原和抗体的在克隆选择过程中的表示形式以及计算亲和力的形态空间模型。在该定义下RankCSA继承了基于文档列的排序学习算法的优点(2)本文直接使用IR评估函数MAP作为进化过程中的亲和力函数。使用评估函数本身而不是替代函数使得RankCSA在学习过程中具有很大的优势,并且结果也由于其他方法。(3)通过在LETOR标准数据集上进行实验,并与其他具有代表性的方法进行比较,我们验证了RankCSA算法的有效性和性能。权威的标准数据集和基准方法使得实验效果具有说服力。另外在学习过程中本文使用了各种有用的文档特征,进一步验证了RankCSA构造排序函数的能力。