一种基于树形结构的排序方法

文档序号:9727390阅读:1415来源:国知局
一种基于树形结构的排序方法
【技术领域】
[0001 ]本发明涉及数据处理领域,具体涉及一种基于树形结构的排序方法。
【背景技术】
[0002]随着互联网的飞速发展,信息的指数增长,数据形式的多样性,人们很难在海亮的信息中快速地找到符合自己需求的部分。全文数据库的出现,大大改善了这一现状。全文数据库,也称为文本数据库,它是管理海量文本的系统。全文数据库要完成的工作仍然是传统数据库的两大功能:存储和检索,具体而言就是文本数据的存储和任意字符串的检索。作为检索条件的字符串可以是常量型字符串,也可以是正则表达式(或其他方式,比如距离限制等等)表示的一组具有共同特征的字符串集合。
[0003]目前比较常见和流行的全文检索模型有以下几种模型:署名文件(SignatureFiles)、位图(Bit Map)、倒排表(Inverted List)、Σ2矩阵Pat树和Pat数组等等。这些模型在专家们的努力下,已经相当成熟并在实践中得到广泛应用。
[0004]从书目索引延伸出来的方法就是现在应用最广泛的倒排表模型。它具有创建索引速度较快的特点,在网络搜索引擎中广泛应用。但其所需的存储空间较大,查询速度较慢。署名文件虽然实现简单,但是要找到一个合适的散列函数和一个宽度适合的矢量非常困难,而且因对象而异。如果没有选择好,则查询结果就会出现相当的不确定性。位图文件索引结构思路简单,使用方便,时间效率高,在布尔检索上尤其高效,但是其空间效率很低,即使使用了位图压缩算法,仍然难以接受。Pat树模型的最大优点是检索效率很高,尤其对模型特殊的检索,如前缀检索、范围检索等检索效率更高。然而同位图模型一样,空间效率极低,而且创建过程中空间开销更大,创建效率也很低。Pat数组是对Pat树的修改,它将Pat树的叶节点串行化就得到了 Pat数组。Pat数组虽然很大程度上压缩了创建过程中的开销,但是,因为采用数组的存储方式,其创建和合并需要移动大量的数据,动态性很难令人满意。

【发明内容】

