第1章 绪论
1.1 信息检索技术及其发展
随着互联网数据规模的持续增长,如何为用户提供符合其需求的有效信息成为互联网应用亟待解决的重大难题,为实现有效的信息过滤和推荐,搜索引擎逐渐走入人们的视野,并成为人们获取网络信息的重要渠道。智能信息检索技术作为搜索引擎优化的核心技术,受到国内外学术界和工业界的广泛关注和研究,并成为相关互联网大数据研究的基础,广泛应用于智能问答、聊天机器人和个性化推荐等场景,从而让互联网使用者更加快捷便利地获取所需信息。
传统意义上的信息检索技术起源于 20世纪初图书馆文献和书籍的检索,当时图书馆对于书籍文献的索引工作烦琐和庞杂,需要大量人力工作进行图书的整理和归类,为提高工作效率,以倒排索引为核心的信息检索方法被逐渐采用,通过将关键词作为倒排索引对书籍文献进行归类,按照类别进行存放和查找,便于管理者和阅览者根据需求和关键词在较短时间内找到所需的书籍文献,很大程度上提高了图书馆文献检索和文摘等工作的效率。20世纪 50年代,信息检索技术被应用于美国海军的情报检索工作,美国海军机械试验中心将自动化的信息检索系统嵌入到 IBM701型计算机,实现了情报信息的采集和搜索,相关技术逐渐演化为当今智能信息检索技术的雏形,也为互联网搜索引擎的兴起提供了必要的理论和实践基础。
20世纪 60年代,美国科学家杰拉德?索尔顿( Gerard Salton)及其在康奈尔大学的研究团队研制了第一个现代意义上的搜索引擎,将其命名为 SMART(Salton’s Magic Automatic Retriever of Text),该系统是基于向量空间模型的文本信息检索系统,并融入停用词去除、词干化、查询词加权和相关反馈机制,这些技术作为搜索引擎的基础沿用至今。索尔顿因其在信息检索领域的杰出贡献,被誉为现代搜索技术之父,他的著作 A Theory of Indexing和 Term Frequency-Inverse Document Frequency为搜索引擎技术提供了坚实的理论基础。至此,信息检索已成为广泛使用的一门学科,该学科旨在能够从海量的数据中精准定位并获取所需信息。1968年,索尔顿对信息检索做出定义:信息检索是研究信息的结构、分析、组织、存储和搜索的一门科学。该定义十分准确地界定了信息检索技术的范畴,并作为现代信息检索研究的核心内容和实质,被广为采纳和应用。为纪念索尔顿,信息检索领域以索尔顿的名字命名并设立了信息检索的最高奖 —索尔顿奖,该奖项每三年在国际信息检索顶级会议 SIGIR颁发一次,颁发给在信息检索领域做出杰出贡献的科学家。
随着 90年代互联网的兴起和广泛普及,以信息检索技术为核心的搜索引擎进入大众视野,逐渐成为人们浏览网页获取信息的重要渠道,信息检索技术也取得了空前的发展,信息检索研究获得计算机科学研究人员的广泛青睐,随着相关研究的持续开展,信息检索技术不断更迭、优化和完善,极大地提升了搜索引擎的性能,让人们在互联网海量数据中快速准确地定位到所需信息,在满足信息需求的同时,了解并熟悉互联网技术的发展以及为人们生活带来的智能化服务体验。
1.2 面向搜索引擎的智能信息检索技术
以现代搜索引擎为代表的智能信息检索技术( Intelligent Information Retrieval)通过采集、过滤和处理大规模的互联网网页数据,基于网页关键词建立网页数据的倒排索引,并根据互联网数据的变化规律实时动态地爬取互联网数据,用以更新数据索引,保证索引中存储*新的互联网数据,从而实现互联网数据的更新和存储。在此基础上,基于以关键词为核心的倒排索引机制,建立相关网页匹配和排序模型,网页匹配和排序模型以用户提交给搜索引擎的关键字作为查询,在数据索引中匹配与用户关键词相符合的网页,并将网页按照匹配程度进行排序,为用户提供网页排序的列表,供用户筛选所需的信息。由此可见,如何最大程度上满足用户的信息需求是信息检索技术所要解决的最终问题,为准确地满足用户信息需求,搜索引擎需要具有高效的索引机制,既能保证数据规模足以覆盖整个互联网,又要确保数据具有实时性,现代搜索引擎的网页索引机制已日趋成熟,而搜索引擎的优化主要集中在对于用户意图的理解和网页的相关性排序两个方面,这两个方面也是目前智能信息检索领域研究的主要内容。
用户意图的理解是搜索引擎优化的核心,互联网应用往往以用户为中心,无论是搜索引擎还是其他个性化应用场景,如何最大程度上满足用户的真实需求是互联网应用设计中所需考虑的重点。对于搜索引擎来讲,用户意图往往是通过用户提交给检索页面的少量关键词加以刻画,由于用户在搜索时仅能模糊的描述其真实的需求,所给出的关键词很可能具有模糊性和歧义性,从而为后续的网页排序提供误导信息,影响搜索引擎的效果。而用户意图理解研究正是以此为出发点,通过对用户关键词的深入剖析和理解,诠释出用户真实的搜索意图,并在真实意图的驱动下,完成网页的匹配和排序,提高用户的满意度。
网页的相关性排序是搜索引擎优化的最终目标,在准确理解用户意图的基础上,面向用户意图检索得到相关网页,并根据网页与用户意图的相关性程度对网页进行排序,将排序列表反馈给用户。相关性排序需要从不同维度综合评估网页与用户意图的相关性程度,例如,用户的历史搜索记录、搜索引擎的搜索日志、关键词的匹配程度和同义词的匹配等。有效的网页排序列表需要面向用户需求,提供既能符合用户所需,又能全面概括检索结果的排序列表,因此排序列表的相关性和多样化程度均是网页排序所需考虑的重要因素,也是相关领域研究所关注的重要研究课题。因此下面将详细介绍查询意图理解和相关性排序所使用的常用技术和检索优化策略。
1.3 查询意图理解和相关性排序
查询意图理解通常是基于用户给出的关键词作为原始查询,通过查询重构的方式突显用户真实信息需求和查询意图,消除原始查询的模糊性和不确定性。查询重构可以采用诸如增加或删减查询词以及为查询词赋予差异化权重等方式,基于原始查询重构新的查询,重构的目的是最大程度上满足用户信息需求,突出查询意图,提升检索结果中网页排序的整体性能,需要指出的是,重构过程对用户是透明的,即搜索引擎的使用者无须了解查询重构过程,即可直接获得网页的排序列表。
在查询重构过程中,查询扩展是使用较为广泛的一类方法,往往适用于用户原始查询仅包含若干较少关键词的情况,查询扩展顾名思义就是在原始查询的基础上增加扩展查询词,扩展查询词能够补全原始查询,更好地表达用户真实查询意图,从而消除原始查询的模糊性。用于扩展的查询词可以取自诸如社会化标注或百科知识库等的外部数据源,也可以采用相关反馈等方式,从检索数据集合或用户主动反馈中直接获取,伪相关反馈是一种有效的查询扩展方法。伪相关反馈是指利用基于用户原始查询检索得到的结果,从中筛选符合用户需求的扩展查询词,补充到原始查询进行二次检索,获得更加准确的排序列表;而用户主动反馈是指在基于用户原始查询检索得到结果的基础上,用户给出一些主观描述信息,判断扩展查询词是否真实符合其需求,进而优化查询重构的过程。
另一类广为采用的查询重构策略是查询缩减,其适用于用户原始查询过长的情况,当用户向搜索引擎提交了包含较多关键字的查询时,搜索引擎很难直接检索得到相关结果,查询中的无关词项会严重影响检索的性能,因此就需要在用户查询的基础上剔除一些无关词项,来突显用户的真实信息需求。而无论是增加查询词还是删减查询词都极易造成查询语义的较大变化,从而导致查询意图漂移等问题,一种折中的方法是采用查询词项加权的方式,即给予符合用户需求的查询词较高的权重,给予不符合用户需求的查询词较低的权重,这样在保障用户查询意图理解的基础上,兼顾查询意图的全面性,有利于深入理解查询意图,使重构后的查询更加准确地表明用户的信息需求。
相关性排序过程通常是在深入理解用户意图的基础上,在检索的数据集合中查找相关网页,进而给出网页的排序列表。相关性排序的实质就是评估查询与网页的相关度,因此相关性排序打分可以看作一个函数,函数的输入为针对用户意图重构后的查询和待检索网页集合,输出为相关性排序得分,该函数也称为检索模型,经典的检索模型包括基于词频逆文档频率的向量空间模型、基于概率论的 BM25检索模型和基于不同平滑策略的查询似然语言模型等。例如,向量空间模型首先计算待检索集合中所有词出现的频率和逆文档频率,进而为每个词计算权重,基于该权重将重构查询和网页表示为向量,向量的每一维度表示对应词的权重值,进而通过余弦相似度等方式计算查询向量与网页向量的相似度,按照相似度由高至低对网页排序,将排序列表反馈给用户。
由于相关性排序需要全面地考虑多种信息,为有效提高排序性能,近年来信息检索系统采用了监督式机器学习方法构建排序模型,所构建的排序模型称为排序学习模型。传统的相关性排序模型通常采用打分函数的方式计算用户查询与网页的相似度,进而基于相似度实现网页的排序,在打分函数的设计上常以词频文档频率等经典的文本统计量为基础,相比之下,排序学习采用不同的监督式机器学习方法结合面向排序的损失函数,训练排序模型,在模型的训练中可以深入融合更加全面丰富的排序信息,因此在相关任务中获得更好的排序性能。面向排序的损失函数是排序学习优化的关键,也是提升相关检索模型的基础,经典的排序损失函数分为三类,分别是点级方法、对级方法和列表级方法,三类方法分别在排序样本的构造中面向单个网页、两个网页对和整个排序列表进行排序性能的优化,更有效地优化相关性排序结果,获得更优质的网页排序性能。如何在监督式排序模型的优化中充分考虑网页序列的信息,并针对整个序列开展模型优化,是智能信息检索亟待解决的关键科学问题,也是实现个性化互联网应用的终极目标。
1.4 排序学习
排序学习一直以来都是智能信息检索领域研究的重要内容,同时排序也是很多信息检索和自然语言处理相关任务的目标,因此排序学习被广泛用于智能问答、关系抽取、个性化推荐系统、用户属性抽取等任务,显著提升了各项任务的性能。
排序学习研究备受学术界和工业界的青睐,国际信息检索顶级会议 SIGIR一直以来将排序学习视为重点攻克的研究领域,世界各国学者均致力于构建更为有效的排序模型,推动智能信息检索技术的进步;同时排序学习技术也被应用于实际的场景,例如,微软的 Bing搜索引擎采用了排序学习模型 RankNet[1],用于优化网页排序结果,提高检索效率。本节分别从排序学习算法模型优化的角度,介绍相关领域的研究工作进展情况。
排序学习是智能信息检索与监督式机器学习的交叉研究领域,它利用机器学习算法训练排序模型,设计面向排序的损失函数迭代优化检索模型,以获得最终的网页排序模型,用于网页相关性排序。排序损失函数是排序学习模型优化的关键,也是相关研究所关注的焦点。如前文所述,排序学习的损失函数可以分为三类,即点级损失函数( Pointwise)、对级损失函数( Pairwise)和列表级损失函数 (Listwise),三类损失函数采用三种不同的排序损失计算方式,也对应三种不同的网页排序样本,下面简要介绍基于三类损失函数的排序学习模型的相关研究工作。
1.4.1 点级排序学习模型
点级排序学习模型旨在预测单个网页与用户意图的相关性,将每个网页的相关性作为模型预测值,输入用户意图和每个网页,在点级排序损失计算时,考虑单个网页与用户查询相关性的真实值与预测值,将二者的差异作为排序损失,从而将网页排序问题转化机器学习问题,基于分类或者回归算法训练得到排序模型,利用排序模型实现文档或网页的打分和基于分值的排序。
在点级排序学习模型研究方面,Crammer等[2]提出了 Pranking算法,该算法基于机器学习感知机分类算法构建排序学习模型,提出采用子区间划分策略,进行多重感知机模型的组合,有效提高了在线排序学习问题的性能;Li等
展开