趋势响应管理的制作方法
【专利摘要】本文档涉及趋势响应管理。一个示例能够检测热门话题并标识与该热门话题相关联的内容。该示例能够采取与所述内容有关的动作,该动作降低趋势引发的处理高峰和/或增强与该热门话题相关联的用户搜索体验。
【专利说明】趋势响应管理
【背景技术】
[0001 ] 如Google?和Yahoo?的搜索入口属于最日常访问网站之中,表明这些服务对 于终端用户多么重要。响应于它们的流行性,搜索引擎提供商已经在通常通过服务器侧或 客户端侧高速缓存来优化它们的基础设施中付诸巨大努力,以实现尽可能最快的搜索用户 体验。
[0002] 遗憾的是,由于搜索查询量的不可预测的本质,导致这些优化低效率或高成本。具 体地,在现实世界中发生的重要事件能够立即转化成搜索请求的重大的且通常不可预测的 高峰。例如,就在诸如9/11或更近的波斯顿马拉松爆炸的恐怖袭击之后,用户倾向于搜索 web以获得关于这些事件的细节。类似地,当诸如选举等的其他重大"热门(trending)"事件 正在发生时,大量用户同时地搜索web以获悉结果。这些搜索量高峰即使不是每天发生,也 对搜索后端和移动用户体验两者都具有重大影响。
[0003] 首先,数据中心被过多供应以承受诸如搜索量高峰的最坏情形。搜索量高峰越大, 过多供应的成本越高(数据中心中的活跃服务器越多)或者终端用户体验的延迟越高。服务 器侧高速缓存技术能够减小这些热门请求中的每个对数据中心的影响,但是它们不能够阻 止大量请求点击数据中心的前端。其次,在存在这种不可预测事件的情况下,终端用户失去 由先前提出的用于客户端侧搜索索引高速缓存的方法递送的实时搜索体验的益处。这种负 面影响对装备有受冗长连接设置时间限制的能量消耗蜂窝链接的移动设备而言尤其重要。 当这些设备被快速安置以变成用于访问搜索服务的主要入口点时,递送的移动体验变成针 对搜索引擎的驱动优化因子。
【发明内容】
[0004] 本文档涉及趋势(trend)响应管理。一个示例能够检测热门话题(例如,事件)并标 识与该热门话题相关联的内容。该示例能够采取与所述内容有关的动作,该动作降低趋势 引发的处理高峰和/或增强与该热门话题相关联的用户搜索体验。例如,除此之外,该动作 能够实现将内容推送给所选择的用户。
[0005] 另一示例可以包括显示器和被配置为存储计算机可读指令的存储装置。该示例还 能够包括被配置为执行如下计算机可读指令的处理器。该示例能够接收用户搜索查询并将 用户搜索查询发送到远程服务。该示例能够从远程服务获得包括针对用户搜索查询的结果 和与热门搜索话题有关的数据集的分组的集合。用户搜索查询与热门搜索话题无关。该示 例能够将该数据集存储在存储装置上。该示例能够从用户接收与热门搜索话题有关的后续 搜索查询,并从存储装置上所存储的数据集检索与热门话题有关的、针对后续搜索查询的 搜索结果,而不是将后续搜索查询发送到远程服务。该示例能够在显示器上呈现针对后续 搜索查询的搜索结果。
[0006] 提供本
【发明内容】
从而以简化的形式介绍下面在【具体实施方式】中进一步描述的对 概念的选择。本
【发明内容】
不旨在确定要求保护的主题的关键或必要方面,也不旨在用作辅 助确定要求保护的主题的范围。
【附图说明】
[0007] 参考附图描述【具体实施方式】。在附图中,参考标记的最左边的(一个或多个)数字 标识参考标记首次出现的附图。在说明书和附图中的不同实例中对相似参考标记的使用可 以指示相似或相同的项目。
[0008] 图1和5是根据一些实施方式的趋势响应管理方法的流程图。
[0009] 图2-4是能够采用根据当前构思的一些实施方式的趋势响应管理的系统的示例。
【具体实施方式】 [0010]
[0011] 热门搜索话题(例如,事件)能够瞬时地将搜索引擎的后端的查询负载增加30 %或 更多。这些不可预测的查询负载高峰不仅对搜索引擎的后端造成压力,这是因为其必须被 适当地过多供应以承受这些峰负载,而且通过引入更长的延迟对终端尤其是移动终端的用 户搜索体验造成压力。为此,考虑引入图1,图1涉及趋势响应管理方法或技术1〇〇。在这种情 况下,该技术能够在102处检测热门话题。热门话题能够被认为是热门搜索查询话题,并且 该技术能够实时检测热门话题(例如,在至少一些用户搜索热门话题之前)。
[0012] 趋势响应管理技术能够在104处标识与热门话题相关联的内容。该内容可以涉及 搜索查询、来自搜索查询的术语、搜索结果、搜索结果中到网页内容的链接、网页内容、来自 社交网络的相关内容、和/或其他搜索相关内容。该技术能够在106处采取与内容有关的动 作。该动作能够降低在搜索引擎处的趋势引发的处理高峰和/或增强用户体验。例如,该动 作能够涉及通过及时的方式将内容智能地推送给个体终端用户。以这种方式,当前实施方 式中的一些实施方式能够实现客户端侧搜索引擎,其能够即刻地回复与热门事件有关的用 户查询,而同时减小这些趋势对搜索引擎的后端工作负载的影响。
[0013]图2示出了能够实现趋势响应管理的系统200。为了解释的目的,系统200包括四个 设备202(1)-202(4),其能够与能够提供访问(诸如搜索引擎服务)的其他设备202(5)进行 通信。(所图示的设备的数目当然旨在为表示性的而非限制性的)。设备202(1)-202(4)能够 经由(由闪电球206表示的)一个或多个网络与设备202(5)进行通信。在一些情况下,在参考 标记之后利用括号插入语来区分类似的元件。对没有相关联的括号插入语的参考标记的使 用对元件是通用的。
[0014] 为了解释的目的,设备202(1)-202(4)能够被认为是运行在客户端侧208上(例如, 它们是客户端侧设备)。设备202(5)能够被认为是运行在服务器侧210上(例如,其是例如数 据中心或服务器场中的服务器侧设备)。服务器侧设备能够提供针对客户端侧设备的各种 远程功能,例如搜索功能。在这种实施方式中,每个设备202能够包括趋势响应管理组件212 的实例。这是仅仅一个可能的配置,并且其他实施方式可以例如包括服务器侧趋势响应管 理组件212(5),但是除去了客户端侧趋势响应管理组件212(1 )-212(4)。在这种情况下,设 备202还能够包括高速缓存214。
[0015] 系统200还可以维持针对设备202(1 )-202(4)的用户的用户简档216。在该示例中, 用户简档216被维持在服务器侧设备202(5)。(用户简档能够备选地或额外地被维持在客户 端侧设备上。)用户简档216(1)对应于设备202(1)的用户,用户简档216(2)对应于设备202 (2)的用户,以此类推。用户简档能够包含与用户对什么类型的内容(例如,运动、计算机科 学、电影,等等)感兴趣、用户倾向于在何时进行搜索(例如,工作日在上午8:00、中午以及下 午6:00)、位置(例如,时区)、社交网络信息(例如,社交网络标识符和具有相关的标识符的 亲密朋友的列表)、用户是否已经搜索其他热门事件等有关的信息。
[0016] 系统200还包括在垂直轴上表示搜索查询的数目并且在水平轴上表示时间的假设 图218。实线220表示普通或背景搜索查询数目。虚线222表示能够在没有当前的趋势响应管 理技术(例如,峰负载查询量)的情况下发生的由于热门话题的搜索查询数目的临时增加 (例如,高峰)。点线224表示当前的技术如何能够采取动作来降低热门话题对搜索引擎数目 的影响(例如,减小的峰负载搜索查询量)。例如,在这种实施方式中,服务器侧趋势响应管 理组件212 (5)能够标识热门内容并将该内容推送到个体设备202的高速缓存。趋势检测能 够由服务器侧设备执行,服务器侧设备例如为设备202(5)或与设备202(5)进行通信的不同 的服务器侧设备。
[0017] 服务器侧趋势响应管理组件212(5)能够利用各种参数来标识将向其推送热门内 容的个体设备。例如,参数能够包括搜索引擎资源成本、网络带宽、设备电源状态、设备高速 缓存大小、设备位置和时区和/或来自用户简档的参数,等等。可能的是,将热门内容推送到 全部客户端侧设备202(1)-202(4)中能够具有超过与推送相关联的任何增益的搜索引擎资 源成本。因此,服务器侧趋势响应管理组件能够选择个体客户端侧设备何时推送热门内容 和/或如何推送热门内容。
[0018] 为了解释的目的,假设设备202(1)的用户倾向于为相对频繁的(例如,高量)搜索 者并且设备202(1)-202(4)的用户倾向于为相对不频繁的搜索者。在这种情况下,服务器侧 趋势响应管理组件212(5)可以基于用户将后续搜索热门话题的可能性来确定将内容推送 到设备202( 1)(例如,主动推送)。当用户实际上提交趋势相关的查询时,该内容在本地对设 备202(1)上的用户可用于实时使用。另外,假设在检测到热门话题之后,从设备202(3)接收 到不相关的搜索查询。在这种情况下,服务器侧趋势响应管理组件212(5)可以将趋势内容 与结果一起附带到用户的不相关的搜索查询(例如,被动推送)。这种后面的策略具有对服 务器侧设备202(5)的相对低的成本,并且能够在用户搜索热门话题的情况下向用户提供来 自本地设备高速缓存的即时的结果。另一策略能够是基于它们的时区来更新用户(例如,如 果在欧洲早上时间检测到热门事件,则以不同的延迟将热门内容推送到美国的设备以便为 可用的并且在不同的美国的各州中的用户醒来时是最新的)。
[0019] 总之,在一些情况下,智能推送的内容能够包括主动和/或被动内容推送。例如,该 内容能够被主动推送到具有将高概率搜索热门事件的用户的子集。备选地,内容能够被被 动推送给在已经检测到热门事件并且热门事件仍然是活动的之后到达搜索引擎的任何用 户。以这种方式,趋势响应管理能够解决热门查询量高峰,而不更进一步地对服务器侧设备 (例如,搜索引擎的后端)造成压力。发现趋势能够通过利用在当今可用的产品(例如,Bing Trends?)中使用的已知技术开始来完成。可用趋势产品能够被校准以检测能够影响总体搜 索引擎量的趋势的类型。趋势响应管理能够利用趋势检测来增强(并且潜在地优化)数据中 心工作负载和终端用户搜索体验两者。具体地,趋势响应管理能够自动检测与热门事件相 关的搜索内容,并在不显著增加数据中心工作负载的情况下将该内容有效地推送给用户。
[0020] 图3示出了与客户端侧设备202(1)(表示设备202(1)-202(4))和服务器侧设备202 (5)的组件有关的附加细节。设备202能够支持运行在操作系统(OS)层306上的应用层304。 操作系统层能够与硬件层308交互。硬件层中的硬件的示例能够包括存储介质或存储装置 310、(一个或多个)处理器312、显示器314和/或电池316,等等。存储装置310能够包括高速 缓存214。注意所图示的硬件组件不旨在为限制性的,并且不同的设备实现形式能够具有不 同的硬件组件。
[0021]趋势响应管理组件212能够与(一个或多个)应用层304和/或操作系统层306协作 地工作。例如,趋势响应管理组件212能够被实现为应用或应用部分。在一个这样的示例中, 趋势响应管理组件(图3上的"TRM")能够为搜索引擎应用318的应用部分(或者与其协作地 工作)。
[0022]在一些配置中,趋势响应管理组件212和搜索引擎应用318能够协作地用作网页内 容应用和/或用作"虚拟助理"的部分。例如,能够以许多不同的方式来利用在本地存储在客 户端侧设备上的高速缓存。首先,用户通过专用搜索框或通过客户端侧设备上的网络浏览 器提交的搜索查询能够访问该高速缓存以即时地访问用户的查询。另外,客户端侧设备上 的任何应用能够利用该高速缓存。例如,用户利用其进行他的/她的搜索的任何搜索应用能 够进入到高速缓存中的信息中。另外,想要示出搜索结果的任何应用能够在点击传统网络 搜索引擎之前进入到高速缓存的内容中。另外,诸如帮助用户容易地获得对正确信息的访 问的虚拟助理的对话系统还能够进入到高速缓存的内容中以实现与用户的快速通信。 [0023]趋势响应管理组件212可以包括热门事件检测(TED)模块320、热门内容标识(TCI) 模块322以及热门内容递送模块(TCD)324。简言之,这些模块能够完成趋势响应管理的特定 方面。正如它们的名称所暗示的,在趋势检测中涉及热门事件检测模块320,在标识与趋势 相关联的内容中涉及热门内容标识模块,并且在确定如何处理对服务器侧设备、个体客户 端侧设备和/或从网络带宽视角有利的趋势内容中涉及热门内容递送模块。下面关于图4更 详细地描述这些模块。
[0024]从一种视角,设备202能够被认为是计算机。处理器312能够运行以计算机可读指 令形式执行数据以提供一定功能。数据(诸如计算机可读指令和/或用户相关的数据)能够 被存储在存储装置310(例如,能够在计算机的内部或外部的存储装置)上。存储装置能够包 括易失性存储器或非易失性存储器、硬盘驱动器、闪存设备和/或光学存储设备(例如,CD、 DVD,等等),等等中的任何一个或多个。如本文中所使用的,术语"计算机可读介质"可以包 括信号。对比之下,术语"计算机可读存储介质"排除信号。计算机可读存储介质包括"计算 机可读存储设备"。计算机可读存储设备的示例包括易失性存储介质(例如RAM)和非易失性 存储介质(例如硬盘驱动器、光盘以及闪存,等等)。
[0025]在一些配置中,设备202能够包括片上系统(S0C)类型设计。在这种情况下,由计算 机提供的功能能够被集成在单个S0C或多个耦合的S0C上。一个或多个处理器能够被配置为 与共享资源(例如存储器、存储装置、等等)和/或一个或多个专用资源(例如被配置为执行 某种特定功能的硬件块)协作。因此,如本文中所使用的术语"处理器"还能够是指中央处理 单元(CPU)、图形处理单元(GPU)、控制器、微控制器、处理核心或其他类型的处理设备。 [0026]通常,能够使用软件、固件、硬件(例如,固定逻辑电路)、人工处理或这些实施方式 的组合来实施本文描述的功能中的任何功能。如本文中所使用的术语"组件"一般表示软 件、固件、硬件、整体设备或网络、或其组合。在软件实施方式的情况下,例如,这些可以表示 当运行在处理器(例如,一个或多个CPU)上时执行指定任务的程序代码。程序代码能够被存 储在一个或多个计算机可读存储设备(例如计算机可读存储介质)中。组件的特征和技术是 平台无关的,这意味着它们可以被实施在具有各种处理配置的各种商用计算平台上。
[0027] 注意不可预测的工作负载高峰是针对几乎每个单个网络服务的现实,并且不限于 诸如搜索引擎318的搜索引擎。因此,已经存在大量工作以直接在网络层级处解决数据中心 内的这些挑战。数据中心通过动态资源管理和联网协议优化来处理这种类型的问题。这些 技术是对当前的趋势响应管理技术的补充。简言之,当前的趋势响应管理技术能够在应用 层304(5)处实现一种系统架构,其能够利用服务(在这种情况下为搜索引擎318(5))的语义 来缓解查询负载高峰。
[0028] 趋势响应管理组件212(5)可以被认为是针对服务器侧服务(例如搜索服务)的新 架构,其能够实时地检测由于热门事件的搜索查询量高峰,标识与这些事件相关联的搜索 索引的一部分,并且以及时的方式高效地将其传播到终端用户。这种系统架构能够利用两 个值得注意的观察。首先,仅仅少量的搜索查询和搜索结果负责大多数热门事件的查询量。 趋势响应管理组件212(5)能够利用这种观察来采用用于标识与热门事件相对应的搜索索 引的小部分、减小被推送到终端用户的数据的足迹的两步算法。
[0029] 其次,存在来自数亿搜索引擎用户的、具有在未来将高概率搜索热门事件的用户 的子集。具体地,就在热门事件开始之前访问搜索引擎318(5)的频繁用户很可能在未来搜 索热门事件。因此,趋势响应管理组件212 (5)能够对准朝向搜索引擎318 (5)的高量的最近 的用户的更新。另外,许多用户在已经检测到热门事件之后利用与热门事件不相关的查询 来访问搜索引擎318 (5)。趋势响应管理组件212 (5)能够通过将热门搜索内容连同所请求的 搜索结果一起附带来利用该发现来投机性地更新这些用户。例如,在趋势响应管理组件212 (5)检测热门话题之后,设备202(1)的用户能够提交不相关的搜索查询326。搜索引擎318 (5)能够用公式表示针对不相关的搜索查询的搜索结果328。搜索结果能够在热门内容330 与它们一起附带的情况下被返回到设备202(1)(例如,作为包含一个或多个分组的单个通 信)。换句话说,搜索结果能够在趋势内容330被附带在对不相关的搜索查询的响应上的情 况下被返回到设备202(1)(例如,作为包含一个或多个搜索结果的单个响应)。这意味着趋 势内容能够在不要求额外客户端连接和设备的网络无线电的额外激活(即,在设备上消耗 更少的能量)的情况下被推送。
[0030] 被推送到用户的设备202(1)的趋势内容330能够被存储在高速缓存214(1)上。趋 势响应管理组件212(1)能够与搜索引擎318(1)协作地工作以提供能够提供瞬时结果的本 地客户端侧搜索引擎。例如,趋势响应管理组件212( 1)能够使得搜索引擎318(1)在请求远 程服务之前检查针对内容的高速缓存214(1)。例如,如果用户输入搜索查询,例如热门话题 搜索查询,则趋势响应管理组件212( 1)能够使得搜索引擎318( 1)检查针对搜索结果的高速 缓存214(1)。如果内容处于高速缓存中,则搜索结果能够被即时地提供给用户。如果不是的 话,搜索引擎能够将搜索查询发送到服务器侧210以用于运行。
[0031 ]总之,本地搜索引擎318(1)和(例如,存储在高速缓存214(1)中的)经高速缓存的 热门内容能够提供对热门话题有关的后续用户查询的即时答复,同时减小这些趋势对数据 中心工作负载的影响。注意趋势响应管理组件212的作用不是代替搜索引擎,而是与搜索引 擎一起工作从而以对用户透明的方式实现更快的(并且潜在地尽可能最快的)搜索体验。回 顾当用户提交查询时,用户的设备上的趋势响应管理组件212(1)能够被调用以检查经高速 缓存的热门内容是否包含针对查询的搜索结果,并且如果是的话,能够即时地显示结果。否 贝1J,查询能够被路由到服务器侧210。在混合配置中,来自高速缓存的本地结果能够在针对 更新和/或附加信息查询服务器侧的同时被呈现给用户。
[0032]趋势响应管理能够使任何类型的客户端侧设备受益,然而,客户端侧优点可以比 移动设备上更显著,指示因为移动设备倾向于使用能够是缓慢的且对设备的电池316(1)功 率紧缺的无线网络。网络还能够从使热门内容与其他数据包一起发送而非作为后续不同的 通信而受益。在一些配置中,趋势响应管理组件212(1)和搜索引擎318(1)能够被认为是为 部分网络浏览器的本地应用,使得用户查询能够在可能的情况下在本地被答复,并且如果 不能的话则在远程被答复。
[0033]总之,趋势响应管理组件212能够完成若干目的。在这些目标之中值得注意的是消 除由于热门话题的服务器侧设备202(5)的(例如,搜索后端的)查询量的高峰,并且因此在 成本上减少了数据中心过多供应的第一目标。第二个值得注意的目标是递送针对与热门话 题有关的查询中的大多数(和/或全部)的即时搜索体验。趋势响应管理组件212能够通过实 时地检测趋势搜索话题,标识与这些话题相关联的搜索内容,并且及时地将其传播到终端 用户,来实现这些目标。
[0034]注意用户的隐私能够在实施当前的构思的同时通过仅仅在用户给出他的/她的明 确同意时收集用户数据而得到保护。所有隐私和安全流程能够被实施以保护用户的安全。 例如,用户可以提供关于他的/她的设备或简档的授权(和/或定义授权的条件)。否则,用户 信息不被收集并且不利用用户的个人信息的功能能够被提供给用户。甚至当用户已经给出 明确同意时,当前的实施方式能够提供在保护用户的个人信息、隐私和安全并将使用的范 围限制到授权的条件的同时将优点提供给用户。
[0035]图4示出了利用图2-3中介绍的元件的系统架构400。在这种情况下,在服务器侧 210(例如,搜索后端)上完成趋势响应管理。趋势响应管理能够由热门事件检测模块320、热 门内容标识模块322以及热门内容递送模块324来完成。下面的段落简要地介绍系统架构 400的元素。随后,进一步详细地讨论具体方面。系统架构通过与现实生活的波斯顿马拉松 爆炸灾难有关的示例来解释,但是当然适用于其他热门事件/话题。
[0036]热门事件检测模块320能够利用各种技术来检测趋势。在一种情况下,热门事件检 测模块能够实施在搜索日志402的顶部上的简单而又高效的趋势算法来接近实时地检测所 有热门事件。例如,热门事件检测模块320能够分析各种源,例如搜索日志402、社交媒体、 Twitter,等等。热门事件检测模块能够根据搜索日志和/或其他源来标识关键字404。热门 事件检测模块能够通过分析这些关键字被利用的频率来检测热门关键字406。在该示例中, 在408(1)和408(2)处标识热门关键字的两个集合。在这点上,一个目标是检测比正常更频 繁地(例如,比在之前一天的相同小时期间五倍地频繁地)被搜索的关键字。热门事件检测 模块320能够确定热门关键字的组408(1)和408(2)是否属于相同的热门事件。如果是的话, 热门事件检测模块320能够如在410处所指示的将检测到的热门关键字分组到一起以形成 热门事件412。在该阶段处的热门事件412是频繁搜索的共同发生的关键字的集合。
[0037]热门内容标识模块322能够进一步处理热门事件412。在414处,热门内容标识模块 能够进行前向经过,其能够鉴于热门事件412扫描搜索日志402以标识包括包含大量热门关 键字406的所有查询的热门内容416。热门内容标识模块能够将这些查询标记为热门。热门 内容标识模块能够在418处选择这些趋势查询中的具有最高搜索速率和最高数量的点击的 子集。换句话说,前向经过能够标识与趋势相关的搜索查询和被提供给用户并且由用户点 击的搜索结果。
[0038]类似地,在420处,热门内容标识模块322能够进行后向经过420,其能够使用在前 向经过414中产生的被点击的搜索结果。后向经过能够重新检查搜索日志402中的搜索查询 以标识在用户选择(例如,点击)在前向经过中标识的搜索结果中得到的其他搜索查询。后 向经过能够将这些额外搜索查询添加到热门内容416以产生经更新的热门内容422。换句话 说,前向经过能够捕获大多数相关搜索查询并搜索与热门话题相关联的结果。后向经过能 够标识尽管在前向经过中未标识到,但是仍然与如由点击针对热门话题的搜索结果的用户 标识的热门话题有关的附加搜索查询。
[0039]因此,热门内容416和经更新的热门内容422两者都贡献于热门搜索内容424。该子 集能够之后通过热门内容递送模块324以对服务器侧210和/或客户端侧208有益的方式来 处理。例如,该策略能够确保大多数相关趋势搜索内容将在不浪费用户的设备上的带宽和 存储资源的情况下被传播给用户。例如,热门内容递送模块324能够将趋势搜索内容424推 送到个体客户端侧设备。下面更详细地讨论该方面。
[0040]热门内容检测模块320和热门内容标识模块322能够连续地运行在服务器侧搜索 后端中以检测热门事件412和相关联的热门搜索内容424。热门内容递送模块324能够确定 何时、如何主动地或被动地将从热门搜索内容424得到的热门内容更新426推送到个体终端 用户以及推送给谁。热门内容递送模块324能够将热门搜索内容424和/或热门内容更新426 配置为针对客户端设备的数据集432(被图示为与客户端侧有关)。在当前的实施方式中,数 据集432能够被实现为哈希表。能够利用诸如图形、键值存储、数据表或任何自定义数据表 示的其他数据集配置。热门内容递送模块324能够在428处利用数据压缩以减小用于将数据 集作为被动和/或主动更新430推送到个体用户1-n所消耗的带宽。更新430能够是数据集 432的压缩形式和/或数据集的子集,例如更新426。
[00411在客户端侧208处,客户端设备202能够存储数据集432。数据集432能够将搜索查 询映射到搜索结果或者将搜索查询引用到搜索结果。当用户(例如,用户1)在他的/她的设 备202(1)上提交趋势查询或非趋势查询时,趋势响应管理组件212(参见图2)在客户端设备 上的本地版本能够计算针对查询的哈希值并且检查数据集432。当没有检测到匹配(例如, 缺失434)时,本地趋势响应管理组件212能够以搜索应用当今工作的相同的方式(例如,经 由通信组件436(例如,无线电)自动地将用户查询发送到服务器侧210。通信组件能够将用 户查询发送到服务器侧作为如在438处指示的http请求(或其他格式)。
[0042] 对比之下,当本地趋势响应管理组件212检测到数据集432中的本地匹配时,所匹 配的查询连同许多前面的搜索结果一起能够被即时地显示给用户(例如,用户1)。用户能够 在搜索结果中的任何上进行点击或者显式地选择以将针对最新搜索结果的该查询提交到 服务器侧210。以这种方式,趋势响应管理不替代搜索引擎,而是其与搜索引擎一起工作以 实现针对终端用户的尽可能快的搜索体验。
[0043]返回到热门事件检测方面以进行更详细的讨论,热门事件检测模块320能够标识 热门关键字406的初始集合。热门事件检测模块320能够将热门关键字406分组到一起以形 成热门事件412。
[0044]在正常条件下,个体关键字倾向于针对可比较的时间段(例如,并发的天的上午 10:00到上午11:00)大体具有一致数量的事件出现。与参考时间和天相比,明显更大数量的 事件,屮,孤.仿|丨加 Fi倍η倍.能被指·劫^亦公式h,在一些实施方式中,如果
[0045 (1)
[0046]则关键字被定义为频繁的。其中Cumcmr是针对关键字在当前小时中出现的次数, 并且Refhcmr是关键字在参考天中的相同小时中出现的次数。
[0047]公式1中的KeywordRatioThreshold是将能够跨几天发生的关键字的随机的小频 率变化与指示热门事件的重大频率变化分开的凭经验定义的阈值。当前的实施方式目的在 于检测导致重大搜索量高峰的重大热门事件,因此找到针对KeywordRatioThreshold的恰 当的值变得不重要。一些实施方式将关键字比平常更频繁地出现超过五倍(例如)的阈值设 置为指示导致搜索量高峰的强热门事件。
[0048] 即使公式1中的Refhcmr针对大多数关键字具有非零值,存在由于热门事件而骤然 出现的关键字。例如,在2013年教皇选举期间如"教皇"的关键字和在波斯顿马拉松爆炸期 间如"爆炸"的关键字完全是新关键字(Refhc^iO)。为了处理这种情况,并且为了将实际热 门关键字406与随机的新关键字404区分开,具有R efhcmr = 0的关键字仅仅在观察到其在上 一小时中至少占全部查询的0.1% (例如)的意义上其是统计上重要的情况下才变得热门。
[0049] 在检测到热门关键字406之后,热门事件检测模块320能够评价针对潜在分组的关 键字。实际上,每个热门关键字406都能够本身为热门事件412。然而,检测到的热门关键字 能够属于同时发生的一个或多个热门事件。热门事件检测模块能够通过检查热门关键字如 何频繁地一起被搜索而恰当地将关键字分组到一起以形成热门事件。一般地,两个关键字 越经常一起被搜索,它们指代同一话题的概率越高。例如,针对波斯顿马拉松爆炸事件,词 语"马拉松"和"爆炸" 93 %的时间一起被搜索。一起被搜索超过热门关键字出现在搜索日志 中的总次数的大约20 % (例如)的热门关键字倾向于指代相同的热门事件。因此,热门事件 检测模块320能够将一起被搜索热门关键字出现在日志中的次数的至少20%的每对热门关 键字合并以形成单个热门事件。例如,热门关键字408 (1)和408 (2)在410处被分组到热门事 件412中。热门事件检测模块还能够针对所有当前热门关键字评价每个新的热门关键字,并 且其加入活动热门事件或形成新热门事件。
[0050] 热门事件检测模块320不必要将检测到的热门事件当作是当下活跃的。热门事件 检测模块能够将它们当作例如仅仅在上一小时(或其他时间段)中的查询包含热门事件的 关键字中的至少一个的总百分比高于阈值时为活动的。在一个示例中,阈值为1 % (例如)。 该阈值能够确保仅仅针对足够大以对数据中心和终端用户两者具有影响的事件,将内容推 送给用户。
[0051] 在这点上,热门事件412是被频繁地一起搜索的热门关键字的集合。热门内容标识 模块322能够利用关键字的这种集合来标识与热门事件有关的搜索内容。在该上下文中的 搜索内容能够被定义为与热门事件有关的搜索查询和与这些查询相关联的搜索结果。检测 到该内容出于两个原因能够是相当挑战的。首先,设备用户由于所使用的大量同义词或输 入和语法错误(例如,"boeton explo")以多个不同的方式搜索特定话题。其次,看起来很相 似的查询能够在语义上是很不相同的。例如,查询:"波斯顿马拉松"和"波斯顿马拉松爆炸" 可能是很不相同的,指示因为前者是与事件有关的信息查询,而后者关注于爆炸事故。
[0052] 热门内容标识模块322能够使用前向经过414和后向经过420来检测相关查询。首 先,搜索日志402的前向经过能够进行以标识具有与热门事件412相关的高度确定的查询的 小集合。基于高度相关的查询的该小集合和用户作为响应点击的搜索结果,热门内容标识 模块322能够在416处标识与被指示为热门内容的热门事件相关的搜索结果的核心集合。在 第二步骤处,在与热门事件相关的额外查询能够基于在第一步骤中标识的搜索结果的集合 来标识的情况下,进行搜索日志的后向经过420。具体地,导致用户点击与热门事件相关的 搜索结果的所有查询能够被自动当作与热门事件相关。以这种方式,能够捕获甚至用于搜 索热门事件的不频繁的且非常规的查询(例如,"波斯顿爆炸")。
[0053] 假定前向经过414的目标是标识具有高概率与热门事件有关的少量搜索查询,热 门内容标识模块322能够遵循保守方法。在这种实施方式中,在过去一个小时中包含三个或 更多个热门关键字的所有搜索查询被自动地假定为与热门事件相关。假定用户尤其是移动 用户的查询大部分时间倾向于包含三个/四个或更少的关键字的事实,三个热门关键字能 够指示强匹配。包含零个或仅仅一个热门关键字的所有搜索查询能够在该步骤中被忽略, 指示因为即使诸如"波斯顿"、"cnn"或"新闻"的普通关键字也能够变成热门。在移动搜索日 志中的最常见情况,精确地包含两个热门关键字的搜索查询能够是更复杂的。例如,查询 "波斯顿马拉松结果"和"今天波斯顿爆炸"精确地包含针对波斯顿马拉松爆炸事件的两个 热门关键字。然而,第一次查询很可能与爆炸不相关,这是因为用户关心马拉松结果而非爆 炸事故。
[0054]为了处理这些情况,热门内容标识模块322能够实施匹配算法,其中不同的热门关 键字根据它们多么独特而在匹配过程中被给予不同的权重。例如,关键字"波斯顿"能够在 许多不同的查询(例如,"波斯顿天气")中被使用,并且因此其独特性低于关键字"爆炸"。热 门内容标识模块322能够通过在热门事件的时间段与参考时间段之间的关键字频率增加来 将这两种情况区分开(公式1)。如"波斯顿"的关键字通常具有相对低的增加比率(5倍-8 倍),而如"爆炸"的关键字能够具有超过100倍的比率。
[0055] 考虑到这种观察,热门内容标识模块322可以计算针对每个候选搜索查询的匹配 分数 Queryscore:
[0056]
[0057] 其中Uniquenessk表示关键字k多么独特:
[0058]
[0059] 分别表示在上一小时中和在参考小时中包含热门关键字k的查 询的次数。关键字k在搜索日志中出现频率的几率越高,其独特性值越高。注意热门关键字 的权重(等式2)通过将关键字的独特性和绝对频率相乘来考虑关键字的独特性和绝对频率 两者。针对每次查询,热门内容标识模块322能够找到查询的匹配权重作为通过所有可用热 门关键字的总权重来归一化的、被包含在查询中的所有热门关键字的权重的总和。以这种 方式,针对查询的匹配分数是在0与1之间的值。在一个实施方式中,具有高于0:5的匹配分 数的每个查询能够被假设为与热门事件相匹配。
[0060] 在后向经过420处,热门内容标识模块322能够记录用户在提交了已经被标识为热 门的查询之后点击的所有搜索结果。热门内容标识模块322能够利用这些搜索结果来标识 属于热门事件的附加查询。具体地,搜索日志中的导致在前向经过步骤中标识的搜索结果 中的一个结果上的点击的每个查询被添加到热门事件。
[0061 ]在已经检测到热门事件之后,热门内容标识模块322能够标识与该事件相关联的 搜索查询的集合。通过检查用户已经在提交这些查询之后点击的所有搜索结果,热门内容 标识模块322能够生成与热门事件相关联的搜索结果(统一资源定位符(URL)和片段)的最 终集合作为热门搜索内容424。
[0062]当考虑与该事件相关联的每个单个查询和搜索结果时,查询和搜索结果的总数目 可能是相当大的。将所有这种数据推送给用户,尤其是移动用户,由于带宽要求倾向于是不 被期望的。然而,与热门事件相关的大多数搜索流量倾向于被集中在这些查询的小集合和 对应的搜索结果(例如,前50个搜索结果)附近。因此,热门搜索内容模块424能够利用最流 行的1000 (例如)热门搜索查询连同对应的搜索结果一起来形成被推送给用户的热门高速 缓存(例如,数据集432)。该方法能够确保高(并且潜在地接近理想的)性能,同时减小(并且 潜在最小化)用于得到对个体用户1-n的经压缩的趋势内容更新所消耗的带宽。
[0063]在已经标识了热门搜索内容之后,热门搜索内容模块424能够及时地且有效地将 该内容传播给个体用户1-n。给定大量搜索引擎用户,这能够在数据中心要完成的带宽方面 是昂贵的。为了使更新用户对搜索后端具有的影响最小化,热门搜索内容模块424能够采用 各种策略。下面描述这些策略中的两种策略。
[0064]第一,热门搜索内容模块424可以标识搜索引擎的用户中的、具有在未来将高概率 搜索热门话题的子集。例如,热门搜索内容模块424能够标识在热门事件发生之前的两个小 时(或其他时间段)内提交查询的所有用户,并且能够按他们的查询量的降序顺序将热门搜 索内容推送给这些用户。为了限制主动更新对搜索后端和其带宽消耗的影响,热门搜索内 容模块424能够强制最大数量的用户每分钟更新。以这种方式,热门搜索内容模块424不会 通过同时将内容推送给所有用户来击垮数据中心(例如服务器侧设备)和/或网络。
[0065] 第二,基于移动搜索逻辑分析的发现,热门搜索内容模块424能够利用被动用户更 新来补充主动内容推送。(高达26%)的大百分比的用户在已经检测到热门事件之后提交与 热门事件不相关的查询。热门搜索内容模块424能够利用这个来投机性地将热门搜索内容 (例如,数据集432)连同针对不相关搜索查询的搜索结果一起推送给这些用户。以这种方 式,热门搜索内容模块424能够及时地更新可能从未通过主动更新而更新用户,而不增加数 据中心的工作负载。
[0066] 总之,(图2-3中介绍的)趋势响应管理组件212能够解决四个基本的挑战:推送什 么热门搜索内容,何时推送它,向谁推送它,以及如何推送它。
[0067]首先,趋势管理技术能够自动地接近实时地检测热门事件,并且同时标识与这些 事件相关的搜索索引的部分。搜索索引的该部分将变成将被推送给终端用户的实际搜索内 容(搜索查询和对应的搜索结果)。该方法的可行性能够在一些情况下取决于与热门话题相 关联的搜索内容实际上多么集中。如果用户的点击均匀地分布在大量搜索结果上,则标识 搜索索引的热门部分能够是相当困难的。相反,如果大多数用户在搜索热门话题时在少量 搜索结果上点击,则包括搜索查询和结果中的URL的热门搜索内容是更紧凑的并且因此是 可管理的。
[0068]给定所标识的搜索查询的集合和对应的搜索结果,热门搜索内容模块424仍然判 定何时将该内容推送给终端用户。即使热门事件能够很早地(例如,在例如20分钟内)被检 测到,与事件相关的内容也可能随时间尤其是在最开始演变。因此,过早地推送热门数据可 能是低效率的,这是因为关键内容可能缺少。
[0069]为了解决热门事件的不断演变,趋势响应管理能够持续地扫描搜索日志以标识最 新的热门搜索内容,并且将其推送给用户。每次用户被更新时,最新的热门内容能够被用于 满足趋势相关的查询。
[0070] 示例技术
[0071]图5图示了趋势响应管理技术或方法500的流程图。
[0072] 在框502处,该方法可以从搜索查询获得热门关键字的集合。
[0073] 在框504处,该方法可以将倾向于共同位于搜索查询中的关键字的子集区分开。 [0074]在框506处,该方法可以根据关键字的子集来确定热门话题。
[0075] 在框508处,该方法可以基于关键字的子集来检测搜索查询中的、与热门话题相关 的子集。
[0076] 在框510处,该方法可以识别针对搜索查询的子集返回的并且由个体用户选择的 搜索结果。
[0077] 在框512处,该方法可以标识未在子集中的、返回所选择的搜索结果的其他查询。
[0078] 在框514处,该方法可以创建针对热门话题的、包括查询的子集和被映射到所选择 的搜索结果的其他查询的数据集。数据集能够被主动地或被动地被发送到个体用户。另外, 个体用户的简档可以被评价以确定他/她是否有可能对热门话题感兴趣。例如,能够确定感 兴趣的可能性。如果可能性超过阈值,则用户能够被视为针对主动或被动推送的强候选。如 果可能性低于阈值,则用户可以被视为不太可能受益于热门内容。因此,用户简档能够被当 作在决定是否将热门内容推送给用户时考虑的另一信息源(例如,另一参数)。参数能够被 认为具有相等的重要性,或者一些参数能够被加权超过其他参数。
[0079] 趋势响应管理技术能够确定向哪些用户1-n推送热门搜索内容,并且关于检测到 的热门搜索内容他们将以什么顺序被更新。这不是不重要的任务,这是因为商用搜索引擎 具有数亿用户。试图利用热门搜索内容来同时更新每个用户将很可能击垮数据中心,从而 产生比一个趋势响应管理解决的问题更大的问题。趋势响应管理技术的一些实施方式能够 采用至少两个不同的方法。趋势响应管理技术能够'主动地'或'被动地'更新用户。下面首 先描述两个主动策略,跟着描述被动策略。
[0080] 在第一主动策略中,趋势响应管理技术能够标识搜索引擎的忠实用户,这是因为 忠实用户更有可能回来并搜索热门话题。在一个实施方式中,忠实用户能够被定义为在过 去已经提交了大量查询的用户,并且他们还已经在过去搜索了至少一个多个热门事件。换 句话说,主动策略可以定义活跃用户的第一子集,其被定义为在一定时间段内已经提交了 至少预定义数量的搜索查询。例如,在第一集合中的活跃用户可以例如已经在上周提交了 至少50次查询。
[0081] 能够由趋势响应管理技术采用的第二主动策略是基于最近在搜索引擎中提交了 搜索查询的用户将在他们一发现热门内容时就最可能搜索热门内容的假设来标识将热门 搜索内容推送给谁。换句话说,活跃用户的第二子集能够被定义为已经在检测之前的预定 义时间(例如一个小时)内提交了至少一个搜索查询。其他实施方式可以反向地加权自用户 上次提交了不相关的搜索查询经过的时间。例如,在检测到趋势之前的五分钟提交了搜索 查询的用户可以比先前三个小时最后提交搜索查询的用户更有可能搜索该趋势。因此,内 容可以在更远的用户之前先被推送给更最近的用户。
[0082] 主动更新倾向于要求数据中心跟踪个体用户,并在热门搜索内容变得可用时抢先 地将趋势搜索内容推送给它们。然而,这样的方式能够导致将内容推送给大量用户,大量用 户中的仅仅一些可能最终搜索该内容。假定如果不是高度准确的话,主动推送还能够对数 据中心造成压力,一些实施方式能够备选地或额外地采用被动的投机性的更新。具体地,每 次用户将查询提交到搜索引擎并且热门搜索话题当前活动时,趋势响应管理组件能够与搜 索引擎协作地操作以投机性地向用户更新最新的热门搜索内容以及将搜索结果提供到(非 趋势相关的)查询。以这种方式,不需要将额外的请求提交到数据中心并且不要求用户跟
[0083] 由以上关于图2-4描述的系统和/或设备和/或由其他设备和/或系统执行所描述 的方法。方法被描述的顺序不旨在被理解为限制,并且任何数量的所描述的动作能够以任 何顺序来组合以实施该方法或备选方法。另外,可以以任何适当的硬件、软件、固件或其组 合来实施该方法,使得设备能够实施该方法。在一种情况下,该方法被存储在计算机可读存 储介质上作为指令集使得由计算设备的处理器的运行引起计算设备执行该方法。
[0084]
[0085] 尽管已经以对结构特征和/或方法动作特定的语言描述了本主题,但是应理解在 所附的权利要求中限定的主题不必限于以上描述的特定特征或动作。相反,以上描述的特 定特征和动作被公开为实施权利要求的示例形式。
【主权项】
1. 一种由一个或多个计算设备执行的方法,包括: 从搜索查询获得热门关键字的集合; 标识与所述搜索查询中的、包括所述热门关键字中的至少一些热门关键字的子集相关 联的热门话题; 标识被返回给所述搜索查询的所述子集并由用户选择的搜索结果; 标识未在所述搜索查询的所述子集中但是返回选择的所述搜索结果的其他搜索查询; 创建针对所述热门话题的、包括所述搜索查询的所述子集和被映射到选择的所述搜索 结果的所述其他搜索查询的数据集;以及, 使得所述数据集被存储在个体用户的设备的硬件高速缓存上以用于实时可用性。2. 根据权利要求1所述的方法,其中标识热门话题包括: 将趋于共同位于所述搜索查询中的所述关键字的子集区分开; 根据所述关键字的所述子集来确定所述热门话题; 基于所述关键字的所述子集来检测所述搜索查询中的与所述热门话题有关的所述子 集;以及, 识别针对所述搜索查询的所述子集返回并且由所述个体用户或其他个体用户选择的 所述搜索结果。3. 根据权利要求1所述的方法,其中所述使得包括将所述数据集附带到针对不相关的 搜索查询返回的搜索结果上。4. 根据权利要求1所述的方法,其中所述计算设备包括还提供搜索引擎功能的服务器 计算设备。5. -种具有计算机可运行指令的一个或多个计算机可读存储介质,所述计算机可运行 指令当由处理器运行时执行包括以下的动作: 检测热门话题; 标识与所述热门话题相关联的内容;以及, 使得所述内容被发送到活跃用户的集合并且被存储在所述活跃用户的设备的硬件高 速缓存上,以用于在所述活跃用户后续搜索所述热门话题时的实时可用性。6. 根据权利要求5所述的计算机可读存储介质,其中标识内容包括:标识包括由其他用 户提交的热门查询和被返回给所述其他用户并由所述其他用户选择的统一资源定位符 (URL)的热门搜索内容。7. 根据权利要求6所述的计算机可读存储介质,其中所述使得包括将所述热门搜索内 容哈希存储到将热门查询引用至搜索结果的热门内容更新哈希表中。8. 根据权利要求7所述的计算机可读存储介质,还包括对所述哈希表进行压缩。9. 根据权利要求5所述的计算机可读存储介质,其中所述活跃用户的第一子集被定义 为在一个时间段内已经提交至少预定义数目的搜索查询,并且其中所述活跃用户的第二子 集在所述检测之前的预定义时间内已经提交至少一个搜索查询。10. 根据权利要求5所述的计算机可读存储介质,其中所述使得包括在个体用户提交不 相关的搜索查询时推送所述内容,并且所述内容与搜索结果一起附带到返回给所述个体用 户的所述不相关的搜索查询。
【文档编号】G06F17/30GK105981011SQ201580007578
【公开日】2016年9月28日
【申请日】2015年2月2日
【发明人】D·利姆贝洛鲍洛斯, O·莉娃, D·伯格, K·施特劳斯, G·佩罕科欧
【申请人】微软技术许可有限责任公司