基于倒排表进行检索提示的方法技术

技术编号:2845085 阅读:229 留言:0更新日期:2012-04-11 18:40
本发明专利技术是一种基于倒排表进行检索提示的方法,它包括如下步骤:建立主搜索引擎使用的主倒排表和次搜索引擎使用的次倒排表;将用户输入的检索串切分成词,用主搜索引擎检索出包含这些词的文档,并将这些文档进行相关度排序,得到检索结果。再将检索串切分成字,用次搜索引擎检索出包含检索串中每一个字的词,再对所有检索出的词汇进行优先度排序,得到排序后的检出词序列;向用户提供检索提示时,按照从次搜索引擎中检索出的检出词序列的顺序显示每个检出词,并在每个检出词后面显示出包含这个检出词的文档数目。本发明专利技术基于待检索文档的内容来进行检索提示,它较基于查询词统计的检索提示有如下优点:可以把少见的、信息量大的词给提示出来;所提示的词冗余数量少,跨越范围大,能够给用户更加广度的提示;能提示出鲜为人知的检索词,并能列出每个检索提示词会在多少篇文档中出现,从而扩展用户的知识面,帮助用户进行更准确的检索。

【技术实现步骤摘要】

本专利技术涉及计算机信息检索技术,特别是指一种基于倒排表的检索提示方法。
技术介绍
搜索引擎的用户经常需要寻找自己本不熟悉的内容(新颖的内容),即他并不明确自己的需要,或者不知如何表达这种需要。除了某些流行的词语以外(如明星的名字,新闻事件的名字等),用户所输入的查询词并不总是最适当的查询词。另一种情况是用户并没有明确的目标,只是想大概了解一下某个范围内自己感兴趣的未知内容,这样,他就更加不知道如何通过查询词表达这种需求了。最后一种情况是用户根本就不知道相关内容的存在,他不可能想起去找寻它们,而这些内容却是他所想要得到的;或者用户认为有相关内容,但索引库中确实没有相关内容,例如某些信息没有被自动获取或者某些信息被当作有害信息被禁止访问或丢弃了。上述情况的存在,使得用户表达需求困难,不能让搜索引擎方便的找到用户所需要的内容,我们称之为用户需求与内容的不一致性。这种不一致性的解决需要系统根据内容提示出相关的词,让用户选择或点击来进行搜索而不是要求用户输入正确的查询词。研究表明,用户通常从一个短查询开始,查看查询结果后,修改查询,再进行检索,如此反复,直到找到目标,若在查询结果中给予更多的提示将加速这一过程。目前的搜索引擎主要都是基于对用户输入的查询词进行统计而生成检索提示的,即通过对所有用户输入的查询词进行统计,得到所有查询词的热门程度,然后选择与当前用户输入的查询词类似的且最热门的一批检索词作为检索提示。这种检索提示方法提示给用户的总是最热门的那批检索词,虽有其合理性,但并不一定就是用户真正想要的。
技术实现思路
有鉴于此,本专利技术的目的是提供一种,它可基于待检索文档的内容来进行检索提示。为此,本专利技术采用以下方法一种,它包括如下步骤●建立主搜索引擎使用的主倒排表把全部待检索文档切分成词,对切分后的词进行索引,建立以词为索引、包含此词的文档编号列表为值的倒排表,称之为主倒排表。使用主倒排表对文档进行索引和检索的部分即为主搜索引擎,主搜索引擎用于根据查询串中的词检索包含该词的文档;●建立次搜索引擎使用的次倒排表把上一步骤中切分后的词再切分成字,对切分后的字进行索引,建立以字为索引、包含此字的词为值的倒排表,称之为次倒排表,使用次倒排表对词进行索引和检索的部分即为次搜索引擎,次搜索引擎用于根据查询串中的字检索包含该字的词;●用主搜索引擎检索文档将用户输入的检索串切分成词,用主搜索引擎检索出包含这些词的文档,再对所有检索出的文档进行相关度排序,得到排序后的检出文档序列;●用次搜索引擎检索词将用户输入的检索串切分成字,用次搜索引擎检索出包含检索串中每一个字的词,再对所有检索出的词进行优先度排序,得到排序后的检出词序列;●检索提示向用户提供检索提示时,按照从次搜索引擎中检索出的检出词序列的顺序显示每个检出词,并在每个检出词后面显示出包含这个词的文档数目。此外在所述建立次搜索引擎使用的次倒排表步骤前,可先对主搜索引擎使用的主倒排表中的词进行筛选,以去除不需要的词。筛选时,可以以词长和包含此词的文档个数作为筛选条件。在所述用主搜索引擎检索文档步骤中,对检索出的文档采用TF*IDF算法或PageRank算法进行相关度排序。在所述用次搜索引擎对检索串中的字进行检索的步骤中,采用以下优先度算法进行排序首先分别计算检索串中的各字与次倒排表中的该词的相似度,即TF*IDF检索串中的某字与该词的相似度=检索串中的某字在该词中出现的次数×log(次倒排表中包含某字的词的个数的倒数),然后计算该词的优先度,即该词的优先度=该词在主搜索引擎的所有文档中出现的频率的平方根×检索串中的各字与该词的相似度之和。本专利技术方法实际上就是基于待检索文档的内容来进行检索提示,它较基于查询词统计的检索提示有如下优点(1)从信息论的角度,一个词在各场合出现的频度越高,它所包含的信息量就越少。基于内容的检索提示可以把少见的、信息量大的词给提示出来,而基于查询统计的提示则只能提示出些众所周知的包含信息量少的词。(2)基于内容所提示的词一定会有内容对应。基于查询词的提示则不然,用户可能输入检索不到结果或有误导性的查询词。(3)基于内容检索提示,由于文档内容中用语的相对一致性,所提示的词冗余数量少,跨越范围大,能够给用户更加广度的提示。基于查询词的提示则不然,由于事先不知道目标文档所采用的词,不同用户对流行的主题会采用不同的查询词,不同的组合,不同的顺序,这种现象导致基于查询词的提示被大量意义重复的流行词所填充。(4)基于内容的提示能提示出鲜为人知的检索词,从而扩展用户的知识面。基于查询词的提示则不然,只有被用户使用过且满足统计要求的查询词才会被提示出来,即便所索引的内容中有相关主题,但只要用户不知道,就不会去查询或只有很少的用户查询,系统也不会提示用户去查询,它们也就永远不为人知或仅为少数人知道。(5)基于内容的提示能准确提示相关文档的数目,且效率相对较高。由于基于内容的检索提示,直接提示的就是倒排表中的词,可以很容易获取对应文档的数目。而基于查询词的提示,若要获取对应的文档数则需要进行对应的查询或通过额外的缓存来记录检索结果数目,完成相同的功能所需开销巨大。并且按照查询词解析后的查询结果反映的是包含检索词各种排列组合的可能文档,所获取结果并不准确(严重偏大)。附图说明图1为本专利技术的体系结构图;图2为本专利技术的流程图;图3为本专利技术的主倒排表示意图;图4为本专利技术的次倒排表示意图;图5为Google Suggest基于查询统计给出的提示;图6为百度的相关搜索基于查询统计给出的提示;图7为依据本专利技术构造的新搜索引擎基于内容所给出的检索提示。具体实施例方式倒排表是搜索引擎中的一种常用的数据结构,倒排表以词为索引,以包含这些词的文档集合为项,可以快速找到包含某个词或某些词的文档集合。倒排表不仅存放了每个词所对应的文档编号列表,还存储了该词对应的文档的数目(称之为文档频率df)、该词在某文档中的出现的次数(称之为词频tf),甚至该词在某文档中的出现的位置等信息。因此倒排表中的词和它所对应的文档数目实质上构造了一个以大规模语料为基础的词频词典,可以作为检索提示的一个依据。当用户不知道该使用什么样的检索词来搜索他感兴趣的内容时,他可以输入与他想检索的内容有关的字词,系统能够搜索倒排表中已有的词,提示出与用户输入相关的词,并能列出每个词会在多少篇文档中出现。用户根据检索提示,可以做进一步的精确搜索。北京航空航天大学软件工程研究所研发出一种中文分词软件BUAASEISEG,该分词软件倾向于长词切分,具有很强的新词识别能力,对术语、人名、地名、组织名、机构名等命名实体有很强的识别能力。BUAASEISEG采用迭代式二元切分方法,结合候选词在文章中出现的局部概率以及候选词在词频词典中出现的全局概率,以及候选词向后续词的转移次数,能够在线进行上下文相关的新词识别和歧义消解,只要具备一定的上下文,它就具有识别各种类型的新词的能力(不局限于人名、地名、组织名)和消解各类歧义的能力。对于一些在文章中出现频率较高的命名实体,BUAASEISEG会将其切分成一个整词,比如“北京航空航天大学”,BUAASEISEG也把它切分成一个整词,而一般的中文分词算法则会把它切分成“北京”,“航空”,“航本文档来自技高网...

