通过任意国家语言的查询来检索匹配的文档的制作方法

文档序号:6402535阅读:163来源:国知局
专利名称:通过任意国家语言的查询来检索匹配的文档的制作方法
技术领域
本发明涉及使用用户输入的搜索关键词项搜索数据库的领域。更具体地,本发明涉及用于搜索包含不同语言文档的数据库的系统和方法,其中使用一种数据库语言输入搜索项,并且识别出适用的不同语言的数据库文档。
背景技术
现已提出了各种方法用于搜索包括多种语言内容的数据库。一种方法是将整个数据库转换成输入搜索项的语言或用户的语言。然而,对于很大的数据库,这涉及大量的转换(并且如果该数据库被不同语言的用户所使用,则涉及多种转换)。此外,每次转换文档的过程都可能丢失(或歪曲)原始文本的某些含义。另一种方法是使用上述共同未决申请中描述的同义词或关键词字典。该共同未决申请的系统包括双向同义词或关键词字典,其允许在第一语言和其它语言之间转换关键词。文档的转换后的关键词被存储在倒排索引中,该倒排索引然后用于或者以选定的语言、第二语言或者以所有语言进行搜索,这可以由用户决定。多种搜索和转换后的同义词字典的使用避免了需要转换整个文档,并且避免了由于转换整个数据库造成的上述偏差。然而,执行和分析此类搜索可能要花费很长时间,这妨碍了用户交互地修改搜索以便获得有意义的结果。

发明内容
根据本发明,通过使用搜索引擎减少了搜索时间,所述搜索引擎包括双向倒排索引工具,该工具可以由多种语言中一种语言的关键词搜索来访问,并且该工具提供了所包含的所有这些语言的文档的列表。所有所支持的语言的关键词最好储存在倒排索引查找表内,该查找表交叉引用了包含所述关键词的那些语言的文档。当查询一种语言的关键词时,可以一起访问具有相同含义的不同语言的该关键词。包含该表的搜索引擎可以或者以选定的语言、第二语言或者以所有语言识别相关文档,这可以由用户决定。每个文档的信息不仅包括该文档的标识,而且还包括用于将文档排序的信息,例如关键词在该文档中出现的次数以及关键词与其它关键词的近似程度。通过消除对转换关键词、在文档中标识关键词以及在搜索运行时收集排序信息的需要,倒排索引表的使用由此减少了搜索时间,并且避免了文档的全文转换可能产生的偏差。
因此,本发明的一个目的是提供一种改进的用于多语言文档的搜索引擎。
本发明的另一目的是减少转换关键词和查找包含这些关键词的文档的运行时间。
本发明的再一目的是允许以任何支持语言的关键词来搜索数据库以查找以该种或任何其它所支持的语言编写的文档。


