一种容错文本查询的方法和设备转让专利

申请号 : CN201010511387.9

文献号 : CN101984422B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄志龙

申请人 : 百度在线网络技术(北京)有限公司

摘要 :

本发明提供一种容错文本查询的方法和设备,其中该方法包括以下步骤:计算用户提交的第一检索词与词库中各个词条之间的文本相似度;检测所述文本相似度大于或等于第一阈值的结果词条;根据所述文本相似度的大小对所述结果词条进行排列;将排列后的所述结果词条提供给所述用户进行选择。本发明的优点是,在用户进行文本查询时,当用户输入的检索词中出现错别字、或多余的字、或缺少一个或者多个字、或检索词中词序颠倒、或以上综合错误的情况下,仍可以最大限度的找出用户的目标词条,容错性较高。

权利要求 :

1.一种容错文本查询的方法,该方法包括以下步骤:根据对用户群输入的第一检索词进行统计分析,建立/更新错误热词词库;

根据所述错误热词词库,使用目标词条替换用户提交的第一检索词进行查询;

计算所述目标词条与词库中各个词条之间的文本相似度;

检测所述文本相似度大于或等于第一阈值的结果词条;

根据所述文本相似度的大小对所述结果词条进行排列;

将排列后的所述文本相似度大于或等于第一阈值的结果词条提供给所述用户进行选择。

2.根据权利要求1所述的方法,其中所述第一检索词至少包括文字、字母、数字、符号中的一项。

3.根据权利要求1所述的方法,其中:

所述第一检索词与词条之间的文本相似度定义为所述第一检索词与所述词条含有相同字符的个数或比重。

4.根据权利要求3所述的方法,其中所述第一检索词与所述词条含有相同字符的比重w的定义为:或

其中,q表示既存在于所述第一检索词中、又存在于所述词条中的字符的数量;r表示存在于所述第一检索词中、但不存在于所述词条中的字符的数量;t表示不存在于所述第一检索词中、但存在于所述词条中的字符的数量。

5.根据权利要求1所述的方法,其中:

当所述第一检索词与所述词库中各个词条之间的文本相似度均小于第一阈值时,则根据所述第一检索词与所述词条之间的最长公共子串的长度对所述词条进行排列。

6.根据权利要求1所述的方法,其中:

当用户没有选择所述结果词条而是提交第二检索词时,计算所述第二检索词与所述用户提交的前一个第一检索词之间的文本相似度;

如果所述文本相似度大于或等于第二阈值,则调低所述第一阈值。

7.根据权利要求1所述的方法,其中所述根据对用户群输入的所述第一检索词进行统计分析,建立/更新错误热词词库的步骤还包括:当大量用户对所述第一检索词进行至少一次修正后查询到目标词条时,记录所述第一检索词、修正后的第二检索词以及所述目标词条;

当所述第一检索词和所述修正后的第二检索词出现的频率大于等于第三阈值时,将所述第一检索词、所述修正后的第二检索词以及所述目标词条添加至所述错误热词词库。

8.根据权利要求1所述的方法,其中所述根据所述错误热词词库,使用目标词条替换所述第一检索词进行查询的步骤还包括:在所述错误热词词库中对所述第一检索词进行匹配,如果所述第一检索词存在于所述错误热词词库中,则使用与所述第一检索词相对应的所述目标词条替换所述第一检索词进行查询;或者在所述错误热词词库中对所述第一检索词进行匹配,如果所述第一检索词存在于所述错误热词词库中,则首先使用所述第一检索词进行查询,然后使用与所述第一检索词相对应的所述目标词条替换所述第一检索词进行查询。

9.根据权利要求7或8所述的方法,其中:

使用所述目标词条直接替换所述第一检索词进行查询。

10.根据权利要求7或8所述的方法,其中:

提示所述用户使用所述目标词条替换所述第一检索词进行查询。

11.一种容错文本查询的设备,包括:

用于根据对用户群输入的所述第一检索词进行统计分析,建立/更新错误热词词库的装置;

用于根据所述错误热词词库,使用目标词条替换用户提交的第一检索词进行查询的装置;

用于计算所述目标词条与词库中各个词条之间的文本相似度的装置;

用于检测所述文本相似度大于或等于第一阈值的结果词条的装置;

用于根据所述文本相似度的大小对所述结果词条进行排列的装置;

用于将排列后的所述文本相似度大于或等于第一阈值的结果词条提供给所述用户进行选择的装置。

12.根据权利要求11所述的设备,其中所述第一检索词至少包括文字、字母、数字、符号中的一项。

13.根据权利要求11所述的设备,其中:

所述第一检索词与词条之间的文本相似度定义为所述第一检索词与所述词条含有相同字符的个数或比重。

14.根据权利要求13所述的设备,其中所述第一检索词与所述词条含有相同字符的比重w的定义为:或

其中,q表示既存在于所述第一检索词中、又存在于所述词条中的字符的数量;r表示存在于所述第一检索词中、但不存在于所述词条中的字符的数量;t表示不存在于所述第一检索词中、但存在于所述词条中的字符的数量。

15.根据权利要求11所述的设备,还包括:

用于当所述第一检索词与所述词库中各个词条之间的文本相似度均小于第一阈值时,则根据所述第一检索词与所述词条之间的最长公共子串的长度对所述词条进行排列的装置。

16.根据权利要求11所述的设备,还包括:

用于当用户没有选择所述结果词条而是提交第二检索词时,计算所述第二检索词与所述用户提交的前一个第一检索词之间的文本相似度的装置;

用于如果所述文本相似度大于或等于第二阈值,则自动调低所述第一阈值的装置。

17.根据权利要求11所述的设备,其中所述用于根据对用户群输入的所述第一检索词进行统计分析,建立/更新错误热词词库的装置还包括:用于当大量用户对所述第一检索词进行至少一次修正后查询到目标词条时,记录所述第一检索词、修正后的第二检索词以及所述目标词条的装置;

用于当所述第一检索词和所述修正后的第二检索词出现的频率大于等于第三阈值时,将所述第一检索词、所述修正后的第二检索词以及所述目标词条添加至所述错误热词词库的装置。

18.根据权利要求11所述的设备,其中所述用于根据所述错误热词词库,使用目标词条替换所述第一检索词进行查询的装置还包括:用于在所述错误热词词库中对所述第一检索词进行匹配,如果所述第一检索词存在于所述错误热词词库中,则使用与所述第一检索词相对应的所述目标词条替换所述第一检索词进行查询的装置;或者用于在所述错误热词词库中对所述第一检索词进行匹配,如果所述第一检索词存在于所述错误热词词库中,则首先使用所述第一检索词进行查询,然后使用与所述第一检索词相对应的所述目标词条替换所述第一检索词进行查询的装置。

19.根据权利要求17或18所述的设备,其中还包括用于使用所述目标词条直接替换所述第一检索词进行查询的装置。

20.根据权利要求17或18所述的设备,其中还包括用于提示所述用户使用所述目标词条替换所述第一检索词进行查询的装置。

说明书 :

一种容错文本查询的方法和设备

技术领域

[0001] 本发明涉及网络信息检索技术,尤其涉及一种容错文本查询的方法和设备。

背景技术

[0002] 随着网络的普及以及网络资源的极大丰富,网络信息检索成为人们通过查询获取信息的重要手段之一。人们在计算机或者计算机检索网络的终端机上,使用一定的检索词以及检索技术,从计算机检索系统的数据库中获取需要的信息。检索技术通常包括两种:基于精确匹配的检索技术,以及基于非精确匹配的检索技术。基于精确匹配的检索技术不能容错;而非精确匹配的检索技术,允许在用户输入的检索词与其目标资源之间存在一定不同的情况下,仍可以找到用户的目标资源。
[0003] 现有非精确匹配的检索技术的查询准确性,仍然较大地依赖于用户所输入检索词的正确性,也就是说,当用户输入的检索词与目标资源之间的存在较大差别时,现有的检索技术往往无法准确地查询出用户的目标资源,所以在使用非精确匹配的检索技术时,期望用户输入的检索词尽可能的准确。但是,用户在输入检索词时,往往不可能记住目标资源的完整名称,所以在检索词中会出现错别字、多余的字、缺字、词序不对等错误情况,这些错误情况对得到正确的搜索结果造成了一定的影响,使得无法准确获得用户的目标资源。比如,用户在电影库中想查找“山楂树之恋”,但是由于其不能准确输入电影的名字,而输入“苹果树之恋”作为检索词进行查询,在这种情况下,传统检索技术将无法准确地找到用户的期望资源。所以,人们一直期望存在一种文本查询方法,在检索词出现各种错误的情况下,也能够最大限度地挖掘出用户的目标资源。
[0004] 为了解决上述问题,需要提供一种高容错性的文本查询的方法。

发明内容

[0005] 本发明的目的是提供一种解决上述问题的容错文本查询的方法和设备。
[0006] 根据本发明的一个方面,提供了一种容错文本查询的方法,该方法包括以下步骤:
[0007] 计算用户提交的第一检索词与词库中各个词条之间的文本相似度;
[0008] 检测所述文本相似度大于或等于第一阈值的结果词条;
[0009] 根据所述文本相似度的大小对所述结果词条进行排列;
[0010] 将排列后的所述结果词条提供给所述用户进行选择。
[0011] 根据本发明的另一个方面,还提供了一种容错文本查询的设备,包括:
[0012] 用于计算用户提交的第一检索词与词库中各个词条之间的文本相似度的装置;
[0013] 用于检测所述文本相似度大于或等于第一阈值的结果词条的装置;
[0014] 用于根据所述文本相似度的大小对所述结果词条进行排列的装置;
[0015] 用于将排列后的所述结果词条提供给所述用户进行选择的装置。
[0016] 与现有技术相比,本发明具有以下优点:在用户进行文本查询时,当用户输入的检索词中出现错别字、或多余的字、或缺少一个或者多个字、或检索词中词序颠倒、或以上综合错误的情况下,仍可以最大限度的找出用户的目标词条,容错性较高。 附图说明
[0017] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0018] 图1为根据本发明一个方面的容错文本查询的系统拓扑图;
[0019] 图2为根据本发明一个方面的容错文本查询的方法流程图;
[0020] 图3为根据本发明一个优选实施例的容错文本查询的方法流程图;
[0021] 图4为根据本发明另一个优选实施例的容错文本查询的方法流程图;
[0022] 图5为根据本发明又一个优选实施例的容错文本查询的方法流程图;以及[0023] 图6为根据本发明另一个方面的容错文本查询的设备示意图。
[0024] 附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

