具有表意文字和音标字符的语言的自动输入完成的方法和系统的制作方法

文档序号:6553555阅读:207来源:国知局
专利名称:具有表意文字和音标字符的语言的自动输入完成的方法和系统的制作方法
技术领域
本发明一般地涉及用于在计算机网络(例如计算机系统的分布式 系统)中定位文档的搜索引擎的领域,以及特别涉及通过在包括非音 标字符的语言中预测用户查询来加速期望搜索的系统和方法。
背景技术
搜索引擎提供了一种强有力的工具,可在大的文档数据库、比如
万维网(WWW)的文档或存储在企业内部网的各计算机中的文档中定
位某些文档。响应于用户所提交的搜索查询来进行定位这些文档。一
个搜索查询可包括一个或多个搜索词项(search term)。
在一种输入査询的方式中,用户通过添加相继的搜索词项直到输 入所有搜索词项来输入査询。 一旦用户明确表示已经输入了该査询的 所有搜索词项,该査询就被发送给搜索引擎。用户可通过可替换的方 法,例如通过按下键盘上的回车键或点击图形用户界面上的"搜索" 按钮来输入回车字符,从而告知査询输入完成。 一旦查询被搜索引擎 接收,搜索引擎处理该搜索查询,响应于该搜索查询来搜索文档,并 且将文档列表返回给用户。
在主要不是基于字母书写系统的语言中,通常要从键盘输入字符 序列来建立查询的语言成分。按这种方式输入查询是非常耗时间的。
因为典型情况下直到用户已经告知査询输入完成时,该査询才被 发送到搜索引擎,在用户完成整个搜索查询输入的时候,时间在流逝。 因此需要一种加速该过程的系统和方法。

发明内容
在一个实施例中, 一种为具有表意文字和音标字符的语言建议查 询输入完成的方法包括从搜索査询者接收部分查询。该部分査询是完 整查询的一部分。预测查询集被预测,其包括至少一个字符串,所述 字符串具有根据一种分级标准来排序的一个或多个表意文字。该经排 序的预测查询集被传送到搜索査询者。
搜索查询者可从该排序的预测查询集中选择相应的査询并随后指 示查询输入完成。搜索引擎处理该查询来产生一组搜索结果。作为替 换,搜索查询者可继续输入查询信息直到输入了完整查询,或者直到 新的预测查询集被传输并提供给搜索査询者。