【技术保护点】
一种基于倒排表进行检索提示的方法,其特征在于它包括如下步骤:●建立主搜索引擎使用的主倒排表把全部待检索文档切分成词,对切分后的词进行索引,建立以词为索引、包含此词的文档编号列表为值的倒排表,称之为主倒排表。使用主倒排表对文档 进行索引和检索的部分即为主搜索引擎,主搜索引擎用于根据查询串中的词检索包含该词的文档;●建立次搜索引擎使用的次倒排表把上一步骤中切分后的词再切分成字,对切分后的字进行索引,建立以字为索引、包含此字的词为值的倒排表,称之为次倒 排表,使用次倒排表对词进行索引和检索的部分即为次搜索引擎,次搜索引擎用于根据查询串中的字检索包含该字的词;●用主搜索引擎检索文档将用户输入的检索串切分成词,用主搜索引擎检索出包含这些词的文档,再对所有检索出的文档进行相关度排 序,得到排序后的检出文档序列;●用次搜索引擎检索词将用户输入的检索串切分成字,用次搜索引擎检索出包含检索串中每一个字的词,再对所有检索出的词进行优先度排序,得到排序后的检出词序列;●检索提示向用户提供检索提示 时,按照从次搜索引擎中检索出的检出词序列的顺序显示每个检出词,并在每个检出词后面显示出包含这个词的文档数目。...

