注入到客户机应用程序的搜索结果的制作方法

文档序号:6569207阅读:155来源:国知局
专利名称:注入到客户机应用程序的搜索结果的制作方法
注入到客户机应用程序的搜索结果背景随着因特网的出现,所有技术水平和背景的用户可通过网络来访问大量信 息。这也适用于便于在用户的家用计算机上存储大量数据(例如,千兆字节和 兆兆字节)的硬件存储系统的技术进步。当前,家庭用户或专业用户倾向于存 储任何和所有信息,因为这样做的成本日益降低。然而,在如此大量数据中搜 索则很成问题。众多文本输入和搜索结果界面受益于称之为"文字滚轮(word wheel)" 界面,也被称为先行估计、自动完成等,由此査询建议或搜索结果响应于每一 用户键击而被显示和调整。向用户给出关于其输入表述可能成功的即时反馈; 他们可更迅速地输入,甚至在无需敲打回车的情况下完成其任务。存在众多流行的商业文字滚轮示例。总是在线的因特网连接、宽带连接和 协议允许惊人的交互响应度,其中键击和结果以无缝用户体验的方式在接线上 交换。然而,迄今为止,这些系统在试图提供其建议、完成等时受到其访问的数 据系统的范围的限制。例如,诸如浏览器地址框和网页桌面任务栏的基于客户 机的系统仅提供来自本地列表和索引的结果,而基于因特网的系统仅提供来自 基于因特网的列表和索引的结果。概述以下呈现了简化的概述以提供对所公开的本发明某些方面的基本理解。该 概述不是详尽的总览,且它不旨在标识关键/重要的元素或描绘其范围。其唯一 目的在于以简化的形式呈现某些概念,以作为以下呈现的更详细描述的序言。本发明通过在客户机应用程序中提供查询输入框来超越常规体系结构所 提供的部分,该输入框通过将来自基于网络的服务(例如,基于因特网的服务) 的结果与来自客户机应用程序的结果进行集成来提供更丰富的先行估计査询结果。换言之,在用户向客户机输入框键入査询时,将基于网络的实时搜索结 果注入到査询中。当用户向客户机应用程序的査询输入框中输入査询字符时, 使用现有的查询字符经由基于因特网的索引服务来进行搜索。作为响应,搜索 返回建议结果,它们随后被处理以完成在查询输入框中呈现以供用户选择的查 询。从而,此处所公开和要求保护的发明在其一方面中包括便于查询处理的系 统。该系统包括便于将查询数据的一部分输入到客户机应用程序中的查询组 件,以及响应于接收查询数据的该部分来访问基于网络的服务以建议附加査询 数据并将附加査询数据传输给查询组件以向用户呈现的搜索组件。在本发明的另一方面中,通过访问根据用户相关信息来縮小所注入的査询 数据的用户相关数据来提供査询的个性化定制。在本发明的又一方面中,通过根据用户交互和用户信息来缩小搜索结果来 提供结果的个性化。在本发明的又一方面中,提供采用基于概率分析和/或统计分析来预测或 推断用户期望自动执行的动作的机器学习和推理组件。为了实现前述和相关目的,本文中结合以下描述和附图对所公开的发明的 某些说明性方面进行描述。然而,这些方面仅指示可采用本文公开的原理的各 种方式中的少数几种,且旨在包括所有这样的方面及其等效实施方式。在结合 附图考虑时,根据以下详细描述,其它优点和新颖特征将是显而易见的。附图简述

