CN103699574B - 一种对复杂检索式进行检索优化的方法及系统 - Google Patents

一种对复杂检索式进行检索优化的方法及系统 Download PDF

Info

Publication number
CN103699574B
CN103699574B CN201310627325.8A CN201310627325A CN103699574B CN 103699574 B CN103699574 B CN 103699574B CN 201310627325 A CN201310627325 A CN 201310627325A CN 103699574 B CN103699574 B CN 103699574B
Authority
CN
China
Prior art keywords
retrieval
document
score
type
logical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310627325.8A
Other languages
English (en)
Other versions
CN103699574A (zh
Inventor
吴及
侯晋峰
吕萍
何婷婷
胡国平
胡郁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huaibei Branch Of Mdt Infotech Ltd
Tsinghua University
Original Assignee
iFlytek Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by iFlytek Co Ltd filed Critical iFlytek Co Ltd
Priority to CN201310627325.8A priority Critical patent/CN103699574B/zh
Publication of CN103699574A publication Critical patent/CN103699574A/zh
Application granted granted Critical
Publication of CN103699574B publication Critical patent/CN103699574B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种对复杂检索式进行检索优化的方法及系统
技术领域
本发明涉及文本检索领域,尤其涉及一种对复杂检索式进行检索优化的方法及系统。
背景技术
传统的复杂检索式主要采用DAAT(Document At A Time)算法进行检索,所述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个检索词在复杂检索式中出现的次数,k为检索式中检索词的数量。
优选的是,所述系统还包括:
索引模块,用于获取所述等价检索式的各检索词的倒排列表;
所述检索模块根据所述倒排列表获取满足所述等价检索式的文档集。
优选的是,所述检索式优化模块包括:
转换单元,用于将所述复杂检索式转换为原始逻辑关系树,所述原始逻辑关系树中的叶子节点对应复杂检索式中的检索词,非叶子节点对应复杂检索式中的逻辑操作符;
变换单元,用于对各级逻辑关系树进行合并变换和上升变换,得到变换后的逻辑关系树,其中,所述各级逻辑关系树包括原始逻辑关系树及进行所述合并和上升变换过程中得到的各中间逻辑关系树;
所述合并变换为:如果各级逻辑关系树中相邻两层上具有相同的逻辑操作符,则将相邻两层上相同的逻辑操作符合并至上层;
所述上升变换为:如果各级逻辑关系树中存在或逻辑操作符,则将或逻辑操作符提升至逻辑关系树的最上层;
检索式生成单元,用于根据变换后的逻辑关系树生成所述等价检索式。
优选的是,所述系统还包括:
索引模块,用于对所述变换后的逻辑关系树,按照从下到上的顺序,依次获取各检索词的倒排列表;
所述检索模块根据所述倒排列表获取满足所述等价检索式的文档集。
优选的是,所述检索模块对所述变换后的逻辑关系树,根据所述检索词的倒排列表,按照从下到上的顺序,依次确定与每个逻辑操作符相对应的文档,其中,与最上层逻辑操作符相对应的文档的集合为所述等价检索式的文档集。
本发明的有益效果在于,本发明提出的对复杂检索式进行检索优化的方法及系统,首先对复杂检索式中复杂的嵌套逻辑进行简化,生成等价检索式,并根据等价检索式检索得到相应的文档集;在得到上述文档集后,通过首先对文档进行高效的最大检索得分的估算,快速过滤掉得分较低的文档,减少了后续需要精确计算检索得分的文档数量,大大提高了检索效率。
附图说明
图1示出了根据本发明所述对复杂检索式进行检索优化的方法的一种流程图;
图2示出了根据本发明所述对复杂检索式进行检索优化的方法的另一种流程图;
图3示出了由第一种复杂检索式转换得到的原始逻辑关系树;
图4a示出了第二种复杂检索式的原始逻辑关系树;
图4b示出了图4a的原始逻辑关系树经过合并变换后的树结构;
图5a示出了第三种复杂检索式的原始逻辑关系树;
图5b示出了图5a的原始逻辑关系树经过上升变换后的树结构;
图6示出了根据本发明所述对复杂检索式进行检索优化的系统的一种实施结构;
图7示出了根据本发明所述对复杂检索式进行检索优化的系统的另一种实施结构;
图8示出了根据本发明所述对复杂检索式进行检索优化的系统的第三种实施结构。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
如图1所示,本发明的对复杂检索式进行检索优化的方法包括:
步骤S1:将用户输入的复杂检索式优化为等价检索式,该等价检索式采用检索式单元之间相或的表达形式,其中,所述检索式单元为空、一个检索词、由至少一个非或的逻辑操作符构成的检索式中的任意一种,也就是在该等价检索式只具有一个检索式单元的情况下,该等价检索式不具有或逻辑操作符,在该等价检索式具有两个以上的检索式单元的情况下,这些检索式单元之间是相或的逻辑关系。
步骤S2:获取满足该等价检索式的文档集,即可通过现有的各种检索方法在数据库中检索出满足该等价检索式的所有文档,这些文档的集合构成一个满足该等价检索式的文档集。
在获取满足等价检索式的文档集后,对文档集中的各文档进行检索分析,具体方法为:
步骤S3:根据该文档包含所述检索词的情况,估算该文档的最大检索得分;在此,在等价检索式确定的情况下,各文档包含等价检索式中检索词的情况就已经确定,因此,可以快速地根据该情况进行估算。
以下给出一种根据该文档包含检索词的情况,估算该文档的最大检索得分的公式:最大检索得分其中,xi表示检索式中的第i个检索词是否出现在所述文档中,即取值为0或者1,ωi取决于第i个检索词在所述文档集中的逆向文档频率(IDF)和第i个检索词在复杂检索式中出现的次数,k为检索式中检索词的数量。以上第i个检索词在所述文档集中的逆向文档频率为:文档集中的文档总数与文档集中出现第i个检索词的文档的数量的比值的对数。由此可见,在文档集及等价检索式确定后,ωi和xi就是一个确定的数值,因此可以快速地完成对各文档的估算。
步骤S4:判断该文档的最大检索得分是否大于第一得分门限,如大于则判定该文档通过估算,需要进一步计算该文档的检索得分,否则终止对该文档进行检索分析,转而分析下一文档。
步骤S5:精确计算通过估算的文档的检索得分,在此,可利用一些本领域技术人员惯常采用的算法计算文档的检索得分,例如BM25算法。
步骤S6:判断通过估算的文档的检索得分是否大于第二得分门限,如大于则判定通过估算的文档通过精确计算,上述第一得分门限大于等于第二得分门限。
步骤S7:将通过精确计算的文档列入检索结果集。
在以上第一得分门限和第二得分门限为一个设定的常数时,可以对文档集中的所有文档完成估算后再对通过估算的文档精确计算其检索得分,也可以逐一对各文档完成以上检索分析,即针对当前文档完成以上步骤S4至S7后再对下一文档进行以上检索分析,后者更适用于需要根据对每篇文档进行检索分析的结果更新第一得分门限和第二得分门限的情况,对此,本发明提供了如图2所示的另一种实施方式,即在执行步骤S7中,在将通过精确计算的文档列入检索结果集的同时,还需要更新所述第一得分门限和第二得分门限,其中,所述第二得分门限等于检索结果集中文档的最小检索得分,第一得分门限等于预设的门限因子与第二得分门限的乘积。在此,用户可以根据实际的场景设定门限因子的值,门限因子越大,检索速度越快,但是检索结果的精确率会下降;门限因子越小,检索结果越精确,但是检索速度会减慢,通常情况下,该门限因子可在[1,10]的范围内选择。
为了便于更新以上第一得分门限和第二得分门限,可在将通过精确计算的文档列入检索结果集的过程中,对通过精确计算的文档按照检索得分的大小进行降序排列,这样,所述第二得分门限就始终等于检索结果集中最末位的文档的检索得分。
为了便于获取满足所述等价检索式的文档集,本发明提供的方法为:
先获取所述等价检索式的各检索词的倒排列表,再根据所述倒排列表获取满足该等价检索式的文档集。对于根据倒排列表获取满足等价检索式的文档集的实施例,由于倒排列表中记录的是每个检索词对应的文档编号,因此,可通过文档编号查询对应的文档。
以下给出一种将复杂检索式优化为以上等价检索式的方法,该方法包括:
将所述复杂检索式转换为原始逻辑关系树,原始逻辑关系树中的叶子节点对应复杂检索式中的检索词,非叶子节点对应复杂检索式中的逻辑操作符;图3所示的原始逻辑关系树对应的复杂检索式为(A|(B&C)|(D&E))&(!(F|(G&H)|(I&J)))。
在将复杂检索式转换为原始逻辑关系树后,对各级逻辑关系树进行合并变换和上升变换,得到变换后的逻辑关系树,其中,各级逻辑关系树包括原始逻辑关系树及进行以上合并和上升变换过程中得到的各中间逻辑关系树。
所述合并变换为:如果各级逻辑关系树中相邻两层上具有相同的逻辑操作符,则将相邻两层上相同的逻辑操作符合并至上层。举例说明,如图4a所示的原始逻辑关系树中的相邻两层均存在或逻辑操作符,则使检索词A和B直接成为上层或逻辑操作符的叶子节点,经合并变换后的逻辑关系树如图4b所示。图4a中的原始逻辑关系树对应的复杂检索式为(A|B)|(C&D),图4b中的变换后的逻辑关系树对应的等价检索式为A|B|(C&D),该等价检索式具有三个检索式单元,分别为检索词A,检索词B,及检索式C&D。
所述上升变换为:如果各级逻辑关系树中存在或逻辑操作符,则将或逻辑操作符提升至逻辑关系树的最上层,这样,就可以获得各检索式单元之间相或的等价检索式。举例说明,如图5a所示的原始逻辑关系树中存在的或逻辑操作符位于次上层,则将其提升至最上层,经上升变换后的逻辑关系树如图5b所示。图5a中的原始逻辑关系树对应的复杂检索式为(A|B)&C,图5b中的变换后的逻辑关系树对应的等价检索式为(A&C)|(B&C),该等价检索式具有两个检索式单元,分别为检索式A&C及检索式B&C。在某些情况下,或逻辑操作符可能需要多次提升才能到达最上层,而且合并和上升可能交替进行。
在获得变换后的逻辑关系树后,便可方便地将其改写为等价检索式。
等价检索式采用逻辑关系树的表达方式的另一个优势是可以方便地获取各检索词的倒排列表,在此可对变换后的逻辑关系树,按照从下到上的顺序,依次获取各检索词的倒排列表,在获得倒排列表后,便可根据倒排列表获取满足该等价检索式或者说该变换后的逻辑关系树的文档集。
在此给出一种根据倒排列表获取满足该等价检索式的文档集的具体操作方式:
对变换后的逻辑关系树,根据所述检索词的倒排列表,按照从下到上的顺序,依次确定与每个逻辑操作符相对应的文档,因此,与最上层逻辑操作符相对应的文档的集合即为满足所述等价检索式的文档集。在依次确定与每个逻辑操作符相对应的文档的过程中,可以针对当前确定的逻辑操作符获取其所有叶子节点的文档,再判断这些文档是否满足该当前确定的逻辑操作符。
本发明还提供了一种可实现上述对复杂检索式进行检索优化的方法的系统,如图6所示,其包括:
检索式优化模块1:用于将用户输入的复杂检索式优化为等价检索式(请参见上述定义);
检索模块2,用于获取满足该等价检索式的文档集;
检索分析模块3,用于对文档集中的文档进行检索分析,该检索分析模块3包括:
估算单元31,用于根据文档集中的各文档包含等价检索式中检索词的情况,估算所述文档的最大检索得分;
第一判断单元32,用于将所述文档的最大检索得分与第一得分门限进行比较,如果所述文档的最大检索得分大于第一得分门限,则确定所述文档通过估算;
精确计算单元33,用于精确计算通过估算的文档的检索得分,在此,该精确计算单元33可通过BM25算法精确计算通过估算的文档的检索得分。
第二判断单元34,用于将通过估算的文档的检索得分与第二得分门限进行比较,如果通过估算的文档的检索得分大于所述第二得分门限,则确定通过估算的文档通过精确计算,其中,第一得分门限大于等于第二得分门限;以及,
执行单元35,用于将通过精确计算的文档列入检索结果集。
在需要对文档集中各文档按照特定的顺序进行检索分析的实施例中,如图7和8所示,该检索分析模块还可以包括:
时序控制单元37,用于使检索分析模块在完成当前文档的检索分析后开始下一文档的检索分析,其中,出现确定文档未通过估算(由第一判断单元提供该信号),确定通过估算的文档未通过精确计算(由第二判断模块34提供该信号),通过精确计算的文档已列入检索结果集(由执行模块35提供该信号)任一事件为完成检索分析。
对于需要更新第一得分门限和第二得分门限的实施例,如图8所示,该检索分析模块在设置时序控制单元37的基础上还可以设置:
更新单元36,用于在将通过精确计算的文档列入检索结果集的同时,更新所述第一得分门限和第二得分门限,其中,所述第二得分门限等于检索结果集中文档的最小检索得分,第一得分门限等于预设的门限因子与第二得分门限的乘积。
为了便于更新单元36更新第一得分门限和第二得分门限,执行单元35在将通过精确计算的文档列入检索结果集的过程中,可对通过精确计算的文档按照检索得分的大小进行降序排列,使所述第二得分门限等于检索结果集中最末位的文档的检索得分。
以上估算单元可通过公式:最大检索得分估算文档的最大检索得分,其中,xi表示检索式中的第i个检索词是否出现在所述文档中,ωi取决于第i个检索词在所述文档集中的逆向文档频率(请参见上述定义)和第i个检索词在复杂检索式中出现的次数,k为检索式中检索词的数量。
如图7所示,本发明的系统还可以包括索引模块5,其用于获取所述等价检索式的各检索词的倒排列表。这样,检索模块2就可以根据该倒排列表获取满足等价检索式的文档集。
为了便于进行复杂检索式的优化,该检索式优化模块1可包括转换单元、变换单元和检索式生成单元。
所述转换单元用于将所述复杂检索式转换为原始逻辑关系树,原始逻辑关系树中的叶子节点对应复杂检索式中的检索词,非叶子节点对应复杂检索式中的逻辑操作符。
所述变换单元用于对各级逻辑关系树进行合并变换和上升变换,得到变换后的逻辑关系树,其中,所述各级逻辑关系树包括原始逻辑关系树及进行所述合并和上升变换过程中得到的各中间逻辑关系树。其中,所述合并变换为:如果各级逻辑关系树中相邻两层上具有相同的逻辑操作符,则将相邻两层上相同的逻辑操作符合并至上层;所述上升变换为:如果各级逻辑关系树中存在或逻辑操作符,则将或逻辑操作符提升至逻辑关系树的最上层。
所述检索式生成单元用于根据变换后的逻辑关系树生成所述等价检索式。
在以上的获取变换后的逻辑关系树的基础上,以上索引模块5用于对所述变换后的逻辑关系树,按照从下到上的顺序,依次获取各检索词的倒排列表,使得检索模块2可根据所述倒排列表获取满足所述等价检索式的文档集。
该检索模块2在根据所述倒排列表获取满足所述等价检索式的文档集的过程中,可对所述变换后的逻辑关系树,根据所述检索词的倒排列表,按照从下到上的顺序,依次确定与每个逻辑操作符相对应的文档,其中,与最上层逻辑操作符相对应的文档的集合为所述等价检索式的文档集。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

Claims (18)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310627325.8A CN103699574B (zh) 2013-11-28 2013-11-28 一种对复杂检索式进行检索优化的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310627325.8A CN103699574B (zh) 2013-11-28 2013-11-28 一种对复杂检索式进行检索优化的方法及系统

Publications (2)

Publication Number Publication Date
CN103699574A CN103699574A (zh) 2014-04-02
CN103699574B true CN103699574B (zh) 2017-01-11

Family

ID=50361102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310627325.8A Active CN103699574B (zh) 2013-11-28 2013-11-28 一种对复杂检索式进行检索优化的方法及系统

Country Status (1)

Country Link
CN (1) CN103699574B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653703A (zh) * 2015-12-31 2016-06-08 武汉传神信息技术有限公司 一种文档检索匹配方法
CN113342941B (zh) * 2021-06-28 2022-08-26 平安信托有限责任公司 文本搜索方法、装置、电子设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023989A (zh) * 2009-09-23 2011-04-20 阿里巴巴集团控股有限公司 一种信息检索方法及其系统
JP2012008899A (ja) * 2010-06-28 2012-01-12 Nippon Telegr & Teleph Corp <Ntt> 検索クエリ推薦方法、検索クエリ推薦装置及び検索クエリ推薦プログラム
CN102567421A (zh) * 2010-12-27 2012-07-11 北大方正集团有限公司 文档检索方法和装置
CN102622389A (zh) * 2011-01-28 2012-08-01 株式会社日立制作所 检索式生成装置、检索系统、检索式生成方法
CN103229120A (zh) * 2010-09-28 2013-07-31 国际商业机器公司 使用假设剪枝提供问题答案

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023989A (zh) * 2009-09-23 2011-04-20 阿里巴巴集团控股有限公司 一种信息检索方法及其系统
JP2012008899A (ja) * 2010-06-28 2012-01-12 Nippon Telegr & Teleph Corp <Ntt> 検索クエリ推薦方法、検索クエリ推薦装置及び検索クエリ推薦プログラム
CN103229120A (zh) * 2010-09-28 2013-07-31 国际商业机器公司 使用假设剪枝提供问题答案
CN102567421A (zh) * 2010-12-27 2012-07-11 北大方正集团有限公司 文档检索方法和装置
CN102622389A (zh) * 2011-01-28 2012-08-01 株式会社日立制作所 检索式生成装置、检索系统、检索式生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
联机情报检索及其策略;力厚;《情报学刊》;19900501;第11卷(第2期);第156页第1栏第2段 *

Also Published As

Publication number Publication date
CN103699574A (zh) 2014-04-02

Similar Documents

Publication Publication Date Title
EP1360616B1 (en) Database system and query optimiser
CN102279851B (zh) 一种智能导航方法、装置和系统
CN109166017A (zh) 基于重聚类的推送方法、装置、计算机设备及存储介质
CN105893597B (zh) 一种相似病历检索方法及系统
CN107103000A (zh) 一种基于关联规则与贝叶斯网络集成的推荐技术
CN109634698A (zh) 菜单显示方法、装置、计算机设备及存储介质
CN104346444B (zh) 一种基于路网反空间关键字查询的最佳选址方法
CN102902826B (zh) 一种基于基准图像索引的图像快速检索方法
CN105787126B (zh) k-d树生成方法和k-d树生成装置
CN100592332C (zh) 一种基于案例树进行案例推理的装置及方法
CN105989142A (zh) 一种数据查询方法及装置
CN106022568A (zh) 一种工作流的处理方法和装置
CN105843918A (zh) 一种从职位数据库中快速筛选职位的方法
CN102867065B (zh) 基于关系型数据库的数据汇总装置和方法
CN103810252A (zh) 一种基于群稀疏特征选择的图像检索方法
CN102110171A (zh) 基于树形结构的布鲁姆过滤器的查询与更新方法
CN105005584A (zh) 一种多子空间Skyline查询计算方法
CN105574541A (zh) 一种基于紧密度排序的网络社区发现方法
CN104331523A (zh) 一种基于概念对象模型的问句检索方法
CN103699574B (zh) 一种对复杂检索式进行检索优化的方法及系统
KR101955376B1 (ko) 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치
CN103678513A (zh) 一种交互式的检索式生成方法及系统
CN104820775A (zh) 一种中药方剂核心药物的发现方法
CN109684418A (zh) 基于电网图数据库的数据存储方法及装置
CN104077361B (zh) 一种用于大数据的排序方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Wangjiang Road high tech Development Zone Hefei city Anhui province 230088 No. 666

Applicant after: Iflytek Co., Ltd.

Address before: Wangjiang Road high tech Development Zone Hefei city Anhui province 230088 No. 666

Applicant before: Anhui USTC iFLYTEK Co., Ltd.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190306

Address after: 235000 No. 508-515, Block A, 3 State Purchase Plaza, Xiangshan District, Huaibei City, Anhui Province

Patentee after: Huaibei branch of Mdt InfoTech Ltd

Address before: 230088 666 Wangjiang West Road, Hefei hi tech Development Zone, Anhui

Patentee before: Iflytek Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190614

Address after: 100084 Tsinghua Garden 1, East Zhongguancun Road and Shuangqing Road Intersection, Haidian District, Beijing

Co-patentee after: Huaibei branch of Mdt InfoTech Ltd

Patentee after: Tsinghua University

Address before: 235000 No. 508-515, Block A, 3 State Purchase Plaza, Xiangshan District, Huaibei City, Anhui Province

Patentee before: Huaibei branch of Mdt InfoTech Ltd

TR01 Transfer of patent right