一种基于树形结构的检索方法_3

文档序号:9646610阅读:来源:国知局
= 1(因为一开始每棵树中都只有根结点一个结点)。读入ab,将a的位置加一,gpPos (a) = 2(因为a树增加了一个分支,加一后是得到了下一分支的分支号),然后将b及b的位置信息Pos (b)写入a的后续树的第Pos (a) _1个分支上(Pos (a) _1分支就是a树的待写入值的当前分支),即把(b,1)写入树a的第1个分支;接下来,读入下一个字符c,则b的位置Pos(b)+l = 2,将c及c的位置信息Pos(c)写入b的后续树的第Pos(b)_l个分支上,即把(c,1)写入树b的第一个分支;这样循环执行下去,直到读入文本的末尾时,将(#,0)与入c的后续树中的最后一个分支,该文本的一■兀内相关后续树索引建立完毕。
[0069]对于为文本信息建立词索引,在建立词索引之前还包括对文本信息进行分词的步骤,具备包括:利用分词词典对文本进行分词操作形成标引词集合。
[0070]本发明中的分词词典采用基于PATRICIA树结构的词典,具体采用增量最大匹配法切分,即对于一个字串,从长度为2的子串开始,对^+1,在词典中查找是否是词,如果不是则将4单独成词,然后子串后移一个字,继续查找A 1+1A1+2;如果是词,则需要将子串长度加一,判断A1+1A1+2A1+3是否是词,如果不是,则将A 1+1A1+2切分出来,如果是则继续加一,直到查找不到词为止。
[0071]由于长词出现的频率比较低,因此这种方法在匹配次数上较正向减字最大匹配法要少得多,时间性能较好。在增量匹配的过程中,由于词典的结构是PATRICIA树结构,具有前缀查询的功能,所以在增一匹配时,可以对新增字的二进制码从上一个匹配成功的词的最后一个比较位处接着比较,无需再从树根重新查找,这样一来通过一次遍历的过程就可以查找到最长词,查找的效率有了明显的改进。
[0072]分词完成后,对切分出的词条去除停用词,然后统计词条集合中相邻词的频率,生成一个双词频率表,为索引的创建做准备。
[0073]有了文本信息的索引,就可以基于索引进行了文本的检索,文本的检索方法是和相应的索引模型紧密关联的。
[0074]本发明还进一步包括步骤S300,接收用户输入的查询字符串,根据网页数据索引进行检索。对于不同的索引模型,具体的检索过程会不同。
[0075]在本发明的一个实施例中,将查询字符串分别分解为字和词,对于网页数据索引是字索引的情况,按字根据所述字索引来进行检索;对于网页数据索引是词索引的情况,按分词根据所述词索引来进行检索。
[0076]对于索引为二元内相关后续树模型的情况,具体的检索过程为:
[0077]第一阶段,针对网页数据索引是字索引的情况进行检索;
[0078]首先顺序读入查询字符串分解后的每一个字,取第一个字A,针对字索引,在二元内相关后续树中找到以A为根的树,然后在树A的叶子中逐个分支地匹配查询字符串的下一个字B,匹配到B的话则将B的后续编号加入队列,直到A的全部分支都匹配结束;转到以B为根的树,从队列中取出B树的分支号,查找相应的叶子结点来匹配字符串中的下一个字C,如此循环直到有一次匹配过程中没有匹配到或者查询字符串全部匹配结束,如果匹配成功,则意味着找到了包含查询字符串的原文;
[0079]第二阶段,针对网页数据索引是词索引的情况进行检索;
[0080]首先顺序读入查询字符串分解后的每一个词,取第一个词A,针对词索引,在二元内相关后续树中找到以A为根的树,然后在树A的叶子中逐个分支地匹配查询字符串的下一个词B,匹配到B的话则将B的后续编号加入队列,直到A的全部分支都匹配结束;转到以B为根的树,从队列中取出B树的分支号,查找相应的叶子结点来匹配字符串中的下一个词C,如此循环直到有一次匹配过程中没有匹配到或者查询字符串全部匹配结束,如果匹配成功,则意味着找到了包含查询字符串的原文。
[0081]本发明还进一步包括步骤S400,对检索到的结果进行排序,将排序结果展示给用户。
[0082]本发明不对排序方法进行限定,可以使用各种现有的排序技术对排序结果进行排序。
[0083]本发明一实施例中,为了提高检索效率,进一步的,针对网页数据索引是词索引的情况,将词索引文件中的索引词作为文本信息,基于所述内相关后续树模型对所述索引词再建立索引,从而进一步提尚检索的效率。
[0084]本发明采用二元内相关后续树模型为网页数据创建索引,同时考虑了字索引和词索引的优缺点,在减少索引空间的同时提尚了检索效率。
[0085]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。
[0086]应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
【主权项】
1.一种基于树形结构的检索方法,用于中文搜索引擎中对中文网页数据的处理,包括: 步骤S100,网页数据预处理; 步骤S200,建立网页数据索引文件; 步骤S300,接收用户输入的查询字符串,根据网页数据索引进行检索。2.如权利要求1所述的基于树形结构的检索方法,其中,步骤S200中的所述网页数据索引文件是对处理后的网页数据所建立的网页数据索引组成的文件。3.如权利要求2所述的基于树形结构的检索方法,其中,所述网页数据索引为字索引。4.如权利要求2所述的基于树形结构的检索方法,其中,所述网页数据索引为词索引。5.如权利要求2所述的基于树形结构的检索方法,其中,所述网页数据索引为字索引和词索引。6.如权利要求2所述的基于树形结构的检索方法,其中,所述网页数据索引是基于二元内相关后续树创建的索引。7.如权利要求6所述的基于树形结构的检索方法,其中,步骤S100进一步包括: 首先对抓取的原始网页进行分类,然后再按照分类分别提取网页中的文本信息,得到分类后的文本信息;生成网页索引文件的过程包括为原始网页的每个分类分别建立网页索引文件。8.如权利要求7所述的基于树形结构的检索方法,其中,在步骤S200中,建立网页数据索引文件进一步包括: 首先,判断每个分类的文本信息的容量,当所述分类的容量小于1GB时,为所述分类的文本信息建立字索引,当所述分类的容量大于等于1GB时,为所述分类的文本信息建立词索引。9.如权利要求8所述的基于树形结构的检索方法,进一步包括:将查询字符串分别分解为字和词,对于网页数据索引是字索引的情况,按字根据所述字索引来进行检索;对于网页数据索引是词索引的情况,按分词根据所述词索引来进行检索。10.如权利要求9所述的基于树形结构的检索方法,具体的检索过程为: 第一阶段,针对网页数据索引是字索引的情况进行检索; 首先顺序读入查询字符串分解后的每一个字,取第一个字A,针对字索引,在二元内相关后续树中找到以A为根的树,然后在树A的叶子中逐个分支地匹配查询字符串的下一个字B,匹配到B的话则将B的后续编号加入队列,直到A的全部分支都匹配结束;转到以B为根的树,从队列中取出B树的分支号,查找相应的叶子结点来匹配字符串中的下一个字C,如此循环直到有一次匹配过程中没有匹配到或者查询字符串全部匹配结束,如果匹配成功,则意味着找到了包含查询字符串的原文; 第二阶段,针对网页数据索引是词索引的情况进行检索; 首先顺序读入查询字符串分解后的每一个词,取第一个词A,针对词索引,在二元内相关后续树中找到以A为根的树,然后在树A的叶子中逐个分支地匹配查询字符串的下一个词B,匹配到B的话则将B的后续编号加入队列,直到A的全部分支都匹配结束;转到以B为根的树,从队列中取出B树的分支号,查找相应的叶子结点来匹配字符串中的下一个词C,如此循环直到有一次匹配过程中没有匹配到或者查询字符串全部匹配结束,如果匹配成功,则意味着找到了包含查询字符串的原文。
【专利摘要】本发明提出了一种基于树形结构的检索方法,用于中文搜索引擎中对中文网页数据的处理,包括:步骤S100,网页数据预处理;步骤S200,建立网页数据索引文件;步骤S300,接收用户输入的查询字符串,根据网页数据索引进行检索。本发明采用二元内相关后续树模型为网页数据创建索引,同时考虑了字索引和词索引的优缺点,在减少索引空间的同时提高了检索效率。
【IPC分类】G06F17/30
【公开号】CN105404677
【申请号】CN201510818902
【发明人】陈虹宇, 罗阳, 苗宁
【申请人】四川神琥科技有限公司
【公开日】2016年3月16日
【申请日】2015年11月20日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1