CN102810096B - 一种基于单字索引系统的检索方法和装置 - Google Patents

一种基于单字索引系统的检索方法和装置 Download PDF

Info

Publication number
CN102810096B
CN102810096B CN201110147520.1A CN201110147520A CN102810096B CN 102810096 B CN102810096 B CN 102810096B CN 201110147520 A CN201110147520 A CN 201110147520A CN 102810096 B CN102810096 B CN 102810096B
Authority
CN
China
Prior art keywords
retrieval unit
index file
retrieval
result
document
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
CN201110147520.1A
Other languages
English (en)
Other versions
CN102810096A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201110147520.1A priority Critical patent/CN102810096B/zh
Priority to TW100131689A priority patent/TW201250502A/zh
Priority to US13/484,174 priority patent/US9311389B2/en
Priority to EP12726694.8A priority patent/EP2715572A1/en
Priority to PCT/US2012/040264 priority patent/WO2012166960A1/en
Priority to JP2014513708A priority patent/JP5746426B2/ja
Publication of CN102810096A publication Critical patent/CN102810096A/zh
Priority to HK13101165.2A priority patent/HK1173819A1/zh
Application granted granted Critical
Publication of CN102810096B publication Critical patent/CN102810096B/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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3341Query execution using boolean model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists

Abstract

本发明提供的基于单字索引系统的检索方法包括:将检索语句的字符序列拆分为检索单元后,根据检索单元的检索字符查询索引表获取检索字符对应的索引文档集,以所述索引文档集为处理对象,进行包括选择操作在内的处理,将处理结果作为所述检索单元的检索结果;将各检索单元的检索结果进行交集并返回结果文档集;用各检索单元扫描结果文档集以判断是否有同时包含各检索单元的文档,如果是,则返回该文档。本发明还提供基于单字索引系统的检索装置。本发明对检索单元的各索引文档集进行包括选择操作在内的处理,而不直接对所有索引文档集进行交集运算,减少了交集运算对象,改善了索引系统的检索性能。

Description

