本发明专利技术提供一种支持含有缺失符号的查询请求的全文检索方法,其步骤包括:将文本内容符号化为符号串,并拼接为一个长符号串;对长符号串分别执行BWT转换、[l,m]-skipping-BWT转换、w-ahead-BWT转换以及SET-skipping,w-ahead-BWT转换;基于四种转换的结果构建小波树,并建立C表和FT数组,构成符号轮转索引;对给定的查询请求进行全文匹配,并输出检索结果,所述查询请求可以含有一段或多段连续缺失符号。本发明专利技术支持不同的符号化方法,支持含有缺失符号的查询请求,能够满足不同类型的检索需求。
【技术实现步骤摘要】
本专利技术属于信息
,涉及一种检索方法,尤其涉及一种基于轮转索引的全文检索方法,能够对含有缺失符号的查询请求给出快速响应。
技术介绍
随着电子信息化的发展,计算机所管理的电子化数据正在以前所未有的速度发展。从数据结构的角度看,可以将这些数据分为结构化数据和非结构化数据两类。结构化数据是指拥有预定义的数据模型的数据,包括航班时刻表、雇员信息表等;非结构化数据是指没有预定义的数据模型的数据,往往以大量文本内容为主体。随着万维网的发展,非结构化数据正在以疯狂的速度增长。传统的关系型数据库管理系统能够很好的管理结构化数据。但对于非结构化数据,由于数据模式的缺失,关系型数据库管理系统很难有效管理其数据内容。非结构化数据 往往以包含大量文本内容为特点。由于结构化信息与文本内容上的检索任务存在很大区别。前者往往拥有确定的值域范围,值域中的取值是查询条件可访问的最小单元(即通常情况下不会讲值域中的某个取值拆分为更小的部分来组成查询条件),取值可以比较大小,而且查询条件常常以比较形式给出,例如时间戳、用户ID、用户个人信息中的性别项等等。后者往往拥有不可预期的长度,各段文本之间基于ASCII编码而进行的大小比较在很多情况下没有太大实际意义,取值之间可能存在包含关系(即一段文本被包含于另一段文本中),查询条件往往以是否包含一段给定的子文本段的方式而提出,该查询条件中甚至可能包含不确定的或缺失的字符,例如用户在Twitter网站上所发表的微博(被转发的微博将被包含于转发微博中)、电子邮件内容(匹配特定的文本段以发现Spamming行为)。传统的结构化数据上的索引技术对非结构化数据并不适用。全文检索技术是能够为非结构化数据上的检索请求提供快速响应的一类有效的检索方法。由于文本内容的不确定性以及查询者所掌握的知识的不完整性,用户常常需要在查询中表达一定程度的不确定性。最常用的表达方式就是以缺失符号的方式表示查询中不确定的词。如果查询者没有掌握足够多的知识,就可能考虑使用缺失符号“”来代替其不了解的内容。例如,“北京是_的首都”。检索系统在处理这样的查询时,应当返回该缺失符号匹配任意词的情况下查询命中的结果。例如,被检索文本中所包含的“北京是中华人民共和国的首都”、“北京是中国的首都”以及“北京是祖国的首都”等句子片段都应当能够匹配上述带有缺失符号的查询请求,因而,都应当被返回为查询结果。倒排索引(InvertedIndex)是一种在信息检索(Information Retrieval)领域被深入研究了的基本的关键字检索技术。得益于其少量的空间占用和对单个关键字的优秀的检索性能,倒排索引已经在在线系统中被广泛使用。在处理多关键字查询请求时,传统方法通过对后缀表(posting list)取交集的方式来获取最终结果。然而,这种方法在处理大匹配集的交集时会面临严重的效率问题试想,将两个频繁地出现的关键字的非常长的后缀表求交集的代价可能是某些规模较小的在线系统所不能忍受的。在C. D. Manning, P. Raghavan 和 H. Schulze 所著《Introduction to InformationRetrieval》一书中,轮转索引(Permuterm Index)被用于解决子文本串的匹配以及处理含有通配符的查询请求。然而由于其索引结构过于庞大,很多实际情况中该方法并不适用。自索引(self-index)机制的提出有效地解决了索引体积庞大的问题。Burrows-WheelerTransformation (BffT)是一种被广泛用于文本压缩中的非常重要的基本技术,除此之外,它也是实现自索引的一种基本方法,其特有的优良性质保证了被索引的原文本的可恢复性。也就是说,索引建立之后,即便丢弃了原始文本数据,也可以从索引结构中将其恢复出来。在 P. Ferragina 和 G. Manzini 所著的论文“Indexing compressed text” (Journalof theACM, 52(4):552 - 581,2005)中,作者利用了 BffT的两个重要性质而专利技术了著名的逆向搜索算法(Backward Search Algorithm)来完成全文检索任务。Paolo Ferragina与 Rossano Venturini 所著的论文 “Compressed permuterm index,,(In SIGIR, pages535-542,2007)利用了 BWT的自索引特性对轮转索引进行了压缩,从而轮转索引的空间开销问题得以很好地解决,而与之相配套的逆向所搜算法可以用于还原文本和处理子文本串的匹配问题。Pirooz Chubak和 Davood Raei 在论文“ Index structures for efficientlysearching natural language text”(In CIKM, pages 689-698,2010)中将压缩了的轮转 索引技术应用于自然语言处理领域,从而使其能够对人类自然语言进行检索,并对一类特殊的包含通配符“%”的查询请求提供了支持。相比于倒排索引,以上算法在处理长句检索请求时,避免了对匹配集合求交的操作,因此具有较好的时间效率。但是,这些传统的轮转索引方法未能充分考虑查询请求中存在缺失符号的情况,如果查询请求中存在缺失符号“”,将无法进行查询。
技术实现思路
本专利技术的目的在于提供一种的高效的全文检索方法,该方法能够支持含有缺失符号的查询请求。给定一系列文本内容,本专利技术为其建立符号轮转索引。对于用户向该文本内容发起的查询请求,本专利技术可以在与其长度呈线性关系的时间复杂度内返回该查询请求在原文本内容中所有的匹配位置。该查询请求可以包含缺失符号,缺失符号是指用户由于不确定其具体内容而给出的可以匹配任何符号的符号。为实现上述目的,本专利技术采用如下技术方案,其步骤包括I)将文本内容符号化为符号串,并将各符号串拼接为一个长符号串;2)对所述长符号串分别执行如下四种转换BffT (Burrows-ffheeIer Transformation)转换;[I, m]-skipping-BWT转换该转换是在BWT转换的基础上,对各轮转副本进行排序时跳过各副本的位置属于[l,m]区间内的符号,并将各副本中最后一个符号组成的数组作为转换结果;w-ahead-BWT转换该转换是在BWT转换的基础上,将各轮转副本中倒数第w+Ι个符号组成的数组作为转换结果;SET-skipping, w-ahead-BWT转换该转换是在BWT转换的基础上,对各轮转副本进行排序时跳过各副本中位置下标落于集合SET内的符号,并将各副本中倒数第w+Ι个符号组成的数组作为转换结果;所述四种转换中,将排序后各轮转副本的首个元素组成的一列符号数组记为F数组; 3)基于所述转换结果构建小波树(Wavelet Tree);4)通过一哈希表记录所述F数组中每种符号在第一次出现之前其它符号出现的次数,记为C表;5)通过一数组记录所述F数组与所述长符号串的下标映射关系,记为FT数组;6)由所述小波树、所述C表和所述FT数组构成符号轮转索引;7)根据所述符号轮转索引对用户提出的查询请求进行全文匹配,并输出检索结果。查询本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种支持含有缺失符号的查询请求的全文检索方法,其步骤包括 1)将文本内容符号化为符号串,并将各符号串拼接为一个长符号串; 2)对所述长符号串分别执行如下四种转换 BffT转换; [1,m]-skipping-BWT转换对各轮转副本进行排序时跳过各副本的位置属于[l,m]区间内的符号,并将各副本中最后一个符号组成的数组作为转换结果; w-ahead-BWT转换将各轮转副本中倒数第w+Ι个符号组成的数组作为转换结果;SET-skipping, w-ahead-BWT转换对各轮转副本进行排序时跳过各副本中位置下标落于集合SET内的符号,并将各副本中倒数第w+Ι个符号组成的数组作为转换结果; 所述四种转换中,将排序后各轮转副本的首个元素组成的一列符号数组记为F数组; 3)基于所述转换结果构建小波树; 4)通过一哈希表记录所述F数组中每种符号在第一次出现之前其它符号出现的次数,记为C表; 5)通过一数组记录所述F数组与所述长符号串的下标映射关系,记为FT数组; 6)由所述小波树、所述C表和所述FT数组构成符号轮转索引; 7)根据所述符号轮转索引对用户提出的查询请求进行全文匹配,并输出检索结果。2.如权利要求I所述的方法,其特征在于,步骤I)所述符号化的方法为对于英文句子,将每个单词或标点作为一个独立的符号;对于中文句子,将每个汉字或标点作为一个独立的符号...
【专利技术属性】
技术研发人员:孟必平,王腾蛟,李红燕,高军,杨冬青,唐世渭,
申请(专利权)人:北京大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。