论文部分内容阅读
“信息检索”(Information Retrieval),又称为“情报检索”,它是指将信息按一定方式组织和存贮起来,并针对用户要求找出所需信息的过程。其核心问题是如何根据候选文档(或候选网页)和用户给定查询的相关性产生一个检索模型。早期的信息检索模型虽然构造方法简单,但精度较低,难以获得用户满意的检索结果。对此,近些年国外有学者提出把一种新的学习方法—排序学习(learning to rank)应用到检索模型的构造上,以期获得更精确的检索结果。所谓的排序学习是指,使用机器学习技术和有标签的数据自动产生一个检索(排序)模型。由于在文档检索,协同滤波等领域的广泛应用,最近几年排序学习的研究受到国内外学者越来越多地关注,并成为逐渐当前机器学习领域的一个研究热点。本论文旨在研究基于排序学习的信息检索模型。通过从Pointwise法,Pairwise法,Listwise法等多个角度设计更为高效的排序算法,以期构造更为精确的排序模型。具体而言,论文的工作主要包括以下几个方面:(1)针对传统Ranking SVM算法得到的排序模型在用NDCG等信息检索标准来评价效果不好。提出一种对原算法的改进算法。新算法首先设计了一个查询级的框架,在此基础上定义了一个面向NDCG的目标函数,针对该目标的非光滑,提出使用割平面算法进行求解。基准数据集上的实验证明了所提算法的有效性。(2)针对已有“直接优化评估标准”算法或基于"Pairwise"法或基于"Listwise"法。而对于使用"Pointwise"法解决上述问题缺乏关注,提出两个基于"Pointwise"法的排序算法。两算法均以NDCG为优化目标,但定义了不同的目标函数并使用了不同的优化技术。具体而言,第一个算法使用基于margin-rescaling的算法框架,在此基础上设计了面向NDCG的凸目标函数,并提出使用割平面算法进行求解。针对已有割平面算法对割平面的选择,往往使“主问题”值的变化存在一定的波动,降低算法的效率。文中给出一个高效线性搜索算法,以此决定新的割平面选择,保证了“主问题”值变化地单调递减。第二个算法采用基于slack-rescaling的算法框架,并定义了面向NDCG的一个非凸目标函数,该函数比已有的凸目标函数更加紧凑。针对函数的非凸非光滑,提出首先使用凹-凸过程进行逼近,然后再使用割平面算法进行求解。基准数据集上的实验证明了所提算法的有效性。(3)提出一种结合Listwise法和Pairwise法的新型排序算法。算法将排序学习分为两个阶段,第一阶段为“主学习”阶段,该阶段采用Listwise法,在本阶段算法首先选择1-slack SVM为学习工具,然后定义了学习目标,该目标更关注排名靠前的相关文档。针对目标函数的约束条件太多,难以直接计算,提出使用割平面算法进行求解。对于算法内部的“寻找最违背排列”的子过程,提出将其看成一个降序排列的过程,并使用快速排序法求解。算法的第二个阶段为第一阶段基础上的“再次精化”。为此,算法采用Pairwise法的框架,并将原RankingSVM的凸铰链函数,变为非凸Sigmoid函数,确保了第二阶段解为原解基础上的局部最优。基准数据集上的实验结果表明:相比起已有的Pairwise算法和直接优化评估标准的Listwise算法,本文提出的两阶段排序算法所获得的模型更为精确,在不同等级数据集上的表现也更加稳定。(4)针对已有Ranking SVM算法对异常点比较敏感,提出利用非凸Ramp Loss来抑制异常点的影响。具体来说,文中对原有的Ranking SVM算法提出了两种改进的算法。一种是直接将原有的凸Hinge Loss变成非凸Ramp Loss,针对该目标函数的非凸非光滑,提出使用凹-凸过程进行凸逼近,然后使用在线学习进行学习;另一种是将“选择样本技术”引入到对训练数据的预处理中来,即利用Ramp Loss函数作为过滤器,删除那些可能的异常点数据,并用剩余的数据进行学习。不同数据集上的实验结果表明:相比起已有的Ranking SVM算法,所提算法能够有效的抑制异常点的影响,获得更精确的排序模型,同时,由于算法具有更少的支持向量,在运行时间上也具有明显的优势。作为信息检索和机器学习的一个交叉课题,本文的研究具有重要的意义。一方面研究的成果可直接应用于文档检索,协同滤波,专家发现,情感分析,过滤垃圾邮件等领域。另一方面,文中用到的一些机器学习方面的理论和优化方法,对于其它相关研究,比如:自然语言解析(natural language parsing)、生物信息中序列对比(sequence alignment)、标签序列学习(label sequence learning)等也提供了技术上的支持。