一种基于单字索引系统的检索方法和装置
技术领域
本发明涉及搜索引擎技术,特别涉及一种基于单字索引系统的检索方法和装置。
背景技术
随着网络的迅速普及,信息海量增加。搜索引擎技术的出现使得人们能方便快捷地在这些海量信息中找到自己所需要的各种信息。
单字索引系统作为检索目标信息的一种解决方案已得到广泛应用。单字索引系统包含众多预先建立的索引表(如附图1所示),每个索引表主要包含三列数据:一列是索引字符,这些字符绝大部分为单字形式,也有少部分字符是自然语言的词组、成语,甚至短句,检索语句根据索引字符查询索引表;第二列是与索引字符对应的包含该索引字符的文档的数目;第三列是与索引字符对应的包含该索引字符的所有文档的地址,这些文档称为索引文档。用户检索时只需输入检索语句,单字索引系统从检索语句中提取出检索字符,并根据该检索字符对应的索引字符查询索引表获取包含该索引字符的索引文档集,然后返回给用户完成检索。附图2所示为现有技术中单字索引系统进行检索的一个实例图。该实例进行检索的步骤包括:接收用户输入的检索语句,然后将该语句拆分为多个词组,再通过每个词组中单字对应的索引字符从预先创建的索引表中找到包含该单字的索引文档集,对这些文档集进行交集运算,从而得到包含该词组的文档集,接下来对各个词组的文档集进行同样的交集运算,进而得到包含这些词组的最后检索结果。该检索方法在获取词组的文档集时对词组中每个单字的索引文档进行交集运算,通常,每个单字对应的索引文档数量巨大,因此交集运算的运算对象的数量也颇为巨大,为得到检索结果,索引系统必须完成所有的交集运算,这势必大大增加检索时间,降低了单字索引系统的检索性能。
发明内容
有鉴于此,本发明提供一种基于单字索引系统的检索方法和装置,该方法和装置在获取每个检索单元的检索结果时,改变了检索结果的获取方式,不再对检索单元的所有索引文档集进行交集运算,以减少交集运算的运算对象的数量,缩短检索时间,提高单字索引系统的检索性能。
本发明提供的基于单字索引系统的检索方法包括:
接收检索语句;
提取所述检索语句的字符序列,并将该字符序列进行拆分得到检索单元,所述检索单元包括至少一个检索字符;
根据所述检索单元的检索字符查询索引表获得各检索字符对应的索引文档集;以所述索引文档集为处理对象,进行包括选择操作在内的处理,并将处理结果作为该检索单元的检索结果;
对所述各检索单元的检索结果进行交集运算并返回结果文档集;
用所述各检索单元扫描所述结果文档集以判断所述结果文档集的文档是否包含所述各检索单元,如果是,则返回该文档。
本发明还提供了一种基于单字索引系统的检索装置,该装置包括:
检索语句接收模块、字符序列提取与拆分模块、索引文档集获取模块、索引文档集处理模块、交集运算模块和判断模块,其中:
所述检索语句接收模块,用于接收检索语句;
所述字符序列提取与拆分模块,用于提取所述检索语句的字符序列,并将该字符序列进行拆分得到检索单元,所述检索单元包括至少一个检索字符;
所述索引文档集获取模块,用于根据所述检索单元的检索字符查询索引表获得各检索字符对应的索引文档集;
所述索引文档集处理模块,用于以所述索引文档集为处理对象,进行包括选择操作在内的处理,并将处理结果作为该检索单元的检索结果;
所述交集运算模块,用于对所述各检索单元的检索结果进行交集运算并返回结果文档集;
所述判断模块,用所述各检索单元扫描所述结果文档集以判断所述结果文档集的文档是否包含所述各检索单元,如果是,则返回该文档。
本发明在将检索语句的字符序列拆分为检索单元后,根据检索单元的检索字符获取该检索单元的所有索引文档集,随后以这些索引文档集为处理对象,进行包括选择操作在内的处理,并将处理结果作为该检索单元的检索结果,而不是直接对检索单元的所有索引文档集进行交集运算获得该检索单元的检索结果,这样大大减少了交集运算的运算对象,从而减少了交集运算次数,有效降低了引擎检索的时间消耗,改善了单字检索系统的检索性能。此外,本发明将现有技术中的单字和词组级别两级交集运算简化为检索单元索引文档集级别的处理操作和判断操作,就处理操作而言,如前所述本发明大大减少了交集运算的运算次数改善了检索系统性能;就判断操作而言,按照检索单元进行一次判断操作要比进行文档集合间的交集运算简单得多,缩短了检索的时间耗费,从而也大大改善了检索系统性能。再者,本发明对判断后的返回文档进行文档排序,并按照用户需要返回排序结果,满足了用户对检索结果各文档的不同关注度的需求,进一步提高了检索系统的整体性能。
附图说明
图1为现有技术中单字索引系统的索引表示意图;
图2为现有技术中单字索引系统的一个检索实例示意图;
图3为本发明的方法实施例一的流程图;
图4为本发明的方法实施例二的流程图;
图5为本发明的方法实施例三的流程图;
图6为本发明的方法实施例四的流程图;
图7为本发明的方法实施例五的检索实例示意图;
图8为本发明的方法实施例九的检索实例之用户检索历史示意图;
图9为本发明的方法实施例十二的排序步骤之计算文档相关性的坐标图;
图10为本发明的装置实施例十三的组成框图;
图11为本发明的装置实施例十三的索引文档集处理模块的组成框图;
图12为本发明的装置实施例十三的排序模块的组成框图。
具体实施方式
本发明的主要思想是:对检索语句的字符序列进行拆分得到检索单元后,在获取检索单元的检索结果时,以检索单元的所有索引文档集为处理对象,通过进行包括选择操作在内的处理获取该检索单元的检索结果(而不采用直接对检索单元的所有索引文档集进行交集运算的方式获得检索结果),各检索单元的检索结果得到后进行交集运算,然后判断交集运算后的结果文档集合是否包含各检索单元,最后得到需要的检索文档。本发明减少了交集运算的运算对象的数量,改善了单字索引系统的检索性能。
为使本领域技术人员能进一步了解本发明的特征及技术内容,下面结合附图和实施例,对本发明的技术方案进行详细描述。
实施例一
附图3为本发明的方法实施例一的流程图。该实施例所述的基于单字索引系统的检索方法包括如下步骤:
步骤101:接收用户输入的检索语句;
检索语句是用户输入的检索对象,一般由一系列自然语言的语素与描述这些语素间逻辑关系的逻辑词组成。语素是构成检索语句的有意义的字符,逻辑词是进行逻辑运算的根据,本实施例适用于“与”逻辑检索的场合,逻辑词序列为“AND”序列,对应的逻辑运算为交集运算。
步骤102:提取所述检索语句的字符序列,将该字符序列进行拆分得到检索单元,所述检索单元包括至少一个检索字符;
所述检索单元为检索字符的集合,该检索字符可以是单字、词组、成语,甚至短句。不同的检索系统和语言环境下拆分检索单元的规则不同,一般可以按照自然语言的语法体系拆分检索单元,比如检索语句为“浙江杭州柠檬茶”,进行检索单元拆分时将被拆分为词组“浙江”、“杭州”、“柠檬茶”三个检索单元,而不会是“浙江杭”、“州柠檬”、“茶”检索单元,因为这样不符合自然语言使用习惯;还比如检索语句为“利比亚岌岌可危”,进行检索单元拆分时将被拆分为国名“利比亚”、成语“岌岌可危”两个检索单元;再比如检索语句为“他山之石可以攻玉的出处”,将被拆分为短句“他山之石可以攻玉”、单字“的”、词组“出处”三个检索单元;经过上述拆分得到的检索单元包括若干个检索字符,如上述“浙江”检索单元包括“浙”、“江”两个检索字符,这些检索字符与创建单字索引系统时使用的索引字符是对应的,即是说,单字索引系统已经建立关于“浙”这一索引字符的索引表,该索引表的第三列数据为包含“浙”的所有索引文档的地址,检索时根据检索字符“浙”即可查询获得包含“浙”的所有索引文档,称为索引文档集。
步骤103:根据所述检索单元的检索字符查询索引表获得各检索字符对应的索引文档集;以所述索引文档集为处理对象,进行包括选择操作在内的处理,将处理结果作为该检索单元的检索结果;
此处“包括选择操作在内的处理”表示至少要进行一次选择操作,选择操作的对象可以直接是所述检索单元的各索引文档集,也可以是对该检索单元的索引文档集进行处理后的文档集,这些处理包括但不限于交集运算、比较操作。
步骤104:对所述各检索单元的检索结果进行交集运算并返回结果文档集;
各检索单元的检索结果可以均按照上述方式获取,也可以在至少有一个检索单元的检索结果按照上述方式获取的情况下,其他的检索单元按照现有技术的方式获取本检索单元的检索结果。这里的交集运算是在各个检索单元获取检索结果后,将这些检索结果进行归并。
步骤105:用所述各检索单元扫描所述结果文档集以判断所述结果文档集的文档是否包含所述各检索单元,如果是,则返回该文档。
前一步骤完成后的结果文档集是同时包括各个检索单元某些检索字符的文档,这些文档有可能不包括各个检索单元的所有检索字符,因此必须将这样的文档排除。比如,包含“浙”和“杭”的索引文档不一定包含“江”与“州”,因此需要判断交集运算后的结果文档集的文档是否包含“江”与“州”,只有同时包含“浙江”与“杭州”的索引文档才是用户需要的。文档返回后,根据用户需要可对返回的文档进行保存,保存的媒质可以是网络硬盘、邮箱、其他外接存储设备。
本实施例在将检索语句的字符序列拆分为检索单元后,以检索单元的各检索字符对应的索引文档集为处理对象,进行包括选择操作在内的处理,将处理结果作为各检索单元的检索结果,而不是直接对检索单元中的每个检索字符对应的索引文档集进行交集运算,这样大大减少了交集运算的运算对象,从而减少了交集运算次数,有效降低了引擎检索的时间消耗,改善了引擎性能,取得了良好的效果。此外,本实施例将现有技术中的两级交集运算简化为索引文档集级别的处理操作和扫描判断操作,就处理操作而言,如前所述本实施例减少了交集运算的运算对象的数量从而改善了检索系统性能;就扫描判断操作而言,用检索单元对结果文档集进行一次扫描判断操作要比进行文档集合间的交集运算简单得多,缩短了检索的时间耗费,从而大大改善了检索系统性能。
实施例二
实施例一中步骤103提到对索引文档集进行包括选择操作在内的处理,这种处理可以有多种具体实现方式,只要这些方式中包括选择操作这一处理步骤,即不妨碍本发明的发明目的的实现。比如可以对检索单元的多个索引文档集首先进行比较操作,通过比较判断得到索引文档数最少的索引文档集,然后选择该索引文档集作为该检索单元的检索结果。由此可构成本发明的又一个实施例,本实施例二与实施例一相比,除步骤103外,其他步骤均相同。参见附图4,实施例一的步骤103在本实施例中变化为:
步骤203:比较所述检索单元的各索引文档集的索引文档数,选择索引文档数最少的索引文档集作为该检索单元的处理结果;
这里作为一个实施例,选择检索单元中索引文档数最少的索引文档集作为该检索单元的处理结果,实际上,可以从检索单元中任意选择一个索引文档集,这样并不妨碍本发明的发明目的的实现。
为说明本实施例与现有技术相比技术效果的改善程度,这里举一个例子:假设用户进行检索的语句为“浙江杭州”,从预先建立的索引表中查询得到包含“浙”的索引文档集的索引文档数为N1,包含“江”的索引文档集的索引文档数为M1,“杭”的索引文档数为N2,“州”的索引文档数为M2。上述检索语句被拆分为“浙江”、“杭州”两个检索单元后,首先从“浙江”这个检索单元中选取“浙”的N1(也可选取“江”的M1)篇索引文档作为该检索单元的检索结果,再从“杭州”这个检索单元中选取“杭”的N2(也可选取“江”的M2)篇索引文档作为该检索单元的检索结果,然后将这两个检索结果进行交集运算,以得到同时包含“浙”和“杭”的结果文档集。按照现有技术的检索方法,至少需进行N1×M1+N2×M2次交集运算,而本发明仅需进行N1(M1)×N2(M2)次运算,运算次数大为减少。该例子中,如果对N1和M1、N2和M2进行大小比较,并选择索引文档数目小的那个索引文档集作为检索单元的检索结果,然后对检索结果进行交集运算,则可以进一步减少交集运算的次数,取得更好的技术效果。
实施例三
实施例一中步骤103提到对索引文档集进行包括选择操作在内的处理,除实施例二所述的方式外,还可以这样进行:将检索单元的各索引文档集划分为两个组,将各组内的索引文档集进行交集运算,然后比较各组交集运算后的运算结果文档集的文档数目,选取文档数少的运算结果文档集作为该检索单元的检索结果。由此,按照上述描述可以构建出本发明的又一个实施例,参见附图5。本实施例与实施例一的区别在于:实施例一步骤103在本实施例中变化为:
步骤3031:将所述检索单元的索引文档集划分为两个组;
这里作为一个实施例,将检索单元的索引文档集划分为两个组,实际上,检索单元的索引文档集也可以划分为多个组,并不妨碍本发明的发明目的的实现;
步骤3032:对第一组的索引文档集进行交集运算得到第一文档集,对第二组的索引文档集进行交集运算得到第二文档集;
步骤3033:比较所述第一文档集与第二文档集的文档数目,并返回文档数目小的文档集作为该检索单元的检索结果。
本实施例在对检索语句的字符序列进行拆分得到检索单元后,将检索单元划分为两个组,对每组的索引文档集进行交集运算,然后比较每组交集运算后的文档集的文档数目,选择文档数目较小的文档集作为该检索单元的检索结果。与现有技术直接对检索单元的所有索引文档集进行交集运算获取检索单元的检索结果的方式相比,本实施例减少了交集运算的对象,从而减少了交集运算次数,有效降低了引擎检索的时间消耗,改善了搜索引擎性能,取得了良好的效果。比如检索单元为“专利申请文件”,假设各单字的索引文档数分别为1、3、5、2、4、6,按照现有技术的方法,交集运算的次数为:1×3×5×2×4×6=720次,按照本实施例的方法,将前三字的索引文档集作为第一组,后三字的索引文档集作为第二组,进行交集运算的次数为:1×3×5+2×4×6=63,由此可见,交集运算的次数大大减少,从而改善了检索系统性能。
实施例四
在实施例三的思路基础上,以减少交集运算对象达到改善检索系统性能为目的获取检索单元的检索结果的方式,除实施例二和实施例三所述的方式外,还可以在对检索单元进行分组基础上从每组中各选择一个索引文档集,再将每组分别获得的索引文档集进行交集运算,从而得到检索单元的检索结果。如附图6所示,本实施例与实施例一的区别在于:实施例一步骤103在本实施例中变化为:
步骤4031:将所述检索单元的索引文档集划分为两个组;
这里作为一个实施例,将检索单元的索引文档集划分为两个组,实际上,检索单元的索引文档集也可以划分为多个组,并不妨碍本发明的发明目的的实现;
步骤4032:比较每组中的各索引文档集的索引文档数,选取索引文档数最少的索引文档集作为该组的选择结果文档集;
这里作为一个实施例,选择每组中索引文档数最少的索引文档集作为选择结果文档集,实际上,可以从每组中任意选择索引文档集,并不妨碍本发明的发明目的的实现;
步骤4033:对所述第一组的选择结果文档集和第二组的选择结果文档集进行交集运算,将交集运算得到的结果作为该检索单元的处理结果。
为说明本实施例的技术效果,同样以实施例三所举的例子进行阐释。检索单元“专利申请文件”各单字的索引文档数同样分别为1、3、5、2、4、6,同样将“专、利、申”对应的索引文档集作为第一组,“请、文、件”对应的索引文档集作为第二组。按照现有技术的方法,交集运算的次数为:1×3×5×2×4×6=720次,按照本实施例的方法,比较每组的索引文档集的索引文档数目后选取第一组中“专”的1篇索引文档作为第一组的选择结果文档集,选取第二组中“请”的2篇索引文档作为第二组的选择结果文档集,然后进行交集运算,交集运算的次数为:1×2=2。即使选取第一组中索引文档数最多的“申”的索引文档集和第二组索引文档数最多的“件”的索引文档集,交集运算的次数也仅为5×6=30,相比于现有技术的720次也大大减少了运算次数,从而明显地改善了检索系统的检索性能。
实施例五
为更透切地描述本发明的检索方法,下面以一个具体的检索实例进行说明。附图7是本实施例具体检索实例的示意图。假设用户需要了解浙江杭州柠檬茶的有关信息,设置待检索语句为:浙江杭州柠檬茶。本实施例的检索方法的步骤包括:
步骤501:用户界面检索框接收用户输入的“浙江杭州柠檬茶”检索语句。
步骤502:根据汉语语法规则,上述检索语句被切分为“浙江”、“杭州”、“柠檬茶”三个词组,即本实施例的检索单元具体化为词组。
步骤503:根据所述词组的检索字符查询索引表获得各检索字符对应的索引文档集,以所述索引文档集为处理对象,从中选择一个索引文档集作为该检索单元的检索结果:从“浙江”中选择包含“江”的12篇索引文档作为词组“浙江”的检索结果,参见附图1,该检索结果中的文档地址分别为:A1、A3、A5、A6、A11、A13、A14、A15、A17、A18、A21、A22;从“杭州”中选择包含“州”的10篇索引文档作为词组“杭州”的检索结果,该检索结果包含的文档地址分别为A1、A3、A4、A6、A8、A9、A11、A13、A15、A16;从“柠檬茶”中选择包含“檬”的5篇索引文档作为词组“柠檬茶”的检索结果,该检索结果包含的文档地址分别为A1、A2、A3、A5、A18。
步骤504:将上述“浙江”、“杭州”、“柠檬茶”的检索结果进行两两交集运算,得到同时包含“江”、“州”、“檬”三个单字的结果文档集,该结果文档集中包括文档A1、文档A3。
步骤505:用词组“浙江”扫描上述结果文档集,判断该文档集的各篇文档是否包括“浙江”这一词组,再以同样的方式判断是否包括“杭州”、“柠檬茶”这两个词组,扫描结果是文档A1、文档A3同时包含“浙江”、“杭州”、“柠檬茶”三个词组,则返回文档A1、文档A3。
本实施例取得的有益效果与前述实施例相似,此处不予重复描述。
实施例六
实际上,在实施例五步骤503中,从三个词组的索引文档集中分别选取一个索引文档集作为各词组的检索结果的选择方式虽然可以是任意的,但是一种比较优选的方式是选择词组中索引文档数目最少的索引文档集。由此,构成本发明方法的又一个实施例。与实施例五相比,本实施例的不同之处在于,实施例五的步骤503、504、505变化为:
步骤603(a):根据词组“浙江”的“浙”、“江”两个单字对应的索引字符查询索引表,得到包含“浙”的10篇索引文档和包含“江”的12篇索引文档的两个索引文档集,两者比较后选取索引文档数较少的包含“浙”的索引文档集作为“浙江”词组的检索结果;根据词组“杭州”的“杭”、“州”两个单字对应的索引字符查询索引表,得到包含“杭”的8篇索引文档和包含“州”的10篇索引文档的两个索引文档集,两者比较后选取文档数较少的包含“杭”的索引文档集作为“杭州”词组的检索结果;根据“柠檬茶”的“柠”、“檬”、“茶”三个单字对应的索引字符查询索引表,得到包含“柠”的6篇索引文档、包含“檬”的5篇索引文档和包含“茶”的9篇索引文档这样三个索引文档集,三者比较后选取文档数最少的包含“檬”的索引文档集作为“柠檬茶”词组的检索结果;
步骤604:将上述“浙江”、“杭州”、“柠檬茶”的检索结果进行两两交集运算,得到同时包含“浙”、“杭”、“檬”三个单字的结果文档集,该文档集包括文档A1、文档A2、文档A3。
步骤605:用词组“浙江”扫描上述结果文档集,判断该文档集的各篇文档是否包括“浙江”这一词组,再以同样的方式判断是否包括“杭州”、“柠檬茶”这两个词组,扫描结果是仅有文档A1、文档A3同时包含“浙江”、“杭州”、“柠檬茶”,则返回文档A1、文档A3。
本实施例通过选取检索单元中索引文档数最少的索引文档集进行交集运算,进一步减少了交集运算的运算对象的数量,从而改善了单字检索系统检索性能。
实施例七
同样地,要通过减少交集运算的对象达到改善检索系统性能的目的,除按照实施例五中步骤503所述的获取检索单元检索结果的方式进行外,还可以按照下面介绍的方式获取检索单元的检索结果,由此构成实施例七。本实施例与实施例五的区别在于,实施例五的步骤503、504、505变化为:
步骤7031(a):根据词组“浙江”中的单字“浙”对应的索引字符查询索引表获取包含“浙”的10篇索引文档,根据词组“浙江”中的单字“江”对应的索引字符查询索引表获取包含“江”的12篇索引文档;
步骤7031(b):比较词组“浙江”的“浙”的索引文档数和“江”的索引文档数,得到索引文档数据小的“浙”的索引文档集作为词组“浙江”检索结果,该检索结果的10篇文档的地址为A1、A2、A3、A4、A7、A8、A10、A12、A17、A20;
步骤7032(a):根据词组“杭州”中的单字“杭”对应的索引字符查询索引表获取包含“杭”的8篇索引文档,根据词组“杭州”中的单字“州”对应的索引字符查询索引表获取包含“州”的10篇索引文档;将词组“杭州”的两个索引文档集划分为两组,这里每组仅包括一个索引文档集;
步骤7032(b):选取第一组中“杭”的8篇索引文档作为第一组的选择结果文档集,选取第二组中的“州”的10篇索引文档作为第二组的选择结果文档集;
步骤7032(c):对第一组的选择结果文档集和第二组的选择结果文档集进行交集运算得到2篇同时包含上述两个单字的索引文档,该2篇索引文档集作为词组“杭州”的检索结果,该检索结果包含的文档地址为A1、A3;
步骤7033(a):根据词组“柠檬茶”的三个单字分别查询索引表,获得包含该三个单字的三个索引文档集,将该三个索引文档集划分为两组,第一组为包含“柠”和“檬”的两个索引文档集,第二组为包含“茶”一个索引文档集;
步骤7033(b):将包含“柠”的索引文档集与包含“檬”的索引文档集进行交集运算,得到文档A1、文档A3、文档A5共三篇文档作为第一文档集;将包含“茶”的9篇索引文档作为第二文档集;
步骤7033(c):比较第一文档集与第二文档集的文档数目,返回文档数目小的文档集,即第一文档集作为词组“柠檬茶”的检索结果,该检索结果包含的文档的地址为A1、A3、A5;
步骤704:将上述分别得到的“浙江”、“杭州”、“柠檬茶”的检索结果进行两两交集运算,得到同时包含“浙”、“杭州”、“柠檬”的结果文档集2篇,该结果文档集包含文档A1、文档A3;
步骤705:用词组“浙江”扫描上述结果文档集,判断该文档集的各篇文档是否包括“浙江”这一词组,再以同样的方式判断结果文档集中是否包括“杭州”、“柠檬茶”这两个词组,扫描结果是仅有文档A1、文档A3同时包含“浙江”、“杭州”、“柠檬茶”,则返回文档A1、文档A3。
本实施例在对三个词组中的索引文档集进行处理时采取了不同的方式,这些方式均有效减少了交集运算的对象,从而减少了交集运算的次数,改善了检索系统性能。
实施例八
不同的检索系统所预设的语法规则不同,不同水平的用户进行检索所输入的检索语句也呈现出差异,如果对不符合检索系统语法规则的检索语句进行检索既浪费了时间,也无法得到正确的检索结果。因此,为进一步改善本发明提供的检索方法,本发明优选在接收检索语句后对所述检索语句进行语法检查。语法检查处理包括语法检查与化简处理,主要目的在于排除那些不符合检索系统预设语法规则的检索语句和剔除检索语句中无意义的多余字符,比如空格、箭头等控制字符。具体步骤为:
读取检索语句,调用预设语法规则对该语句进行比对,如果检索语句不符合语法规则,则系统报错,请求重新输入正确的检索语句;比如,检索语句:词组1ANDAND词组2,由于两个逻辑词间未表示出逻辑层次关系,不符合语法规则,则检索系统报错,请求用户修正检索语句;如果检索语句符合语法规则,进行化简处理;
判断检索语句中是否存在除逻辑词与字符外的其他符号,如果是,则剔除该符号,比如将上述检索语句中的两个空格去掉。
对检索语句进行语法处理有利于对检索语句进行检索单元的拆分。
实施例九
为进一步提高索引系统的检索性能,检索语句按照自然语言的语法规则进行拆分检索单元后,还可以考虑根据用户的检索历史对拆分的检索单元进行归并操作,以减少检索单元的数量,进而减少交集运算的运算对象,由此形成实施例九。本实施例的方法是在实施例一的步骤102之后增加检索单元归并步骤,其他步骤内容不变,仅将序号作相应调整。
步骤9021:读取第一检索单元和第二检索单元,根据第一检索单元查询用户检索历史表,所述检索历史表登记有第一检索单元与第二检索单元在同次检索中捆绑检索的频度;
步骤9022:判断所述频度是否超过预设阀值,如果是,则将第一检索单元与第二检索单元归并为一个检索单元。
用户的检索历史反应了用户的检索倾向,统计分析检索历史,可以指导检索单元的合并操作。如果分析用户的检索历史发现:检索单元1与检索单元2经常被用户捆绑在一起检索,那么就没必要将检索单元1与检索单元2看成两个完全独立的检索单元进行步骤103,而是在进行步骤103之前将该两个检索单元归并为一个检索单元,那么在选取检索单元中索引文档数目最少的索引文档集时,由于检索单元由原来的2个变成现在的1个,从而减少了交集运算的运算对象,提高了检索系统的性能。举例而言:假设用户需要检索“专利知识普及程度”,按照自然语言语法规则,该检索语句将被拆分为“专利”、“知识”、“普及”、“程度”四个检索单元,按照前述实施例的方法应当从四个检索单元的各索引文档集中分别选择一个索引文档集合作为各检索单元的检索结果,然后进行交集运算。但是,我们发现用户具有如附图8所示的检索历史:“专利”与“知识”两个检索单元在80%的情况下、“普及”、“程度”两个检索单元在60%的情况下是捆绑检索的,频度预设阀值若为70%,那么就有必将“专利”和“知识”合并为一个检索单元,合并后的检索语句仅有三个检索单元,仅需分别选取三个索引文档集作为三个检索单元的检索结果,然后对这三个检索结果进行交集运算,这样运算对象得以减少,有效提高了检索系统的性能。
实际上,本实施例中的检索单元归并的根据并不限于用户的检索历史,还可以是其他预设规则。比如可以是语言的使用相关性。举例而言:检索单元3与检索单元4大多数时候被结合在一起使用,那么就没必要将检索单元3与检索单元4看成两个完全独立的检索单元进行步骤103,而是在进行步骤103之前将该两个检索单元归并为一个检索单元,那么在选取检索单元中索引文档数目最少的索引文档集时,检索单元由原来的2个变成现在的1个,从而减少了交集运算的运算对象,提高了检索系统的性能。
实施例十
以减少检索单元的数量为目的的归并操作,除实施例九所述的方法外,本发明还优选本实施例的方法。同样地,本实施例的方法是在实施例一的步骤102之后增加检索单元归并步骤,其他步骤内容不变,仅将序号作相应调整。
步骤1021:读取第一检索单元和第二检索单元;
步骤1022:查询预设检索单元关系表,判断是否登记第一检索单元对第二检索单元的唯一限定关系,如果是,则将第一检索单元和第二检索单元归并为第二检索单元;所述预设检索单元关系表登记有一检索单元对另一检索单元的唯一限定关系。
比如,检索语句为:西藏布达拉宫,该检索语句被按照自然语言拆分为“西藏”、“布达拉宫”两个检索单元,但是,由于人所共知布达拉宫仅有一个,“西藏”这个修饰语在检索中可以略去,因此这两个检索单元可归并为一个检索单元“布达拉宫”,这样并不会发生检索错误,但却减少了检索单元数量,从而提高了检索系统的性能。
实施例十一
上述这些实施例中可以在检索语句的字符序列拆分得到检索单元之后对所述检索单元进行规范化处理,从而形成上述实施例的一个变型实施例十一。规范化处理是对检索单元的检索字符进行语言处理,其主要目的在于方便读取检索单元的各索引文档集。由于创建单字索引系统的索引表时所使用的索引字符为常规形态,没有自然语言中“时”、“数”、大小写等变化,而用户输入的检索语句可能带有“时”、“数”等语言因素,因此,为便于根据检索单元的检索字符获取该检索字符对应的索引文档,必须将带有上述语言变化的检索字符转换为索引字符的形态,即将这些检索字符与索引字符之间建立对应关系。如用户在检索语句中输入了“GO”、“went”、“go”等检索单元的元素,单字索引系统创建的索引表中仅有索引字符“go”,那么由检索单元的检索字符获取索引文档集时,就只能得到“go”检索字符的索引文档集,对于“GO”和“went”检索字符将不能获得索引文档集,这势必导致检索错误。为此,有必要将“GO”和“went”均与索引字符“go”建立对应关系,这样即可避免检索错误。实现上述过程的步骤为:
读取检索单元的检索字符,将该检索字符与字典进行比照,如果不是该检索字符的常态形式,则将该检索字符转化为常态形式。
经过对拆分出来的检索单元的检索字符进行上述语言处理后,建立了检索单元检索字符与索引字符之间的对应关系,避免了可能出现的检索错误,方便了根据该检索字符对应的索引字符读取索引文档集,加快了后续进程,从而改善了检索系统的整体性能。
实施例十二
上述所有实施例中可以在完成过滤步骤后对文档进行排序,由此形成实施例十二。排序必须依据一定的规则进行,这里主要介绍相关性排序,其原理如下:
第一步:计算检索单元权重。就单篇文档而言,一个检索单元在该文档中出现频次(TermFrequency,简称tf)越高,该检索单元越重要;频次越少,该检索单元越不重要。频次高的检索单元权重大,在计算文档之间的相关性中发挥作用大。就海量文档而言,一个检索单元在这些文档中出现的频次(DocumentFrequency,简称df)越高,则该检索单元越不重要,因为该检索单元可能过于普通,不足以区分这些文档。
然后采用下述公式计算检索单元的权重:
式中:tft,d指第t个检索单元在文档d中出现的频次,dft指包含检索单元t的文档数目,n指文档的总数,wt,d指第t个检索单元在文档d中的权重。
上述公式仅仅是一种实现方式,也可以采用其他计算权重的方法。
第二步:计算文档间的相关性。计算文档间相关性的方法较多,这里介绍向量空间模型法(VSM),即通过判断检索单元的重要程度得到文档相关度。
文档可看作由一系列检索单元组成,每个检索单元都具有根据上述方法计算的相应权重,不同检索单元根据其在文档中的权重来影响文档相关性。
这样,文档中的所有检索单元的权重被定义为一个向量:
Document={term1,term2,......,termN}
DocumentVector={weight1,weight2,......,weightN}
为方便起见,将查询语句同样看作一个简单的文档,且用向量表示如下:
Query={term1,term2,......,termN}
QueryVector={weight1,weight2,......,weightN}
然后将所有搜索出的文档向量及查询向量放到一个N维空间中,每个检索单元为一维,参见附图9。
由此,两个向量之间的夹角越小,相关性越大。所以可以通过计算夹角的余弦值作为文档相关性的打分,夹角越小,余弦值越大,打分越高,相关性越大。相关性打分公式如下:
式中:向量Vq为检索语句q中各检索字符的权重构成的矢量,向量Vd为文档d中包含的各检索单元的权重构成的矢量,Wi,q指检索语句q中第i个检索字符的权重,Wi,d指文档d中第i个检索单元的权重,score(q,d)指用检索语句q进行检索得到的文档d的相关性分值。
按照上述方法计算出被过滤后的文档的相关性分值,然后根据相关性分值大小对文档进行排序,将分值最高的文档显示在用户界面的最前面。
本实施例中增加的排序步骤包括:计算检索单元在过滤结果文档中的权重;根据上述权重计算文档相关性分值;根据上述分值大小排序。
本发明对过滤后的结果文档进行文档排序,并按照用户需要返回排序结果,满足了用户对检索结果的不同文档的予以不同关注度的需求,进一步提高了检索系统的整体性能。
实施例十三
本发明还提供了一种基于单字索引系统的检索装置。附图10是本发明装置的实施例组成框图。该实施例的装置1300包括:检索语句接收模块1301、字符序列提取与拆分模块1302、索引文档集获取模块1303、索引文档集处理模块1304、交集运算模块1305和判断模块1306,其中:
检索语句接收模块1301,用于接收用户输入的检索语句;
字符序列提取与拆分模块1302,用于提取所述检索语句的字符序列,并将该字符序列进行拆分得到检索单元,所述检索单元包括至少一个检索字符;
索引文档集获取模块1303,用于根据所述检索单元的检索字符查询索引表获得各检索字符对应的索引文档集;
索引文档集处理模块1304,用于以所述索引文档集为处理对象,进行包括选择操作在内的处理,并将处理结果作为所述检索单元的检索结果;
交集运算模块1305,用于对所述各检索单元的检索结果进行交集运算并返回结果文档集;
判断模块1306,用所述各检索单元扫描所述结果文档集以判断所述结果文档集的文档是否包含所述各检索单元,如果是,则返回该文档。
本装置1300的工作过程为:检索语句接收模块1301接收用户输入的检索语句后将该语句传递给字符序列提取与拆分模块1302,由该模块从检索语句中提取出字符序列后根据自然语法规则对所述字符序列进行检索单元拆分,检索单元包括检索字符,检索字符可以是单字、词组、成语或者短句;完成检索单元拆分后,由索引文档集获取模块1303根据所述检索单元的检索字符查询索引表获取对应的索引文档集,然后以所述索引文档集为处理对象,由索引文档集处理模块1304进行包括选择操作在内的处理,将处理结果作为所述检索单元的检索结果;随后将各检索单元的检索结果输入交集运算模块1305进行交集运算,并将交集运算后结果文档集返回判断模块1305,由该模块用所述各检索单元扫描所述结果文档集以判断所述结果文档集的文档是否包含所述各检索单元,如果是,则返回该文档。
本实施例所述装置1300的索引文档集处理模块1304对索引文档集的处理方式可以有多种,不同的方式对应不同的具体结构,只要这些方式以索引文档集为处理对象进行包括选择操作在内的处理均可实现本发明目的。比如本实施例可以优选这样的组成结构:索引文档集处理模块包括:索引文档数比较子模块、索引文档集选择子模块,其中:所述索引文档数比较子模块,用于比较所述检索单元的各索引文档集的索引文档数;所述索引文档集选择子模块,用于选择索引文档数最少的索引文档集作为处理结果。
索引文档集处理模块1304除上述组成结构外,还可优选附图11所示的组成结构:索引文档集处理模块1304包括索引文档集划分子模块13041、第一交集运算子模块13042、索引文档数比较子模块13043、第一选择子模块13044,其中:
索引文档集划分子模块13041,用于将所述检索单元的索引文档集划分为至少两个组;
第一交集运算子模块13042,用于分别将每组内的索引文档集进行交集运算得到各组的交集运算结果文档集;
索引文档数比较子模块13043,用于比较各组的交集运算结果文档集内的索引文档数;
第一选择子模块13044,用于选择索引文档数最少的交集运算结果文档集作为处理结果。
按照上述索引文档集处理模块组成结构的思路,实际上,索引文档集处理模块1304还可以是如下的组成结构:索引文档集处理模块包括索引文档集划分子模块、索引文档数比较子模块、第二选择子模块和第二交集运算子模块,其中:所述索引文档集划分子模块,用于将所述检索单元的索引文档集划分为至少两个组;所述索引文档数比较子模块,用于比较每组内各索引文档集的索引文档数;所述第二选择子模块,用于分别选择索引文档数最少的索引文档集作为该组的选择结果文档集;所述第二交集运算子模块,对所述各组的选择结果文档集进行交集运算,将交集运算得到的结果作为处理结果。这两种组成结构的差别在于:选择操作和交集运算操作的顺序不同,索引文档集处理模块可以先对划分为小组的索引文档集进行交集运算,再对各组的交集运算结构进行选择操作,也可以先对划分为小组的索引文档集进行选择操作,再对各组的选择结果文档集进行交集运算。
上述装置1300中还可以包括语法检查模块1307,语法检查模块包括进行语法检查与化简处理,主要目的在于排除不符合检索系统预设语法规则的检索语句和剔除检索语句中无意义的多余字符。具体工作过程参见实施例八。
上述装置1300中还可以包括检索单元归并模块1308,用于按照预设规则对拆分的检索单元进行归并,这里的预设规则可以是根据用户的检索历史进行合并,也可以根据语言使用相关性和检索单元间的唯一限定关系进行归并。具体归并过程参见实施例九和十。经过检索单元归并模块的对检索单元进行归并操作后减少了检索单元的数量,进而减少交集运算的运算对象,改善了检索系统的性能。
上述装置1300中还可以包括规范化处理模块1309,用于对检索语句合检索单元进行第二预处理,该处理是对检索单元的检索字符进行语言处理,其主要目的在于方便读取检索单元检索字符对应的索引文档集。经过第二预处理单元预处理后的检索单元的检索字符,避免了对仅有形式差异而实际却为相同检索字符进行的操作重复,减少了检索的整体时间耗费,改善了检索系统的整体性能。
上述装置1300还可以包括保存模块1310,用于对判断模块1306判断后返回的文档进行保存。保存媒质可以是网络硬盘、邮箱、其他外接存储设备。
上述装置1300还可以包括排序模块1311,用于对判断模块1306判断出的包括各检索单元的文档进行排序,该模块的工作过程参见实施例十二所述,这里不在重复。排序模块1311可以由不同的实现方式,本发明优选如附图12所示的组成结构:检索单元权重计算子模块13111,用于根据所述各检索单元在返回文档中出现的频率计算各检索单元的权重;文档分值计算子模块13112,用于根据上述权重计算所述返回文档的相关性分值;排序子模块13113,用于根据上述文档分值进行排序。
本装置实施例在字符序列提取与拆分模块拆分得到检索单元后,由索引文档集获取模块根据检索单元的检索字符获得对应的索引文档集,然后以所述索引文档集为处理对象进行包括选择操作在内的处理,并将处理结果作为所述检索单元的检索结果,而不是直接对检索单元中每个检索字符对应的索引文档集进行交集运算得到该检索单元的检索结果,这样大大减少了交集运算的运算对象,从而减少了运算次数,有效降低了引擎检索的时间消耗,改善了引擎性能。此外,本发明的装置实施例将现有技术中的两级交集运算简化为检索单元各索引文档集级别的处理操作和检索单元级别的判断操作,就交集运算而言,如前所述本实施例减少了交集运算的运算对象改善了检索系统性能;就判断操作而言,按照拆分的检索单元进行一次判断操作要比进行文档集合间的交集运算简单得多,缩短了检索的时间耗费,从而也大大改善了检索系统性能。再者,本发明的装置实施例对过滤后的结果文档进行文档排序,并按照用户需要返回排序结果,满足了用户对检索结果中不同文档的不同关注度的需求,进一步提高了检索系统的整体性能。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

