解释本地搜索查询的制作方法

文档序号:6477947阅读:254来源:国知局
专利名称:解释本地搜索查询的制作方法
技术领域
在此描述的实施方式总体涉及信息检索,更具体地涉及为本地搜索查询返回结果。
背景技术
万维网("web")包含大量信息。然而,定位信息的所需部分可能是困难的。由于 恥b上的信息不断变化,使这一问题更趋复杂。 搜索引擎试图返回指向用户感兴趣的网页的超链接。通常,搜索引擎根据用户输 入的搜索词语(称为搜索查询)来确定用户的兴趣。搜索引擎的目标是基于搜索查询向用 户提供指向高质量的相关结果(例如,网页)的链接。典型地,搜索查询通过将搜索查询中 的词语与预先存储的网页语料库相匹配来实现这一目标。包含用户的搜索词语的网页是 "命中页"并且作为链接被返回给用户。 本地搜索引擎是试图返回在特定地理区域内的相关网页和/或企业收录 (business listing)的搜索引擎。对于本地搜索,用户可以输入与用户感兴趣的地理区域 相关联的搜索查询。本地搜索引擎可以向用户返回相关结果,诸如属于该地理区域的相关 网页或在该地理区域中的企业的收录。 在本地搜索中,用户可以指定该用户感兴趣的地理区域。 一些本地搜索引擎提供 被分别标记的文本输入域,在所述被分别标记的文本输入域中用户可以输入其本地搜索查 询和感兴趣的地理区域。例如,本地搜索引擎可以向用户呈现"what(何物)"文本输入框 和"where (何地)"文本输入框。用户可以在"what"框中输入诸如"pizza (皮萨)"的搜 索查询以及在"where"框中输入诸如"Manhattan,NY(曼哈顿,纽约)"的位置。然后,本地 搜索引擎可以进行对"pizza"的搜索,其中与对应于"Manhattan,NY"的地理位置相关联的 相关企业收录和/或网页被返回。 替代向用户清楚地询问分别的"what"和"where"词语, 一些现有的本地搜索引擎 可以向用户呈现单个输入搜索框。由于这样的方法呈现更简洁的界面,故其可能是有益的。 搜索引擎可以分析输入的搜索查询来试图确定期望的"what"和"where"部分。所期望的 是,将搜索查询分割成what和where部分的分析尽可能的反映用户的意图。

发明内容
—个方面涉及一种方法,该方法包括接收包括词语的搜索查询;将搜索查询的 词语拆分成分割(partition);将分割的每一个作为搜索查询提交给多个库中的一个;以 及存储用于提交的分割的每一个的置信分值,所述置信分值基于从库接收的结果而生成, 并且每一个置信分值提供与结果相关联的置信的测量。 又一个方面涉及一种搜索引擎,该搜索引擎包括被配置来执行不同类型的搜索的 搜索库和搜索组件。搜索组件从用户接收搜索查询;以及基于该搜索查询而生成额外的搜 索查询,所述额外的搜索查询每一个与多个搜索库中的一个相关联。搜索组件将额外的搜索查询额外地提交给搜索库;接收从搜索库返回的用于额外的搜索查询的结果;以及基于 从多个搜索库返回的结果向用户传送搜索结果。 又一个方面涉及一种方法,该方法包括从用户接收搜索查询;基于该搜索查询 而生成多个额外的搜索查询;将额外的搜索查询提交给多个搜索库;从多个搜索库接收用 于额外的搜索查询的搜索结果;基于所接收的搜索结果来选择多个额外的搜索查询作为与 来自用户的搜索查询的最佳解释相对应的搜索查询;以及将包括用于从用户接收的搜索查 询的所选择的最佳解释的搜索结果的网页传送给用户。