以上已经说明了本发明的一些目的和优点,通过结合附图阅读以下对本发明的说明,本发明的其它目的和优点对于本领域的技术人员来说将是显而易见的,其中图1是其中存在两种不同语言文档的传统搜索技术的示意图;
图2是本发明改进的多语言文档数据库索引系统以及倒排索引表的示意图;图3是将一种语言的关键词与它们在其它语言中的对应部分关联并标识包含所查询关键词的所有这些语言的文档的本发明索引表的示意图;图4是同义词表的一部分的示意图;图5是本发明的多语言数据库搜索系统的示意图;图6是可用于向引入本发明的搜索系统输入搜索查询的计算机显示屏的一部分的示意图;图7是示出了执行示例逻辑以实施本发明的流程图;以及图8是与本发明一起使用的网络的示意图。
具体实施例方式
图1示出了传统的搜索系统,其中英语(第一语言)文档以标号102表示,第二语言例如国家语言(NL)的文档以标号122表示。虽然分别维护每组文档,但都是通过提取关键词并创建索引的过程为每组文档建立索引,其由用于英语文档102的方块104和用于第二语言文档122的方块124表示。下一步是对每组文档执行倒排索引,英语的倒排索引用方块106表示,第二语言的倒排索引用方块126表示。然后,格式化搜索或查询并将其应用到一个选定数据库,方块108表示英语查询,方块128表示国家语言查询。英语查询的结果用方块110表示,国家语言的查询结果用方块130表示。因此,对每个数据库分别执行诸处理步骤,所述步骤包括在方块112索引文档、在方块114创建倒排索引和在方块116执行搜索并提供输出。
所述诸步骤都是相同的,与数据库无关,每个数据库保持独立并单独搜索每个数据库,每个数据库生成独立的结果。由于同样的结构可以应用于任意数目的独立数据库,该系统可以扩展以支持所需数目的语言。然而,某些技术文档是用本国语言(例如西班牙语)编写的,但使用了来自另一语言的技术术语(例如,来自英语)。在这样的系统中,如果搜索项是以另一语言被包括在文档中,搜索国家语言数据库以寻找该搜索项的国家语言等同项将不会查找到该搜索项。同样在这样的系统中,搜索国家语言可能不会发现以多种不同语言处理搜索主题的文档。
图2示出了一种用于将不同语言文档中的关键词合并为图3所示的单一的扩充的关键词索引表的系统。如图2所示,数据库200中任意语言(比如,英语)的文档由标号202表示。通过使用爬行器(crawler)离线识别来自数据库中每个文档的关键词,爬行器204为提取器206扫描文档,提取器206识别文档文本中的关键词。然后使用关键词转换器208将提取出的英语关键词转换为其它支持的语言,以便创建所有支持语言的具有相同含义的关键词的扩充的倒排索引210。最好使用关键词字典212完成关键词的转换,以便为图3的索引形成同义词列表,所述关键词字典212包含与在其它国家语言中具有相应含义的关键词关联的英语关键词,所述同义词列表有效地在每种所支持的语言的关键词中列出了每个关键词,以及其在其它支持的语言中的相应含义。为了管理各种语言,建议使用统一字符编码(Unicode)系统(UTF8)转换每个关键词,虽然也可以使用任何其它准确而可靠的系统以有助于本发明。尽管对以英语作为一种用于针对关键词来查询文档的语言进行了说明,但是本发明并不限于以英语针对关键词来查询文档。任何所支持的语言En、NL1、…NLi…NLn都可以用于在文档中查找使用英语没有查找到的关键词。
图3示出了图2中的扩充的索引表210的更详细的视图。使用结合图2说明的方法从文档D1到Dn中提取英语关键词K1到Kn。如上所述得到所有支持的国家语言的相应关键词,以便对于每个英语关键词Ki,每种支持的语言都存在同义关键词。如图3所示,X表示其中出现一个或多个所列出关键词的文档D1到Dn。因此,如图所示,关键词K1以英语出现在文档D1和Dj中,具有相同含义的关键词K11和K12以国家语言NL1和NL2出现在这些文档中。类似地,同义关键词Ki1和Ki2出现在文档D2中,其可以用国家语言NL1和NL2得到,但是不能用英语得到。同义关键词Kn和Kn2出现在文档Dj中,其可以用英语和国家语言NL2得到,但是不能以国家语言NL1得到。储存在标记有X的每个位置中的是排序因子信息,例如,单词在该文档中出现的次数,其与出现在该文档中的其它关键词的近似程度;包含该关键词的文档的类型(即,技术文档或广告)等。然后使用该信息相对于搜索所找到的其它文档对每个文档进行排序。
当以支持的任意语言的关键词查询图3中的表时,将识别包含与查询中关键词具有相同含义的关键词的任意语言文档并提供它们的排序信息。例如,假设查询包含关键词Ki和Kn,则文档D2和Dj以及Dn将以其可用的语言被识别出来。因此,对于文档D2,该文档将被识别为英语和国家语言NL1和NL2可用,而文档Dj将为国家语言NL1和NL2可用。随着或是由标题或是由归档号码对文档进行识别,将向文档排序算法提供所储存的排序因子信息,所述文档排序算法诸如2002年4月10日申请的美国共同未决专利No.10/120.071中所示,在此引入作为参考。
图4示出了可用于产生图3中的扩充的倒排索引的关键词同义词表400的一部分。该表包括多个列,每列与支持的不同语言关联。如图所示,这些支持的语言是列410中的英语、列420中的西班牙语、列430中的法语以及列440中的意大利语。还示出了另一列450,其用于任何其它支持的语言诸如德语或日语,当然应当认识到,某些语言具有不同于英语的字符类型,并且某些语言具有如此多的不同符号,以至于可能需要使用双字节字符集来表示这些语言中的某些语言,例如日语。图4的行中示出了两组同义词,一组与行460中的英语单词“network”关联,一组与行470中的英语单词“processor”关联。实际上,同义词表400可以具有期望的由标号490表示的其它列(或如果支持较少的语言,可以有更少的列,选择支持的语言只是设计选择,不是本发明的特征)并且如标号480所示,每个关键词都有一行。重要的是应注意到每一项都与一种语言关联,以便可以将单词与其语言关联并将西班牙语单词网络(red)与英语单词的颜色红色区分开(如果需要)。虽然为了理解同义表的概念以表格的形式示出了该表,但是根据传统的数据处理技术,该表可以在存储装置中以其它已知的格式存在。
图5示出了结合有本发明的搜索系统。支持的任意语言的查询510被输入到搜索引擎520,并被传递给结合图2和图3说明的扩充的关键词倒排索引210。索引210支持多种语言并且允许将关键词查询转换成任意支持的语言。在英语查询的情况下,使用语言关键词5301和其它支持语言的语言关键词5302到530n中的列表将该查询应用于倒排索引210。这产生了英语语言命中列表5401和国家语言命中列表5402到540n。然后用户可以选择其感兴趣的任意语言的结果5401到540n。有可能用户选择一个列表(比如,列表5402),确定其不适合并尝试其它选择。如果用户理解英语的能力有限,他可能愿意以任何其它国家语言5402到540n查看结果。如果国家语言结果(比如,540i)不充分(或不存在),该用户可以继续查看英语结果5401。在另一种情况中,用户可能认识到感兴趣的结果最有可能是英语结果5401,并可以以这些结果开始。在另外一种情况中,用户发现有如此多的英语结果,从而他决定在其国家语言550中再次检查更有选择性的列表。在国家语言结果不够或不可用的情况下,搜索引擎将提供其它语言的文档以增加列于选定列表560中的搜索结果,其中英语是默认的语言,英语文档不可用时以可用的语言提供文档。由排序算法570分析选定列表中的文档以便向用户提供排序的列表580。
如图6所示,用于查询本系统的计算机屏幕包括输入关键词查询600的输入框。搜索区域602用于指明搜索范围。搜索区域604用于指出要搜索的语言。区域606用于指出将提供何种语言的查询项,并且输入框608用于提供将以何种语言提供排序列表。因此,在该图中,“laptop”和“IBM”是要检查的关键词。搜索区域是“任意国家”。然而,如果需要,可以将搜索局限在特定的国家或特定的文档库。例如,可以将搜索区域局限在国会图书馆或美国的任意图书馆。同样也列出将以何种语言执行查询。这将产生图3的表中包含的所有支持语言的查询,从而如结合图3所述的,将从该表中读出相同文档的多个副本。输入框606标识出搜索的单词为英语单词。但是也可以使用任何其它支持的语言。例如,如果德语是支持的语言,搜索项600可以是德语单词,并且查询语言将指出它们是德语。最后,可以用与查询语言不同的语言提供结果,如此处所示的,虽然搜索项是英语,但是只要德语的排序文档可用,将以德语提供该排序的文档。如果任何德语文档都不可用,该列表将包含可用语言的文档,其中英语是默认第一语言。上述输入框600和608的使用允许控制执行搜索的范围和语言以及提交的结果。
现在参考图7,通过用户在步骤702和步骤704输入在图6的输入框600到608中显示的搜索信息来搜索系统。然后使用输入的查询信息和其它信息在步骤706查询的扩充倒排索引表并从表210获得文档列表。然后在步骤710中向搜索者提供其首选语言的排序文档列表并在步骤712中决定结果是否令人满意。如果结果令人满意,则过程结束。然而如果搜索者不满意,则他可以在步骤714通过修改在步骤702和704中提供的数据来扩展或改变搜索范围。
应当理解,本发明特别适合于在数据处理系统中使用,所述数据处理系统诸如带有存储程序的通用计算机,所述存储程序包括包含多条指令的计算机程序装置。通常这些指令是用人们可以阅读的高级语言编写的,并且通常这些指令被转换成机器语言,即所述数据处理系统能够理解的简单指令。在适合的情况下,如果希望,可以直接以机器编程语言编写此类指令,这是一种允许高效地执行,但是更难于编程的系统。本发明不限于任何特定的输入语言。2002年4月10日申请的美国共同未决专利No.10/120,071披露了一种适合于与本发明一起使用的网络。在此将该申请的主题内容引入作为参考。可以在服务器上提供本发明的软件并使用计算机在因特网上对其进行访问,在所述计算机上将出现图6所呈现的显示。
如本文件中所使用的,软件、计算机程序以及计算机程序装置是可替换使用的。在本文中的软件的意思是任何语言的任何表达、代码或符号,或指令集,所述指令集旨在使具有信息处理能力的系统直接或者执行下面的两者之一或者都执行之后实现特定的功能a)转换为另一种语言、代码或符号;b)以不同的材料形式再现。
在优选实施例的说明中使用了统一字符编码系统来管理不同的语言,但是如果希望,其它适合表示不同语言的方法也可以用于帮助本发明。
术语(多种)国家语言用来表示一种或多种关联的语言。国家语言可以是系统支持的任意语言,并且对于不同的用户可以包括不同的语言。所以对于墨西哥人或来自西班牙的人,“国家语言”可能表示西班牙语,而对于来自法国或其它讲法语的地区的人,“国家语言”可能表示法语。对于各种常用语言,可以获得适合的同义词表,其被用作定位关键词的系统并将所考虑的文档说明性的关键词与基本相同的常用词汇分离。这种关键词定位系统通常面向技术并识别在所考虑的技术下感兴趣的单词。
当然,在参阅了上面对优选实施例进行的说明以及附图和所附权利要求后,对于相关领域的技术人员来说本发明的许多改型都是显而易见的。例如,在某些情况下,可以使用支持语言的组合编写文档。此外,可以使用本发明的某些元素获得益处而不必相应使用其它元素。例如,使用同义词或关键词字典并不是完成将关键词转换为其它语言的唯一方法。此外,取决于环境情况,各种其它装置也可以被替代以便获得益处。因此,上述对优选实施例的说明应被认为只是本发明原理的示例,并非对其进行限制。
权利要求
1.一种创建和搜索支持多种语言的文档数据库的方法,该方法包括以下步骤使用关键词字典从每个所述文档提取关键词;将该关键词转换为所支持的语言;以每种所支持的语言为每个文档创建关键词列表;使用每种支持语言的该关键词创建包含该关键词的文档的倒排索引,以及关于该文档的排序因子信息;通过使用一种支持语言的搜索项查询该倒排索引来检索任何所支持的语言的文档;以及使用包含在该倒排索引中的文档的排序因子信息对该文档进行排序。
2.包括权利要求1各步骤的方法,其中使用关键词创建倒排索引的步骤包括使用统一字符编码系统管理所支持的语言的步骤。
3.包括权利要求1各步骤的搜索数据库的方法,其中生成查询的步骤包括标识以何种语言呈现。
4.一种搜索包含以多于一种语言编写的文档的数据库的方法,该方法的步骤包括创建识别每个文档的关键词搜索项的搜索工具,所述关键词搜索项和与其具有相同含义、支持其它语言的关键词相关联;使用所支持的任意语言的关键词搜索项标识搜索文档,以使用响应搜索语言和其它所支持的语言的关键词搜索项的搜索引擎查询该搜索工具;以及基于该搜索项及其相关联的同义词提供检索到的多种语言文档的列表。
5.如权利要求4的方法包括将搜索结果转化成另一种语言的步骤。
6.如权利要求5的方法,其中该方法还包括基于该搜索工具中的排序信息提供文档的有序列表的步骤。
7.如权利要求4的方法,其中当存在由搜索者选择的所支持的语言的文档时,提供该语言的文档搜索列表的步骤。
8.一种用于基于输入搜索项来搜索文档数据库的系统,该系统包括关键词列表,对于数据库的多个文档中的每个文档,所述关键词列表包括至少第一和第二语言的具有相同含义的关键词;用于数据库中多个文档的倒排索引,该倒排索引包括该列表中具有相同含义的关键词;以及响应第一和第二语言的关键词的搜索引擎,所述搜索引擎使用该倒排索引得到结果集,该结果集包含对应第一或输入语言的输入关键词搜索项的文档并包含第二语言的文档。
9.一种如权利要求8中所述类型的系统,其中该列表是双向列表,该列表用于将搜索项从第一语言转换成第二语言以及从第二语言转换成第一语言。
10.一种如权利要求8中所述类型的系统,其中转换搜索项使用了用于管理多种语言的统一字符编码系统。
11.一种基于输入搜索项来搜索文档数据库的计算机可用介质上的计算机程序,该软件包括用于关键词列表的软件,对于数据库的多个文档中的每个文档,该关键词列表包括至少第一和第二语言的具有相同含义的关键词;用于数据库的多个文档的倒排索引的软件,该多个文档包含该列表中具有相同含义的关键词;以及用于响应第一和第二语言的关键词的搜索引擎的软件,该搜索引擎使用倒排索引得到结果集,该结果集包含对应第一或输入语言的输入关键词搜索项的文档并包含第二语言的文档。
12.如权利要求11中所述类型的计算机程序,其中该列表是双向列表,该列表用于将搜索项从第一语言转换成第二语言以及从第二语言转换成第一语言。
13.如权利要求11中所述类型的计算机程序,其中转换搜索项使用了用于管理多种语言的统一字符编码系统。
全文摘要
使用包括双向倒排索引工具的搜索引擎减少了搜索时间,可以使用多种语言中的一种语言的关键词访问该工具,并提供包含所有这些语言的文档列表。所有支持语言的关键词最好储存在倒排索引查找表中,该表交叉引用了包含该关键词的这些语言的文档。当查询一种语言的关键词时,可以一起访问具有相同含义的不同语言的该关键词。包含该表的搜索引擎可以识别选定语言、第二语言或者所有支持语言的相关文档,这可以由用户决定。关于每个文档的信息还包括用于对该文档进行排序的信息,诸如关键词频率和诸关键词相似性。
文档编号G06F17/28GK1620661SQ03802417
公开日2005年5月25日 申请日期2003年1月24日 优先权日2002年2月1日
发明者G·T·布朗, Y·N·多加纳塔, Y·德里西, T-H·芬, 金文柱, L·科扎科夫, J·利昂-罗德里格 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1