Claims (6)

1.一种基于单字索引系统的检索方法,所述单字索引系统包含预先建立的索引表,其特征在于,该方法包括:
接收检索语句;
提取所述检索语句的字符序列,并将该字符序列进行拆分得到检索单元,所述检索单元包括至少一个检索字符;按照第一预设规则对拆分的检索单元进行归并处理,包括:读取第一检索单元和第二检索单元,根据第一检索单元查询用户检索历史表,所述检索历史表登记有第一检索单元与第二检索单元在同次检索中捆绑检索的频度;判断所述频度是否超过预设阀值,如果是,则将第一检索单元与第二检索单元归并为一个检索单元;
或者,读取第一检索单元和第二检索单元,查询预设检索单元关系表,判断是否登记第一检索单元对第二检索单元的唯一限定关系,如果是,则将第一检索单元和第二检索单元归并为第二检索单元;所述预设检索单元关系表登记有一检索单元对另一检索单元的唯一限定关系;所述第一检索单元和第二检索单元是拆分的检索单元中任意两个单元;
根据所述检索单元的检索字符查询索引表,获得各检索字符对应的索引文档集;以所述索引文档集为处理对象,进行包括选择操作在内的处理,并将处理结果作为该检索单元的检索结果;
对所述各检索单元的检索结果进行交集运算并返回结果文档集;
用所述各检索单元扫描所述结果文档集以判断所述结果文档集的文档是否包含所述各检索单元,如果是,则返回该文档;
根据所述各检索单元在返回文档中出现的频率计算各检索单元的权重;根据上述权重计算所述返回文档的相关性分值;根据上述分值对返回文档进行排序。
2.根据权利要求1所述的方法,其特征在于,所述以索引文档集为处理对象,进行包括选择操作在内的处理的步骤包括:比较所述检索单元的各索引文档集的索引文档数,选择索引文档数最少的索引文档集作为该检索单元的处理结果。
3.根据权利要求1所述的方法,其特征在于,所述以索引文档集为处理对象,进行包括选择操作在内的处理的步骤包括:
将所述检索单元的索引文档集划分为至少两个组;
分别将每组的索引文档集进行交集运算,得到各组的运算结果文档集;
比较所述各组的运算结果文档集内的索引文档数,选择索引文档数最少的文档集作为所述检索单元的处理结果。
4.根据权利要求1所述的方法,其特征在于,所述以索引文档集为处理对象,进行包括选择操作在内的处理的步骤包括:
将所述检索单元的索引文档集划分为至少两个组;
比较每组内各索引文档集的索引文档数,分别选择索引文档数最少的索引文档集作为该组的选择结果文档集;
对所述各组的选择结果文档集进行交集运算,将交集运算得到的文档集作为所述检索单元的处理结果。
5.根据权利要求1所述的方法,其特征在于,所述检索字符包括单字、词组、成语或短句。
6.一种基于单字索引系统的检索装置,所述单字索引系统包含预先建立的索引表,其特征在于,该装置包括:
检索语句接收模块、字符序列提取与拆分模块、检索单元归并模块、索引文档集获取模块、索引文档集处理模块、交集运算模块、判断模块和排序模块,其中:
所述检索语句接收模块,用于接收检索语句;
所述字符序列提取与拆分模块,用于提取所述检索语句的字符序列,并将该字符序列进行拆分得到检索单元,所述检索单元包括至少一个检索字符;
所述检索单元归并模块,用于读取第一检索单元和第二检索单元,根据第一检索单元查询用户检索历史表,所述检索历史表登记有第一检索单元与第二检索单元在同次检索中捆绑检索的频度;判断所述频度是否超过预设阀值,如果是,则将第一检索单元与第二检索单元归并为一个检索单元;
或者,用于读取第一检索单元和第二检索单元,查询预设检索单元关系表,判断是否登记第一检索单元对第二检索单元的唯一限定关系,如果是,则将第一检索单元和第二检索单元归并为第二检索单元;所述预设检索单元关系表登记有一检索单元对另一检索单元的唯一限定关系;所述第一检索单元和第二检索单元是拆分的检索单元中任意两个单元;
所述索引文档集获取模块,用于根据所述检索单元的检索字符查询索引表获得各检索字符对应的索引文档集;
所述索引文档集处理模块,用于以所述索引文档集为处理对象,进行包括选择操作在内的处理,并将处理结果作为所述检索单元的检索结果;
所述交集运算模块,用于对所述各检索单元的检索结果进行交集运算并返回结果文档集;
所述判断模块,用所述各检索单元扫描所述结果文档集以判断所述结果文档集的文档是否包含所述各检索单元,如果是,则返回该文档;
所述排序模块,用于根据所述各检索单元在返回文档中出现的频率计算各检索单元的权重;根据上述权重计算所述返回文档的相关性分值;根据上述分值对返回文档进行排序。
CN201110147520.1A 2011-06-02 2011-06-02 一种基于单字索引系统的检索方法和装置 Active CN102810096B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201110147520.1A CN102810096B (zh) 2011-06-02 2011-06-02 一种基于单字索引系统的检索方法和装置
TW100131689A TW201250502A (en) 2011-06-02 2011-09-02 Search method and apparatus based on word indexing system
US13/484,174 US9311389B2 (en) 2011-06-02 2012-05-30 Finding indexed documents
PCT/US2012/040264 WO2012166960A1 (en) 2011-06-02 2012-05-31 Finding indexed documents
EP12726694.8A EP2715572A1 (en) 2011-06-02 2012-05-31 Finding indexed documents
JP2014513708A JP5746426B2 (ja) 2011-06-02 2012-05-31 インデックスドキュメントの発見
HK13101165.2A HK1173819A1 (zh) 2011-06-02 2013-01-28 種基於單字索引系統的檢索方法和裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110147520.1A CN102810096B (zh) 2011-06-02 2011-06-02 一种基于单字索引系统的检索方法和装置

