与搜索查询相关的搜索宏建议的制作方法

文档序号:6476832阅读:216来源:国知局
专利名称:与搜索查询相关的搜索宏建议的制作方法
与搜索查询相关的搜索宏建议
扭里 疼尔
搜索引擎是被设计成寻找存储在一个或多个计算设备上的信息的程
序。在其广为人知的格式中,诸如MSN、 Yahoo、和Google等所采用的那 些搜索引擎等搜索引擎例如被用来在因特网上寻找网站和文档。这些类型 的搜索引擎通常执行"水平"搜索,从而提供与搜索査询相关的广泛范围 的信息。然而,用户通常需要狭窄主题或领域内的信息,这使得来自水平 搜索的搜索结果不与用户足够相关。因此,设计了垂直搜索引擎来执行专 门搜索,以挖掘比水平搜索所能提供的更窄范围的数据。例如,可以使用 购物垂直搜索引擎来搜索用户可能希望购买的产品的信息。其它类型的搜 索垂直面(vertical)包括例如图像垂直面、工作/职业垂直面、旅行垂直面、 本地服务垂直面、研究垂直面、不动产垂直面、汽车垂直面、以及新闻垂 直面。
通常,用户求助于市场上可购买到的垂直搜索引擎来执行垂直搜索。 然而,用户可能对可用垂直搜索引擎的选择不满意。例如,可能没有针对 用户希望用其进行搜索的特定主题的、市场上可购买到的垂直搜索引擎, 或者可获得的垂直搜索引擎可能未对用户的目的充分定制。在这些情况下, 用户可能希望创建他们自己的搜索垂直面,或可能希望寻找其它最终用户 所创建和共享的搜索垂直面。
简要概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述 的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征, 也不旨在用于帮助确定所要求保护的主题的范围。
各实施例涉及建议搜索宏(即用于提供自定义构建的搜索引擎的用户 定义的搜索算子)来细化用户的搜索。在搜索引擎接收到来自最终用户的 搜索查询时, 一个或多个搜索宏被确定为与该搜索査询相关。随后将搜索给该用户。在某些情况下,最终 用户可以决定选择所建议的搜索宏中的一个。随后使用搜索查询和所选择 的搜索宏来执行搜索,以向最终用户提供可能与该用户的搜索更相关的搜 索结果。
若干附图的简述 以下参考附图详细描述本发明,附图中

