自动搜索查询校正的制作方法

文档序号:6608955阅读:185来源:国知局
专利名称:自动搜索查询校正的制作方法
技术领域
本申请涉及将给定文字(script)的搜索查询自动改变为另一种文字的搜 索查询。
背景技术
搜索引擎使用户能够提供搜索查询,并且响应于该搜索查询返回搜索结 果。总的来说,该查询可以包括用户能够用他或她的输入设备所生成的任何 字符。输入设备具有键或按钮,每个键或按钮能够产生许多字符中的一个。 例如,键盘可以具有多种键盘布局。每种键盘布局典型地对应于在特定书写 系统(即,文字)中最频繁使用的字符。在书写系统并不是基于拉丁字母表 的国家,键盘常常有至少两种键盘布局, 一种用于产生拉丁字符(例如,美 国英文键盘布局),另一种用于产生用户本地书写系统的字符(例如,古代斯 拉夫语(Cyrillic)、梵文(Devan绍arT)、或阿拉伯语)。
总的来说,用户可以很容易地在两个或多个键盘布局之间切换(例如, 典型地通过单次键击)。当前选择的键盘布局通常确定了由该键盘的每个键所 产生的字符。用户可能会不经意地使用他们的输入设备提交了一种文字的查 询,而他们实际上是想要提供另一种文字的同一个查询。例如,搜索"news" 的用户会不经意地在希伯来语(Hebrew)键盘布局上提交"i n'f,,因为产生字 符"wY'的键击会在相应的拉丁文键盘布局上产生字符"news"。

发明内容
本说明书公开了用于将给定文字的搜索查询自动地改变为另 一种文字的 搜索查询的技术的各种实施例。实施例的特征在于方法、系统、装置,包括 计算机程序产品装置。在本发明内容中对它们中的每一个都将参考所述方法 进行描述,这些方法均存在相应的系统和装置。
总的来说,在一个方面,本发明的方法的特征在于从用户接收第一搜索 查询。该第一搜索查询包括下列各项的至少一个或两个及以上的组合(l)一
个或多个字符;(2)用户语言设定;(3)用户语言优选项;(4)用户接口语言;(5) 地理位置;和(6)用户搜索历史。在一个例子中,该第一搜索查询包括一个或 多个字符。基于该第一搜索查询确定搜索结果。基于该搜索结果,该第一搜 索查询被确定具有不正确的输入映射。对于第一搜索查询识别第一键盘布局。 识别第二键盘布局。通过将来自第 一键盘布局的字符映射为第二键盘布局中 的字符来从第一搜索查询生成校正的搜索查询。基于校正的搜索查询来确定 校正的搜索结果。该校正的搜索结果被展示给用户。这个方面的其它实施例 包括相应的系统、装置、以及计算机程序产品。
这些和其它实施例选#^生地包括一个或多个以下特征。能够生成多个正 确的搜索查询。该多个正确的搜索查询之一可以被展示给用户,以及由用户 来选择。
总的来说,在另一个方面,各实施例的特征在于从用户接收第一搜索查 询,该第一搜索查询具有一个或多个字符。基于该第一搜索查询确定搜索结 果。基于该搜索结果,该第一搜索查询被确定具有不正确的输入映射。基于 输入映射校正的词典从所述第一搜索查询生产校正的搜索查询。基于校正的 搜索查询来确定校正的搜索结果。该校正的搜索结果被展示给用户。这个方 面的其它实施例包括相应的系统、装置、以及计算机程序产品。
本发明的特定实施例可以被实施以实现以下一个或多个优点。查询可以 被自动校正,而用户不必手动校正查询。用户可以使用不熟悉的键盘布局来 提供查询,并且仍然能够接收到结果,就好像由用户首选的键盘布局所生成 的那样。
结合附图和以下说明描述了本发明的一个或多个实施例的细节。根据说 明书、附图以及权利要求书,本发明的其它特征、方面以及优点将会更加清 楚。