Publications (2)

Publication Number Publication Date
CN102810096A CN102810096A (zh) 2012-12-05
CN102810096B true CN102810096B (zh) 2016-03-16

Family

ID=47233803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110147520.1A Active CN102810096B (zh) 2011-06-02 2011-06-02 一种基于单字索引系统的检索方法和装置

Country Status (7)

Country Link
US (1) US9311389B2 (zh)
EP (1) EP2715572A1 (zh)
JP (1) JP5746426B2 (zh)
CN (1) CN102810096B (zh)
HK (1) HK1173819A1 (zh)
TW (1) TW201250502A (zh)
WO (1) WO2012166960A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886639B2 (en) * 2012-04-19 2014-11-11 Sap Ag Semantically enriched search of services
US9715533B2 (en) 2013-07-02 2017-07-25 Ebay Inc. Multi-dimensional search
US9646166B2 (en) 2013-08-05 2017-05-09 International Business Machines Corporation Masking query data access pattern in encrypted data
US9852306B2 (en) * 2013-08-05 2017-12-26 International Business Machines Corporation Conjunctive search in encrypted data
US10007719B2 (en) * 2015-01-30 2018-06-26 Microsoft Technology Licensing, Llc Compensating for individualized bias of search users
US10007730B2 (en) 2015-01-30 2018-06-26 Microsoft Technology Licensing, Llc Compensating for bias in search results
CN105022787A (zh) * 2015-06-12 2015-11-04 广东小天才科技有限公司 一种推送作文的方法及装置
CN105528411B (zh) * 2015-12-03 2019-08-20 中国人民解放军海军工程大学 船舶装备交互式电子技术手册全文检索装置及方法
EP3203384A1 (en) * 2016-02-02 2017-08-09 Theo Hoffenberg Method, device, and computer program for providing a definition or a translation of a word belonging to a sentence as a function of neighbouring words and of databases
CN107480195B (zh) * 2017-07-14 2020-07-10 昆明理工大学 一种基于索引关系的古文献统一逻辑检索方法
CN107766414B (zh) 2017-09-06 2020-06-12 北京三快在线科技有限公司 多文档交集获取方法、装置、设备及可读存储介质
CN107832468B (zh) * 2017-11-29 2019-05-10 百度在线网络技术(北京)有限公司 需求识别方法和装置
CN108376170A (zh) * 2018-02-27 2018-08-07 广州酷狗计算机科技有限公司 确定检索结果的方法和装置
CN110457531B (zh) * 2019-07-23 2022-11-01 昆明理工大学 一种基于OpenMP的并行字符串查询方法
US11526672B2 (en) 2020-01-29 2022-12-13 Richard Kerr Systems and methods for term prevalance-volume based relevance
CN112562673A (zh) * 2020-12-29 2021-03-26 苏州思必驰信息科技有限公司 语音识别方法及装置
CN112783922B (zh) * 2021-02-01 2022-02-25 广州海量数据库技术有限公司 一种基于关系数据库的查询方法及装置
CN112783918A (zh) * 2021-03-15 2021-05-11 北京百度网讯科技有限公司 搜索方法、搜索装置、电子设备、存储介质和程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1822001A (zh) * 2006-03-23 2006-08-23 无敌科技(西安)有限公司 一种应用于手持式数据处理装置的单字查询方法
CN101089850A (zh) * 2007-07-17 2007-12-19 无敌科技(西安)有限公司 利用比对单字位置关系进行全文检索的系统及其方法
CN101452459A (zh) * 2007-11-30 2009-06-10 英业达股份有限公司 利用索引查找相似翻译结果的系统及其方法
CN102054007A (zh) * 2009-11-10 2011-05-11 北大方正集团有限公司 一种检索方法及检索装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748953A (en) * 1989-06-14 1998-05-05 Hitachi, Ltd. Document search method wherein stored documents and search queries comprise segmented text data of spaced, nonconsecutive text elements and words segmented by predetermined symbols
JP3073889B2 (ja) 1994-07-15 2000-08-07 三菱電機株式会社 データ転送方法
JP3514874B2 (ja) 1995-06-06 2004-03-31 富士通株式会社 フリーテキスト検索システム
US5920854A (en) 1996-08-14 1999-07-06 Infoseek Corporation Real-time document collection search engine with phrase indexing
US5913206A (en) 1997-08-15 1999-06-15 Microsoft Corporation Database system multi-column index selection for a workload
CA2400161C (en) * 2000-02-22 2015-11-24 Metacarta, Inc. Spatially coding and displaying information
US7392278B2 (en) * 2004-01-23 2008-06-24 Microsoft Corporation Building and using subwebs for focused search
US20050278309A1 (en) * 2004-06-02 2005-12-15 Perry Evans System and method for mining and searching localized business-marketing and informational data
US7536408B2 (en) 2004-07-26 2009-05-19 Google Inc. Phrase-based indexing in an information retrieval system
US7831601B2 (en) 2004-08-04 2010-11-09 International Business Machines Corporation Method for automatically searching for documents related to calendar and email entries
US7797299B2 (en) * 2005-07-02 2010-09-14 Steven Thrasher Searching data storage systems and devices
US20100299201A1 (en) * 2006-06-30 2010-11-25 Steven Thrasher Searching data storage systems and devices
US20090287676A1 (en) * 2008-05-16 2009-11-19 Yahoo! Inc. Search results with word or phrase index
US20100205190A1 (en) * 2009-02-09 2010-08-12 Microsoft Corporation Surface-based collaborative search
JP5458880B2 (ja) * 2009-03-02 2014-04-02 富士通株式会社 文書検査装置、コンピュータ読み取り可能な記録媒体および文書検査方法
NZ599047A (en) * 2009-09-26 2013-02-22 Sajari Pty Ltd Document analysis and association system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1822001A (zh) * 2006-03-23 2006-08-23 无敌科技(西安)有限公司 一种应用于手持式数据处理装置的单字查询方法
CN101089850A (zh) * 2007-07-17 2007-12-19 无敌科技(西安)有限公司 利用比对单字位置关系进行全文检索的系统及其方法
CN101452459A (zh) * 2007-11-30 2009-06-10 英业达股份有限公司 利用索引查找相似翻译结果的系统及其方法
CN102054007A (zh) * 2009-11-10 2011-05-11 北大方正集团有限公司 一种检索方法及检索装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
An Efficient Document Retrieval Method Using n-gram Indexing;Yasuahi Ogawa等;《Systems and Computers in Japan》;20020201;第33卷(第2期);第54-61页 *

