收稿日期:20180506;修回日期:20180718 基金项目:国家自然科学基金资助项目(61363045);云南省自然科学基金重点资助项目
(2013FA130);科技部中青年科技创新领军人才资助项目(2014HE001)
作者简介:李卫疆(1969),男,副教授,博士,主要研究方向为信息检索、自然语言处理(hrbrichard@126.com);常伟(1993),男,硕士研究生,
主要研究方向为信息检索;余正涛(1970),男,教授,博士,主要研究方向为自然语言处理、信息检索.
加快排序文档的剪枝决策树和分块方法
李卫疆,常 伟,余正涛
(昆明理工大学 信息工程与自动化学院,昆明 650500)
摘 要:检索系统利用排名学习算法从训练集中产生一个排名模型。而减少检索数据需要的时间则是检索系
统的一个重要研究方向。为了减少检索的时间,对排名模型的剪枝策略和缓存进行了研究。利用决策树的冗余
特性和高速缓冲存储器,提出了剪枝决策树模型和分块算法。最后,在两个公开的数据集上进行了实验,主要关
注了是否可以在不影响模型效果的条件下,提高排名模型的效率问题。实验结果表明,剪枝决策树模型和分块
算法可以有效地减少每个查询的排名时间。
关键词:排名学习;缓存;效率;剪枝
中图分类号:TP311 文献标志码:A 文章编号:10013695(2020)01040019305
doi:10.19734/j.issn.10013695.2018.05.0443
Methodofpruningdecisiontreemodelandblockwiseto
speeduprankingcandidatedocuments
LiWeijiang,ChangWei,YuZhengtao
(SchoolofInformationEngineering&Automation,KunmingUniversityofScience&Technology,Kunming650500,China)
Abstract:Theretrievalsystemuseslearningtorank(LtR)algorithmstoproducearankingmodelfrompublicavailabletrain
ingsets.Thetimerequiredreducingtoretrievedataisanimportantresearchdirectionoftheretrievalsystem.Inordertoreduce
theretrievaltime,thispaperstudiedthepruningstrategyofrankingmodelandcache.Usingtheredundancycharacteristicsof
thedecisiontreeandthecache,itproposedapruningdecisiontreemodelandblockwisealgorithm.Finally,thispaperaimedto
answerthequestionthatwhetheritcouldimprovetheefficiencyoftherankingmodelwithoutaffectingtheeffectivenessofmod
el.Experimentsontwopubliclydatasetshowthatthepruningdecisiontreemodelandblockwisealgorithmcaneffectivelyre
ducethescoringtimeperquery.
Keywords:learningtorank;cache;efficiency;pruning
0 引言
在信息检索中,根据相关性准则,对用户查询的相关内容
进行排序是一个基础且重要的问题。排名学习
[1,2]
利用机器
学习方法可以有效解决排名问题。机器学习算法从一个包含
相关性级别的查询文档对的数据集中训练出一个排名模型。
将基于决策树的集合体的排名学习模型用于排序 Web搜索引
擎返回的查询结果是非常有效的
[3,4]
。一个复杂的排名体系
结构通 常 由 检 索 候 选 文 档 和 重 新 排 序 候 选 文 档 两 部 分 组
成
[5]
。第一个阶段是从一个倒排索引中检索出一个足够大的
候选文档集(
CDq),这个候选文档集可能与用户的查询相关,
也有可能不相关。
|RDq|表示在最终页面上显示的相关文档
的个数,并且 |CDq|>>|RDq|。这个阶段的目的是提高召回
率。检索出候选文档集的初步过滤器通常是一种简单而快速
的基本算法,如 BM25算法
[6]
、布尔模型和扩展的布尔模型。这
个排名学习模型被用于第二个阶段,排名学习模型用于重新排
序这个候选文档集。这个阶段的目的是提高准确度。最终,在
排序候选文档集之后,前 |RDq|文档显示在最终页面上。在这
两阶段体系架构中,因为大量的查询和用户对响应时间的要求,
所以用于再次排序候选文档集的时间是非常有限的。
现代搜索引擎对于响应用户查询有非常严格的时间限制。
使用新的策略和技术来减少排名查询结果的时间是一个紧急
的研究话题。因此,一些研究者已经开始去探索减少排名时间
的优化技术。例如
Lucchese等人
[7]
提出一种名叫 QuickScorer
的排名算法,这种算法采用比特向量的方式去展现一个决策树
集合体和新的访问模式。Asadi等人
[8]
通过将控制依赖转换
为数据依赖的方式来遍历 这 个决 策 树集 合 体。Lucchese等
人
[9]
提出一种基于排名特征的框架,用于扩展原始特征集,以
减少排 名 文 档 的 时 间。Lucchese等 人
[10]
又 提 出 了 一 种 V
QuickScorer的算法,这种算法利用现代 CPU的 SIMD指令集去
向量化处理多个文档排名。周栋等人
[11]
提出了个性化跨语言
信息检索中结果重排序研究。
为了减少每个查询的排名时间,本文提出了剪枝决策树模
型和分块算法。该方法整合了剪枝和缓存两种技术。一方面,
当计算一篇文档的得分时,要遍历集合体中所有的决策树,所
以排名文档的时间与决策树的个数成正比,本文使用剪枝技术
在不影响模型的效果情况下减少决策树的个数;另一方面,分
块技术将会充分利用缓存时间局部性原理
[12]
,以便减少排名
查询的时间。本文的实验显示,在效率方面该方法要比最先进
基线排名算法表现得更好,如 StructPlus、VPRED。本文主要贡
献如下:
a)每一篇文档需要遍历集合体中所有的决策树,每一个文
档将有一个用于排名文档的得分。预测一篇文档得分的时间与
树的个数成正比关系。所以在不影响排名模型的效果下,使用
第 37卷第 1期
2020年 1月
计 算 机 应 用 研 究
ApplicationResearchofComputers
Vol37No1
Jan.2020