【技术特征摘要】
1.一种基于倒排表进行检索提示的方法,其特征在于它包括如下步骤●建立主搜索引擎使用的主倒排表把全部待检索文档切分成词,对切分后的词进行索引,建立以词为索引、包含此词的文档编号列表为值的倒排表,称之为主倒排表。使用主倒排表对文档进行索引和检索的部分即为主搜索引擎,主搜索引擎用于根据查询串中的词检索包含该词的文档;●建立次搜索引擎使用的次倒排表把上一步骤中切分后的词再切分成字,对切分后的字进行索引,建立以字为索引、包含此字的词为值的倒排表,称之为次倒排表,使用次倒排表对词进行索引和检索的部分即为次搜索引擎,次搜索引擎用于根据查询串中的字检索包含该字的词;●用主搜索引擎检索文档将用户输入的检索串切分成词,用主搜索引擎检索出包含这些词的文档,再对所有检索出的文档进行相关度排序,得到排序后的检出文档序列;●用次搜索引擎检索词将用户输入的检索串切分成字,用次搜索引擎检索出包含检索串中每一个字的词,再对所有检索出的词进行优先度排序,得到排序后的检出词序列;●检索提示向用户提供检索提示时,按照从次搜索引擎中检索出的检出词序列的顺序显示每个检出词,并在每个检出词后面显示出包含这个词的文档数目。2.如权利要求1所述的基于倒排表...

【专利技术属性】
技术研发人员:曹勇刚曹羽中金茂忠刘超
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11[中国|北京]

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

1