图1是适用于实现本发明的示例性计算环境的框图2是示出根据本发明的一实施例的、用于提供与给定搜索查询相关 的搜索宏的示例性总体方法的流程图3是示出根据本发明的一实施例的、搜索引擎的搜索输入框的说明 性屏幕显示;
图4是示出根据本发明的一实施例的、包括对给定搜索査询所建议的 搜索宏的搜索结果用户界面的说明性屏幕显示;
图5是示出根据本发明的一实施例的、用于使用搜索查询的搜索结果 来确定相关搜索宏的示例性方法的流程图。
图6是示出根据本发明的一实施例的、用于执行搜索宏搜索并索引搜 索宏的信息的示例性方法的流程图7是根据本发明的一实施例的、用于索引项和/或URL的宏分数的 示例性数据结构;
图8是示出根据本发明的一实施例的、用于使用离线创建的高速缓存 和数据存储来提供给定搜索查询的相关搜索宏的示例性方法的流程图9是示出根据本发明的一实施例的、用于使用给定搜索查询和所建 议的搜索宏来执行搜索的示例性方法的流程图;以及
图IO是示出根据本发明的一实施例的在线搜索宏建议系统的框图。
详细描述
此处用细节来描述本发明的主题以满足法定要求。然而,描述本身并 非旨在限制本专利的范围。相反,发明人设想所要求保护的主题还可结合其它当前或未来技术按照其它方式来具体化,以包括不同的步骤或类似于 本文中所描述的步骤的步骤组合。此外,尽管术语"步骤"和/或"框"可 在此处用于指示所采用的方法的不同元素,但除非而且仅当明确描述了各 个步骤的顺序时,该术语不应被解释为意味着此处公开的各个步骤之中或 之间的任何特定顺序。
如上所示,用户通常希望细化他们的搜索以获得更相关的搜索结果。 用户可以细化其搜索的一种方式是通过使用搜索宏。如此处所使用的,"搜 索宏" -般指的是用户定义的搜索引擎。更具体地,搜索宏是包括自定义 的用户创建的搜索算子组的高级搜索修改器。换言之,搜索宏定义控制关 于如何执行搜索的各方面的搜索算子。例如,搜索算子可用于将搜索和结 果限于特定网站和/或特定类型的内容(例如图像内容或实时新闻内容), 提供结合用户搜索查询中所提供的项来使用的附加搜索项,或对不同的搜 索算子给出变化的偏好。在操作中,搜索宏根据用户定义的搜索算子组来 修改更一般搜索引擎的各个规则,从而扩充了如何执行搜索和/或如何呈现 搜索结果。
搜索宏向用户提供创建和共享个性化搜索垂直面的简单方法。并非必 须从上至下构建搜索垂直面,用户可以简单地创建定义个性化搜索垂直面 的相关方面的搜索宏。在某些情况下,可以向搜索宏创建提供其中模块化 并展示搜索引擎特征(例如搜索算子)以允许用户定义这些特征的模板方 法。另外,在用户创建搜索宏时,搜索宏可以存储在例如搜索引擎服务器 上,以使搜索宏可由其他用户访问。
虽然搜索宏向用户提供细化其搜索的简单且强大的工具,但用户可能 不希望创建他们自己的搜索宏。相反,他们可能仅仅想要利用其他人创建 的搜索宏。然而,对用户而言,寻找用于他们的搜索的相关搜索宏可能是
困难的。通常,搜索宏可以存储在搜索宏长廊(gallery)中,并且用户可 通过浏览和/或搜索该长廊或通过其他用户的口头表达来发现现有搜索宏。 然而,在大多数用户执行搜索时,他们通常不想要花费时间来搜索相关搜 索宏。相反,用户想要快速提供搜索查询并接收相关搜索结果。
本发明的各实施例尤其针对便于用户发现搜索宏并提供建议的搜索宏来细化其搜索以便尝试获取更相关的搜索结果。具体地,各实施例针对向 用户提供被确定为与其搜索查询相关的搜索宏建议。在用户输入搜索查询 时, 一个或多个搜索宏被确定为与该搜索査询相关,并作为对用户的建议 来提供。用户可以选择搜索宏,并且使用该搜索查询和所选择的搜索宏来 执行搜索。
因此,在一方面,本发明的一个实施例针对包含用于执行一种方法的 计算机可使用指令的一个或多个计算机可读介质。该方法包括在搜索引擎 处接收来自最终用户的搜索査询。该方法还包括确定与该搜索查询相关的 一个或多个搜索宏。该方法进一步包括传递该搜索宏的至少一部分以呈现 给最终用户。
在本发明的另一个实施例中, 一个方面针对包含用于执行一种方法的 计算机可使用指令的一个或多个计算机可读介质。该方法包括使用搜索宏 执行搜索并接收来自该搜索的一个或多个搜索结果。该方法还包括标识搜
索结果的至少一部分中的一个或多个项或URL,以及计算项或URL对于该 搜索宏的分数。该方法进一步包括存储指示项或URL、搜索宏、以及分数
的信息。
本发明的又一方面针对包含用于便于标识与搜索查询相关的一个或多 个搜索宏的数据结构的一个或多个计算机可读介质。该数据结构包括含有 表示项或URL的数据的第一数据字段;含有表示搜索宏的数据的第二数据 字段;以及含有表示与该搜索宏和该项或URL相关联的分数的数据的第三 数据字段。
在简要描述了本发明的概览之后,以下描述其中可实现本发明的各方 面的示例性操作环境,以便为本发明各方面提供通用上下文。 一开始具体 参考图1,示出用于实现本发明的实施例的示例性操作环境,并将其概括指 定为计算设备100。计算设备100只是合适的计算环境的一个示例,并且不 旨在对本发明的使用范围或功能提出任何限制。也不应该将计算设备100 解释为对所示出的任一组件或其组合有任何依赖性或要求。
本发明可以在计算机代码或机器可使用指令的一般上下文中描述,机 器可使用指令包括由计算机或诸如个人数据助理或其它手持式设备等其它机器执行的诸如程序模块等的计算机可执行指令。
一般而言,包括例程、 程序、对象、组件、数据结构等的程序模块指的是执行特定任务或实现特 定抽象数据类型的代码。本发明可以在各种系统配置中实施,这些系统配 置包括手持式设备、消费电子产品、通用计算机、更专用计算设备等等。 本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布 式计算环境中实施。
参考图1,计算设备100包括直接或间接耦合以下设备的总线110:存
储器112、 一个或多个处理器114、 一个或多个呈现组件116、输入/输出端 口 118、输入/输出组件120、和说明性电源122。总线110可以是一条或多 条总线(诸如地址总线、数据总线、或其组合)。尽管为了清楚起见用线 条示出了图1的各框,但是在实际上,各组件的轮廓并不是那样清楚,并 且按比喻的说法,线条更精确地将是灰色的和模糊的。例如,可以将诸如 显示设备等呈现组件认为是I/O组件。同样,处理器具有存储器。可以认 识到,这是本领域的特性,并且重申,图1的图示只是例示可结合本发明 的一个或多个实施例来使用的示例性计算设备。在诸如"工作站"、"服 务器"、"膝上型计算机"、"手持式设备"等分类之间没有区别,它们 全部都被认为是在图1的范围之内的并且被称为"计算设备"。
计算设备100通常包括各种计算机可读介质。作为示例而非限制,计 算机可读介质可以包括随机存取存储器(RAM);只读存储器(ROM); 电可擦除可编程只读存储器(EEPROM);闪存或其它存储器技术,,CDROM、 数字多功能盘(DVD)或其它光或全息介质;磁带盒、磁带、磁盘存储或 其它磁存储设备;载波或可用于对所需信息进行编码并且可由计算设备100 访问的任何其它介质。
存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。 存储器可以是可移动的、不可移动的、或其组合。示例性硬件设备包括固 态存储器、硬盘驱动器、光盘驱动器等。计算设备100包括从诸如存储器 112或I/O组件120等各种实体读取数据的一个或多个处理器。呈现组件 116向用户或其它设备呈现数据指示。示例性呈现组件包括显示设备、扬声 器、打印组件、振动组件等等。
101/0端口 118允许计算设备100逻辑上耦合至包括I/O组件120的其它 设备,其中某些设备可以是内置的。说明性组件包括话筒、操纵杆、游戏 手柄、圆盘式卫星天线、扫描仪、无线设备等等。
现在参考图2,提供了示出根据本发明的一实施例的、用于提供与给 定搜索査询相关的搜索宏建议的示例性总体方法200的流程图。参考图2 所描述的方法200提供本发明的一实施例的总体视图,而对本发明的各实 施例的更详细的描述在以下各节中提供。最初,如在框202处所示,在搜 索引擎处接收搜索查询。本领域技术人员将认识到,搜索査询可包括最终 用户所输入的一个或多个搜索项。另外,可以用多种不同方式在搜索引擎 处接收搜索查询。仅作为示例而非限制,用户可以采用web浏览器来导航 到搜索引擎网页并在该网页上的输入框中输入搜索查询。另外,用户可以 在搜索引擎工具栏所提供的输入框中输入搜索查询,搜索引擎工具栏位于 例如web浏览器、用户计算设备的桌面、或其它位置内。本领域技术人员 将认识到,还可以使用各种其它方法来允许最终用户向搜索引擎提供搜索 査询。
在接收到搜索查询后,搜索引擎确定与该搜索查询相关的搜索宏,如 在框204处所示。如以下进一步详细描述的,可以用本发明的范围内的各 种不同方式来确定与给定搜索查询相关的搜索宏。仅作为示例而非限制, 可以基于搜索查询中所包括的项来确定搜索宏。在某些实施例中,可以基 于针对搜索査询的搜索结果来确定相关搜索宏。例如,可以将来自搜索查 询的项和/或针对该搜索査询的搜索结果同与搜索宏相关联的信息相比较, 以确定哪些搜索宏是相关的。与搜索宏相关联的信息可以包括例如该搜索 宏的搜索算子和/或在使用每一搜索宏执行搜索时所提供的搜索结果。在某 些实施例中,可以使用宏作者所建议的关键词来选择搜索宏。例如,可以 将搜索项和/或搜索结果同与搜索宏相关联的关键词相比较,以确定相关搜 索宏。在又一些实施例中,给定搜索査询的相关搜索宏可以从先前搜索中 高速缓存,并且确定该査询的搜索宏可包括访问所高速缓存的信息。任何 及所有这样的变型都被构想为落在本发明的各实施例的范围内。
如在框206处所示,在确定了搜索査询的相关搜索宏之后,传递相关户。尽管并非所需,但可以提供列出 搜索查询的相关搜索宏的搜索结果用户界面(如在执行搜索时搜索引擎通 常提供的那些用户界面)。在某些实施例中,除针对搜索査询的搜索结果 之外提供相关搜索宏。在又一些实施例中,还可以使用高度相关的搜索宏 和用户的搜索査询来自动地执行进一步搜索。除针对用户的搜索查询的搜 索结果之外,这些搜索宏中的每一个的搜索结果随后可以直接与相关搜索 宏内联地包括(即没有应用任何搜索宏)。
在各实施例中,相关搜索宏可以基于所确定的相关搜索宏的排名来在 列表中排序。该排名可以基于例如搜索宏中的每一个与搜索査询的相关性 程度。在某些实施例中,向最终用户提供被确定为具有与搜索查询的最小 相关性级别的所有搜索宏。在其它实施例中,只向最终用户提供N个最相 关的搜索宏(例如5个最相关的搜索宏)。在又一些实施例中,如果一个 或多个搜索宏被确定为具有比其它搜索宏显著更高的相关性,则只向最终 用户提供具有显著更高相关性的这些搜索宏。任何及所有这样的变型都被 构想为落在本发明的各实施例的范围内。
例如经由搜索结果用户界面所提供的每一相关搜索宏可包括超链接或 允许用户选择相关搜索宏的其它机制。因此,在用户选择特定搜索宏时, 使用所选择的搜索宏和最终用户所提供的原始搜索查询来执行搜索。随后 可以向最终用户提供使用所选搜索宏的、针对搜索查询的搜索结果。在某 些情况下,并非用原始搜索查询来执行搜索,而是用户可以用新搜索查询 替换原始搜索査询(例如通过在输入框中输入新搜索查询),并选择先前 返回的搜索宏中的一个来执行搜索。
作为说明,图3示出可以例如经由搜索引擎网页提供的搜索输入框 302。搜索输入框302允许用户出于搜索目的而输入搜索查询。如本领域公 知的且如图3所示,搜索引擎可以提供各种搜索能力,包括宽泛的web搜 索和各种垂直搜索。因此,结合搜索输入框302提供了多个搜索选择304。 通过在搜索输入框302中输入搜索查询并选择搜索选择304中的一个,用 户可以使得搜索引擎使用所输入的搜索查询执行所选类型的搜索。
在所示示例中,用户在搜索输入框302中输入了搜索查询{佳能照相机}。在输入搜索查询后,搜索引擎使用该搜索查询执行搜索。另外,搜索引擎确定多个搜索宏与该搜索査询相关。因此,搜索引擎提供图4所示
的搜索结果用户界面400。搜索结果用户界面400包括搜索结果404的列表,每一搜索结果包括标题406、摘录描述408、以及URL410。另外,搜索结果用户界面400包括所建议的、被确定为与该搜索査询相关的搜索宏的列表402。在图4的所示示例中,搜索引擎确定标题为"产品评论"和"购物"的宏与搜索查询{佳能照相机}相关。如上所示,每一搜索宏都能以超链接形式呈现,从而允许用户例如通过选择特定搜索宏来与各搜索宏交互,并使得使用搜索査询{佳能照相机}和所选择的搜索宏来执行web搜索。
如上所述,在某些实施例中,可以单独基于搜索査询来确定相关搜索宏。例如,可以将搜索查询中的项同与搜索宏相关联的信息相比较,这些信息诸如与搜索宏相关联的关键词、搜索宏的搜索算子、和/或在使用每--搜索宏执行搜索时所提供的搜索结果。然而,特定搜索查询中所包括的项可能未提供足够的信息来为最终用户确定高度相关的搜索宏。因此,在某些实施例中,作为给定搜索查询的项的替换或补充,可以使用针对该搜索査询的搜索结果来确定搜索宏。例如,可以将针对搜索查询的搜索结果同与搜索宏相关联的信息相比较,这些信息诸如与搜索宏相关联的关键词、搜索宏的搜索算子、和/或在使用每一搜索宏执行搜索时所提供的搜索结果。
参考图5,提供了示出根据本发明的一实施例的、用于使用搜索结果来确定相关搜索宏的总体方法500的流程图。如在图5的框502处所示,在搜索引擎处接收来自最终用户的搜索查询。如在框504处所示,使用该搜索査询执行搜索,从而提供针对该搜索査询的搜索结果集。另外,如在框506处所示,使用搜索引擎可用的一组搜索宏中的每一搜索宏来执行搜索,以提供针对每一搜索宏的搜索结果集。通常,孤立地使用每一搜索宏来执行搜索。换言之,结合每一搜索宏没有使用附加搜索项(例如在框502处提供的搜索查询)。因为每一搜索宏包括一组搜索算子,所以单独使用搜索宏执行搜索将基于这些搜索算子来提供一组搜索结果。
将来自使用搜索查询所执行的搜索的搜索结果集与使用搜索宏所执行的搜索的搜索结果集相比较,如在框508处所示。通过该比较,可以标识
13搜索查询搜索结果和搜索宏搜索结果之间的交集。提供与搜索查询搜索结果的更高程度的交集的搜索宏可被确定为具有更高相关性。在某些实施例中,该分析可包括将搜索査询结果集中的项和/或URL与搜索宏结果集相比较。在本发明的各实施例中,项可以从不同的源来标识。例如,项可以从
与每一搜索结果相关联的标题和摘录描述和/或搜索结果中所包括的URL
部分中标识。另外地或另选地,项可以从与搜索结果相对应的文档的各部分(例如文档标题、正文、锚文本)中标识。此外,应当注意,在比较中
所使用的URL可以只包括域或还包括子域。
因此,如在框510处所示,基于该比较来确定相关搜索宏。随后传递相关搜索宏的至少一部分以呈现给最终用户,如在框512处所示。
为示出基于针对搜索查询的结果集和搜索宏组对相关搜索宏的判定,假定例如搜索査询包括项"佳能照相机",并且系统中存在5个搜索宏"健康"、"产品评论"、"购物"、"名人八卦"、以及"技术刊物"。每-搜索宏本质上是以其名称所指示的域为目标的搜索引擎。进一步假定对搜索査询(佳能照相机)的搜索和搜索宏中的每一个孤立地提供以下结

