用于部分输入的搜索查询的自动完成和自动输入法校正的制作方法

文档序号:6478604阅读:309来源:国知局
专利名称:用于部分输入的搜索查询的自动完成和自动输入法校正的制作方法
技术领域
所公开的实施例一般涉及用于定位在计算机网络(例如计算机系统的分布式系 统)中的文档的搜索引擎,具体地,涉及用于通过预测用户的请求而使期望的搜索加速的 系统和方法。
背景技术
搜索引擎提供了用于定位在大型文档数据库中的文档的强大工具,所述文档诸如 在万维网(WWW)上的文档或存储在内联网的计算机上的文档。响应于由用户提交的搜索查 询而定位文档。搜索查询可以由一个或多个搜索词语组成。在输入查询的一个方法中,用户通过添加连续的搜索词语直至输入了所有搜索词 语来输入查询。一旦用户发信号已输入了查询的所有搜索词语,则将查询发送给搜索引擎。 在下面描述的本发明的实施例使用输入查询的另一个方法。在这个新方法中,在用户指示 完成查询之前将部分查询传送给搜索引擎。搜索引擎生成向用户展示的预测的查询的列 表。用户可以从预测的查询的排序列表选择,或者可以继续输入用户指定的查询。

发明内容
根据在下面描述的一些实施例,在服务器处执行、用于处理查询信息的方法包括 从搜索请求者接收部分搜索查询,该搜索请求者位于远离服务器的位置。方法进一步包括 从多个先前提交的完整查询获取与部分搜索查询相对应的预测的完整查询的集合,其中先 前提交的完整查询由用户群体提交。预测的完整查询的集合包括第一语言和第二语言完整 搜索查询两者。另外,方法包括根据排名标准对预测的完整查询的集合进行排序,并且将排 序的集合的至少一个子集递送给搜索请求者。根据一些实施例,在客户端处执行、用于处理查询信息的方法包括从搜索请求者 接收部分搜索查询。方法进一步包括从多个先前提交的完整查询获取与部分搜索查询相对 应的预测的完整查询的集合,其中先前提交的完整查询由用户群体提交。预测的完整查询 的集合包括第一语言和第二语言完整搜索查询两者,并且根据排名标准被排序。另外,方法 包括向搜索请求者显示排序的集合的至少一个子集。根据一些实施例,用于构建用于处理查询信息的数据结构的方法包括获取先前提 交的完整第一语言查询的集合,其中完整第一语言查询由用户群体先前提交。方法进一步 包括获取先前提交的完整第二语言查询的集合,其中完整第二语言查询由用户群体先前提 交。另外,方法包括将完整第一语言查询的集合转换为以使用第二语言的字符的表示形式 的完整第一语言查询的集合,并且将完整第二语言查询的集合和转换的完整第一语言查询 的集合存储在一个或多个查询完成数据表中。一个或多个查询完成数据表形成能够被用来 预测与部分第一语言查询或部分第二语言查询相对应的完整第一语言查询和完整第二语 言查询两者的一个或多个数据结构。在一些实施例中,用于处理查询信息的系统包括用于执行程序的一个或多个中央处理单元,以及用来存储数据以及存储由一个或多个中央处理单元执行的程序的存储器。 程序包括用于从搜索请求者接收部分搜索查询的指令,搜索请求者位于远离服务器的位 置。程序进一步包括用于从多个先前提交的完整查询获取与部分搜索查询相对应的预测的 完整查询的集合的指令,其中先前提交的完整查询由用户群体提交。预测的完整查询的集 合包括第一语言和第二语言完整搜索查询两者。另外,程序进一步包括用于根据排名标准 对预测的完整查询的集合进行排序,并且将排序的集合的至少一个子集递送给搜索请求者 的指令。在一些实施例中,客户端系统包括用于执行程序的一个或多个中央处理单元,以 及用来存储数据以及存储由一个或多个中央处理单元执行的程序的存储器,程序包括用于 从搜索请求者接收部分搜索查询的指令。程序进一步包括用于从多个先前提交的完整查询 获取与部分搜索查询相对应的预测的完整查询的集合的指令,其中先前提交的完整查询由 用户群体提交。预测的完整查询的集合包括第一语言和第二语言完整搜索查询两者,并且 根据排名标准被排序。另外,程序进一步包括用于向搜索请求者显示排序的集合的至少一 个子集的指令。在一些实施例中,计算机可读存储介质存储用于由各个服务器系统的一个或多个 处理器执行的一个或多个程序。一个或多个程序包括用于从搜索请求者接收部分搜索查询 的指令,搜索请求者位于远离服务器的位置。一个或多个程序进一步包括用于从多个先前 提交的完整查询获取与部分搜索查询相对应的预测的完整查询的集合的指令,先前提交的 完整查询由用户群体提交。预测的完整查询的集合包括第一语言和第二语言完整搜索查询 两者。另外,一个或多个程序包括用于根据排名标准对预测的完整查询的集合进行排序,并 且将排序的集合的至少一个子集递送给搜索请求者的指令。在一些实施例中,计算机可读存储介质存储用于由各个客户端设备或系统的一个 或多个处理器执行的一个或多个程序。一个或多个程序包括用于从搜索请求者接收部分搜 索查询的指令。一个或多个程序进一步包括用于从多个先前提交的完整查询获取与部分搜 索查询相对应的预测的完整查询的集合的指令,先前提交的完整查询由用户群体提交。预 测的完整查询的集合包括第一语言和第二语言完整搜索查询两者,并且根据排名标准被排 序。另外,一个或多个程序包括用于向搜索请求者显示排序的集合的子集的指令。由于统一的解决方案在自动提供输入法校正时支持不完整的朝鲜语字符输入,故 其具有对朝鲜语查询预测的特定应用。