[0025] 下面结合附图对本发明作进一步详细描述。
[0026] 图1为根据本发明一个方面的容错文本查询的系统拓扑图,如图所示,包括网络设备1以及多个与之经由网络相连接的用户设备2。其中,用户在用户设备2上输入第一检索词进行文本查询,并通过网络将所述第一检索词发送至网络设备1;网络设备1获取所述第一检索词后,计算用户提交的所述第一检索词与词库中各个词条之间的文本相似度;检测所述文本相似度大于或等于第一阈值的结果词条;根据所述文本相似度的大小对所述结果词条进行排列;将排列后的所述结果词条提供给所述用户进行选择。在此,网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。
[0027] 另外,网络设备1包括但不限于网络主机、单个网络服务器、多个网络服务器集合或基于云计算的计算机集合。而用户设备2可以是任何一种可与用户通过键盘、鼠标、遥控器、触摸板或手写设备等方式进行人机交互的电子产品,例如计算机、手机、PDA、掌上电脑PPC或IPTV等。网络设备1与多个用户设备2之间的通信相互独立,可以是基于诸如TCP/IP协议、UDP(用户数据报)协议等的分组数据传输。
[0028] 本领域技术人员应能理解上述网络设备1、用户设备2以及连接其间的网络和通信方式仅为举例,其他现有的或今后可能出现的网络设备、用户设备、网络或通信方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
[0029] 本领域技术人员还应能理解,图1中仅为简明起见而示出的各类网络元素的数量可能小于一个实际网络中的数量,但这种省略无疑地是以不会影响对本发明进行清楚、充分的公开为前提的。
[0030] 为了简明起见,下面以一个用户设备2为例对容错文本查询的方法以及设备分别进行描述。本领域技术人员应能理解,网络设备1可以同时与多个用户设备2交互,从不同用户设备2获取用户输入的第一检索词后,计算用户提交的所述第一检索词与词库中各个词条之间的文本相似度;检测所述文本相似度大于或等于第一阈值的结果词条;根据所述文本相似度的大小对所述结果词条进行排列;将排列后的所述结果词条提供给不同的用户设备2供用户进行选择。
[0031] 图2为根据本发明一个方面的容错文本查询的方法流程图。如图所示,在步骤S201中,计算用户提交的第一检索词与词库中各个词条之间的文本相似度。具体地,在检测到用户进行文本查询时所提交的第一检索词后,将该第一检索词与词库中的词条逐一进行比较,计算出该第一检索词与词库中各个词条之间的文本相似度。其中,用户进行检索时输入的所述第一检索词通常是由文字、字母、数字以及符号构成的文本,短的只有几个字符,长的则包括十几个或者几十个字符;所述词库是由大量文本构成的数据库,在不同的应用场景下具有不同的内容,比如,可以是由歌曲名构成的索引数据库供用户对歌曲进行检索,也可以是摘要数据库供用户对文献进行查找,等等;所述第一检索词与词库中词条之间的文本相似度是对所述第一检索词与所述词条之间相似程度的一种量化,可以通过所述第一检索词与所述词条含有相同字符的个数来定义。当所述第一检索词与所述词条含有的相同字符的个数越多,则说明所述第一检索词与所述词条越相似。举例来说,用户在由歌曲名构成的索引数据库中进行查询,该索引数据库中存在10首歌曲的名字(在实际应用中,索引数据库中会存在大量的数据,此处为简明起见仅以10个歌曲名为例说明),分别是:1) 一天一点爱恋、2) 恋上一个人、3) 恋一世的爱、4)曲终人散、5)分开90天、6) 恋爱达人、7) 有多少爱可以重来、8)电台情歌、9)乡恋、10) 每天爱你多一点,用户在查询时输入第一检索词为“一天多点恋爱”(所述用户的目标歌曲名为“一天一点爱恋”),那么所述第一检索词“一天多点恋爱”与上述10个歌名之间的文本相似度分别如下:
[0032]
[0033] 地,所述第一检索词与词库中词条之间的文本相似度还可以定义为所述第一检索词与所述词条含有相同字符的比重。当所述第一检索词与所述词条含有的相同字符的比重越大,则说明所述第一检索词与所述词条越相似,所述比重可以由以下计算公式得出:
[0034] (1)
[0035] 其中,表示所述第一检索词与所述词条含有相同字符的比重,表示既存在于所述第一检索词中、又存在于所述词条中的字符的数量;表示存在于所述第一检索词中、但不存在于所述词条中的字符的数量;表示不存在于所述第一检索词中、但存在于所述词条中的字符的数量。仍以上述举例来说明,所述第一检索词“一天多点恋爱”与所述10个歌名之间的文本相似度分别如下:
[0036]
[0037] 除了式(1),所述第一检索词与所述词条含有相同字符的比重还可以由其他形式的计算公式得出:
[0038] (2)
[0039] 其中,表示所述第一检索词与所述词条含有相同字符的比重,表示既存在于所述第一检索词中、又存在于所述词条中的字符的数量;表示存在于所述第一检索词中、但不存在于所述词条中的字符的数量。仍以上述举例来说明,通过式(2)计算得到的所述第一检索词“一天多点恋爱”与所述10个歌名之间的文本相似度分别如下:
[0040]
[0041] 本领域技术人员应能理解上述文本相似度的计算公式仅为举例,其他现有的或今后可能出现的可以用来表明第一检索词与词库中词条相似度的量化方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
[0042] 在步骤S202中,检测所述文本相似度大于或等于第一阈值的结果词条。具体地,当计算出用户输入的第一检索词与词库中所有词条之间的文本相似度后,将所述文本相似度与第一阈值进行比较,检测出文本相似度大于或者等于第一阈值的词条作为结果词条,其中,第一阈值的大小通常是预置的,其设定与文本相似度的计算方法有关,如果以第一检索词与词条含有相同字符的个数来定义文本相似度,那么第一阈值的大小以选取第一检索词长度的一半或者更大为宜;如果以第一检索词与词条含有相同字符的比重来定义文本相似度,那么第一阈值的大小以选取0.5或者更大为宜。第一阈值的值越小,查询后得到的结果词条的范围越大,反之亦然。仍以上述举例来说明,其中,第一检索词与词条之间的文本相似度采用式(1)进行计算,第一阈值的大小为0.5,那么与第一检索词“一天多点恋爱”的文本相似度大于等于0.5的歌曲名为“一天一点爱恋”和“每天爱你多一点”。
[0043] 在步骤S203中,根据所述文本相似度的大小对所述结果词条进行排列。具体地,将文本相似度大于或等于第一阈值的所述结果词条根据文本相似度的大小进行降序排列作为搜索结果。其中,对于与第一检索词的文本相似度大小一样的结果词条可以按照检索的顺序进行排列。在步骤S202的例子中,结果词条为“一天一点爱恋”和“每天爱你多一点”,其与第一检索词“一天多点恋爱”的文本相似度均大于0.5,对这两个结果词条将按照“一天一点爱恋”、“每天爱你多一点”的顺序进行排列。
[0044] 在执行步骤S202和步骤S203时,其执行顺序可以颠倒,即先执行步骤S203,根据文本相似度的大小将词库中的所有词条进行排序,然后再执行步骤S202,从排序后的词条中检测出与第一检索词文本相似度大于等于第一阈值的词条作为结果词条。
[0045] 最后,执行步骤S204,将排列后的所述结果词条提供给所述用户进行选择。具体地,将排序后的结果词条发送至用户设备上进行显示,供用户选择。
[0046] 图3为根据本发明一个优选实施例的容错文本查询的方法流程图,其中,步骤S301、S302、S304与S306分别与图2所示的S201、S202、S203与S204相同,故下面不再赘述。如图所示,在步骤S301中,计算用户提交的第一检索词与词库中各个词条之间的文本相似度;在步骤S302中,检测所述文本相似度大于或等于第一阈值的结果词条;接着,执行步骤S303,判断是否存在文本相似度大于或等于第一阈值的结果词条,如果存在所述结果词条,则执行步骤S304,根据所述文本相似度的大小对所述结果词条进行排列。
[0047] 如果不存在所述结果词条,也就是,词库中所有词条与第一检索词之间的文本相似度均小于第一阈值,在这种情况下则执行步骤S305,根据所述第一检索词与词库中词条之间的最长公共子串的长度对所述词条进行排列。具体地,逐一检测所述第一检索词与词库中词条之间的最长公共子串,并根据最长公共子串的长度将词库中的词条进行排列。其中,公共子串也称公共子序列是指一个给定序列的子序列是在该序列中删去若干元素后得到的序列。最长公共子串也称作最长公共子序列 (不要求连续),英文缩写为LCS(Longest Common Subsequence),其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。第一检索词与词库中词条之间的最长公共子串是指所述第一检索词与所述词条之间存在的相同字符且相同排列次序的最长的公共子串。最长公共子串也是用来量化第一检索词和词库中词条之间相似程度的一种方式。
[0048] 在完成步骤S304或者步骤S305之后,最后执行步骤S306,将排列后的所述结果词条提供给所述用户进行选择。
[0049] 以图2步骤S201中的第一检索词“一天多点恋爱”以及10个歌曲名为例,其中,所述第一检索词与所述10个歌曲名的内容之间的文本相似度如下:
[0050]
[0051] 如果预置的第一阈值等于0.75,那么所述10个歌曲名与第一检索词“一天多点恋爱”之间的文本相似度均小于第一阈值,此时将根据第一检索词与歌曲名之间的最长公共子串的长度进行排列,第一检索词“一天多点恋爱”与10个歌曲名之间的公共子串以及公共子串的长度如下:
[0052]
[0053] 根据最长公共子串长度排列后的结果如下:
[0054]
[0055] 图4为根据本发明另一个优选实施例的容错文本查询的方法流程图,其中,步骤S401、S402、S403与S404分别与图2所示的S201、S202、S203与S204相同,故下面不再赘述。如图所示,在步骤S401中,计算用户提交的第一检索词与词库中各个词条之间的文本相似度;在步骤S402中,检测所述文本相似度大于或等于第一阈值的结果词条;在步骤S403中,根据所述文本相似度的大小对所述结果词条进行排列;在步骤S404中,将排列后的所述结果词条提供给所述用户进行选择。
[0056] 接着,执行步骤S405,判断所述用户对所述结果词条是否满意,也就是,用户的目标词条是否存在于结果词条中。如果检测到用户通过选择等方式对结果词条进行了操作,则认为用户所期望的目标词条存在于结果词条中,那么用户使用所述第一检索词进行查询的过程结束;否则,执行步骤S406,检测所述用户是否对同一目标词条再次进行查询,具体地,如果检测到用户没有对结果词条有任何的操作,而是输入另一第二检索词作为对第一检索词的修正进行查询,则认为用户是因为其期望的目标词条不存在于结果词条而经过修正检索词后对同一目标词条再次进行查询。
[0057] 优选地,当检测到用户没有对结果词条有任何的操作,而是输入另一个第二检索词进行查询时,计算所述另一个第二检索词与用户输入的前一个第一检索词之间的文本相似度,如果前后两次输入的检索词之间的文本相似度大于或等于第二阈值,则认为后一次输入的第二检索词是对前面输入的第一检索词的修正,即所述两个检索词的查询目标为同一目标词条;反之,认为用户改变了目标词条进行查询。其中,计算前后两次输入的检索词之间的文本相似度的方法,可以采用与计算第一检索词与词库中词条之间的文本相似度相同的方法,第二阈值的设定方法可以采用与设定第一阈值相同的方法,在此不再赘述。
[0058] 完成步骤S406后,如果检测结果为用户改变目标词条进行查询,则执行步骤S401,开始对新目标词条的查询;如果检测结果为用户对同一目标词条再次进行查询,则执行步骤S407,自动调低所述第一阈值的大小,扩大查询结果的范围。调整第一阈值后,重复执行步骤S401至步骤S407直到用户查询到目标词条为止。在此对每次调低第一阈值的幅度不做限定,可以根据实际应用预先进行设置。
[0059] 图5为根据本发明又一个优选实施例的容错文本查询的方法流程图,其中,步骤S503、S506、S507与S508分别与图2所示的S201、S202、S203与S204相同,故下面不再赘述。如图所示,在步骤S501中,在错误热词词库中对用户输入的第一检索词进行匹配。具体地,在检测到用户进行文本查询时所提交的第一检索词后,首先将所述第一检索词与错误热词词库中所记录的第一检索词进行匹配,其中,错误热词词库是通过对用户群进行检索时输入的大量第一检索词进行统计分析后建立而成,并不断进行更新。在对大量用户输入的第一检索词进行统计分析后发现,用户往往需要对其输入的第一检索词进行一次或者多次修正,才能查询到目标词条;当大量用户对同一个目标词条进行查询时,部分用户会采用相同的第一检索词,且多次修正后的第二检索词恰好也是相同的,也就是说,在对同一个目标词条进行查询时,存在一定数量的用户,其查询过程是相同的。当查询过程相同的用户的数量大于等于第三阈值时,则认为该查询过程中所输入的初始第一检索词、修正后的第二检索词,为用户在查询该目标词条时常用的检索词,并将查询过程中的所有检索词以及相应的目标词条添加至错误热词词库中。举例来说,用户A在由歌曲名构成的索引数据库中进行查询,其目标词条为歌曲名“有多少爱可以重来”,用户A输入的初始第一检索词为“爱可以不可以重新来过”,通过该第一检索词查询的结果词条中不包括用户A的目标词条,于是用户A将第一检索词修正为“爱可以重新来过”,但是仍然未找到其满意的目标词条,用户A再次对检索词进行修正,调整为“有多少爱可以重新来过”,最终查询到了目标词条“有多少爱可以重来”。经过统计分析,除了用户A之外,还有20000个用户也通过同样的方式查询到了相同的目标词条,用户数量超过了第三阈值20000,则将第一检索词“爱可以不可以重新来过”、修正后的第二检索词“爱可以重新来过”、“有多少爱可以重新来过”以及目标词条“有多少爱可以重来”进行关联后保存至错误热词词库中。
[0060] 在步骤S502中,判断所述错误热词词库中是否存在所述第一检索词。
[0061] 如果所述第一检索词不存在于错误热词词库中,则执行步骤S503,计算用户提交的第一检索词与词库中各个词条之间的文本相似度;接着,执行步骤S506,检测所述文本相似度大于或等于第一阈值的结果词条;在步骤S507中,根据所述文本相似度的大小对所述结果词条进行排列;最后执行步骤S508,将排列后的所述结果词条提供给所述用户进行选择。步骤S508结束后,用户使用所述第一检索词进行查询的过程结束。
[0062] 如果所述第一检索词存在于错误热词词库中,则执行步骤S504,使用所述错误热词词库中与所述第一检索词相对应的目标词条对所述第一检索词进行替换。具体地,当检测到用户输入的第一检索词恰好存在于错误热词词库中,即,和错误热词词库中的某个初始第一检索词相同,或者和某个修正后的第二检索词相同,则默认为该用户可能会采用与错误热词词库中相同的查询过程对同一个目标词条进行查询,于是直接使用错误热词词库中与用户输入的第一检索词相对应的目标词条进行替换查询。以步骤S501中的举例说明,第一检索词“爱可以不可以重新来过”、修正后的第二检索词“爱可以重新来过”、“有多少爱可以重新来过”以及目标词条“有多少爱可以重来”进行关联后保存至错误热词词库中,用户B进行查询时输入的第一检索词“爱可以重新来过”,恰好存在于错误热词词库中,此时,直接使用“有多少爱可以重来”替换用户B的第一检索词“爱可以重新来过”,并以目标词条“有多少爱可以重来”作为用户B所输入的检索词在词库中进行查询。
[0063] 接着,执行步骤S505,计算所述目标词条与词库中各个词条之间的文本相似度。
[0064] 然后,执行步骤S506,检测所述文本相似度大于或等于第一阈值的结果词条;在步骤S507中,根据所述文本相似度的大小对所述结果词条进行排列;最后执行步骤S508,将排列后的所述结果词条提供给所述用户进行选择。步骤S508结束后,用户使用所述第一检索词进行查询的过程结束。
[0065] 优选地,为了防止直接替换会违背用户的原意,则可以首先使用用户输入的第一检索词进行检索,然后使用错误热词词库中与用户输入的第一检索词相对应的目标词条进行替换查询,并将两次查询所得到的结果进行汇总提供给用户进行选择;或者使用用户输入的第一检索词进行检索,在将检索结果提供给用户进行选择的同时,提示用户是否需要使用错误热词词库中与用户输入的第一检索词相对应的目标词条进行替换查询,比如,在检索后的结果页面中提示“您是不是要找XXX”,其中“XXX”为错误热词词库中与用户输入的第一检索词相对应的目标词条。
[0066] 图6为根据本发明另一个方面的容错文本查询的设备示意图,该网络设备1包括计算装置11、检测装置12、排序装置13以及提供装置14。
[0067] 其中,计算装置11,用于计算用户提交的第一检索词与词库中各个词条之间的文本相似度。具体地,计算装置11在检测到用户进行文本查询时所提交的第一检索词后,将该第一检索词与词库中的词条逐一进行比较,计算出该第一检索词与词库中各个词条之间的文本相似度。其中,用户进行检索时输入的所述第一检索词通常是由文字、字母、数字以及符号构成的文本,短的只有几个字符,长的则包括十几个或者几十个字符;所述词库是由大量文本构成的数据库,在不同的应用场景下具有不同的内容,比如,可以是由歌曲名构成的索引数据库供用户对歌曲进行检索,也可以是摘要数据库供用户对文献进行查找,等等;所述第一检索词与词库中词条之间的文本相似度是对所述第一检索词与所述词条之间相似程度的一种量化,可以通过所述第一检索词与所述词条含有相同字符的个数来定义。当所述第一检索词与所述词条含有的相同字符的个数越多,则说明所述第一检索词与所述词条越相似。举例来说,用户在由歌曲名构成的索引数据库中进行查询,该索引数据库中存在
10首歌曲的名字(在实际应用中,索引数据库中会存在大量的数据,此处为简明起见仅以
10个歌曲名为例说明),分别是:1) 一天一点爱恋、2) 恋上一个人、3) 恋一世的爱、4)曲终人散、5)分开90天、6) 恋爱达人、7) 有多少爱可以重来、8)电台情歌、9)乡恋、10) 每天爱你多一点,用户在查询时输入第一检索词为“一天多点恋爱”(所述用户的目标歌曲名为“一天一点爱恋”),那么通过计算装置11可以得到所述第一检索词“一天多点恋爱”与上述
10个歌名之间的文本相似度分别如下:
[0068]
[0069] 优选地,所述第一检索词与词库中词条之间的文本相似度还可以定义为所述第一检索词与所述词条含有相同字符的比重。当所述第一检索词与所述词条含有的相同字符的比重越大,则说明所述第一检索词与所述词条越相似,所述比重可以通过计算装置11由以下计算公式得出:
[0070] (3)
[0071] 其中,表示所述第一检索词与所述词条含有相同字符的比重,表示既存在于所述第一检索词中、又存在于所述词条中的字符的数量;表示存在于所述第一检索词中、但不存在于所述词条中的字符的数量;表示不存在于所述第一检索词中、但存在于所述词条中的字符的数量。仍以上述举例来说明,所述第一检索词“一天多点恋爱”与所述10个歌名之间的文本相似度分别如下:
[0072]
[0073] 除了式(3),所述第一检索词与所述词条含有相同字符的比重还可以由其他形式的计算公式得出:
[0074] (4)
[0075] 其中,表示所述第一检索词与所述词条含有相同字符的比重,表示既存在于所述第一检索词中、又存在于所述词条中的字符的数量;表示存在于所述第一检索词中、但不存在于所述词条中的字符的数量。仍以上述举例来说明,通过式(4) 计算装置11计算得到的所述第一检索词“一天多点恋爱”与所述10个歌名之间的文本相似度分别如下:
[0076]
[0077] 本领域技术人员应能理解上述文本相似度的计算公式仅为举例,其他现有的或今后可能出现的可以用来表明第一检索词与词库中词条相似度的量化方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
[0078] 检测装置12,用于检测所述文本相似度大于或等于第一阈值的结果词条。具体地,当计算装置11计算出用户输入的第一检索词与词库中所有词条之间的文本相似度后,检测装置12将所述文本相似度与第一阈值进行比较,检测出文本相似度大于或者等于第一阈值的词条作为结果词条,其中,第一阈值的大小通常是预置的,其设定与文本相似度的计算方法有关,如果以第一检索词与词条含有相同字符的个数来定义文本相似度,那么第一阈值的大小以选取第一检索词长度的一半或者更大为宜;如果以第一检索词与词条含有相同字符的比重来定义文本相似度,那么第一阈值的大小以选取0.5或者更大为宜。第一阈值的值越小,查询后得到的结果词条的范围越大,反之亦然。仍以上述举例来说明,其中,第一检索词与词条之间的文本相似度采用式(3)进行计算,第一阈值的大小为0.5,那么检测装置12检测到的与第一检索词“一天多点恋爱”的文本相似度大于等于0.5的歌曲名为“一天一点爱恋”和“每天爱你多一点”。
[0079] 排序装置13,用于根据所述文本相似度的大小对所述结果词条进行排列。具体地,排序装置13将文本相似度大于或等于第一阈值的所述结果词条根据文本相似度的大小进行降序排列作为搜索结果。其中,对于与第一检索词的文本相似度大小一样的结果词条可以按照检索的顺序进行排列。以上述结果词条为“一天一点爱恋”和“每天爱你多一点”为例说明,其与第一检索词“一天多点恋爱”的文本相似度均大于0.5,排序装置13对这两个结果词条将按照“一天一点爱恋”、“每天爱你多一点”的顺序进行排列。
[0080] 检测装置12和排序装置13的使用顺序可以颠倒,即先使用排序装置13根据文本相似度的大小将词库中的所有词条进行排序,然后再使用检测装置12从排序后的词条中检测出与第一检索词文本相似度大于等于第一阈值的词条作为结果词条。
[0081] 提供装置14,用于将排列后的所述结果词条提供给所述用户进行选择。具体地,提供装置14将排序后的结果词条发送至用户设备上进行显示,供用户选择。
[0082] 优选地,网络设备1还包括最长公共子串检测装置(未示出),用于当词库中所有词条与第一检索词之间的文本相似度均小于第一阈值时,逐一检测所述第一检索词与词库中词条之间的最长公共子串。然后排序装置13根据最长公共子串的长度将词库中的词条进行排列。其中,第一检索词与词库中词条之间的最长公共子串是指所述第一检索词与所述词条之间存在的最长的公共字符串。最长公共子串也是用来量化第一检索词和词库中词条之间相似程度的一种方式。
[0083] 仍以第一检索词“一天多点恋爱”以及10个歌曲名为例,其中,计算装置11计算所述第一检索词与所述10个歌曲名的内容之间的文本相似度如下:
[0084]
[0085] 如果预置的第一阈值等于0.75,那么所述10个歌曲名与第一检索词“一天多点恋爱”之间的文本相似度均小于第一阈值,此时排序装置13将根据第一检索词与歌曲名之间的最长公共子串的长度进行排列,其中,通过最长公共子串检测装置检测到第一检索词“一天多点恋爱”与10个歌曲名之间的公共子串以及公共子串的长度如下:
[0086]
[0087] 排序装置13根据最长公共子串长度排列后的结果如下:
[0088]
[0089] 优选地,网络设备1还包括满意判断装置(未示出)以及阈值调整装置(未示出)。满意判断装置用于判断用户对检索得到的结果词条是否满意,也就是,用户的目标词条是否存在于结果词条中;阈值调整装置用于对阈值进行调整。如果满意判断装置检测到用户通过选择等方式对结果词条进行了操作,则认为用户所期望的目标词条存在于结果词条中,那么用户使用所述第一检索词进行查询的过程结束;否则,计算装置11检测所述用户是否对同一目标词条再次进行查询,具体地,如果计算装置11检测到用户没有对结果词条有任何的操作,而是输入另一第二检索词作为对第一检索词的修正进行查询,则认为用户是因为其期望的目标词条不存在于结果词条而经过修正检索词后对同一目标词条再次进行查询。
[0090] 优选地,当满意判断装置检测到用户没有对结果词条有任何的操作,而是输入另一个第二检索词进行查询时,计算装置11计算所述另一个第二检索词与用户输入的前一个第一检索词之间的文本相似度,如果前后两次输入的检索词之间的文本相似度大于或等于第二阈值,则认为后一次输入的第二检索词是对前面输入的第一检索词的修正,即所述两个检索词的查询目标为同一目标词条;反之,认为用户改变了目标词条进行查询。其中,计算装置11计算前后两次输入的检索词之间的文本相似度的方法,可以采用与计算第一检索词与词库中词条之间的文本相似度相同的方法,第二阈值的设定方法可以采用与设定第一阈值相同的方法,在此不再赘述。
[0091] 当满意判断装置检测结果为用户改变目标词条进行查询,网络设备1则开始对新目标词条的查询;如果计算装置11检测结果为用户对同一目标词条再次进行查询,阈值调整装置则自动调低所述第一阈值的大小,扩大查询结果的范围。阈值调整装置通过一次或者多次调整第一阈值直到用户查询到目标词条为止。在此对阈值调整装置每次调低第一阈值的幅度不做限定,可以根据实际应用预先进行设置。
[0092] 优选地,网络设备1还包括错误热词词库建立/更新装置(未示出)、匹配装置(未示出)、以及替换装置(未示出)。错误热词词库建立/更新装置用于通过对用户群进行检索时输入的大量第一检索词进行统计分析后建立及更新错误热词词库;匹配装置用于对第一检索词在错误热词词库中进行匹配;替换装置用于对第一检索词进行替换。具体地,匹配装置在检测到用户进行文本查询时所提交的第一检索词后,首先将所述第一检索词与错误热词词库中所记录的第一检索词进行匹配,其中,错误热词词库是通过对用户群进行检索时输入的大量第一检索词进行统计分析后建立而成,并不断进行更新。错误热词词库建立/更新装置在对大量用户输入的第一检索词进行统计分析后发现,用户往往需要对其输入的第一检索词进行一次或者多次修正,才能查询到目标词条;当大量用户对同一个目标词条进行查询时,部分用户会采用相同的第一检索词,且多次修正后的第二检索词恰好也是相同的,也就是说,在对同一个目标词条进行查询时,存在一定数量的用户,其查询过程是相同的。当查询过程相同的用户的数量大于等于第三阈值时,错误热词词库建立/更新装置则认为该查询过程中所输入的初始第一检索词、修正后的第二检索词,为用户在查询该目标词条时常用的检索词,并将查询过程中的所有检索词以及相应的目标词条添加至错误热词词库中。举例来说,用户A在由歌曲名构成的索引数据库中进行查询,其目标词条为歌曲名“有多少爱可以重来”,用户A输入的初始第一检索词为“爱可以不可以重新来过”,网络设备1通过该第一检索词查询的结果词条中不包括用户A的目标词条,于是用户A将第一检索词修正为“爱可以重新来过”,但是网络设备1仍然未找到其满意的目标词条,用户A再次对检索词进行修正,调整为“有多少爱可以重新来过”,最终查询到了目标词条“有多少爱可以重来”。经过统计分析,除了用户A之外,还有20000个用户也通过同样的方式查询到了相同的目标词条,用户数量超过了第三阈值20000,错误热词词库建立/更新装置则将第一检索词“爱可以不可以重新来过”、修正后的第二检索词“爱可以重新来过”、“有多少爱可以重新来过”以及目标词条“有多少爱可以重来”进行关联后保存至错误热词词库中。
[0093] 如果匹配装置检测到所述第一检索词不存在于错误热词词库中,计算装置11则计算用户提交的第一检索词与词库中各个词条之间的文本相似度;接着,检测装置12检测所述文本相似度大于或等于第一阈值的结果词条;排序装置13根据所述文本相似度的大小对所述结果词条进行排列;最后提供装置14将排列后的所述结果词条提供给所述用户进行选择。
[0094] 如果匹配装置检测到所述第一检索词存在于错误热词词库中,则替换装置使用所述错误热词词库中与所述第一检索词相对应的目标词条对所述第一检索词进行替换。具体地,当匹配装置检测到用户输入的第一检索词恰好存在于错误热词词库中,即,和错误热词词库中的某个初始第一检索词相同,或者和某个修正后的第二检索词相同,则默认为该用户可能会采用与错误热词词库中相同的查询过程对同一个目标词条进行查询,于是替换装置直接使用错误热词词库中与用户输入的第一检索词相对应的目标词条进行替换查询。仍以第一检索词“爱可以不可以重新来过”、修正后的第二检索词“爱可以重新来过”、“有多少爱可以重新来过” 以及目标词条“有多少爱可以重来”进行关联后保存至错误热词词库中为例说明,用户B进行查询时输入的第一检索词“爱可以重新来过”,恰好存在于错误热词词库中,此时,替换装置直接使用“有多少爱可以重来”替换用户B的第一检索词“爱可以重新来过”,计算装置11以目标词条“有多少爱可以重来”作为用户B所输入的检索词,计算其与词库中各个词条之间的文本相似度。
[0095] 然后,检测装置12检测所述文本相似度大于或等于第一阈值的结果词条;排序装置13根据所述文本相似度的大小对所述结果词条进行排列;最后提供装置14将排列后的所述结果词条提供给所述用户进行选择。
[0096] 优选地,为了防止直接替换会违背用户的原意,网络设备1则可以首先使用用户输入的第一检索词进行检索,然后替换装置使用错误热词词库中与用户输入的第一检索词相对应的目标词条进行替换查询,提供装置14将两次查询所得到的结果进行汇总提供给用户进行选择;或者网络设备1使用用户输入的第一检索词进行检索,在提供装置14将检索结果提供给用户进行选择的同时,提示用户是否需要使用错误热词词库中与用户输入的第一检索词相对应的目标词条进行替换查询,比如,在检索后的结果页面中提示“您是不是要找XXX”,其中“XXX”为错误热词词库中与用户输入的第一检索词相对应的目标词条。
[0097] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在所附权利要求的范围内做出各种变形或修改。