图1是用于检测和校正不正确的查询的处理的流程图。 图2说明了从相同键击产生两个查询所使用的两个键盘布局。 图3说明了查询建议以及每个建议相关的查询结果。 在各个附图中相同的参考标号和标记表示相同的元素。
具体实施例方式
如图l所示,处理100确定搜索查询是否被使用不正确的键盘布局而错 误地输入,并且,如果是,则校正该搜索查询。从用户接收搜索查询(步骤 110)。该搜索查询为一个或多个字符的字符串。该搜索查询的字符对应于在 特定文字(例如,拉丁文、古代斯拉夫语、希伯来语或阿拉伯语)中使用的 字符。有时从用户接收的字符并不是用户希望提供的字符。
处理100包括在特定文字中的搜索查询(步骤110)。初始搜索查询是基 于所接收的查询来确定的(步骤120)。基于用于确定搜索结果的任何方便的 机制来确定搜索结果。典型地,将会搜索项目语料库(corpus of items )来识 别与该搜索查询相关的特定项目。总的来说, 一个搜索结果识别许多项目。 但是,初始的搜索结果可能不包括搜索结果项目。
处理100确定初始搜索查询是否很可能是使用正确的键盘布局生成的 (步骤125)。初始搜索结果中的项目可以被计数,以确定该初始搜索结果是 否识别了足够数量的项目。在一些实施方式中,可使用阈值来确定项目的数 量是否足够(例如,大于0或大于10)。在其它实施方式中,该阈值与项目 语料库中的项目总数成一定比例。例如,如果该语料库含有10000个项目, 则阈值可以为25;但是,如果该语料库含有1000个项目,则该阈值可以为2。
如果初始搜索查询很可能是通过正确的键盘布局生成的,则当该初始搜 索结果^t展示给用户时,处理100完成(步骤127)。或者,如果搜索查询很 可能是通过不正确的键盘布局生成的,则搜索查询被自动校正,就好像是由 使用目标键盘布局的用户生成的那样。
目标键盘布局对应于用户最可能希望使用以提供该搜索查询的键盘布 局。源键盘布局对应于用户最可能不经意地使用以提供该搜索查询的键盘布 局。可以基于在初始搜索查询中使用的字符来确定所述源键盘和目标键盘。 或者,可以基于用户的语言设定、语言优选项、用户界面语言、地理位置、 搜索历史、或者它们的组合来确定目标键盘。
处理100识别其中指定了搜索查询的特定字符集(步骤130)。总的来说, 字符集是指在一个字符语系中的一组字符。字符的语系典型地由单一一致编 码(single consistent encoding )(例如,Unicode )来指定。基于在搜索查询中 指定了哪组字符来识别字符集。
如果在非拉丁文字符中指定了搜索查询(步骤135),则可以校正该非拉丁文搜索查询,就好像用户希望在拉丁文键盘布局上生成该查询的那样。换句话说,目标键盘布局为拉丁文键盘布局。处理100确定用来产生非拉丁文 搜索查询的源键盘布局(步骤140)。
通过单一的、可预见的键盘布局来产生许多非拉丁文字符集。例如,希 伯来语字符通常使用标准希伯来语键盘布局来产生,而阿拉伯语字符通常使 用标准阿拉伯语键盘布局来产生。
但是,并不是所有的非拉丁文字符集都具有单一的对应键盘布局。例如, 古代斯拉夫语文字被用于俄语和保加利亚语两者,同样,古代斯拉夫语字符 可以被俄语和保加利亚语键盘布局两者生成。但是,俄语和保加利亚语键盘 布局并不相同。在俄语或保加利亚语键盘布局上的同 一个键击会分别产生不 同的古代斯^扭夫语字符。
总的来说,用户提供搜索查询到典型地与特定语言相关的用户界面。当 用户的源键盘布局不明确时,搜索界面的语言可以被用来解决该不明确性。 例如,如果用户提供了搜索查询到保加利亚用户界面,该搜索查询可能是使 用保加利亚语键盘布局生成的。
或者,代替解决所述不明确性,可以对每个可适用的键盘布局生成查询 校正(例如,对所有可适用的键盘布局或对优选的子集)。在一些实施方式中, 每个校正的查询被用于确定各自的校正的搜索结果。将校正的搜索结果中的 项目数量互相比较,以确定源键盘布局。由于搜索查询不可能使用不正确的 源键盘布局来映射为有意义的词语,具有最多项目的校正的搜索结果被当作与正确的源^:盘布局相对应。
如果使用拉丁文字符来指定搜索查询(步骤135 ),则可以校正该拉丁文搜索查询,就好像用户希望在非拉丁文键盘布局上生成该查询的那样。换句 话说,源键盘布局为拉丁文键盘布局。虽然存在稍有变化的多种拉丁文键盘 布局,在任意拉丁文键盘上最常用的按键很大程度上生成相同的字符(例如,字符A-Z和a-z)。处理IOO确定最可能的目标键盘布局(步骤150)。
在一些实施方式中,对每个可能的目标键盘布局可以生成所有潜在的校正。但是,很大数量的潜在的键盘布局意味着这种方案是效率低下的。相反,处理100能够使用5种可替代的方案中的一种或它们的组合来确定用户最可能的目标键盘布局。
第一种方案是从用户系统中识别其它语言设定或信息。例如,用户的系
统能够自动提供(或者被特别地询问以提供)关于用户的语言优选项(例如, 操作系统语言设定)的信息。用户的语言优选项可以被指定为操作系统的语 言设定的一部分(或从操作系统的语言设定的一部分中导出),或者关于由操 作系统或网页浏览器提供的补充语言支持的信息(例如,安装的语言或语言 包)。例如,网页浏览器可以为用户的语言优选项自动^是供页面请求。
使用第二种方案,用户可以明确地识別主要和次要语言,或者用户优选 的键盘布局。例如,提供搜索查询的用户与预定的简档相关联,在该简档中 用户设定语言优选项。
在第三种方案中,用户界面的语言被用来推断用户的语言优选项。如果 用户将搜索查询提供到俄语用户界面,则目标键盘布局可以被假定为俄语键 盘布局。
使用第四种方案,当用户通过网络连接的设备提供搜索请求时,关于设 备连接的信息被用来推断用户的地理位置,并由此来推断用户最可能的语言。 例如,用户的因特网协议(IP)地址可以被用来识别用户的网络设备的大概 的地理位置(例如,典型地,特定的国家)。特定的国家可以被联系到给定用 户很可能使用的 一种或多种语言。
第五种方案考虑到用户的搜索查询历史。用户的搜索查询历史包括用户 以前提供的搜索查询。搜索查询历史中的每个搜索查询对应于一个或多个搜 索结果,其中一些可能已经被用户访问(例如,用户点击搜索结果)。每个搜 索结果都与一种语言相关联,该语言理想地识别搜索结果的语言。所有用户
搜索查询的搜索结果的语言可以被用来确定最有可能的希望的目标语言,并
从其导出目标键盘布局。例如,如果在所有用户以前的搜索结果中,75%的 搜索结果是英语,而20%是希伯来语,则当源键盘布局为拉丁文时,目标键 盘布局可以被假定为英语。在一些实施方式中,不是考虑与用户搜索查询历 史相关的所有搜索结果,而是只考虑用户已经访问的搜索结果。
上述五种方案的每一种大概地识别用户的语言优选项。总的来说,使用 非拉丁文文字的语言只有一种常用的键盘布局。对应于用户语言优选项的特 定键盘布局被假定为目标键盘布局。
处理100基于识别的源键盘布局和目标键盘布局校正搜索查询(步骤 160)。键盘布局是熟知的和预先定义的。因此,在键盘布局之间的字符映射 也可以被预先定义。例如,预先定义的映射识别出使用在拉丁文键盘布局上
产生拉丁文字符"n"的同一键击在希伯来语键盘布局上产生希伯来语字符
"a"。通过将在所接收的搜索查询中的每个字符映射到校正的搜索查询中的 相应字符,可以生成校正的搜索查询。由源键盘布局生成的、所接收的搜索 查询中的字符被映射到使用目标键盘布局、由相同键击生成的相应字符。
图2说明了两个键盘布局,美国英语键盘布局200和希伯来语键盘布局 250,它们被用来基于相同的键击产生两个不同的查询。拉丁文键盘布局200 的键盘被用来产生字符串"news" 205。字符序列"n"、 "e"、 "w"和"s"按 照以灰色所显示的键击来生成。例如,"n"是从键击210生成的。
以希伯来语键盘布局250,同一键盘的相同键击生成字符串"pnY, 255。 请注意,字符串255显示为与从相同序列的键击产生的字符相比较是反向的, 这是因为希伯来语文字是从右向左书写的。因此,是由键击260生成的 第一个字符,其与使用拉丁文键盘布局200生成"n"的键击210相同。
返回图1 ,处理IOO基于校正的搜索查询确定校正的搜索结果(步骤170 )。 在一些实施方式中,如果生成了多于一个的校正的搜索查询,则为每个校正 的搜索查询确定校正的搜索结果。
处理100确定将初始搜索结果或者校正的搜索结果中的哪个结果展示给 用户(步骤180)。在一些实施方式中,将初始搜索结果中的项目数量与校正 的搜索结果中的项目数量进行比较。具有最大项目数量的搜索结果被展示给 用户。
在一些实施方式中,初始和校正的搜索结果中的每个结果都是一个建议 集。建议集的项目识別用户能够选择作为新的搜索查询的查询建议,从新的 搜索查询可以生成新的搜索结果。典型地,从第一语料库(例如,搜索查询 建议的语料库)识别建议集,而从第二语料库(例如,网页的语料库)识别 新的搜索结果。
图3 "i兌明了分别对应于两个4叟索查询"news" 300和"i nY, 350的两个 建议集。每个建议集包括i个建议(仏)310,其中i可以为从0到n的任意 整数。每个建议本身是一个查询,当将该查询作为新的搜索查询提交给第二 语料库时,得出(或者期望得出) 一定数量的结果320。例如,第一建议^ 被期望生成x个结果。值n(仏)330代表所建议的查询g,将得出的期望的结果 数量。
与每个查询建议相关的信息被用来确定哪个建议集(初始的或是校正的)被展示给用户。例如,建议集中的每个查询建议的解望的结果被用来给该建
议集评分(score )。在一些实施方式中,基于每个查询建议的期望的结果的平 均值(或者最大值或标准偏差)来评分建议集。在其它实施方式中,基于每 个查询建议的期望的结果的中值来评分建议集。
或者,建议集(《力)的评分可以基于以下公式
其中"(^w是"f^)、 "fej…"(^)的和,其中"fw是在建议集M.中的每个
潜在的搜索查询仏的期望的结果的数量。值s可以是通常期望的建议的数量。 在一些实施方式中,预先定义值s(例如,对应于所有建议集的固定限制)。 在其它实施方式中,值s可以基于在所有的建议集中的项目的平均值来周期 性地确定。上述公式表示具有少于希望数量的建议(s)的建议集的评分。在 一些情况下,查询建议的第一语料库可以包括基于使用错误的键盘布局输入 的错误的字符串的建议(例如,除非使用另一种键盘布局进行映射否则讲不
通的字符串)。基于s的建议集评分的降级防止了展示只涉及第一语料库中错
误的字符串的建议集。
总的来说,具有最大评分的建议集被展示给用户。在一些实施方式中, 在校正初始搜索查询之前可以给初始建议集评分。初始建议集的评分被用来 确定初始搜索结果是否是使用不正确的键盘布局生成的。换句话说,可以使
用这个评分技术,而非像参考图1和步骤125所描述的、对初始搜索结果中 的项目进行计数。
在一些实施方式中,当自动校正搜索查询时,指示该自动校正的信息被 展示给用户。在一些实施方式中,可以展示多个潜在的搜索查询(例如,当 目标或源键盘布局不明确时)。这些展示的校正的搜索查询之一可以被用户明 确地选择。
在一些实施方式中,可以维持公共搜索查询校正的词典。该词典含有搜 索查询输入以及相应的校正。该词典可以通过分析已经从用户接收的搜索查 询的日志来生成(例如,离线的,而不是立即相应于用户的搜索查询)。可以 以参考图1描述的相同的方式来考虑每个写入日志的(logged)搜索查询。 公共搜索查询的词典可以被用作高速緩沖存储器。当从用户接收搜索查询时, 搜索查询可以用来在该词典中查找校正项。如果在词典中存在校正项,则基于词典输入可以校正该搜索查询。当词典输入含有多于一个的潜在的校正项 时(例如,因为相同的搜索查询可以已经被多于一个的源键盘布局所输入), 源或目标键盘布局可以被确定以便解决要应用哪个词典校正项。如果没有校 正项,则该搜索查询可以被才是交到参考图1所述的处理。
按照本申请的第一方面,提供了一种计算机实施的方法,包括从用户 接收第一搜索查询,该第一搜索查询具有一个或多个字符;基于所述第一搜 索查询确定搜索结果;基于所述搜索结果确定所述第一搜索查询具有不正确 的输入映射;为所述第一搜索查询识别第一键盘布局;识别第二键盘布局; 通过将来自所述第一键盘布局的字符映射为第二键盘布局中的字符,来从所 述第一搜索查询生成校正的搜索查询;基于所述校正的搜索查询确定校正的 搜索结果;以及将所述校正的搜索结果展示给用户。
按照本申请的第二方面,所述第一方面的方法还包括生成多个校正的 搜索查询;选择所述多个校正的搜索查询之一;以及基于所选择的所述多个 校正的搜索查询之一,将校正的搜索结果展示给用户。
按照本申请的第三方面,提供了一种计算机实施的方法,包括从用户 接收第一搜索查询,该第一搜索查询具有一个或多个字符;基于所述第一搜 索查询确定搜索结果;基于所述搜索结果确定所述第一搜索查询具有不正确 的输入映射;基于输入映射校正词典从字典第一搜索查询生成校正的搜索查 询;基于该校正的搜索查询确定校正的搜索结果;以及将所述校正的搜索结 果展示给用户。
按照本申请的第四方面,提供了一种系统,包括用于从用户接收第一 搜索查询的装置,该第一搜索查询具有一个或多个字符;用于基于所述第一 搜索查询确定搜索结果的装置;用于基于所述搜索结果确定所述第一搜索查 询具有不正确的输入映射的装置;用于为所述第 一搜索查询识别第 一键盘布 局的装置;用于识别第二键盘布局的装置;用于通过将来自所述第一键盘布 局的字符映射为第二键盘布局中的字符,来从所述第一搜索查询生成校正的 搜索查询的装置;用于基于所述校正的搜索查询确定校正的搜索结果的装置; 以及用于将所述校正的搜索结果展示给用户的装置。
按照本申请的第五方面,所述第四方面的系统还包括用于生成多个校 正的搜索查询的装置;用于选择所述多个校正的樣索查询之一的装置;以及 用于基于所选择的所述多个校正的搜索查询之一,将校正的搜索结果展示给
用户的装置。
按照本申请的第六方面,提供了一种系统,包括用于从用户接收第一 搜索查询的装置,该第一搜索查询具有一个或多个字符;用于基于所述第一 搜索查询确定搜索结果的装置;用于基于所述搜索结果确定所述第一搜索查 询具有不正确的输入映射的装置;用于基于输入映射校正词典从字典第一搜
索查询生成校正的搜索查询的装置;用于基于该校正的搜索查询确定校正的 搜索结果的装置;以及用于将所述校正的搜索结果展示给用户的装置。
按照本申请的第七方面,提供了一种计算机实施的方法,包括从用户 接收搜索查询,该搜索查询包括下列各项的至少一个或两个及以上的组合 (l)一个或多个字符;(2)用户语言设定;(3)用户语言优选项;(4)用户接口语言; (5)地理位置;和(6)用户4叟索历史;基于所述搜索查询确定^l叟索结果;基于所 述搜索结果确定所述搜索查询具有不正确的输入映射;识别与所述搜索查询 相关的第一键盘布局;识别与所述不正确输入映射相关的第二键盘布局;通 过将来自所述第一键盘布局的字符映射为第二键盘布局中的字符,来从所述 搜索查询生成校正的搜索查询;基于所述校正的搜索查询确定校正的搜索结 果;以及将所述校正的搜索结果展示给用户。
按照本申请的第八方面,在所述第七方面的方法中,所述用户语言优选 项与操作系统的语言设定的 一部分相关。
按照本申请的第九方面,在所述第七方面的方法中,所述用户语言优选 项与关于由操作系统提供的补充语言支持的信息相关。
按照本申请的第十方面,在所述第七方面的方法中,所述用户语言优选 项与网络浏览器的信息相关。
按照本申请的第十一方面,在所述第十方面的方法中,所述网络浏览器 的信息涉及与该网络浏览器相关的语言。
按照本申请的第十二方面,所述第七方面的方法还包括使用网络浏览 器的页面请求来提供用户语言优选项。
按照本申请的第十三方面,在所述第七方面的方法中,识别所述第一键 盘布局是基于由用户使用的用户系统的语言设定或语言信息来进行的。
按照本申请的第十四方面,在所述第七方面的方法中,识别所述第一键 盘布局是基于由用户识别的主要和次要语言来进行的。
按照本申请的第十五方面,在所述第七方面的方法中,识别所述第一键 盘布局是基于用户偏爱的键盘布局来进行的。
按照本申请的第十六方面,在所述第七方面的方法中,识别所述第一4t 盘布局是基于来自用户接口的语言的接口来进行的。
按照本申请的第十七方面,在所述第七方面的方法中,识别所述第一键 盘布局是基于关于用户的设备连接的信息来进行的,基于该设备连接,可以 推断出用户的地理位置和由此得到的用户最有可能的语言。
按照本申请的第十八方面,在所述第七方面的方法中,所述识别所述第 一键盘布局是基于用户的搜索查询历史来进行的。
按照本申请的第十九方面,在所述第十八方面的方法中,利用在搜索查 询历史中的搜索结果的一部分来识别所述第一键盘布局,其中该一部分小于 在搜索查询历史中的搜索结果的全部。
按照本申请的第二十方面,在所述第十九方面的方法中,所述搜索查询 历史中的搜索结果的一部分包括已经由用户访问过的搜索结果。
按照本发明的第二十一方面,提供了一种计算机实施的方法,包括从 用户接收搜索查询,该搜索查询包括下列各项的至少 一个或两个及以上的组 合(l)一个或多个字符;(2)用户语言设定;(3)用户语言优选项;(4)用户4妄口 语言;(5)地理位置;和(6)用户搜索历史;基于所述搜索查询确定搜索结果;
识别与所述搜索查询相关的键盘布局。
按照本发明的第二十二方面,在所述第二十一方面的方法中,识别所述 键盘布局是基于由用户使用的用户系统的语言设定或语言信息来进行的。
按照本发明的第二十三方面,在所述第二十一方面的方法中,识别所述 键盘布局是基于由用户识别的主要和次要语言来进行的。
按照本发明的第二十四方面,在所述第二十一方面的方法中,识别所述 键盘布局是基于用户偏爱的键盘布局来进行的。
按照本发明的第二十五方面,在所述第二十一方面的方法中,识别所述 键盘布局是基于来自用户接口的语言的接口来进行的。
按照本发明的第二十六方面,在所述第二十一方面的方法中,识别所述 键盘布局是基于关于用户的设备连接的信息来进行的,基于该设备连接,可 以推断出用户的地理位置和由此得到的用户最有可能的语言。
按照本发明的第二十七方面,在所述第二十一方面的方法中,所述识别 所述键盘布局是基于用户的搜索查询历史来进行的。
按照本发明的第二十八方面,在所述第二十七方面的方法中,利用在搜 索查询历史中的搜索结果的一部分来识別所述键盘布局,其中该一部分小于 在搜索查询历史中的搜索结果的全部。
按照本发明的第二十九方面,在所述第二十八方面的方法中,所述搜索 查询历史中的搜索结果的一部分包括已经由用户访问过的搜索结果。
按照本发明的第三十方面,提供了一种计算机实施的方法,包括 接收来自用户的搜索查询,该搜索查询包括用户搜索历史; 基于所述搜索查询确定搜索结果; 识别与所述搜索查询相关的键盘布局。
按照本发明的第三十一方面,在所述第三十方面的方法中,所述搜索查 询还包括下列各项的至少一个或两个及以上的组合(l)一个或多个字符;(2) 用户语言设定;(3)用户语言优选项;(4)用户接口语言;和(5)地理位置。
按照本发明的第三十二方面,提供了一种系统,包括用于接收来自用 户的搜索查询的装置,该搜索查询包括用户搜索历史;用于基于所述搜索查 询确定搜索结果的装置;用于识别与所述搜索查询相关的键盘布局的装置。
按照本发明的第三十三方面,提供了一种系统,包括用于从用户接收 搜索查询的装置,该搜索查询包括下列各项的至少一个或两个及以上的组合 (l)一个或多个字符;(2)用户语言设定;(3)用户语言优选项;(4)用户接口语言; (5)地理位置;和(6)用户搜索历史;用于基于所述搜索查询确定搜索结果的装 置;用于识别与所述搜索查询相关的键盘布局的装置。
按照本申请的第三十四方面,提供了 一种编码在计算机可读介质上的计 算机程序产品,可操作来使数据处理装置执行上面所述的任意一个方法。
本说明书中所描述的发明的实施例和功能操作可以在包括本说明书中公 开的结构及其结构等效物的数字电子电路、或者计算机软件、固件或硬件来 实现,或者以它们中的一个或多个的组合来实现。可以把本发明的实施例实 现为一个或多个计算机程序产品,即,在计算机可读介质上编码的计算机程 序指令的一个或多个模块,以便由数据处理装置执行,或者用于控制数据处 理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基 质(storage substrate)、存储器设备、引发机器可读传播信号的物质的组合、或 者它们中的一个或多个的组合。术语"数据处理装置,,包含了用于处理数据 的所有装置、设备和机器,例如包括可编程处理器、计算机、或多处理器或
计算机。除了硬件之外,装置还可以包括为讨论中的计算机程序创建执行环 境的代码,例如构成处理器固件、协议堆栈、数据库管理系统、搡作系统、 或者它们之一或多个的组合的代码。传播信号是人工生成的信号,例如,机 器生成的电信号、光信号或电磁信号,其被生成以编码用于发送到适当的接 收器装置的信息。
计算机程序(也称作程序、软件、软件应用、脚本或代码)可以用任何 形式的编程语言来编写,编程语言包括编译或解释语言,并且计算机程序可 以任何形式配置,包括作为独立程序或者作为模块、组件、子程序、或者其 它适合用于计算机环境的任何单元。计算机程序并不必对应于文件系统中的 文件。程序可以存储在保持其它程序或数据的文件的一部分(例如,存储在 标记语言文档中的一个或多个脚本)中,存储在专用于讨论中的程序的单独 的文件中,或者存储在多个协作文件中(例如,存储一个或多个模块、子程 序或代码部分的文件)。计算机程序可以被配置来在一台计算机上或者在位于 一个地点或者分布在多个地点并通过网络互连的多个计算机上执行。
本说明书中所描述的处理和逻辑流可以由一个或多个可编程处理器来执 行,该可编程处理器执行一个或多个计算机程序,以通过对输入数据进行操 作并生成输出来执行功能。所述处理和逻辑流也可以由专用逻辑电路来执行,
以及装置也可以被实现为该专用逻辑电路,例如,FPGA(场可编程门阵列)或 ASIC (特定用途集成电路)。
例如,适合于执行计算机程序的处理器包括通用微处理器和专用微处理 器两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理 器将从只读存储器、随机访问存储器或者两者接收指令和数据。计算机的核 心要件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储 设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备, 或者被有效地藕接到所述一个或多个大容量存储设备,以便从其接收数据或 向其发送数据,或收发数据,大容量存储设备例如磁盘、磁光盘或者光盘。 但是,计算机不一定具有这样的设备。此外,可以把计算机嵌入到另一个设 备中,列举一些为例,比如移动电话、个人数字助理(PDA)、移动音频播放器、 全球定位系统(GPS)接收器。适于存储计算机程序指令和数据的计算机可读介 质包括所有形式的非易失性存储器、介质和存储设备,例如包括半导体存储 设备,例如,EPROM、 EEPROM、和闪存设备;磁盘,例如内部硬盘或可移
动盘;石兹光盘;以及CD-ROM和DVD-ROM盘。所述处理器和存储器可以 由专用逻辑电路补充,或者合并到所述专用逻辑电路中。
为了提供与用户的交互,本发明的实施例可以在计算机上实现,该计算 机可以具有用于向用户显示信息的显示设备,例如CRT(阴极射线管)或LCD (液晶显示器)监视器,以及用户可以通过其向计算机提供输入的键盘、点 击设备,例如鼠标或跟踪球。其它类型的设备也可以用来与用户进行交互 例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听 觉反馈、或触觉反馈;来自用户的输入可以以任何形式接收,包括声音、语 言或者触觉输入。
本发明的实施例可以在计算机系统中实现,该计算机系统包括后端组件, 例如,作为数据服务器,或者包括中间件组件,例如,应用服务器,或者包 括前端组件,例如,具有通过其用户可以与本发明的实施进行交互的图形用 户界面或网站浏览器的客户计算机,或者这样的前端组件、中间件、后端组 件的一个或多个的任意组合。通过任何形式或介质的数字数据通信,例如, 通信网络,可以将系统的组件相互连接。通信网络的示例包括局域网(LAN) 和广域网(WAN),例如因特网。
计算机系统可以包括客户机和服务器。客户机和服务器通常远离对方, 并且典型地通过通信网络来进行交互。客户机和服务器的关系借助运行在各 自计算机上的彼此具有客户机-服务器关系的计算机程序而发生。
虽然本说明书含有许多特定实施细节,但是这些不应被视为对发明或所 要求保护的范围的限制,而是作为专用于本发明的特定实施例的特征的描述。 在分离的实施例的情境下在本说明书中所描述的一些特征可以在一个实施例 中组合实现。相反,在一个实施例的情境下描述的各种特征也可以分开地在 多个实施例中实现,或者以任何适当的次组合来实现。此外,虽然上述特征 被描述为以一定的组合来起作用,甚至初始也是如此声明的,但是来自所声 明的组合的一个或多个特征在某些情况下可以从该组合中删除,所声明的组 合可以指向次组合或次组合的变化。
类似地,虽然在附图中以特定次序来描述操作,但是这不应被理解为为 了获得期望的结果要求这样的操作以所示的特定次序或者以顺序的次序来执 行,或者执行所有说明的操作。在一定情形下,多任务和并行处理可能是有 利的。此外,上述实施例中各种系统组件的分开不应被理解为在所有的实施
例中均要求这样的分开,并且应该理解, 一般可以把所述程序组件和系统集 成在一个软件产品中或打包到多个软件产品中。
因此,已经描述了本发明的特定实施例。其它实施例也在所附权利要求 书的范围内。例如,可以以不同的次序执行权利要求中所定义的动作,并且 仍能够达成期望的结果。虽然前述说明书参考了诸如能够具有若干键盘布局 之一的键盘的输入设备,但是前述说明书可以等效地应用到能够生成若干字 符集之一的任何设备。而且,在上面说明书中所用到的拉丁文和希伯来语文
字仅仅是作为示例;任何其它组合的键盘布局也可以类似地使用。
权利要求
1. 一种计算机实施的方法,包括从用户接收第一搜索查询,该第一搜索查询具有一个或多个字符;基于所述第一搜索查询确定搜索结果;基于所述搜索结果确定所述第一搜索查询具有不正确的输入映射;为所述第一搜索查询识别第一键盘布局;识别第二键盘布局;通过将来自所述第一键盘布局的字符映射为第二键盘布局中的字符,来从所述第一搜索查询生成校正的搜索查询;基于所述校正的搜索查询确定校正的搜索结果;以及将所述校正的搜索结果展示给用户。
2. 根据权利要求1所述的方法,还包括生成多个校正的搜索查询; 选择所述多个校正的搜索查询之一;以及基于所选择的所述多个校正的搜索查询之一,将校正的搜索结果展示给 用户。
3. —种计算机实施的方法,包括从用户接收第一搜索查询,该第一搜索查询具有一个或多个字符; 基于所述第一搜索查询确定搜索结果;基于所述搜索结果确定所述第一搜索查询具有不正确的输入映射; 基于输入映射校正词典从字典第一搜索查询生成校正的搜索查询; 基于该校正的搜索查询确定校正的搜索结果;以及 将所述校正的搜索结果展示给用户。
4. 一种系统包括用于从用户接收第一搜索查询的装置,该第一搜索查询具有一个或多个 字符;用于基于所述第一搜索查询确定搜索结果的装置; 用于基于所述搜索结果确定所述第一搜索查询具有不正确的输入映射的 装置;用于为所述第 一搜索查询识别第 一键盘布局的装置;用于识别第二4定盘布局的装置;用于通过将来自所述第一键盘布局的字符映射为第二键盘布局中的字 符,来从所述第一搜索查询生成校正的搜索查询的装置;用于基于所述校正的搜索查询确定校正的搜索结果的装置;以及 用于将所述校正的搜索结果展示给用户的装置。
5. 根据权利要求4所述的系统,还包括 用于生成多个校正的搜索查询的装置; 用于选择所述多个校正的搜索查询之一的装置;以及 用于基于所选择的所述多个校正的搜索查询之一,将校正的搜索结果展示给用户的装置。
6. —种系统,包括用于从用户接收第一搜索查询的装置,该第一搜索查询具有一个或多个字符;用于基于所述第 一搜索查询确定搜索结果的装置; 用于基于所述搜索结果确定所述第一搜索查询具有不正确的输入映射的 装置;用于基于输入映射校正词典从字典第一搜索查询生成校正的搜索查询的 装置;用于基于该校正的搜索查询确定校正的搜索结果的装置;以及 用于将所述校正的搜索结果展示给用户的装置。
7. —种计算机实施的方法,包括从用户接收搜索查询,该搜索查询包括下列各项的至少一个或两个及以上的组合(l)一个或多个字符;(2)用户语言设定;(3)用户语言优选项;(4) 用户接口语言;(5)地理位置;和(6)用户搜索历史; 基于所述搜索查询确定搜索结果;基于所述搜索结果确定所述搜索查询具有不正确的输入映射; 识別与所述搜索查询相关的第 一键盘布局; 识别与所述不正确输入映射相关的第二键盘布局; 通过将来自所述第一键盘布局的字符映射为第二4泉盘布局中的字符,来 从所述搜索查询生成校正的搜索查询;基于所述校正的搜索查询确定校正的搜索结果;以及将所述校正的搜索结果展示给用户。
8. 根据权利要求7所述的方法,其中所述用户语言优选项与操作系统的语言设定的一部分相关。
9. 根据权利要求7所述的方法,其中所述用户语言优选项与关于由操作系统提供的补充语言支持的信息相关。
10. 根据权利要求7所述的方法,其中所述用户语言优选项与网络浏览器的信息相关。
11. 根据权利要求IO所述的方法,其中所述网络浏览器的信息涉及与该网络浏览器相关的语言。
12. 根据权利要求7所述的方法,还包括使用网络浏览器的页面请求来提供用户语言优选项。
13. 根据权利要求7所述的方法,其中识别所述第一键盘布局是基于由用户使用的用户系统的语言设定或语言信息来进行的。
14. 根据权利要求7所述的方法,其中识别所述第一键盘布局是基于由用户识别的主要和次要语言来进行的。
15. 根据权利要求7所述的方法,其中识别所述第一键盘布局是基于用户偏爱的键盘布局来进行的。
16. 根据权利要求7所述的方法,其中识别所述第一键盘布局是基于来自用户接口的语言的接口来进行的。
17. 根据权利要求7所述的方法,其中识别所述第一键盘布局是基于关于用户的设备连接的信息来进行的,基于该设备连接,可以推断出用户的地理位置和由此得到的用户最有可能的语言。
18. 根据权利要求7所述的方法,其中所述识别所述第一键盘布局是基于用户的搜索查询历史来进行的。
19. 根据权利要求18所述的方法,其中利用在搜索查询历史中的搜索结果的一部分来识别所述第一键盘布局,其中该一部分小于在搜索查询历史中的搜索结果的全部。
20. 根据权利要求19所述的方法,其中所述搜索查询历史中的搜索结果的一部分包括已经由用户访问过的搜索结果。
21. —种计算机实施的方法,包括从用户接收搜索查询,该搜索查询包括下列各项的至少一个或两个及以上的组合(l)一个或多个字符;(2)用户语言设定;(3)用户语言优选项;(4) 用户接口语言;(5)地理位置;和(6)用户搜索历史;基于所述搜索查询确定搜索结果;识别与所述搜索查询相关的键盘布局。
22. 根据权利要求21所述的方法,其中识别所述键盘布局是基于由用户 使用的用户系统的语言设定或语言信息来进行的。
23. 才艮据权利要求21所述的方法,其中识别所述^:盘布局是基于由用 户识别的主要和次要语言来进行的。
24. 根据权利要求21所述的方法,其中识别所述键盘布局是基于用户偏 爱的键盘布局来进行的。
25. 根据权利要求21所述的方法,其中识别所述键盘布局是基于来自用 户接口的语言的接口来进行的。
26. 根据权利要求21所述的方法,其中识别所述键盘布局是基于关于用 户的设备连接的信息来进行的,基于该设备连接,可以推断出用户的地理位 置和由此得到的用户最有可能的语言。
27. 根据权利要求21所述的方法,其中所述识别所述键盘布局是基于用 户的搜索查询历史来进行的。
28. 根据权利要求27所述的方法,其中利用在搜索查询历史中的搜索结 果的一部分来识别所述键盘布局,其中该一部分小于在搜索查询历史中的搜 索结果的全部。
29. 根据权利要求28所述的方法,其中所述搜索查询历史中的搜索结果 的 一部分包括已经由用户访问过的搜索结果。
30. —种计算机实施的方法,包括接收来自用户的搜索查询,该搜索查询包括用户搜索历史;基于所述搜索查询确定搜索结果;识别与所述搜索查询相关的键盘布局。
31. 根据权利要求30所述的方法,其中所述搜索查询还包括下列各项的 至少一个或两个及以上的组合(l)一个或多个字符;p)用户语言设定;(3) 用户语言优选项;(4)用户接口语言;和(5)地理位置。
32. —种系统,包括用于接收来自用户的搜索查询的装置,该搜索查询包括用户搜索历史;用于基于所述搜索查询确定搜索结果的装置;用于识别与所述搜索查询相关的键盘布局的装置。
33. —种系统,包括用于从用户接收搜索查询的装置,该搜索查询包括下列各项的至少 一个 或两个及以上的组合(l)一个或多个字符;(2)用户语言设定;(3)用户语言优 选项;(4)用户接口语言;(5)地理位置;和(6)用户搜索历史;用于基于所述搜索查询确定搜索结果的装置;用于识别与所述搜索查询相关的键盘布局的装置。
全文摘要
公开了方法、系统和装置,包括计算机程序产品,可操作以执行包括从用户接收第一搜索查询的操作。该第一搜索查询包括下列各项的至少一个或两个及以上的组合(1)一个或多个字符;(2)用户语言设定;(3)用户语言优选项;(4)用户接口语言;(5)地理位置;和(6)用户搜索历史。在一种实施方式中,第一搜索查询具有一个或多个字符。基于第一搜索查询确定搜索结果。基于搜索结果,第一搜索查询被确定具有不正确的输入映射。为第一搜索查询识别第一键盘布局。识别第二键盘布局。通过将来自第一键盘布局的字符映射为第二键盘布局中的字符来从第一搜索查询生成校正的搜索查询。基于校正的搜索查询确定校正的搜索结果。将校正的搜索结果展示给用户。
文档编号G06F17/30GK101206659SQ20071010181
公开日2008年6月25日 申请日期2007年4月16日 优先权日2006年12月15日
发明者盖伊·塔沃尔 申请人:谷歌股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1