并入且构成本说明书的一部分的附示本发明的实施例,并结合
具体实施例方式
说明本发明。在图中 图1是概念地图示符合本发明的方面的示例实施方式的图;
图2是在其中在此描述的概念可被实现的示例网络的图; 图3是可以与图2中示出的客户端的一个或多个或者服务器相对应的设备的示例 图; 图4是图示本地搜索引擎的示例实施方式的图;
图5是图示本地搜索引擎的示例操作的流程图; 图6是概念地图示搜索查询解释的生成和评估的一个示例实施方式的图;
图7是图示用于对表示搜索计划的树结构进行评估的示例操作的流程图;
图8是概念地图示用于搜索查询解释的生成和评估的示例多级树结构的部分的 图;以及 图9-11是可向用户呈现的用户界面的示例图。
具体实施例方式
本发明的下文的详细描述参考附图。各个附图中相同的标记可以识别相同或相似 的元素。而且,下文的详细描述不限制本发明。
概述 在此描述了用于智能地解释用户作为单个短语(即在单个输入搜索框中)输入的 本地搜索查询的技术。可为搜索查询生成多个可能的解释。可能的解释中的每一个的质量 可以潜在地相互并行地被探查,并且多个可能的解释中的"最好的"一个可被选择并且被用 来向用户返回本地搜索结果。 图l是概念地图示示例实施方式的图。假设用户意欲查找到餐馆"Jack In The Box"的路线指引。该用户可以在搜索框105中输入诸如"jack in the box Stanford ca" 的搜索查询,然后诸如通过按下本地搜索按钮iio来发起本地搜索。在该示例中,搜索查询 指示用户意欲定位在加州斯坦福的称为"Jack In The Box"的餐馆。虽然在该搜索中的 "what" (Jack In The Box)和"where" (Stanford, California(斯坦福,加州))对人类来 说是清楚的,但是自动解析该查询来获取该解释可能很困难。例如,朴素自动解析算法可能 将该搜索查询解释为基于位置"The Box Stanford, California"对企业"Jack"的搜索。 词语"in"可能被解释为分隔符词语而被移除。方面,搜索引擎可以执行多个搜索,每一个潜在地基于搜索查 询的不同解释。在图l中示出了两种解释。在第一种解释中,假设"jack in the box"为 查询的"what"部分,以及假设"StanfordCA"为查询的"where"部分。在第二种解释中,假 设"jack"为查询的"what"部分,以及假设"the box Stanford CA"为查询的where部分。
可以使用可能的解释中的每一个来进行搜索。搜索的结果然后可被用来确定哪个 解释可能是用户期望的解释(即"正确的"解释)。例如,在该示例中,用于解释1的搜索结 果可能比用于解释2的搜索结果更好。因此,用于解释1的搜索结果可被假设为是正确的 结果并且被返回给用户。
示例网络配置 图2是在其中在此描述的概念可被实现的网络200的示例图。网络200可以包括 经由网络250连接到服务器220的多个客户端210。为简化起见,将两个客户端210和一个 服务器220图示为连接到网络250。实际上,可以有更多或更少的客户端和服务器。而且, 在一些实例中,客户端可以执行服务器的功能以及服务器可以执行客户端的功能。
客户端210可以包括诸如无线电话、个人计算机、个人数字助理(PDA)、膝上型计 算机或另一类型的计算或通信设备的设备、在这些设备的一个上运行的线程或进程和/或 可由这些设备的一个执行的对象。服务器220可以包括收集、处理、搜索和/或维护信息的 硬件和/或软件。 服务器220可以包括可由客户端210使用的本地搜索引擎225。本地搜索引擎可 被设计来返回用于与地理区域有关的搜索的相关网页、企业收录或地图。虽然在图2中将 服务器220作为单个实体示出,但是服务器220可被实现为多个潜在分布的计算设备。
网络250可以包括局域网(LAN)、广域网(WAN)、诸如公用交换电话网(PSTN)的电 话网络、内联网、互联网、存储器设备或网络的组合。客户端210和服务器220可以经由有 线、无线和/或光学连接来连接到网络250。
示例客户端/服务器架构 图3是可以与客户端210的一个或多个和/或服务器220相对应的设备的示例图。 客户端/服务器实体可以包括总线310、处理器320、主存储器330、只读存储器(ROM) 340、 存储设备350、输入设备360、输出设备370以及通信接口 380。总线310可以包括允许客户 端/服务器实体的元件间的通信的路径。 处理器320可以包括解释和执行指令的常规处理器、微处理器或处理逻辑。主存 储器330可以包括随机存取存储器(RAM)或可以存储用于处理器320执行的信息和指令的 另一类型的动态存储设备。ROM 340可以包括常规R0M设备或可以存储由处理器320使用 的静态信息和指令的另一类型的静态存储设备。存储设备350可以包括磁和/或光记录介 质及其相应的驱动。 输入设备360可以包括允许操作者将信息输入到客户端/服务器实体的常规机 制,诸如键盘、鼠标、输入笔、语音识别和/或生物识别机制等。输出设备370可以包括将信 息输出给操作者的常规机制,包括显示器、打印机、扬声器等。通信接口 380可以包括使客 户端/服务器实体能够与其它设备和/或系统通信的任何收发器类机制。例如,通信接口 380可以包括用于经由诸如网络250的网络与另一设备或系统通信的机制。
响应于处理器320执行包含在诸如存储器330的计算机可读介质中的软件指令,
8设备210/220可以执行如在下文详细描述的某些操作。计算机可读介质可被定义为物理或 逻辑存储器设备。 软件指令可以从诸如数据存储设备350的另一计算机可读介质或经由通信接口 380从另一设备读入存储器330。包含在存储器330中的软件指令可以使处理器320执行 稍后所述的过程。替选地,可以使用硬连线电路来替代或结合软件指令以实现符合本发明 的原理的过程。因此,符合本发明的原理的实施方式不限于硬件电路和软件的任何特定组合。 示例搜索系统 图4是图示本地搜索引擎225的示例实施方式的图。本地搜索引擎可以包括搜索 组件410和一组搜索库430。通常,搜索组件410可以将搜索查询提交给搜索库430-1至 430-N(统称为搜索库430)中的一个或多个并且从搜索库430接收回搜索结果。
搜索库430每一个可以包括特定类型或种类的数据的索引集。例如,如图4中所 示,搜索库430-1可以包括本地搜索数据。本地搜索数据可以包括企业、网页、评论或与地 理位置相关联的其它信息的索引。搜索库430-2可以包括地图数据。该地图数据可以包括 道路的名称和位置、地区、城市和国家。地图数据库430-2通过诸如由诸如地址(例如街道 地址、邮编等)的关键词提供的地理位置可以是可搜索的。地图数据库430-2可以返回与 输入到搜索库430-2的搜索查询相对应的诸如图形化地图的地图数据或诸如经纬度的坐 标系。 搜索库430也可以与适当的硬件/软件相关联来执行对库中的数据的搜索。例如, 本地搜索数据库430-1可以包括一个或多个诸如服务器220的计算设备,所述计算设备可 以从搜索组件410接收搜索查询并且响应于搜索查询而返回诸如指向相关文档的链接的 搜索结果。搜索结果可以额外地包括与搜索结果相关联的相关性或质量分值。这些分值可 被搜索组件410用来获取测量搜索库对搜索结果的置信程度的置信分值。用于搜索结果的 特定集合的置信分值可被计算,例如为某一数量的搜索结果的相关性分值的总和或平均数 (例如,为五个最相关搜索结果的平均相关性分值)。作为另一个示例,用于搜索结果的特 定集合的置信分值可被计算为搜索结果集中的最高(即最相关)规范化相关性分值。
在一些实施方式中,库430可被实现为包含多种类型的搜索数据的单个库。
在操作中,搜索组件410可以通过网络250从用户诸如从客户端210的用户接收 搜索查询。搜索查询可以是用于本地搜索的搜索查询并且可以作为单个短语被接收。艮卩, 搜索查询可由用户在单个文本框中输入,其中用户未明确定义搜索查询的哪部分涉及用户 搜索的事物(搜索查询的"what"部分)以及搜索查询的哪部分涉及用户感兴趣的地理位 置(搜索查询的"where"部分)。 图5是图示本地搜索引擎225的示例操作的流程图。首先,本地搜索引擎225可 以从用户接收本地搜索查询(动作510)。如前所述,搜索查询可被输入到单个文本框中,其 中搜索查询的"what"和"where"部分未被用户明确定义。 搜索组件410可以生成搜索查询的多个可能的解释,在此也称为"拆分"(动作 520)。例如,搜索查询可被拆分为多个可能的what和where部分。在一些实施方式中,对 于查询,每个可能的拆分均可被考虑。在替选的实施方式中,规则或试探法可被应用来试图 智能地选择用于搜索查询的可能的拆分的子集。此外,可能的是,what或where部分为空,
9或者拆分可以包括在what和where部分中均含的一个或多个词语。 基于每一个生成的解释,搜索组件410可以执行搜索(动作530)。搜索可以包括 将搜索查询的where部分传送到地图数据库430-2。作为响应,地图数据库430-2可以生成 地理坐标信息,诸如经纬度值或其它坐标信息。地理坐标信息可与查询的what部分一起被 发送到本地搜索数据库430-1以获取与查询的what部分和由坐标信息定义的位置均相关 的搜索结果。 如前所述,从本地搜索数据库430-1以及也潜在地从地图数据库430-2返回的搜 索结果集可以与定义每一个结果与搜索查询的相关程度的依赖查询的相关性分值相关联。 搜索组件410可以使用这些相关性分值来生成指示搜索结果集对于查询的置信级别的值, 在此称为置信分值。 在一个实施方式中,基于每一个生成的解释的搜索(动作530)通常可以相互并行 地被执行。即,搜索组件410可以将定义不同的搜索解释的搜索查询同步或异步地提交到 搜索库430。搜索查询然后可由搜索库430并行地处理并且当其被完成时被返回给搜索组 件410。 基于置信分值,搜索组件410可以选择搜索查询解释中的最佳的或"最好的"一个 (动作540)。例如,具有最高置信分值的搜索查询解释可被选择为最好的搜索查询解释。在 一些实施方式中,"最好的"解释可以是来自多个解释的结果的合并集。
可将对应于最好的搜索查询解释的搜索结果返回给用户(动作550)。例如,本地 搜索引擎225可以将包括指向最相关的本地搜索结果的链接的网页传送给用户。在一些实
施方式中,与结果相关联的描述信息可被包括在网页中,所述描述信息诸如对于企业收录, 企业收录的电话号码和地址。此外,被确定为与同最好的解释的"where"部分相关联的地 理位置相对应的地理位置的图形化地图也可被包括在网页中。 搜索查询解释的生成和搜索查询解释的评估可以以多种方式执行。图6是更详细 地概念地图示搜索查询解释的生成和评估(即动作520和530)的一个示例实施方式的图。
如图6中所示,树结构600被用来创建搜索计划,通过该搜索计划查询解释被探 查。树600可以包括与所接收的搜索查询相对应的根节点601 ;根节点的子节点610-612, 其中子节点中的每一个与搜索查询的假定拆分相对应;以及孙节点620-625,其中孙节点 中的每一个表示其父节点的假定拆分的"what"或"where"部分。 在树结构600的示例中,根节点601与用户输入的搜索查询"pizzanew york"相 对应。在树600中列举了在子节点610-612中示出的该搜索查询的三个可能的解释。在子 节点610-612中,在查询的what和where部分之间的拆分由'7"指示。如所示,子节点610 与"pizza"为查询的what部分以及"new york"为where部分的解释相对应。子节点611 与"pizza new"为查询的what部分以及"york"为where部分的解释相对应。子节点612 与"pizza new york"为查询的what部分以及where部分为空的解释相对应。从子节点 610-612的每一个,两个孙节点被示出,其中成对的孙节点中的一个表示查询的what部分 以及另一个表示查询的where部分。例如,对于子节点610,孙节点620 (查询的what部分) 与搜索查询"pizza"相关联,以及孙节点621与搜索查询"newyork"相关联。对于子节点 611,孙节点622 (查询的what部分)与搜索查询"pizza new"相关联,以及孙节点623 (查 询的where部分)与搜索查询"york"相关联。对于子节点612,孙节点624 (查询的what
10部分)与搜索查询"pizza new york"相关联,以及孙节点625 (查询的where部分)为空 (即其不与搜索词语相关联)。 图7是图示用于对诸如树结构600的表示搜索计划的树结构进行评估的示例操作 的流程图。树中的叶节点可被评估(动作710)。叶节点在树结构600中被示出为"end(结 束)"节点,即节点620-625。对叶节点620进行评估可以与用叶节点指定的搜索库430执 行对叶节点的词语的搜索相对应。例如,在树结构600中,可将与搜索词语"newyork"相对 应的叶节点621提交到地图数据库430-2。可以保存该搜索的结果,诸如对应于搜索的地理 位置和与搜索相关联的置信分值(动作720)。此外,可以将返回的置信分值与节点621相 关联(动作730)。可为树结构600中的每一个叶节点重复动作710-730 (动作740)。
在一些情况中,在地图数据库430-2对搜索查询的where部分进行评估时,该搜索 查询的where部分可以返回歧义的结果。例如,存在多个被称为Springfield(斯普林菲尔 德)的城镇,从而,在地图数据库430-2中对"Springfield"的搜索可以产生多个似是而 非的地理位置。在一个实施方式中,通过将歧义的where部分扩展成多个不同的非歧义的 where部分并且将这些非歧义的where部分潜在地并行地提交到本地搜索数据库430_1,搜 索组件410可以处理搜索查询的歧义的where部分。例如,对于搜索查询"Springfield", 搜索组件可以提交搜索查询"Springfield, MA"、"Springfield, IL"以及"Springfield, VA"。以这种方式,搜索组件410可以消除搜索查询拆分的歧义where部分的歧义。
在一些实施方式中,动作710-740可以并行地或部分地相互并行地被执行。例如, 搜索组件410可以将叶节点620-625的搜索查询异步地提交到搜索库430。搜索库430其 自身可以由一个或多个计算设备实现,所述一个或多个计算设备可以每一个独立地执行所 接收的搜索查询并且将其返回到搜索组件410。 基于子节点的孩子(即该示例中的叶节点620-625)的置信分值,接着可将置信分 值赋值给每一个子节点(动作750)。例如,子节点610的置信分值可被计算为叶节点620 和621的置信分值的总和。以这种方式,根节点601的所有孩子可被探查并且与置信分值 相关联。最佳的拆分可被选择为与具有最高置信分值的子节点相对应的解释(图5,动作 540)。对于树结构600,由于"pizza"和"new york"可能为对本地搜索数据库430-1和地 图数据库430-2的搜索分别返回高置信分值,故最佳的解释可能与节点610相对应。
图8是概念地图示用于搜索查询解释的生成和评估的示例树结构800的部分的 图,其中树结构包括多级子节点。树结构800可由搜索组件410以递归的方式评估。假设 在该示例中初始查询为"restaurants nearhotels near lax(洛杉矶机场附近的旅馆附近 的餐馆)"。在第一级子节点810,查询被拆分,以使"restaurants"为查询的what部分且 "hotels固r lax,,为where部分。在第一级子节点811,查询被拆分,以使"restaurants near hotels"为查询的what部分且"lax"为where部分。树结构800额外地包括两个第二 级子节点820和821。在第二级子节点820,来自节点810的查询的where部分被进一步拆 分,以使"hotels"为查询的what部分且"lax"为where部分,如叶节点831和832所分别 指示。在第二级子节点821,来自节点811的查询的what部分被解释,以使"restaurants" 为查询的what部分且"hotels"为where部分,如叶节点834和835所分别指示。
可以以类似于在上文关于树结构600所描述的方式针对库430对叶830-835进行 评估。即,在树结构800中,叶831和832的置信分值可以指示查询应当被解释为指向洛杉矶机场附近的旅馆。叶830的置信分值可以进一步指示洛杉矶机场附近的旅馆附近的餐馆 是期望的。 在图6和8所示的示例搜索查询解释中,搜索查询以非重叠的方式被拆分。然而, 在一些实施方式中,搜索查询的what和where部分可以相互重叠。考虑搜索查询"Newark airport (纽瓦克机场)"。该查询的一个解释是将"Newark"用作为查询的where部分且将 "airport"用作为what部分。然而,第二个可能的解释是将"Newark airport"用作为what 部分且将"Newark"用作为where部分。由于词语"Newark"与用户感兴趣的位置相关,并 且描述用户感兴趣的事物,故该第二查询可能比第一查询具有更高的置信分值。作为另一 个示例,考虑查询"bronx zoo"。用于该查询的最好的解释可拆分该查询,以使"bronxzoo" 为查询的what部分且"bronx"为查询的where部分。 如上所述,通过对用于单个搜索查询的多个可能的解释进行探查,可能是最好或 最佳的解释的解释可以被确定。与可能的解释相关联的各个搜索查询可被并行地执行,因 而潜在地允许搜索查询探查被快速执行。 可对用于分割搜索查询的上述技术进行多种精化。在一种这样的精化中,用户场 境(context)信息可被用来增补搜索查询解释的what或where部分。如果用户当前正在 查看诸如特定区域的地图的与地理位置有关的信息,则搜索组件410可以使用当前正查 看的地图区域来影响查询解释的what部分。例如,如果用户正在查看纽约市的地图并且 搜索"Hilton (希尔顿)",则搜索组件410可以将该搜索查询解释为对在位置"New York City(纽约市)"的"Hilton"的搜索。其它信息也可被用作为可以增补搜索查询解释的 what或where部分的场境信息。例如,搜索查询解释可以由以下内容增补从用户的IP地 址获取的地理位置信息、用户先前向本地搜索引擎225登记的简档获取的地理位置信息或 其它信息、基于用户的搜索历史的信息、基于用户的查看历史的信息、基于搜索查询的语言 的信息和/或基于用户通过其来访问本地搜索引擎225的主机名的信息。通常,该用户场 境信息可被用来更智能地生成搜索查询解释。 本地搜索数据库430-1和地图数据库430-2两个库在上文被具体论述为搜索组件 410可以向其提交搜索查询的搜索库。更通常地,额外的库可被搜索组件410使用。例如, 额外的库可以包括例如但不限于与本地交通信息、在特定区域内发生的事件、房地产、驾车 路线指弓I或本地优惠券有关的库。 在操作中,在使用额外的库时,搜索组件410可以以类似于上述的方式生成搜索
查询的可能的解释,除替代将搜索查询限于最多两个分割外,对于每一个额外的库可以使
用额外的可能的分割。例如,在树结构600的场境中,每一个子节点610-612可以具有三个
或更多的叶节点,其中与叶节点相对应的搜索词语可以或不可以相互重叠。 作为使用三个库的搜索的示例,考虑搜索查询"pizza new york",并且假设除本
地搜索数据库430-1和地图数据库430-2夕卜,搜索组件410使用交通数据库。交通库可
以保持对特定地理区域的本地道路交通信息的追踪。 一个可能的搜索查询解释可以是将
"pizza"发送到本地搜索数据库430-1 、将"new york"发送到地图数据库430-2并且将
"newyork"发送到交通数据库的分割。作为在纽约市的批萨餐馆和描述餐馆邻近的交通的
信息的列表的搜索查询的结果然后可以被返回给用户。 在一些实施方式中,本地搜索引擎225也可以返回驾车路线指引。对于一些搜索查询,用于查询的最好解释可以是作为对驾车路线指引的请求。例如,搜索查询"sfo to sf"可被解释为对从旧金山机场到市区旧金山的驾车路线指引的请求。通过将搜索库430 中的一个用作为返回驾车路线指引的库,本地搜索引擎225可以包括返回驾车路线指引的 可能性。用于提交给该库的查询的高置信分值可以指示驾车路线指引或指向驾车路线指引 的链接应当被返回给用户。 在一些实施方式中,使用的可能的查询分割,诸如图6的节点610-612中示出的可 能的查询分割,可由搜索组件410使用试图预测可能的分割的统计模型来生成。替代生成 搜索查询的所有可能的分割,搜索组件410可以仅考虑统计模型确定为可能是最佳搜索查 询分割的查询分割。相对于生成查询分割的蛮力计算法,通过以这种方式来减少可能的搜 索查询分割的数量,可以减少提交给搜索库430的搜索的数量。有益的是,这可以减少本地 搜索引擎225的处理负荷。 特别长的搜索查询可以导致极大的搜索计划,就网络带宽和处理器应用而言这可 能使搜索过于昂贵。在一个实施方式中,在这种情况下,搜索组件410可以,替代使用库430 来并行地执行所生成的搜索解释中的每一个,搜索组件410可以连续地执行部分搜索解 释。统计模型可被用来对搜索进行排序,以使最有希望的搜索解释在较少希望的搜索解释 之前提交。例如,统计模型可以将概率估计赋值给每一个生成的查询解释。概率估计可被 用来对发送给库430的搜索进行排序。如果特定的搜索解释具有足够高的置信分值,诸如 高于预定阈值的置信分值,则搜索组件410可以相对快速地停止对该搜索查询的探查。
在一些实施方式中,可将搜索组件410生成的查询解释的数量限制在最大数量。 通过对单个搜索限制提交给库430的可能的查询的数量,对库430的总负荷可被控制。在 一个实施方式中,可以基于诸如库430的总负荷的因素调整最大数量。在这种方式中,搜索 组件410可以在解析效率和系统负荷之间达到平衡。 在一些情形中,歧义查询可以产生多个不同的解释,每一个解释具有相似的置信 分值。在一个实施方式中,为了比较并组合结果集合,搜索组件410可以应用智能评分方 案。例如,搜索组件410可以考虑以下因素,诸如查询分割的可能性、给定类型的查询分割 的先验概率、所返回的结果的置信分值以及所返回的结果的形心和用户的当前场境之间的 距离。进一步,与用户相关联的信息可被用来确定对特定查询分割的置信。例如,基于用户 的IP确定的地理位置、与用户相对应的cookie或用户从其访问站点的域的信息可在确定 对特定查询分割的置信时被使用。 在另一个实施方式中,可以通过向用户提示输入额外的信息来处理从用户接收的 歧义查询。例如,对于查询"pizza near 3rd",搜索组件410可以提示用户选择"pizza near 3rd street"或"pizza near 3rd證皿e,,的明P个是更适当的搜索查询。
在一些实施方式中,搜索组件410可以在查询中搜寻趋向指示用户的意图的关键 词或短语。这些关键词或短语可被存储为这样的词或短语的预定列表。该列表可被人工编 制或通过例如对查询日志的分析而自动生成。作为一个这样的短语的示例,考虑在搜索查 询"getting tojfk"的场境中的短语"getting to"。搜索组件410可以将短语"gettingto" 识别为与对驾车路线指引的请求相关联的短语。因此,搜索组件410可以提供到为搜索的 where部分"jfk"返回的位置(即JFK机场)的驾车路线指引。驾车路线指引可以从用户 正查看的当前位置或从另一个位置提供。
在一些实施方式中,在将搜索的结果返回给用户时,搜索组件410可以偶尔请求用户指定用户的查询的正确解释或指示搜索组件410所选择的解释是否正确。这些用户响应可被收集并且被用来进一步训练搜索组件410以用于未来的搜索。
示例本地搜索 图9-11是响应于提交给本地搜索引擎225的本地搜索可向用户呈现的用户界面的示例图。假设用户访问与诸如本地搜索引擎225的搜索系统相关联的界面。如图9中所示,用户可以经由单个数据输入域(例如单个搜索框)910输入搜索查询的一个或多个搜索词语。在这种情况下,用户输入了搜索词语"maternity dress Springfield(孕妇装斯普林菲尔德)"。 如上所述,本地搜索引擎225可以为该查询生成多个可能的查询解释。每一个解释可被拆分以包括被分别发送到本地搜索库和地图库的what部分和where部分。在这种情况下,本地搜索引擎225可以确定"Springf ield"与查询的where部分相对应且"maternitydress"与查询的what部分相对应。 图IO是其中向用户示出本地搜索结果的示例用户界面的图。如图10中所示,响应于搜索查询,搜索系统可以呈现本地搜索结果1000。在该示例中,本地搜索结果1000可在下述界面中提供,所述界面对于每一个结果文档包括与文档相关联的企业的地址信息、企业的电话号码、来自该文档或与企业相关联的另一个文档的摘录、指向与企业相关联的更多信息的链接、指向到企业的路线指引的链接、和/或指向涉及企业的一个或多个文档的链接。用户界面也可以提供搜索所覆盖的区域的地图。地图可以可选地包括指向与本地搜索结果IOOO相关联的企业或地址(或者本地搜索结果1000的某些集合)的指示器。在查询的"what"部分关于用户对地址还是企业感兴趣有歧义的情况下,地图可以包括指向地址和企业两者的指示器。 图ll是其中向用户示出本地搜索结果的另一个示例用户界面的图。除在图ll中示出了地图1110和1120两个不同的地图外,图11类似于图10。在搜索查询的what部分被确定为有歧义的情况下这可能是期望的。在该示例中,存在具有出售孕妇装的企业的多个名为"Springfield"的城市。
结论 在此描述的技术可以解释单个本地搜索查询以获取搜索查询的多个部分,诸如本地搜索的what和where部分。多个候选的解释可被并行地探查以快速获取最佳解释。
本发明的优选实施例的先前描述提供了图示和说明,但并不意在穷举或将本发明限制为公开的精确形式。根据上述教导,改型和变化是可行的或者可以从本发明的实践中获得。 例如,虽然已经就图5和7描述了系列动作,但是在符合本发明的原理的其它实施方式中动作的次序可被修改。更进一步,可以并行执行非依赖的动作。 此外,已经就图9-11描述了示例用户界面。在符合本发明的原理的其它实施方式中,用户界面可以包括更多、更少或不同的信息。 如上所述,对本领域的普通技术人员显而易见的是,本发明的方面可以在附图中图示的实施方式中的软件、固件和硬件的许多不同形式中实现。用于实现符合本发明的原理的方面的实际的软件代码或专门的控制硬件不限制本发明。因此,未参考特定的软件代
14码来描述各方面的操作和行为,可以理解本领域的普通技术人员能够根据在此的描述来设 计软件和控制硬件以实现各方面。 除非明确表示,用于本申请的元素、动作或指令不应该被认为对本发明是关键的 或是必要的。此外,如在此使用的,不加数词的项旨在包括一个或多个项。在仅意指一个项 的情况下,使用术语"一个"或相似语言。更进一步,除非以另外方式明确地说明,否则短语 "根据"意指"至少部分地根据"。
权利要求
一种方法,包括接收包括多个词语的搜索查询;将所述搜索查询的所述词语拆分成多个分割;将所述分割的每一个作为搜索查询提交给多个库中的一个;以及存储用于所提交的分割的每一个的置信分值,所述置信分值基于从所述多个库接收的结果而生成,并且所述置信分值中的每一个置信分值提供与所述结果相关联的置信的测量。
2. 如权利要求1所述的方法,进一步包括执行多次所述将所述搜索查询拆分成多个分割,所述将所述搜索查询拆分成多个分割 中的每一次拆分表示用于所述搜索查询的可能的解释;获取用于所述搜索查询的每一个可能的解释的组合置信分值;以及 基于所述组合置信分值来选择用于所述搜索查询的所述可能的解释中的一个。
3. 如权利要求2所述的方法,进一步包括基于使用所述搜索查询的所选择的解释为所述搜索查询执行的搜索来向提交所述搜 索查询的用户返回搜索结果。
4. 如权利要求2所述的方法,进一步包括 将用于所述可能的解释的所述多个分割并行地提交给所述库。
5. 如权利要求2所述的方法,进一步包括 基于所选择的解释生成本地搜索结果;以及 将所述本地搜索结果传送给用户。
6. 如权利要求2所述的方法,进一步包括 对为所述搜索查询生成的可能的解释的最大数量进行限制。
7. 如权利要求1所述的方法,其中所述多个库包括地图数据库和本地搜索数据库。
8. 如权利要求l所述的方法,进一步包括提供单个输入文本框,通过所述单个输入文本框用户输入所述搜索查询。
9. 如权利要求1所述的方法,其中将所述搜索查询拆分成多个分割包括基于树结构来 拆分所述搜索查询。
10. 如权利要求9所述的方法,其中所述树结构的每一个叶节点与所述多个分割中的 一个相关联并且与所述多个库中的一个相关联。
11. 如权利要求1所述的方法,其中所述多个库包括地图数据库,并且其中所述方法进 一步包括将用于所述地图数据库的歧义分割扩展成多个分割,其中与所述分割中的每一个相对 应的所述搜索查询包括额外的消歧搜索词语。
12. 如权利要求1所述的方法,其中所述多个分割相互重叠。
13. 如权利要求1所述的方法,其中所述搜索查询由用户提交,所述方法进一步包括 基于与所述用户相关联的场境信息对所述分割进行增补以包括额外的词语。
14. 如权利要求13所述的方法,其中所述场境信息包括从与所述用户相关联的IP地 址、所述用户的简档、所述用户的搜索历史、所述用户提交的所述搜索查询的语言或者与所 述用户相关联的主机名导出的信息。
15. 如权利要求1所述的方法,其中所述多个库包括地图库、本地搜索库、存储交通信 息的库、存储在区域内发生的事件的库、存储房地产信息的库、存储驾车路线指引的库或者 存储优惠券信息的库中的两个或更多个。
16. 如权利要求1所述的方法,其中将所述搜索查询拆分成多个分割基于被训练来预 测所述搜索查询的可能分割的统计模型被执行。
17. 如权利要求1所述的方法,其中用于所述多个分割的第一个的所述词语被解释为 定义地理区域的搜索查询。
18. 如权利要求17所述的方法,其中用于所述多个分割的第二个的所述词语被解释为 与网页或企业收录有关的搜索查询。
19. 一种包含可由一个或多个处理器执行的处理指令的计算机可读介质,所述计算机 可读介质包括用于接收包括多个词语的搜索查询的指令; 用于将所述搜索查询的所述词语拆分成多个分割的指令; 用于将所述分割的每一个作为搜索查询提交给多个库中的一个的指令;以及 用于存储用于所提交的分割的每一个的置信分值的指令,所述置信分值基于从所述多个库接收的结果而生成,并且所述置信分值中的每一个置信分值提供与所述结果相关联的置信的测量。
20. 如权利要求19所述的计算机可读介质,进一步包括用于执行多次所述将所述搜索查询拆分成多个分割的指令,所述将所述搜索查询拆分成多个分割中的每一次拆分表示用于所述搜索查询的可能的解释;用于获取用于所述搜索查询的每一个可能的解释的组合置信分值的指令;以及 用于基于所述组合置信分值来选择用于所述搜索查询的所述可能的解释中的一个的指令。
21. 如权利要求20所述的计算机可读介质,其中所述多个库包括地图数据库和本地搜 索数据库。
22. 如权利要求20所述的计算机可读介质,其中用于所述多个分割的第一个的来自所 述搜索查询的词语被解释为定义地理区域的搜索查询。
23. 如权利要求22所述的计算机可读介质,其中用于所述多个分割的第二个的来自所 述搜索查询的所述词语被解释为与网页或企业收录有关的搜索查询。
24. —种搜索引擎,包括被配置来执行不同类型的搜索的多个搜索库;以及 搜索组件,所述搜索组件被配置来 从用户接收搜索查询,基于所述搜索查询而生成多个额外的搜索查询,所述多个额外的搜索查询中的每一个 与多个所述搜索库中的一个相关联,将所述额外的搜索查询提交给所述多个搜索库,接收从所述多个搜索库返回的用于所述额外的搜索查询的结果,以及 基于从所述多个搜索库返回的所述结果向所述用户传送搜索结果。
25. 如权利要求24所述的搜索引擎,其中所述搜索引擎是本地搜索引擎。
26. 如权利要求24所述的搜索引擎,其中所述多个搜索库包括本地搜索库和地图库。
27. 如权利要求24所述的搜索引擎,其中所述搜索组件被进一步配置来 将所述额外的搜索查询并行地提交给所述多个搜索库。
28. 如权利要求24所述的搜索引擎,其中所述生成所述多个额外的搜索查询基于树结 构被执行。
29. 如权利要求28所述的搜索引擎,其中所述树结构的每一个叶节点与所述多个额外 的搜索查询中的一个相关联并且与所述多个搜索库中的一个相关联。
30. 如权利要求24所述的搜索引擎,其中所述多个库包括地图库并且其中所述搜索组件被进一步配置来对用于所述地图库的歧义的额外的搜索查询的词语进行扩展以包括消歧搜索词语。
31. 如权利要求24所述的搜索引擎,其中所述额外的搜索查询包括相互重叠的词语。
32. 如权利要求24所述的搜索引擎,其中所述搜索组件被进一步配置来 用基于与所述用户相关联的场境信息的词语来对所述额外的搜索查询进行增补。
33. 如权利要求24所述的搜索引擎,其中所述额外的搜索查询基于统计模型。
34. 如权利要求24所述的搜索引擎,其中所述额外的搜索查询包括从所述用户接收的 所述搜索查询的子集。
35. 如权利要求24所述的搜索引擎,其中所述额外的搜索查询的第一个被解释为定义 地理区域的搜索查询。
36. 如权利要求35所述的搜索引擎,其中所述额外的搜索查询的第二个被解释为用于 网页或企业收录的搜索查询。
37. —种方法,包括 从用户接收搜索查询;基于所述搜索查询而生成多个额外的搜索查询; 将所述额外的搜索查询提交给多个搜索库; 从所述多个搜索库接收用于所述额外的搜索查询的搜索结果;基于所接收的搜索结果来选择多个所述额外的搜索查询作为与来自所述用户的所述 搜索查询的最佳解释相对应的搜索查询;以及将包括用于从所述用户接收的所述搜索查询的所选择的最佳解释的搜索结果的网页 传送给所述用户。
38. 如权利要求37所述的方法,其中所述选择所述多个额外的搜索查询包括 基于所述搜索结果来计算用于所述额外的搜索查询的每一个的置信分值。
39. 如权利要求38所述的方法,其中所述置信分值基于由所述搜索库生成的依赖查询 的相关性分值被计算。
40. 如权利要求37所述的方法,其中来自所述用户的所述搜索查询由所述用户在单个文本输入框中输入。
41. 如权利要求37所述的方法,其中所述搜索查询是请求本地结果的查询。
42. 如权利要求37所述的方法,其中所述额外的搜索查询的第一个被解释为定义地理 区域的搜索查询。
43. 如权利要求42所述的搜索引擎,其中所述额外的搜索查询的第二个被解释为用于网页或企业收录的搜索查询。
44. 一种设备,包括用于接收包括多个词语的搜索查询的装置; 用于将所述搜索查询拆分成多个分割的装置;用于将所述分割的每一个作为搜索查询提交给多个库中的一个的装置;以及 用于存储用于所提交的分割的每一个的置信分值的装置,所述置信分值基于从所述多个库接收的结果而生成,并且所述置信分值中的每一个置信分值提供与所述结果相关联的置信的测量。
45. 如权利要求44所述的设备,其中用于所述多个分割的第一个的所述词语被解释为 定义搜索的where部分的搜索查询。
46. 如权利要求45所述的方法,其中用于所述多个分割的第二个的所述词语被解释为 定义搜索的what部分的搜索查询。
全文摘要
搜索查询可被解释为多个可能的解释,并且在将搜索的结果发送给用户之前可以探查每一个解释。在一个实施例中,设备可将搜索查询拆分成分割。可将分割的每一个作为搜索查询提交给搜索库。基于从库返回的结果的置信分值可被用来确定库对搜索查询解释的置信的测量。
文档编号G06F17/30GK101785002SQ200880101255
公开日2010年7月21日 申请日期2008年7月8日 优先权日2007年7月9日
发明者妮娜·维玉·康, 格雷戈里·约翰·多纳克尔, 詹姆斯·诺里斯 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1