一种对复杂检索式进行检索优化的方法及系统技术方案

技术编号:9872563 阅读:275 留言:0更新日期:2014-04-04 05:42
本发明专利技术公开了一种对复杂检索式进行检索优化的方法及系统,前者包括:将复杂检索式优化为等价检索式;对文档集中的文档进行检索分析,包括根据文档包含检索词的情况,估算文档的最大检索得分;判断文档的最大检索得分是否大于第一得分门限,如大于则确定文档通过估算;精确计算通过估算的文档的检索得分;判断通过估算的文档的检索得分是否大于第二得分门限,如大于则确定通过估算的文档通过精确计算,第一得分门限大于等于第二得分门限;将通过精确计算的文档列入检索结果集。本发明专利技术的方法在对复杂检索式进行简化的基础上,通过对文档进行高效的估算,快速过滤掉得分较低的文档,减少了后续需要精确计算检索得分的文档数量,大大提高了检索效率。

【技术实现步骤摘要】
一种对复杂检索式进行检索优化的方法及系统
本专利技术涉及文本检索领域,尤其涉及一种对复杂检索式进行检索优化的方法及系统。
技术介绍
传统的复杂检索式主要采用DAAT(DocumentAtATime)算法进行检索,所述DAAT算法是指依次检索数据库中的每篇文档,确定所评估文档是否满足检索式的要求,进而获取检索结果,执行DAAT算法的具体流程如下:步骤1:获取复杂检索式的逻辑表示式;步骤2:确定待检索文档是否满足所述复杂检索式;一般的,如果待检索文档中包含复杂检索式中所有“与”项中的检索词、所有“邻近”项的检索词、“或”项中任意一个检索词、并且不包含“非”项中的任何检索词,则表明待检索文档满足该复杂检索式;由于在检索过程中,检索词是按照倒排索引的结构来组织的,所以可以通过判断每个检索词当前对应的文档编号是否等于待检索文档编号,来确定待检索文档是否包含“与”“邻近”“或”“非”项的检索词,从而可以确定待检索文档是否满足该复杂检索式;步骤3:根据BM25算法,计算满足所述复杂检索式的文档得分;步骤4:按照得分高低顺序对所述文档进行排序,获取前N个文档作为检索结果,其中,N为非负整数。DAAT算法存在的缺陷是:其对所有满足复杂检索式的文档一一计算得分,运算代价过高,影响检索响应效率。
技术实现思路
本专利技术的一个目的在于克服现有技术中的不足,提供了一种对复杂检索式进行检索优化的方法。为实现上述目的,本专利技术采用的技术方案为:一种对复杂检索式进行检索优化的方法,包括:将用户输入的复杂检索式优化为等价检索式,所述等价检索式采用检索式单元之间相或的表达形式,其中,所述检索式单元为空、一个检索词、由至少一个非或的逻辑操作符构成的检索式中的任意一种;获取满足所述等价检索式的文档集;对文档集中的文档进行检索分析,包括:根据所述文档包含所述检索词的情况,估算所述文档的最大检索得分;判断所述文档的最大检索得分是否大于第一得分门限,如大于则确定所述文档通过估算;精确计算通过估算的文档的检索得分;判断通过估算的文档的检索得分是否大于第二得分门限,如大于则确定通过估算的文档通过精确计算,其中,所述第一得分门限大于等于第二得分门限;将通过精确计算的文档列入检索结果集。优选的是,所述对文档集中的文档进行检索分析还包括:在完成当前文档的检索分析后开始下一文档的检索分析,其中,出现以下任一事件为完成检索分析:确定文档未通过估算,确定通过估算的文档未通过精确计算,通过精确计算的文档已列入检索结果集。优选的是,所述对文档集中的文档进行检索分析还包括:将通过精确计算的文档列入检索结果集的同时更新所述第一得分门限和第二得分门限,其中,所述第二得分门限等于检索结果集中文档的最小检索得分,所述第一得分门限等于预设的门限因子与第二得分门限的乘积,所述门限因子大于等于1。优选的是,所述将通过精确计算的文档列入检索结果集包括:对通过精确计算的文档按照检索得分的大小进行降序排列,使所述第二得分门限等于检索结果集中最末位的文档的检索得分。优选的是,所述精确计算通过估算的文档的检索得分包括:通过BM25算法精确计算通过估算的文档的检索得分。优选的是,根据所述文档包含所述检索词的情况,估算所述文档的最大检索得分包括:所述最大检索得分其中,xi表示检索式中的第i个检索词是否出现在所述文档中,ωi取决于第i个检索词在所述文档集中的逆向文档频率和第i个检索词在复杂检索式中出现的次数,k为检索式中检索词的数量。优选的是,所述获取满足所述等价检索式的文档集包括:获取所述等价检索式的各检索词的倒排列表,根据所述倒排列表获取满足所述等价检索式的文档集。优选的是,所述将用户输入的复杂检索式优化为等价检索式包括:将所述复杂检索式转换为原始逻辑关系树,所述原始逻辑关系树中的叶子节点对应复杂检索式中的检索词,非叶子节点对应复杂检索式中的逻辑操作符;对各级逻辑关系树进行合并变换和上升变换,得到变换后的逻辑关系树,其中,所述各级逻辑关系树包括原始逻辑关系树及进行所述合并和上升变换过程中得到的各中间逻辑关系树;所述合并变换为:如果各级逻辑关系树中相邻两层上具有相同的逻辑操作符,则将相邻两层上相同的逻辑操作符合并至上层;所述上升变换为:如果各级逻辑关系树中存在或逻辑操作符,则将或逻辑操作符提升至逻辑关系树的最上层;根据变换后的逻辑关系树生成所述等价检索式。优选的是,所述获取满足所述等价检索式的文档集包括:对所述变换后的逻辑关系树,按照从下到上的顺序,依次获取各检索词的倒排列表,根据所述倒排列表获取满足所述等价检索式的文档集。优选的是,所述根据所述倒排列表获取满足所述等价检索式的文档集包括:对所述变换后的逻辑关系树,根据所述检索词的倒排列表,按照从下到上的顺序,依次确定与每个逻辑操作符相对应的文档,与最上层逻辑操作符相对应的文档的集合为满足所述等价检索式的文档集。本专利技术的另一个目的在于克服现有技术中的不足,提供了一种对复杂检索式进行检索优化的系统。为了实现上述目的,本专利技术采用的技术方案为:一种对复杂检索式进行检索优化的系统,包括:检索式优化模块,用于将用户输入的复杂检索式优化为等价检索式,所述等价检索式采用检索式单元之间相或的表达形式,其中,所述检索式单元为空、一个检索词、由至少一个非或的逻辑操作符构成的检索式中的任意一种;检索模块,用于获取满足所述等价检索式的文档集;检索分析模块,用于对文档集中的文档进行检索分析,所述检索分析模块包括:估算单元,用于根据所述文档集中的文档包含所述检索词的情况,估算所述文档的最大检索得分;第一判断单元,用于将所述文档的最大检索得分与第一得分门限进行比较,如果所述文档的最大检索得分大于第一得分门限,则确定所述文档通过估算;精确计算单元,用于精确计算通过估算的文档的检索得分;第二判断单元,用于将通过估算的文档的检索得分与第二得分门限进行比较,如果通过估算的文档的检索得分大于所述第二得分门限,则确定通过估算的文档通过精确计算,其中,所述第一得分门限大于等于第二得分门限;以及,执行单元,用于将通过精确计算的文档列入检索结果集。优选的是,所述检索分析模块还包括:时序控制单元,用于使所述检索分析模块在完成当前文档的检索分析后开始下一文档的检索分析,其中,出现以下任一事件为完成检索分析:确定文档未通过估算,确定通过估算的文档未通过精确计算,通过精确计算的文档已列入检索结果集。优选的是,所述检索分析模块还包括:更新单元,用于在将通过精确计算的文档列入检索结果集的同时,更新所述第一得分门限和第二得分门限,其中,所述第二得分门限等于检索结果集中文档的最小检索得分,所述第一得分门限等于预设的门限因子与第二得分门限的乘积,所述门限因子大于等于1。优选的是,所述执行单元在将通过精确计算的文档列入检索结果集的过程中,对通过精确计算的文档按照检索得分的大小进行降序排列,使所述第二得分门限等于检索结果集中最末位的文档的检索得分。优选的是,所述精确计算单元通过BM25算法精确计算通过估算的文档的检索得分。优选的是,所述估算单元通过公式:最大检索得分估算文档的最大检索得分,其中,xi表示检索式中的第i个检索词是否出现在所述文档中,ωi取决于第i个检索词在所述文档集中的逆向文档频率和第i个检索词在复本文档来自技高网...
一种对复杂检索式进行检索优化的方法及系统

