用于对倒排索引进行压缩的文档序号重排方法及其系统技术方案

技术编号:8323551 阅读:186 留言:0更新日期:2013-02-14 01:22
本发明专利技术公开了用于对倒排索引进行压缩的文档序号重排方法及其系统,该方法包括:步骤1,对已经分配好文档序号的文档进行词语划分得到词项,对所述词项按照其在所述文档中的出现频率进行排列,得到第一顺序的词项;步骤2,利用所述第一顺序的词项对所述文档进行重新排序,获得所述文档的最终排序;步骤3,新的文档序号按照所述文档的最终排序进行重新分配。本发明专利技术在运行过程中通过对词项进行排序,挖掘文档之间的相似度关系,仅占用少量内存空间,大大降低了算法的时间复杂度和空间复杂度。

【技术实现步骤摘要】

本专利技术涉及搜索引擎性能优化,特别是涉及一种用于对倒排索引进行压缩的文档序号重排方法及其系统
技术介绍
倒排文件是搜索引擎中广泛使用的一项索引技术,和其他索引格式如位图,签名文件相比,更适用大规模数据量的情况。搜索引擎处理查询的过程主要可以分为以下4个步骤1)对文档建立倒排文件,2)用户输入查询,3)扫描倒排文件,获取候选文档集,4)计算文档评分并返回得分最高的前K个文档。随着文档数量的增长,倒排文件的占用的存储空间越来越大,导致查询处理的过 程也变得越来越缓慢。在文献[I]中表明,通过对倒排索引进行压缩,不仅可以减少索引占用的存储空间,而且可以提高搜索引擎处理查询的效率。倒排索引的一般形式如下所示…7df〉词项t通过对文档分词得到,被存放在字典中,词项对应的倒排表存放出现该词项的文档个数ft和一个长度为ft的文档序号记录表。如果把倒排表中的文档序号按照升序排列,则可以使用d-gap表示倒排文件,因为序号之间的间距(d-gap)要远小于原始文档序号,更小的数值意味着可以采用更短的编码表示,从而减少倒排索引占用的磁盘空间。d-gap倒排索引的具体形式如下所示t —< !E^d1, (I2-Cl1,…,K1 >其中,Cl1, d2,…,dk是按升序排列的长度为ft的文档序号记录表,Clk^1小于dk。为了对倒排索引进行压缩,一种方法是在给定文档序号的前提下,研究压缩率更高的编码算法;另一种方法就是在文献[2]中提出的对文档序号进行重排的方法。该方法通过优化倒排索引中d-gap的分布达到进一步提高索引压缩率的目的,具体来说就是对已经分配好的文档序号进行重新排列。比如有N篇文档,默认的文档序号分配方式就是根据文档加入倒排索引的顺序,依次分配序号1、2、......、N,而文档序号重排方法则是根据文档的特点,对文档序号进行重新分配,如图5所示。在图5中,原始文档序号为I的重排后映射到K-1,2映射到1,依次类推。文档序号重排是从另一个角度对倒排索引进行压缩,配合高效的索引压缩编码算法,可以达到最优的索引压缩率。文档序号重排已经在文献[3]中被证明是一个NP问题,该问题优化的目标是找到一个所有文档的最优排列,使得在该排列下,倒排索引能够达到最优的压缩率。采用穷举的方法,其算法复杂度为O (η!)。目前已有的方法都是采用近似算法,主要有基于文档聚类的方法、基于URL(统一资源定位符)排序的方法以及目前效果最好的基于TSP (旅行商问题)的方法。基于聚类的方法首先对所有的文档建立文档相似度图,相似度采用文档之间的余弦相似度度量,然后递归将原始文档相似度图切分成一个个子图,直到每个子图仅包含一个文档。最后对切分生成的树进行深度遍历,文档序号按照深度遍历的顺序进行分配。基于URL排序的方法仅适用于包含URL信息的文档,具体做法是对URL按照字典序排序,文档序号即按照其相应的URL顺序进行分配。基于TSP的方法把文档序号重排问题近似为TSP问题,主要思路是首先计算文档之间的相似度(如余弦相似度、共现的词项数等相似度计算方法),构建文档相似度无向图,然后利用贪心算法从无向图中找出最优遍历路径,最后根据文档遍历的顺序,重新分配文档序号。贪心算法的目标是最大化Ι-gap的数目,具体采用的贪心策略是每一步都选择和当前节点(文档)相似度最高的节点作为当前遍历路径中的下一个节点。利用该贪心策略,本方法能产生尽可能多的Ι-gap,从而达到最小化d-gap平均值的目的。基于TSP的方法在大部分情况下的压缩比率都要优于基于URL和基于聚类的方法,但是由于其算法复杂度较高,仅适用于小规模的数据集;基于URL的方法压缩比率稍差,但是算法复杂度较低,可以很方便地扩展到大规模数据集;该方法的一个主要缺陷是文档必须带有URL信息,限制了该方法的使用范围。基于聚类的方法由于复杂度较高,压缩比率也不如基于TSP的方法,所以应用并不广泛。文献[I]Scholer, F. , et al. , Compression of inverted indexes for fastquery evaluation, in Proceedings of the 25th annual international ACM SIGIRconference on Research and development in information retrieval2002, ACM:Tampere,Finland, p. 222—229。文献[2]Blandford,D. and G. Blellochj Index Compression through DocumentReordering, in Proceedings of the Data Compression Conference2002,IEEE ComputerSociety, p. 342。文献[3]Blanco,R. and A. Barreiroj Characterization of a simple case ofthe reassignment of document identifiers as a pattern sequencing problem, inProceedings of the 28th annual international ACM SIGIR conference on Researchand development in information retrieval2005,ACM:Salvador,Brazil, p. 587—588。
技术实现思路
本专利技术的目的是解决上述现有技术中存在的算法复杂度较高的问题以及对数据集限制的问题。为实现上述目的,本专利技术提出了一种基于排序的文档序号重排方法,包括步骤1,对已经分配好文档序号的文档进行词语划分得到词项,对所述词项按照其在所述文档中的出现频率进行升序、降序排列或对所述词项不排列,得到第一顺序的词项;步骤2,所述第一顺序的词项与所述文档按照阵列排列,从第一个词项开始对任意两个文档进行比较,如果满足一个文档存在该词项、另一个文档不存在该词项的条件时,则存在该词项的文档排在另一个不存在该词项的文档之前,如果该两个文档均存在或均不存在该词项,则比较下一个词项直到满足所述条件;排在后面的文档与第三个文档按照前述方法进行比较,直到所有文档排列结束,从而得到所述文档的最终排序; 步骤3,新的文档序号按照所述文档的最终排序进行重新分配。所述步骤I中一个词项在一个文档中出现一次以上的情况记为出现频率I次,在η个文档中均出现一次以上的情况记为出现频率η次。本专利技术还提供一种用于对倒排索引进行压缩的文档序号重排方法,包括步骤1,对已经分配好文档序号的文档进行词语划分得到词项,对所述词项按照其在所述文档中的出现频率进行升序、降序排列或对所述词项不排列,得到第一顺序的词项; 步骤2,所述第一顺序的词项与所述文档按照阵列排列,从第一个词项开始对前两个文档进行比较,如果满足一个文档存在该词项、另一个文档不存在该词项的条件时,则存在该词项的文档排在另一个不存在该词项的文档之后,如果该两个文档均存在或均不存在该词项,则比较下一个词项直到本文档来自技高网
...

【技术保护点】
一种用于对倒排索引进行压缩的文档序号重排方法,其特征在于,包括:步骤1,对已经分配好文档序号的文档进行词语划分得到词项,对所述词项按照其在所述文档中的出现频率进行升序、降序排列或对所述词项不排列,得到第一顺序的词项;步骤2,所述第一顺序的词项与所述文档按照阵列排列,从第一个词项开始对任意两个文档进行比较,如果满足一个文档存在该词项、另一个文档不存在该词项的条件时,则存在该词项的文档排在另一个不存在该词项的文档之前,如果该两个文档均存在或均不存在该词项,则比较下一个词项直到满足所述条件;排在后面的文档与第三个文档按照前述方法进行比较,直到所有文档排列结束,从而得到所述文档的最终排序;步骤3,新的文档序号按照所述文档的最终排序进行重新分配。

【技术特征摘要】
1.一种用于对倒排索引进行压缩的文档序号重排方法,其特征在于,包括步骤1,对已经分配好文档序号的文档进行词语划分得到词项,对所述词项按照其在所述文档中的出现频率进行升序、降序排列或对所述词项不排列,得到第一顺序的词项;步骤2,所述第一顺序的词项与所述文档按照阵列排列,从第一个词项开始对任意两个文档进行比较,如果满足一个文档存在该词项、另一个文档不存在该词项的条件时,则存在该词项的文档排在另一个不存在该词项的文档之前,如果该两个文档均存在或均不存在该词项,则比较下一个词项直到满足所述条件;排在后面的文档与第三个文档按照前述方法进行比较,直到所有文档排列结束,从而得到所述文档的最终排序;步骤3,新的文档序号按照所述文档的最终排序进行重新分配。2.如权利要求I所述的文档序号重排方法,其特征在于,所述步骤I中一个词项在一个文档中出现一次以上的情况记为出现频率I次,在η个文档中均出现一次以上的情况记为出现频率η次。3.一种用于对倒排索引进行压缩的文档序号重排方法,其特征在于,包括步骤1,对已经分配好文档序号的文档进行词语划分得到词项,对所述词项按照其在所述文档中的出现频率进行升序、降序排列或对所述词项不排列,得到第一顺序的词项;步骤2,所述第一顺序的词项与所述文档按照阵列排列,从第一个词项开始对前两个文档进行比较,如果满足一个文档存在该词项、另一个文档不存在该词项的条件时,则存在该词项的文档排在另一个不存在该词项的文档之后,如果该两个文档均存在或均不存在该词项,则比较下一个词项直到满足所述条件;排在前面的文档与第三个文档按照前述方法进行比较,直到所有文档排列结束,从而得到所述文档的最终排序;步骤3,新的文档序号按照所述文档的最终排序进行重新分配。4.如权利要求3所述的文档序号重排方法,其特征在于,所述步骤I中一个词项在一个文档中出现一次以上的情况记为出现频率I次,在η个文档中均出现一次以上的情况记为出现频率η次。5.一种用于对倒排索引进行压...

【专利技术属性】
技术研发人员:史亮王斌卫冰洁张帅张冠元
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1