一种对英文检索的检索条件进行提示的***及方法
技术领域
本发明涉及搜索引擎领域,尤其涉及一种对英文检索的检索条件进行提示的***及方法。
背景技术
伴随着计算机信息时代的不断发展和进步,搜索引擎不管是在互联网搜索领域还是在企业内部的搜索领域都得到了广泛的应用,搜索引擎除了拥有根据用户输入的检索条件返回与之相关结果的基本功能外,搜索引擎的一些智能化功能也在不断的涌现,当搜索引擎的用户输入一个英文条件进行检索时,传统的搜索引擎不会对检索的条件进行任何的检查,不管用户输入的是否有误,或者条件根本没有结果等等情况,搜索引擎都不会进行任何检索条件的相关提示。
目前的搜索引擎***中一般没有英文条件的提示功能,有的搜索引擎***的提示也只是简单的应用日志法或者字典法进行提示,简单日志法主要是将每次的检索条件都记录下来,然后对新的检索请求时利用检索条件与日志库中的条件进行匹配,如果完全匹配则不进行提示,如果没有完全匹配的则提示最相似的一个条件;字典法主要是通过将单词预先收录到一个字典库中作为日志库,不对用户的检索条件进行记录,判断是否提示的过程和日志法一样,也是先判断字典库中是否有这个检索条件,如果有则不提示,如果没有则提示最相似的那一个词。
由于现在搜索引擎***的应用越来越广,用户对搜索引擎的依赖也越来越大,除了满足用户根据输入条件返回相应结果的基本功能外,还需要***有更加智能化的功能,当用户检索条件中有错误的单词或者输入了一个不太准确的条件以及检索条件没有结果等情况时,要求搜索引擎***能够进行一些合理的提示,因此现有技术存在一些缺陷:
1)对于简单的日志法的搜索引擎***,由于日志记录的是用户的整个检索条件,而不是检索条件被分词后的多个条件,因此很多条件中存在以前出现过的词却得不到合理的提示
2)对于简单的日志法,由于提示的依据是日志库中存在相同的检索条件就不会提示,这样很可能以前检索时输入的错误条件或者不准确的条件,后面再次检索时仍然得不到合理的提示
3)对于采用简单日志法得到的提示,也只是根据历史检索条件得到的,而历史的检索条件中没有是否有结果的标识,因此很有可能即使得到了提示,但是也没有相应提示的结果,这样的处理并不友好。
4)对于采用字典法的搜索引擎***,由于处理过程和日志法一样,因此同样存在上述的问题,而且除了这个外,还存在字典库收录不全的情况,以及绝对的根据字典进行判断,很可能出现本来就是想搜索一个词时,却提示另外一个词,这样的处理显然也不友好。
发明内容
本发明要解决的技术问题就是提出一种对英文检索的检索条件进行提示的***及方法,解决搜索引擎缺乏对英文检索时的提示,以及解决现有技术中提示不合理的问题。
为了解决上述技术问题,本发明提供一种对英文检索的检索条件进行提示的方法,包括:
将检索条件划分为一个或多个检索词;
从检索日志索引库中检索所述检索词的相似词;
根据检索相似词的结果以及配置的策略计算提示的内容。
进一步地,上述方法还可具有以下特点:
所述将检索条件划分为一个或多个检索词的步骤之前,还设置配置参数,所述配置参数包括:相似词检索的最低相似度、固定前缀字符匹配个数、检索次数权重因子和记录总数权重因子。
进一步地,上述方法还可具有以下特点:
所述将检索条件划分为一个或多个检索词的步骤,具体包括:
接收到用户输入的检索请求后,判断是否进行分词处理,若所述检索请求的检索类型是精确检索,则不进行分词处理,将所述检索请求的检索条件作为一个检索词;若所述检索请求的检索类型是模糊检索,则对所述检索请求的检索条件进行分词处理,将所述检索条件分为一个或多个检索词。
进一步地,上述方法还可具有以下特点:
所述将检索条件划分为一个或多个检索词的步骤执行之后,还执行:
从内容索引库检索所述检索词,并根据检索到每个检索词的记录总数和每个检索词的被检索次数,更新检索日志索引库。
进一步地,上述方法还可具有以下特点:
所述从检索日志索引库中检索所述检索词的相似词的步骤,具体包括:
从检索日志索引库中检索符合最低相似度以及固定前缀字符匹配个数的每个检索词的相似词,并得到每个相似词的相似度、被检索次数和记录总数。
进一步地,上述方法还可具有以下特点:
所述根据检索相似词的结果以及配置的策略计算提示的内容的步骤,具体包括:
针对每个检索词,计算每个相似词的被检索次数在所有相似词中的比例P1,将每个相似词的P1乘以检索次数权重因子得到检索次数分值R1,以及,计算每个相似词的记录总数在所有相似词中的比例P2,将每个相似词的P2乘以记录总数权重因子得到记录总数分值R2;
将每个相似词的(R1+R2)乘以该相似词的相似度得到提示分值T,若提示分值T最高的相似词不同于检索词,则将所述提示分值T最高的相似词作为提示内容进行提示。
进一步地,上述方法还可具有以下特点:
所述检索日志索引库为采用搜索引擎的索引技术生成的索引库;
采用搜索引擎的搜索技术从所述检索日志索引库中检索相似词。
为了解决上述技术问题,本发明还提供一种对英文检索的检索条件进行提示的***,应用于搜索引擎中,所述***包括分词模块、相似词检索模块、提示内容计算中心和检索日志索引库;
所述分词模块用于将检索条件划分为一个或多个检索词,并告知相似词检索模块;
所述相似词检索模块用于从检索日志索引库中检索所述检索词的相似词;
所述提示内容计算中心用于根据相似词检索模块的检索结果以及配置的策略计算提示的内容。
进一步地,上述***还可具有以下特点:
所述***还包括配置模块,
所述配置模块用于设置配置参数,并将配置参数中的相似词检索的最低相似度和固定前缀字符匹配个数告知给分词模块;将检索次数权重因子和记录总数权重因子告知提示内容计算中心。
进一步地,上述***还可具有以下特点:
所述分词模块进一步用于接收到用户输入的检索请求后,判断是否进行分词处理,若所述检索请求的检索类型是精确检索,则不进行分词处理,将所述检索请求的检索条件作为一个检索词;若所述检索请求的检索类型是模糊检索,则对所述检索请求的检索条件进行分词处理,将所述检索条件分为一个或多个检索词。
进一步地,上述***还可具有以下特点:
所述***还包括检索词检索模块和内容索引库,
所述检索词检索模块用于从内容索引库检索所述检索词,并根据检索到每个检索词的记录总数和每个检索词的被检索次数,更新检索日志索引库。
进一步地,上述***还可具有以下特点:
所述相似词检索模块进一步用于从检索日志索引库中检索符合最低相似度以及固定前缀字符匹配个数的每个检索词的相似词,并得到每个相似词的相似度、被检索次数和记录总数。
进一步地,上述***还可具有以下特点:
所述提示内容计算中心进一步用于针对每个检索词,计算每个相似词的被检索次数在所有相似词中的比例P1,将每个相似词的P1乘以检索次数权重因子得到检索次数分值R1,以及,计算每个相似词的记录总数在所有相似词中的比例P2,将每个相似词的P2乘以记录总数权重因子得到记录总数分值R2;将每个相似词的(R1+R2)乘以该相似词的相似度得到提示分值T,若提示分值T最高的相似词不同于检索词,则将所述提示分值T最高的相似词作为提示内容进行提示。
与现有技术相比较,本发明的有益技术效果在于:
1)对检索条件进行分词处理后再进行相似词的检索以及日志索引库的生成,这样可以最大限度的对检索条件中每个检索词进行检查,可以不断的丰富检索日志索引库为后面请求的提示提供数据来源;
2)检索日志索引库中除了记录有历史检索的检索词以外,还记录有对应检索词的检索次数,以及最近一次请求检索时内容索引库中存在的记录总数,结合用户配置的次数权重和结果次数权重,可以根据用户的关心重点更加合理化的判断是否需要进行提示,以及提示的内容,
3)检索日志库中除了有通过历史请求来生成的检索词以外,***还预置了字典库到检索日志索引库中,字典库库中包括有标准的英文单词,词组以及自定义的一些特殊的词语或者词组等;在检索请求量少或者请求日志库还不丰富的情况下时,可以通过字典库方式进行合理化提示的判断,同时还具有单词纠错的功能;
4)对于检索日志库的维护都是采用搜索引擎的索引技术,将所有的检索日志建成一个索引库,同时对于日志库的相似词检索也是采用了搜索引擎的基本的检索技术,这样不仅增强了搜索引擎***的本身,同时还增强了搜索引擎***的内聚性,特别是利用索引和检索技术,可以充分发挥出搜索引擎在大数据量处理时较高的性能,进一步提高提示的效率。
附图说明
图1是本发明实施例的流程图;
图2是本发明实施例的***示意图。
具体实施方式
下面结合附图及具体实施例对本发明进行详细说明。
如图1所述,为本发明实施例的方法流程,包括如下步骤:
步骤101,设置配置参数;
本步骤为可选步骤,若不设置配置参数,则采用***默认的配置参数;
配置参数包括:相似词检索的最低相似度、固定前缀字符匹配个数、检索次数权重因子和记录总数权重因子;
其中,固定前缀字符匹配个数为可选参数,即该参数可以是0;若设置了固定前缀字符匹配个数为n,则相似词检索时,相似词与检索词的前面n个字符必须匹配;
具体地,根据实际的应用需要,对相似词检索的最低相似度和固定前缀字符匹配个数参数进行配置,如果在进行相似检索时,如果不动态的指定最低相似度和固定前缀字符匹配个数时,***将使用默认的配置参数进行检索;同时需要配置提示内容运算中心用到的检索次数权重因子和记录总数权重因子,这两个因子的配置只需要配置一个,另一个则为1减去已配置了的因子,因子配置为0到1;
步骤102,将检索条件划分为一个或多个检索词;
具体地,分词模块接收到用户输入的检索请求后,判断是否进行分词处理,若所述检索请求的检索类型是精确检索,则不进行分词处理,将所述检索请求的检索条件作为一个检索词;若所述检索请求的检索类型是模糊检索,则对所述检索请求的检索条件进行分词处理,将所述检索条件分为一个或多个检索词;
其中,检索条件的来源是从检索请求中提取而来,除了条件本身的内容还包括检索请求的其他相关信息,比如检索类型,是模糊检索还是精确检索;
分词模块分词的时候,将源条件分解成最小的检索词单元,还会屏蔽掉一些特定词,如a,an,the等无意义词,特定的词可以通过配置的方式在***进行维护;划分得到的一个或者多个检索词将会被用于后续的检索日志索引库检索和内容索引库检索;同时这些检索词还会被更新到检索日志索引库中;
步骤103,从检索日志索引库中检索所述检索词的相似词;
其中,相似词检索模块从检索日志索引库中检索符合最低相似度以及固定前缀字符匹配个数的每个检索词的相似词,并得到每个相似词的相似度、被检索次数和记录总数;
具体地,根据102得到的检索词,调用搜索引擎扩展接口从检索日志索引库中进行相似词的检索,这里的检索日志索引库首先是采用搜索引擎的索引技术生成的一个索引库,检索词的相似词检索,主要是根据分词模块处理后得到的检索词,然后通过***的默认配置的或者动态指定的最低相似度以及固定前缀字符匹配个数进行相似词检索,相似词的检索通过调用搜索引擎扩展的相似词检索接口进行检索,如果相似词结果中存在与检索词完全相同的词,则表示该词的相似度最高,将排在最前面,其他结果则会根据相似度和固定前缀字符匹配个数进行排列,由于有最低相似度和固定前缀字符匹配个数的条件,因此可能从检索日志索引库中得到的相似词没有结果;如果存在相似词结果,那么每个结果记录中将会有对应的相似词,相似词的相似度以及相似词总共的被检索次数和最近一次被检索时内容索引库存在的记录总数;这些结果将会在后续的提示内容运算中心得到应用;
步骤104,从内容索引库检索所述检索词,并根据检索到每个检索词的记录总数和每个检索词的被检索次数,更新检索日志索引库;
本步骤在步骤102执行之后即可执行,即可在步骤103之前或之后执行,也可以与步骤103并行执行;
具体地,根据步骤102分词模块处理后得到的检索词从内容索引库中进行检索,并得到与之匹配的检索结果,在进行每个检索词检索的过程中会将每个检索词的记录总数和检索词本身***到历史检索日志队列中以供后面检索日志索引库使用,在对检索词从内容索引库进行检索时,可以采用并行和串行的方式,在一般情况下可以由分词模块处理后,先进行检索日志索引库检索,再进行内容索引库检索;如果在某些应用中对性能有比较突出的要求,这里则可以采用并行的技术,在检索日志索引库的同时进行内容索引库检索;充分发挥机器的并行处理能力来提高***的性能;
检索日志索引库的检索词来源主要由两部分构成,一部分是***预先置入的字典词库,这部分通常由标准的单词,词组或者一些特殊词构成;另一部分则是动态的通过每次的检索请求而得到的检索词;不管是来自字典库还是每次的请求,对于检索日志索引库的管理和维护都是采用搜索引擎的索引技术,将所有的这些检索词通过索引技术形成一个索引库;只不过在***使用之前,预先置入的那些检索词在索引库中的检索次数和记录总数都为0,仅仅存在检索词本身;对于正式使用后的***,会根据每次的检索请求来对检索日志索引库进行维护,运行中通过异步的方式,启用单独的线程来从检索日志队列中取出存在的检索词和记录总数,然后将取出的数据通过索引接口添加或者更新到检索日志索引库中,判断方法为如果该检索词已经在检索日志索引库中存在,则只需要将检索日志索引库中对应的检索词的检索次数加一,同时直接将该检索词在检索日志索引库中的记录总数更新为最新的记录数;如果该检索词在检索日志索引库中不存在,则直接将该检索词相关信息添加到检索日志索引库中,包括检索词本身,检索次数为一以及最新的记录数,该线程单独的维护检索日志索引库,该线程会周期性的检查队列,如果存在数据则立即处理,如果不存在数据则根据配置的周期进行睡眠,然后再启动检查直到处理完队列的所有数据;
步骤105,根据检索相似词的结果以及配置的策略计算提示的内容。
优选地,本步骤包括:针对每个检索词,计算每个相似词的被检索次数在所有相似词中的比例P1,将每个相似词的P1乘以检索次数权重因子得到检索次数分值R1,以及,计算每个相似词的记录总数在所有相似词中的比例P2,将每个相似词的P2乘以记录总数权重因子得到记录总数分值R2;将每个相似词的(R1+R2)乘以该相似词的相似度得到提示分值T,若提示分值T最高的相似词不同于检索词,则将所述提示分值T最高的相似词作为提示内容进行提示;
具体地,由***的主线程根据步骤103检索词从检索日志索引库得到的相似词结果,包括相似词本身,相似词的相似度,相似词的被检索次数以及该词最近一次被检索时内容索引库存在的记录总数,然后通过预先配置步骤101中的检索次数权重因子和记录总数权重因子计算每个相似词的提示分值,找到提示分值T最高的相似词作为需要被提示的内容,如果该内容与源检索词相同则表示不需要进行提示,如果不同则需要进行提示,提示内容就为该相似词,可以将找到的需要提示的相似词替换到原检索条件中对应位置的检索词来进行提示;对于存在多个检索词的条件中,只要有一个满足提示要求,就需要对整个条件进行提示。
如图2所示,本发明实施例的***应用于搜索引擎中,包括:配置模块、分词模块、相似词检索模块、提示内容计算中心、检索日志索引库、检索词检索模块和内容索引库;
配置模块为可选模块,用于设置配置参数,并将配置参数中的相似词检索的最低相似度和固定前缀字符匹配个数告知给分词模块;将检索次数权重因子和记录总数权重因子告知提示内容计算中心;具体地,该模块主要用于配置***的一些默认参数,包括根据分词后得到的检索词从检索日志库中进行相似词检索时最低相似度以及固定前缀字符匹配个数;同时还负责配置提示内容运算中心用到的检索次数权重因子和记录总数权重因子,这两个因子的配置一般只需要配置一个,另一个则为1减去已配置了的因子,因子配置为0到1;
分词模块用于将检索条件划分为一个或多个检索词,并告知相似词检索模块;具体地,该模块用于接收到用户输入的检索请求后,判断是否进行分词处理,若所述检索请求的检索类型是精确检索,则不进行分词处理,将所述检索请求的检索条件作为一个检索词;若所述检索请求的检索类型是模糊检索,则对所述检索请求的检索条件进行分词处理,将所述检索条件分为一个或多个检索词;
相似词检索模块用于从检索日志索引库中检索所述检索词的相似词;具体地,该模块用于采用搜索引擎的搜索技术从检索日志索引库中检索符合最低相似度以及固定前缀字符匹配个数的每个检索词的相似词,并得到每个相似词的相似度、被检索次数和记录总数;
检索日志索引库记录的是历史检索词的相关信息,为采用搜索引擎的索引技术生成的索引库,包括检索词,被检索次数,以及最近一次被检索时内容索引库中的记录总数;检索日志索引库的检索词除了来源于历史检索词外,同时***预先内置了字典库中英文字典词,就是说***的检索日志库中预先已经存在了所有字典数据,只不过检索次数和记录总数都为0;
提示内容计算中心用于根据相似词检索模块的检索结果以及配置的策略计算提示的内容;具体地,该计算中心用于针对每个检索词,计算每个相似词的被检索次数在所有相似词中的比例P1,将每个相似词的P1乘以检索次数权重因子得到检索次数分值R1,以及,计算每个相似词的记录总数在所有相似词中的比例P2,将每个相似词的P2乘以记录总数权重因子得到记录总数分值R2;将每个相似词的(R1+R2)乘以该相似词的相似度得到提示分值T,若提示分值T最高的相似词不同于检索词,则将所述提示分值T最高的相似词作为提示内容进行提示。
检索词检索模块用于从内容索引库检索所述检索词,并根据检索到每个检索词的记录总数和每个检索词的被检索次数,更新检索日志索引库。
通过上述方式,用户在利用搜索引擎检索英文数据时,搜索引擎都能够根据历史的检索请求次数以及索引的数据量信息,通过合理的运算将会得出是否需要进行检索条件的提示,以及提示的内容;这样的提示也包括了基本的单词拼写错误检查。
综上所述,本发明不仅增加了搜索引擎对英文检索时的提示功能,而且也使得提示内容更加合理化;同时对于检索日志的生成和维护也是基于搜索引擎基本的索引和检索技术,这样不仅可以减少不断增加的检索日志对***资源的耗用,还能够很大程度上充分利用搜索引擎在处理索引和检索上的优势来提高英文检索时对检索条件进行提示的性能。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。