【技术保护点】
一种对复杂检索式进行检索优化的方法,其特征在于,包括:将用户输入的复杂检索式优化为等价检索式,所述等价检索式采用检索式单元之间相或的表达形式,其中,所述检索式单元为空、一个检索词、由至少一个非或的逻辑操作符构成的检索式中的任意一种;获取满足所述等价检索式的文档集;对文档集中的文档进行检索分析,包括:根据所述文档包含所述检索词的情况,估算所述文档的最大检索得分;判断所述文档的最大检索得分是否大于第一得分门限,如大于则确定所述文档通过估算;精确计算通过估算的文档的检索得分;判断通过估算的文档的检索得分是否大于第二得分门限,如大于则确定通过估算的文档通过精确计算,其中,所述第一得分门限大于等于第二得分门限;将通过精确计算的文档列入检索结果集。

【技术特征摘要】
1.一种对复杂检索式进行检索优化的方法,其特征在于,包括:将用户输入的复杂检索式优化为等价检索式,所述等价检索式采用检索式单元之间相或的表达形式,其中,所述检索式单元为空、一个检索词、由至少一个非或的逻辑操作符构成的检索式中的任意一种;获取满足所述等价检索式的文档集;对文档集中的文档进行检索分析,包括:根据所述文档包含所述检索词的情况,估算所述文档的最大检索得分;判断所述文档的最大检索得分是否大于第一得分门限,如大于则确定所述文档通过估算;精确计算通过估算的文档的检索得分;判断通过估算的文档的检索得分是否大于第二得分门限,如大于则确定通过估算的文档通过精确计算,其中,所述第一得分门限大于等于第二得分门限;将通过精确计算的文档列入检索结果集,并同时更新所述第一得分门限和第二得分门限,其中,所述第二得分门限等于检索结果集中文档的最小检索得分,所述第一得分门限等于预设的门限因子与第二得分门限的乘积,所述门限因子大于等于1。2.根据权利要求1所述的方法,其特征在于,所述对文档集中的文档进行检索分析还包括:在完成当前文档的检索分析后开始下一文档的检索分析,其中,出现以下任一事件为完成检索分析:确定文档未通过估算,确定通过估算的文档未通过精确计算,通过精确计算的文档已列入检索结果集。3.根据权利要求1所述的方法,其特征在于,所述将通过精确计算的文档列入检索结果集包括:对通过精确计算的文档按照检索得分的大小进行降序排列,使所述第二得分门限等于检索结果集中最末位的文档的检索得分。4.根据权利要求1所述的方法,其特征在于,所述精确计算通过估算的文档的检索得分包括:通过BM25算法精确计算通过估算的文档的检索得分。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述文档包含所述检索词的情况,估算所述文档的最大检索得分包括:所述最大检索得分其中,xi表示检索式中的第i个检索词是否出现在所述文档中,ωi取决于第i个检索词在所述文档集中的逆向文档频率和第i个检索词在复杂检索式中出现的次数,k为检索式中检索词的数量。6.根据权利要求1至4中任一项所述的方法,其特征在于,所述获取满足所述等价检索式的文档集包括:获取所述等价检索式的各检索词的倒排列表,根据所述倒排列表获取满足所述等价检索式的文档集。7.根据权利要求1至4中任一项所述的方法,其特征在于,所述将用户输入的复杂检索式优化为等价检索式包括:将所述复杂检索式转换为原始逻辑关系树,所述原始逻辑关系树中的叶子节点对应复杂检索式中的检索词,非叶子节点对应复杂检索式中的逻辑操作符;对各级逻辑关系树进行合并变换和上升变换,得到变换后的逻辑关系树,其中,所述各级逻辑关系树包括原始逻辑关系树及进行所述合并和上升变换过程中得到的各中间逻辑关系树;所述合并变换为:如果各级逻辑关系树中相邻两层上具有相同的逻辑操作符,则将相邻两层上相同的逻辑操作符合并至上层;所述上升变换为:如果各级逻辑关系树中存在或逻辑操作符,则将或逻辑操作符提升至逻辑关系树的最上层;根据变换后的逻辑关系树生成所述等价检索式。8.根据权利要求7所述的方法,其特征在于,所述获取满足所述等价检索式的文档集包括:对所述变换后的逻辑关系树,按照从下到上的顺序,依次获取各检索词的倒排列表,根据所述倒排列表获取满足所述等价检索式的文档集。9.根据权利要求8所述的方法,其特征在于,所述根据所述倒排列表获取满足所述等价检索式的文档集包括:对所述变换后的逻辑关系树,根据所述检索词的倒排列表,按照从下到上的顺序,依次确定与每个逻辑操作符相对应的文档,与最上层逻辑操作符相对应的文档的集合为满足所述等价检索式的文档集。10.一种对复杂检索式进行检索优化的系统,其特征在于,包括:检索式优化模块,用于将用户输入的复杂检索式优化为等价检索式,所述等价检索式采用检索式单元之间相或的...

【专利技术属性】
技术研发人员:吴及侯晋峰吕萍何婷婷胡国平胡郁
申请(专利权)人:安徽科大讯飞信息科技股份有限公司
类型:发明
国别省市:

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

1