专利名称:用于校正按键错误的方法、搜索引擎和搜索系统的制作方法
技术领域:
本发明涉及计算机系统,尤其涉及用于校正用户输入错误的方法、搜索引擎和搜索系统。
背景技术:
近年来,因特网的使用迅速增长,大量的信息出现在因特网上。因特网用户为了从如此大量的信息中获取他们感兴趣的信息,通常求助于搜索引擎,例如AltaVista、Yahoo!搜索、MSN搜索,等等。当激活了网页浏览器之后,用户仅需向搜索引擎输入一个或多个检索词,搜索引擎就会返回包含相关因特网资源的信息(例如简介、URL等)在内的结果列表。利用搜索引擎,用户能够有效而高效地从因特网获取有用的信息。
因特网上信息搜索的一个示例是正在变得日益普及的在线购物。图1的流程图示意性地示出了在线购物的过程。如图1所示,在线购物通常包括以下两个步骤。在步骤101中,利用诸如计算机或移动电话之类的终端访问因特网的用户从在线商店搜索其感兴趣的商品信息。在步骤102中,当找到想要的商品后,用户接收商品并通过货到付款等方法付款。这里所使用的术语“商品”包括所有可以在线交易的产品,例如书籍、CD等等。
图2的框图示意性地示出了用于在线购物的系统20的基本构成。如图2所示,用户通过终端21访问因特网22。用户可以登录到用于在线购物的在线商店23。在线商店23配备了搜索引擎24,该搜索引擎24中包含商品数据库25。应当注意的是,为简明起见,并未示出在线商店的其它部分,虽然这些部分对于商店的运行可能是必要的。搜索引擎24连接到因特网22并与用户交互。在在线购物的第一步(即搜索商品信息的步骤)期间,用户使用终端21,输入与其感兴趣的商品有关的检索词。搜索引擎24接收到检索词,并利用检索词在商品数据库25中搜索相关商品。如果搜索引擎24找到了相关商品,它就将包含关于该相关商品的信息的结果列表返回给用户。如果搜索引擎24没有找到与检索词有关的信息,它就返回表示未找到的消息。
在商品搜索过程中,一个常见的问题是在用户查询的一开始可能就出现一些错误。即,用户可能无意间向搜索引擎24键入了错误的检索词。在此情况下,搜索引擎24将会从商品数据库25中找到错误的结果(或者什么也找不到),并将该结果(或者表示未找到的消息)返回给用户。这样,用户就无法获得期望的信息,并且他/她可能不得不输入正确的检索词并再次搜索。这不仅对用户来说很麻烦,而且浪费系统资源。因此,产生了自动校正查询错误并为用户找到最佳候选商品的需求。
一般而言,用户查询中可能存在的错误有三种拼写错误、理解错误和按键错误。拼写错误是指同音词的误用。例如,如果用户想要输入“技术”(拼音是“jishu”)这个词作为检索词,但却输入了同音的“奇数”(拼音也是“jishu”),就发生了拼写错误。理解错误指的是近义词的误用,这常常是由用户对词义的误解引起的。例如,如果用户应当输入“检索”(“jiansuo”)这个词作为检索词,但却输入了近义词“检查”(“jiancha”),就发生了理解错误。按键错误比另外两种错误常见得多。例如,通过拼音输入法,用户可能想要通过首先输入“技术”这个词的拼音(“jishu”),来输入“技术”作为检索词。遗憾的是,用户可能实际输入的是“秘书”这个词,这是因为“秘书”的拼音是“mishu”,用户实际上在键盘上按下的是“m”键而非“j”键,就发生了这种按键错误。
人们已经提出了多种解决方案,用来在信息搜索过程中校正检索词的输入错误。然而,这些方案中的大多数仅能处理拼写错误和理解错误。例如,日本专利申请特开昭64-013666公开了一种使用同音词典来校正拼写错误的系统。日本专利申请特开平10-240739公开了一种利用词典来校正检索词的信息检索装置。在该词典中存储了包含关于同音词、近义词、常一起使用的词、意义相关的词等等的信息的条目,并基于所述信息来确定检索词是否有误。一旦发现了错误的检索词,就根据词典中合适的条目,将错误的词用同音词、近义词或其它某些类似的词来代替。
如上所述,按键错误是最常见的错误类型。尤其是在具有只包含几个键的小键盘的便携式终端(例如移动电话)中,键彼此靠近,便携式终端的用户可能不得不按下一个键若干次以输入一个正确的字母,例如按3次“6”键以得到字母“O”。这使得按键错误更容易发生了。因此,为了全面地处理用户查询中的错误,必须有效地处理按键错误。
日本专利申请特开平10-21262提到了使用按键排列信息来校正一些按键错误。然而,平10-21262仅提到了基于对被错按的键周围的键的调查来补充候选词,但并未提供通用的解决方案。
发明内容
因此,本发明的目的在于提供有效处理按键错误的通用的方法、搜索引擎和搜索系统。
根据本发明的一个技术方案,提供了一种用于校正按键错误的方法,包括以下步骤在客户设备的键盘上接收用户所输入的检索词;将所述客户设备通过通信网络连接到第一数据库;搜索与所述检索词相似的串;使用所述相似串,基于预定的标准形成校正结果;以及将所述校正结果输出给所述客户设备。
根据本发明的另一技术方案,提供了一种搜索引擎,用于根据客户设备的请求在第一数据库中检索数据,所述客户设备可控制地通过通信网络连接到所述搜索引擎和第一数据库,所述搜索引擎包括检索词输入单元,其可操作地耦合到所述客户设备,用于接收在所述客户设备的键盘上输入的检索词;检索单元,其可操作地耦合到所述第一数据库,用于从所述检索词输入单元接收所述检索词,并搜索与所述检索词相似的串;以及搜索结果输出单元,其可操作地耦合到所述检索单元和第一数据库,用于使用所述相似串,基于预定的标准形成校正结果,并将所述校正结果输出给所述客户设备。
根据本发明的又一技术方案,提供了一种搜索系统,用于在用户通过通信网络输入检索词时校正按键错误,该系统包括客户设备,其具有由用户用来输入所述检索词的键盘;第一数据库,其可操作地连接到所述通信网络;以及搜索引擎,其用于根据所述客户设备的请求在所述第一数据库中检索数据,所述客户设备可控制地通过所述通信网络连接到所述搜索引擎和第一数据库,所述搜索引擎包括检索词输入单元,其可操作地耦合到所述客户设备,用于接收所述用户在所述键盘上输入的检索词;检索单元,其可操作地耦合到所述第一数据库,用于从所述检索词输入单元接收所述检索词,并搜索与所述检索词相似的串;以及搜索结果输出单元,其可操作地耦合到所述检索单元和第一数据库,用于使用所述相似串,基于预定的标准形成校正结果,并将所述校正结果输出给所述客户设备。
根据本发明的另一技术方案,提供了一种搜索系统,用于在用户通过通信网络输入检索词时校正按键错误,该系统包括客户设备,其具有由用户用来输入所述检索词的键盘;第一数据库,其可操作地连接到所述通信网络;以及搜索引擎,其用于根据所述客户设备的请求在所述第一数据库中检索数据,所述客户设备可控制地通过所述通信网络连接到所述搜索引擎和第一数据库,其中所述搜索引擎包括检索词输入单元,其可操作地耦合到所述客户设备,用于接收所述用户在所述键盘上输入的检索词;检索单元,其可操作地耦合到所述第一数据库,用于从所述检索词输入单元接收所述检索词,并搜索与所述检索词相似的串;以及搜索结果输出单元,其可操作地耦合到所述检索单元和第一数据库,用于将所述检索单元的搜索结果输出到所述客户设备,并且所述客户设备还包括检索词输出部分,其可操作地耦合到所述键盘,用于从所述键盘接收所述检索词,并将所述检索词通过所述通信网络输出到所述搜索引擎;搜索结果接收部分,其可操作地耦合到所述搜索引擎,用于从所述搜索引擎接收搜索结果;校正结果形成部分,其可操作地耦合到所述搜索结果接收部分,用于使用所述相似串,基于预定的标准形成校正结果;以及显示设备,其可操作地耦合到所述校正结果形成部分,用于将所述校正结果呈现给所述用户。
根据本发明的另一技术方案,提供了一种搜索系统,用于在用户通过通信网络输入检索词时校正按键错误,该系统包括客户设备,其具有由用户用来输入所述检索词的键盘,服务器,其驻留在所述通信网络上,第一数据库,其可操作地连接到所述服务器和所述通信网络,以及搜索引擎,其用于根据所述客户设备的请求在所述第一数据库中检索数据,所述客户设备可控制地通过所述通信网络连接到所述搜索引擎和第一数据库,其中所述搜索引擎包括检索词输入单元,其可操作地耦合到所述客户设备,用于接收所述用户在所述键盘上输入的检索词;检索单元,其可操作地耦合到所述第一数据库,用于从所述检索词输入单元接收所述检索词,并搜索与所述检索词相似的串;以及搜索结果输出单元,其可操作地耦合到所述检索单元和第一数据库,用于将所述检索单元的搜索结果输出到所述客户设备,并且所述服务器包括搜索结果接收部分,其可操作地耦合到所述搜索引擎,用于从所述搜索引擎接收搜索结果;校正结果形成部分,其可操作地耦合到所述搜索结果接收部分,用于使用所述相似串,基于预定的标准形成校正结果;以及校正结果输出部分,其可操作地耦合到所述校正结果形成部分,用于将所述校正结果输出给所述客户设备。
根据本发明的另一技术方案,提供了一种搜索系统,用于在用户输入检索词以在第一数据库中执行查询时校正按键错误,该系统包括键盘,被用户用来输入所述检索词;检索词输入单元,其可操作地耦合到所述键盘,用于接收所述检索词;检索单元,其可操作地耦合到所述第一数据库,用于从所述检索词输入单元接收所述检索词,并搜索与所述检索词相似的串;搜索结果输出单元,其可操作地耦合到所述检索单元和第一数据库,用于使用所述相似串,基于预定的标准形成校正结果;以及显示设备,其可操作地耦合到所述搜索结果输出单元,用于将所述校正结果呈现给所述用户。
本发明的方法、搜索引擎和搜索系统适用于多种语言、键盘和/或输入法。
第一,根据本发明,可以对数字、字母、非罗马字符等等进行按键错误的校正。在一个优选实施例中,可在搜索相似串之前将非罗马字符转换成语音表示。例如,当一个中国用户输入汉字作为检索词时,他可能使用移动电话键盘首先输入拼音(这可能需要对多个键每个按下多次,有可能出现按键错误),然后将拼音转换成汉字。根据该优选实施例,可将搜索引擎接收到的汉字转换回拼音,并用来在数据库中搜索相似串。这对于诸如日语和韩国语之类的其它亚洲语言也适用。
第二,根据本发明,可以对各种输入法校正按键错误。例如在中国,有很多适于将按键输入转换成汉字的输入法,例如拼音输入法、五笔输入法,等等。以五笔输入法为例,汉字被分解成一些基本的“五笔字根”,一个字根可能对应于移动电话键盘上的一个键。对于本领域技术人员来说很清楚的是,本发明也适用于这种输入方法,只要针对分解后的字根来搜索相似串即可。
第三,根据本发明,可以对各种键盘校正按键错误。在一个实施例中,考虑了键盘上键之间的几何距离来定义按键错误信息词典,以有助于确定哪个串与检索词最为接近的处理。根据本发明,可以为不同的键盘创建不同的按键错误信息词典,从而准确地适应键盘的特性,而无需改变本发明的基本解决方案。
总之,本发明的应用并不局限于特定的语言、输入法和键盘,在本发明的教导的启示之下,可以实现通用的方法、系统和装置来处理按键错误。
结合附图阅读以下具体实施方式
,将会更充分地理解本发明的前述及其它目的、本发明的各种特征,以及本发明本身,在附图中图1的简化流程图示意性地示出了在线购物的过程;图2的简化框图示意性地示出了用于在线购物的系统的基本配置;图3示出了移动电话键盘布局的示例;图4是一个示例性在线购物系统的简化框图,在该系统中采用了本发明的搜索引擎;图5是由本发明的示例性搜索引擎执行的商品搜索过程的简化流程图;
图6示意性地示出了在示例性的按键错误信息词典中归纳的所有的按键错误类型及其发生的可能情况;图7示出了在图3所示的键盘的基础上定义的示例性的按键错误信息词典的一部分;图8的流程图示意性地示出了按键错误信息词典的示例性形成过程;图9的流程图示意性地示出了按键错误信息词典的另一个示例性形成过程;图10示出了图4的示例性错误概率计算部分的配置;图11是由错误概率计算部分执行的计算过程的流程图;图12示出了检索词和候选词之间的不同点示例;图13是本发明的另一示例性在线购物系统的简化框图;图14是图13所示的示例性系统所执行的商品搜索过程的简化流程图;图15是本发明的另一示例性在线购物系统的简化框图;图16是本发明的独立商品搜索系统的简化框图。
具体实施例方式
下面将参照附图来说明本发明的优选实施方式。
当用户利用客户设备来输入检索词时,可能发生按键错误。所述客户设备可以由各种电子设备,例如移动电话、笔记本计算机、台式计算机等等构成。客户设备可以包括各种基于按键的接口,例如计算机QWERTY键盘、移动电话输入键盘,等等。在以下的说明中,将移动电话描述为客户设备的示例。然而,这种描述绝不是限制本发明的范围,本发明也适用于各种其它的客户设备。
在检索词中可能发生按键错误,检索词可能包含各种符号,这些符号主要分为两类。一类是像产品序列号这样的数字或符号的序列,例如“234324”或“rwrgf#$gsgdf”。另一类是语言相关的文本。在以下说明中,将检索词也这样分成两类。然而对本领域技术人员来说很清楚的是,这两类符号的任意组合,例如由数字、符号和字符构成的序列,也可以被类似地处理,而且上述的例示绝不是限制本发明的范围。
按键错误对于所有类型的语言都会发生,但对于不采用罗马字符的语言,尤其是亚洲语言来说更为常见,因为这些语言常常包含成千上万的字符,无法将其逐个作为键排列在键盘上。与设计昂贵的语言专用键盘相比,更好的是使用语言专用的输入法,这允许用户从一个小字符集键盘(例如移动电话键盘)输入语音文本,并将语音文本转换成语言文本。
图3示出了移动电话键盘的一个示例。这里,“语音文本”表示读音,而“语言文本”表示字符。例如,在汉语中,拼音(例如“shuihu”)是语音文本,而汉字(例如“水浒”)是相应的语言文本。同样的情况也存在于日语和其它一些语言当中。在以下说明中,将汉语作为输入语言的例子。然而,这样的说明绝不是限制本发明的范围,本发明也适用于各种其它语言。
现在参照图4,示出了一个在线购物系统40,其中采用了本发明的搜索引擎。如图4所示,用户(未示出)利用客户设备41连接到因特网42。当用户想要在在线商店中搜索商品时,他或她在客户设备41的键盘上输入检索词,并通过因特网42将客户设备连接到在线商店。在线商店的搜索引擎43通过因特网42从接收来自用户的信息以及向用户发送信息。搜索引擎43按照用户的指令在商品数据库44中搜索商品信息。本领域技术人员将会理解到,为简明起见,本发明提到了在线购物和商品搜索。然而,本发明的应用绝不限于在线购物或商品搜索。
搜索引擎43包含以下部分检索词输入部分45,用于通过因特网接收发送自客户设备41的检索词;检索部分46,其耦合到商品数据库44,用于使用检索词从商品数据库44中检索商品信息;按键错误信息词典47,它是记录了按键错误的情况及其概率的集合;错误概率计算部分48,用于从按键错误信息词典47中检索按键错误概率,并计算检索词与每个相似串之间的相似度;以及搜索结果输出部分49,用于形成搜索结果并通过因特网42将其输出到客户设备41。
在本实施例中,检索部分46在商品数据库44中除了检索与用户所输入的检索词相匹配的商品条目之外,还可以检索与检索词相似的串。本领域技术人员公知的是,商品数据库44可以驻留于搜索引擎43之内,虽然在图4中它被示为在线购物系统40的单独组件。
下面参照图5的流程图,说明本发明的图4所示的搜索引擎43所执行的商品搜索的处理流程。
如步骤501所示,处理开始于通过因特网42对客户设备41输入的检索词的接收。在步骤502,检索部分46利用检索词在商品数据库44中执行搜索。搜索引擎所执行的在数据库中搜索匹配条目的过程是本领域公知的。在步骤503,判断是否找到了匹配结果。如果找到了一个或多个匹配结果,即步骤503的“是”,则将结果传递到搜索结果输出部分49,然后在步骤506,搜索结果输出部分49形成包含匹配结果在内的结果列表,并在步骤507将结果列表通过因特网42输出到客户设备41。随后,搜索处理结束。
如果在步骤503获得否定的判断(“否”),则在步骤504,检索部分46在商品数据库44中搜索与检索词相似的串。有多种公知的方法可以用来搜索相似串,包括但不局限于动态规划算法(Dynamic ProgrammingAlgorithm),该算法可参见Foundations Of Sequence Analysis,Stefan Kurtz.,Lecture Notes For A Course In The Winter Semester 2000/2001,该文献可从以下网址获得http://bibiserv.techfak.uni-bielefeld.de/media/seqanalysis/prscript.pdf,这里通过引证而包含了该文献的全部内容。
与检索词相似的串(以下称为“相似串”)可以是数据库中一个字段内容的部分或全部。例如,在商品数据库44中可以有一个关键字字段,其内容是关键字“Harry Potter”,其与一个《哈里·波特》系列图书的商品条目相关联。如果用户输入了检索词“Harry Poter”,则检索部分46可以直接对该检索词应用动态规划算法,并从商品数据库44中获得关键字“Harry Potter”作为相似串。
检索部分46可以具有在检索词是由汉字组成的词语的情况下,将词语转换成其语音表示(即拼音)的功能模块。优选地,这一转换是使用一个表或词典来执行的,在所述表或词典中,语言相关文本和相应的语音文本彼此形成映射。例如,当用户输入词语“疏忽”(拼音是“shuhu”)作为检索词时,检索部分46在搜索相似串之前,将该检索词转换成语音表示“shuhu”。
在一个实施例中,商品数据库44可以具有一个记录每个商品名称的语音表示的语音表示字段。例如,图书《水浒传》的商品条目的语音表示字段的内容是相应的拼音“shuihuzhuan”。在搜索相似串时,检索部分46会发现检索词的语音表示“shuhu”与“shuihu”部分相似,并将串“shuihu”作为相似串。每个条目的语音表示字段的内容可以是预先建立的,或者可以在搜索相似串时由检索部分46从商品名称得到。
在另一个可替换的实施例中,搜索系统40还具有一个用户查询历史数据库(未示出),该数据库耦合到检索部分46,用于存储搜索引擎的用户曾经检索过的正确的检索词的集合。在本实施例中,检索部分46从用户查询历史数据库中检索相似串,例如对于错误输入的检索词“疏忽”(shu hu),从用户查询历史数据库中检索到了相似的“水浒”(shuihu),那么接下来检索部分46可以用这个正确的相似串到商品数据库44中检索有关的商品。本实施例的一个优点在于,避免了在商品数据库44中对所有商品数据库中的条目制作拼音的索引而造成的索引量太大的问题,可以提高检索速度。
步骤504中所找到的相似串对应于某些商品,这些商品的信息是实际上包含在商品数据库44中的,并且其中一个相似串可能就对应于用户想要输入的检索词。这些串和/或与这些串相对应的语言相关文本在本发明中被称为“候选词”,这是因为它们可能后来被提供给用户,以便用户从中选择哪个是他/她想要输入的检索词。
在步骤505中,错误概率计算部分48使用存储在按键错误信息词典47中的概率来计算检索词和每个相似串之间的相似度。按键错误信息词典47的构造和步骤505中错误概率计算部分48所执行的计算过程将在后面更详细地说明。在一个实施例中,如果只找到一个相似串,或者根本没找到相似串,则错误概率计算部分48不执行相似度计算。
在对每个相似串获得相似度之后,在步骤506,搜索结果输出部分49可以根据相似度对相似串进行排序,将语音表示转换成相应的语言表示,并形成结果列表。在一个优选实施例中,如果是汉字,则用语言表示而非语音表示作为候选词。
在一个实施例中,结果列表只包含相似度最高的k个候选词,其中k是自然数。k被称为最大候选词返回数,其可以是一固定值,或者由发起搜索处理的用户指定。例如,根据本发明,可以在发起利用搜索引擎的搜索处理之前,提示用户设置最大候选词返回数。例如在一次搜索中,用户将最大候选词返回数设置为5。搜索后,没有找到匹配结果,但找到了10个候选词。搜索结果输出部分49随后可以将候选词排序,将前5个候选词返回给用户,并丢弃其它候选词。当在步骤507中搜索结果输出部分49将结果列表返回给用户之后,搜索处理结束。
如上所述,仅当在数据库中未找到匹配结果时才搜索相似串。然而,在一个实施例中,即使找到了匹配结果,也可搜索相似串,并且返回给用户的结果列表可以既包含匹配结果列表又包含候选词列表。
如上所述,返回给用户的是候选词。然而,在一个实施例中,如果在商品数据库44中未找到匹配结果,则搜索引擎可以将与具有最高相似度的候选词相匹配的结果的列表返回给用户。
下面将参照图6至图9,说明本发明的按键错误信息词典47的构造。图6示意性地示出了在按键错误信息词典中归纳的所有的按键错误类型及其发生的可能情况,图7示出了在图3所示的键盘基础上定义的按键错误信息词典的一部分,图8和图9是本发明的两个用于形成按键错误信息词典的示例性处理的示意性流程图。
一般而言,按键错误可以分成以下三种类型。
(1)缺失错误。这种错误发生在用户按下一个键,但该键没有反应或没有形成有效输入的时候。例如,“shu hu”(疏忽)是“shui hu”(水浒)的缺失错误,这是因为按下了“i”键却没有反应,其中“shu hu”是中文文本“疏忽”的语音文本,“shuihu”和“水浒”也是同样的关系。另一个缺失错误示例是“2468”相对于“22468”,该错误发生在按下“2”键却没有响应,或者按了两下但只有一次形成有效输入的时候。
(2)插入错误。这种错误发生在用户无意间按下了一个多余的键的时候。例如,“guan nian”(观念)是“gua nian”(挂念)的插入错误,这是因为“n”键被多按了一次,其中“guan nian”是中文文本“观念”的语音文本,“gua nian”和“挂念”也是同样的关系。另一个插入错误示例是“23468”相对于“2468”,该错误发生在错误地插入了“3”键的时候。
(3)代替错误。这种错误发生在用户实际想要按下一个键却按下了另一个键的时候。例如,“mi shu”(秘书)是“ji shu”(技术)的代替错误,这是因为“j”键被“m”代替了,其中“mishu”是中文文本“秘书”的语音文本,“ji shu”和“技术”也是同样的关系。另一个插入错误示例是“2468”相对于“2568”,该错误发生在“5”键被“4”键代替的时候。
相应地,在按键错误信息词典47中归纳了与上述三类按键错误相对应的三种概率。
(1)缺失概率——缺失错误的概率。例如,对于上述“shui hu”(水浒)到“shu hu”(疏忽)的缺失错误,有三种情况可能引起该缺失错误在按下“u”键以后缺了“i”;在按下“h”键之前缺了“i”;以及因为用户按“i”时没有响应而缺了“i”,我们可以将这三种情况分别表示为P(ui→u),P(ih→h)and P(i→□),其中“□”的意思是没有字符。
(2)插入概率——插入错误的概率。例如,对于上述“gua nian”(挂念)到“guan nian”(观念)的插入错误,有三种情况可能引起该插入错误在按下“a”键时插入了“n”;多余地按了“n”;以及由于用户多按了一次“n”而插入了“n”,我们可以将这三种情况分别表示为P(n→an),P(□→n)and P(n→nn),其中“□”的意思是没有字符。
(3)代替概率——代替错误的概率,即,P(字符X被字符Y取代)。例如,对于上述“ji shu”(技术)到“mi shu”(秘书)的代替错误,可能引起该代替错误的仅有的一种情况是“j”被错按成了“m”,我们可以将这种情况表示为P(j→m)。
在图6中,不同的键由K1和K2表示。K1和K2可以是键盘上的任意键,其中保持K1≠K2。“□”的意思是没有字符。箭头左侧的符号是用户想要输入的,而右侧的是用户实际输入的。而且,K1和K2不一定表示同一种符号(数字、字符、标点或其它符号),例如可以是K1=“q”,K2=“1”,或者是K1=“p”,K2=“[”。在图6中,这些概率被表示为Pi,其中Pi≥0,i=1,2,...。Pi反映了按键错误情况的发生概率,其对于不同的键可能不同。考虑到各种因素,概率可以多种方式来定义,例如由人工定义,或者使用大规模训练集合的统计方法来估计概率。后面将详细说明概率的计算方法。
在图7中示出了基于图3所示的键盘的按键错误信息词典的一部分。图7所示的概率值是使用键盘上键的几何距离来建立的。图8的流程图示意性的示出了使用键盘上键的几何距离来建立按键错误信息词典47的示例性形成过程。
在步骤801,对给定的键盘获得键盘数据,所述键盘例如是可用来进行中文输入的移动电话键盘。在步骤802,分析键盘上键的分布形式。该分布形式可能是大多数情形下的矩阵分布形式,或者是在NOKIA 3650等中的圆形分布形式。
在步骤803,分别针对代替错误、插入错误和缺失错误来确定概率值的计算规则。这一确定过程是基于步骤802中的分析结果来进行的,这是因为键的分布是主要考虑因素。例如,对于代替错误,P(K1→K2)在K1和K2是键盘上相邻键的情况下,比K1和K2彼此相距较远的情况下更大。
例如,如图3所示,“4”键和“5”键彼此相邻,而“4”键和“9”键彼此远离。因此,参照图7所示的小部分的左栏中的头两个条目,P(5→4)是0.5,这比P(9→4)的0.1大得多。应当注意的是,概率的绝对值可以改变,只要保持概率之间的相对关系即可。具体而言,P(5→4)的值不一定是0.5,P(9→4)的值也不一定是0.1。然而,对于图3所示的键盘,P(5→4)>P(9→4)这一相对关系必须保持,这是因为该相对关系反映了键盘上“5”键距“4”键比“9”键更近这一事实,这使得把5错输入为4的情况比把9错输入为4的情况更可能发生。
而且,当用户使用图3所示的键盘时,他/她有时不得不为了输入一个字母而多次按一个键。例如,在字母输入模式下,如果用户想要输入字母“j”,他/她必须按“5”键一次。如果用户想要输入字母“k”,他/她必须在规定的一小段时间之内间歇地按同一键两次。从图7和图8可以看出,P(j→k)比P(j→h)大,这是因为字母“j”和“k”是用同一键(“5”键)输入的,而“j”和“h”对应于不同的键(分别是“5”键和“4”键)。
如上所述,可以如此建立代替错误的计算规则,以致在概率值中反映键盘上键之间的几何距离。当建立概率值时,可以考虑历史统计数值。例如,对于插入错误和缺失错误,对因特网用户的按键错误模式的调查表明,这两类错误与代替错误相比较不容易发生。相应地,可以将插入错误和缺失错误中“□”字符的情况的概率值设定为等于预定的最小值,例如P(□→h)=0.1。
再次参照图8,在确定计算规则之后,在步骤804可以遍历键盘上的每个键,以对每种按键错误估计概率。然后,在步骤805可以将概率并入一个表中,以形成按键错误信息词典,然后处理结束。
按键错误信息词典中的概率也可以使用统计方法来创建。图9的流程图示意性地示出了使用统计方法来形成按键错误信息词典47的一个示例性形成过程。
在步骤901,获得训练集。对于PC键盘,搜索引擎中用户的搜索历史数据可被用作训练集。对于诸如移动电话之类的便携式终端上的键盘,训练数据可以从服务提供商(SP)所提供的各种搜索服务的搜索历史中获得,所述搜索服务例如是NEC中国研究院提供的Mobile-Shopping服务。例如,可能有这样一些用户,他们在想要输入“计算机技术”这个词的时候,错误地输入了“计算机隶属”。
在步骤902,从训练集中成对地抽取出错误输入与对应的正确输入,以形成错误输入与正确输入对集合。在上述示例中,可以将错误的词“隶属”和正确的词“技术”抽取出来作为一对。
在步骤903,将词语对转换成语音表示。继续上述示例,“隶属”和“技术”这两个词的语音表示分布是“lishu”和“jishu”。然后,在步骤904比较语音表示以发现不同点。“lishu”和“jishu”之间仅有的一个不同点可以表示为“j→l”。
在步骤905,基于错误的出现频率来计算按键错误概率。例如,获得了10个错误输入,其中对于用户想要输入的同一检索词“jishu”(技术),7个被错误地输入成了“lishu”(隶属),3个是“xishu”(系数)。基于错误的出现频率,可以将概率分别计算成为P(j→l)=7/10=0.7和P(j→x)=3/10=0.3。然后,在步骤906可以将概率并入表中,以形成按键错误信息词典,然后处理结束。
另外,可以结合用户的个性来提升对特定用户的词典的准确度。例如,在移动电话键盘中,一个用户总是喜欢用他的一个大拇指输入字符,而这个大拇指总是倾向于向右上方倾斜。在这种情况下,用户可能错误地输入位于想要输入的键上方或右侧的键的概率就相对较高。假定使用键盘上键的分布来定义按键错误信息词典,当用户想要输入字母“j”时,定义以下概率P(j→m)=0.5,P(j→a)=0.5,P(j→h)=0.4,P(j→t)=0.4,P(j→w)=0.4其中P(j→m)和P(j→a)较大,这是因为“m”在“j”右侧,而“a”对应于“j”上方的键。
在用户使用时,按键错误信息词典中的概率也可以通过学习用户的个人行为来更新。具体而言,在创建按键错误信息词典时使用总体训练集来创建概率,并在使用过程中根据检测到的用户错误来调整概率。这样,就可以在按键错误信息词典中体现用户的个人行为。
如上所述,按键错误概率依赖于键盘上键的分布。因此,可以对于不同的键盘维护不同的概率表,所述键盘例如是矩形移动电话键盘、QWERTY PC键盘,等等。虽然在图4中仅示出了一个按键错误信息词典,但在一个实施例中,本发明的搜索引擎设有多个词典,其中每个都是用一种特定类型的键盘专用的数据来创建的。因此,用户需要告知搜索引擎他/她使用的是哪种键盘,以便利用适当的词典来校正按键错误。
图10示出了图4的错误概率计算部分48的配置。如图10所示,错误概率计算部分48包括以下单元不同点(different point,DP)计算单元81,用于从图4的检索部分46接收检索词和相似串,并计算检索词和相似串之间的DP;概率检索单元82,用于从图4的按键错误信息词典47中检索每个DP的概率;以及概率合成单元83,用于将每个相似串的检索到的概率合成以得到该相似串和检索词之间的总的相似度,并将相似串和相似度输出到图4的搜索结果输出部分49。
现在参照图11,将对图5的步骤505中由错误概率计算部分48执行的计算过程的处理流程进行说明。处理开始于步骤1101,其中DP计算单元81从检索部分46所检索到的所有相似串中获得一个相似串。在步骤1102,DP计算单元81计算检索词(或者检索词的语音表示)与相似串之间的所有DP。图12示出了检索词“2468234682468”和相似串“2568246822468”之间的DP。如图12所示,在这两个串之间有3个DP“5→4”、“□→3”和“2→□”。有多种公知的方法可以用来找到DP,这些方法包括但不局限于动态规划算法。
图11的处理在步骤1103继续,其中概率检索单元82分析每个DP以找到该DP的所有可能的形成过程。如上所述,每个DP有多种可能的形成过程。例如,在图12所示的情况下,第一个不同点是DP(5→4)。考虑到该DP的相邻数是“2”和“6”,可能的形成过程包括P(5→4)、P(2→24)×P(5→□)、P(5→□)×P(6→46),以及P(□→4)×P(5→□)。在步骤1104,确定是否以分析了该相似串的所有DP。如果否,则处理转到步骤1103去处理下一个DP。
当分析了所有DP之后,即步骤1104的“是”,处理进行到步骤1105,其中概率检索单元82从按键错误信息词典中检索在计算检索词和当前相似串之间的总体相似度的过程当中有用的所有概率,即在对所有DP的分析结果中出现的所有概率。例如,在图12所示的示例的第一个DP中,根据图7所示的概率,对应于上述DP形成过程的概率分别是0.5、0.4×0.1、0.1×0.1,以及0.1×0.1。
接下来,在步骤1106,将所有概率合成以得到总相似度Pall。Pall表示检索词和相似串之间的相似度,其可以通过各种合成方法来得到。例如,可以用基于所有可能形成过程的所有概率的积、和或最大值作为Pall。对本领域技术人员来说很明显的是,也可以使用其它公知的方法,例如平均、加权平均,等等。
在步骤1107,确定是否已分析了所有的相似串。如果否,则处理转到步骤1101以处理下一个串。另一方面,如果已经分析了所有相似串,即步骤1107的“是”,则处理进行到步骤1108,其中将所有的相似串与其相似度一起传递到图4的搜索结果输出部分49。此后,处理结束。
接下来,将参照图13至图15来说明本发明的在线购物系统的变形。
图13是本发明的示例性在线购物系统1300的简化框图。在图13中,与图4所示的基本相同的组件由相同的标号来表示,并且为简明起见而省略了对这些组件的详细说明。
在图13所示的系统1300中,与图4所示的系统40一样,客户设备1301经由因特网42连接到搜索引擎1303。然而,搜索引擎1303不具有按键错误校正的功能,校正是在客户侧完成的。
如图13所示,客户设备1301具有由用户(未示出)用来输入查询的键盘1321、用于接收查询串并通过因特网42将其发送到搜索引擎1303的检索词输出部分1311、用于从搜索引擎1303接收搜索结果的搜索结果接收部分1312、作为记录按键错误的情况及其概率的集合的按键错误信息词典47、用于从按键错误信息词典47检索按键错误概率并计算检索词和每个相似串间相似度的错误概率计算部分48、用于形成要提供给用户的校正结果的校正结果形成部分1313,以及用于将结果列表呈现给用户的显示设备1322。
搜索引擎1303包括商品数据库44、检索词输入部分45、耦合到商品数据库44并用于使用检索词从商品数据库44中检索商品信息的检索部分1306,以及搜索结果输出部分1309。在一个实施例中,1306既搜索与检索词匹配的结果,又搜索与检索词相似的串。在一个可替换实施例中,检索部分1306仅在未找到匹配结果时才搜索相似串。搜索结果输出部分1309通过因特网42将匹配结果和/或相似串输出到客户设备1301。
图14是由图13所示的系统1300执行的商品搜索过程的简化流程图。如图14所示,处理开始于在步骤1401中对用户键盘输入的接收。然后,在步骤1402,检索词输出部分1311将用户输入的检索词输出到搜索引擎1303。
在步骤1403,检索部分1306搜索与检索词匹配的商品,并且也搜索相似串。例如,如上所述,可以使用动态规划算法来搜索匹配结果和相似串两者。在搜索之后,在步骤1404,搜索结果输出部分1309通过因特网42将匹配结果和/或相似串输出到客户设备1301。
接下来,在步骤1405,搜索结果接收部分1312将匹配结果输出到校正结果形成部分1313,并将相似串发送到错误概率计算部分48。在步骤1406,错误概率计算部分48利用按键错误信息词典47来计算相似度。步骤1406的操作与在图5的步骤505中所执行的基本相同。
在步骤1407,校正结果形成部分1313可以根据相似度将相似串排序,将语音表示转换成相应的语言表示,并形成结果列表。该步骤的具体操作已经参照图5的步骤506详细说明了。在步骤1408,利用显示设备1322将结果列表输出给用户。然后,处理结束。
图15是本发明的示例性在线购物系统1500的简化框图。在图15中,与图13所示的基本相同的组件由相同的标号来表示,并且为简明起见而省略了对这些组件的详细说明。
在图13所示的系统1300中,因特网42仅作为客户设备1303和搜索引擎1303彼此通信的桥梁。然而,在图15所示的系统1500中,在因特网(未示出)上设置了服务提供商(SP)服务器1504,并且检索词输出部分1311、搜索结果接收部分1312、按键错误信息词典47、错误概率计算部分48和校正结果形成部分1313都驻留在SP服务器1504中。SP服务器1504还具有用于从客户设备41接收检索词的检索词接收部分1514,以及用于将结果列表输出到客户设备41的校正结果输出部分1515。
图15所示的系统1500的操作过程与图13所示的系统1300所执行的基本相同,不再详细说明。应当注意的是,尽管图15示出了SP服务器1504从客户设备41接收检索词并随后将其发送到搜索引擎1303,也可以是信息在客户设备和搜索引擎之间来回传送,而只在需要时才联系SP服务器。
在本发明的教导启示下,本领域技术人员将会想到多种在线购物系统。具体而言,图13和图15所示的组件可以驻留在客户设备、SP服务器和搜索引擎中任意一个之上,并且它们可以被适当地组合或划分成不同的组件。应当理解到,任何这种变化都落入本发明的范围之内。
在上述实施例中,按键错误的校正可能在客户设备或SP服务器中执行,但相似串都是从驻留于搜索引擎之内的商品数据库44中搜索出来的。事实上,用于按键错误校正的相似串也可以从客户侧或SP服务器侧获得,而无需搜索引擎的参与。在这种情况下,搜索引擎仅需搜索匹配结果,而其结构可以被简化。
例如,在一个实施例中,图13的客户设备1301还包含一个表,该表存储了检索词的历史集合,该客户设备还包含一个用于将用户所输入的检索词转换成语音表示并在该表中搜索相似串的装置。在一个可替换的实施例中,客户设备维护一个表,该表中包含了商品数据库44中商品名称的语音表示。由于相似串可以在本地获得,因此可以在客户设备在搜索引擎上进行搜索之前就将候选词提供给用户。
例如,在用户输入“系数”(拼音是“xishu”)这个词作为检索词之后,客户设备可以立即执行上述的校正处理,并在显示设备1322上呈现候选词“技术”(拼音是“jishu”),以使得用户可以在他/她犯了错误的情况下选择该候选词。此后,将校正后的检索词发送到搜索引擎以用于商品搜索。
类似地,可以通过在SP服务器上设置用于获得相似串的装置,在SP服务器侧执行校正处理。本领域技术人员在本发明教导的启示之下,将会了解如何实现这些可替换的实施例。
现在参照图16,示出了本发明的独立商品搜索系统的简化配置。如图16所示,商品搜索系统1603是通过向图4所示的搜索引擎43添加了用于与用户进行交互的设备(例如键盘1621和显示设备1622)而构成的。图16所示的商品搜索系统1603的操作过程与结合图4的搜索引擎43描述的过程基本相同,这里省略了其详细说明。
应当注意的是,在图13、15和16中,将商品数据库示出为位于搜索引擎之内。然而,如结合图4描述的那样,这些数据库也可以位于搜索引擎之外,并成为搜索系统的独立组件。
在以上描述中,将检索词看成是用户所输入的查询串。然而,查询串可以采用其它形式。例如,为了用户的方便,搜索引擎可以接受包括多个检索词和逻辑运算符的复杂检索条件(例如“计算机AND技术”),或者甚至是自然语言词语或句子(例如“计算机技术教材”)。在这种情况下,可以向本发明的处理中添加公知的用于将检索条件分析成检索词的处理,以处理复杂的检索条件。在分析之后,搜索引擎可以使用这些检索词在数据库中进行搜索,并可执行上述的错误校正处理。因此,本发明适用于各种输入条件。
在以上说明中,是在拼音输入法和语音表示转换的上下文中对实施例进行说明的。然而,本发明也适用于其它输入方法,例如用于中文输入的五笔字形输入法。在五笔输入法的上下文中,可以将检索词转换成五笔字根,这些字根可以用某些预先定义的代码表示,并用于搜索相似串以便进行错误校正。
此外,本发明还可与本领域中其它公知的技术方案相结合以扩展功能。例如,词典已被说明为包含按键错误信息。然而,词典也可包含其它信息,例如关于彼此同时出现的词、意义相近的词等等的信息。相应地,本发明的方法与现有技术的解决方案一起执行,以提高容错能力。
在不脱离本发明的精神或基本特征的情况下,可以用其它的具体形式来实施本发明。因此,应当将这些实施例看成是在所有方面说明性而非局限性的,本发明的范围由所附权利要求书而非以上说明书来表示,因而来自于权利要求书的含义和等同范围之内的所有改变都应包含在本发明的范围当中。
权利要求
1.一种用于校正按键错误的方法,包括以下步骤在客户设备的键盘上接收用户所输入的检索词;将所述客户设备通过通信网络连接到第一数据库;搜索与所述检索词相似的串;使用所述相似串,基于预定的标准形成校正结果;以及将所述校正结果输出给所述客户设备。
2.如权利要求1所述的方法,其中所述搜索相似串的步骤包括在所述第一数据库中搜索所述相似串。
3.如权利要求1所述的方法,其中所述搜索相似串的步骤包括在第二数据库中搜索所述相似串,所述第二数据库存储了预定的检索词的集合。
4.如权利要求1、2和3中任一项所述的方法,还包括在所述第一数据库中搜索与所述检索词相匹配的条目的步骤。
5.如权利要求1、2和3中任一项所述的方法,还包括在搜索所述相似串之前将所述检索词转换成语音表示的步骤。
6.如权利要求1、2中任一项所述的方法,其中作为所述搜索相似串步骤的结果而得到了多个相似串,所述方法还包括以下步骤计算所述检索词和每个相似串之间的相似度,以及基于所述相似度对相似串进行排序。
7.如权利要求6所述的方法,其中所述校正结果包括预定数量的基于所述排序步骤的结果的与所述多个相似串相关联的候选词。
8.如权利要求6所述的方法,其中所述校正结果包括所述第一数据库中与具有最高相似度的相似串相匹配的条目。
9.如权利要求6所述的方法,其中所述计算相似度的步骤包括以下步骤计算检索词和相似串之间的不同点;分析每个不同点所有可能的形成过程;为每个形成过程找到按键错误概率;以及合成所述按键错误概率以获得所述相似度。
10.如权利要求9所述的方法,其中所述为每个形成过程找到按键错误概率的步骤包括从按键错误信息词典中对每个可能的形成过程检索按键错误概率,所述按键错误信息词典中存储了按键错误概率的条目。
11.如权利要求10所述的方法,其中所述按键错误概率是基于所述键盘上键之间的几何距离来定义的。
12.如权利要求10所述的方法,其中所述按键错误概率是对搜索历史数据进行统计分析而得到的。
13.一种搜索引擎,用于根据客户设备的请求在第一数据库中检索数据,所述客户设备可控制地通过通信网络连接到所述搜索引擎和第一数据库,所述搜索引擎包括检索词输入单元,其可操作地耦合到所述客户设备,用于接收在所述客户设备的键盘上输入的检索词;检索单元,其可操作地耦合到所述第一数据库,用于从所述检索词输入单元接收所述检索词,并搜索与所述检索词相似的串;以及搜索结果输出单元,其可操作地耦合到所述检索单元和第一数据库,用于使用所述相似串,基于预定的标准形成校正结果,并将所述校正结果输出给所述客户设备。
14.如权利要求13所述的搜索引擎,其中所述检索单元在所述第一数据库中搜索所述相似串。
15.如权利要求13所述的搜索引擎,其中所述搜索引擎还包括用于存储预定的检索词的集合的第二数据库,并且所述检索单元在所述第二数据库中搜索所述相似串。
16.如权利要求13、14和15中任一项所述的搜索引擎,其中所述检索单元还用于在所述第一数据库中搜索与所述检索词相匹配的条目。
17.如权利要求13、14和15中任一项所述的搜索引擎,其中所述检索单元还用于在搜索所述相似串之前将所述检索词转换成语音表示。
18.如权利要求13、14中任一项所述的搜索引擎,还包括按键错误信息词典,其包含按键错误的概率;以及错误概率计算单元,其可操作地耦合到所述按键错误信息词典,用于在搜索出多个相似串的情况下,利用所述按键错误的概率来计算相似度。
19.如权利要求18所述的搜索引擎,其中所述校正结果包括预定数量的按照相似度排序的与所述多个相似串相关联的候选词。
20.如权利要求18所述的搜索引擎,其中所述校正结果包括所述第一数据库中与具有最高相似度的相似串相匹配的条目。
21.如权利要求18所述的搜索引擎,其中所述错误概率计算单元包括不同点计算单元,其耦合到所述检索单元,用于计算检索词和相似串之间的不同点;概率检索单元,其耦合到所述不同点计算单元和所述按键错误信息词典,用于分析每个不同点所有可能的形成过程,并从所述按键错误信息词典中检索每个可能的形成过程的按键错误概率;以及概率合成单元,其耦合到所述概率检索单元和所述搜索结果输出单元,用于合成所述按键错误概率以获得所述相似度。
22.如权利要求18所述的搜索引擎,其中所述按键错误概率是基于所述键盘上键之间的几何距离来定义的。
23.如权利要求18所述的搜索引擎,其中所述按键错误概率是对搜索历史数据进行统计分析而得到的。
24.一种搜索系统,用于在用户通过通信网络输入检索词时校正按键错误,包括客户设备,其具有由用户用来输入所述检索词的键盘;第一数据库,其可操作地连接到所述通信网络;以及搜索引擎,其用于根据所述客户设备的请求在所述第一数据库中检索数据,所述客户设备可控制地通过所述通信网络连接到所述搜索引擎和第一数据库,所述搜索引擎包括检索词输入单元,其可操作地耦合到所述客户设备,用于接收所述用户在所述键盘上输入的检索词;检索单元,其可操作地耦合到所述第一数据库,用于从所述检索词输入单元接收所述检索词,并搜索与所述检索词相似的串;以及搜索结果输出单元,其可操作地耦合到所述检索单元和第一数据库,用于使用所述相似串,基于预定的标准形成校正结果,并将所述校正结果输出给所述客户设备。
25.如权利要求24所述的搜索系统,其中所述检索单元在所述第一数据库中搜索所述相似串。
26.如权利要求24所述的搜索系统,其中所述搜索系统还包括用于存储预定的检索词的集合的第二数据库,并且所述检索单元在所述第二数据库中搜索所述相似串。
27.如权利要求24、25中任一项所述的搜索系统,其中所述搜索引擎还包括按键错误信息词典,其包含按键错误的概率;以及错误概率计算单元,其可操作地耦合到所述按键错误信息词典,用于在搜索出多个相似串的情况下,利用所述按键错误的概率来计算相似度。
28.如权利要求27所述的搜索系统,其中所述错误概率计算单元包括不同点计算单元,其耦合到所述检索单元,用于计算检索词和相似串之间的不同点;概率检索单元,其耦合到所述不同点计算单元和所述按键错误信息词典,用于分析每个不同点所有可能的形成过程,并从所述按键错误信息词典中检索每个可能的形成过程的按键错误概率;以及概率合成单元,其耦合到所述概率检索单元和所述搜索结果输出单元,用于合成所述按键错误概率以获得所述相似度。
29.如权利要求27所述的搜索系统,其中所述按键错误概率是基于所述键盘上键之间的几何距离来定义的。
30.如权利要求27所述的搜索系统,其中所述按键错误概率是对搜索历史数据进行统计分析而得到的。
31.一种搜索系统,用于在用户通过通信网络输入检索词时校正按键错误,包括客户设备,其具有由用户用来输入所述检索词的键盘;第一数据库,其可操作地连接到所述通信网络;以及搜索引擎,其用于根据所述客户设备的请求在所述第一数据库中检索数据,所述客户设备可控制地通过所述通信网络连接到所述搜索引擎和第一数据库,其中所述搜索引擎包括检索词输入单元,其可操作地耦合到所述客户设备,用于接收所述用户在所述键盘上输入的检索词;检索单元,其可操作地耦合到所述第一数据库,用于从所述检索词输入单元接收所述检索词,并搜索与所述检索词相似的串;以及搜索结果输出单元,其可操作地耦合到所述检索单元和第一数据库,用于将所述检索单元的搜索结果输出到所述客户设备,并且所述客户设备还包括检索词输出部分,其可操作地耦合到所述键盘,用于从所述键盘接收所述检索词,并将所述检索词通过所述通信网络输出到所述搜索引擎;搜索结果接收部分,其可操作地耦合到所述搜索引擎,用于从所述搜索引擎接收搜索结果;校正结果形成部分,其可操作地耦合到所述搜索结果接收部分,用于使用所述相似串,基于预定的标准形成校正结果;以及显示设备,其可操作地耦合到所述校正结果形成部分,用于将所述校正结果呈现给所述用户。
32.如权利要求31所述的搜索系统,其中所述检索单元在所述第一数据库中搜索所述相似串。
33.如权利要求31所述的搜索系统,其中所述搜索系统还包括用于存储预定的检索词的集合的第二数据库,并且所述检索单元在所述第二数据库中搜索所述相似串。
34.如权利要求31、32中任一项所述的搜索系统,其中所述搜索引擎还包括按键错误信息词典,其包含按键错误的概率;以及错误概率计算单元,其可操作地耦合到所述按键错误信息词典,用于在搜索出多个相似串的情况下,利用所述按键错误的概率来计算相似度。
35.如权利要求34所述的搜索系统,其中所述错误概率计算单元包括不同点计算单元,其耦合到所述搜索结果接收部分,用于计算检索词和相似串之间的不同点;概率检索单元,其耦合到所述不同点计算单元和所述按键错误信息词典,用于分析每个不同点所有可能的形成过程,并从所述按键错误信息词典中检索每个可能的形成过程的按键错误概率;以及概率合成单元,其耦合到所述概率检索单元和所述校正结果形成部分,用于合成所述按键错误概率以获得所述相似度。
36.如权利要求34所述的搜索系统,其中所述按键错误概率是基于所述键盘上键之间的几何距离来定义的。
37.如权利要求34所述的搜索系统,其中所述按键错误概率是对搜索历史数据进行统计分析而得到的。
38.一种搜索系统,用于在用户通过通信网络输入检索词时校正按键错误,包括客户设备,其具有由用户用来输入所述检索词的键盘,服务器,其驻留在所述通信网络上,第一数据库,其可操作地连接到所述服务器和所述通信网络,以及搜索引擎,其用于根据所述客户设备的请求在所述第一数据库中检索数据,所述客户设备可控制地通过所述通信网络连接到所述搜索引擎和第一数据库,其中所述搜索引擎包括检索词输入单元,其可操作地耦合到所述客户设备,用于接收所述用户在所述键盘上输入的检索词;检索单元,其可操作地耦合到所述第一数据库,用于从所述检索词输入单元接收所述检索词,并搜索与所述检索词相似的串;以及搜索结果输出单元,其可操作地耦合到所述检索单元和第一数据库,用于将所述检索单元的搜索结果输出到所述客户设备,并且所述服务器包括搜索结果接收部分,其可操作地耦合到所述搜索引擎,用于从所述搜索引擎接收搜索结果;校正结果形成部分,其可操作地耦合到所述搜索结果接收部分,用于使用所述相似串,基于预定的标准形成校正结果;以及校正结果输出部分,其可操作地耦合到所述校正结果形成部分,用于将所述校正结果输出给所述客户设备。
39.如权利要求38所述的搜索系统,其中所述检索单元在所述第一数据库中搜索所述相似串。
40.如权利要求38所述的搜索系统,其中所述搜索系统还包括用于存储预定的检索词的集合的第二数据库,并且所述检索单元在所述第二数据库中搜索所述相似串。
41.如权利要求38、39中任一项所述的搜索系统,其中所述服务器还包括按键错误信息词典,其包含按键错误的概率;以及错误概率计算单元,其可操作地耦合到所述按键错误信息词典,用于在搜索出多个相似串的情况下,利用所述按键错误的概率来计算相似度。
42.如权利要求41所述的搜索系统,其中所述错误概率计算单元包括不同点计算单元,其耦合到所述搜索结果接收部分,用于计算检索词和相似串之间的不同点;概率检索单元,其耦合到所述不同点计算单元和所述按键错误信息词典,用于分析每个不同点所有可能的形成过程,并从所述按键错误信息词典中检索每个可能的形成过程的按键错误概率;以及概率合成单元,其耦合到所述概率检索单元和所述校正结果形成部分,用于合成所述按键错误概率以获得所述相似度。
43.如权利要求41所述的搜索系统,其中所述按键错误概率是基于所述键盘上键之间的几何距离来定义的。
44.如权利要求41所述的搜索系统,其中所述按键错误概率是对搜索历史数据进行统计分析而得到的。
45.一种搜索系统,用于在用户输入检索词以在第一数据库中执行查询时校正按键错误,该系统包括键盘,被用户用来输入所述检索词;检索词输入单元,其可操作地耦合到所述键盘,用于接收所述检索词;检索单元,其可操作地耦合到所述第一数据库,用于从所述检索词输入单元接收所述检索词,并搜索与所述检索词相似的串;搜索结果输出单元,其可操作地耦合到所述检索单元和第一数据库,用于使用所述相似串,基于预定的标准形成校正结果;以及显示设备,其可操作地耦合到所述搜索结果输出单元,用于将所述校正结果呈现给所述用户。
46.如权利要求45所述的搜索系统,其中所述检索单元在所述第一数据库中搜索所述相似串。
47.如权利要求45所述的搜索系统,其中所述系统还包括用于存储预定的检索词的集合的第二数据库,并且所述检索单元在所述第二数据库中搜索所述相似串。
48.如权利要求45、46中任一项所述的搜索系统,还包括按键错误信息词典,其包含按键错误的概率;以及错误概率计算单元,其可操作地耦合到所述按键错误信息词典,用于在搜索出多个相似串的情况下,利用所述按键错误的概率来计算相似度。
49.如权利要求48所述的搜索系统,其中所述错误概率计算单元包括不同点计算单元,其耦合到所述检索单元,用于计算检索词和相似串之间的不同点;概率检索单元,其耦合到所述不同点计算单元和所述按键错误信息词典,用于分析每个不同点所有可能的形成过程,并从所述按键错误信息词典中检索每个可能的形成过程的按键错误概率;以及概率合成单元,其耦合到所述概率检索单元和所述搜索结果输出部分,用于合成所述按键错误概率以获得所述相似度。
50.如权利要求48所述的搜索系统,其中所述按键错误概率是基于所述键盘上键之间的几何距离来定义的。
51.如权利要求48所述的搜索系统,其中所述按键错误概率是对搜索历史数据进行统计分析而得到的。
全文摘要
根据本发明,提供了用于校正用户输入中的按键错误的方法、搜索引擎和搜索系统。在一个实施例中,一种方法包括接收用户在客户设备的键盘上输入的检索词的步骤、将客户设备通过通信网络连接到数据库的步骤、搜索相似串的步骤、利用相似串基于预定标准来形成校正结果的步骤,以及将校正结果输出到客户设备的步骤。本发明的方法、搜索引擎和搜索系统适于有效地校正按键错误,并且适用于多种语言、键盘和/或输入法。
文档编号G06F3/023GK1928860SQ20051009861
公开日2007年3月14日 申请日期2005年9月5日 优先权日2005年9月5日
发明者齐红威, 赵凯, 王亚波, 刘晓炜 申请人:日电(中国)有限公司