CN102483752A - 用于部分输入的查询的自动完成 - Google Patents
用于部分输入的查询的自动完成 Download PDFInfo
- Publication number
- CN102483752A CN102483752A CN2010800326966A CN201080032696A CN102483752A CN 102483752 A CN102483752 A CN 102483752A CN 2010800326966 A CN2010800326966 A CN 2010800326966A CN 201080032696 A CN201080032696 A CN 201080032696A CN 102483752 A CN102483752 A CN 102483752A
- Authority
- CN
- China
- Prior art keywords
- subclass
- user
- character string
- prediction
- query
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
服务器***分别从第一用户接收第一字符串以及从第二用户接收第二字符串。在第一和第二字符串之间存在一个或多个不同。服务器***从多个先前提交的完整查询分别获取与第一字符串相对应的预测的完整查询的第一集合和与第二字符串相对应的预测的完整查询的第二集合。在第一和第二集合两者中存在一个或多个相同的查询。服务器***将第一集合的至少第一子集递送给第一用户,以及将第二集合的至少第二子集递送给第二用户。第一子集和第二子集两者包括相应的相同查询。
Description
相关申请
本申请与以下有关:于2004年11月11日提交的“Method andSystem for Autocompletion Using Ranked Results(用于使用排名结果的自动完成的方法和***)”的共同未决、普通转让的美国专利申请序列号No.10/987,295;于2004年11月12日提交的“Method and Systemfor Autocompletion for Languages Having Ideographs and PhoneticCharacters(用于具有象形和语音字符的语言的自动完成的方法和***)”的共同未决、普通转让的美国专利申请序列号No.10/987,769;以及于2008年8月7日提交的“Autocompletion and Automatic InputMethod Correction for Partially Entered Query(用于部分输入的查询的自动完成和自动输入法校正)”的共同未决、普通转让的美国专利申请序列号No.12/188,163,在此通过引用整体并入其内容。
技术领域
所公开的实施例一般涉及用于定位在计算机网络(例如计算机***的分布式***)中的文档的搜索引擎,具体地,涉及用于通过响应于用户提供的部分查询而提供查询建议来加速期望的搜索的***和方法。
背景技术
搜索引擎提供了用于定位在大型文档数据库中的文档的强大工具,所述文档诸如在万维网(WWW)上的文档或存储在内联网的存储设备上的文档。响应于用户提交的查询而定位文档。查询典型地由一个或多个查询词语组成。为了减少其对用户的搜索请求作出响应的延时,搜索引擎可以基于用户输入的部分查询来生成预测的查询列表。用户可以从排序的预测的查询列表选择期望的查询,或者如果例如没有预测的查询对应于用户打算提交的查询,则可以完成部分查询。
发明内容
根据下述一些实施例,在服务器***处执行一种计算机实现的方法。服务器***分别从第一用户接收第一字符串以及从第二用户接收第二字符串。在第一和第二字符串之间存在一个或多个不同。服务器***从多个先前提交的完整查询分别获取与第一字符串相对应的预测的完整查询的第一集合和与第二字符串相对应的预测的完整查询的第二集合。在第一和第二集合两者中存在一个或多个相同的查询。服务器***将第一集合的至少第一子集递送给第一用户,以及将第二集合的至少第二子集递送给第二用户。第一子集和第二子集两者包括相应的相同查询。
在一些实施例中,一种用于处理查询信息的计算机***包括用于执行程序的一个或多个中央处理单元,以及用来存储数据和由一个或多个中央处理单元执行的程序的存储器。程序包括用于分别从第一用户接收第一字符串以及从第二用户接收第二字符串的指令,其中在第一和第二字符串之间存在一个或多个不同;用于从多个先前提交的完整查询分别获取与第一字符串相对应的预测的完整查询的第一集合和与第二字符串相对应的预测的完整查询的第二集合的指令,其中在第一和第二集合两者中存在一个或多个相同的查询;以及用于将第一集合的至少第一子集递送给第一用户以及将第二集合的至少第二子集递送给第二用户的指令,其中第一子集和第二子集两者包括相应的相同查询。
在一些实施例中,一种计算机可读存储介质存储由相应服务器***的一个或多个处理器执行的一个或多个程序。该一个或多个程序包括用于分别从第一用户接收第一字符串以及从第二用户接收第二字符串的指令,其中在第一和第二字符串之间存在一个或多个不同;用于从多个先前提交的完整查询分别获取与第一字符串相对应的预测的完整查询的第一集合和与第二字符串相对应的预测的完整查询的第二集合的指令,其中在第一和第二集合两者中存在一个或多个相同的查询;以及用于将第一集合的至少第一子集递送给第一用户以及将第二集合的至少第二子集递送给第二用户的指令,其中第一子集和第二子集两者包括相应的相同查询。
根据下述一些实施例,在客户端设备处执行一种计算机实现的方法。客户端设备分别从客户端设备的一个或多个用户接收第一字符串和第二字符串。在第一和第二字符串之间存在一个或多个不同。客户端设备从远程服务器***分别获取与第一字符串相对应的预测的完整查询的第一集合和与第二字符串相对应的预测的完整查询的第二集合。在第一和第二集合两者中存在一个或多个相同的查询。客户端设备向客户端设备的用户显示针对第一用户的第一集合的至少第一子集以及针对第二用户的第二集合的至少第二子集。第一子集和第二子集两者包括相应的相同查询。
在一些实施例中,一种客户端***包括用于执行程序的一个或多个中央处理单元,以及用来存储数据和由一个或多个中央处理单元执行的程序的存储器,所述程序包括用于从搜索请求者接收部分查询的指令。该程序进一步包括用于以下的指令:分别接收第一字符串和第二字符串,其中在第一和第二字符串之间存在一个或多个不同;从远程服务器***分别获取与第一字符串相对应的预测的完整查询的第一集合和与第二字符串相对应的预测的完整查询的第二集合,其中在第一和第二集合两者中存在一个或多个相同的查询;以及向客户端设备的相应用户显示第一集合的至少第一子集以及第二集合的至少第二子集,其中第一子集和第二子集两者包括相应的相同查询。
在一些实施例中,一种计算机可读存储介质存储由客户端设备的一个或多个处理器执行的一个或多个程序。该一个或多个程序包括用于以下的指令:分别接收第一字符串和第二字符串,其中在第一和第二字符串之间存在一个或多个不同;从远程服务器***分别获取与第一字符串相对应的预测的完整查询的第一集合和与第二字符串相对应的预测的完整查询的第二集合,其中在第一和第二集合两者中存在一个或多个相同的查询;以及向客户端设备的相应用户显示第一集合的至少第一子集以及第二集合的至少第二子集,其中第一子集和第二子集两者包括相应的相同查询。
附图说明
作为结合附图的本发明的各个方面的下列详细描述的结果,将更清楚地理解本发明的前述实施例以及另外的实施例。在附图的全部多个视图中相同的参考数字指代对应的部分。
图1是根据一些实施例的搜索引擎***的框图。
图2A是根据一些实施例的描绘了如何构建特定于语言的模型文件的概念图。
图2B描绘了根据一些实施例的为中文字符的用户提供的粤语语音表示自动生成统计模型的示例。
图2C是根据一些实施例的将中文短语和字符映射到其对应的基于粤语的语音表示统计模型的示例性数据结构的框图。
图3A至3C是根据一些实施例的为中文字符的粤语语音表示生成一个或多个查询完成表的方法的流程图。
图3D描述了根据一些实施例的对港拼(Kongping)和相关联的流行度分值进行合成,并且相应地生成候选港拼前缀的过程的示例。
图4A是根据一些实施例的处理部分查询的方法的流程图。
图4B是根据一些实施例的由在客户端***或设备处的搜索助手执行的过程的流程图。
图4C是根据一些实施例的将拉丁字符的部分查询映射到一种或多种语言的预测的完整查询的示例性数据结构的框图。
图4D是根据一些实施例的示意性图示了用于生成查询完成表以及用于在处理用户输入的部分查询时进行查找两者的过程的框图。
图5是根据一些实施例的客户端***的框图。
图6是根据一些实施例的服务器***的框图。
图7A至7G描绘了根据一些实施例的列出与用户提供的部分查询相对应的英文和中文的预测的完整查询的web浏览器、在web浏览器中显示的网页或其他用户界面的示意截屏。
具体实施方式
现将详细参考实施例,其示例在附图中图示。虽然将结合实施例描述本发明,将理解的是,本发明不限于这些特定实施例。相反,本发明包括在所附权利要求的精神和范围内的替选、修改和等同物。为了提供对在此展现的主题的透彻理解,阐述了许多具体细节。但是对本领域技术人员将是显而易见的是:在没有这些具体细节的情况下,可以对本主题进行实践。在其他情况下,没有详细描述众所周知的方法、程序、组件和电路,以免不必要地模糊实施例的方面。
图1图示了适于本发明的实施例的实践的分布式***100。在于2004年11月11日提交的“Method and System for Autocompletion UsingRanked Results(用于使用排名结果的自动完成的方法和***)”的共同未决、普通转让的美国专利申请序列号No.10/987,295,于2004年11月12日提交的“Method and System for Autocompletion for LanguagesHaving Ideographs and Phonetic Characters(用于具有象形和语音字符的语言的自动完成的方法和***)”的共同未决、普通转让的美国专利申请序列号No.10/987,769,以及于2008年8月7日提交的“Autocompletion and Automatic Input Method Correction for PartiallyEntered Query(用于部分输入的查询的自动完成和自动输入法校正)”的共同未决、普通转让的美国专利申请序列号No.12/188,163中提供了与分布式***和其各种功能组件有关的额外详情,在此通过引用将所述申请的内容整体并入。
***100可以包括位于远离搜索引擎108的位置的一个或多个客户端***或设备102。有时被称为客户端或客户端设备的各个客户端***102可以是台式计算机、膝上型计算机、信息站、移动电话、个人数字助理或类似物。通信网络106将客户端***或设备102连接到搜索引擎108。当用户(在此也被称为搜索请求者)在客户端***102处输入查询时,在该用户完成查询之前客户端助手104将该用户输入的部分查询的至少部分传送给搜索引擎108。在下面结合图4B描述了客户端助手104执行的过程的实施例。搜索引擎108使用部分查询的所传送的部分来作出用户预期的查询的一个或多个预测。这些预测被传送回客户端***102并且向用户显示。如果预测中的一个是该用户预期的查询,则该用户可以在不必继续输入查询的情况下选择预测的查询。
如在此进一步描述的,***100和其功能组件已被调整,以便以统一的方式处理多种语言的部分查询。***100已被调整,以便与由客户端助手104传送到搜索引擎108的部分查询的语言编码无关地,基于用户的在客户端***102处的实际输入来提供预测的查询。例如在用户使用在客户端***102处的不正确输入法编辑器设置输入了部分查询的情况下这尤其有用。
搜索引擎108包括查询服务器110,其具有接收并处理部分查询以及将部分查询转送到预测服务器112的模块120。在一些实施例中,查询服务器110另外接收完整搜索查询并且将完整搜索查询转送到查询处理模块114。预测服务器112负责生成与所接收的部分查询相对应的预测的完整查询的列表。在下面结合图4A描述了预测服务器112执行的过程的实施例。预测服务器112依赖于由排序集合构建器142在预处理阶段构造的数据结构。在下面结合图3A-3D描述了排序集合构建器142执行的示例性方法。排序集合构建器142使用不同语言的查询日志124、126和特定于语言的模型文件128来构造数据结构。特定于语言的模型文件128是将相应的非拉丁字符串映射到为非拉丁字符串的语音表示的一个或多个对应的拉丁字符串的信息集。
诸如中文普通话和韩语的一些语言或方言在它们的使用者之间具有广为接受的语音表示方案。例如,中文普通话的该方案被称为“拼音”,以及每个中文字符在特定语境下具有官方语音表示(或罗马化)。当用户使用拼音方案来输入中文字符时,任何打字错误将导致与预期的不同的字符集合或什么都没有(或可能错误消息)。但是在一些其他语言或方言中可能不存在广泛采用的标准或官方方案。例如,粤语是在书写中使用与普通话相同的中文字符,但是对于相同字符通常具有显著不同的发音的中文方言。由于历史原因,不存在如同拼音的被说粤语的人普遍接受的方案。结果,不同的人可能为粤语中的相同字符选择不同的语音表示。
例如,对于中文字符“德”,一些说粤语的人偏爱“tak”的语音表示,而一些其他人偏好“dak”的语音表示。换句话说,即使在相同语境下,在中文字符和其对应的粤语语音表示之间的关系是一对多的。用于粤语的特定于语言的模型文件128是数据结构,其为中文短语或单个中文字符定义一个或多个语音表示和其在说粤语的人之间的相应流行度。凭借该数据结构,可能的是,预测哪些对应的中文字符应当是对以拉丁字符串形式的用户输入的语音表示作出响应,以及还可能的是,基于预测的中文字符来提出查询建议。
参考图2A,在此的附图描绘了根据一些实施例,语言模型构建器152如何使用来自一个或多个源154的数据来生成特定于语言的模型文件128,所述一个或多个源154包括用户调查数据154-1、自定义数据154-3和第三方数据154-5。为简单起见,本申请将粤语用作示例。但是本发明适用于具有相同或相似问题,即没有特定语言或方言的说本族语的人普遍接受或使用的标准罗马化方案的其他语音或方言。
用户调查数据154-1可以通过安装诸如基于web的应用的软件应用来收集。说粤语的人被邀请访问该应用,并且提供中文短语/字符的其偏好的语音表示。后端应用对这些用户输入进行分析,并且为每一个短语或字符生成统计模型。收集用户调查数据的其他方式包括向说粤语的人征求输入的定期电子邮件消息。在下面结合图2B提供了用户调查数据分析的实施例的更详细描述。
有时,作为结果的统计模型可能受对用户调查数据154-1作出贡献的那些说粤语的人的人口规模和人口统计分布的影响。可以使用诸如自定义数据154-3和第三方数据154-5的其他数据源来提高特定于语言的模型文件128的质量和完备性。
一种类型的自定义数据154-3是香港地理数据。例如,在香港的许多地点具有如同“尖沙咀”的中文名和如同“Tsim Sha Tsui”的为对应的中文名的语音表示的英文名两者。在本申请中,粤语中的中文短语或字符的语音表示也被称为“港拼”。由于如同这个的组合已被使用了数十年,并且在香港的说粤语的人之间广泛使用,所以在生成特定于语言的模型文件128时,给予在香港地理数据154-3中的单个港拼和港拼组合两者增加的权重。换句话说,对于多字符中文短语,港拼自定义数据一般被认为是高度准确的,以及在大多数情况下,说粤语的人还偏好自定义数据154-3中的单个港拼,即使在对应的中文字符被用于其他组合中时。在一些实施例中,当关于特定中文短语或字符,自定义数据154-3与用户调查数据154-1不一致时,语言模型构建器152通常将增加的权重给予自定义数据154-3。
第三方数据可以从经由因特网可访问的文档获取。在一些实施例中,诸如分类器的软件应用被配置成分析网页并且寻找具有公认格式的表或收录中的(中文短语,港拼)对,例如:
陳大文->Chan Dai Man
大昌行->Dah Chong Hong
在一些实施例中,分类器首先识别与多个(例如,二至五)港拼接近的多个(例如,二至五)中文字符的样式,然后通过在特定于语言(粤语)的模型文件128中为中文字符查找已知港拼,来确定在相应的中文字符和对应的港拼之间是否存在可能的一对一映射。
换句话说,如在图2A中所示,模型文件的构造可以是迭代过程。语言模型构建器152周期性地或以另外方式处理来自数据源154的以任何格式的新近接收的数据,并且相应地更新粤语模型文件128。
图2B描绘了根据一些实施例的使用中文字符的用户提供的港拼来自动生成统计模型的示例。用户调查数据201包括来自四个用户的关于两个中文字符“抹”和“茉”的港拼,“抹”和“茉”在三个中文短语“抹(maat)布”、“抹(mut)殺”和“茉(mut)莉”中出现。为清晰起见,两个字符中的每一个与其对应的粤拼,即“maat”或“mut”相关联。粤拼是香港语言协会(LSHK)开发的罗马化方案,并且其在说粤语的人之间很少知道或使用。在这两个字符和三个短语中可以发现中文的两个重要现象。第一,同一字符“抹”在不同语境下可以具有不同发音,诸如“maat”用于“抹布”以及“mut”用于“抹殺”。第二,不同的字符“抹”和“茉”可以具有相同发音“mut”。
使
■K(user,jp,kp)为用户输入港拼kp用作粤拼jp的次数;以及
■T(user,jp)为用户输入任何港拼用作jp的总次数。
为用户的将kp用作jp的频率的F(user,jp,kp)可以被定义为:
F(user,jp,kp)=K(user,jp,kp)/T(user,jp).
使用上面的公式,用户调查数据201被转换成图2B中所示的频率数据203。注意到,用户调查数据201的最后两行被收缩成频率数据203的最后一行。由于模型文件128表示与说粤语的用户群相对应的统计模型,可以遍及不同用户对频率数据203求和以获得在jp和kp之间的关系,如下:
G(jp,kp)=[F(user1,jp,kp)+F(user2,jp,kp)+...+F(userN,jp,kp)]/N.
换句话说,G(jp,kp)指示当对应的粤拼是jp时,特定港拼kp的流行度。如图2B中所示,表205具有两个粤拼条目,一个关于“maat”以及另一个关于“mut”。两个条目中的每一个指向港拼条目和其相关联的流行度分值的相应列表205-1、205-3。
最后,H(C,kp),即用于中文字符C的港拼kp的流行度分值被定义如下:
H(C,kp)=w1G(jp1,kp)+w2G(jp2,kp)+...wMG(jpM,kp),
其中:
■jp1、jp2,...jpM是字符C的粤拼;以及
■w1、w2,...,wM是为字符C的相应粤拼分配的权重。
如图2B中所示,表207具有两个条目,一个关于“抹”以及另一个关于“茉”。两个条目中的每一个指向港拼条目和其相关联的流行度分值的相应列表207-1、207-3。为简单起见,在该示例中,所有权重wi被设置为值1/M。在一些实施例中,使用于特定中文字符C的不同港拼kp的H-值规范化,使得规范化的流行度分值的总和等于预定义常量(例如,100或1)。
图2C是根据一些实施例的将中文短语和字符映射到其对应的港拼的示例性数据结构的框图。该映射被实现为以中文短语或字符为键的查找表209,所述中文短语或字符的值是(港拼,流行度_分值)对的列表(209-1至209-7)。
在一些实施例中,语言模型构建器152通过合并来自各种源的不同类型的数据来构建数据结构中的每一个条目。基于对应的数据源的真实性,每一种类型的数据i被给予相应的权重ri。例如,如果自定义数据154-3从诸如香港地图数据的建立很久的数据源得到,则自定义数据154-3一般被给予比用户调查数据154-1和第三方数据154-5更高的权重。
使
■Hi(C,kp)为来自数据源i的中文短语/字符C的特定港拼kp的流行度分值;以及
■Hi(C)为来自数据源i的中文短语/字符C的不同港拼的流行度分值的总和。
与中文短语/字符C相关联的港拼kp的整体流行度分值被定义如下:
P(C,kp)=(r1H1(C,kp)+r2H2(C,kp)+...+rnHn(C,kp))
/(r1H1(C)+r2H2(C)+...+rnHn(C))。
粤语模型构建器152用使用上面的公式来确定的整体流行度分值来填充特定于语言的模型文件128的数据结构。对于在查询日志124、126中识别的每一个查询,排序集合构建器142通过查找模型文件128中的条目来生成候选港拼前缀集合。
在一些实施例中,模型文件128存储关于如同“劉”、“德”和“華”的单个中文字符的条目以及关于如同“劉德華”的中文短语的条目。通过这样做,模型文件128可以关于特定中文字符的港拼,提供更多依赖于语境的信息。如上所述,一个中文字符在不同短语中可以具有不同的发音。在模型文件128中具有与中文短语和其港拼流行度分值分布相对应的条目使以下更容易:当字符是特殊短语的一部分时将更少流行的港拼与该字符相关联。在一些实施例中,以压缩格式存储作为结果的模型文件128,以节省存储空间。
在一些实施例中,使用模型文件128和查询日志124、126,排序集合构建器142构造一个或多个查询完成表130。如在下面进一步说明的,一个或多个查询完成表130由预测服务器112使用来为部分查询生成预测。查询完成表130中的每一个条目存储查询字符串和另外的信息。另外的信息包括排名分值,其可以基于查询的在查询日志中的频率、用户群中的用户提交查询的日期/时间值、和/或其他因素。关于查询的另外的信息可选地包括指示完整查询的语言的值。相应的查询完成表130中的每一个条目表示与部分查询相关联的预测的完整查询。此外,在一些实施例中,将与相同前缀相关联的预测的完整查询组存储在按照频率或排名分值排序的查询完成表130中。可选地,查询完成表130由对应的部分搜索查询的查询指纹索引,其中每一个部分查询的查询指纹通过将哈希函数(或其他指纹函数)应用于部分查询来生成。在一些实施例中,预测的完整查询以其原始语言(例如,中文和英文)被存储在一个或多个查询完成表130中。
图3A是根据一些实施例的为中文字符的港拼生成一个或多个查询完成表的方法的概述流程图。最初,排序集合构建器142从查询日志302检索查询304。在一些实施例中,查询日志302存储与特定地理区域(例如,香港)相关联的历史查询信息。在一些其他实施例中,查询日志302存储全局历史查询信息。排序集合构建器142检查查询是否是中文的(306)。如果其不是中文的(306,否),则排序集合构建器142为该查询生成通用前缀条目(308)。如果查询是中文的(306,是),则排序集合构建器142为该查询生成通用前缀条目(308)和港拼前缀条目两者(310)。最后,排序集合构建器142将所生成的通用和/或港拼前缀条目***查询完成表中(312)。
图3B和3C是根据一些实施例的图示排序集合构建器142如何为中文查询生成港拼前缀条目的进一步细节的流程图。当接收到中文查询(320)时,排序集合构建器142执行对模型文件128的查找(322),以确定模型文件128是否包括与该查询相对应的条目(324)。如果在模型文件128中找到对应的条目(324-是),则该过程从模型文件检索关于该中文查询的港拼和从模型文件检索其相关联的流行度分值(332)。例如,如果中文查询是“劉德華”,则排序集合构建器142识别模型文件128中的对应条目(例如,图2C中的表209-1),并且从模型文件检索港拼和其相关联的流行度分值(332)。否则(324-否),排序集合构建器142通过将查询分解成多个子查询(326),并且执行模型文件中的对每一个子查询的查找(328),来为该查询对港拼和流行度分值进行合成(330)。在一些实施例中,如图3D所图示,排序集合构建器142递归地执行该查询细分和表查找,直到对于查询的每一个组分识别模型文件128中的条目。使用所识别/所合成的港拼和其相关联的流行度分值,排序集合构建器142计算该查询的候选前缀集合和其相应的流行度分值(334)。对于每一个候选前缀(340),排序集合构建器142确定其流行度分值是否高于预定义限制(342)。如果流行度分值不高于预定义限制(342,否),则排序集合构建器142前进到处理集合中的下一候选前缀(如果有的话)(340)。如果流行度分值高于预定义限制(342,是),则排序集合构建器142然后将该候选前缀和关于查询的信息,诸如其排名分值,添加到查询完成表130中(344)。接着,排序集合构建器142确定这是否是集合中的最后候选前缀(346)。如果当前候选前缀不是集合中的最后一个(346,否),则排序集合构建器142前进到处理集合中的下一候选前缀(340)。否则,完成关于候选前缀集合的过程。注意到,为每一个候选前缀重复操作340、342、344和346(在适当的情况下)。
如上所述,对于给定的中文查询,模型文件128可能没有任何对应的港拼。在这种情况下,排序集合构建器142不得不为该查询对一个或多个港拼进行合成。图3D描绘了排序集合构建器142如何为完整中文查询“劉德華電影”(352)合成港拼,生成候选港拼前缀集合,然后相应地填充查询完成表的示例性过程。如图3D中所示,在模型文件128中没有与“劉德華電影”相对应的条目(354)。因此,排序集合构建器142将该查询分成两个子查询,“劉德華”和“電影”(356)。在一些实施例中,排序集合构建器142首先将最后的字符“影”从该查询丢下,并且检查该查询的剩余部分“劉德華電”在模型文件中是否具有匹配的条目。排序集合构建器142递归地执行该查询细分,直到在模型文件中找到匹配“劉德華”的条目(358)。在这种情况下,排序集合构建器142为“劉德華”检索港拼列表362,并且为该查询的剩余部分“電影”执行相同的过程(364)。假设在模型文件中没有为“電影”找到任何条目(364),则排序集合构建器142将“電影”分成两个单个字符(366)。对于每一个字符,排序集合构建器142分别检索港拼列表372和374。使用三个港拼列表,排序集合构建器142为整个查询“劉德華電影”合成港拼(376)。
在一些实施例中,排序集合构建器142通过使在一起形成完整查询352的各个子查询的流行度分值相乘来执行合成。由于三个子查询中的每一个均具有两个港拼,所以生成八个合成港拼(378)。接着,排序集合构建器142使用八个合成港拼和其相关联的流行度分值来为查询“劉德華電影”生成候选港拼前缀(380)。对于诸如粤语的特定语言,排序集合构建器142为前缀定义最小和最大长度限制。在一些实施例中,这些参数是用户可配置的。最小长度限制典型地是2或3个字符,但是在一些实施例中,可以被设置为低至1。最大长度限制典型地是15至20个字符,但是除成本外,没有最大长度限制不能是显著大于20个字符的理由。在一些实施例中,排序集合构建器142首先通过移除分隔符将港拼连结成单个字符串,例如,“lau tak wah dinying”连结成“lautakwahdinying”。假设最小和最大长度限制是3至5个字符,排序集合构建器142为候选前缀“lau”计算所有八个港拼的流行度分值的总和(即,1),然后为候选前缀“laut”计算前四个港拼的流行度分值的总和(即,0.7)等。接着,排序集合构建器142过滤出其流行度分值低于预定义限制,例如0.5的那些候选前缀(382)。结果,仅仅三个前缀“lau”、“laut”和“lauta”被保留。排序集合构建器142然后将该三个前缀、中文查询“劉德華電影”和其相关联的排名分值38***查询完成表中(386)。
注意到,每一个中文字符具有特定发音,因此相关联的语音表示(例如,普通话中的拼音和粤语中的港拼)。以港拼输入查询的用户可以以空格“ ”、下划线“_”、连字号“-”或其他分隔符来分隔不同中文字符的港拼。因此,在一些实施例中,除在图3D的表382中示出的连结的语音字符(例如,港拼)(例如,“laut”)外,排序集合构建器142还将带有在不同中文字符的港拼之间的预定义分隔符的前缀(例如,“laut”)***查询完成表中。带有***的分隔符的港拼的示例是“laut”和“lau-t”。在一些实施例中,将连结的前缀和具有预定义分隔符的前缀合并入查询完成表中的同一条目中。在一些其他实施例中,将连结的前缀和具有预定义分隔符的前缀保留为查询完成表中的分立条目。在一些实施例中,排序集合构建器142还将以对应的港拼的初始字符形式的前缀***查询完成表中。根据图3D的表378,“劉德華電影”的五个初始字符可以是“ltwdy”、“ltwty”、“ldwdy”或“ldwty”。因此,诸如“ltw”或“ldwt”的前缀可以与中文查询“劉德華電影”相对应被***查询完成表中。在一些实施例中,关于连结的前缀、具有分隔符的前缀对应物以及包括对应的港拼的初始字符的前缀的预测的完整查询(如查询完成表条目所表示的)共享相同的流行度分值。
参考图4A,当用户输入查询时,客户端***102监视用户的输入(401)。在用户(有时被称为请求者)对完成查询发出信号之前,将用户的查询的至少部分从客户端***102发送给搜索引擎108(403)。查询的部分可以是几个字符、查询词语或多于一个查询词语。在一些实施例中,将部分查询输入为一连串拉丁字符,其可以是英文表达或中文字符的港拼。
搜索引擎108接收部分查询以供处理(405),并且前进到作出关于用户的预期完整查询的预测(407)。首先,搜索引擎108应用哈希函数(或其他指纹函数)(409)来创建部分查询的指纹411。搜索引擎108使用指纹411来定位对应于部分查询的查询完成表130来执行查找操作(413)。查找操作包括在查询完成表130中搜索匹配部分查询的指纹411的指纹。查询完成表130可以包括与部分查询相匹配或相对应的多个条目,以及使用指纹411来定位那些条目中的第一个(或最后一个)。查找操作(413)产生与所接收到的部分查询相对应的预测的完整查询集合。
查询完成表中的每一个条目包括预测的完整查询和诸如预测的完整查询的频率或排名分值的其他信息。搜索引擎108使用所述信息来构造排序的完整查询预测集合(415)。在一些实施例中,该集合按照频率或排名分值来排序。搜索引擎108然后将预测的完整查询的至少子集返回(417)给接收排序的预测的完整查询的客户端(419)。客户端前进到显示排序的预测的完整查询的至少子集(421)。
注意到,排序的预测的完整查询集合可以包括多种语言的查询,因为在405接收的部分查询可能潜在匹配对应于指纹411的查询完成表130中的不同语言的查询条目。搜索引擎108可以被配置成返回混合语言预测的完整查询或可以被配置成选择究竟哪种语言更可能预测部分查询。
在一些实施例中,在对预测的完整查询进行排序(415)之前或者在将预测的完整查询递送给客户端(417)之前,对预测的完整查询集合进行过滤以移除与在一个或多个预定义词语集合中的一个或多个词语相匹配的查询,如果存在这样的查询的话。例如,一个或多个预定义词语集合可以包括被认为是令人反感的或文化敏感的等英文词语和粤语词语。执行该方法的***可以包括存储在存储器中的识别一个或多个预定义词语集合的一个或多个表(或其他数据结构)。在一些其他实施例中,递送给客户端(417)的预测的完整查询集合在客户端处由客户端助手104进行过滤,以移除与在一个或多个预定义词语集合中的一个或多个词语相匹配的查询,如果存在这样的查询的话。可选地,多个不同的过滤器可以被用于多个不同的用户组。在一些实施例中,使用运行期间过滤(响应于部分查询而执行)替代在查询完成表的构建期间过滤。
图4B图示了可以在客户端***102的客户端助手104中实现的实施例。客户端助手104监视用户在客户端***102上将查询输入到文本输入框中(431)。用户的输入可以是一个或多个字符或者一个或多个词(例如短语的第一个词或前两个词、或者第一个词和开头字符、复合词语的短语的新词的字符或符号)。客户端助手104可以识别两种不同类型的查询。第一种,先于在用户指示完成输入字符串时,客户端助手104在输入被识别时接收或识别部分查询(如下所述)。第二种,客户端助手104在用户选择了展现的预测或指示完成输入字符串时接收或识别用户输入。
当用户输入或选择被识别为完整的用户输入时,该完整的用户输入被传送到服务器以供处理(451)。服务器返回搜索结果集合,该集合由客户端助手104或由诸如浏览器应用的客户端应用接收(453)。在一些实施例中,浏览器应用在网页中显示搜索结果的至少部分。在一些其他实施例中,客户端助手104显示搜索结果。替选地,完整的用户输入的传送(451)和对搜索结果的接收(453)可以由除客户端助手104外的机制来执行。例如,这些操作可以由使用标准请求和响应协议(例如,HTTP)的浏览器应用来执行。
以多种方式,诸如当用户在查询的输入期间输入了回车或等价字符、选择了在向用户展现的图形用户界面(GUI)中的“查找”或“搜索”按钮时,或者通过在查询的输入期间选择向用户展现的预测的查询集合中的一个,客户端助手104(或浏览器或其他应用)可以将用户输入识别为完整的用户输入。本领域的技术人员将认识对查询的最终输入发信号的多种方式。
在用户对完整的用户输入发信号之前,部分查询可以被识别。例如,部分查询通过检测对在文本输入框中的字符的输入或删除来识别。一旦部分查询被识别,该部分搜索查询即被传送给服务器(433)。响应于该部分查询,服务器返回包括预测的完整搜索查询的预测。客户端助手104接收(435)并展现(例如显示、表达等)预测的至少子集(437)。
在向用户展现了预测的完整查询(437)后,如果用户确定预测的完整查询中的一个与用户预期输入相匹配,则用户可以选择预测的完整搜索查询中的一个。在一些情况下,预测可以向用户提供未被考虑的另外信息。例如,用户可以心里以一个查询作为搜索策略的一部分,但是看见预测的完整查询促使用户改变了输入策略。一旦展现了集合(437),再次监视用户的输入(431)。如果用户选择了预测中的一个,则将用户输入作为完整查询(在此也被称为完整的用户输入)传送给服务器(451)。在传送请求后,再次监视用户的输入活动(431)。
在一些实施例中,客户端助手104可以从服务器预载另外的预测结果(另外的预测结果中的每一个是预测的完整查询集合)(439)。可以使用预载的预测结果来提高对用户输入作出响应的速度。例如,在用户输入<ban>时,除关于<ban>的预测结果外,客户端助手104可以预载关于<bana>、……、以及<bank>的预测结果。如果用户再输入一个字符,例如<k>,来生成(部分搜索查询)输入<bank>,则可以在不将部分查询传送(433)到服务器并且接收(435)预测的情况下显示关于<bank>的预测结果。
在一些实施例中,在客户端处本地地缓存一个或多个预测结果集合。在用户修改当前查询以反映早前的部分输入(例如通过退格以移除一些字符)时,从客户端缓存检索与早前的部分输入相关联的预测结果集合并且再次向用户展现该集合,而不是将部分输入发送给服务器。
在一些实施例中,在接收关于最终输入的搜索结果或文档(453)后,或者在显示预测的完整搜索查询(437)后,并且可选地预载了预测结果(439),客户端助手104继续监视用户输入(431),直至用户例如通过关闭包含客户端助手104的网页来终止客户端助手104。在一些其他实施例中,客户端助手104仅在文本输入框(在下面参考图7A所论述的)被激活时继续监视用户输入(431),以及在文本输入框被失活时暂停监视。在一些实施例中,当在用户界面中的文本输入框在浏览器应用的当前活动窗口或工具栏中显示时,该文本输入框被激活,以及当文本输入框不被显示或者文本输入框不在浏览器应用的活动窗口或工具栏中时,该文本输入框被失活。
参考图4C,查询完成表130的示例性数据结构包括部分查询条目列表470。在一些实施例中,使用许多已知方案将部分查询条目编码成指纹。部分查询可以是中文短语或字符的英文短语或港拼的一部分。每一个部分查询条目指向预测的完整查询列表(470-1至470-5)。例如,预测的完整查询列表470-1包括英文查询(例如,“las vegas”和“law firm”)和中文查询(例如,“劉德華”和“劉鍚明”)两者。每一个完整查询具有相关联的排名分值(例如,对于“las vegas”120,以及对于“劉德華”108)。
在一些实施例中,搜索引擎108可以以比其他语言(例如,中文)的查询高得多的提交频率,接收一种语言(例如,英文)的查询。结果,如同“劉德華”的某些中文查询尽管在特定用户群(例如,在香港的人)之间非常流行,但是具有比匹配部分查询“la”的许多英文查询低得多的排名分值。因此,在一些实施例中,不同语言的查询的排名分值通过增加以用户群所使用的本地语言写入的那些查询的排名分值或减少以其他语言写入及用户群极少使用的那些查询的排名分值来进行调整。通过这样做,如同“劉德華”的中文查询可以在或靠近预测的完整查询列表的顶部出现。
图4D是示意性地图示了用于生成查询完成表以及用于在处理用户输入的部分查询时进行查找两者的过程的框图。当部分查询(例如,“la”)的长度小于一个“组块”的大小C(例如,4)时,例如通过使用哈希函数(或其他指纹函数)409将整个部分查询映射到查询指纹411(图4A)。通过指纹到表的映射482将指纹411映射到查询完成表130-1。
当部分查询的长度为至少一个组块的大小C时,将部分查询(例如,“lauta”或“lauda”)分解成前缀484和后缀486,其长度由组块大小规制。例如通过将哈希函数409应用于前缀484来为前缀484生成指纹,然后通过指纹到表的映射483-1或483-2将该指纹映射到相应“组块化的”查询完成表130-2或130-3。在一些实施例中,每一个组块化的查询完成表130-2或130-3是在更大的查询完成表中的条目集合,而在其他实施例中,每一个组块化的查询完成表是分立的数据结构。各个查询完成表的每一个条目488-P或490-q包括查询字符串494,其为对应的语言的完整查询的文本,并且还可以可选地包括用于对在查询完成表中的条目进行排序的流行度分值498。组块化的查询完成表的每一个条目包括对应的部分查询的后缀。在各个条目中的后缀496具有可以为从零至C-1的任何值的长度S,并且包括部分查询的未被包括在前缀484中的零或多个字符。在一些实施例中,当为历史查询生成查询完成表条目时,在相应组块化的查询完成表130中仅仅生成一个与该历史查询相对应的条目。特别地,该一个条目包含关于该历史查询的最长的可能的后缀,多达C-1个字符长。在其他实施例中,在每一个组块化的查询完成表130中为特定历史查询生成多达C个条目,每一个条目用于每一个不同的后缀。
可选地,在各个查询完成表130中的每一个条目包括指示与完整查询相关联的语言的语言值或指示符492。然而,在所有查询字符串以其原始语言被存储在查询完成表130中的实施例中,可以省略语言值492。
如图4D中所示,相同中文查询“劉德華”具有在查询完成表130-2中的一个条目488-2以及在查询完成表130-3中的一个条目490-2。条目488-2对应于港拼“lau tak wah”以及条目490-2对应于港拼“lau dakwah”。因此,分别将两个部分查询“lauta”和“lauda”映射到两个不同的查询完成表130-2和130-3。该两个部分查询的后缀部分“a”与相应查询完成表中的多个条目相匹配。在一些实施例中,预测服务器112识别相应查询完成表中的匹配的完整查询,并且按照其相应的流行度分值对它们进行排序,直到找到预定义数量的完整查询。将这些识别的完整查询的至少子集作为建议的查询发送给相应客户端102以供用户选择。
在一些实施例中,搜索引擎108在查询完成表中维护港拼的部分查询的多个副本,一些没有空格分隔符“”以及一些带有分隔符。在一些实施例中,同一部分查询的不同副本指向同一预测的完整查询列表(例如,470-5)。在一些其他实施例中,将不同的副本当作不同的部分查询对待,以及每一个具有其自身的预测的完整查询列表。
参考图5,实现上述方法的客户端***102的实施例包括一个或多个处理单元(CPU)502、一个或多个网络或其他通信接口504、存储器506以及用于互连这些组件的一个或多个通信总线508。在一些实施例中,在客户端***102中包括更少和/或另外的组件、模块或功能。通信总线508可以包括互连并控制***组件间的通信的电路(有时被称为芯片集)。客户端102可以可选地包括用户接口510。在一些实施例中,用户接口510包括显示设备512和/或键盘514,但是也可以使用用户接口设备的其他配置。存储器506可以包括高速随机存取存储器并且还可以包括非易失性存储器,诸如一个或多个磁或光存储盘、闪存设备或其他非易失性固态存储设备。高速随机存取存储器可以包括诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备的存储器设备。存储器506可以可选地包括位于远离CPU 502的位置的海量存储。存储器506或替选地在存储器506内的非易失性存储器设备包括计算机可读存储介质。存储器506或存储器506的计算机可读存储介质存储以下要素或这些要素的子集,并且还可以包括另外的要素:
■操作***516,其包括用于处理各种基本***服务和用于执行依赖硬件的任务的程序;
■网络通信模块(或指令)518,其被用于经由一个或多个通信网络接口504和诸如因特网、其他广域网、局域网、城域网等的一个或多个通信网络将客户端***102连接到其他计算机;
■客户端应用520(例如,因特网浏览器应用);客户端应用可以包括用于以下的指令:与用户进行交互以接收搜索查询;将搜索查询提交给服务器或在线服务;以及显示或展现搜索结果;
■网页522,其包括待在客户端102上显示或展现的网页内容524;与客户端应用520协同的网页实现用于展现网页内容524以及用于与客户端102的用户进行交互的图形用户界面;
■数据536,其包括预测的完整搜索查询;以及
■客户端助手104,其在一些实施例中被嵌入在网页522中。
至少,客户端助手104将部分查询信息传送给服务器。搜索助手还可以使包括预测的完整查询的预测数据能够被显示,以及用户能够选择所显示的预测的完整查询。在一些实施例中,客户端助手104包括以下要素或这样的要素的子集:
■输入和选择监视模块(或指令)528,其用于监视对搜索查询的输入以及选择部分搜索查询用于传送给服务器;
■部分/完整输入传送模块(或指令)530,其用于将部分搜索查询和(可选)完整搜索查询传送给服务器;
■预测数据接收模块(或指令)532,其用于接收预测的完整查询;以及
■预测数据显示模块(或指令)534,其用于显示预测的完整查询的至少子集和任何另外的信息。
对最终(即完整)查询的传送、接收关于完整查询的搜索结果以及显示这样的结果可以由客户端应用/浏览器520、客户端助手104或其组合来处理。客户端助手104可以以多种方式来实现。
在一些实施例中,用于输入查询以及用于展现对查询的响应的网页522还包括:JavaScript或其他嵌入式代码,例如Macromedia Flash对象或Microsoft Silverlight对象(两者均与相应的浏览器插件一起工作);或者指令,所述代码或指令用于帮助将部分搜索查询传送给服务器、用于接收并显示预测的搜索查询以及用于对预测的搜索查询中的任何查询的用户选择作出响应。特别地,在一些实施例中,客户端助手104例如作为可执行的功能被嵌入在网页522中、使用由客户端102可执行的JavaScript(Sun Microsystems的商标)或其他指令来实现。替选地,客户端助手104作为客户端应用520的一部分或作为由客户端102与客户端应用520协同来执行的客户端应用520的扩展、插件或工具栏来实现。在又其他实施例中,客户端助手104作为与客户端应用520分离的程序来实现。
在一些实施例中,用于处理查询信息的***包括用于执行程序的一个或多个中央处理单元以及用于存储数据和用于存储待由一个或多个中央处理单元执行的程序的存储器。存储器存储根据排名函数排序的、由用户群先前提交的完整查询集合,该集合与部分查询相对应并且包括英文和中文完整搜索查询两者以及其他语言的查询。存储器进一步存储:接收模块,其用于从搜索请求者接收部分查询;预测模块,其用于将预测的完整查询集合与部分查询相关联;以及传送模块,其用于将集合的至少部分传送给搜索请求者。
图6描述了实现上述方法的服务器***600的实施例。服务器***600与图1中的搜索引擎108和图4A中的搜索引擎108相对应。服务器***600包括一个或多个处理单元(CPU)602、一个或多个网络或其他通信接口604、存储器606以及用于互连这些组件的一个或多个通信总线608。通信总线608可以包括互连并控制***组件间的通信的电路(有时被称为芯片集)。
存储器606可以包括高速随机存取存储器,并且还可以包括非易失性存储器,诸如一个或多个磁或光存储盘、闪存设备或其他非易失性固态存储设备。高速随机存取存储器可以包括诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备的存储器设备。存储器606可以可选地包括位于远离CPU 602的位置的海量存储。存储器606或替选地在存储器606内的非易失性存储器设备包括计算机可读存储介质。存储器606或存储器606的计算机可读存储介质存储以下要素或这些要素的子集,并且还可以包括另外的要素:
■操作***616,其包括用于处理各种基本***服务和用于执行依赖硬件的任务的程序;
■网络通信模块(或指令)618,其被用于经由一个或多个通信网络接口604和诸如因特网、其他广域网、局域网、城域网等的一个或多个通信网络将服务器***600连接到其他计算机;
■查询服务器110,其用于从客户端接收部分搜索查询和完整搜索查询以及递送响应;
■预测服务器112,其用于从查询服务器110接收部分搜索查询以及用于产生并递送响应;
■排序集合构建器142,其用于为查询服务器110填充查询完成表130;以及
■语言模型构建器152,其用于使用用户调查数据154-1、自定义数据154-3和第三方数据154-5来生成模型文件128。
查询服务器110可以包括以下要素或这些要素的子集,并且还可以包括另外的要素:
■客户端通信模块(或指令)116,其被用于与客户端通信查询和响应;
■部分查询接收、处理和响应模块(或指令)120;以及
■一个或多个查询日志124和126,其包含与用户群提交的查询有关的信息。
查询处理模块(或指令)114从查询服务器110接收完整搜索查询以及产生并递送响应。在一些实施例中,查询处理模块(或指令)包括包含信息的数据库,该信息包括查询结果和例如与查询结果相关联的广告的可选另外的信息。
预测服务器112可以包括以下要素、这些要素的子集,并且还可以包括另外的要素:
■部分查询接收模块(或指令)622;
■哈希函数(或其他指纹函数)628;
■用于查询完成表查找的模块(或指令)630;
■结果排序模块(或指令)632;
·结果传送模块(或指令)634;以及
·预测数据库620,其可以包括一个或多个查询完成表130。
排序集合构建器142可以可选地包括一个或多个过滤器640。
应当理解的是,在一些其他实施例中,服务器***600可以使用多个服务器来实现以便提高其吞吐量和可靠性。例如,查询日志124和126可以在与在服务器***600中的服务器中的其他服务器相通信并且与之协同工作的不同的服务器上来实现。作为另一个示例,排序集合构建器208可以在分立的服务器或计算设备中来实现。因此,与作为在此所描述的实施例的结构性示意相比,图6更意在作为对可以在一组服务器中展现的各种特征的功能描述。被用来实现服务器***600的服务器的实际数量以及如何在这些服务器之间分配特征将因实施方式而异,并且可以部分地取决于***在高峰使用期间以及在平均使用期间必须处理的数据业务量。
尽管在此关于被设计为与位于远离搜索请求者的位置的预测数据库一起使用的服务器进行了论述,应当理解的是,在此公开的概念同样适用于其他搜索环境。例如,在此描述的相同技术可以应用于针对任何类型的信息库的查询,其中针对所述信息库运行查询或搜索。因此,应当宽泛地解释术语“服务器”以包括所有这样的使用。
尽管在图5和6中被图示为不同的模块或组件,各种模块或组件可以位于或共同位于服务器或客户端内。例如,在一些实施例中,预测服务器112和/或预测数据库620的部分驻留于客户端***102上或者形成客户端助手104的一部分。例如,在一些实施例中,可以将哈希函数628和一个或多个查询完成表130周期性地下载到客户端***102,从而为至少一些部分搜索查询提供完全基于客户端的处理。
在另一个实施例中,客户端助手104可以包括预测服务器112的本地版本,其用于至少部分基于经由用户的在先查询来作出完整查询预测。替选地或另外地,本地预测服务器可以基于从服务器或远程预测服务器下载的数据来生成预测。此外,客户端助手104可以将本地生成和远程生成的预测集合合并来向用户展现。可以以多种方式中的任何方式来合并结果,例如通过交错两个集合或者通过合并集合同时偏向用户先前提交的查询,使得那些查询易于接近组合的预测的查询列表的顶部被放置或***。在一些实施例中,客户端助手104将认为对用户重要的查询***预测集合中。例如,可以将用户经常提交但并未包括在从服务器获取的集合中的查询***预测中。
在诸如图2A、3A-3C和4A-4B中的流程图中示出的操作和在本文档中被描述为由客户端***、服务器、搜索引擎等执行的其他操作与存储在各个客户端***、服务器或其他计算机***的计算机可读存储介质中的指令相对应。在图5(存储器506)和图6(存储器606)中示出了这样的计算机可读存储介质的示例。在本文档中描述的软件模块、程序和/或可执行功能中的每一个与存储在各个计算机可读存储介质中的指令相对应,并且与用于执行上述功能的指令集相对应。所识别的模块、程序和/或功能(即指令集)不必作为独立的软件程序、过程或模块来实现,因此这些模块的各种子集可以在各种实施例中被组合或重新布置。
图7A至7G描绘了根据一些实施例的列出与用户提供的部分港拼查询相对应的英文和中文的预测的完整查询的web浏览器、在web浏览器中显示的网页或其他用户界面的示意截屏。
如图7A中所示,截屏710是在客户端设备处的网页。在网页的文本框中存在用户输入的部分查询,其由拉丁字符串“laut”712组成。远程搜索引擎响应于该部分查询,将排序的预测的完整查询列表返回给客户端设备。在截屏710中显示排序列表的至少子集。
在一些实施例中,输入部分查询的用户被识别为说粤语的人。例如,用户可以通过在提交给搜索引擎的用户简档中指定他或她的首选语言为粤语来作出该表示。替选地,搜索引擎可以基于提交部分查询的客户端设备的IP地址来推断用户的语言偏好。换句话说,来自在香港的客户端计算机的部分查询指示输入查询的用户可能是说粤语的人。在又一些实施例中,搜索引擎可以指明提交给特定网站的部分查询来自说粤语的人。例如,假设网站(例如,http://www.***.com.hk)的大部分用户位于香港或至少在某些方面与香港有关,那么他们更可能输入港拼,因为他们中的大部分是说粤语的人。
在图7A中所示的示例中,中文查询“劉德華”714被显示为最高排名分值的预测的完整查询,因为部分查询“laut”是最流行港拼“lautak wah”(参见例如图2C中的209-1)的前缀,以及中文查询“劉德華”714在与查询完成表中的字符串“laut”相对应的列表的顶部处(参见例如图4C中的470-5)。第二预测的完整查询“lauterbrunnen”716是指在瑞士的地方。尽管其以德语形式,部分查询“laut”是“lauterbrunnen”的前缀。相比之下,第三和第四完整查询分别是英文词“laughing”718和香港岛“爛頭”的语音表示“lantau”720。注意到,部分查询“laut”不同于“laughing”718和“lantau”720的四个字符前缀。换句话说,本发明的实施例可以基于部分查询作出多种语言的模糊预测。
在图7B所示的示例中,部分查询是“lauta”722,其是更接近于港拼“lau tak wah”的一个字符。结果,中文查询“劉德華”726仍然在列表的顶部,以及以“劉德華”开始的许多其他完整查询728被提升到其他查询之上。
在图7C中所示的示例中,部分查询是“laud”730。注意到,该拉丁字符串不同于先前两个部分查询,因为第四个字符从“t”改变为“d”。但是根据图2C中所示的模型文件,“lau dak wak”是带有更低流行度分值的“劉德華”的另一个港拼。结果,中文查询“劉德華”736被列出为预测的完整查询中的一个,尽管其被关于部分查询“laud”的其他多个流行的查询732、734领先。换句话说,本发明的实施例可以响应于两个部分查询而提供一个或多个相同的预测的完整查询,其中在该两个部分查询之间存在一个或多个不同。从以下事实得到这种灵活性:对于同一中文短语或字符,模型文件可以具有多个港拼。
此外,本发明的实施例不对在不同字符串之间的不同的位置设置限制。例如,如分别在图7D和7E中所示的,两个部分查询“boma”740和“poma”750开始字符彼此不同。但是在两种情况下,搜索引擎返回一个或多个相同的查询,诸如“寶馬”(图7D中的742,图7E中的752)和“寶馬山”(图7D中的744,图7E中的754)。在一些实施例中,响应于不同的部分查询的相同完整查询的位置是不同的,因为不同的部分查询可以对应于具有不同流行度分值的不同港拼。
在图7F和7G中所示的示例中,部分查询分别是“lau ta”760和“ltw”。如上所述,与这两个部分查询相对应的中文预测的完整查询是相同的,并且与其连结的对应物“lauta”共享相同的流行度分值。因此,在每一种情况下,搜索引擎返回相应的以“劉德華”开始的中文建议集合762、766。
尽管各个附图中的某些附图以特定顺序图示了多个逻辑阶段,但是不依赖顺序的阶段可以被重新排序,以及其他阶段可以被组合或分解。虽然特定提及了一些重新排序或其它聚组,但是其它重新排序或聚组对本领域普通技术人员将是显而易见的,并且因此并未展现替选方案的穷尽列表。此外,应当认识到,阶段可以以硬件、固件、软件或其任何组合来实现。
为了解释的目的,参考特定实施例描述了在前的描述。然而,在上面的说明性论述并不意在穷举或将本发明限制在所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。选择并描述了实施例以便最佳地解释本发明的原理以及其实际应用,从而使本领域技术人员能够以适合于预期的特定用途的各种修改来最佳地利用本发明和各种实施例。
Claims (23)
1.一种计算机实现的方法,包括:
在服务器***处,
分别从第一用户接收第一字符串以及从第二用户接收第二字符串,其中在所述第一和第二字符串之间存在一个或多个不同;
从多个先前提交的完整查询分别获取与所述第一字符串相对应的预测的完整查询的第一集合和与所述第二字符串相对应的预测的完整查询的第二集合,其中在所述第一和第二集合两者中存在一个或多个相同的查询;以及
将所述第一集合的至少第一子集递送给所述第一用户,以及将所述第二集合的至少第二子集递送给所述第二用户,其中所述第一子集和所述第二子集两者包括相应的相同查询。
2.根据权利要求1所述的方法,其中所述第一和第二字符串对应于粤语的相同查询的两个语音表示。
3.根据权利要求1所述的方法,其中所述一个或多个不同包括在所述第一和第二字符串的相应开头字符之间的不同。
4.根据权利要求1所述的方法,其中所述一个或多个不同包括在所述第一和第二字符串的相应结尾字符之间的不同。
5.根据权利要求1所述的方法,其中所述预测的完整查询的第一集合包括第一语言的一个或多个查询和第二语言的一个或多个查询。
6.根据权利要求1所述的方法,其中每一个预测的完整查询具有流行度分值,进一步包括:
按照基于所述预测的完整查询的第一和第二子集中的每一个的在同一子集内的各自流行度分值的相应顺序,分别递送所述预测的完整查询的第一和第二子集中的每一个。
7.根据权利要求6所述的方法,其中所述第一子集中的第一数量的查询以及所述第二子集中的第二数量的查询在所述相应的相同查询的前面,以及所述第一数量不同于所述第二数量。
8.根据权利要求1所述的方法,进一步包括:
将哈希函数应用于所述第一和第二字符串中的每一个来产生相应的哈希值;以及
使用所述相应的哈希值来获取相应的预测的完整查询集合,来执行查找操作。
9.一种计算机实现的方法,包括:
在服务器***处,
分别从第一用户接收第一字符串以及从第二用户接收第二字符串,其中在所述第一和第二字符串之间存在至少一个不同;
从多个先前提交的完整查询分别获取与所述第一字符串相对应的预测的完整查询的第一和第二集合以及与所述第二字符串相对应的预测的完整查询的第三和第四集合,其中所述预测的完整查询的第一和第三集合是第一语言的,以及所述预测的完整查询的第二和第四集合是第二语言的,以及在所述第一和第三集合两者中不存在相同的查询,以及在所述第二和第四集合两者中存在一个或多个相同的查询;以及
将所述第一和第二集合的至少第一子集递送给所述第一用户,以及将所述第三和第四集合的至少第二子集递送给所述第二用户,其中所述第一子集和所述第二子集两者包括相应的相同查询。
10.根据权利要求9所述的方法,其中所述第一语言是英文,以及所述第二语言是粤语。
11.一种用于处理查询信息的***,包括:
用于执行程序的一个或多个中央处理单元;以及
用于存储数据和存储由所述一个或多个中央处理单元执行的一个或多个程序的存储器,所述一个或多个程序包括用于以下的指令:
分别从第一用户接收第一字符串以及从第二用户接收第二字符串,其中在所述第一和第二字符串之间存在一个或多个不同;
从多个先前提交的完整查询分别获取与所述第一字符串相对应的预测的完整查询的第一集合和与所述第二字符串相对应的预测的完整查询的第二集合,其中在所述第一和第二集合两者中存在一个或多个相同的查询;以及
将所述第一集合的至少第一子集递送给所述第一用户,以及将所述第二集合的至少第二子集递送给所述第二用户,其中所述第一子集和所述第二子集两者包括相应的相同查询。
12.根据权利要求11所述的***,其中所述第一和第二字符串对应于粤语的相同查询的两个语音表示。
13.根据权利要求11所述的***,其中所述一个或多个不同包括在所述第一和第二字符串的相应开头字符之间的不同。
14.根据权利要求11所述的***,其中所述一个或多个不同包括在所述第一和第二字符串的相应结尾字符之间的不同。
15.根据权利要求11所述的***,其中所述预测的完整查询的第一集合包括第一语言的一个或多个查询和第二语言的一个或多个查询。
16.根据权利要求11所述的***,其中每一个预测的完整查询具有流行度分值,其中所述一个或多个程序进一步包括指令:
按照基于所述预测的完整查询的第一和第二子集中的每一个的在同一子集内的各自流行度分值的相应顺序,分别递送所述预测的完整查询的第一和第二子集中的每一个。
17.根据权利要求16所述的***,其中所述第一子集中的第一数量的查询以及所述第二子集中的第二数量的查询在所述相应的相同查询的前面,以及所述第一数量不同于所述第二数量。
18.根据权利要求11所述的***,其中所述一个或多个程序进一步包括指令:
将哈希函数应用于所述第一和第二字符串中的每一个来产生相应的哈希值;以及
使用所述相应的哈希值来获取相应的预测的完整查询集合,来执行查找操作。
19.一种存储由相应服务器***的一个或多个处理器执行的一个或多个程序的计算机可读存储介质,所述一个或多个程序包括用于以下的指令:
分别从第一用户接收第一字符串以及从第二用户接收第二字符串,其中在所述第一和第二字符串之间存在一个或多个不同;
从多个先前提交的完整查询分别获取与所述第一字符串相对应的预测的完整查询的第一集合和与所述第二字符串相对应的预测的完整查询的第二集合,其中在所述第一和第二集合两者中存在一个或多个相同的查询;以及
将所述第一集合的至少第一子集递送给所述第一用户,以及将所述第二集合的至少第二子集递送给所述第二用户,其中所述第一子集和所述第二子集两者包括相应的相同查询。
20.一种计算机实现的方法,包括:
在客户端设备处,
分别接收第一字符串和第二字符串,其中在所述第一和第二字符串之间存在一个或多个不同;
从远程服务器***分别获取与所述第一字符串相对应的预测的完整查询的第一集合和与所述第二字符串相对应的预测的完整查询的第二集合,其中在所述第一和第二集合两者中存在一个或多个相同的查询;以及
向所述客户端设备的相应用户显示所述第一集合的至少第一子集以及所述第二集合的至少第二子集,其中所述第一子集和所述第二子集两者包括相应的相同查询。
21.根据权利要求20所述的方法,其中所述第一和第二字符串对应于粤语的相同查询的两个语音表示。
22.一种客户端***,包括:
用于执行程序的一个或多个中央处理单元;以及
用于存储数据和存储由所述一个或多个中央处理单元执行的一个或多个程序的存储器,所述一个或多个程序包括用于以下的指令:
分别接收第一字符串和第二字符串,其中在所述第一和第二字符串之间存在一个或多个不同;
从远程服务器***分别获取与所述第一字符串相对应的预测的完整查询的第一集合和与所述第二字符串相对应的预测的完整查询的第二集合,其中在所述第一和第二集合两者中存在一个或多个相同的查询;以及
向所述客户端设备的相应用户显示所述第一集合的至少第一子集以及所述第二集合的至少第二子集,其中所述第一子集和所述第二子集两者包括相应的相同查询。
23.一种存储由相应客户端设备或***的一个或多个处理器执行的一个或多个程序的计算机可读存储介质,所述一个或多个程序包括用于以下的指令:
分别接收第一字符串和第二字符串,其中在所述第一和第二字符串之间存在一个或多个不同;
从远程服务器***分别获取与所述第一字符串相对应的预测的完整查询的第一集合和与所述第二字符串相对应的预测的完整查询的第二集合,其中在所述第一和第二集合两者中存在一个或多个相同的查询;以及
向所述客户端设备的相应用户显示所述第一集合的至少第一子集以及所述第二集合的至少第二子集,其中所述第一子集和所述第二子集两者包括相应的相同查询。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18393209P | 2009-06-03 | 2009-06-03 | |
US61/183,932 | 2009-06-03 | ||
PCT/CN2010/073498 WO2010139277A1 (en) | 2009-06-03 | 2010-06-03 | Autocompletion for partially entered query |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102483752A true CN102483752A (zh) | 2012-05-30 |
Family
ID=43297287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800326966A Pending CN102483752A (zh) | 2009-06-03 | 2010-06-03 | 用于部分输入的查询的自动完成 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8996550B2 (zh) |
CN (1) | CN102483752A (zh) |
WO (1) | WO2010139277A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733759A (zh) * | 2017-04-25 | 2018-11-02 | 松下知识产权经营株式会社 | 单词扩展方法、单词扩展装置以及程序 |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8086624B1 (en) | 2007-04-17 | 2011-12-27 | Google Inc. | Determining proximity to topics of advertisements |
US8229942B1 (en) * | 2007-04-17 | 2012-07-24 | Google Inc. | Identifying negative keywords associated with advertisements |
JP5337308B2 (ja) * | 2010-08-06 | 2013-11-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 文字列生成方法、プログラム及びシステム |
US8745061B2 (en) * | 2010-11-09 | 2014-06-03 | Tibco Software Inc. | Suffix array candidate selection and index data structure |
US8417718B1 (en) * | 2011-07-11 | 2013-04-09 | Google Inc. | Generating word completions based on shared suffix analysis |
US8798995B1 (en) | 2011-09-23 | 2014-08-05 | Amazon Technologies, Inc. | Key word determinations from voice data |
US8719254B2 (en) * | 2011-12-15 | 2014-05-06 | Microsoft Corporation | Efficient querying using on-demand indexing of monitoring tables |
US9552393B2 (en) * | 2012-01-13 | 2017-01-24 | Business Objects Software Ltd. | Adaptive record linking in a distributed computing system |
US20130238987A1 (en) * | 2012-03-11 | 2013-09-12 | Mark Ian Lutwyche | Patent Prosecution Tool |
US20130311447A1 (en) * | 2012-05-15 | 2013-11-21 | Microsoft Corporation | Scenario based insights into structure data |
US9275147B2 (en) | 2012-06-18 | 2016-03-01 | Google Inc. | Providing query suggestions |
US9594831B2 (en) | 2012-06-22 | 2017-03-14 | Microsoft Technology Licensing, Llc | Targeted disambiguation of named entities |
US20140006010A1 (en) * | 2012-06-27 | 2014-01-02 | Igor Nor | Parsing rules for data |
WO2014000263A1 (en) * | 2012-06-29 | 2014-01-03 | Microsoft Corporation | Semantic lexicon-based input method editor |
CN108052489A (zh) * | 2012-08-31 | 2018-05-18 | 微软技术许可有限责任公司 | 用于输入法编辑器的个人语言模型 |
CN103970647B (zh) * | 2013-01-29 | 2017-02-08 | 百度国际科技(深圳)有限公司 | 输入法中非激活窗口的测试方法、装置和测试终端 |
CN113744733B (zh) | 2013-02-07 | 2022-10-25 | 苹果公司 | 数字助理的语音触发器 |
US9292537B1 (en) | 2013-02-23 | 2016-03-22 | Bryant Christopher Lee | Autocompletion of filename based on text in a file to be saved |
US10169356B2 (en) * | 2013-02-26 | 2019-01-01 | Facebook, Inc. | Intelligent data caching for typeahead search |
US10387973B2 (en) * | 2013-02-28 | 2019-08-20 | Sony Corporation | Trending stories in game activity feeds |
JP5911460B2 (ja) * | 2013-09-18 | 2016-04-27 | キヤノン株式会社 | 画像形成装置及び方法、並びにプログラム |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US20160055174A1 (en) * | 2014-08-19 | 2016-02-25 | Adobe Systems Incorporated | Facilitating searching for geographic place names |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10180989B2 (en) * | 2015-07-24 | 2019-01-15 | International Business Machines Corporation | Generating and executing query language statements from natural language |
US10332511B2 (en) | 2015-07-24 | 2019-06-25 | International Business Machines Corporation | Processing speech to text queries by optimizing conversion of speech queries to text |
US10803391B2 (en) * | 2015-07-29 | 2020-10-13 | Google Llc | Modeling personal entities on a mobile device using embeddings |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10691684B2 (en) | 2016-11-01 | 2020-06-23 | BloomReach, Inc. | Structured search queries |
US20180285904A1 (en) * | 2017-03-30 | 2018-10-04 | Ca, Inc. | Fast and scalable crowd consensus tool |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
CN108446316B (zh) * | 2018-02-07 | 2019-12-17 | 北京三快在线科技有限公司 | 联想词的推荐方法、装置、电子设备及存储介质 |
US11106690B1 (en) * | 2018-02-20 | 2021-08-31 | A9.Com, Inc. | Neural query auto-correction and completion |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11475884B2 (en) * | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11468890B2 (en) | 2019-06-01 | 2022-10-11 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
RU2744111C2 (ru) * | 2019-06-19 | 2021-03-02 | Общество С Ограниченной Ответственностью «Яндекс» | Способ и система для формирования подсказок по расширению поисковых запросов в поисковой системе |
US11138280B2 (en) | 2019-06-20 | 2021-10-05 | Verizon Media Inc. | Computerized system and method for email search assist optimization |
JP2021077178A (ja) * | 2019-11-11 | 2021-05-20 | 株式会社asken | 検索システム、検索方法、及びプログラム |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
US11886687B1 (en) * | 2020-09-23 | 2024-01-30 | Jetsmarter Inc. | Efficient route selection for client-initiated segments |
US11853381B2 (en) * | 2020-11-13 | 2023-12-26 | Google Llc | Hybrid fetching using a on-device cache |
CN114822533B (zh) * | 2022-04-12 | 2023-05-12 | 广州小鹏汽车科技有限公司 | 语音交互方法、模型训练方法、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1641546A (zh) * | 2004-01-09 | 2005-07-20 | 顺德市顺达电脑厂有限公司 | 网址输入方法 |
WO2006055120A2 (en) * | 2004-11-12 | 2006-05-26 | Google, Inc. | Method and system for autocompletion for languages having ideographs and phonetic characters |
WO2009021204A2 (en) * | 2007-08-09 | 2009-02-12 | Google Inc. | Autocompletion and automatic input method correction for partially entered search query |
Family Cites Families (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5270927A (en) * | 1990-09-10 | 1993-12-14 | At&T Bell Laboratories | Method for conversion of phonetic Chinese to character Chinese |
US6243071B1 (en) | 1993-11-03 | 2001-06-05 | Apple Computer, Inc. | Tool set for navigating through an electronic book |
US5687364A (en) | 1994-09-16 | 1997-11-11 | Xerox Corporation | Method for learning to infer the topical content of documents based upon their lexical content |
US5805911A (en) | 1995-02-01 | 1998-09-08 | Microsoft Corporation | Word prediction system |
US5649222A (en) | 1995-05-08 | 1997-07-15 | Microsoft Corporation | Method for background spell checking a word processing document |
US5873107A (en) | 1996-03-29 | 1999-02-16 | Apple Computer, Inc. | System for automatically retrieving information relevant to text being authored |
US6819336B1 (en) | 1996-05-07 | 2004-11-16 | Sun Microsystems, Inc. | Tooltips on webpages |
US5845300A (en) | 1996-06-05 | 1998-12-01 | Microsoft Corporation | Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items |
US5907680A (en) | 1996-06-24 | 1999-05-25 | Sun Microsystems, Inc. | Client-side, server-side and collaborative spell check of URL's |
US5761436A (en) | 1996-07-01 | 1998-06-02 | Sun Microsystems, Inc. | Method and apparatus for combining truncated hyperlinks to form a hyperlink aggregate |
US5920854A (en) | 1996-08-14 | 1999-07-06 | Infoseek Corporation | Real-time document collection search engine with phrase indexing |
US5995928A (en) | 1996-10-02 | 1999-11-30 | Speechworks International, Inc. | Method and apparatus for continuous spelling speech recognition with early identification |
JPH10141970A (ja) | 1996-11-15 | 1998-05-29 | Sanyo Electric Co Ltd | 検索装置 |
US6096096A (en) | 1996-12-13 | 2000-08-01 | Silicon Graphics, Inc. | Web-site delivery |
US5892919A (en) | 1997-06-23 | 1999-04-06 | Sun Microsystems, Inc. | Spell checking universal resource locator (URL) by comparing the URL against a cache containing entries relating incorrect URLs submitted by users to corresponding correct URLs |
US5954798A (en) | 1997-10-06 | 1999-09-21 | Ncr Corporation | Mechanism for dependably managing web synchronization and tracking operations among multiple browsers |
US6377965B1 (en) | 1997-11-07 | 2002-04-23 | Microsoft Corporation | Automatic word completion system for partially entered data |
US6041360A (en) | 1997-11-21 | 2000-03-21 | International Business Machines Corporation | Web browser support for dynamic update of bookmarks |
US6037934A (en) | 1997-11-21 | 2000-03-14 | International Business Machines Corporation | Named bookmark sets |
US6032162A (en) | 1998-01-08 | 2000-02-29 | Burke; Alexander James | System for processing and storing internet bookmark address links |
US6067565A (en) | 1998-01-15 | 2000-05-23 | Microsoft Corporation | Technique for prefetching a web page of potential future interest in lieu of continuing a current information download |
US7124129B2 (en) | 1998-03-03 | 2006-10-17 | A9.Com, Inc. | Identifying the items most relevant to a current query based on items selected in connection with similar queries |
US6125361A (en) | 1998-04-10 | 2000-09-26 | International Business Machines Corporation | Feature diffusion across hyperlinks |
US6212522B1 (en) | 1998-05-15 | 2001-04-03 | International Business Machines Corporation | Searching and conditionally serving bookmark sets based on keywords |
US6006225A (en) | 1998-06-15 | 1999-12-21 | Amazon.Com | Refining search queries by the suggestion of correlated terms from prior searches |
US6144958A (en) | 1998-07-15 | 2000-11-07 | Amazon.Com, Inc. | System and method for correcting spelling errors in search queries |
CA2244431C (en) | 1998-07-30 | 2002-02-19 | Ibm Canada Limited-Ibm Canada Limitee | Touchscreen keyboard support for multi-byte character languages |
US6278449B1 (en) | 1998-09-03 | 2001-08-21 | Sony Corporation | Apparatus and method for designating information to be retrieved over a computer network |
US20020174145A1 (en) | 1998-10-16 | 2002-11-21 | Brady Duga | Automatic data formatting using a hypertext language |
US6411948B1 (en) | 1998-12-15 | 2002-06-25 | International Business Machines Corporation | Method, system and computer program product for automatically capturing language translation and sorting information in a text class |
US6751606B1 (en) | 1998-12-23 | 2004-06-15 | Microsoft Corporation | System for enhancing a query interface |
US6801659B1 (en) * | 1999-01-04 | 2004-10-05 | Zi Technology Corporation Ltd. | Text input system for ideographic and nonideographic languages |
US7293231B1 (en) | 1999-03-18 | 2007-11-06 | British Columbia Ltd. | Data entry for personal computing devices |
EP1171813B1 (en) | 1999-03-18 | 2003-06-04 | 602531 British Columbia Ltd. | Data entry for personal computing devices |
US6631496B1 (en) | 1999-03-22 | 2003-10-07 | Nec Corporation | System for personalizing, organizing and managing web information |
US6493702B1 (en) | 1999-05-05 | 2002-12-10 | Xerox Corporation | System and method for searching and recommending documents in a collection using share bookmarks |
US7181438B1 (en) | 1999-07-21 | 2007-02-20 | Alberti Anemometer, Llc | Database access system |
US6356908B1 (en) | 1999-07-30 | 2002-03-12 | International Business Machines Corporation | Automatic web page thumbnail generation |
US6321228B1 (en) | 1999-08-31 | 2001-11-20 | Powercast Media, Inc. | Internet search system for retrieving selected results from a previous search |
US6393389B1 (en) | 1999-09-23 | 2002-05-21 | Xerox Corporation | Using ranked translation choices to obtain sequences indicating meaning of multi-token expressions |
US6546393B1 (en) | 1999-10-07 | 2003-04-08 | Clickmarks, Inc. | System method and article of manufacture for dynamically user-generated internet search directory based on prioritized server-sided user bookmarks |
US6199986B1 (en) | 1999-10-21 | 2001-03-13 | University Of Rochester | Rapid, automatic measurement of the eye's wave aberration |
JP2001166868A (ja) * | 1999-12-08 | 2001-06-22 | Matsushita Electric Ind Co Ltd | 数字キーパッドによる中国語ピンイン入力方法及び装置 |
US6546388B1 (en) | 2000-01-14 | 2003-04-08 | International Business Machines Corporation | Metadata search results ranking system |
US6704727B1 (en) | 2000-01-31 | 2004-03-09 | Overture Services, Inc. | Method and system for generating a set of search terms |
US8291007B2 (en) | 2000-02-22 | 2012-10-16 | Flash Networks Ltd | System and method to accelerate client/server interactions using predictive requests |
JP2001249933A (ja) | 2000-03-06 | 2001-09-14 | Nippon Telegr & Teleph Corp <Ntt> | 検索語入力補完方法及び装置、並びに該方法を実施するためのプログラムを格納した記録媒体 |
CA2407974A1 (en) | 2000-03-16 | 2001-09-20 | Poly Vista, Inc. | A system and method for analyzing a query and generating results and related questions |
US6564213B1 (en) | 2000-04-18 | 2003-05-13 | Amazon.Com, Inc. | Search query autocompletion |
US6876997B1 (en) | 2000-05-22 | 2005-04-05 | Overture Services, Inc. | Method and apparatus for indentifying related searches in a database search system |
US6687689B1 (en) | 2000-06-16 | 2004-02-03 | Nusuara Technologies Sdn. Bhd. | System and methods for document retrieval using natural language-based queries |
US7149970B1 (en) | 2000-06-23 | 2006-12-12 | Microsoft Corporation | Method and system for filtering and selecting from a candidate list generated by a stochastic input method |
US8706747B2 (en) | 2000-07-06 | 2014-04-22 | Google Inc. | Systems and methods for searching using queries written in a different character-set and/or language from the target pages |
EP1182581B1 (en) | 2000-08-18 | 2005-01-26 | Exalead | Searching tool and process for unified search using categories and keywords |
US6647383B1 (en) | 2000-09-01 | 2003-11-11 | Lucent Technologies Inc. | System and method for providing interactive dialogue and iterative search functions to find information |
US6598051B1 (en) | 2000-09-19 | 2003-07-22 | Altavista Company | Web page connectivity server |
US6832218B1 (en) | 2000-09-22 | 2004-12-14 | International Business Machines Corporation | System and method for associating search results |
US6735592B1 (en) | 2000-11-16 | 2004-05-11 | Discern Communications | System, method, and computer program product for a network-based content exchange system |
US20020078045A1 (en) | 2000-12-14 | 2002-06-20 | Rabindranath Dutta | System, method, and program for ranking search results using user category weighting |
US7216290B2 (en) | 2001-04-25 | 2007-05-08 | Amplify, Llc | System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources |
US20020187815A1 (en) | 2001-06-06 | 2002-12-12 | Douglas Deeds | Contact lookup by partial string entry in a communication device |
US6990494B2 (en) | 2001-07-27 | 2006-01-24 | International Business Machines Corporation | Identifying links of interest in a web page |
US6778979B2 (en) | 2001-08-13 | 2004-08-17 | Xerox Corporation | System for automatically generating queries |
US8112529B2 (en) | 2001-08-20 | 2012-02-07 | Masterobjects, Inc. | System and method for asynchronous client server session communication |
US7752326B2 (en) | 2001-08-20 | 2010-07-06 | Masterobjects, Inc. | System and method for utilizing asynchronous client server communication objects |
US6708250B2 (en) | 2001-09-28 | 2004-03-16 | Mosaid Technologies Incorporated | Circuit and method for performing variable width searches in a content addressable memory |
US7568150B2 (en) | 2001-11-29 | 2009-07-28 | International Business Machines Corporation | Apparatus and method of highlighting categorized web pages on a web server |
US7096218B2 (en) | 2002-01-14 | 2006-08-22 | International Business Machines Corporation | Search refinement graphical user interface |
JP2003223586A (ja) | 2002-01-30 | 2003-08-08 | Matsushita Electric Ind Co Ltd | 情報処理装置、url提供装置、情報処理システム、及び情報処理方法 |
US20030145087A1 (en) | 2002-01-31 | 2003-07-31 | Keller S. Brandon | Generating a list of addresses in a server |
US6864809B2 (en) * | 2002-02-28 | 2005-03-08 | Zi Technology Corporation Ltd | Korean language predictive mechanism for text entry by a user |
JP4650920B2 (ja) | 2002-04-16 | 2011-03-16 | 富士通株式会社 | 情報処理装置及び情報処理プログラム |
US7174288B2 (en) | 2002-05-08 | 2007-02-06 | Microsoft Corporation | Multi-modal entry of ideogrammatic languages |
US20030220913A1 (en) | 2002-05-24 | 2003-11-27 | International Business Machines Corporation | Techniques for personalized and adaptive search services |
US7428523B2 (en) | 2002-07-11 | 2008-09-23 | Oracle International Corporation | Portal bridge |
US7418494B2 (en) | 2002-07-25 | 2008-08-26 | Intellectual Ventures Holding 40 Llc | Method and system for background replication of data objects |
US7152059B2 (en) | 2002-08-30 | 2006-12-19 | Emergency24, Inc. | System and method for predicting additional search results of a computerized database search user based on an initial search query |
US8005919B2 (en) | 2002-11-18 | 2011-08-23 | Aol Inc. | Host-based intelligent results related to a character stream |
US7111000B2 (en) | 2003-01-06 | 2006-09-19 | Microsoft Corporation | Retrieval of structured documents |
CA2514324A1 (en) * | 2003-01-22 | 2004-08-05 | Min-Kyum Kim | Apparatus and method for inputting alphabet characters |
US20050149507A1 (en) | 2003-02-05 | 2005-07-07 | Nye Timothy G. | Systems and methods for identifying an internet resource address |
US7941762B1 (en) | 2003-02-14 | 2011-05-10 | Shoretel, Inc. | Display of real time information for selected possibilities |
US8447775B2 (en) | 2003-06-13 | 2013-05-21 | Microsoft Corporation | Database query user interface to assist in efficient and accurate query construction |
US7395203B2 (en) * | 2003-07-30 | 2008-07-01 | Tegic Communications, Inc. | System and method for disambiguating phonetic input |
US7467131B1 (en) | 2003-09-30 | 2008-12-16 | Google Inc. | Method and system for query data caching and optimization in a search engine system |
US7640232B2 (en) | 2003-10-14 | 2009-12-29 | Aol Llc | Search enhancement system with information from a selected source |
US7181447B2 (en) | 2003-12-08 | 2007-02-20 | Iac Search And Media, Inc. | Methods and systems for conceptually organizing and presenting information |
US7890526B1 (en) | 2003-12-30 | 2011-02-15 | Microsoft Corporation | Incremental query refinement |
US7158966B2 (en) | 2004-03-09 | 2007-01-02 | Microsoft Corporation | User intent discovery |
US7254774B2 (en) | 2004-03-16 | 2007-08-07 | Microsoft Corporation | Systems and methods for improved spell checking |
US7587324B2 (en) | 2004-03-30 | 2009-09-08 | Sap Ag | Methods and systems for detecting user satisfaction |
US20050256846A1 (en) | 2004-05-12 | 2005-11-17 | Microsoft Corporation | Interactive client-server data search |
US7487145B1 (en) | 2004-06-22 | 2009-02-03 | Google Inc. | Method and system for autocompletion using ranked results |
US7836044B2 (en) | 2004-06-22 | 2010-11-16 | Google Inc. | Anticipated query generation and processing in a search engine |
WO2006010114A2 (en) | 2004-07-09 | 2006-01-26 | Aol Llc | Disambiguating ambiguous characters |
US20060195435A1 (en) | 2005-02-28 | 2006-08-31 | Microsoft Corporation | System and method for providing query assistance |
US20060224871A1 (en) | 2005-03-31 | 2006-10-05 | Texas Instruments Incorporated | Wide branch target buffer |
US7647312B2 (en) | 2005-05-12 | 2010-01-12 | Microsoft Corporation | System and method for automatic generation of suggested inline search terms |
US8832055B1 (en) | 2005-06-16 | 2014-09-09 | Gere Dev. Applications, LLC | Auto-refinement of search results based on monitored search activities of users |
US7979417B1 (en) | 2005-06-30 | 2011-07-12 | Google Inc. | Embedded communication of link information |
US7672932B2 (en) | 2005-08-24 | 2010-03-02 | Yahoo! Inc. | Speculative search result based on a not-yet-submitted search query |
US7747639B2 (en) | 2005-08-24 | 2010-06-29 | Yahoo! Inc. | Alternative search query prediction |
US7516124B2 (en) | 2005-12-20 | 2009-04-07 | Yahoo! Inc. | Interactive search engine |
KR20070024771A (ko) | 2005-08-30 | 2007-03-08 | 엔에이치엔(주) | 질의어 자동변환을 이용한 자동완성 질의어 제공 시스템 및방법 |
KR100643801B1 (ko) | 2005-10-26 | 2006-11-10 | 엔에이치엔(주) | 복수의 언어를 연동하는 자동완성 추천어 제공 시스템 및방법 |
US7689540B2 (en) | 2006-05-09 | 2010-03-30 | Aol Llc | Collaborative user query refinement |
US8395586B2 (en) * | 2006-06-30 | 2013-03-12 | Research In Motion Limited | Method of learning a context of a segment of text, and associated handheld electronic device |
US7660815B1 (en) | 2006-06-30 | 2010-02-09 | Amazon Technologies, Inc. | Method and system for occurrence frequency-based scaling of navigation path weights among online content sources |
US7716201B2 (en) | 2006-08-10 | 2010-05-11 | Yahoo! Inc. | Method and apparatus for reconstructing a search query |
US20080201227A1 (en) | 2006-11-07 | 2008-08-21 | Lucia Urban Bakewell | Interactive, Internet-based, trip planning, travel resource, travel community, virtual travel, travel-based education, travel-related gaming and virtual/live tour system, methods, and processes, emphasizing a user's ability to tailor complete travel, trip, route, game and touring choices to unique user-specified personal interests, preferences, and special requirements for self and companions |
US8069028B2 (en) * | 2006-11-10 | 2011-11-29 | Research In Motion Limited | Handheld electronic device having selectable language indicator for language selection and method therefor |
US8312032B2 (en) * | 2008-07-10 | 2012-11-13 | Google Inc. | Dictionary suggestions for partial user entries |
-
2010
- 2010-06-03 US US13/376,364 patent/US8996550B2/en active Active
- 2010-06-03 CN CN2010800326966A patent/CN102483752A/zh active Pending
- 2010-06-03 WO PCT/CN2010/073498 patent/WO2010139277A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1641546A (zh) * | 2004-01-09 | 2005-07-20 | 顺德市顺达电脑厂有限公司 | 网址输入方法 |
WO2006055120A2 (en) * | 2004-11-12 | 2006-05-26 | Google, Inc. | Method and system for autocompletion for languages having ideographs and phonetic characters |
WO2009021204A2 (en) * | 2007-08-09 | 2009-02-12 | Google Inc. | Autocompletion and automatic input method correction for partially entered search query |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733759A (zh) * | 2017-04-25 | 2018-11-02 | 松下知识产权经营株式会社 | 单词扩展方法、单词扩展装置以及程序 |
Also Published As
Publication number | Publication date |
---|---|
WO2010139277A1 (en) | 2010-12-09 |
US20120166182A1 (en) | 2012-06-28 |
US8996550B2 (en) | 2015-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102483752A (zh) | 用于部分输入的查询的自动完成 | |
CN101816000B (zh) | 用于部分输入的搜索查询的自动完成和自动输入法校正 | |
CN106959994B (zh) | 服务器侧的匹配 | |
CN102622450B (zh) | 用户的浏览器历史的相关性排序 | |
CN101194256B (zh) | 具有表意文字和音标字符的语言的自动输入完成的方法和*** | |
KR101052631B1 (ko) | 동시 발생빈도를 이용한 검색어에 대한 연관어 제공 방법 및 이를 이용한 장치 | |
CN107408107B (zh) | 文本预测整合 | |
KR101613967B1 (ko) | 부분 사용자 엔트리들에 대한 사전 제안들 | |
CA2633959C (en) | Mobile device retrieval and navigation | |
CN101390042B (zh) | 消除模糊字符的歧义 | |
CN101118555A (zh) | 关键词的联想信息生成***和生成方法 | |
US20010049676A1 (en) | Method and system for retrieving data from multiple data sources using a search routing database | |
CN101501610A (zh) | 非标准的基于位置的文本输入 | |
JP2001522073A (ja) | ネットワーク上の情報へのアクセス方法及びシステム | |
US10467536B1 (en) | Domain name generation and ranking | |
US9787634B1 (en) | Suggesting domain names based on recognized user patterns | |
CN102063194A (zh) | 用于供用户进行文字输入的方法、设备、服务器和*** | |
US20080059428A1 (en) | Automatic completion with LDAP | |
CN102819384A (zh) | 一种输入栏处进行提示显示的方法和装置 | |
CN102915312A (zh) | 网站中的信息发布方法和*** | |
US20090144280A1 (en) | Electronic multilingual business information database system | |
CN1922606A (zh) | 用于面向用户的互联网导航的动态关键字处理***和方法 | |
US20180024987A1 (en) | A Method For Suggesting One Or More Multi-Word Candidates Based On An Input String Received At An Electronic Device | |
Egilmez | Unlocking Insights from Multilingual Parliamentary Data: A Search Engine for In-depth Analysis and Research | |
CN114328582A (zh) | 一种查询方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1170822 Country of ref document: HK |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120530 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1170822 Country of ref document: HK |