{佳能照相机}:返回来自canon.com的包括产品细节和支持页面的页面、 一些照相机评论站点(如dpreview.com禾卩imagingresource.com)、一些贝勾物站点(amazon.com、 bizrate.com)等等。
{宏"健康"}:返回来自诸如nih.gov、 cdc.gov和cde.ca.gov等提供健康和医药相关信息的站点的结果。
{宏"产品评论',}:返回来自诸如reviews.cnet.com、 dpreview.com、dcresource.com禾口 imagingresource.com等流行产品评论站点的结果。
{宏 "贝勾物,,}: 返回诸如amazon.com、 ebay.com、 buy.com禾口bizrate.com等顶级购物站点的列表。
{宏"名人八圭卜"}:返回诸如gofugyourself.typepad.com禾卩tmz.com等集中于名人和崇拜者站点的页面。
{宏"技术干ll物"}: 返回诸如dmreview.com、 databasejournal.com和citeseer.ist.psu.edu等以技术论文和研究为特色的站点。针对搜索查询(佳能照相机}的结果集与针对搜索宏中的每一个的结果集之间的比较指示搜索宏"产品评论"和"购物"包括与搜索查询的结果重叠最大的结果。直观地,这些是最可能帮助用户基于意图来缩窄搜索的搜索宏。对于另一查询,如{麻疹症状},最大重叠将是"健康"搜索宏,所以该搜索宏将是对该特定搜索查询最相关的一个。
在某些实施例中,使用每一搜索宏来执行搜索以获取搜索宏结果集的过程可以在搜索引擎接收到来自最终用户的搜索查询之后执行。然而,因为搜索可以孤立地使用每一搜索宏来执行(即不用附加搜索项),所以搜索可以在接收到搜索査询之前离线执行,并且可以构造数据存储来存储信息以便于标识搜索查询的相关搜索宏。因此,在某些实施例中,可以提供离线组件和在线组件来向用户搜索査询建议搜索宏。离线组件孤立地用每一搜索宏来执行搜索,并在数据存储中索引关于该搜索宏结果的信息。在线组件随后接收用户搜索查询,并通过参考该数据存储来确定相关搜索宏。
现转向图6,提供了示出根据本发明的一实施例的、用于执行搜索宏
搜索并索引搜索宏的信息的示例性方法600的流程图。方法600可以例如
由离线组件执行,并且经索引的信息随后可以由在线组件用来确定用户搜
索查询的相关搜索宏。如上所示,搜索引擎可包括一组搜索宏。方法600包括使用每一搜索宏执行搜索并基于每一搜索宏的搜索结果集来生成分数。
如在框602处所示,孤立地使用每一搜索宏来执行搜索。换言之,使用每一搜索宏所定义的搜索算子而不使用任何附加搜索项来执行搜索。从搜索中接收该组中的每一搜索宏的搜索结果,如在框604处所示。随后分析搜索宏的搜索结果集来确定每一搜索宏对于该搜索结果集内所标识的各个项和/或URL的分数,如在框606处所示。在某些实施例中,分析给定搜索宏的所有搜索结果,而在其它实施例中,只使用搜索宏的前N个结果(例如只使用前500个结果)。
在某些实施例中,可以标识搜索宏的结果集内的项并且可以确定搜索宏对于每一项的分数。在本发明的各实施例中,项可以从不同的源来标识。例如,项可以在URL内标识或从与每一搜索结果相关联的摘录描述中标识。另外地或另选地,项可以从与搜索结果相对应的文档的各部分(例如文档标题、正文、锚文本)中标识。
每一搜索宏对于每一项的分数还可以用在本发明的各实施例的范围内的各种不同的方式来确定。在某些实施例中,例如,可以提供词干提取(stemming)功能来将单词标准化成其各自的根单词。另外,可以提供无用词过滤来标识并过滤出无用词(即对网页的内容不重要的单词)。还可以提供低使用率单词移除来移除出现频率小于某一预定阈值的单词。搜索宏M对于项T的分数可以如下计算
(项T在宏M的结果集中的频率)/ (项T跨所有宏的结果集的总频
率)
在某些实施例中,可以确定搜索宏对于该搜索宏的结果集中所包括的URL的分数。每一搜索宏的URL分数可以基于多个因素来确定。在某些实施例中,给定搜索宏和URL的分数可以基于在搜索宏的结果集中URL的排名。例如,结果集中的排名越高,则搜索宏对于该URL的分数越高。在某些实施例中,给定搜索宏和URL的分数可以考虑对应于该URL的域内的结果的数量。例如,搜索宏的结果集内来自特定域的URL越多,则指示应当对该搜索宏给出对于该域内的那些URL中的每一个的越高的分数。
如在框608处所示,索引关于宏分数的信息。具体地,索引可包括在该组内的每一搜索宏的搜索结果集中所标识的项和/或URL的列表。对于每一项或URL,提供了搜索宏的列表和每一搜索宏对于该项或URL的分数。在某些实施例中,只对每一项和URL提供最匹配的搜索宏和对应的分数。另外,在某些实施例中,数据存储可包括用于高效查找的特里(trie)数据结构。
根据本发明的一实施例的、用于存储每一项和/或URL的宏分数的示例性数据结构700在图7中示出。数据结构700包括含有表示项或URL的数据的第一数据字段702。具体地,这是在搜索宏的搜索结果集中所标识的项或URL。数据结构700还包括含有表示给定搜索宏的数据的第二数据字段704。例如,搜索宏的唯一标识符可被包括在第二数据字段704中。数据结构700还包括含有第一数据字段中所指示的项或URL和第二数据字段 704中所指示的搜索宏的分数的第三数据字段706。如上所述,分数可以通 过检査孤立地使用搜索宏的搜索所提供的搜索结果集来确定。
使用索引项/URL和搜索宏分数的数据存储可以便于标识搜索查询的 相关搜索宏。另外,在某些实施例中,在确定给定搜索查询的相关搜索宏 时,可以高速缓存信息以用于将来的搜索。因此,现在参考图8,提供了示 出根据本发明的一实施例的、用于使用离线创建的高速缓存和数据存储来 提供给定搜索查询的相关搜索宏的示例性方法800的流程图。最初,如在 框802处所示,在搜索引擎处接收来自最终用户的搜索查询。在框804处, 确定是否已经高速缓存了搜索查询的搜索结果和相关搜索宏。如果先前已 经使用该搜索査询执行了搜索并且高速缓存了信息,则返回高速缓存的搜 索结果和相关搜索查询,如在框806处所示。
在框804处,如果确定没有高速缓存该搜索査询的信息,则使用该搜 索査询的项来执行搜索,如在框808处所示。随后接收搜索结果,如在框 810处所示。分析搜索结果以标识项和/或URL来确定相关搜索宏,如在框 812处所示。在某些实施例中,分析所有搜索结果,而在其它实施例中,只 分析分数为前N个的搜索结果。对相关项和URL的标识可以类似于上述对 搜索宏结果集内的项和URL的标识来标识。
在将项/URL映射到搜索宏分数的数据存储中査找从搜索查询结果集 中所标识的项和URL,以标识每一项和URL的搜索宏分数,如在框814 处所示。随后聚集并归一化搜索宏分数以得到每一搜索宏的总分数,如在 框816处所示。随后在框818处基于每一搜索宏的总分数来确定相关搜索 宏。在某些实施例中,确定为具有与搜索査询的预定最小分数的所有搜索 宏都被确定为是相关的。在其它实施例中,只有具有最高分数的预定数量 的搜索宏被确定为是相关的。在又一些实施例中,如果一个或多个搜索宏 具有比其它搜索宏显著更高的分数,则只有具有显著更高分数的这些搜索 宏才被确定为是相关的。任何及所有这样的变型都被构想为落在本发明的 各实施例的范围内。
如在框820处所示,高速缓存搜索査询的搜索结果和相关搜索宏。随后传递搜索结果和相关搜索宏以呈现给最终用户,如在框822处所示。在 各实施例中,相关搜索宏可以基于所确定的每一相关搜索宏的总分数来排序。
如上所示,最终用户可以采用所建议的搜索宏来细化搜索。例如,图
9提供了示出根据本发明的一实施例的、用于使用给定搜索查询和所建议的 搜索宏来执行搜索的示例性方法900的流程图。最初,如在框902处所示, 如上所述地确定并传递给定搜索查询的相关搜索宏以呈现给最终用户。搜 索宏中的每一个能以超链接的形式呈现给用户,或能以其它方式来允许选 择搜索宏。如在框904处所示,接收用户对搜索宏中的一个的选择(例如, 通过用户使用诸如鼠标等定点设备来点击与该搜索宏相关联的超链接)。 基于该用户选择,使用搜索查询和所选择的搜索宏来执行搜索,如在框906 处所示。具体地,基于搜索宏所定义的搜索算子结合搜索査询的项来执行 搜索。在某些实施例中,并非用原始搜索査询来搜索,而是用户可以选择 输入不同的搜索査询,并且用新搜索查询和所选择的搜索宏来执行搜索。 在任何情况下,传递搜索结果以呈现给最终用户,如在框908处所示。
现在参考图10,提供了示出在其中可以采用本发明的各实施例的示例 性系统1000的框图。应当理解,此处所描述的这一安排以及其它安排只是 作为示例来阐明的。作为所示安排和元素(例如机器、接口、功能、次序、 以及功能分组等)的补充或替换,可以使用其它安排和元素,并且某些元 素可以一起省略。此外,此处所描述的许多元素是可以实现为分立或分布 式组件或结合其它组件的、以及以任何合适的组合和在任何合适的位置的 功能实体。此处描述为由一个或多个实体执行的各种功能可以由硬件、固 件、和/或软件来执行。例如,各种功能可以由执行存储器中所存储的指令 的处理器来执行。
图10示出用于通过利用离线宏评分系统所创建的数据存储来返回给 定搜索查询的相关搜索宏的说明性在线宏建议系统。系统IOOO可包括前端 组件1002、聚集和高速缓存组件1004、索引服务后端组件1006、宏建议组 件1008、以及未示出的其它组件。图IO所示组件中的每一个可以包括软件、 硬件、或软件和硬件的组合。在各实施例中,这些组件中的每一个可包括
18位于分布式环境中的共同计算设备或不同计算设备上的软件。在分布式环 境中,各组件可以经由网络(未示出)彼此通信,网络包括但不限于一个
或多个局域网(LAN)和/或广域网(WAN)。这样的连网环境常见于办公 室、企业范围计算机网络、内联网和因特网中。应当理解,此处关于图10 所示的每一组件所描述的功能可以由一个或多个组件提供。另外,在系统 1000内还可包括其它未示出的组件。
在操作中,前端组件1002接收来自最终用户的搜索查询,并向聚集和 高速缓存组件1004发起请求。聚集和高速缓存组件1004在其高速缓存中 查找该搜索查询,以确定搜索结果和搜索宏建议对该搜索査询是否可用。 如果高速缓存了,则将该搜索查询的搜索结果和搜索宏建议返回给前端组 件1002,前端组件1002传递该搜索结果和搜索宏建议以呈现给最终用户。 如果没有高速缓存搜索结果和搜索宏建议,则聚集和高速缓存组件 1004向索引服务后端1006发起请求,索引服务后端1006使用该搜索查询 的项执行搜索并将搜索结果返回到聚集和高速缓存组件1004。将搜索结果
(或其部分)发送到宏建议组件1008,宏建议组件1008在离线宏评分系统 所创建的数据存储中执行査找,并基于该查找来确定各搜索宏的分数。宏 建议组件1008随后基于该分数来返回与搜索查询相关的一组搜索宏建议
(如果有的话)。
聚集和高速缓存组件1004接收并高速缓存该组搜索宏建议(连同搜索 结果一起),并将搜索结果集和搜索宏建议转发给前端组件1002。前端组 件1002随后传递搜索结果和搜索宏建议以呈现给最终用户。
如可理解的,本发明的各实施例提供给定査询搜索的搜索宏建议。搜 索宏建议是基于与查询搜索的相关性来确定的,并可以帮助用户细化其搜 索和寻找相关搜索结果。
参考各具体实施例描述了本发明,各具体实施例在所有方面都旨在是 说明性的而非限制性的。在不背离本发明范围的情况下各替换实施例对本 发明所属领域的普通技术人员将变得显而易见。
从前述内容可知,本发明很好地适用于实现前述的所有目的和目标, 并且具有对于该系统和方式是显而易见且固有的其它优点。也可理解特定的特征和子组合是有用的,并且可以加以利用而无需参考其它特征和子组 合。这由权利要求书所构想并在其范围之内。
权利要求
1.一个或多个包含用于执行一种方法的计算机可使用指令的计算机可读介质,所述方法包括在搜索引擎处接收来自最终用户的搜索查询(202);确定与所述搜索查询相关的一个或多个搜索宏(204);以及传递所述搜索宏的至少一部分以呈现给所述最终用户(206)。
2. 如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述搜索査询包括一个或多个搜索项。
3. 如权利要求2所述的一个或多个计算机可读介质,其特征在于,确 定与所述搜索査询相关的所述一个或多个搜索宏包括基于所述搜索査询的 搜索项来确定所述一个或多个搜索宏。
4. 如权利要求1所述的一个或多个计算机可读介质,其特征在于,所 述方法还包括基于所述搜索查询来确定一个或多个搜索结果。
5. 如权利要求4所述的一个或多个计算机可读介质,其特征在于,所 述方法还包括传递所述一个或多个搜索结果的至少一部分以呈现给所述最 终用户。
6. 如权利要求4所述的一个或多个计算机可读介质,其特征在于,确 定与所述搜索査询相关的所述一个或多个搜索宏包括基于所述搜索结果的 至少一部分来确定所述一个或多个搜索宏。
7. 如权利要求4所述的一个或多个计算机可读介质,其特征在于,所 述方法还包括使用至少一个搜索宏来执行搜索;接收所述至少一个搜索宏的一个或多个搜索结果;以及 将针对所述搜索查询的搜索结果的至少一部分与所述至少一个搜索宏的搜索结果的至少一部分相比较,以确定所述至少一个搜索宏对所述搜索查询的相关性。
8. 如权利要求7所述的一个或多个计算机可读介质,其特征在于,所 述方法还包括从所述至少一个搜索宏的搜索结果的至少一部分中标识一个或多个项;以及计算所述至少一个搜索宏的至少一个项的分数。
9. 如权利要求8所述的一个或多个计算机可读介质,其特征在于,所 述方法还包括从所述搜索查询的搜索结果的至少一部分中标识一个或多个 项;并且其中将针对所述搜索查询的搜索结果的至少一部分与所述至少一 个搜索宏的搜索结果的至少一部分相比较以确定所述至少一个搜索宏对所 述搜索査询的相关性包括,将来自针对所述搜索査询的搜索结果的所述至 少 一部分的至少一个项与所述至少一个搜索宏的所述至少一个项的分数相 比较。
10. 如权利要求7所述的一个或多个计算机可读介质,其特征在于, 所述方法还包括从所述至少一个搜索宏的搜索结果的至少一部分中标识一个或多个 URL;以及计算所述至少一个搜索宏的至少一个URL的分数。
11. 如权利要求IO所述的一个或多个计算机可读介质,其特征在于, 所述方法还包括从针对所述搜索査询的搜索结果的至少一部分中标识一个 或多个URL;并且其中将针对所述搜索查询的搜索结果的至少一部分与所 述至少一个搜索宏的搜索结果的至少一部分相比较以确定所述至少一个搜 索宏对所述搜索查询的相关性包括,将来自所述搜索査询的搜索结果的所 述至少一部分的至少一个URL与所述至少一个搜索宏的所述至少一个 URL的分数相比较。
12. 如权利要求1所述的一个或多个计算机可读介质,其特征在于, 所述方法还包括接收用户对至少一个搜索宏的选择;使用所述搜索査询和所述至少一个搜索宏来执行搜索;以及 传递搜索结果以呈现给所述最终用户。
13. —个或多个包含用于执行一种方法的计算机可使用指令的计算 机可读介质,所述方法包括使用搜索宏来执行搜索(602);从所述搜索接收一个或多个搜索结果(604);标识所述一个或多个搜索结果的至少一部分中的一个或多个项或URL(606);计算所述搜索宏的所述一个或多个项或URL的分数(606);以及 存储指示所述一个或多个项或URL、所述搜索宏、和所述分数的信息。
14. 如权利要求13所述的一个或多个计算机可读介质,其特征在于, 使用所述搜索宏执行搜索包括孤立地使用所述搜索宏来执行所述搜索。
15. 如权利要求13所述的一个或多个计算机可读介质,其特征在于, 计算每一项或URL的分数基于与所述项或URL在一个或多个其它搜索宏 的搜索结果的至少一部分中的频率相比较的、所述项或URL在所述搜索宏 的一个或多个搜索结果的至少一部分中的频率。
16. 如权利要求13所述的一个或多个计算机可读介质,其特征在于, 所述方法还包括接收来自最终用户的搜索查询; 使用所述搜索查询来执行搜索; 接收针对所述搜索查询的一个或多个搜索结果;标识针对所述搜索査询的一个或多个搜索结果的至少一部分中的至少 一个项或URL;以及至少部分地基于所述搜索查询的搜索宏的至少一个项或URL的分数 来确定所述搜索宏的分数。
17. 如权利要求16所述的一个或多个计算机可读介质,其特征在于, 标识所述一个或多个搜索结果的至少一部分中的至少一个项或URL包括标 识多个项和URL,并且其中确定所述搜索查询的搜索宏的分数包括聚集所 述搜索宏的多个项和URL中的每一个的分数。
18. 如权利要求n所述的一个或多个计算机可读介质,其特征在于,所述方法还包括基于所述搜索宏的分数来确定所述搜索宏与所述搜索查询相关;以及 传递所述搜索宏以呈现给所述最终用户。
19. 一个或多个包含用于便于标识与搜索查询相关的一个或多个搜索宏的数据结构的计算机可读介质,所述数据结构包括包含表示项或URL的数据的第一数据字段(702);包含表示搜索宏的数据的第二数据字段(704);以及包含表示与所述搜索宏和所述项或所述URL相关联的分数的数据的 第三数据字段(706)。
20.如权利要求19所述的一个或多个计算机可读介质,其特征在于, 所述数据结构包括特里数据结构。
全文摘要
提供了搜索宏建议以细化用户的搜索。在从最终用户接收到搜索查询时,一个或多个搜索宏被确定为与该搜索查询相关。随后将搜索宏作为建议来提供给最终用户以细化该用户的搜索。在某些情况下,最终用户可以决定选择所建议的搜索宏中的一个。随后使用搜索查询和所选择的搜索宏来执行搜索,以向最终用户提供可能与该用户的搜索更相关的搜索结果。
文档编号G06F17/30GK101652779SQ200880011462
公开日2010年2月17日 申请日期2008年2月13日 优先权日2007年4月2日
发明者G·萨瑞恩, R·V·普巴拉, Y·K·李 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1