作为结合附图的本发明的各个方面的下列详细描述的结果,将更清楚地理解本发明的前述实施例以及额外的实施例。在附图的全部多个视图中相同的参考数字指代对应的 部分。图1是根据一些实施例的搜索系统的框图。图2是描述了根据一些实施例的与创建并使用数据结构相关联的信息流的概念 图。图3A是根据一些实施例的部分查询的处理的方法的流程图。图3B是根据一些实施例的由在客户端系统或设备处的搜索助手执行的过程的流程图。图4A和4B描述了用于在朝鲜语字符和朝鲜语字符的罗马化表示形式之间的转换 的字符映射表。图5是根据一些实施例的用于将一串朝鲜语字符转换为罗马化表示形式的过程 的流程图。图6描述了根据一些实施例的与输入字符串相对应的预测的完整查询的示例。图7描述了根据一些实施例的用于处理历史查询的过程。图8描述了根据一些实施例的与在历史搜索查询的集合中的完整搜索查询的两 个示例相对应的部分搜索查询。图9是根据一些实施例的用于识别与所接收的部分查询相对应的查询完成表的 过程的概念表示。图10描述了根据一些实施例的两个示例查询完成表的部分。图11是根据一些实施例的客户端系统的框图。图12是根据一些实施例的服务器系统的框图。图13描述了根据一些实施例的列出与用户提供的部分查询相对应的英语和朝鲜 语预测的完整查询的web浏览器、在web浏览器中显示的网页或其它用户界面的示意截屏。
具体实施例方式图1图示了适于本发明的实施例的实践的系统100。在于2004年11月11日提交 的“Method and System for Autocompletion Using RankedResults(用于使用排名结果的自动完成的方法和系统),,的共同未决、普通转让的美国专利申请序列号No. 10/987,295, 以及于 2004 年 11 月 12 日提交的 “Method and System for Autocompletion for LanguagesHaving Ideographs and Phonetic Characters (用于具有象形和语言字符的语言的自动完成的方法和系统)”的共同未决、普通转让的美国专利申请序列号 No. 10/987,769中提供了与分布式系统和其各种功能组件有关的额外详情,在此通过引用 将所述申请的内容整体合并。系统100可以包括位于远离搜索引擎108的位置的一个或多 个客户端系统或设备102。有时被称为客户端或客户端设备的各个客户端系统102可以是 台式计算机、膝上型计算机、信息站、蜂窝电话、个人数字助理等。通信网络106将客户端系 统或设备102连接到搜索引擎108。当用户(在此也被称为搜索请求者)在客户端系统102 处输入查询时,在该用户完成输入完整查询之前搜索助手104将该用户的部分查询的至少 部分传送到搜索引擎108。搜索引擎108使用部分查询的传送部分来预测用户的最终完整 查询。这些预测被传送回该用户。如果预测中的一个是该用户的预期查询,则该用户可以 在不必完成查询的输入的情况下选择预测的查询。如在此进一步描述的,搜索系统100和其功能组件已被调整,以便以统一的方式 处理多种语言的部分查询。搜索系统100已被调整,以便在不考虑由搜索助手104传送到 搜索引擎108的部分查询的语言编码的情况下,基于在客户端系统102处的用户的实际输 入来提供预测的查询。例如在用户使用在客户端系统102处的不正确输入法编辑器设置输 入了部分查询的情况下这尤其有用。搜索引擎108包括查询服务器110,其具有接收并处理部分查询以及将部分查询转送到预测服务器112的模块120。预测服务器112负责生成与所接收的部分查询相对应的预测的完整查询的列表。预测服务器112依赖于由排序集合构建器142在预处理阶段构 造的数据结构。排序集合构建器142使用不同语言的查询日志124、126来构造数据结构。 图2图示了由排序集合构建器142执行的预处理的一个实施例。图3A图示了由预测服务 器112执行的处理的一个实施例。另外,在一些实施例中,查询服务器110接收完整搜索查 询并且将完整搜索查询转送到查询处理模块114。 参见图2,说明性地展示了两个查询日志第一语言的查询日志201和第二语言的 查询日志202。查询日志201、202包含由搜索引擎在一段时间内从用户群体接收的各自语 言的先前提交的查询的日志。可选地,提交在查询日志201中的查询的用户群体可以与提 交在查询日志202中的查询的用户群体不同,在这种情况下前述“用户群体”包括两个或多 个用户群体。在查询日志201、202中的每一个查询条目可以包括元信息,诸如指示查询被 提交的次数的频率信息。查询日志201、202中的每一个可以由一个或多个特定语言过滤器 204,205过滤,例如以排除与词语的一个或多个预定集合相匹配的查询,所述预定集合诸如 可能被认为是令人反感的、文化敏感的等单词。在第二语言的查询日志202中的查询以其 现存形式被利用。然而,在250处将在第一语言的查询日志201中的查询转换为第二语言 的表示形式。第二语言的表示形式与由用户在使用设置为第二语言的输入法时试图输入第 一语言的查询而生成的第二语言的字符相对应。例如,如在下面进一步描述的,一种语言诸 如朝鲜语的查询可以由在字母数字键盘上的键击来表示,所述键击与使用被不正确地设置 为英语的输入法编辑器来输入朝鲜语查询相对应。然而,在其它实施例中,第一语言不必是 朝鲜语,而替代地可以是日语、中文或大量其它语言中的任何语言。类似地,第二语言不必 是英语,而替代地可以是法语、德语、西班牙语、俄语或大量其它语言中的任何语言。过滤的 查询日志202和过滤的查询日志201的转换的输出由排序集合构建器208组合在一起并同 时利用。排序集合构建器208创建一个或多个组合数据结构,组合数据结构能够被用来处 理两种语言的部分查询。 排序集合构建器208构造一个或多个查询完成表212。如在下面进一步说明的,一 个或多个查询完成表212被用于生成用于第一和第二语言两者的预测。在查询完成表212 中的每一个条目存储查询字符串和额外信息。额外信息包括可以基于在查询日志中的查询 的频率的排名分值、查询由用户群体中的用户提交时的日期/时间值、和/或其它因素。关 于查询的额外信息可选地包括指示完整搜索查询的语言的值。在各个查询完成表212中 的每一个条目表示与部分查询相关联的预测的完整查询。如在下面参考图9所描述的,在 一些实施例中,被接收的部分查询被分成两部分前缀部分和后缀部分。此外,在一些实施 例中,与同一前缀相关联的一组预测的完整查询被存储在按频率或分值排序的查询完成表 212中。可选地,查询完成表212由对应的部分搜索查询的查询指纹进行索引,其中每一个 部分搜索查询的查询指纹通过将哈希函数(或其它指纹函数)应用于部分搜索查询或部分 搜索查询的前缀来生成。可选地,查询指纹被存储在指纹到表的映射表210中用于快速查 找。 在一些实施例中,将第一语言(例如朝鲜语、日语、中文等)的预测的完整查询以 使用第二语言(例如英语、西班牙语、法语、德语、俄语等)的字符的转换的表示形式(例如 罗马化表示形式)存储在一个或多个查询完成表212中。因此,在这些实施例中,排序集合构建器208将完整第二语言(例如英语)查询的集合和以其转换的表示形式的完整第一语 言(例如朝鲜语)查询的集合存储在一个或多个查询完成表212中。然而,将在查询完成 表212中的预测的完整查询以在查询日志201中的原始查询的语言向用户表示并显示。然 而,在其它实施例中,尽管第一语言的查询被存储在通过将哈希函数(或其它指纹函数)应 用于对应的部分搜索查询的转换的表示形式来识别的查询完成表中,但是预测的完整查询 以其原始语言被存储在一个或多个查询完成表212中。参见图3A,在用户输入搜索查询时,客户端系统102监视用户的输入(308)。在用 户(有时被称为请求者)发信号完成搜索查询之前,将用户的查询的至少部分从客户端系 统发送到搜索引擎304(310)。查询的部分可以是几个字符、一个搜索词语或多于一个搜索 词语。注意到,可以以第一语言或第二语言输入部分查询。搜索引擎304接收部分搜索查询用于处理(312)并且前进到对关于用户的预期的 完整查询进行预测(313)。首先,搜索引擎304确定部分查询是以第一语言还是以第二语言 编码(314)。如果部分查询以第一语言编码,则搜索引擎304在前进之前将部分查询转换为 第二语言的上述表示形式(316)。如果部分查询以第二语言编码,则搜索引擎304可以直 接前进到处理部分查询。搜索引擎304然后应用哈希函数(或其它指纹函数)(318)来创 建指纹320。搜索引擎304使用指纹320和指纹到表的映射表210来定位与部分查询相对 应的查询完成表212来执行查找操作(322)。查找操作包括对指纹到表的映射表210搜索 与部分查询的指纹320相匹配的指纹。当找到匹配时,指纹到表的映射表210的对应条目 识别查询完成表(或替选地,在具有关于多个部分查询的条目的查询完成表中的条目的集 合)。如在下面更详细地描述的,查询完成表212可以包括与部分查询相匹配或相对应的多 个条目,以及指纹到表的映射表210被用来定位查询完成表或这些条目的第一个(或最后 一个)。查找操作(322)产生与所接收的部分搜索查询相对应的预测的完整查询的集合。在查询完成表中的每一个条目包括预测的完整查询和诸如关于预测的完整查询 的频率或分值的其它信息。搜索引擎304使用信息来构造完整查询预测的排序集合(326)。 在一些实施例中,将集合按频率或分值排序。搜索引擎304然后将预测的完整查询的至少 一个子集(328)返回给接收排序的预测的完整查询(329)的客户端。客户端前进到显示排 序的预测的完整查询的至少一个子集(330)。注意到,由于部分查询可以与在查询完成表212中的任一语言的查询条目潜在匹 配,故完整查询预测的排序集合可以以任一语言。搜索引擎304可以被配置为返回混合语 言预测的完整查询或者可以被配置为选择更可能预测部分查询的那种语言。在搜索引擎 304生成以除在部分查询中编码的语言外的语言形式的预测的完整查询的情况下,预测的 完整查询表示自动输入法校正建议。如在上面参考图2所注意的,在构建查询完成表时,可以对来自用户群体的历史查询日志的查询进行过滤。然而,额外的过滤可以由各种用户组(例如,请求了这样的过滤 的用户)请求或者代表各种用户组而被应用。因此,在一些实施例中,在对预测的完整查询 进行排序(326)之前或者在将预测的完整查询递送给客户端(328)之前,对预测的完整查 询的集合进行过滤以移除与在一个或多个预定词语集合中的一个或多个词语相匹配的查 询,如果存在这样的查询的话。例如,一个或多个预定词语集合可以包括被认为是令人反感 的或文化敏感的等英语词语和朝鲜语词语。执行该方法的系统可以包括存储在存储器中的识别一个或多个预定词语集合的一个或多个表(或其它数据结构)。在一些其它实施例中,递送给客户端(328)的预测的完整查询的集合在客户端处被过滤以移除与在一个或多 个预定词语集合中的一个或多个词语相匹配的查询,如果存在这样的查询的话。可选地,多 个不同的过滤器可以被用于多个不同的用户组。在一些实施例中,使用运行期间过滤(响 应于部分搜索查询而执行)替代在查询完成表的构建期间过滤。图3B图示了可以在客户端系统102的搜索助手104中实现的实施例。搜索助手 104监视用户将搜索查询输入到客户端系统102上的文本输入框中(352)。用户的输入可 以是一个或多个字符或者一个或多个单词(例如短语的第一个单词或前两个单词、或者第 一个单词和开头字母、复合词语的短语的新单词的字符或标志)。搜索助手104可以识别两 种不同类型的查询。第一种,先于在用户指示完成输入字符串时,搜索助手104在输入被识 别时接收或识别部分搜索查询(如下所述)。第二种,搜索助手104在用户选择了展示的预 测或指示完成输入字符串时接收或识别用户输入。当用户输入或选择被识别为完整的用户输入时,该完整的用户输入被传送到服务 器用于处理(354)。服务器返回搜索结果的集合,该集合由搜索助手104或由诸如浏览器应 用的客户端应用接收(356)。在一些实施例中,浏览器应用将搜索结果至少作为网页的一部 分显示。在一些其它实施例中,搜索助手104显示搜索结果。替选地,完整的用户输入的传 送(354)和对搜索结果的接收(356)可以由除搜索助手104外的机制来执行。例如,这些 操作可以由使用标准请求和响应协议的浏览器应用来执行。以多种方式,诸如当用户在搜索查询的输入期间输入了回车或等价字符、选择了 在向用户展示的图形用户界面(GUI)中的“查找”或“搜索”按钮时,或者通过在搜索查询 的输入期间选择向用户展示的预测的查询的集合中的一个,搜索助手104(或浏览器或其 它应用)可以将用户输入识别为完整的用户输入。本领域的技术人员将认识发信号搜索查 询的最终输入的多种方式。在用户发信号完整的用户输入之前,部分搜索查询可以被识别。例如,部分搜索查 询通过检测对在文本输入框中的字符的输入或删除来识别。一旦部分搜索查询被识别,该 部分搜索查询即被传送给服务器(358)。响应于该部分搜索查询,服务器返回包括预测的完 整搜索查询的预测。搜索助手104接收(360)并展示(例如显示、表达等)预测(362)。在向用户展示了预测的完整查询(362)后,如果用户确定预测中的一个与预期输 入相匹配,则用户可以选择预测的完整搜索查询中的一个。在一些情况中,预测可以向用户 提供未被考虑的额外信息。例如,用户可以心里以一个查询作为搜索策略的一部分,但是看 见预测的完整查询促使用户改变了输入策略。一旦展示了集合(362),再次监视用户的输入 (352)。如果用户选择了预测中的一个,则将用户输入作为完整查询(在此也被称为完整的 用户输入)传送给服务器(354)。在传送请求后,再次监视用户的输入活动(352)。在一些实施例中,搜索助手104可以从服务器预载额外的预测结果(额外的预测 结果中的每一个是预测的完整查询的集合)(364)。预载的预测结果可以被用来提高对用户 输入作出响应的速度。例如,在用户输入<ban>时,搜索助手104可以预载除关于<ban>的 预测结果外的关于〈bana〉、……、以及<bank>的预测结果。如果用户再输入一个字符,例 如<k>,来生成(部分搜索查询)输入<bank>,则可以在未将部分搜索查询传送到服务器或 接收预测的情况下显示关于<bank>的预测结果。
在一些实施例中,在客户端处本地地缓存预测结果的一个或多个集合。在搜索请 求者修改当前查询以反映以前的部分输入(例如通过退格以移除一些字符)时,替代将部 分输入发送给服务器,从客户端缓存检索与以前的部分输入相关联的预测结果的集合并且 再次向用户展示该集合。在一些实施例中,在接收关于最终输入的搜索结果或文档(356)后,或者在显示 预测的完整搜索查询(362)后,并且可选地预载了预测结果(364),搜索助手104继续监视 用户输入(352)直至用户例如通过关闭包含搜索助手104的网页来终止搜索助手104。在 一些其它实施例中,搜索助手104仅在文本输入框1320(在下面参考图13所论述的)被激 活时继续监视用户输入(352),以及在文本输入框1320被失活时暂停监视。在一些实施例 中,当在用户界面中的文本输入框在浏览器应用的当前活动窗口或工具栏中显示时,该文 本输入框被激活,以及当文本输入框不被显示或者文本输入框不在浏览器应用的活动窗口 或工具栏中时,该文本输入框被失活。所描述的系统和技术具有关于解决以诸如朝鲜语、日语、中文以及许多其它语言 的语言形式的部分查询的特定应用。或被称为谤文的书面朝鲜语利用被组织成音节块的字 符的音标字母。每一个音节块由一个首部辅音、一个中部元音以及可选的尾部辅音组成。 存在19种可能的首部辅音,21种可能的元音以及27种可能的尾部辅音。在图4A和4B中 示出了音节块的可能的首部、中部以及尾部元素的列表。可以以不同的方式对朝鲜语文本 进行编码,但是其常规以Unicode传输格式来表示,该Unicode传输格式使用不同的字符码 来表示每一个音节块组合即从ACOO到D7AF的11,172个预定的朝鲜语字符。常规使用 西方字母数字键盘布置来输入朝鲜语文本,其中朝鲜语辅音和元音被映射到键盘上的字母 键。由于首部辅音需要一次键击、中部元音和尾部辅音每一个需要一次或两次键击并且尾 部辅音是可选的,故单个朝鲜语音节块字符需要在键盘上的两次到五次之间的键击。因此,在将部分查询传送到搜索引擎304时用户输入朝鲜语查询可能正在输入不 完整的朝鲜语字符的中途。此外,用户可能正使用不正确的输入法设置来试图输入朝鲜语 或英语查询。所描述的系统和技术提供了用于以下的统一的解决方案通过将部分朝鲜语查询 转换为罗马化表示形式来提供朝鲜语和英语的预测的完整查询。这些朝鲜语查询的罗马化 表示形式与通过用户使用英语输入法来试图输入朝鲜语查询而生成的在罗马化字母表中 的字符相对应。例如,朝鲜语查询日志可以包括诸如下列的朝鲜语单词· “ Sbl·^ “ (mobile)(移动) "平言“(google)(谷歌)这些朝鲜语查询的罗马化表示形式将是以下 “ etl^ “ (mobile)(移动)=>"ahqkdlf"·丨丨宁趸”(google)(谷歌)=>"rnrmf"换句话说,用户在被设置为朝鲜语输入法的键盘上键入"ahqkdlf"将输入朝鲜 语的单词‘‘mobile”。图4A、4B和5图示了在查询中的朝鲜语字符串到罗马化表示形式的转换。为了实 现该转换,为形成每一个音节块字符的组分的每一个辅音或元音计算索引。对于以Unicode 表示的朝鲜语字符,所述字符被安排为
Unicode =(首部辅音*21*28) + (中部元音*28) +可选的尾部+OxACOO该计算可以由数个调节和分割来完成。一旦为每一个朝鲜语字符确定了索引,可 以缓存与辅音和元音索引相对应的英语字母。图4A和4B示出了不同的朝鲜语辅音和元音 可以如何被映射到给定Unicode编码的对应的罗马化字符。图5图示了转换可以如何被处 理。参见图5,检索在字符串(例如,完整或部分搜索查询)中的下一个字符(502)。初始, 在字符串中的第一个字符表示最初的“下一个字符”。确定字符是否被编码在朝鲜语字符的 音节块表示形式的范围内(504)。如果是(504-是),则如上所述从该字符导出首部和中部 和尾部值(506)。然后根据图4A和4B将所述值映射到罗马化字符(508)。然后将罗马化 字符附加到结果字符串(509)。另一方面,如果该字符不是作为音节块字符(504-否)而是 作为单个辅音或元音(510-是)来编码,则辅音或元音(被编码为字母码)再次根据在图 4A和4B中阐明的映射被直接转换为罗马化表示形式(512),以及然后被附加到结果字符串 的末尾(514)。如果该字符不以朝鲜语编码(510-否),由于假设该字符已经以罗马化表示 形式,则可以将该字符直接附加到结果字符串(516)。过程迭代(518)直至到达字符串的末 尾。如上所述,将朝鲜语查询在预处理阶段转换为罗马化表示形式并且根据朝鲜语查 询的罗马化表示形式将其组织在数据结构中。通过将朝鲜语查询转换为罗马化表示形式, 朝鲜语和英语预测的完整查询均可以被一起存储在用于预测服务器的统一数据结构中。由 于英语查询和朝鲜语查询均使用罗马化字母表来表示,所以相同的预测逻辑可以被利用来 生成英语预测和朝鲜语预测。在用户将朝鲜语的部分查询输入到系统中时,朝鲜语部分查询被转换为其罗马化 表示形式。然后如同任何英语部分查询,对照关于部分查询的数据结构核查该罗马化表示 形式。由于朝鲜语字符由具有与在键盘上的原始键击相同的顺序的罗马化字母表示,所以 不完整的朝鲜语查询被正确地处理。基于该部分查询来生成预测(即完整查询)的列表。 显而易见地,预测的完整查询可以以朝鲜语或英语。因此,在一些情况下,与部分查询相对 应的预测的完整查询包括朝鲜语和英语完整查询两者。在用户使用朝鲜语输入法来不正确 地输入了英语部分查询的情况下,系统将认为罗马化表示形式潜在地为英语查询。例如,用 户可能输入下列查询或下列的部分查询
<image>image see original document page 13</image>由于该查询未形成任何正确的音节块,所以该查询不会生成任何朝鲜语预测。然 而,关于该查询的罗马化表示形式为“mobile”,其将与包括英语单词“mobile”的预测的完 整查询相匹配,尽管用于部分查询的语言编码不正确。在用户将英语的部分查询输入到系统中时,系统将常规地处理该部分查询。将对 照数据结构核查该英语查询并且生成预测的列表。此外,由于数据结构包括以罗马化表示 形式的朝鲜语查询,所以系统将自动识别由输入法错误产生的朝鲜语预测。图6示出了与部分查询“ho ” 602相对应的预测的完整查询的集合604的示例。 在该示例中,在完整查询的集合604中的第一位置包括具有最高频率值的查询(例如 “hotmail”),在该集合中的第二位置由具有下一最高频率值的查询(例如“hot dogs”)占 据,等等。在该示例中,在给定的部分查询和完整查询之间的对应性由部分查询在完整查询的开头部分的存在来确定(例如,字符“ho”在完整查询“i^tmail”和“hotels in San Francisco”的开头部分找到)。在其它实施例中,在给定的部分查询和完整查询之间的对应 性由部分查询在位于完整查询中的任何位置的搜索词语的开头部分的存在来确定,如由完 整查询的集合606所图示(例如,字符“ho”在“i^tmail”的开头部分以及在“cheap hotels in Cape Town”中的第二搜索词语的开头部分找到)。为了创建查询完成表212的集合,从历史查询日志201、202选择查询(图7,702)。 在一些实施例中,只有具有期望的元信息的查询(例如,语言为英语的查询)被处理。从 所选择的查询识别第一个部分查询(704)。在一个实施例中,第一个部分查询是所选择的 查询的第一个字符(即,对于查询字符串“hot dog ingredients”来说为“h”)。在一些 实施例中,在识别部分查询之前应用预处理(例如,将大写字母转换为小写字母)。在表中 生成指示部分查询、与部分查询相对应的完整查询和其频率的条目。在其它实施例中,被 用于排名的其它信息(例如,基于完整查询由用户群体提交时的日期/时间值和/或其它 因素来计算的排名分值)被存储。如果所识别的部分查询未表示整个查询,则查询处理未 完成(708-否)。因此,识别下一个部分查询(710)。在一些实施例中,下一个部分查询通 过将下一个额外的字符添加到先前识别的部分查询来识别(即,对于查询字符串“hot dog ingredients”来说为“ho”)。继续识别(710)和对查询完成表的更新(706)的过程直至整 个查询被处理(708-是)。如果尚未处理完所有的查询(712-否),则从历史查询日志选择 下一个查询(702)并且对该查询进行处理直至所有的查询被处理(712-是)。在一些实施 例中,当将记录项添加到查询完成表时,记录项被插入使得在表中的记录项根据排名或分 值被排序。在另一个实施例中,所有查询完成表在表构建过程的末尾被排序使得在每一个 查询完成表中的记录项根据在查询完成表中的记录项的排名或分值被排序。另外,一个或 多个查询完成表可以被删简,使得表包含不超过预定数量的条目。如上所述,在一些实施例中,在将完整查询插入查询完成表中之前从历史查询日 志201、202过滤完整查询(714)以排除与词语的一个或多个预定集合相匹配的查询,所述 预定集合诸如可能被认为是令人反感的、文化敏感的等单词。可选地,提交在查询日志201 中的查询的用户群体可以与提交在查询日志202中的查询的用户群体不同,在这种情况下 前述“用户群体”包括两个或多个用户群体。如果查询被过滤并且因此从为用于插入到查 询完成表中的候选的查询的集合被移除,则从历史查询日志201、202选择下一个查询(如 果存在的话)(702)。参见图8,在表802中的804至812处图示了查询字符串“hot dogingredients” 的前五个字符的示例处理。在814至820处图示了查询字符串“hotmail”的前四个字符的 示例处理。在一些实施例中,关于给定的部分查询的查询完成表通过下述来创建从表识别 与给定的部分查询相对应的n个最经常被提交的查询并且将其以排名次序放置使得具有 最高排名(例如最高排名分值或频率)的查询位于列表的顶部。例如,关于部分查询“hot” 的查询完成表将包括完整查询字符串808和818两者。在排名基于频率时,由于在818中的 查询字符串的频率(即300,000)大于在808中的查询字符串的频率(即100,000),所以对 于“hotmail”的查询字符串将出现在对于“hot dog ingredients”的查询字符串的上方。 因此,在将预测的排序的集合返回给用户时,首先展示具有被选择的更高可能性的查询。如
14上所述,其它值可以被用于对预测的完整查询进行排名。在一些实施例中,来自用户的简档 的个性化信息可以被用于对预测的完整查询进行排名。参见图9和10,在一些实施例中,通过将历史查询字符串分成诸如四(4)个字符的 预定大小C的“组块(chunk) ”来减少查询完成表212的数量。关于长度小于C的部分查询 的查询完成表212保留不变。对于长度为至少C的部分查询,将部分查询分成两个部分前 缀部分和后缀部分。后缀部分的长度S等于部分查询的长度(L)以C取模S = L modulo C。其中L为部分查询的长度。前缀部分的长度P为部分查询的长度减去后缀的长 度P = L-S。因此,例如,具有十(10)个字符的长度的部分查询(例如“hot potato")在 组块大小C为四(4)时将具有后缀长度S = 2以及前缀长度P = 8。在执行在图7的步骤706中所示出的过程时,在图9中概念地图示了识别或创建 与部分查询相对应的查询完成表。图9示意性地图示了用于生成查询完成表以及用于在处 理用户输入的部分查询时进行查找两者的过程。在部分查询的长度小于一个“组块”C的大 小时,例如通过使用哈希函数(或其它指纹函数)318将部分查询映射到查询指纹320 (图 3A)。通过指纹到表的映射表210将指纹320映射到查询完成表212。在部分查询的长度为至少一个组块C的大小时,将部分查询902分解成前缀904 和后缀906,其长度如上所解释的由组块大小规制。例如通过将哈希函数318应用于前缀 904来为前缀904生成指纹908,并且然后通过指纹到表的映射表210将该指纹908映射到 “组块化的”查询完成表212。在一些实施例中,每一个组块化的查询完成表212是在更大 的查询完成表中的条目的集合,而在其它实施例中,每一个组块化的查询完成表是分立的 数据结构。各个查询完成表的每一个条目911包括为完整查询的文本的查询字符串,并且 还可以可选地包括用于对在查询完成表212中的条目进行排序的分值916。组块化的查询 完成表的每一个条目包括对应的部分查询的后缀914。在各个条目911中的后缀914具有 可以为从零至C-1的任何值的长度S,并且包括部分查询的未被包括在前缀904中的零或多 个字符。在一些实施例中,在生成用于历史查询的查询完成表条目911时,在每一个组块化 的查询完成表212中仅仅生成一个与该历史查询相对应的条目。特别地,该一个条目911 包含关于该历史查询的最长的可能的后缀,直至C-1个字符长。在其它实施例中,在每一个 组块化的查询完成表212中生成关于特定历史查询的直至C个条目,每一个条目用于每一 个不同的后缀。可选地,在各个查询完成表212中的每一个条目包括指示与完整查询913相关联 的语言的语言值或指示符912。然而,在所有的查询字符串913以其原始语言被存储在查询 完成表212中的实施例中可以省略语言值912。可选地,在各个查询完成表212中的每一个条目包括用于将表条目与部分查询前 缀的指纹进行匹配的查询指纹918。然而,在一些实施例(例如,具有关于每一个不同的部 分查询前缀的单独的查询完成表212的实施例)中,可以从查询完成表212的条目省略指 纹 918。图10示出了包含与历史查询“hot potato”相对应的条目911的一组查询完成表。 该示例假设组块大小C等于四。在其它实施例中,组块大小可以是2、3、5、6、7、8或任何其 它适当的值。组块大小C可以基于经验信息来选择。在图10中示出的前三个查询完成表
15212-1至212-3分别关于部分查询“h”、“ho”和“hot”。下两个查询完成表212-4和212-5 分别与具有7和10的部分查询长度的部分查询“hot pot”(以“hot”为其前缀部分,并且 “pot”为其后缀部分)和“hot potato"(以“hot pota”为其前缀部分,并且“to”为其后 缀部分)相对应。以另一种方式叙述,查询完成表212-4与以“hot”开始并且具有在4和 7之间的长度的所有部分查询相对应;而查询完成表212-5与以“hotpota”开始并且具有 在8和11之间的长度的所有部分查询相对应。返回参见图7,对于由操作710部分地形成的循环的每一次迭代,部分查询的长度 最初增加了一个字符的步长,直至达到C-1的长度,并且然后部分查询的长度增加了 C个字 符的步长,直至达到历史查询的全长。结果,在c = 4时,历史查询“hot potato”产生在分别 与具有1、2、3、4-7以及8-10个字符的长度的部分搜索查询相对应的五个这样的表(212-1 至212-5)中的查询完成表条目(在图10中示出)。根据在条目911中的查询字符串913的排名值(由分值916表示)对每一个组块 化的查询完成表的条目911进行排序。对于具有小于C个字符的部分查询,在查询完成表 212中的查询的数量是第一值(例如,10,20或在4和20之间的任何适当的值),其可以表 示作为预测返回的查询的数量。在一些实施例中,在每一个组块化的查询完成表910中的 条目911的最大数量(例如在1000和10,000之间的数量)显著地大于第一值。每一个组 块化的查询完成表212可以替代数十或数百个普通的查询完成表。因此,每一个组块化的 查询完成表212的大小被设置,以便包含与具有与组块化的查询完成表相对应的前缀部分 的所有或几乎所有的核准的历史查询相对应的多(P)个条目,而不会达到在生成关于用户 指定的部分查询的预测的完整查询的列表时产生过度时延的那样的长度。在从历史查询的集合生成了查询完成表212和指纹到表的映射表210之后,这些 相同的数据结构(或其副本)被用于识别与用户输入的部分查询相对应的查询的预测的集 合。如在图9中所示,如由部分查询的长度所确定的,首先通过将哈希函数(或其它指纹函 数)318应用于整个部分查询902或部分查询的前缀部分904,将用户输入的部分查询映射 到查询指纹320。然后通过在指纹到表的映射表210中执行对查询指纹的查找,将查询指纹 320映射到查询完成表212。最后,从所识别的查询完成表提取直至N个预测的查询的排序 的集合。在部分查询的长度小于组块大小时,预测的查询的排序的集合是在所识别的查询 完成表中的前N个查询。在部分查询的长度等于或长于组块大小时,在所识别的查询完成 表中搜索与部分查询的后缀相匹配的前N个项。由于在查询完成表212中的条目以降低的 排名来排序,所以搜索匹配的条目的过程从顶部开始并且继续直到获取了待返回的期望数 量(N)(例如10)的预测,或者直到到达了查询完成表212的末尾。在部分查询的后缀906 与在条目911中的后缀914的对应部分相同时,存在“匹配”。例如,参见图10,一个字母后 缀
分别与具有后缀<pot>和<pla>的条目911-3和911-4相匹配。具有长度零的空后 缀(也被称为空字符串)与在查询完成表中的所有条目相匹配,并且因此在部分查询的后 缀部分为空字符串时,将在表中的前N个项作为预测的查询返回。参见图11,实现上述方法的客户端系统102的实施例包括一个或多个处理单元 (CPU) 1102、一个或多个网络或其它通信接口 1104、存储器1106以及用于互连这些组件的 一个或多个通信总线1108。在一些实施例中,在客户端系统102中包括更少和/或额外的 组件、模块或功能。通信总线1108可以包括互连并控制系统组件间的通信的电路(有时被称为芯片集)。客户端102可以可选地包括用户接口 1110。在一些实施例中,用户接口 1110包括显示设备1112和/或键盘1114,而用户接口设备的其它配置也可以被使用。存 储器1106可以包括高速随机存取存储器并且还可以包括非易失性存储器,诸如一个或多 个磁或光存储盘、闪存设备或其它非易失性固态存储设备。高速随机存取存储器可以包括 诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储设备的存储设备。存储器1106可以可 选地包括位于远离CPU 1102的位置的海量存储器。存储器1106或替选地在存储器1106 内的非易失性存储设备包括计算机可读存储介质。存储器1106存储以下要素或这些要素 的子集,并且还可以包括额外的要素·操作系统1116,其包括用于处理各种基本系统服务和用于执行依赖硬件的任务 的程序;·网络通信模块(或指令)1118,其被用于经由一个或多个通信网络接口 1104和 诸如因特网、其它广域网、局域网、城域网等的一个或多个通信网络将客户端系统102连接 到其它计算机; 客户端应用1120 (例如因特网浏览器应用);客户端应用可以包括用于以下的指 令与用户进行交互以接收搜索查询;将搜索查询提交给服务器或在线服务;以及显示或 展示搜索结果;·网页1122,其包括待在客户端102上显示或展示的网页内容1124 ;与客户端应 用1120协同的网页实现用于展示网页内容1124以及用于与客户端102的用户进行交互的 图形用户界面;·数据1136,其包括预测的完整搜索查询;以及·搜索助手104。至少,搜索助手104将部分搜索查询信息传送给服务器。搜索助手还可以使包括 预测的完整查询的预测数据能够被显示,以及用户能够选择所显示的预测的完整搜索查 询。在一些实施例中,搜索助手104包括以下要素或这样的要素的子集输入和选择监视模 块(或指令)1128,其用于监视对搜索查询的输入以及选择部分搜索查询用于传送给服务 器;部分/完整输入传送模块(或指令)1130,其用于将部分搜索查询和(可选)完整搜索 查询传送给服务器;预测数据接收模块(或指令)1132,其用于接收预测的完整查询;以及 预测数据显示模块(或指令)1134,其用于显示预测的完整查询的至少一个子集和任何额 外的信息。对最终(即完整)查询的传送、接收关于完整查询的搜索结果以及显示这样的 结果可以由客户端应用/浏览器1120、搜索助手104或其组合来处理。搜索助手104可以 以多种方式来实现。在一些实施例中,用于输入查询以及用于展示对查询的响应的网页1122还包括 例如Macromedia Flash对象或Microsoft Silverlight对象(两者均与各自的浏览器插 件共同工作)的JavaScript或其它嵌入式代码或者指令,所述代码或指令用于帮助将部分 搜索查询传送给服务器、用于接收并显示预测的搜索查询以及用于对预测的搜索查询中的 任何查询的用户选择作出响应。特别地,在一些实施例中,搜索助手104例如作为可执行的 功能被嵌入在网页1122中、使用由客户端102可执行的JavaScript (Sun Microsystems的 商标)或其它指令来实现。替选地,搜索助手104作为客户端应用1120的一部分或作为由 客户端102与客户端应用1120协同来执行的客户端应用1120的扩展、插件或工具栏来实现。在又其它实施例中,搜索助手104作为与客户端应用1120分离的程序来实现。在一些实施例中,用于处理查询信息的系统包括用于执行程序的一个或多个中央 处理单元以及用于存储数据和用于存储待由一个或多个中央处理单元执行的程序的存储 器。存储器存储根据排名函数排序的由用户群体先前提交的完整查询的集合,该集合与部 分搜索查询相对应并且包括英语和朝鲜语完整搜索查询两者。存储器进一步存储接收模 块,其用于从搜索请求者接收部分搜索查询;预测模块,其用于将预测的完整查询的集合与 部分搜索查询相关联;以及传送模块,其用于将集合的至少部分传送给搜索请求者。图12描述了实现上述方法的服务器系统1200的示例。服务器系统1200与图1 中的搜索引擎108和图3A中的搜索引擎304相对应。服务器系统1200包括一个或多个处 理单元(CPU) 1202、一个或多个网络或其它通信接口 1204、存储器1206以及用于互连这些 组件的一个或多个通信总线1208。通信总线1208可以包括互连并控制系统组件间的通信 的电路(有时被称为芯片集)。应当理解,在一些其它实施例中,服务器系统1200可以使 用多个服务器来实现以便提高其吞吐量和可靠性。例如,查询日志124和126可以在与在 服务器系统1200中的服务器中的其它服务器相通信并且与之协同工作的不同的服务器上 来实现。作为另一个示例,排序集合构建器208可以在分立的服务器或计算设备中来实现。 因此,与作为在此所描述的实施例的结构性示意相比,图12更意在作为对可以在一组服务 器中展示的各种特征的功能性描述。被用来实现服务器系统1200的服务器的实际数量以 及如何在这些服务器之间分配特征将因实施方式而异,并且部分地取决于系统在高峰使用 期间以及在平均使用期间必须处理的数据业务量。存储器1206可以包括高速随机存取存储器并且还可以包括非易失性存储器,诸 如一个或多个磁或光存储盘、闪存设备或其它非易失性固态存储设备。高速随机存取存储 器可以包括诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储设备的存储设备。存储器 1206可以可选地包括位于远离CPU 1202的位置的海量存储器。存储器1206或替选地在存 储器1206内的非易失性存储设备包括计算机可读存储介质。存储器1206存储以下要素或 这些要素的子集,并且还可以包括额外的要素·操作系统1216,其包括用于处理各种基本系统服务和用于执行依赖硬件的任务 的程序;·网络通信模块(或指令)1218,其被用于经由一个或多个通信网络接口 1204和 诸如因特网、其它广域网、局域网、城域网等的一个或多个通信网络将服务器系统1200连 接到其它计算机; 查询服务器110,其用于从客户端接收部分搜索查询和完整搜索查询以及递送响 应;以及 预测服务器112,其用于从查询服务器110接收部分搜索查询以及用于产生并递 送响应。查询服务器110可以包括以下要素或这些要素的子集,并且还可以包括额外的要 素·客户端通信模块(或指令)116,其被用于与客户端通信查询和响应;·部分查询接收、处理和响应模块(或指令)120 ;以及· 一个或多个查询日志124和126,其包含与由用户群体提交的查询有关的信息。
查询处理模块(或指令)114从查询服务器110接收完整搜索查询以及产生并递 送响应。在一些实施例中,查询处理模块(或指令)包括包含信息的数据库,该信息包括查 询结果和例如与查询结果相关联的广告的可选地额外的信息。预测服务器112可以包括以下要素、这些要素的子集,并且还可以包括额外的要 素·部分查询接收模块(或指令)1222 ;·语言确定模块(或指令)1224 ;·语言转换模块(或指令)1226 ;·哈希函数(或其它指纹函数)1228 ;
·用于查询完成表查找的模块(或指令)1230 ;·结果排序模块(或指令)1232 ;·结果传送模块(或指令)1234 ;以及·预测数据库1220,其可以包括一个或多个查询完成表212以及一个或多个指纹 到表的映射表210 (在上面参考图2所描述的)。排序集合构建器208可以可选地包括一个或多个过滤器204、205和/或语言转换 模块(或指令)250。尽管在此关于被设计为与位于远离搜索请求者的位置的预测数据库一起使用的 服务器进行了论述,应当理解在此公开的概念同样适用于其它搜索环境。例如,在此描述 的相同技术可以应用于针对任何类型的信息库的查询,其中针对所述信息库运行查询或搜 索。因此,应当宽泛地解释术语“服务器”以包括所有这样的使用。尽管在图11和12中被图示为不同的模块或组件,各种模块或组件可以位于或共 同位于服务器或客户端内。例如,在一些实施例中,预测服务器112和/或预测数据库1220 的部分驻留于客户端系统102上或者形成搜索助手104的一部分。例如,在一些实施例中, 可以将关于最受欢迎的搜索的哈希函数1228和一个或多个查询完成表212和一个或多个 指纹到表的映射表210定期地下载到客户端系统102,从而为至少一些部分搜索查询提供 完全基于客户端的处理。在另一个实施例中,搜索助手104可以包括预测服务器112的本地版本,其用于至 少部分地基于经由用户的在先查询来进行完整搜索查询预测。替选地或另外地,本地预测 服务器可以基于从服务器或远程预测服务器下载的数据来生成预测。此外,搜索助手104 可以将本地生成和远程生成的预测集合合并来向用户展示。可以以多种方式中的任何方式 来合并结果,例如通过交错两个集合或者通过合并集合同时偏向用户先前提交的查询使得 这些查询易于接近预测的查询的组合列表的顶部被放置或插入。在一些实施例中,搜索助 手104将认为对用户重要的查询插入预测的集合中。例如,可以将用户经常提交但并未包 括在从服务器获取的集合中的查询插入预测中。在诸如图3A、3B、5、7和9中的流程图中示出的操作和在本文档中被描述为由客户 端系统、服务器、搜索引擎等执行的其它操作与存储在各个客户端系统、服务器或其它计算 机系统的计算机可读存储介质中的指令相对应。在图11(存储器1106)和图12(存储器 1206)中示出了这样的计算机可读存储介质的示例。在本文档中描述的软件模块、程序和/ 或可执行功能中的每一个与存储在各个计算机可读存储介质中的指令相对应,并且与用于执行上述功能的指令集相对应。所识别的模块、程序和/或功能(即指令集)不必作为独 立的软件程序、过程或模块来实现,并且因此这些模块的各种子集可以在各种实施例中被 组合或重新布置。图13图示了说明性客户端系统的用户界面。在该示例中,浏览器应用的窗口 1310 包括描述对部分查询<ah>的输入的文本输入框1320。响应于检测到部分查询并且从预测 服务器或搜索引擎接收预测的完整查询,在显示区域1330中显示预测的完整查询的至少 一个子集以可能由客户端系统的用户选择。如所述,在从文本输入框1320伸出的下拉框 (对应于显示区域1330)中展示预测的完整查询。注意到,对部分查询<ah>的输入生成了 英语结果(预测的完整查询),即<aha>和〈ahead〉,以及朝鲜语结果。这是由于如上所述 该朝鲜语结果与罗马化表示形式<ahqkdlf>相对应。因此,如果就用户而言部分查询由于 输入法错误(例如,使用英语字符输入而不是朝鲜语或谤文文本输入)而被错误地输入,并 且预测结果包括用户感兴趣的朝鲜语查询,则用户可以通过选择期望的朝鲜语查询来避免 对部分查询的重新输入。尽管各个附图中的某些附图以特定顺序图示了多个逻辑阶段,但是不依赖顺序的 阶段可以被重新排序以及其它阶段可以被组合或分解。虽然特定提及了一些重新排序或 其它聚组,但是其它重新排序或聚组对本领域技术人员将是显而易见的并且因此并未展示 替选方案的穷尽列表。此外,应当认识到,阶段可以在硬件、固件、软件或其任何组合中来实 现。为了解释的目的,关于特定实施例描述了在前的描述。然而,在上面的说明性论述 并不意在穷举或将本发明限制在所公开的精确形式。鉴于上述教导许多修改和变化是可能 的。选择并描述了实施例以便最佳地解释本发明的原理以及其实际应用,从而使本领域技 术人员能够以适合于预期的特定用途的各种修改来最佳地利用本发明和各种实施例。
权利要求
一种用于处理查询信息的方法,包括在服务器处,从搜索请求者接收部分搜索查询,所述搜索请求者位于远离所述服务器的位置;从多个先前提交的完整查询获取与所述部分搜索查询相对应的预测的完整查询的集合,所述先前提交的完整查询由用户群体提交;所述预测的完整查询的集合包括第一语言和第二语言完整搜索查询两者;根据排名标准对所述预测的完整查询的集合进行排序;以及将所排序的集合的至少一个子集递送给所述搜索请求者。
2.如权利要求1所述的方法,其中所述第一语言是朝鲜语以及所述第二语言是英语。
3.如权利要求1所述的方法,其中,在所述部分搜索查询包括部分输入的第一语言搜 索查询时,所述方法包括生成所述部分搜索查询的罗马化表示形式。
4.如权利要求1所述的方法,其中,在所接收的部分搜索查询包括一个或多个第一语 言字符时,获取预测的完整查询的集合包括将所述部分搜索查询转换为所述部分搜索查询的以所述第二语言的字符的表示形式;将哈希函数应用于所述部分搜索查询的所述表示形式以产生哈希值;以及 使用所述哈希值来执行查找操作以获取所述预测的完整查询。
5.如权利要求1所述的方法,其中,在所接收的部分搜索查询包括一个或多个完整的 第一语言字符和一个不完整的第一语言字符时,获取预测的完整查询的集合包括将所述部分搜索查询转换为所述部分搜索查询的罗马化表示形式;将哈希函数应用于所述部分搜索查询的所述罗马化表示形式以产生哈希值;以及使用所述哈希值来执行查找操作以获取所述预测的完整查询。
6.如权利要求1所述的方法,其中所接收的部分搜索查询包括一个或多个完整的第一 语言字符和一个不完整的第一语言字符。
7.如权利要求1所述的方法,包括在所述递送之前,对所述预测的完整查询的集合进 行过滤,以如果存在与在一个或多个预定词语集合中的一个或多个词语相匹配的查询,则 移除所述查询。
8.一种用于处理查询信息的方法,包括 在客户端处,从搜索请求者接收部分搜索查询;从多个先前提交的完整查询获取与所述部分搜索查询相对应的预测的完整查询的集 合,所述先前提交的完整查询由用户群体提交,其中所述预测的完整查询的集合包括第一 语言和第二语言完整搜索查询两者,并且根据排名标准被排序;以及 向所述搜索请求者显示所排序的集合的至少一个子集。
9.如权利要求8所述的方法,其中所述第一语言是朝鲜语以及所述第二语言是英语。
10.如权利要求8所述的方法,其中,在所述部分搜索查询包括部分输入的第一语言搜 索查询时,所述方法包括生成所述部分第一语言搜索查询的罗马化表示形式。
11.如权利要求8所述的方法,其中所述获取包括在所接收的部分搜索查询包括一个 或多个第一语言字符时将所述部分搜索查询转换为所述部分搜索查询的以所述第二语言的字符的表示形式;将哈希函数应用于所述部分搜索查询的所述表示形式以产生哈希值;以及 使用所述哈希值来执行查找操作以获取所述预测的完整查询。
12.如权利要求8所述的方法,其中所述获取包括在所接收的部分搜索查询包括一个或多个完整的第一语言字符和一个不完整的第一 语言字符时,将所述部分搜索查询转换为所述部分搜索查询的罗马化表示形式,将哈希函 数应用于所述部分搜索查询的所述罗马化表示形式以产生哈希值,以及使用所述哈希值来 执行查找操作以获取所述预测的完整查询。
13.如权利要求8所述的方法,其中所接收的部分搜索查询包括一个或多个完整的第 一语言字符和一个不完整的第一语言字符。
14.一种用于处理查询信息的系统,包括一个或多个中央处理单元,所述一个或多个中央处理单元用于执行程序;以及 存储器,所述存储器用来存储数据以及存储由所述一个或多个中央处理单元执行的一 个或多个程序,所述一个或多个程序包括指令,所述指令用于从搜索请求者接收部分搜索查询,所述搜索请求者位于远离服务器的位置; 从多个先前提交的完整查询获取与所述部分搜索查询相对应的预测的完整查询的集 合,所述先前提交的完整查询由用户群体提交;所述预测的完整查询的集合包括第一语言 和与所述第一语言不同的第二语言两者的完整搜索查询;根据排名标准对所述预测的完整查询的集合进行排序;以及 将所排序的集合的至少一个子集递送给所述搜索请求者。
15.如权利要求14所述的系统,其中所述一个或多个程序包括用于生成包括部分输入 的第一语言搜索查询的各个部分搜索查询的罗马化表示形式的指令。
16.如权利要求14所述的系统,其中所述用于获取预测的完整查询的集合的指令包括 用于以下的指令将包括一个或多个第一语言字符的各个部分搜索查询转换为所述各个部分搜索查询 的以所述第二语言的字符的表示形式;将哈希函数应用于所述部分搜索查询的所述表示形式以产生哈希值;以及 使用所述哈希值来执行查找操作以获取所述预测的完整查询。
17.如权利要求14所述的系统,其中所述用于获取预测的完整查询的集合的指令包括 用于以下的指令将包括一个或多个完整的第一语言字符和一个不完整的第一语言字符的各个部分搜 索查询转换为所述各个部分搜索查询的罗马化表示形式;将哈希函数应用于所述各个部分搜索查询的所述罗马化表示形式以产生哈希值;以及 使用所述哈希值来执行查找操作以获取所述预测的完整查询。
18.如权利要求14所述的系统,其中所接收的部分搜索查询包括一个或多个完整的第 一语言字符和一个不完整的第一语言字符。
19.如权利要求14所述的系统,其中所述用于获取预测的完整查询的集合的指令包括 用于以下的指令对所述预测的完整查询的集合进行过滤,以如果存在与在一个或多个预定词语集合中的一个或多个词语相匹配的查询,则移除所述查询。
20.如权利要求14所述的系统,其中所述用于获取预测的完整查询的集合的指令包括 用于以下的指令将包括一个或多个朝鲜语字符的各个部分搜索查询转换为所述各个部分搜索查询的 罗马化表示形式;将哈希函数应用于所述部分搜索查询的所述罗马化表示形式以产生哈希值;以及 使用所述哈希值来执行查找操作以获取所述预测的完整查询。
21.如权利要求14所述的系统,其中所述用于获取预测的完整查询的集合的指令包括 用于以下的指令将包括一个或多个完整的朝鲜语字符和一个不完整的朝鲜语字符的各个部分搜索查 询转换为所述各个部分搜索查询的罗马化表示形式;将哈希函数应用于所述各个部分搜索查询的所述罗马化表示形式以产生哈希值;以及 使用所述哈希值来执行查找操作以获取所述预测的完整查询。
22.如权利要求14所述的系统,其中所接收的部分搜索查询包括一个或多个完整的朝 鲜语字符和一个不完整的朝鲜语字符。
23.一种用于构建用于处理查询信息的数据结构的方法,包括获取先前提交的完整第一语言查询的集合,所述完整第一语言查询由用户群体先前提交。获取先前提交的完整第二语言查询的集合,所述完整第二语言查询由用户群体先前提交。将所述完整第一语言查询的集合转换为以罗马化表示形式的完整第二语言查询的集 合;以及将所述完整第一语言查询的集合和罗马化的完整第二语言查询的集合存储在一个或 多个查询完成数据表中;其中所述一个或多个查询完成数据表形成能够被用来预测与部分第一语言查询或部 分第二语言查询相对应的完整第一语言查询和完整第二语言查询两者的一个或多个数据 结构。
24.如权利要求23所述的方法,包括对所述先前提交的完整第一语言查询的集合和所 述先前提交的第二语言查询的集合进行过滤以排除与预定词语的一个或多个集合相匹配 的查询。
25.如权利要求23所述的方法,其中所述第一语言是朝鲜语以及所述第二语言是英语。
26.一种客户端系统,包括一个或多个中央处理单元,所述一个或多个中央处理单元用于执行程序;以及 存储器,所述存储器用来存储数据以及存储由所述一个或多个中央处理单元执行的一 个或多个程序,所述一个或多个程序包括指令,所述指令用于 从搜索请求者接收部分搜索查询;从多个先前提交的完整查询获取与所述部分搜索查询相对应的预测的完整查询的集 合,所述先前提交的完整查询由用户群体提交,其中所述预测的完整查询的集合包括第一语言和第二语言完整搜索查询两者,并且根据排名标准被排序;以及 向所述搜索请求者显示所排序的集合的至少一个子集。
27.如权利要求26所述的客户端系统,其中所述第一语言是朝鲜语以及所述第二语言是英语。
28.一种存储用于由各个服务器系统的一个或多个处理器执行的一个或多个程序的计 算机可读存储介质,所述一个或多个程序包括用于以下的指令从搜索请求者接收部分搜索查询,所述搜索请求者位于远离服务器的位置; 从多个先前提交的完整查询获取与所述部分搜索查询相对应的预测的完整查询的集 合,所述先前提交的完整查询由用户群体提交;所述预测的完整查询的集合包括第一语言 和第二语言完整搜索查询两者;根据排名标准对所述预测的完整查询的集合进行排序;以及 将所排序的集合的至少一个子集递送给所述搜索请求者。
29.如权利要求28所述的计算机可读存储介质,其中所述第一语言是朝鲜语以及所述‘是英语。
30.一种存储用于由各个客户端设备或系统的一个或多个处理器执行的一个或多个程 序的计算机可读存储介质,所述一个或多个程序包括用于以下的指令从搜索请求者接收部分搜索查询;从多个先前提交的完整查询获取与所述部分搜索查询相对应的预测的完整查询的集 合,所述先前提交的完整查询由用户群体提交,其中所述预测的完整查询的集合包括第一 语言和第二语言完整搜索查询两者,并且根据排名标准被排序;以及 向所述搜索请求者显示所排序的集合的至少一个子集。
31.如权利要求30所述的计算机可读存储介质,其中所述第一语言是朝鲜语以及所述‘是英语。
全文摘要
用于处理查询信息的方法包括从搜索请求者接收部分搜索查询,以及从多个先前提交的完整查询获取与部分搜索查询相对应的预测的完整查询的集合,先前提交的完整查询由用户群体提交。预测的完整查询的集合包括英语和朝鲜语完整搜索查询两者。根据排名标准对预测的完整查询的集合进行排序,并且将排序的集合的至少一个子集发送给搜索请求者。部分搜索查询可以是部分朝鲜语搜索查询的罗马化表示形式。
文档编号G06F17/30GK101816000SQ200880110208
公开日2010年8月25日 申请日期2008年8月8日 优先权日2007年8月9日
发明者金度享 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1