[0005]至少部分的解决现有技术中存在的问题,本发明提出一种基于树形结构的排序方法,用于中文搜索引擎中对中文网页数据的处理,包括:
[0006]步骤SlOO,网页数据预处理;
[0007]步骤S200,建立网页数据索引文件;
[0008]步骤S300,接收用户输入的查询字符串,根据网页数据索引进行检索;
[0009]步骤S400,对检索到的结果进行排序,将排序结果展示给用户。
[0010]所述的基于树形结构的排序方法,其中,步骤S200中的所述网页数据索引文件是对处理后的网页数据所建立的网页数据索引组成的文件。
[0011]所述的基于树形结构的排序方法,其中,所述网页数据索引为字索引和/或词索引。
[0012]所述的基于树形结构的排序方法,其中,步骤SlOO进一步包括:
[0013]首先对抓取的原始网页进行分类,然后再按照分类分别提取网页中的文本信息,得到分类后的文本信息;生成网页索引文件的过程包括为原始网页的每个分类分别建立网页索引文件。
[0014]所述的基于树形结构的排序方法,其中,所述网页数据索引是基于二元内相关后续树创建的索引。
[0015]所述的基于树形结构的排序方法,其中,在步骤S200中,建立网页数据索引文件进一步包括:
[0016]首先,判断每个分类的文本信息的容量,当所述分类的容量小于IGB时,为所述分类的文本信息建立字索引,当所述分类的容量大于等于IGB时,为所述分类的文本信息建立词索引。
[0017]所述的基于树形结构的排序方法,进一步包括:
[0018]将查询字符串分别分解为字和词,对于网页数据索引是字索引的情况,按字根据所述字索引来进行检索;对于网页数据索引是词索引的情况,按分词根据所述词索引来进行检索。
[0019]所述的基于树形结构的排序方法,其中,在为所述网页数据建立词索引之前,还包括对文本信息进行分词的步骤,具备包括:利用分词词典对文本进行分词操作形成标引词隹A
口 O
[0020]所述的基于树形结构的排序方法,所述分词操作具体包括:
[0021]采用基于PATRICIA树结构的词典,具体采用增量最大匹配法切分,即对于一个字串,从长度为2的子串开始,对A1A1H,在词典中查找是否是词,如果不是则将仏单独成词,然后子串后移一个字,继续查找Ai+1Ai+2;如果是词,则需要将子串长度加一,判断Ai+1Ai+2Ai+3是否是词,如果不是,则将A1+1A1+2切分出来,如果是则继续加一,直到查找不到词为止。
[0022]所述的基于树形结构的排序方法,进一步包括:
[0023]分词完成后,对切分出的词条去除停用词,然后统计词条集合中相邻词的频率,生成一个双词频率表。
[0024]本发明采用二元内相关后续树模型为网页数据创建索引,同时考虑了字索引和词索引的优缺点,在减少索引空间的同时提尚了检索效率。
【附图说明】
[0025]图1为本发明基于树形结构的排序方法的流程图;
【具体实施方式】
[0026]下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述。这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0027]首先,对本发明中用到一些术语介绍如下:
[0028](I)源文档库:源文档库是指由网络爬虫从互联网上抓取的原始网页文件集合,用来建立索引为用户检索使用,该集合不是静态的,根据抓取的策略或者定期批量更新,或者增量更新,主要以保证系统的时新性为主,即将新出现的网页尽量及时的抓取过来建立索弓丨,满足用户的检索需求;
[0029](2)预处理:预处理是指对抓取的网页文件进行处理的过程,包括:建立索引网页库、网页信息提取,建立索引网页库就是要实现给定一个网页的URL,在索引网页库中能够找到该URL所对应的网页;网页信息提取就是从网页中提取建立索引所需要的文本信息,包括标题、正文等;
[0030](3)文本:源文档库经过预处理步骤的网页信息提取所形成的文本信息的集合,是建立索引的直接对象;
[0031](4)分词词典:分词词典是分词操作的基础,是汉语词汇的集合,用来在分词时辨别并切分出文本中的单词;
[0032](5)分词操作:分词操作就是将文本切分成词汇组合的过程,预处理后的文本和用户输入的查询字符串都是它的操作对象,它能依据分词词典在文本字符串中正确匹配到词汇,剔除掉停用词,输出标引词或检索词的集合;
[0033](6)建立内相关后续树索引:该操作就是对文本分词后形成的标引词集合建立内相关后续树的过程;
[0034](7)词索引文件:词索引文件就是上一步操作中生成的索引文件,在词索引文件中每个标引词都有一棵以它为根的后续树,树的结点中包含了标引词所在文本的编号以及它的后续信息;
[0035](8)查询字符串:用户的查询需求通常是以字符串的形式来表示的,最简单的查询字符串往往是单个的词,对于较长的查询字符串,如短语或句子,要进行分词处理,所采用的分词算法应和对文本使用的分词算法一致,以保证检索结果的准确性;
[0036](9)检索操作:对于检索词的集合根据内相关后续树模型的查找算法,在词索引文件中进行查找,将匹配到的文本号输出到结果集;
[0037](10)结果集:结果集是一般是指通过检索操作所得到的查询字符串所在的文本号,得到的文本可能是一系列的文档,这就需要按照一定的信息检索模型对文档集合处理,得出相关程度最大的文档集合,呈现给用户。
[0038]内相关后续树的相关定义:
[0039](I)后续:对文本T中的字符串am2来说,a2称为ai的后续,文本T最后一个字符的后续称为结束符,用“#,,来表示。后续的定义是内相关后续树模型的基础,文本中总会有相同的字符出现,具体来说就是有相同的字或词,如果某一个索引项a出现了 k次,那么a就会有k个后续(a不是文本的结尾),记作a[s],s = l,2,…,k。
[0040](2)—元后续
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1