Also Published As

Publication number Publication date
EP2715572A1 (en) 2014-04-09
HK1173819A1 (zh) 2013-05-24
JP2014519123A (ja) 2014-08-07
WO2012166960A1 (en) 2012-12-06
CN102810096A (zh) 2012-12-05
TW201250502A (en) 2012-12-16
JP5746426B2 (ja) 2015-07-08
US20120310915A1 (en) 2012-12-06
US9311389B2 (en) 2016-04-12

Similar Documents

Publication Publication Date Title
CN102810096B (zh) 一种基于单字索引系统的检索方法和装置
CN102479191B (zh) 提供多粒度分词结果的方法及其装置
US9864808B2 (en) Knowledge-based entity detection and disambiguation
CA2248793C (en) Statistical thesaurus, method of forming same, and use thereof in query expansion in automated text searching
CN106294639B (zh) 基于语义的跨语言专利新创性预判分析方法
US10346494B2 (en) Search engine system communicating with a full text search engine to retrieve most similar documents
JP2015523659A (ja) 多言語混合検索方法およびシステム
CN101819578A (zh) 检索方法、索引建立方法和装置及检索系统
CN108875065B (zh) 一种基于内容的印尼新闻网页推荐方法
KR100847376B1 (ko) 질의어 자동 추출을 이용한 검색 방법 및 장치
CN110276009B (zh) 一种联想词的推荐方法、装置、电子设备及存储介质
CN104252542A (zh) 一种基于词库的动态规划中文分词方法
CN111061828B (zh) 一种数字图书馆知识检索方法及装置
CN102385597B (zh) 一种poi的容错搜索方法
CN101599075B (zh) 汉语缩略语处理方法和装置
CN110287284B (zh) 语义匹配方法、装置及设备
CN114064820B (zh) 一种基于混合架构的表格语义查询粗排方法
CN114398883B (zh) 演示文稿生成方法、装置、计算机可读存储介质及服务器
CN113420219A (zh) 用于查询信息纠错的方法、装置、电子设备及可读存储介质
CN112507097B (zh) 一种提高问答系统泛化能力的方法
Ak et al. SU-NLP at TREC NEWS 2020.
CN112883143A (zh) 一种基于Elasticsearch的数字展会搜索方法与系统
CN114706962A (zh) 信息检索的方法及装置、知识图谱构建的方法及装置
CN113761104A (zh) 知识图谱中实体关系的检测方法、装置和电子设备
CN115879441B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1173819

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1173819

Country of ref document: HK