图1示出了根据发明性方面的便于查询处理的系统。图2示出了根据发明性方面的査询处理的方法。 图3示出了根据另一方面处理查询的替换方法。图4示出了根据发明性方面、采用便于先行估计查询处理的组件的客户机 应用程序。图5示出了根据本发明的另一方面、利用个性化信息来縮小査询搜索的方法。图6示出了根据所公开的发明、基于个性化数据来过滤搜索结果的方法。图7示出了根据本发明的另一方面、基于用户交互来自适应地调节査询过 程的方法。图8示出了根据本发明的另一方面、基于用户交互来处理査询过程中的拼 写错误的方法。图9示出了根据本发明的另一方面、通过提炼査询项来縮小査询的方法。 图IO示出了根据本发明的另一方面、处理URL (统一资源定位符)查询 的方法。图11示出了根据本发明的另一方面、向查询提供回答的方法。 图12示出了采用本发明的实时先行估计查询处理体系结构的客户机计算 机系统。图13示出了根据发明性方面、用于查询处理的系统的替换实现。图14示出了表示本发明的各个方面的系统流程总览。图15示出了可在其中输入查询字符的web浏览器搜索框的部分屏幕截图。图16示出了具有类似功能的web浏览器导航框实现的部分屏幕截图。 图17示出了具有类似功能的替换web浏览器导航框实现的部分屏幕截图。图18示出了在输入查询被完全输入之前呈现回答的查询过程的部分屏幕 截图。图19示出了采用桌面任务栏査询输入框的用户界面的部分屏幕截图。 图20示出了根据一方面的查询完成和提炼过程的部分屏幕截图。 图21示出了根据一方面的査询拼写更正过程的部分屏幕截图。 图22示出了可用于执行所公开的查询处理体系结构的计算机框图。 图23示出了根据另一方面的可容纳査询处理方面的示例性计算环境的示 意性框图。详细描述现在参考附图描述本发明,在附图中,类似参考标号始终指代类似的元素。 在以下描述中,为说明起见,描述了众多具体细节,以提供对本发明的透彻理解。然而显然,可以在没有这些具体细节的情况下实现本发明。在其它实例中, 公知的结构和设备以框图形式示出,以便描述本发明。如在本申请中所用,术语"组件"和"系统"等指的是计算机相关的实体, 它们或是硬件、硬件和软件的组合、软件,或是执行中的软件。例如,组件可 以是,但不限于,运行在处理器上的进程、处理器、硬盘驱动器、多个存储驱 动器(光盘和/或磁存储介质)、对象、可执行代码、执行的线程、程序和/或 计算机。作为说明,运行在服务器上的应用程序和服务器本身都可以是组件。 一个或多个组件可以驻留在进程和/或执行中的线程内,且组件可以位于一台计 算机上和/或分布在两台或更多计算机之间。如本文所用,术语"推断"和"推论" 一般指的是系统、环境和/或用户 根据通过事件和/或数据捕捉到的一组观察值的推理过程或推断状态。例如,推 论可以被用来标识具体的上下文或动作,或者可以生成状态上的概率分布。推 论可以是概率性的,即,基于对数据和事件的考虑对所关心的状态上的概率分 布进行计算。推论也可以指用于从一组事件和/或数据组成更高级事件的技术。 这样的推论导致从一组所观察到的事件和/或所存储的事件数据构造出新的事 件或动作,而不论这些事件是否在时间上紧密接近,也不论这些事件和数据是 来自一个还是若干个事件和数据源。尽管结合作为屏幕截图的一些附图,示出并描述了向用户显示信息的某些 方式,但相关领域的技术人员可以认识到,可采用各种其它替换方式。术语"屏 幕"、"网页"和"页面"在本文中通常互换使用。页面或屏幕作为显示描述、 图形用户界面或按照在屏幕上描绘信息的其它方法(例如无论是个人计算机、PDA、移动电话还是其它合适的设备)被存储和/或发送,其中要在页面上显示的布局和信息或内容被存储在存储器、数据库或另一存储设施中。最初参考附图,图1示出了根据发明性方面便于查询处理的系统100。系 统100通过在客户机中提供查询输入框来超越常规体系结构所提供的部分,该 输入框通过将来自基于网络的服务(例如,基于因特网的服务)的结果与来自 客户机应用程序的结果进行集成来提供更丰富的先行估计査询结果。换言之, 在用户向客户机输入框中键入查询时,将基于网络的实时搜索结果注入到查询 中。当用户向客户机应用程序的査询输入框中输入查询字符时,使用现有的査询字符经由基于因特网的索引服务来进行搜索。作为响应,搜索返回建议结果, 这些结果随后被处理以完成在查询输入框中呈现以供用户选择的査询。从而,系统100包括便于将查询数据的一部分输入到客户机应用程序的查询组件102、以及响应于对查询数据该部分的接收来访问基于网络的服务以建 议附加查询数据并将附加査询数据传输给査询组件102以向用户呈现的搜索组 件104。图2示出了根据发明性方面的査询处理方法。尽管,为说明简单起见,本 文以流程图或程序框图形式示出的一个或多个方法被示出和描述为一系列动 作,但可以理解意识到,本发明不受动作次序的限制,因为于此响应的某些动 作可按不同的次序发生和/或与本文所示和描述的其它动作并发。例如,本领域 的技术人员可以理解并领会,方法可被替换地表示为诸如状态图中的一系列相 关状态或事件。而且,不是所有示出的动作都是实现根据本发明的方法所必需 的。在200,接收客户机应用程序以供执行。在202,用户向客户机应用程序 的查询输入框中输入査询字符。在204,对照经索引的基于网络(例如基于因 特网的服务)的搜索服务实时处理该字符。在206,基于所输入的字符,从基 于网络的服务返回搜索结果。在208,呈现搜索结果的建议列表以完成查询输 入框中的查询。在210,系统确定用户是否选择了所建议的查询之一。如果是, 则呈现搜索结果,且查询过程停止。或者,如果用户未选择所建议的査询中的 任一个,则流程从210进行到212以接收用户在査询输入框中输入的下一查询 字符。流程然后返回204来对照基于网络的索引服务处理现有的字符组合,并 在査询输入框中提供新的搜索结果建议列表。现在参考图3,示出了根据另一方面处理査询的替换方法。在300,接收 客户机应用程序。在302,用户将一组字符(至少两个)输入到客户机应用程 序的査询输入框中。在304,对照基于因特网的索引服务处理多个字符。在306, 基于所处理的字符组,从基于因特网的服务返回搜索结果。在308,将已完成 査询的建议搜索结果实时注入到査询输入框中以呈现先行估计査询。图4示出了根据发明性方面采用便于先行估计的査询处理的组件的客户 机应用程序400。在此实现中,应用程序400可包括图1的査询和搜索组件(102和104)以及触发组件402、排序组件404、规则组件406以及学习和推理组件 408。触发组件402便于包括影响查询过程的其它数据。例如,可处理诸如用户 档案信息的个性化信息,以提炼或縮小搜索结果。用户档案信息可包括关于不 要访问哪些站点、总是首先访问哪些站点等的偏好。其它个性化信息可包括从 之前搜索跟踪和存储的历史数据(例如,位于收藏夹文件中、历史文件中)。 因此,可从用户机器或设备的其它应用程序本地访问该个性化触发信息以影响 如何处理查询,以用于先行估计实时呈现。触发组件402还可便于在搜索结果返回给用户时影响、提炼或过滤搜索结 果。因此,搜索结果的个性化可通过例如再次考虑用户偏好信息、频繁访问的 网站(例如,历史文件)和/或所偏好的一组网站(例如,收藏夹文件)来实现。 在一个示例中,如果用户开始输入字符"h-o-t",则最常用的站点可能是 Hotmail,但基于用户浏览历史,应用程序实际上知道Hot Jobs才是用户想要 访问的网站。其它个性化信息可包括一天中用户通常访问给定网站的时间。例 如,如果用户通常在早上8-9AM之间访问MSN.COM,则该信息可被用于提 炼査询和搜索结果。排序组件404可便于对结果排序。排序准则同样可基于诸如所偏好的网 站、所偏好的查询项(如从以往的查询条目中获知)等的个性化信息。规则组件406可存储和处理可由用户创建和/或可从因特网服务下传的任 意数量的规则。用户定义的规则可例如经由实施査询的客户机应用程序或客户 机器上的任何其它相关联的客户机应用程序来创建。规则的一个示例是"只考 虑任何一天中给定时间范围期间的査询选项X和Y"。另一规则可以是"在査 询输入框中检测到输入串h-o-t时执行规则A和B"。可以理解,这些仅是根 据本发明可以是用户定义的用于查询处理的众多规则中的几个示例。客户机应用程序400也可包括便于使根据本发明的一个或多个特征自动 化的可任选的机器学习和推理(LR)组件408。本发明(例如,结合选择)可 采用用于实现其各个方面的各种基于LR的方案。例如,用于确定采取何种规 则的过程可经由自动分类器系统和进程来推动。分类器是将输入属性向量x = (xl, x2, x3, x4, xw)映射到类标签c/a^(x)的函数。该分类器还输出该输入属于一类的置信度,即f(x)-co"/We"ce(c/c^(x))。 这样的分类可以使用基于概率和/或基于统计的分析(例如,因式分解为分析效 用和开销)来预测或推断用户想要自动执行的动作。支持向量机(SVM)是可以使用的分类器的一个示例。SVM通过在可能 输入的空间中找出以最佳方式从非触发事件中分出触发输入事件的超曲面来 操作。直观地,这使分类对于接近但不同于训练数据的测试数据是正确的。可 以使用其它定向或无定向的模型分类方法包括,例如朴素贝叶斯、贝叶斯网络、 决策树、神经网络、模糊逻辑模型,以及提供不同独立模式的概率分类模型。 本文所使用的分类也包括用于开发优先级模型的统计回归。可以通过本说明书容易地理解,本发明可以使用显式训练(例如,通过普 通训练数据)以及隐式训练(例如,通过观察用户行为、接收外部信息)的分 类器。例如,可以通过分类器构造器和特征选择模块内的学习或训练阶段来配 置SVM。因此,分类器可用于自动学习和执行多个功能,包括但不限于根据 预定准则进行判断,以下是示例实现。LR组件408可学习用户交互方面,随后基于之前学到的方面使交互自动 化。例如,如果按照通过之前用户交互所获知的,用户是超级用户(poweruser), 则LR组件408可对此进行确定,且还通过在査询呈现之间快速移动并直接跳 至先行估计操作和结果处理来使用户体验自动化。或者,如果经由用户交互, LR组件408确定该用户是新手,则自动化可限于允许用户更缓慢地认知查询 完成过程和搜索结果的各方面。然而,随着用户在査询过程期间变得更加熟练, LR组件408会了解这一点,并使查询完成过程和搜索结果的更多特征和方面 自动化。在另一实现中,LR组件408基于用户交互自动生成可被执行的规则。例 如由于用户有规律地与一特定网站进行交互,则LR组件408可创建在处理先 行估计查询操作时限制其它网站结果的规则。因此,随时间流逝,用户交互可 被自动记忆为规则,并存储在规则组件406中以便在任何时刻激活。另一示例 是,如果用户经常打错词语,这些打错词语最终将通过用户更正、应用程序拼 写检査等来解决。LR组件408可学习这些经常打错的词语,将其与正确拼写 相关联,并在先行估计査询输入和搜索结果处理中使用它们。这使用户免于在应用程序字典中手动插入经常打错的词语,该字典在输入时将自动更正打错的 词语。在另一实现中,LR组件408学习并将用户交互与特定的客户机应用程序 相关联。例如如果用户一般在电子数据表应用程序中时输入查询,且查询导致 对特定网站的访问,则该关联被学习,并与电子数据表应用程序而非另一客户 机应用程序相关联地进行存储。然而,可以了解交互信息可适用于一个以上的 应用程序。在又一示例中,LR组件408可基于用户交互以及对用户是超级用户还是 新手的了解来学习增加或减少以实时先行估计格式自动输入到査询输入框中 的字符数。该学习可基于用户打字有多快、在最终确实使用一建议结果时未使 用的建议字符和/或搜索结果、拼写错误数等。可以理解,这些仅是LR组件408在改善本发明的用户体验时可提供的能 力的少数几个示例。例如,LR组件408也可用于基于所学习的用户交互和查 询输入来对搜索结果排序。在一个实现中,用户可手动调节滑动条(或某种其 它用户控制输入)来增加或降低过程的自动化。例如,用户可手动配置系统, 以便仅在输入了三个字符以后而非对于每一字符执行搜索。在更稳健的实现 中,用于搜索的用户输入字符数可基于用户交互、所搜索的信息类型而动态增 加或减少。例如,当输入URL (统一资源定位符)被输入时,不需要在逐字符 的基础上进行搜索,而是一次性动态地增加2-3个字符,然后在输入过程的稍 后时间中放弃单个字符。图5示出了根据本发明的另一方面、利用个性化信息来縮小查询搜索的方 法。在500,接收客户机应用程序。在502, 一个或多个字符(例如,字母数 字、统一代码)被一次一个地输入到客户机应用程序的査询输入框中。在504, 访问个性化信息(例如,历史数据、收藏夹列表、用户偏好)。在506,对照 个性化用户数据处理输入到查询输入框中的字符。在508,针对基于因特网的 索引服务进行搜索,且基于输入的每一字符和个性化用户数来返回搜索结果。 在510,搜索结果被处理、排序、并被用于完成查询输入框中实时输入的査询。现在参考图6,示出了根据所公开的发明基于个性化数据来过滤搜索结果 的方法。在600,接收客户机应用程序。在602,用户在客户机应用程序査询输入框中输入字符。在604,对照基于因特网的搜索服务处理字符。在606, 搜索结果从基于因特网的搜索索引服务返回。在608,访问个性化用户数据。 在610,使用个性化用户数据过滤搜索结果。如上所指示,个性化用户数据可 包括用户偏好、用户档案信息、历史交互数据、收藏夹数据等。在612,使用 经过滤的搜索结果通过将搜索结果注入到查询输入框中并实时完成现有查询 字符串来提供査询的先行估计呈现。图7示出了根据另一方面基于用户交互而自适应地调节查询过程的方法。 在700,接收客户机应用程序。在702,由用户将一个或多个字符输入到客户 机应用程序查询输入框中。在704,监控用户交互,诸如键击、查询字符和建 议搜索结果的输入。在706,基于用户交互调节实时先行估计査询注入。调节 可例如基于键击输入的速度、键击输入的准确性以及建议搜索结果的选择来作 出。图8示出了根据另一方面基于用户交互而处理查询过程中拼写错误的方 法。在800,接收客户机应用程序。在802, 一个或多个字符被输入到该应用 程序的查询输入框中。在804,对照正确拼写词语的字典来处理查询词语,将 打错的词语更正为正确拼写。注意,这可以是本地字典和/或在线字典。此外, 该特征可被手动地禁用,使得用户随后可手动更正拼写错误的词语。在806,基于当前接收的字符完成查询。例如,如果用户开始输入字符 b-a-s-e,则系统通过为用户自动输入b-a-l-l作为建议来完成查询。可对多个其 它建议进行排序和提供,诸如用于basement的m-e-n-t,用于base station的 s-t-a-t-i-o-n等。图9示出了根据本发明的另一方面、通过提炼査询项来縮小查询的方法。 在900,接收客户机应用程序。在902,用户开始在客户机应用程序的査询输 入框中输入字符。在904,基于现有字符输入,对照基于因特网的索引服务执 行査询。在906,处理査询结果。在908,基于当前接收的字符和结果来提炼 查询,且经提炼的査询在査询输入框中自动呈现。例如,随着用户键入为 Zuwekz〃的b-a-s-e,系统自动建议Z)owe6a〃g/ov^,因为查询6ase6a〃太过普通 以致于不能返回一组良好的搜索结果,而6似eZ^// g/ov^是有良好结果可用的 流行査询。图IO示出了根据本发明的另一方面处理URL (统一资源定位符)查询的 方法。在IOOO,用户开始向客户机应用程序的查询输入框中输入URL字符。 在1002,系统对URL中所使用的任何项执行拼写更正。在1004,基于当前收 到的URL字符,对照基于因特网的服务来执行查询。在1006,基于用户在査 询输入框中提供的现有URL字符,在实时先行估计操作中为用户自动完成输 入框中的URL数据。图ll示出了根据本发明的另一方面对查询提供回答的方法。在IIOO,用 户开始在客户机应用程序的査询输入框中输入査询问题的字符。在1102,基于 当前提供的用户输入字符,对照基于因特网的索引服务来执行查询。在1104, 执行搜索,并返回搜索结果作为对查询问题的回答,在用户完成查询问题中的 字符输入之前,向用户呈现对查询问题的回答。图12示出了采用本发明的实时先行估计查询处理体系结构的客户机计算 系统1200。客户机系统1300可仅包括图1的查询组件102和搜索组件104以 执行查询过程。此处描述了与系统1200的能力相关的各方面。图13示出了根据发明性方面、用于査询处理的系统的替换实现1300。此 处,客户机器1302仅包括查询组件102,而远程系统或位置1304包括搜索组 件104。它们之间的通信可以通过有线和/或无线连接。系统1300可应用在客 户机器1302可以是具有有限能力的台式计算机而远程位置或设备可以是对等 计算设备的环境中。图14示出了表示本发明的各方面的系统1400的流程总览。客户机应用程 序包括客户机输入界面1402,它可包括查询输入框1404以及呈现输入框中类 似的先前字符输入的下拉式历史菜单1406。如所指示的,当向输入框1404中 输入字符时,用户作出的每一次键击可被传递到触发组件1408中并由它进行 处理。如上所指示,触发组件1408包括触发逻辑,该触发逻辑可纳入由客户 机实施但由客户机和/或基于因特网的服务所规定的规则。根据触发逻辑,对由 键击生成的每一字符打包,并在依照搜索系统1410的搜索中使用。搜索系统 1410可包括回答数据库1412、全文本索引1414、完成/提炼/拼写更正数据结 构1416以及其它服务(未示出)。如所示的,将每一字符从客户机传给基于 因特网的搜索系统1410以便进行搜索处理,并返回在用户输入字符时便于在查询输入框1404中进行实时先行估计查询完成的搜索结果和建议。图15示出了可在其中输入查询字符的web浏览器搜索框的部分屏幕截图 1500。随着用户输入字符H-o-t,呈现更多流行结果和建议的下拉式菜单,以 提供经排序的建议。此处,用户选择Hotwheds。图16示出了具有类似功能的web浏览器导航框实现的部分屏幕截图 1600。此处,随着用户向查询输入框输入字符,从收藏夹列表中以包括此时所 输入字符的问题和相关语句的形式返回结果。例如,字符D-o-g的输入导致所 返回的问题诸如为"Who let the dog out "和"Dog grooming tips",它们与用 户先前访问的位置相关联。类似地,历史菜单呈现以往曾访问过的位置,例如 与"Alaskan sleigh Ride races" 、 "Canine Wonderland"以及"German Shepard Weekly"相关联的网站。图17示出了具有类似功能的替换web浏览器导航框的部分屏幕截图 1700。图17示出了建议因特网地址的实际地址框。常规上,如果用户键入地 址、或在地址框中打错地址,浏览器可返回"did you mean...(你的意思是。。。)" 响应。这基于来自本地机器中历史文件的匹配字符。本发明从提供因特网地址 建议的基于因特网的服务接收这样的建议,而不仅是本地建议。在此,当用户 输入M-S-N时,所建议的结果可被排序,如www.msnbc.com以及对该地址位 置网站的描述。这些例如可基于用户收藏夹和用户历史来过滤和排序,如图所 示。图18示出了在输入査询被完全输入之前呈现回答的查询过程的部分屏幕 截图1800。考虑当用户开始在査询框中键入"w-e-a-t-h-e-r (天气)",系统 立即建议对于天气的前六个査询作为排序信息。这是基于提供该信息的因特网 服务而非客户机的。此外,客户机界面从因特网中提取它认为可能是对该查询的立即回答的信息。因此,查询还未被处理,但提供了可能的回答。在此示例 中,不仅提供前六个查询,顶层査询还被处理成呈现用户位置(例如,Seattle (西雅图))的相关联天气,以及用户在以往可能表示过兴趣的位置(例如, Miami (迈阿密)和New England (新英格兰))的相关联天气。图19示出了采用桌面任务栏査询输入框1902的用户界面的部分屏幕截图 1900。随着用户在框1902中输入b-l-o-g字符,返回针对blog(博客)的结果,并根据通信应用程序(例如,电子邮件应用程序)、用于文件名包括词语Wog 的图像和视频的图片和视频组、以及文件名包括词语Wog的文件组来分组。图20示出了根据一方面、查询完成和提炼过程的部分屏幕截图2000。此 处当用户输入6aw6"〃时,提供提炼的查询建议(例如,6as"a〃g/ov^、k^6a〃 的下拉式菜单,由此用户可作出选择。图21示出了根据一方面的查询拼写更正过程的部分屏幕截图2100。此处, 用户在查询输入框中输入6we^/汰,系统提供搜索结果的建议正确拼写和所提 炼的已完成的正确拼写和不正确拼写查询(例如,6aye6a// hVfc game、 Z^^6fl/汰/Agflmw)的下拉式菜单供用户认知和选择。现在参考图22,示出了可用于执行所公开的查询处理体系结构的计算机 的框图。为了向本发明的各方面提供附加的上下文,图22及以下讨论旨在提 供可在其中实现本发明各方面的合适计算环境2200的简要、大致的描述。尽 管以上在可以在一台或多台计算机上运行的计算机可执行指令的通用上下文 中描述了本发明,但是本领域的技术人员可以认识到,本发明也可以结合其它 程序模块和/或作为软硬件组合来实现。一般而言,程序模块包括例程、程序、组件、数据结构等,它们执行特定 的任务或实现特定的抽象数据类型。而且,本领域的技术人员可以理解,本发 明方法可以使用其它计算机系统配置来实现,包括单处理器或多处理器计算机 系统、小型机、大型机、以及个人计算机、手持式计算设备、基于微处理器的 或可编程消费电子产品等,它们中的每一个都可以有效地耦合到一个或多个相 关联的设备。本发明的所示方面也可以在分布式计算环境中实现,在分布式计算环境中 某些任务是由通过通信网络链接的远程处理设备执行的。在分布式计算环境 中,程序模块可以位于本地或远程存储器存储设备中。计算机一般包括各种计算机可读介质。计算机可读介质可以是可由计算机访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。 作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。 计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、 ROM、 EEPROM、闪存或 其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、 磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机 访问的任何其它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的 计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。 术语"已调制数据信号"指的是这样一种信号,其一个或多个特征以在信号中 编码信息的方式被设定或更改。作为示例,而非限制,通信介质包括有线介质, 诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无 线介质。上述中任一个的组合也应包括在计算机可读介质的范围之内。再次参考图22,示出了用于实现本发明各方面的示例性环境2200包括计 算机2202,计算机2202包括处理单元2204、系统存储器2206和系统总线2208。 系统总线2208将包括但不限于系统存储器2206在内的系统组件耦合到处理单 元2204。处理单元2204可以是各种商用处理器的任一种。双微处理器和其它 多处理器体系结构也可以作为处理单元2204使用。系统总线2208可以是若干类型总线结构中的任一种,可进一步与存储器 总线(带有或不带有存储器控制器)、外围总线和使用各种商用总线体系结构 中任一种的局部总线进行互连。系统存储器2206包括只读存储器(ROM) 2210 和随机存取存储器(RAM)2212。基本输入/输出系统(BIOS)存储在诸如ROM、 EPROM、 EEPROM等非易失性存储器2210中,其中BIOS包含有助于诸如启 动时在计算机2202中元件之间传递信息的基本例程。RAM2212还可以包括用 于高速缓存数据的诸如静态RAM的高速RAM。计算机2202还包括内部硬盘驱动器(HDD) 2214 (例如EIDE、 SATA), 其中内部硬盘驱动器2214也可被配置为在合适的机箱(未示出)中供外部使 用;软磁盘驱动器(FDD) 2216 (例如读写可移动盘2218)以及光盘驱动器 2220 (例如读CD-ROM盘2222,或者读写诸如DVD的其它高容量光介质)。 硬盘驱动器2214、磁盘驱动器2216和光盘驱动器2220可以分别通过硬盘驱动 器接口 2224、磁盘驱动器接口 2226和光盘驱动器接口 2228连接到系统总线 2208。用于外部驱动器实现的接口 2224包括通用串行总线(USB)和IEEE 1394接口技术中的至少一个或两者。其它外部驱动连接技术落在本发明的构想内。 驱动器及其相关联的计算机可读介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机2202,驱动器和介质容纳以合适数字格式 的任何数据的存储。尽管以上计算机可读介质的描述提及HDD、可移动磁盘 和诸如CD或DVD的可移动光介质,但本领域的技术人员应该理解,计算机 可读的其它类型的介质,诸如zip驱动器、磁带盒、闪存卡、盒式磁带等,也 可以在示例性操作环境中使用,而且,任何这样的介质可以包含用于执行所公 开的本发明的方法的计算机可执行指令。多个程序模块可存储在驱动器和RAM 2212中,包括操作系统2230、 一 个或多个应用程序2232、其它程序模块2234和程序数据2236。操作系统、应 用程序、模块和/或数据的全部或部分也可以高速缓存在RAM 2212中。可以 理解,本发明可以使用各种商用操作系统或操作系统的组合来实现。用户可以通过一个或多个有线/无线输入设备,例如键盘2238和诸如鼠标 2240的定点设备来向计算机2202输入命令和信息。其它输入设备(未示出) 可包括麦克风、IR遥控器、操纵杆、游戏垫、指示笔、触摸屏等。这些和其它 输入设备通常通过耦合至系统总线2208的输入设备接口 2242连接到处理单元 2204,但可以由其它接口连接,诸如并行端口、 IEEE 1394串行端口、游戏端 口、 USB端口、 IR接口等。监示器2244或其它类型的显示设备也通过诸如视频适配器2246的接口连 接至系统总线2208。除监示器2244之外,计算机一般包括其它外围输出设备 (未示出),诸如扬声器、打印机等。计算机2202可使用通过有线和/或无线通信至诸如远程计算机2248的一 台或多台远程计算机的逻辑连接在网络化环境中操作。远程计算机2248可以 是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理 器的娱乐设备、对等设备或其它公共网络节点,并且一般包括相对于计算机 2202描述的元素的多个或全部,但是为了简明起见,仅示出存储器/存储设备 2250。所示逻辑连接包括至局域网(LAN) 2252和/或例如广域网(WAN) 2254 的较大网络的有线/无线连接。这样的LAN和WAN网络环境在办公室和公司 中是常见的,且促进诸如内联网的企业范围网络,它们全部都可连接至例如因特网的全球通信网络。当在LAN联网环境中使用时,计算机2202通过有线和/或无线通信网络 接口或适配器2256连接至局域网2252。适配器2256可促进与LAN2252的有 线或无线通信,LAN 2225也可包括部署其上的用于与无线适配器2256通信的 无线接入点。当在WAN联网环境中使用时,计算机2202可以包括调制解调器2258, 或者连接至WAN 2254上的通信服务器,或者具有用于通过诸如因特网等 WAN 2254建立通信的其它装置。调制解调器2258可以是内置或外置的以及 有线或无线设备,它通过串行端口接口 2242连接至系统总线2208。在网络化 环境中,相对于计算机2202描述的程序模块或其部分可以存储在远程存储器/ 存储设备2250中。可以理解,所示网络连接是示例性的,且可使用在计算机 之间建立通信链路的其它手段。计算机2202可以用于与有效部署在无线通信中的任何无线设备或实体通 信,例如,打印机、扫描仪、台式和/或便携式计算机、便携式数据助理、通信 卫星、与无线可检测标签(例如公共电话亭、报亭、休息室)相关联的任何设 备部分或位置、以及电话。这至少包括Wi-Fi和Bluetooth (蓝牙)无线技术。 因此,通信可以是使用常规网络的预先定义的结构,或仅仅是至少两个设备之 间的专设通信。Wi-Fi即无线保真允许从家里的睡椅、旅馆房间中的床或工作单位的会议 室无线地连接至因特网。Wi-Fi是类似于蜂窝电话中使用的技术的无线技术, 它使得例如计算机这样的设备能够在室内外处于基站范围内的任何地方收发 数据。Wi-Fi网络使用被称为IEEE 802.11(a、 b、 g等)的无线电技术来提供安 全、可靠、快速的无线连接。Wi-Fi网络可以用于将计算机彼此连接、连接至 因特网、以及连接至有线网络(使用IEEE 802.3或以太网)。Wi-Fi网络在非 特许的2.4和5 GHz无线电波段中,例如以11 Mbps(802.1a)或54 Mbps(802.1 lb) 数据速率运行,或者带有包括两种波段(双波段)的产品,因此网络可以提供 类似于在许多办公室中使用的基本10BaseT有线以太网网络的真实世界性能。现在参考图23,示出了根据另一方面可容纳查询处理发明的示例性计算 环境2300的示意框图。系统2300包括一个或多个客户机2302。客户机2302可以是硬件和/或软件(例如,线程、进程、计算设备)。客户机2302可以例 如,通过使用本发明来容纳cookie和/或相关联的上下文信息。系统2300也包括一个或多个服务器2304。服务器2304也可以是硬件和/ 或软件(例如,线程、进程、计算设备)。服务器2304可以例如,通过使用 本发明来容纳执行变换的线程。客户机2302与服务器2304之间的一种可能的 通信可以是以适用于在两个或多个计算机进程之间传送的数据包的形式。数据 包可以包括,例如cookie和/或相关联的上下文信息。系统2300包括通信架构 2306 (例如,诸如因特网等全球通信网络),它可以用于促进客户机2302与 服务器2304之间的通信。可以通过有线(包括光纤)和/或无线技术来促进通信。客户机2302有效 连接至可以用于存储客户机2302的本地信息(例如,cookie和/或相关联的上 下文信息) 一个或多个客户机数据存储2308。类似地,服务器2304有效连接 至可使用来存储服务器2304的本地信息的一个或多个服务器数据存储2310。以上描述包括所公开的本发明的示例。当然,不可能描述每个可想象的组 件和/或方法的组合,但是本领域的普通技术人员可以认识到,还可能有本发明 的众多其它组合和排列。从而,本发明旨在涵盖落入所附权利要求书精神和范 围内的所有这样的变更、修改和变化。而且,就在详细描述中或者在权利要求 书中使用的术语"包括"而言,如同当"包含"被用作权利要求书中的过渡词 时所解读的一样,这样的术语旨在与之类似地是包含性的。
权利要求
1. 一种便于查询处理的系统,包括以下计算机可执行组件查询组件,便于在查询生成过程期间将查询数据的一部分输入到客户机应用程序中;以及搜索组件,响应于接收所述查询数据的一部分访问基于网络的服务来建议附加查询数据,并将所述附加查询数据传输给所述查询组件以便向用户呈现。
2. 如权利要求1所述的系统,其特征在于,所述査询组件包括所述客户 机应用程序的客户机输入框。
3. 如权利要求l所述的系统,其特征在于,随着用户向所述客户机应用 程序键入一个或多个字符,所述查询组件输入经由所述客户机应用程序呈现所 建议的附加査询数据。
4. 如权利要求1所述的系统,其特征在于,所述基于网络的服务是因特 网服务。
5. 如权利要求1所述的系统,其特征在于,所述查询组件便于将所建议 的附加查询数据输入到所述客户机应用程序的浏览器搜索框、浏览器导航框以 及桌面任务栏中的至少一个。
6. 如权利要求1所述的系统,其特征在于,所述查询数据是被输入到所 述客户机应用程序的输入框中的单个字符。
7. 如权利要求1所述的系统,其特征在于,所述客户机应用程序是文字处理应用程序、浏览器应用程序、电子数据表应用程序和演示应用程序中的至少一个。
8. 如权利要求1所述的系统,其特征在于,所述查询数据是被输入到所述客户机应用程序的输入框中的多个字符。
9. 如权利要求1所述的系统,其特征在于,根据所述客户机应用程序本 地存储的结果的高速缓存来建议所述附加査询数据。
10. 如权利要求1所述的系统,其特征在于,还包括采用基于概率和/或 统计的分析来预测或推断用户期望自动执行的动作的机器学习和推理组件。
11. 如权利要求l所述的系统,其特征在于,还包括使所述査询生成过程适于所述用户的熟练程度的自适应组件。
12. 如权利要求1所述的系统,其特征在于,所述附加查询数据是基于个 性化的搜索信息的。
13. 如权利要求l所述的系统,其特征在于,所述附加査询数据是基于个性化的搜索结果的。
14. 一种处理查询的计算机实现方法,所述方法包括以下计算机可执行动作将查询字符接收到客户机应用程序的查询输入框;实时访问基于所述査询字符返回搜索结果的基于因特网的搜索服务;以及 以先行估计的方式建议附加查询字符,其中响应于接收搜索结果而与所述 査询字符相关联地向用户呈现附加査询字符。
15. 如权利要求14所述的方法,其特征在于,除所述访问基于因特网的 搜索服务的动作以外或作为其替换中的至少一种,还包括访问最流行查询的本 地高速缓存。
16. 如权利要求14所述的方法,其特征在于,还包括以下动作的至少一个.基于所述搜索结果建议经提炼的查询;以及在由所述用户输入所有查询字符之前,基于所述搜索结果建议已完成的查询。
17. 如权利要求14所述的方法,其特征在于,还包括基于所述搜索结果 建议査询拼写的拼写更正。
18. 如权利要求14所述的方法,其特征在于,还包括建议URL查询数据的正确拼写,并基于URL搜索结果更正URL査询数 据;以及基于所述URL搜索结果向所述用户建议URL。
19. 如权利要求14所述的方法,其特征在于,还包括在所述査询被提交 之前向所述查询提供回答。
20. —种计算机可执行系统,包括用于将査询字符接收到客户机应用程序的查询输入框中的计算机实现装置;用于实时访问基于所述查询字符返回搜索结果的基于因特网的搜索服务 的计算机实现装置;用于以先行估计的方式建议附加查询字符的计算机实现装置,其中响应于 接收搜索结果而与所述査询字符相关联地向用户呈现附加查询字符。
全文摘要
提供一种通过在客户机应用程序中提供查询输入框来超越常规体系结构所提供的部分的体系结构,该输入框通过将来自基于网络的服务的结果与来自客户机应用程序的结果进行集成来提供丰富的先行估计查询结果。随着用户向客户机输入框中键入查询,基于网络的实时搜索结果被注入到查询中。当用户向客户机应用程序的查询输入框中输入查询字符时,使用现有的查询字符经由基于因特网的索引服务来进行搜索。作为响应,搜索返回建议结果,它们随后被处理以完成在查询输入框中呈现以供用户选择的查询。
文档编号G06F17/00GK101283356SQ200680037800
公开日2008年10月8日 申请日期2006年10月6日 优先权日2005年10月14日
发明者M·L·高尔西科, N·I·穆拉卡, O·赫斯特-席勒, S·V·塞里-玛莱-阿纳丹菲莱 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1