本发明的上述实施例和其它实施例将通过对本发明结合附图的以
下各个方面的详细描述的变得清楚易懂。在所有附图中对相应的部分
采用相同的附图标记。其中-
图l描述了根据本发明一些实施例用于预测査询的过程;
图2描述了根据本发明一些实施例的搜索系统的框图3描述了根据本发明一些实施例的搜索助手中的过程;
图4描述了根据本发明一些实施例用于接收查询输入和建立对该
査询的响应的过程;
图5描述了根据本发明一些实施例的与建立和使用指纹-表映射相
关联的信息流图6描述了根据本发明一些实施例的输入字符串的相关性的例子;
图7描述了根据本发明一些实施例用于处理历史查询的过程;
图8描述了根据本发明一些实施例用于处理历史查询的示例表的
一部分;
图9描述了根据本发明一些实施例的与使用后缀的査询完成表相 关联的数据结构;
图10描述了根据本发明一些实施例的示例査询完成表的一部分;
图11描述了根据本发明一些实施例的示例屏幕快照;
图12描述了适用于实施本发明一些实施例的搜索引擎;
图13描述了适用于实施本发明一些实施例的客户机;
图14描述了根据本发明一些实施例的用于处理包括表意文字和音
标字符的历史查询的过程;
图15描述了根据本发明一些实施例的用于所选择表意文字的多个
音标表不;
图16描述了根据本发明一些实施例的包括音标字符和表意文字的 示例査询完成表的一部分。
具体实施例方式
在本发明的一个实施例中,在用户完成输入完整查询之前,用户 查询的一部分被传输给搜索引擎。搜索引擎使用所传输的部分查询来 预测用户的最终査询。这些预测被传送给用户。如果其中一个预测是 用户想要的查询,那么用户可选择该预测的査询,而无需继续完成査 询的输入。在一些实施例中,所选择的査询被传输到搜索引擎,搜索 引擎返回与所选择査询相对应的一组查询结果。
图1说明了包括客户机系统104和搜索引擎106的本发明的一个 示例实施例。当用户输入搜索查询时,用户的输入被客户机系统监视 (108)。在用户通知搜索查询输入完成之前,用户查询的一部分从客 户机系统104被发送到搜索引擎106 (110)。该部分查询可以是少量 字符、搜索词项或不止一个搜索词项。在一些实施例中,部分输入是 采用内容定位标识符的形式,通常被称为统一资源定位符(URL), 比如在由因特网工程特别工作组(Internet Engineering Task Force)发 布的RFC 1738中所描述的,可被用于在计算机和计算机网络中识别资 源。URL还可被用于识别在计算机上本地可用的资源,比如文档、文 件夹或服务。在此使用的术语"URL"意味着任一形式的内容定位标 识符,包括但是不限于因特网地址、符合RFC 1738的地址以及文件路 径名比如在很多计算机系统和局域网中使用的。搜索引擎108接收部分査询来处理(112)并且对用户想要的完整查询进行预测(或URL) (114)。根据一个分级标准来排序预测。例如,在一些实施例中具有 较高提交频率的查询被排在具有较低提交频率的查询之前。搜索引擎 106使用多个查询完成表(将在以下详细描述)来协助得到排序的预测。 使用搜索引擎106所接收的以前输入的搜索査询来建立查询完成表。 在一些实施例中,以前的查询包括来自用户群体的搜索查询。预测的 査询被发送回到客户机系统106 (116)并且随后呈现给用户(118)。 如果其中一个预测查询是用户想要的查询,用户可选择该预测查询并
继续,而不必完成输入该想要的査询。如果预测查询没有反映出用户 所想,那么用户可接着输入想要的搜索查询。
图2说明了根据本发明一些实施例的搜索系统200并且示出了各 个功能组件,在下面的详细讨论中将参考图中内容。搜索系统200可 包括一个或多个客户机系统202。每个客户机系统202具有搜索助手 204。客户机系统202被连接到通信网络206。通信网络206将客户机 器系统202连接到搜索引擎208。搜索引擎20S包括连接到通信网络 206的査询服务器210、预测服务器212和查询处理控制器214。
査询服务器210包括客户机通信模块216、查询接收、处理和响应 模块218、部分查询接收、处理和响应模块220、用户信息处理模块222 和查询日志224,它们都彼此相连。在一些实施例中,更少和/或另外 的模块和功能被包括在查询服务器210中。图2所示的作为査询服务 器210 —部分的模块表示在示例实施例中执行的功能。预测服务器212 与部分査询接收、处理和响应模块220、排序集建立器242和查询日志 224相连接。排序集建立器242根据査询日志和URL请求来建立多个 排序的预测查询集,并且与查询日志224连接。在一些实施例中,排 序集建立器242还与URL数据库225耦合,并且在一些实施例中它还 与语言词典244耦合。语言词典244可提供关于某些语言成分的信息, 比如用于各种字符语言成分的音标表示,并提供相关单词和概念给査 询或查询词项。在一些实施例中,排序集建立器242和语言词典244
是预测服务器212的一部分。在这种实施例中,预测服务器212直接 与查询日志224和URL数据库225相连。
查询处理控制器214与倒排文档索引228、文本数据库230、査询 缓存232和URL数据库225相连。缓存232可包括索引234,其功能 是在缓存结果236中定位条目。缓存结果236可包括用于已识别查询 238的缓存条目以及用于预期査询240的缓存条目。倒排文档索引228 和文档数据库230有时被共同称为文档数据库。在一些实施例中,"搜 索文档数据库"意味着搜索倒排文档索引228来识别与特定搜索查询 或词项匹配的文档。
尽管在图中示出的是离散的模块,图2的目的在于作为本发明实 施例的功能描述而不是功能部件的结构映射。本领域技术人员将认识 到实际实施方式会将多个功能聚集或将多个部件分开。例如,査询曰 志224可以与查询服务器210分离。在一些实施例中查询日志224可 存储在其主要功能是存储和处理查询日志信息的一个或多个服务器 中。类似的,URL数据库225可以被存储在其主要目的是存储和处理 有关已知URL的信息的一个或多个服务器上。
图3说明了将被实施在客户机系统202 (图2)的搜索助手204中 的本发明的实施例。搜索助手204监视在客户机系统104上的搜索査 询的用户输入(302)。在一些实施例中,搜索助手204监视统一资源 定位符(URL)输入字符串的用户输入,比如在浏览器窗口的地址栏 中。用户可通过多种方式包括浏览器窗口、搜索工具或任何其它输入 机构来输入搜索查询或URL。搜索助手204可识别两个不同情景。首 先,当用户已经指示输入字符串完成或选择了一个所提供的预测时, 搜索助手204接收或识别最终输入(302-最终输入)。第二,当在用户 指示输入字符串完成之前输入被识别时(如下所述),搜索助手204 接收或识别部分输入(302-部分输入)。在第三中可选的场景中(将在 以下更详细描述),搜索助手204在一个规定时间段内确定或接收用
户没有选择预测之一的通知。
当最终输入或选择(302-最终输入)被识别为搜索査询时,输入
被传输到搜索引擎208 (304)用于处理。搜索引擎208返回一组搜索 结果,其由搜索助手204或客户机应用程序比如浏览器应用程序接收
(306)。搜索结果的列表被呈现给用户使得用户可选择一个文档用于 进一步的检査(例如视觉的或听觉的)。当最终输入是URL时,请求 被传输到适当的文档主机(304),并且如果可用的话,文档被返回
(306)。在接收响应之后(306),用户的输入活动再次被监视(302)。 在一些实施例中,URL请求被发送到搜索引擎208用于记录到日志, 并且该请求被重新定向到合适的文档主机。
最终输入可由搜索助手204通过多种方式来识别,比如当用户输 入回车或等同字符、在搜索查询的输入期间在呈现给用户的图形用户 界面(GUI)上选择搜索按钮、或可能在搜索查询的输入期间从呈现给 用户的可能查询集中选择一个。本领域技术人员将认识到有多种方式 来通知搜索查询的最终输入。
在用户通知最终输入之前,可识别部分输入(302-部分输入)。 部分输入可通过多种方式识别。对于搜索查询,部分输入包括搜索査 询的单个搜索词项、多个搜索词项或搜索词项的预定数量的字符。
在一些实施例中,可通过检测分隔符或其它字符的输入(例如但 不限于引号、句号、括号、斜杠、箭头按键检测或tab输入)来识别部 分输入。分隔字符的输入可指示用户已经完成了想要词项或输入一部 分的输入,并且将进行到下一个搜索词项或部分。
在一些实施例中,可通过检测预定数量字符的条目来识别部分输 入。在这些实施例中,输入包含若干字符,虽然少于全部输入但是仍 然可以用于在用户输入全部字符之前识别部分输入。在例如当搜索词
项或URL包含大量字符或者当预定数量的字符足够大能形成有用的预 测时,希望采用这种技术。
在一些实施例中,可通过在一段时间内检测输入字符的不出现来 识别部分输入,不出现表示用户的停顿。停顿意味着用户已经输入一 个搜索词项或整个字符串的部分但是没有输入空格键(或其它分隔字 符)来开始输入另一个词项,或者意味着搜索查询实际上是完整的但 是用户还没有发出通知。
不管部分输入是通过什么方式来识别,其被传输到搜索引擎208 (308)用于处理。响应于部分搜索査询,搜索引擎208返回排序的预 测搜索查询和/或URL (310)的集合,根据某种分级标准排序并呈现 给用户(312)。预测可以通过多种方式显示给用户。例如,预测可以 在下拉窗口、持久或非持久窗口或其它方式显示。在一些实施例中, 用户先前提交的査询可以被可视地指示给用户(例如通过高亮显示用 户自己先前输入的查询)。
在一些实施例中,预测的搜索请求根据用户群体的提交频率来排 序。在一些实施例中,搜索查询至少部分地根据査询被提交的最晚时 间/日期值来排序。在一些实施例中,搜索查询根据个人信息比如用户 个人信息或群体信息来排序。例如用户个人信息可包括关于用户感兴 趣的信息的主题、概念或类型信息。用户个人信息可由用户直接提供, 或可从在用户许可时从用户先前的搜索或浏览活动中推断,或可至少 部分基于关于与用户相关联或用户所属(例如作为成员或雇员)的组 群的信息。该预测搜索査询集可最初根据第一分级标准比如预定通行 标准来最初排序,并且随后如果任何一个预测搜索查询与用户的用户 个人信息匹配时重新排序,从而将匹配的预测搜索查询置于或更接近 排序预测搜索査询集的顶部。
本领域技术人员将认识到可有多种方式将预测搜索查询和/或URL呈现给用户。例如,预测搜索査询和/或URL可被呈现在下拉菜 单中。不管预测查询和/或URL是通过何种方式呈现给用户,如果用户 确定预测之一与想要的输入匹配时,用户可选择查询和/或URL之一。 在一些例子中,预测可将用户没有考虑的附加信息提供给用户。例如, 用户在脑子里有一个査询作为搜索策略的一部分,但是通过查看预测 结果可使得用户改变输入策略。 一旦该预测集被呈现(312),用户的 输入再次被监视。如果用户选择了预测之一 (302-最终),该请求被作 为搜索请求传输到搜索引擎208或如果可用,作为URL请求传输到资 源主机(304)。在该请求被传输之后,用户的输入活动被再次监视 (302)。如上所述,在一些实施例中,URL请求被传输到搜索引擎 208用于日志目的。
另一方面,如果用户在一个特定时间段内没有选择预测之一,那 么有可能用户在最初返回的预测中没有找到满意的预测。例如,用户 想要的输入没有足够高的分级值,因此没有被包括在该排序的预测集 中。这样,在一些优选实施例中,如果用户在一个特定时间段(例如5 或10秒)内没有选择预测之一 (302-到期),那么请求被发送到搜索 引擎208用于另一预测集(318)。随后该预测集可包括具有比先前提 交的那个集更低的分级值。可替换的,第二组标准可被用于在第二集 中识别预测,其中第二组标准不同于被用于选择和分级第一预测集的 第一组标准。例如,两组之一可使用考虑有关请求者个人信息的选择 标准,而另一组不考虑。在一些优选实施例中,其它触发器可被用于 请求一组或多组随后的预测。例如,用户发起的活动(例如按下"tab" 键、箭头键、功能键等)可引起对于后续集的请求。在一些实施例中, 与搜索请求者相关联的信息被保持在服务器中用于识别哪些预测结果 已经被传送到搜索请求者。在一些实施例中,客户机可在请求中包括 对于随后请求的信息,其指示哪些结果已经被传送到搜索请求者。在 一个这种实施例中预测服务器212使用该信息从随后预测的结果中排 除所有先前预测的结果或者先前预测结果的子集。在另一种实施例中, 只要预测服务器212能够识别与请求者的部分请求匹配的附加预测结
果,关于先前预测结果的信息被预测服务器212用来产生另外的或不 同的结果。在一些实施例中,触发随后一个预测集使得使用搜索请求 者的查询作出的预测被本地存储,而在其它实施例中随后一个预测集 包括基于用户群体的历史查询产生的预测,以及如果有的话,则包括 与请求者的部分查询匹配的搜索请求者的历史搜索查询。
在一些实施例中, 一个或多个预测结果集在客户机本地缓存。当 搜索请求者修改当前査询来反映较早的部分输入(例如通过后退键
(backspace)来删除一些字符),与较早部分输入相关联的该预测集 结果从客户机缓存中被重新获得,并且代替被发送到搜索引擎的部分 输入被再次呈现给用户。
在一些实施例中,搜索引擎208可优选返回预测结果(320)。该 活动可与接收预测(310)重叠并且由图3的虚线320指示。预测结果 被呈现(320)并且恢复对用户的监视(302)。对用户的呈现可通过 多种方式完成。例如,结果可在非持久窗口的一部分、弹出窗口或在 当前显示器的一部分或用户界面的一部分显示。用于输入查询以及用 于呈现预测结果的网页可包括JavaScript或其它嵌入码或指令来提供预 测结果的显示并响应用户对于任一预测结果的选择。其它方式也是可 以想到的。预测结果对应于可基于作为一个或多个预测查询或URL的 请求被返回的文档或信息。在一些实施例中,预测结果包括在对应于 预测结果的一个或多个位置的内容文本摘录。在一些实施例中,预测 结果包括一个或多个网页的一个或多个縮略图或在对应于预测结果的 一个或多个位置的其它文本。在一些实施例中,结果是基于一个或多 个预测查询的搜索结果。例如,在一些实施例中,呈现的结果(320) 可以是与一个或多个预测查询或预测URL相关的一个或多个文档。因 此,可在用户完成输入请求(例如搜索请求或URL请求)之前把与想 要请求匹配的预测结果呈现给用户。在这种情况下,用户观看的处理 等待时间被有效减小为零,因为用户无需完成输入就获得想要的结果。
图4说明了当根据本发明一些实施例接收输入时搜索引擎208中
发生的活动。搜索引擎208接收输入并确定该输入是否指示了是最终 输入还是部分输入(402)。如果搜索引擎208确定接收的输入是最终 输入(402-最终査询),则确定关于该查询的相关搜索结果是否存在于 缓存203中(404)。如果相关搜索结果在缓存232中(404-是),那 么这些结果被返回到客户机104 (406)。另一方面,如果搜索结果没 有在缓存中(404-否),那么获得关于查询的搜索结果(408),并且 随后返回到客户机104 (406)。在一些实施例中, 一些URL在完成时 不由搜索引擎208接收,而由搜索助手发送该请求到资源主机。在一 些实施例中,URL请求由搜索引擎208接收用于追踪目的(比如存储 在URL数据库中)并且搜索引擎208将该请求重定向到资源主机。
如果搜索引擎208确定接收的输入是部分输入(402-部分),那 么其确定对应于该部分输入的排序匹配集(410),并且将该预测集传 输到客户机104 (412)。如下所述,在一些实施例中,发送到客户机 104的该排序匹配集是多个预计算的排序匹配集之一。尽管以下操作根 据部分査询来描述,同样的技术对于URL的部分输入也同样可用。在 一些实施例中,返回的该排序匹配集仅与查询相关。在一些实施例中, 该排序匹配集仅与URL相关。以及在一些实施例中,该排序匹配集与 查询和URL都相关。
为了帮助理解根据一些实施例的搜索引擎208怎样确定返回哪一 排序匹配集,从描述怎样建立和使用这些排序集来开始是有帮助的。 图5示出了与用于预测对应于部分输入查询的预测查询的历史查询(例 如先前提交的査询)相关联的一组数据结构。搜索引擎或用户输入预 测系统还可包括与用于预测对应于部分输入URL的预测URL的历史 URL (例如先前提交的URL)相关联的一组类似的数据结构。
参考图5,历史查询日志502被一个或多个过滤器504过滤来建立 认可历史查询列表506。排序集建立器508依照认可历史查询列表506
基于某个标准来建立一个或多个指纹-表映射510。当部分查询被传输
时(图3, 308),其在搜索引擎208作为部分查询513接收。一个散 列函数514被应用到部分査询513来建立指纹,即一个b位二进制值 (例如一个64位数)。为该指纹(例如515)搜索一个可应用的指纹-表映射510 (例如510-1)来识别与该指纹相关联的査询完成表516。 査询完成表516提供与该部分査询513相关的预测查询的一个排序集。
一个可用的指纹-表映射510可根据与用户或请求相关联的多个不 同因素来选择。被用于选择可用指纹-表映射510的信息可来自用户或 搜索助手204提供的档案(profile)信息、从请求本身收集的信息(例 如语言)、与用户信息处理模块222中的用户相关联的信息或其它来 源。例如,指纹-表映射可基于与用户或搜索请求者相关联的某个连接 信息(例如设备类型、连接速度、连接类型等等)来选择。在一些实 施例中,预测的数量或每个査询预测的长度是依赖于这些连接信息的。 具有小用户界面的设备可接收较少数量的预测和/或具有较少数量词项 的査询。查询词项可具有与其相关联的重要性因子,并且具有较低重 要性因子的词项可先于具有较高重要性因子的词项从査询中被截去。 在一些实施例中,指纹-表映射510的不同组可被用于各个种类的用户, 从而提供根据与用户相关联的一个或多个种类或主题而有所偏重的预 测结果。例如,从特定网站接收的部分搜索查询可通过使用从相同网 站或者从一组被认为与特定网站类似的网站中接收的历史查询所产生 的一组指纹-表映射来被映射到预测结果。类似的,在他/她许可的情况 下,单独的用户可具有用户档案,用于说明关于用户或与用户相关联 的组群的信息,并且该"个人信息"可被用于当为该用户预测结果时 识别为该用户识别各个组的指纹-表映射。应注意的是,与增加多组指 纹-表映射510相关联的开销是适度的,因为多组指纹到表映射510可 以指向一些查询完成表516,并且查询完成表516比指纹-表映射516 占据更多的存储空间。
在一些实施例中,在指纹被建立之前对部分査询进行一些预处理。
在一个实施例中,识别部分查询中明显拼错的单词并且通过比较一个 或多个完整搜索词项与词典中的条目来校正。来自包括正确拼写单词 的査询的一个或多个预测结果与返回到用户的预测结果合并。在另一 个例子中,普通的前缀信息可被去除(例如"http:〃"或者"WWW.")。 在一些实施例中,分析查询中的词项来提取体现在搜索词项中指示信 息特定类型的概念(例如"技术","食物","音乐"或"动物")。 来自与一个或多个提取的概念相关的査询的一个或多个预测结果与返 回到用户的预测结果合并。
历史查询日志502包含搜索引擎208在一段时间内接收的先前提 交的査询的日志。在一些实施例中,查询是来自特定用户的。在一些 实施例中,查询是来自共享至少一个类似特征比如属于相同公司、使 用相同语言、具有与相同国家或地区相关联的因特网地址等等的用户 群体。对群体的选择确定了先前提交查询的集合,从中可提取预测。 不同的群体将会产生不同的预测集。
历史查询日志502还可包含与每个提交查询相关联的信息。在一 些实施例中,查询信息包括查询提交或接收的日期和时间。在一些实 施例中,查询信息包括查询被提交的地址的网际协议(IP)地址。在一 些实施例中,查询信息包含对于查询的唯一源标志符(例如来自存储 在用户机器上的cookie的值,该值与特定搜索助手204相关联)。当
唯一标识符没有直接识别任何特定用户时,其可以与浏览器或工具栏 的特定安装相关联。在一些实施例中,用户可允许用对某些个人特征 的唯一标识符来直接识别,该特征可以使用用户信息处理模块222来 存取。 在一些实施例中,指纹值与查询相关联。指纹值可通过对查询字 符串应用散列函数来计算。在一些实施例中,其它类型的元数据与査 询相关联并被存储,比如查询语言或可由用户或搜索助手根据用户喜 好提供的其它信息(例如指示用户的某些喜好的标识符或档案信息)。
在一些实施例中,元信息包括从分析查询中的词项获得的类型或概念 信息。对査询做日志的时间段是可变的,并且表现了存储容量于预测 的可能准确度之间的折中。更长的时间段将更精确地反映在整个群体 上的查询的流行性,然而这需要更大的存储空间。另一方面,在长时 间段上的流行性分级可能不会反映对于当前事件的暂时的流行性。
使用一个或多个过滤器504来确定被认可做进一步处理的查询。 例如,过滤器可基于各种标准来去除某些査询。在一些实施例中,私
密性过滤器504防止那些没有从多于某个数量的可唯一识别提交者接 收的查询被包括在认可历史查询列表506中。这可通过检查与每个查
询相关联的唯一标识符来完成(如果该标识符存在),并且仅识别已
经被至少n个可唯一识别提交者提交的那些査询,其中n是基于私密 性考虑的数字(例如三个或四个可唯一识别提交者)。在一些实施例 中,过滤器504包括去除不经常被提交的查询,因不大可能被用户选 择。在一些实施例中,过滤器504包括适当性过滤器504,其基于多个 不同因素比如査询中一个或多个特定关键字的存在,和/或基于对应于 査询的搜索结果或文档的内容来从内部阻止某些査询。其它类型的过 滤器也可容易地想到。例如,过滤器可以阻止在一个特定历史时间点 之前提交的查询,使得认可历史查询列表506表示最近提交的查询。 哪些被认为是最近的,要基于具体实施例(例如根据时、日、周、月 或年)。在另一个例子中,反欺骗过滤器504可被用于防止查询/URL 预测系统被大量虚假产生的查询或URL提交而欺骗。例如,反欺骗过 滤器504可过滤从相同用户或从相同客户计算机接收的相同查询或 URL的多个提交。
在历史查询日志502被一个或多个过滤器504过滤后,则产生认 可历史查询列表506,即易于被返回到用户作为建议查询输入完成的查 询列表。认可历史查询列表506包括历史查询506-1到历史查询506-q, 其中q表示包括在认可历史查询列表506中的査询数量。q的值可等于 或小于从历史查询日志502中过滤的查询的总数量。例如,具有小于
预定阈值的频率的过滤查询可被忽略。在一些实施例中,新的认可历 史查询列表506被定期建立,比如每小时、每天、每周或其它周期。
在一些实施例中,当前认可历史査询列表506在可用过滤后根据査询 日志224的最近输入来更新。
认可历史查询列表506中的每个査询(例如506-1)包括查询、其 频率以及可选的元信息。查询可以是一个字符串。频率信息指示在一 个时间段内该查询被提交的次数。如上所述,唯一标识符可被用于对 可唯一识别搜索者提交的查询的次数进行计数。因为不同的用户可使 用多个搜索助手或其它査询可不包括唯一标识符,频率数量可不表示 可唯一识别用户提交搜索查询的实际数量。但是,査询的频率可作为 查询的流行性的代理。在一些实施例中,认可历史查询列表506基于 査询按字母排序。在其它实施例中,认可历史查询列表506基于査询 频率来排序。
元信息可包括类似于以上讨论的关于历史查询日志502的元信息 (例如位置或语言信息)。在一些例子中,相同的査询可在历史查询 日志502中具有条目,它们不是查询的字符串不同,而是元信息不同。 因此,对于特定认可历史査询506-1的元信息可对于相同查询指示不同 的元信息。例如,对于从两个不同位置提交的查询的元信息,比如欧 洲或亚洲,将指出这两个位置作为査询的源位置。元信息还指示用户 档案信息来指示用户已经提交的査询的类型。本领域技术人员能够理 解,各种类型的元信息可被用于分类或分组由共同的特征集(例如语 言或位置)关联的查询。在一些实施例中,査询被分析并且与信息的 某些类型相关联。例如,包括"狗"和"饲养"的搜索查询被与"狗" 或"动物"类型相关联。在一些实施例中的元信息包含这种类型信息。 在一些实施例中,对于认可历史查询列表506中的单独条目的元信息 从多个查询中产生,例如通过提供査询的日期/时间作为查询被提交的 最近的日期/时间。
排序集建立器508使用认可历史查询列表506来建立一组指纹-表 映射510-1到510-t,其中t表示建立的指纹-表映射510的数量。任意 数量的指纹-表映射510可基于期望用于分类预测查询的方式的数量来 建立。每个指纹-表映射510包含经排序的预测集,每一预测集映射到 特定的部分查询。指纹-表映射510基于比如在元信息中找到的信息的 特征而不同。例如,对于每种语言可以有一个指纹-表映射510 (例如 一个用于英语查询, 一个用于法语查询, 一个用于日语查询)。类似 的,可为地区建立不同的指纹-表映射510。作为另一个例子,不同的 指纹-表映射510可以从来自特定IP地址或地址群的查询建立,比如来 自特定网络或特定个体群的那些(例如公司)。使用元信息来建立不 同的指纹-表映射510,使得预测基于具有类似于搜索者的特征的各用 户,并且增加正确预测的可能性。在一些实施例中,不同的指纹-表映 射510基于用于査询的不同分级标准(例如频率、最近日期/时间、个 人类型或特征等等)。在一些实施例中,不同的指纹-表映射510基于 用户输入的类型(例如查询字符串或URL)。
使用指纹-表映射510-1作为例子,每个指纹-表映射510包括多个 条目512-1到512-f,其中f表示指纹-表映射510-1中的条目数量。在 任何特定指纹到表映射510中的条目数量基于预测服务器212将为其 返回预测的不同部分查询的数量。
指纹-表映射510-1中的每个条目(例如512-2)包括指纹(例如指 纹(2) 515)以及査询完成表(例如查询完成表(2) 516)。指纹-表 映射510用于将指纹(例如指纹(2) 515)与查询完成表(例如查询 完成表(2) 516)相关联。
指纹(2) 515表示用于特定查询的指纹值。指纹(2) 515可例如 通过对部分查询应用散列函数建立b位二进制值(例如64位数)来计 算。因此,可对与部分查询513的指纹(例如指纹5151)匹配的指纹 搜索指纹-表映射510-1。
查询完成表(2) 516包含查询完成指纹518-1到518-n的列表, 其中n表示在査询完成表(2) 516中的查询完成指纹的数量。在一些 实施例中,n表示返回到搜索助手的预测查询的数量(例如IO个预测 查询)。在其它实施例中,返回小于n个。在一些实施例中,n大于在 排序査询中被返回的结果的数量。在一些实施例中,n是被返回的结果 的两倍,并且第一 n/2个被提供作为第一排序预测査询集以及第二 n/2 个被提供作为第二排序预测查询集(例如基于某些条件,第二集中10 个预测査询在第一集中IO个之后发送)。在一些实施例中,査询完成 表516包括用于每个查询完成指纹518的分数。该分数用于在查询完 成表516中按分数的降序对词项排序。在一些实施例中,分数是査询 完成表的持久部分,而在其它实施例中分数被删除或在查询完成表516 的形成完成后不再保持。
每个査询完成指纹518是与完整查询相关联的指纹值。查询完成 指纹518 (例如518-2)被映射到相关联的査询记录520。查询记录520 包括查询字符串522,其包含用于完整査询的查询字符串。该方式便于 多个査询完成表512中的条目参考相同的査询字符串522,而仅要求实 际査询字符串被存储在单一的位置(例如查询字符串522)中。然而在 一些实施例中,查询字符串522可被存储在查询完成表512中的查询 完成指纹518的位置。在一些实施例中,用于URL字符串的查询记录 包括表示与URL相关联的标题的URL标题524。在一些实施例中,与 URL相关联的附加信息被提供在信息526中。
在一些实施例中,查询完成表512-2是关于与指纹515相关联的 部分查询的n个查询的排序列表。该列表可根据各种分级标准排序, 比如(频率、提交的日期/时间等等)。在一些实施例中,分级标准可 考虑两个或多个因素,比如同时考虑频率和提交的日期/时间,通过为 每个查询考虑两个或多个因素中的每个而产生分数或分级。在简单的 例子中,其日期/时间大于过去的24小时的历史查询可对査询的分级分
数贡献一个"1"的值,而其日期/时间在过去24小时之内的历史查询
可对查询的分级分数贡献一个"2"的值。在该例子中,在确定每个认
可历史査询的分级时,近期的历史査询比较早的历史查询被更高地加 权。
在一些实施例中,排序集建立器506定期地(例如每小时、每天、 每周)建立或更新指纹-表映射510以及相关联的查询完成表512和/ 或910 (图9),使得由预测服务器产生的查询和/或URL预测与可应 用群体客户近期提交的査询和/或URL保持一致。
参考图6,部分查询"ho" 602可具有与该部分查询602相关的一 组完整查询604。该组完整査询604的第一位置包括具有最高频率值的 査询(例如"hotmail"),其随后的第二位置是具有第二高频率值的 查询(例如"hot dog")等等。在该例子中,完整查询与给定部分查 询的相关性通过部分查询在完整查询的开头的出现来确定(例如字符 "ho"在"hotmail"禾卩"hotels in San Francisco")。在其它实施例中, 相关性通过部分查询在完整査询的任何位置的搜索词项的开头来确 定,如完整查询集606所示(例如字符"ho"在"hotmail"的开头以 及在"cheap hotels in Cape Town"的第二个搜索词项的开头)。
为了建立查询完成表的集512,选择认可历史査询506中的一个査 询(图7, 702)。在一些实施例中,仅处理具有所期望元信息的查询 (例如英语的查询)。从所选的查询中识别第一部分查询(704)。在 一种实施例中,第一部分查询是所选查询的第一个字符(即对于查询 字符串"hot dog ingredients"是"h")。在一些实施例中,在部分查 询被识别之前应用预处理(例如去除"http://"或者"www")。在表 中做出条目,来指示该部分查询、对应于该部分查询的完整查询以及 其频率。在其它实施例中,存储用于分级的其它信息(例如日期/时间 值、或基于两个或更多因素而计算的分级分数)。如果该部分查询不 表示整个査询,那么查询处理没有完成(708-否)。因此,识别接下来
的部分查询(710)。在一些实施例中,通过添加随后的附加字符到先
前识别的部分查询来识别随后的部分査询(即对于査询字符串"hot dog ingredients"是"ho")。识别处理(710)和对查询完成表的更新处 理(706) —直持续,直到整个查询被处理(708-是)。如果全部查询 还没有被处理完(712-否),那么选择随后的査询并进行处理,直到所 有的查询都被处理(712-是)。在一些实施例中,当词项被添加到查询 完成表,词项就被插入,使得表中的词项根据分级或分数来排序。在 另一种实施例中,所有的查询完成表在表建立过程的最后被分级,使 得每个查询完成表中的词项根据该词项在査询完成表中的分级或分数
来排序。此外, 一个或多个查询完成表可被截去,使得表包含不大于 预定数量的条目。
参考图8,查询字符串"hot dog ingredients"的前五个字符的示例 处理在表802中从804到812示出。查询字符串"hotmail"的前四个 字符的示例处理在814至820示出。
在一些实施例中,对于给定部分查询,通过从表中识别与该给定 部分查询相关的最常被提交的n个査询来建立查询完成表,并且将它 们按分级次序放置,使得具有最高分级的查询(例如最高分级分数或 频率)在列表的顶端。例如,对于部分查询"hot"的查询完成表可包 括808和818的完整查询字符串。当分级基于频率时,对于"hotmail" 的査询字符串可出现在查询字符串"hot dog ingredients"的上面,因为 818中査询字符串的频率(即300,000)大于808中査询字符串的频率 (即100,000)。在一些实施例中,URL的流行性可以是指定给特定网 页的给定值,其提供一组网页中的重要性指示(例如页面分级)。因 此,当排序的预测集返回到用户时,具有较高被选择可能性的査询被 首先呈现。如上所述,其它从元信息获得的值可被用于分级(例如日 期/时间值、或个人信息)。
参考图9和10,在一些实施例中,通过将历史査询字符串分割为
预定尺寸C的"块",比如4个字符,来减小查询完成表的数量。对 于长度小于C的部分查询的查询完成表保持不变。对于长度大于等于C 的部分査询,部分查询被分为两个部分前缀部分和后缀部分。后缀 部分的长度S等于部分查询的长度(L)模C:
S=L mod C
其中L是部分查询的长度。前缀部分的长度P是部分查询的长度 减去后缀长度P=L-S。因此,例如,对具有10个字符长度的部分查 询(例如"hot potato"),当块尺寸C为4时,可具有后缀长度S为 2以及前缀长度P为8。
当执行图7所示的过程时,步骤706识别或建立对应于部分査询 的查询完成表,对此在图9中进行概念性的说明。图9示意性说明了 用于产生査询完成表的处理以及当处理用户输入部分查询时的查找处 理。当部分查询的长度小于一个"块"的尺寸C时,部分查询被映射 到査询指纹515,例如通过使用散列函数514 (图5)。指纹515通过 指纹-表映射510被映射到査询完成表516,査询完成表516又包含査 询完成指纹518或指向一组查询记录520的指针(查询记录520包含 查询字符串522,图5)。
当部分査询的长度大于等于一个块的尺寸C时,部分查询902被 分解为前缀904和后缀906,其长度由块尺寸控制,如上面所解释的。 对前缀卯4产生指纹908,例如通过对前缀904应用散列函数514,并 且指纹908随后通过指纹-表映射510映射到"分块"的查询完成表910。 分块查询完成表910的结构不同于图5所示的査询完成表516,其中分 块查询完成表910的每个条目911具有后缀条目914和査询完成指纹 912。每个查询911还可可选地包括一个分数916,用于排序查询完成 表910中的条目。后缀具有长度S,其可以是零到C-1的任何长度,并 且包括没有被包括在前缀904中的部分查询的零个或多个字符。在一 些实施例中,当产生历史查询的查询完成表条目911时,在每个分块
査询完成表910中仅作出一个条目对应于历史查询。特别的,该个条
目911包含历史查询的最长可能后缀,最长是C-l个字符的长度。在 其它实施例中,在每个分块査询完成表910中为特定历史查询作出直 到C个条目,每个条目用于每个不同的后缀。
图IO示出了包含对应于历史查询"hotpotato"的条目911的一组 査询完成表。该例子假设块尺寸C等于四。在其它实施例中块尺寸可 以是2、 3、 5、 6、 7、 8或其它合适的值。块尺寸C可基于经验信息来 选择。图10所示的查询完成表的前三个516-1到516-3是分别用于部 分査询"h" 、 "ho"和"hot"的。接下来的两个査询完成表910-1和 910-2分别对应于部分查询"hotpot"和"hotpotato",具有部分查询 长度为7和10。再次参考图7的步骤710,通过部分由步骤710构形 成的循环的每次重复,部分查询的长度最初按1个字符的步长增加, 直到达到C-l的长度,并且随后部分查询的长度按C个字符的步长增 加,直到达到历史查询的整个长度。
每个分块查询完成表的条目911根据通过査询完成指纹912在条 目911中识别的查询字符串的分级值(由分数916表示)来排序。对 于具有小于C个字符的部分査询,在相关查询完成表516中的查询的 数目是第一值(例如10或20),其可表示作为预测被返回的査询数量。 在一些实施例中,在每个分块查询完成表910中的条目911的最大数 量(例如在1000和10,000之间的数量)大大超过第一值。每个分块查 询完成表910可占用几十或几百个普通査询完成表。因此,每个分块 查询完成表910被调整大小来包含若干(p)条目,对应于其前缀部分 对应该分块査询完成表的所有或几乎所有认可历史査询,从而在为用 户指定的部分査询产生预测查询的列表时不至于产生不能忍受的等待 时间。
在已经根据历史查询集产生查询完成表516、 910和指纹-表映射 510之后,这些相同的数据结构(或其副本)被用于识别对应于用户输
入的部分查询的查询预测集。如图9所示,对用户输入的部分査询,
首先通过对整个部分査询902或部分查询的前缀部分904应用散列函 数514,如由该部分查询的长度所确定的,将该部分查询映射到査询指 纹515或908。随后通过在指纹-表映射510中执行査询指纹的查找, 把査询指纹515或904映射到查询完成表516或910。最后,从识别的 査询完成表中提取直到N个预测查询的排序集。当部分査询的长度小 于块尺寸时,预测査询的排序集是识别的査询完成表中的前N个査询。 当部分查询的长度等于或大于块尺寸时,在识别的査询完成表中搜索 与部分查询的前缀匹配的前N个词项。因为査询完成表910中的条目 按降序排列,对于匹配条目的搜索从顶端开始并且继续,直到获得了 想要返回的预测数量(N)(例如10个),或直到达到了查询完成表 910的末端。当部分查询的前缀906与条目911中的前缀914的相应部 分相同时就存在"匹配"。例如,参考图10, 一个字母的前缀〈p〉与分 别具有前缀〈pot〉和〈pal〉的条目911-3和911-4匹配。具有长度零的空 前缀(也被称为空字符串)与查询完成表中的所有条目匹配,并且因 此当部分査询的前缀部分是空字符串时,表中前N个词项被作为预测 查询返回。
如上所述,用于识别对应于部分URL的预测URL的排序集的数 据结构和过程与上述用于识别对应于用户输入的部分查询的预测査询 的排序集的数据结构和过程相同。尽管URL和查询字符串具有不同的 用途,但在用户的部分输入之后,它们都可被看作其值可被预测的字 符或符号的字符串。在一些实施例中,"历史URL"集可包括特定用 户或一组用户或用户群体输入的URL,由此建立一组URL完成表1234 (图12)和URL指纹-表映射1236 (图12)。在另一种实施例中,"历 史URL"集可包括存储在文档数据库中的URL文档,比如搜索引擎的 文档数据库,由该"历史URL"集可建立一组URL完成表和URL指 纹-表映射。
图ll说明了当使用根据本发明某些实施例的浏览器和工具栏的用
户视图。浏览器1102包括工具栏1104,该工具栏包括文本输入框1106, 示出了部分査询〈hotx的输入。响应于检测到部分查询以及最终从査询 服务器接收预测查询,预测被显示在显示区域1108,用于用户的可能 选择。类似的,尽管未示出,响应于检测到用户在地址栏1110的部分 URL的输入,预测URL的一个排序集显示在地址栏1110的紧下方或 邻近的显示区域中(未示出)用于用户的可能选择。
参考图12,实施上述方法和数据结构的搜索引擎1202的实施例包 括一个或多个处理单元(CPU) 1204, 一个或多个网络或其它通信接口 1206,存储器1208,以及一个或多个用于互联这些部件的通信总线 1210。搜索引擎1202可选地包括含有显示设备1214和键盘1216的用 户接口 1212。存储器1208可包括髙速随机读取存储器并且还可包括非 易失性存储器,比如一个或多个磁盘或光盘存储器。存储器1208可包 括远离CPU的1204的海量存储器。存储器1208可存储以下要素,或 这些要素子集或超集
* 包括用于处理各种基础系统服务和用于执行硬件依赖任务的 程序的操作系统1218;
* 用于将搜索引擎1202通过一个或多个通信接口 1206(有线或 无线地)比如因特网、其它广域网、局域网、城际网等等连接到其它 计算机的网络通信模块(或指令)1220;
* 用于接收完整査询或部分查询并返回搜索结果和预测查询以 及预测搜索结果的查询服务器210;以及
用于接收部分査询并返回査询或URL的排序预测集的预测服 务器212。
在一些实施例中,査询服务器210包括以下部件或这些部件的子 集用于接收和传输信息的客户机通信模块216;用于接收和响应完整 搜索查询的查询接收、处理和响应模块218;用于接收和相应完整搜索 査询的部分查询接收、处理和响应模块220;用于存取用户信息数据库 1226中用户信息的用户信息和处理模块222,其包括用于多个用户的
各用户档案(profile);用于存储关于先前提交查询的信息的査询日志 224,以及URL日志或数据库225。在一些实施例中,查询服务器210 包括这些模块的子集。在一些实施例中,查询服务器210包括附加模 块。
在一些实施例中,预测服务器212包括以下部件,或这些部件的 子集
*用于接收部分査询的查询接收模块(或指令)1230;
參用于产生查询完成表516、 910和查询指纹-表映射510的査询 /URL完成表建立器(或指令)1232;在一些实施例中,査询/URL完 成表建立器1223还可产生URL完成表1234和URL指纹-表映射1236; 以及
争用于获得一预测集査询或URL的预测模块(或指令)1238。
在一些实施例中,预测服务器212还可包括以下一个或多个
用于至少部分地基于某些用户档案信息选择一预测集査询的个 性化模块(或指令)1240;
*用于确定与特定査询相关联概念的概念模块(或指令)1242;
參用于确定与用户群体相关联的一组特性的群体特性模块(或指 令)1244;
用于识别接收查询或查询词项的可替换拼写的拼写模块(或指
令)1246;以及
*为各种符号语言成分提供音标表示的语言词典1248。
在一些实施例中,用户信息处理模块222、个性化模块1240、概 念模块1242。、群体特性模块1244和拼写模块1246中的一个或多个 没有实现。当实现时,用户信息处理模块222的用户档案1228可包含 适用于选择排序预测查询或URL的信息。例如,用户档案1228可识 别特定用户感兴趣的信息类型。用户档案1228还可包含用户所属于的、 或用户与其相关联的用户群体的相关信息。用户信息处理模块222可 将个人信息和群体信息结合来产生用户档案1228。
当实现时,概念模块1242可将历史查询映射到概念或信息类别, 适用于与用户档案1228中的信息匹配。类似的,概念模块1242可被 配置为映射历史URL到概念或信息类别,例如通过在对应于历史URL 的文档内容中确定一组主要概念、主题或信息类型。由概念模块1242 识别的概念、主题或信息类型可被存储在查询完成表或URL完成表的 条目中,或者存储在通过查询/URL完成表识别的查询记录或URL记 录中。当处理部分査询或URL时,可记录该预测集査询或URL,使得 其概念、主题或信息类型与请求用户的用户档案中的信息相匹配的预 测查询或URL在预测査询或URL的列表中被置于较之其概念、主题 或信息类型与请求用户的用户档案中的信息不匹配的预测查询或URL 更高的位置。
在另一种实施例中,概念模块1242可被配置为根据词项的概念的 或类别映射将部分査询中的一个或多个词项映射到一个或多个替代词 项。为部分査询产生包含一个或多个替代词项的预测査询的排序集, 并且随后将这些预测查询传输给用户,单独地或者与使用用户输入的 部分查询产生的结果相结合地传输。
图12描述了在一种实施例中的搜索引擎1202的内部结构。应当 理解的是,在一些其他实施例中搜索引擎1202可使用多个服务器来实 施从而提高其吞吐量和可靠性。例如查询日志224可在与搜索引擎1202
中的其他服务器之一通信并共同工作的独立服务器上实施。在另一个 例子中,查询/URL完成表建立器1232和/或语言词典1248可在单独的 服务器或计算设备上实施(例如图2中的排序集建立器242和语言词 典244)。
尽管此处的讨论是参考为位于搜索请求者远程位置的文档所设计 的搜索引擎而做出的,应当理解的是,在此公开的概念对于其他搜索
环境也是可用的。例如,在此描述的同样技术可被应用到对于任何类 型的对于査询或搜索被运行的信息贮藏库(例如地址簿、产品信息数 据库、文件服务器、网站等等)。因此,术语"搜索引擎"可被广义 地理解为覆盖所有这些用途。
参考图13,实施上述方法的客户机系统1300地实施例包括一个或
多个处理单元(CPU) 1302、 一个或多个网络或其它通信接口 1304、 存储器1306和用于互联这些部件的一个或多个通信总线1308。搜索引 擎1300可选的包括带有显示设备1312和/或键盘1314的用户接口 1310。存储器1306可包括高速随机读取存储器并且还可包括非易失性 存储器,比如一个或多个磁盘或光盘存储器。存储器1306可包括远离 CPU 1302的海量存储器。存储器1206可存储
* 包括用于处理各种基础系统服务和用于执行硬件依赖任务的 程序的操作系统1316;
* 用于将客户机系统1300通过一个或多个通信网络接口 1304 以及一个或多个通信网络比如因特网、其它广域网、局域网、城际网 等等连接到其它计算机的网络通信模块(或指令)1318;
* 用于与用户交互来输入搜索查询以及显示搜索结果的浏览器 或工具1320;以及
* 搜索助手1322。
在一些实施例中,搜索助手1322独立于浏览器/工具1320,而在 其他实施例中搜索助手结合在浏览器/工具1320中。
搜索助手1322可包括以下部件或这些部件的子集用于监视搜索 查询的输入并选择部分查询用于传输到搜索引擎的输入和选择监视模 块(或指令)1324;用于传输部分搜索查询和最终搜索查询至搜索引 擎的传输模块(或指令)1326;用于接收预测査询的预测查询接收模 块(或指令)1328;用于接收预测搜索结果的预测搜索结果接收模块 (或指令)1330;用于显示预测和结果的显示模块(或指令)1332;
以及可选的,用于接收搜索结果的搜索结果接收模块(或指令)1334。 最终(即完整的)査询的传输、完整査询的搜索结果的接收以及这些
结果的显示可被浏览器/工具1320、搜索助手1322或其结合来处理。 搜索助手1322还可提供用于处理部分和完整URL的对应功能集,其 可由相同部件或上述部件的并行组来处理。搜索助手1322可通过多种 方式实施。例如,搜索助手1322可作为浏览器的一部分、工具栏的一 部分、桌面应用程序的一部分或使用可执行指令的网页(比如 JavaScript)来实施。至少,搜索助手把部分查询信息传送给搜索系统。 搜索助手还可实现预测结果的显示,以及所显示预测结果的用户选择。
尽管在图12和13中作为独立的模块或部件来示出,但各个模块 或组件可位于或共同位于搜索引擎或客户机中。例如,在一些实施例 中,预测服务器312的部分、和/或各个査询完成表512和/或910位于 客户机系统202中或形成搜索助手204的一部分。例如,在一些实施 例中,对于最流行搜索的查询和指纹-表映射可被定期下载到客户机系 统202中,从而对至少一些部分输入的査询或URL提供完全基于客户 机的査询或URL输入预测。
在另一种实施例中,搜索助手204可包括预测服务器312的本地 版本,用于至少部分地基于用户的先前搜索和URL输入来做出搜索或 URL预测。可替换的或附加,本地预测服务器312可基于从搜索引擎 或远程预测服务器下载的数据来产生预测。此外,客户机助手204可 把本地产生和远程产生的预测集结合起来呈现给用户。结果可通过多 种方式中的任何一种结合,例如通过交织两个集或结合两个集并偏向 于用户先前提交的査询,使得那些查询可被置于或插入到偏向于预测 查询的结合列表的顶部。在一些实施例中,客户机助手204把对于用 户很重要的查询插入到预测集中。例如,用户经常提交的但是没有包 括在从搜索引擎所获得的集中的查询可被插入到预测中。
可通过改变产生指纹-表映射510的处理,将上述技术应用到不同
于主要基于字母书写系统的其它语言。例如,上述技术可被应用到具
有符号或象形文字(pictograms)比如縮记符(表示文字的部分或全部
文字的符号)、表意字符(用图形表示抽象意思的符号)、音标字符 (就像在字母表或字音表中的字母中表示特定声音的符号)以及意音 结合(包括语义部分表示或提示符号的意思,以及音标部分指示或提 示发音)的语言中。为此,符号或象形文字,即不是字母的字符被称
为"表意文字(ideographs)"。
日本语被用于说明将上述技术应用到主要不是字母的语言中的实 施例。日语使用一种混合书写系统,并且包括汉字、假名、罗马字、
阿拉伯数字和中国数字。汉字是源自多个来源的"字符" 一些汉字
从中文派生(典型地具有多于一个发音,其中发音是基于意思或语义
的); 一些从中文改写(通常具有"标准"发音);以及一些单独地 为曰本语中创建的。假名是两种日本字音表地音标字符平假名(主
要用于表示日本本土文字或古代从中国的借字)以及片假名(主要用 于书写外语或拟声文字,或给文本一个"漂亮"的外观)。在一些例 子中,汉字表示包括一个或多个拖尾假名字符来指示某个结合和/或帮 助发音。罗马字是罗马的字母符号。
平假名和片假名各包括46个字符,并且主要由元音和元音-辅音 组合来组成。通常通过输入用于一个或多个汉字字符的假名语音表示 来把日语文本输入到计算机,这些假名随后将会转化为汉字表示。根 据一种输方法,罗马字字符的序列(通过键盘)被输入或显示到中间 文本输入区域。当用来产生假名字符的每个罗马字字符序列被识别, 假名字符代替显示的罗马字字符,或显示在中间文本输入区域。例如, 键入罗马字序列"ti"产生平假名"亏"。在输入期望数量的假名字符 之后,用户可将假名表示直接置于想要的文本范围或可通过用户启动 的操作选择性的将全部或部分假名表示转化为汉字表示。例如,输入 罗马字序列"ti"和"ke",产生平假名"6 W ",是英文单词"salmon"
的平假名表示。可通过用户启动的操作,比如按下"空格键"或按下
功能键,将该假名字符串转化为"salmon"的汉字表示或"鮭"。在一 些例子中,将假名转化为汉字的尝试是自动的。尽管通常这种转化需 要用户的某种干预。用户典型的被要求从多个汉字表示中选择一种, 因为平假名中相同的语音表示会映射到多种汉字表示。例如,语音序 列"(5 L "(通过罗马字字符序列"ho"和"si"所产生的)可对应以 下三个汉字"端"(表示tip或end);桥(表示bridge)以及"箸" (表示ch叩sticks)。此外,单个汉字表示可具有多种语音表示。例如 "鮭"(表示salmon)至少有语音表示"S U""(通过输入罗马字字 符序列"ti"和"ke"来产生)以及"L々tt "(通过输入罗马字序列 "si" 、 "ya"和"ke"来产生)。
用户输入查询,典型地通过将音标字符序列输入到查询输入区域 来输入每个查询词项。音标序列通常在查询形成时被转化为表意文字。 查询通常包括理想顺序的一个或多个表意文字和/或一个或多个音标字 符。希望预测服务器不仅基于由一个或多个表意文字组成的部分查询 来预测搜索查询,而且在用户输入语音表示时使用表意文字的部分音 标字符输入来做出预测。因此,并且除了其他组合之外,根据由零个 或多个表意文字跟随一个或多个音标字符所组成的部分査询输入来做 出预测。在一些实施例中,这些预测可通过修改图7的过程来实现, 该过程用于建立指纹-表映射,来考虑语言的特定书写系统。修改的过 程考虑通过一个或多个音标字符来输入表意文字。参考图14,描述了 考虑包括表意文字和音标字符的语言书写系统来建立指纹-表映射的这 种过程,并且其中在表意文字和语音表示之间可存在多个映射。本领 域技术人员将认识到图14描述的方法可扩展到其它语言。
从认可历史查询列表中选择查询(例如图5的认可历史查询列表 506),该列表包含有被处理语言的查询(1402)。在一些实施例中, 这个认可历史查询列表根据参考图5讨论的方法产生。识别初始查询 单元(1404)。查询单元可通过多种方式来确定。在一些实施例中, 查询单元包括按可识别顺序表示词语或意思的一个或多个汉字字符(以及用于变形和发音的可应用平假名)。在一些例子中,表示不同 词语或意思的汉字字符被表示成没有间隔字符(例如空格符)的汉字 字符的单个字符串。在一些例子中,查询单元是一个单个的汉字字符。 在一些例子中,査询单元是一个或多个汉字和/或一个或多个音标字符。 在一些实施例中,在表意文字被识别之前应用预处理(例如去除
"http://")。在表中做条目来指示任何先前查询单元和当前査询单元,
完整査询对应于当前査询单元和査询频率(1406)。在其它实施例中, 用于分级的其它信息被存储(例如日期/时间值或基于两个或多个因素 计算的分级分数)。
如果当前査询单元是表意文字,则识别与该表意文字相一致的语 音表示(1408)。在一种实施例中,査阅词典(例如图2的语言词典 242)来返回与该表意文字相一致的至少一个可能的语音表示。根据每 个语音表示,确定增量式查询字符串,表示语音字符的增量式增加, 就像通过将当前字符附加到先前字符来输入这些字符以建立完整的语 音表示(1410)。例如,如果"鮭"已经被识别作为当前查询单元, 一种语音表示是"$ ^ "(如上所述)。因为语音表示"^ tt "包括 两个音标字符(即"S "和"C ),第一增量式查询字符串可以是 "S",由第一语音字符组成,以及第二增量式查询字符串可以是"S
,由第一和第二字符组成。在表中对每个增量式査询字符串做条 目(并且包括任何先前表意文字和查询单元(如果有的话)),完整 查询对应于增量式查询字符串和查询频率(1412)。在一些例子中, 查询单元包括不止一个表意文字或一个或多个表意文字跟随一个或多 个音标字符。随着每个增量式査询字符串的建立,音标字符的完整序 列由它们对应的表意文字代替。例如,当查询单元是"認灼S"时(意 为acknowledge,并且其中假名字符"灼S "提供变形词尾), 一种可 能的完整音标序列是" t灼3 "(其中"办i "是汉字"認"的假 名表示)。随着增量式查询字符串被建立(例如和i"), 当识别特定音标序列时(例如t"),其被适用的表意文字(例 如"認")代替,得到随后的增量式査询字符串(例如"認灼"和"認
"")。
如果查询没有被完全处理(1414-否),那么识别下一个查询单元, 按如上所述处理。如果当前的查询被完全处理(1414-是),但是还有 更多的查询没有处理(1418-否),那么选择另一个查询并且进行上述 处理。处理一直持续,直到所有待处理的查询都被处理完(1418-是)。
上述过程可通过参考图15和16被更好地理解。示例查询字符串 1502表示具有第一表意文字1504 (即鲑鱼的汉字表示"鮭")和第二 表意文字1506 (即日本的汉字表示"日本")的査询。第一表意文字 1504具有第一语音表示1508 (即发音为"sake"的W )以及第 二语音表示1510 (即发音为"Sha-ke"的"L々")。类似的,第 二表意文字1506具有第一语音表示1512 (即发音为"nohon"的"(二 d & ")以及第二语音表示1514 (即"发音为"nippon"的""。(S /u")。
图16描述了处理图15的查询字符串1502的一种方式。最初,查 询字符串1502的第一查询单元被识别(即"鮭"),并且在表1604 中做出对应的条目1602来指示该部分査询单元1606、完整查询1608 和查询频率1610。在一些实施例中,与该查询相关联的其它或附加信 息可被包括在其中,以支持查询分级。"鮭"的语音表示被识别(即 "S & "禾Q " L々W "),增量式查询字符串被确定并且在表1604中
做出对应的条目。例如,第一语音表示"$ W"包括增量式字符串"$ " 和W 。因此。对应于增量式查询字符串"S "的条目1612被建 立,并且对应于增量式查询字符串"S ""的条目1614被建立。用于 与第二语音表示相关联的增量式査询字符串的条目也被建立(例如 1616、 1618和1620)。然后,识别下一个查询单元(即"日本")并 且在表1604中做出包括两个表意文字的对应条目1622(并且不包括该 第一表意文字的语音表示)。最后,"日本"的语音表示被确定并且 建立对应条目(例如条目1624)。注意,当查询单元包括一个或多个
表意文字时,同样可应用上述处理。当在查询中遇到音标字符时(例 如附加到表意文字之后),在遇到时就将其包括在部分查询中(并且 在表1604中做出相应的条目)。当输入是部分输入URL时,以上过
程可同样应用。URL等同于查询词项的字符串,其包括预定分隔字符
(例如">"和"/")但是不包括空格。
在查询的处理期间或之后,各种想要的查询完成表和指纹-表映射
可被建立,如参考图7和8所述。
通过考虑各种可被输入来得到查询的表意文字的音标字符串,可 在语音表示的序列完成之前做出预测。根据从搜索请求者接收的部分 査询来识别査询完成表,该部分查询包括零个或多个表意文字和一个 或多个音标字符。
尽管本发明的各个实施例已经使用英语和日语描述,本领域技术 人员将认识到将在此描述的概念扩展到其它语言的方法。例如,输入 字符的可能序列可根据认可历史查询和各种查询完成表以及基于这些 可能的输入字符串建立的指纹-表映射来确定。
尽管一些

了特定顺序的一些逻辑阶段,不依赖顺序的阶 段可被重新排序并且其它阶段可被结合或拆开。当提到一些重新排序 或其它组合时,其它的情况对于本领域技术人员来说是显见的,并且 不再给出这些替换方式的穷尽列表。而且,应当认识到这些阶段可通 过硬件、固件、软件或其结合的方式实施。
为了解释的目的,上述说明已经参考特定实施例描述。然而,上 述说明性的讨论并不是穷举或将本发明限制到这些具体形式。根据上 述的说明,可做出很多修改和变形。选择和描述实施例是为了按最好 的方式解释本发明的原理和其实际应用,从而使得本领域技术人员最 好地利用适于特定用途的具有各种变形的本发明和各种实施例。
权利要求
1.一种用于为具有表意文字和音标字符的语言建议查询输入完成的方法,包括从搜索请求者接收部分查询,该部分查询包括零个或多个表意文字,该表意文字跟随有至少一个音标字符;根据该部分查询预测依照分级标准排序的一个预测查询集,该集包含表意文字;以及将该排序的预测查询集传送给该搜索请求者。
2. —种用于为具有表意文字和音标字符的语言建议查询输入完 成的方法,包括从搜索请求者接收部分查询,该部分查询包括完整查询的一部分; 根据该部分查询预测依照分级标准排序的预测查询集,该集包含 至少一个具有一个或多个表意文字的字符串;以及 将该排序的预测查询集传送给该搜索请求者。
3. 如权利要求2所述的方法,其中所述部分查询包括至少一个音 标字符。
4. 如权利要求2所述的方法,其中所述部分查询包括表意文字和 音标字符。
5. 如权利要求2所述的方法,其中所述部分查询包括用来表示至 少一个表意文字的至少一个不完整音标序列;以及所述预测包括预测与该不完整音标序列相一致的至少一个或多个 表意文字。
6. 如权利要求2所述的方法,还包括-在该预测查询集中包括由用户群体提交的查询。
7. 如权利要求2所述的方法,还包括根据用户群体提交的查询来 建立预测査询集。
8. 如权利要求2所述的方法,其中该预测查询集包括至少一个不 是由该搜索请求者以前提交的查询。
9. 如权利要求2所述的方法,其中所述集包括搜索査询和至少一 个URL。
10. 如权利要求2所述的方法,其中所述预测包括识别两个或多 个对应于该部分查询的集并且合并这些集。
11. 如权利要求IO所述的方法,还包括以交织方式合并所述的各集。
12. 如权利要求IO所述的方法,其中所述各集的至少第一集在客 户机上产生,以及所述各集的第二集在服务器上产生。
13. 如权利要求2所述的方法,包括接收输入,该输入用于标识从该排序预测查询集中选择的查询;以及产生与所接收查询相关的搜索结果。
14. 如权利要求2所述的方法,包括产生与至少一个预测査询相 关的搜索结果,以及将所述搜索结果传送到该请求者。
15. 如权利要求2所述的方法,还包括从所接收的查询信息中确定相关查询信息;识别与该相关查询信息相关的至少一个预测查询;以及 把与该相关查询信息相关的所述至少一个预测査询包含在子集中。
16. 如权利要求2所述的方法,其中所述预测包括依照预测査询的时间/日期值排序所述各预测查询。
17. 如权利要求2所述的方法,还包括基于与用户相关的特性来 修改所述集。
18. 如权利要求2所述的方法,还包括 将所述集传送给搜索请求者;判定在预定时段内没有从该搜索请求者接收到对应于所传送的该 集中査询的选择;以及将根据分级标准排序的随后的预测査询集传输给该搜索请求者。
19. 如权利要求2所述的方法,还包括 将该集传送给搜索请求者;从该搜索请求者接收对于随后的预测查询集的请求; 识别随后的预测查询集;以及将根据分级标准排序的随后的预测查询集传输给该搜索请求者。
20. 如权利要求2所述的方法,包括 在接收所述部分査询之前识别由用户群体先前提交的历史查询集,历史查询集中的每个査询包括提交频率并包括至少一个表意文字;以及根据识别的历史查询集产生多个排序子集,每个排序子集包 括来自依照相应提交频率排序的所识别的历史查询集中的一个或多个 历史查询。
21. 如权利要求20所述的方法,其中所述产生包括 将来自多个历史查询的一个或多个表意文字的字符串映射到一个或多个表示,所述表示包括一个或多个音标字符的字符串。
22. 如权利要求20所述的方法,其中所述产生包括将来自多个历 史查询的一个或多个表意文字的字符串映射到一个或多个表示,其中 至少一个映射包括至少一个表意文字和一个或多个音标字符的字符 串。
23. 如权利要求2所述的方法,包括识别由用户群体先前提交的历史査询集,历史査询集中的每个査 询具有提交频率并包括至少一个表意文字;以及从识别的历史查询集中产生多个排序子集,每个排序子集包括依 照相应提交频率排序的来自所识别的历史查询集中的一个或多个历史 査询。
24. 如权利要求23所述的方法,其中所述产生包括 将来自多个历史查询的一个或多个表意文字的字符串映射到包括一个或多个音标字符的字符串的一个或多个表示。
25. 如权利要求2所述的方法,包括 在接收所述部分査询之前识别多个集,每个集与某个部分查询单元相关,并且包括用户群体先前提交的多个查询,每个査询具有相应的分级值;对于所述多个集的至少一部分,根据相应分级值来排序所述 集中的查询;以及其中所述预测包括从所述多个集中识别第一集,其中所选择的集 对应于该部分査询。
26. 如权利要求25所述的方法,其中所述预测包括识别第二集并合并所述第一集和所述第二集。
27. 如权利要求26所述的方法,其中所述预测还包括 从第一存储器中识别所述第一集;以及 从第二存储器中识别所述第二集。
28. —种用于为具有表意文字和音标字符的语言建议査询输入完 成的系统,包括查询处理模块,用于从搜索请求者接收部分查询,该部分查询包括完整查询的一部分;依照分级标准排序的至少一个预测査询集,该集包含具有一个或 多个表意文字的字符串的至少一个查询;预测模块,用于根据该部分査询来预测依照分级标准排序的预测 査询集;以及通信模块,用于将该排序的预测查询集传送到该搜索请求者。
29. 如权利要求28所述的系统,其中所述部分查询包括至少一个 音标字符。
30. 如权利要求28所述的系统,其中所述部分査询包括表意文字 和音标字符。
31. 如权利要求28所述的系统,其中所述部分查询包括表示至少 一个表意文字的至少一个不完整音标序列;以及其中所述预测查询集中的至少一个预测查询包括与所述不完整音 标序列相一致的至少一个或多个表意文字。
32. 如权利要求28所述的系统,其中该预测查询集包括由用户群 体提交的査询。
33. 如权利要求28所述的系统,其中该预测査询集包括至少一个不是由该搜索请求者以前提交的查询。
34. 如权利要求28所述的系统,其中该预测查询集包括搜索査询 和至少一个URL。
35. 如权利要求28所述的系统,还包括根据分级标准排序的至少第二个预测査询集,该第二集包含具有一个或多个表意文字的字符串 的至少一个查询,以及所述预测模块还配置为至少识别所述的预测査询的第一集和第二 集并且合并该两个集。
36. 如权利要求35所述的系统,其中所述预测模块还配置为按交 织方式合并所述第一集和第二集。
37. 如权利要求35所述的系统,其中所述第一集位于所述第二集 的远程位置。
38. 如权利要求28所述的系统,还包括用于接收输入的接收模块,该输入用于识别从该排序预测査询集 中选择的查询;以及查询服务器,用于产生与所接收查询相关的搜索结果。
39. 如权利要求28所述的系统,其中所述查询服务器进一步配置 成用于产生与至少一个预测查询相关的搜索结果,并且将所述搜索结 果传送给该请求者。
40. 如权利要求28所述的系统,还包括概念模块,用于根据所接收的查询信息来确定相关查询信息;以及 子集,包括与该相关査询信息相关的至少一个预测査询。其特征在于,
41. 如权利要求28所述的系统,其中所述预测模块还被配置为根 据预测査询的时间/日期值来排序所述预测查询。其特征在于,
42. 如权利要求28所述的系统,还包括基于与用户相关的特性修 改所述集。其特征在于,
43. 如权利要求28所述的系统,其中预测模块还配置为 将所述集传送给该搜索请求者; 从该搜索请求者接收对于随后的预测查询集的请求; 识别随后的预测查询集;以及将根据分级标准排序的该随后的预测查询集传输给搜索请求者。其特征在于,
44. 如权利要求28所述的系统,其中所述预测模块还被配置为-在接收所述部分查询之前识别由用户群体先前提交的历史查询集,该历史查询集中的 每个査询包括提交频率并包括至少一个表意文字;以及从所识别历史查询集产生多个排序子集,每个排序子集包括 来自根据相应提交频率排序的所识别历史查询集中的一个或多个历史 査询。其特征在于,
45. 如权利要求44所述的系统,其中所述预测模块还被配置为 将来自多个历史查询的一个或多个表意文字的字符串映射到包括一个或多个音标字符的字符串的一个或多个表示。其特征在于,
46. 如权利要求44所述的系统,其中所述预测模块还被配置为将 来自多个历史查询的一个或多个表意文字的字符串映射到一个或个表 示,其中至少一个映射包括至少一个表意文字和一个或多个音标字符 的字符串。
47. 如权利要求28所述的系统,其中所述预测模块还被配置成 识别由用户群体先前提交的历史查询集,该历史査询集中的每个査询具有提交频率并包括至少一个表意文字;以及从所识别的历史查询集中产生多个排序子集,每个排序子集包括 来自根据相应提交频率排序的所识别的历史查询集中的一个或多个历史查询。
48. 如权利要求47所述的系统,其中所述预测模块还被配置为将 来自多个历史査询的一个或多个表意文字的字符串映射到包括一个或 多个音标字符的字符串的一个或多个表示。
49. 如权利要求28所述的系统,其中所述预测模块还被配置成在接收所述部分查询之前识别多个集,每个集与某个部分查询单元相关,并且包括用户群体先前提交的多个査询,每个査询具有相应的分级值;对于所述多个集的至少一部分,根据相应的分级值排序集中 的查询;以及从所述多个集中预测第一集,其中所选择的集对应于所述部分查询。
50. 如权利要求49所述的系统,其中所述预测模块还被配置为用 于预测第二集,且合并所述第一集和第二集。
51. 如权利要求50所述的系统,其中所述预测模块还被配置为 从第一存储器中识别所述第一集;以及 从第二存储器中识别所述第二集。
52. —种用于计算机系统的计算机程序产品,该计算机程序产品 包括-用于从搜索请求者接收部分查询的指令,该部分查询包括完整查 询的一部分;用于从该部分查询预测根据分级标准排序的预测查询集的指令,该集包含具有一个或多个表意文字的字符串的至少一个查询;以及用于将该排序预测査询集传送到该搜索请求者的指令。
53. 如权利要求52所述的计算机程序产品,其中部分査询包括至 少一个音标字符。
54. 如权利要求52所述的计算机程序产品,其中部分查询包括表 意文字和音标字符。
55. 如权利要求52所述的计算机程序产品,其中所述部分查询包 括表示至少一个表意文字的至少一个不完整音标序列;以及用于预测的指令包括预测与该不完整音标序列一致的至少一个或 多个表意文字。
56. 如权利要求52所述的计算机程序产品,还包括 用于将由用户群体提交的査询包括在该预测查询集中的指令。
57. 如权利要求52所述的计算机程序产品,其中包括用于根据用 户群体提交的查询建立预测查询集的指令。
58. 如权利要求52所述的计算机程序产品,其中该预测查询集包 括不是由该请求者先前提交的至少一个査询。
59. 如权利要求52所述的计算机程序产品,其中该集包括搜索查 询和至少一个URL。
60. 如权利要求52所述的计算机程序产品,其中用于预测的指令还包括用于识别对应于该部分査询的两个或多个集并且合并这些集的 指令。
61. 如权利要求60所述的计算机程序产品,还包括用于以交织方式合并所述集的指令。
62. 如权利要求60所述的计算机程序产品,其中所述集的至少第 一集在客户机上产生以及所述集的第二集在服务器上产生。
63. 如权利要求52所述的计算机程序产品,还包括 用于接收用来从排序预测查询集中识别选定查询的输入的指令;以及用于产生与所接收査询相关的搜索结果的指令。
64. 如权利要求52所述的计算机程序产品,还包括 用于产生与至少一个预测查询相关的搜索结果的指令,以及 将搜索结果传送到请求者的指令。
65. 如权利要求52所述的计算机程序产品,还包括 用于从接收的查询信息中确定相关查询信息的指令; 用于识别与该相关查询信息相关的至少一个预测查询的指令;以及用于将与该相关查询信息相关的至少一个预测查询包括在子集中 的指令。
66,如权利要求52所述的计算机程序产品,其中用于预测的指令 还包括根据预测查询的时间/日期值排序预测查询。
67.如权利要求52所述的计算机程序产品,还包括基于与用户相 关的特性修改所述集。
68. 如权利要求52所述的计算机程序产品,还包括 用于将所述集传送给搜索请求者的指令;用于判定在预定时期内没有从该搜索请求者接收到对应于所传送 的该集中的查询的选择的指令;以及用于将根据分级标准排序的随后的预测査询集传输到该搜索请求 者的指令。
69. 如权利要求52所述的计算机程序产品,还包括 用于将所述集传送到搜索请求者的指令; 用于从搜索请求者接收对于随后的预测查询集的请求的指令; 用于识别随后的预测查询集的指令;以及用于将根据分级标准排序的该随后的预测查询集传输到该搜索请 求者的指令。
70. 如权利要求52所述的计算机程序产品,包括指令 用于在接收所述部分查询之前识别由用户群体先前提交的历史查询集,该历史査询集中的 每个査询包括提交频率并包括至少一个表意文字;以及从所识别的历史查询集中产生多个排序子集,每个排序子集 包括来自根据相应提交频率排序的所识别的历史査询集中的一个或多 个历史査询。
71. 如权利要求70所述的计算机程序产品,其中用于产生的指令 还包括用于将来自多个历史查询的一个或多个表意文字的字符串映射 到包括一个或多个音标字符的字符串的一个或多个表示的指令。
72. 如权利要求70所述的计算机程序产品,其中用于产生的指令 还包括将来自多个历史査询的一个或多个表意文字的字符串映射到一 个或个表示的指令,其中至少一个映射包括至少一个表意文字和一个或多个音标字符的字符串。
73. 如权利要求52所述的计算机程序产品,包括用于识别由用户群体先前提交的历史查询集的指令,该历史查询 集中的每个査询具有提交频率并包括至少一个表意文字;以及用于从识别的历史查询集中产生多个排序子集的指令,每个排序 子集包括来自根据相应提交频率排序的识别的历史查询集中的一个或 多个历史查询。
74. 如权利要求74所述的计算机程序产品,其中用于产生的指令 还包括用于为将来自多个历史查询的一个或多个表意文字的字符串映 射到包括一个或多个音标字符的字符串的一个或多个表示的指令。
75. 如权利要求52所述的计算机程序产品,包括指令用于在接收所述部分査询之前识别多个集,每个集与某个部分查询单元相关,并且包括用户群体先前提交的多个查询,每个査询具有相应的分级值;对于所述多个集的至少一部分,根据相应分级值排序集中的查询;以及其中用于预测的指令还包括从所述多个集中识别第一集,其中所 选择集对应于所述部分查询。
76. 如权利要求75所述的计算机程序产品,其中用于预测的指令 还包括用于识别第二集且合并所述第一集和第二集的指令。
77. 如权利要求76所述的计算机程序产品,其中用于预测的指令 还包括在客户机识别所述第一集的指令;以及在服务器识别所述第二集的指令。
78. —种用于为具有表意文字和音标字符的语言建议查询输入完 成的系统,包括用于从搜索请求者接收部分查询的装置,该部分查询包括完整查 询的一部分;用于根据该部分查询预测根据分级标准排序的预测査询集的装 置,该集包含至少一个具有一个或多个表意文字的字符串;以及用于将该排序的预测査询集传送到该搜索请求者的装置。
全文摘要
当用户在文本输入框(例如浏览器或工具条)中输入文本时,包括表意文字串的排序预测输入完成字符串集被呈现给用户。用户输入的文本可包括零个或多个表意文字跟随一个或多个音标字符,或者输入的文本可以是一个或多个。预测完成的字符串可以是URL或查询字符串。排序可以基于任意数量的因素(例如用户群体所提交查询的频率)。URL可基于URL的重要性值来分级。可通过将用户输入字符串的指纹与包含该排序预测输入完成字符串集的指纹-表映射进行匹配来获得排序预测完成字符串的集。排序预测的字符串的产生考虑了某个表意文字串的多种语音表示。
文档编号G06F17/30GK101194256SQ200580046332
公开日2008年6月4日 申请日期2005年10月11日 优先权日2004年11月12日
发明者凯文·A·吉布斯 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1