检测尖峰查询的制作方法

文档序号:6353915阅读:229来源:国知局
专利名称:检测尖峰查询的制作方法
技术领域
本发明涉及搜索技术,尤其涉及处理查询的系统和方法。
背景技术
搜索查询活动的陡然迅猛增长(通常被称为尖峰)可以来自多个源。尖峰可以来 自诸如节日或体育比赛等常规和流行事件、或者来自诸如高调死亡或自然灾害等非常规事 件。尖峰还可以作为大规模行销企图或恶意网络攻击的结果而出现。存在在出现尖峰之后标识尖峰查询趋势的若干系统。然而,在趋势的开头标识尖 峰查询趋势将更困难和复杂。在事件正常进行或者在事件结束之前在合法尖峰和恶意或不 合法尖峰之间进行区分也将是困难的。

发明内容
本发明的各实施例由所附权利要求书来定义。提供本发明的各实施例的高层次概 览以便介绍将在以下具体实施方式
一节中进一步描述的系统、方法和介质的概述。本概述 既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于独立地帮助确定所 要求保护的主题的范围。本发明的各实施例包括标识、分类、聚类、并呈现合法搜索查询尖峰的结果的计算 机实现的方法和系统。接收输入查询活动(被称为查询流),并监视该输入查询活动以寻找 任何尖峰活动。当特定查询被标识为尖峰时,随后将该尖峰查询的各组分与展示了相似的 行为或特征的其他所存储的查询进行比较和聚类,这些特征包括时间和文本相关性。在包含来自最近爬行的内容源的信息和结果的新鲜索引中检索某些先前接收的 查询。还在包含可能在时间上与聚类的查询流相关的信息和结果的历史索引中检索某些先 前接收的查询。可以计算尖峰的加权平均加速度来确定该尖峰是流行查询兴趣的结果还是 可能是恶意攻击。根据诸如季节性结果图库等经分组的内容来将来自合法尖峰查询的聚类 的结果呈现给用户输出设备。合法聚类与相似的现有聚类进行合并或者被建立为新的聚类。这些合并的和新建 立的聚类与先前存储的聚类一起存储以便与将来的查询流活动进行比较并作为查询建议 来呈现。本发明的另一实施例包括其上存储有指令的计算机可读介质,该指令在由计算设 备执行时执行上述方法。


以下将参考附图详细描述本发明的说明性实施例,附图通过引用结合于此,并且 其中图1是示出根据本发明的各实施例使用的示例性计算机操作环境的框图;图2是根据本发明的各实施例使用的客户机服务器系统的框图;图3是示出根据本发明的各实施例使用的用于检测尖峰查询的示例性计算的图4是示出根据本发明的各实施例使用的用于检测尖峰和季节性查询的示例性 方法的流程图;图5是示出根据本发明的各实施例使用的接收并合并聚类的示例性方法的流程 图;图6是示出根据本发明的各实施例使用的标识合法搜索查询尖峰的示例性方法 的流程图;图7是示出根据本发明的各实施例使用的产生流行搜索查询结果的示例性方法 的流程图;图8是示出根据本发明的各实施例使用的标识并聚类查询的示例性方法的流程 图。
具体实施例方式本发明的各实施例提供了用于标识、聚类和呈现流行尖峰查询的系统、方法和计 算机可读存储介质。该具体实施方式
和所附权利要求书满足适用的法定要求。此处可使用术语“步骤”、“块”等来意味所采用的方法的不同动作,但是这些术语 不应被解释为暗示任何特定次序,除非明确地描述了各单独步骤、框等的次序。同样,此处 可使用术语“模块”等来意味所采用的系统的不同组件,但是这些术语不应被解释为暗示任 何特定次序,除非明确地描述了各单独模块等的次序。贯穿本发明的不同实施例的描述,使用若干缩写和简写符号来帮助理解关于相关 联的系统、方法和计算机可读介质的特定概念。这些缩写和简写符号旨在帮助提供一种传 达此处所表达的观念的容易方法,并且不意味着限制本发明的任何实施例的范围。本发明的各实施例包括,但不限于,方法、系统以及具体化在一个或多个计算机可 读介质上的计算机可执行指令集。计算机可读介质包括易失性和非易失性介质、可移动和 不可移动介质、以及可由数据库和各种其它网络设备读取的介质。作为示例而非限制,计算 机可读介质包括以用于存储信息的任何方法或技术实现的介质。存储的信息的示例包括计 算机可使用指令、数据结构、程序模块以及其它数据表示。介质示例包括,但不限于,信息传 送介质、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、 闪存或其他存储器技术、紧致盘只读存储器(CD-ROM)、数字多功能盘(DVD)、全息介质或其 他光盘存储、磁带盒、磁带、磁盘存储以及其他磁存储设备。这些介质示例可被配置成暂时 地、临时地或永久地存储数据。计算机可读介质包括唯一地存在于一个处理系统上或分布 在对该计算系统为本地或远程的多个互连的处理系统之间的协作或互连的计算机可读介 质。本发明的各实施例可以在计算机代码或机器可使用指令的一般上下文中描述,机 器可使用指令包括由计算系统或其它一个或多个机器执行的诸如程序模块等的计算机可 执行指令。一般而言,包括例程、程序、对象、组件、数据结构等的程序模块指的是可执行特 定任务或实现特定数据类型的代码。此处所描述的各实施例可以使用各种系统配置来实 现,包括手持式设备、消费电子产品、通用计算机、更专用计算设备等。此处所描述的各实施 例还可以使用通过通信网络或因特网链接的远程处理设备来在分布式计算环境中实现。在某些实施例中,提供了使用具有存储器、处理器和数据存储子系统的计算系统来标识合法搜索查询尖峰的计算机实现的方法。从一个或多个用户输入设备接收多个搜索 查询请求。搜索查询被分类为尖峰或非尖峰。标识在所接收的搜索查询请求中存在的一个 或多个尖峰。所标识的尖峰根据时间或文本相关性被聚类在一起,随后经由计算系统的处 理器来确定每一尖峰的加速度速率。将所确定的聚类的所标识的尖峰的加速度速率与所存 储的聚类的相似时间行为进行比较。当所确定的加速度速率超过第一阈值水平并且与时间 行为的比较低于第二阈值水平时,可以为特定的聚类尖峰标识恶意攻击。将不是恶意的聚 类尖峰的所接收的搜索查询请求和结果作为一个或多个内容组存储到计算系统的数据存 储子系统中。非恶意的聚类尖峰用作对将来的相关搜索查询请求的比较和查询建议。在另 一实施例中,一个或多个计算机可读存储介质上包含有计算机可读指令,这些指令在由计 算设备执行时执行上述标识合法搜索查询尖峰的方法。在某些实施例中,提供了使用具有存储器、处理器和数据存储子系统的计算系统 来产生流行搜索查询结果的计算机实现的方法。从用户输入设备接收搜索查询请求。在包 含所接收的搜索查询请求和其他传入搜索查询请求的查询流中标识尖峰。作为搜索多个历 史索引的结果,查询流中的尖峰在时间上与来自那些历史索引的相关内容相关。作为搜索 多个新鲜索引的结果,查询流中的尖峰还与来自那些新鲜索引的相关内容相关。新鲜索引 包含来自最近爬行的内容源的信息和结果。通过使用计算系统的处理器来确定接收查询流 中的尖峰的加速度速率。将所确定的加速度速率与相似的所存储的搜索查询的时间行为进 行比较。使用分组的内容算法分析来自搜索历史索引和新鲜索引的结果来确定是否应该将 该搜索查询请求与现有的搜索查询结果组聚类在一起。当特定的聚类尖峰的加速度速率超 过第一阈值水平并且与时间行为的比较低于第二阈值水平时,可以标识恶意攻击。将查询 流的非恶意的聚类尖峰作为一个或多个季节性图库存储到计算系统的数据存储子系统中。 根据所标识的聚类结果的使用期和大小来对搜索查询请求的结果排定优先级。将一个或多 个季节性图库和排定了优先级的结果传递给用户输出设备。在另一实施例中,一个或多个 计算机可读存储介质上包含有计算机可读指令,这些指令在由计算设备执行时执行上述产 生流行搜索查询结果的方法。在其他实施例中,提供了使用具有存储器、处理器和数据存储子系统的计算系统 来标识并对流行度不断提升的查询进行聚类的计算机实现的方法。从用户输入设备接收搜 索查询请求。在包含该搜索查询请求的传入查询流活动中标识尖峰。作为搜索多个历史索 引的结果,传入查询流活动中的尖峰在时间上与来自那些历史索引的相关内容相关。作为 搜索多个新鲜索引的结果,传入查询流活动中的尖峰还与来自那些新鲜索引的相关内容相 关。新鲜索引包含来自最近爬行的内容源的信息和结果。分析来自搜索历史索引和新鲜索 引的结果来确定该搜索查询请求是否应该与现有的搜索查询结果组聚类在一起。根据所标 识的循环聚类结果的使用期和大小来对搜索查询请求的结果排定优先级。将排定了优先级 的搜索查询请求的结果传递给用户输出设备。在另一实施例中,一个或多个计算机可读存 储介质上包含有计算机可读指令,这些指令在由计算设备执行时执行上述标识并对流行度 不断提升的查询进行聚类的方法。在简要描述了此处的各实施例的概览后,以下描述一示例性计算设备。最初参考 图1,示出了用于实现本发明的各实施例的示例性操作环境,并将其概括指定为计算设备 100。计算设备100只是合适的计算系统的一个示例,并且不旨在对本发明的各实施例的使用范围或功能提出任何限制。也不应该将计算设备100解释为对所示出的任一组件或其组 合有任何依赖性或要求。在一个实施例中,计算设备100是常规计算机(例如,个人计算机 或膝上型计算机)。本发明的各实施例还适用于多个互连的计算设备,如计算设备100。计算设备100包括直接或间接耦合以下设备的总线110 存储器112、一个或多个 处理器114、一个或多个呈现组件116、输入/输出(I/O)端口 118、输入/输出组件120、和 说明性电源122。总线110表示一个或多个总线(诸如地址总线、数据总线或其组合)。尽 管为了清楚起见用线条示出了图1的各框,但是在现实中,各组件的划界并不是那样清楚, 并且按比喻的说法,更精确而言这些线条将是灰色的和模糊的。例如,可以将诸如显示设备 等的呈现组件116认为是I/O组件120。同样,处理器114具有存储器112。本领域的技术 人员可以理解,这是本领域的特性,并且如上所述,图1的图示只是例示可结合本发明的一 个或多个实施例来使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手 持式设备”等分类之间没有区别,它们全部都被认为是在图1的范围之内并且被称为“计算 设备”或“计算系统”。计算设备100可包括各种计算机可读介质。作为示例而非局限,计算机可读介质 可包括RAM、R0M、EEPR0M、闪存或其他存储器技术、CDR0M、DVD或其他光学或全息介质、磁带 盒、磁带、磁盘存储或其他磁存储设备、或可被配置成存储与此处所描述的各实施例相关的 数据和/或执行的类似的有形介质。存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器 112可以是可移动的、不可移动的或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、 高速缓存、光盘驱动器等。计算设备100包括从诸如存储器112或I/O组件120等各种实 体读取数据的一个或多个处理器114。呈现组件116向用户或其它设备呈现数据指示。示 例性呈现组件116包括显示设备、扬声器设备、打印设备、振动设备等等。I/O端口 118将计算设备100逻辑上耦合至包括I/O组件120的其它设备,其中某 些设备可以是内置的。说明性I/O组件120包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、 扫描仪、打印机、无线设备等等。以上描述的与计算设备100有关的组件也可被包括在无线设备中。如此处所描述 的无线设备指的是任何类型的无线电话、手持式设备、个人数字助理(PDA) ,BlackBerry , 智能电话、数码相机、或可无线地通信的其他移动设备(除了膝上型计算机之外)。本领域 的技术人员可以理解,无线设备也包括执行各种功能的处理器和计算机存储介质。此处所 描述的各实施例适用于计算设备和无线设备两者。在各实施例中,计算设备也可以指运行 其图像由无线设备中的照相机来捕捉的应用程序的设备。上述计算系统被配置成供上文中概括描述并在下文中更详细描述的若干计算机 实现的方法、系统和介质来使用。本发明的各实施例提供标识合法查询尖峰并对流行查询 进行聚类的计算机实现的方法、系统和介质。聚类是试图在项集合中找到一个或多个共同结构的统计过程。聚类将整个项集合 分成其成员具有某种共同特征的离散的组。通常使用共同性阈值水平来确定将哪些项分组 在一起。不满足该阈值的项可以与另一聚类分组在一起或者用于形成新的组。聚类是在字符集合中发现结构的过程。如果文本串和满足预定阈值的现有聚类之 间存在共同性,则基于文本相似性将该文本串添加到该聚类。如果共同性不满足预定阈值,则可以创建新的聚类。聚类还可以基于时间相关性,其中各项基于有相似时间的或日历事件被聚类在一 起。如果两个查询的流行度在一段时间内表现得相似,则它们被推断为是相关的。时间相 关性使用查询上下文来隐式地“理解”为什么查询在特定时刻会引起兴趣。例如,在二月份 查询巧克力变得流行而在十月份查询南瓜变得流行。即使巧克力和二月份不具有文本相似 性(并且南瓜和十月份不具有文本相似性),但是因为它们的时间相关性所以将这些组合 关联在一起。该方法提供了对诸如新闻事件等当前事件的快速调整。与事件有关的查询将 开始立即出现在搜索引擎查询流中。此处查询流被定义为实时查询输入。时间相关性的形式测量可以通过将查询χ在特定时间单位t内的频率定义为t中 χ的出现次数与t中的查询总数的比率来设计。两个查询χ和y在许多时间单位的跨度内 的时间相关性的测量是X和y的频率的标准相关系数。该相关系数是-1和+1之间的值, 值越大指示相关性越强。最近邻居算法和嵌入理论的组合找到了近似最相关的查询。计算机上存储并操纵 的大多数数据可被表示为高维空间中的点。然而,操作这些数据所需的算法往往随着维度 的增加而很快地变得陷入停顿。在嵌入理论中,按照几乎保留各点之间的距离的方式将来 自高维空间的点嵌入到低维空间中。在最近邻居算法中,处理点集P来找到集合P中与查 询集合Q中的查询点q最接近的点P。对象的特征被表示为所定义的空间中的点,并且使用 距离度量来测量对象的相似性或不相似性。为合理的距离度量确定近似最近邻居对于大多 数实际目的应该足够,从而极大地降低了维数。这种将嵌入理论与最近邻居算法进行组合 的方法使得输入查询的实时处理变得可行。使用频率函数的相关性来归一化方差,并且因 此带有高方差的错误查询变为归一化而非表现成实际尖峰或流行查询。这仅仅是实现查询 之间的时间相关性的一个示例,并且其他的时间相关性可以用于实现本发明的各实施例。图2是带有可以实现本发明的各实施例的搜索引擎的客户机服务器系统的框图。 客户机服务器系统200包括耦合到通信网络205的客户机计算机201。客户机计算机201 可以包括个人计算机,如参考图1所描述的。客户机计算机201上可以安装有基于可扩展 标记语言Uml)和/或超文本标记语言(html)的浏览器软件。通信网络205可以是例如 LAN或WAN或因特网。应该理解,虽然在图2中示出一个客户机计算机201,但实际上,可以 存在许多客户机计算机同时访问通信网络205。通信网络205还耦合到搜索引擎服务器204,在那里搜索引擎204耦合到搜索引擎 数据库211。客户机计算机201经由通信网络205将查询202发送到搜索引擎服务器204。 作为来自搜索引擎服务器204的回报,客户机计算机201接收与位于搜索引擎数据库211 中的数据相对应的搜索结果203。搜索引擎服务器204耦合到查询日志数据库206。查询日志数据库206将查询202 存储到包括所有从一个或多个客户机计算机201接收的查询的数据库中。查询202通过聚 类计算机207从查询日志数据库206接收,在那里将查询202与存储在数据库210中的现有 聚类208进行比较。取决于查询202和数据库210中的现有聚类208之间的共同性程度, 将向数据库210提供经更新的聚类213。如果查询202满足与现有聚类208的预定共同性 程度,则将查询202添加到该聚类。如果查询202不满足与现有聚类208的预定共同性程 度,则查询202将创建新的聚类。聚类计算机207随后可以从数据库210导出话题209,话题209将是数据库210中的聚类的成员。一旦确定了话题209,聚类计算机207随后将话题 209按照经修改的查询212的形式提供给搜索引擎服务器204。搜索引擎服务器204在搜 索引擎数据库211中进行对经修改的查询212的搜索。搜索引擎数据库211随后将搜索结 果203提供给搜索引擎服务器204。搜索引擎服务器204随后经由通信网络205将搜索结 果203提供给客户机计算机201。图2只是可以用于本发明的各实施例的客户机服务器系 统的一个示例。以上描述的客户机服务器系统的其他系统或变形也可用于本发明的各实施 例。查询的聚类降低了噪声并帮助在尖峰和噪声之间进行区分。根据时间或文本相关 性来对来自查询流的输入查询进行聚类提供了经分组的内容搜索查询响应,诸如循环聚类 或季节性图库。将算法用于现有的查询日志来确定在一时间段内形成的关键字聚类。聚类 常常与诸如节日、体育比赛或奖项等关键事件相关联;然而,聚类可用于季节性趋势和非季 节性趋势两者。另外,所执行的查询常常在事件之前、在事件期间、以及在事件之后会随着 时间改变。通过将现有的查询日志(历史日志)与查询流(当前活动)进行组合,该算法 提供了用户会感兴趣的事件的时间跨度的关联。因此,搜索结果页面将包括常规算法结果, 以及用户执行的其他相关查询的其他结果组。分组的内容结果可以根据尖峰查询的新鲜程 度(newness)(使用期)和大小进行排序。聚类的大小通常是对时间事件的重要性的一个 好的指示符。带有单个查询或少量查询的聚类常常是垃圾,因为人们使用不同的查询来搜 索相同的信息。如果一个时间聚类或一组非常相似的聚类按规则的时间跨度出现,则它被 认为是循环聚类。如果循环聚类的时间跨度是一年,则该循环聚类是季节性的,因此它被称 为季节性循环聚类或季节性图库。将使用诸如奥斯卡 、金球 、或格莱美奖 等奖项的搜索查询话题来描述分组的 内容搜索查询响应的一个示例。在事件之前的某几天或几周,用户可能对先前获奖者、提名 者、或先前获奖者的图像和视频感兴趣。因此,除了对于查询的常规算法结果之外,还会返 回提名者、图像和视频的结果。就在事件发生之前,所返回的额外结果可以包括为实际事件 所作的准备。类似地,在事件发生之后,所返回的结果可以包括今年的获奖者连同来自今年 事件的图像和视频。另一示例查询将是关于母亲节的话题。母亲节之前的大约一个月,查 询往往是面向诸如礼物想法、买卖、日期和报价等事物的搜索。就在母亲节之前,查询可以 围绕最后一刻送货来进行聚类。在母亲节之后,查询可以围绕礼物返回来进行聚类。分组的内容搜索查询结果将演化成取决于与查询事件日期有关的时序来关联于 并包括其他组。对于本质上是尖峰的查询,新鲜的数据结果常常与用户意图更相关。例如, 对夏威夷的典型查询通常可以围绕旅行和度假来进行聚类。然而,如果夏威夷刚发生火山 喷发,则分组的内容结果仍然会返回典型的关于旅行和度假的结果,但还会返回对火山活 动的最新更新的结果。现在将参考图3描述一种用于使用加权平均法来检测尖峰查询的计算机实现的 方法。对于查询流中的每一个唯一的查询,计算瞬时速度。这被计算为对于特定参数的即 时查询请求和最新近查询请求之间的时间差的倒数。这在图3中示出,其中dt=(该查询 实例的时间-上一次看见该查询的时间),以及μ =瞬时查询速度=l/dt。新的或更新的 加权平均速度(V新)被计算为旧的或先前的加权平均速度(YV10)和加权瞬时速度[(I-Y) μ]的组合。 表示应用于速度的权重,其范围从ι(未赋予权重)到ο(非常重要的加权)。这在图3中示出,其中Vli= γν10 + (1-γ) μ =新的或更新的加权平均速度。将对于特定 参数的每一查询请求的瞬时查询加速度(α)计算为新的或更新的加权平均速度与旧的或 先前的加权平均速度之差乘以瞬时查询速度。这在图3中示出,其中α = (Vli-V10) μ = 瞬时查询加速度。新的或经更新的加权平均加速度(ωΛ)被计算为旧的或先前的加权平 均加速度(β ω旧)和加权瞬时加速度[(1-β) α]的组合。β表示应用于加速度的权重, 其范围从1(未赋予权重)到0(非常重要的加权)。这在图3中示出,其中ω-= β ω10 + (1-β) α =新的或经更新的加权平均加速度。可以将其他信息集成到以上的计算中来达 到更精确的模式。利用计算机实现的算法来通过为单个参数绘制如上计算的加速度和速度的图来 确定尖峰是否发生。测量就在加速度增大前的速度;该速度被定义为基础速度。如果加速 度与速度的比率大于某一预定值,诸如1. 5,则每一出现加速度的瞬间就测量用户发出对特 定参数的查询的速率(被定义为尖峰加速度)。如果加权平均加速度不小于其尖峰的一个 百分比并且如果加权平均速度大于其基值的一个百分比,则查询就是尖峰查询。换言之,就 在加速度出现之前当加权平均速度大于其基础速度,并且在每一出现加速度的瞬间加权平 均加速度都等于或大于尖峰加速度值的一个百分比时,则出现尖峰。如果对于特定查询的 加速度是负的,则该查询正在丧失重要性。使用诸如参考图1所述的计算系统来处理上述 的计算机实现的算法。对速度或加速度赋予的权重可以不同。随着对一个因素赋予的权重越来越大,在 某种程度上牺牲了其他因素。作为一个示例,先前的或旧的加权平均速度的第一贡献可以 随着瞬时速度的第二贡献而变化。先前的或旧的加权平均速度和瞬时速度一起通过平衡掉 瞬时尖峰来标识错误尖峰。作为另一示例,可以对用于获得查询结果的速度赋予比查询结 果的准确性更高的权重,或者同样的,可以对准确性赋予比获得较快的结果更高的权重。可以通过从加权现有查询速度和加权瞬时查询速度中确定加权平均查询速度来 标识流行度不断提升的合法查询。加权平均查询速度和加权现有查询速度可以根据所需数 量的过去的采样点来修改。恶意攻击通常由加速度的快速攀升来表征,而合法通信往往具 有较慢的攀升的加速度。另外,恶意攻击往往源自单个IP地址或用户,而合法通信往往用 多个单词或短语来表达查询。图4是示出用于检测尖峰和季节性查询的方法的流程图。在步骤410处接收查 询流。随后在步骤420处使用上述的方法、计算和算法作出关于对于特定参数的查询流是 否是尖峰的判定。如果确定发生尖峰,则在步骤430处进行搜索来确定对于该特定话题是 否已经存在聚类。搜索不同的索引,诸如历史索引和新鲜文档索引。选择变量来将特定权 重分配到一个或多个索引。例如,市场上的新产品将具有较少的历史信息。因此,将对历史 索引分配较低的权重而对新鲜文档索引分配较高的权重。当检测到尖峰时,将比在没有出 现尖峰时更频繁地更新新鲜索引。类似地,在尖峰期间比在没有出现尖峰时更频繁地通过 从因特网收集并分类信息的web爬行器重新爬行当前内容源。在检测到尖峰时,自动地将 web爬行器更新其现有信息的速率-重新爬行速率-调整为更高的速率。如果发现现有聚 类匹配该查询,则在步骤440处将该查询分配到该聚类。如果在搜索索引之后未发现适当 的现有聚类,则在步骤450处生成新的聚类。在生成了新的聚类之后,该过程在步骤460处 结束。如果在步骤420处未确定尖峰,则过程也在步骤460处的该点处结束。
图5是用于示出接收并可能合并聚类的方法的流程图,该流程图可以作为当查询 被分配到新的或现有的聚类的情况下的图4的延伸来对待。在步骤510处接收查询聚类。 在步骤520处计算语言模型,其中带有若干相似时间线的聚类将基于时间分布来使用基于 时间的语言模型,而带有若干共同项的聚类将使用基于文本的语言模型。在步骤530处, 如果语言模型与其他聚类相似,则在步骤540处将该聚类与相似的现有聚类合并。在步骤 540处合并聚类之后,或者如果在步骤530处不存在要与所接收的聚类合并的相似聚类,则 该过程在步骤550处结束。图6是示出标识合法搜索查询尖峰的计算机实现的方法的流程图。在步骤610处, 从一个或多个用户输入设备接收多个搜索查询请求。在步骤620处,标识所接收的搜索查 询请求中可能存在的一个或多个尖峰。在步骤630处,作为示例,通过利用以上参考图3描 述的方法来确定每一所接收的尖峰的加速度速率。在步骤640处,随后根据时间或文本相 关性将所标识的尖峰聚类在一起。所标识的尖峰还可以与多个相似的所存储的搜索查询结 果聚类在一起。在步骤650处,将所确定的聚类的所标识的尖峰的加速度速率与所存储的 聚类的相似时间行为进行比较。在步骤660处,当所确定的加速度速率超过第一阈值水平 并且与时间行为的比较低于第二阈值水平时,所标识的尖峰可以被认为是恶意的。例如,恶 意攻击通常会具有加速度的迅猛增长,因为恶意查询通常源自单个IP地址或用户。合法查 询具有较平缓的加速度本质。另外,恶意攻击通常不具有先前历史,并且因此不具有与所存 储的聚类相关联的时间行为。随后在步骤670处,所接收的搜索查询请求和结果的非恶意 的聚类尖峰被存储为一个或多个内容组。这些所存储的一个或多个内容组可以用于对将来 相关的搜索查询请求的比较和查询建议。该一个或多个内容组通过生成将来图库的日历来准备将来聚类,该日历包含在特 定时间段内具有相似时间线的聚类结果。因此,如上所述,对于南瓜的查询将与先前存储的 关于十月份和万圣节的季节性图库进行聚类。如果查询输入与所存储的季节性聚类相似, 并且该查询输入的一年中的时间与所存储的聚类的时间行为匹配,则给出季节性结果。查 询建议还可以从诸如所存储的季节性图库等所存储的内容组中生成。另外,季节性尖峰用 于响应其他查询;从尖峰中分割、提取或挖掘信息。将所标识的尖峰聚类在一起降低了错误 尖峰的数量,提高了检测流行查询的分类准确性,并且通过比较跨多个时间段的聚类来检 测季节性查询。图7是示出产生流行搜索查询结果的计算机实现的方法的流程图。在步骤710处, 从用户输入设备接收搜索查询请求。在步骤720处,在包含所接收的搜索查询请求和其他 传入搜索查询请求的查询流中标识尖峰。在步骤730处,搜索包含在时间上与查询流中的 尖峰相关的信息和结果的多个历史索引。在步骤740处,搜索包含来自最近爬行的内容源 的、与查询流中的尖峰相关的信息和结果的多个新鲜索引。当检测到尖峰时,更频繁地刷新 新鲜索引并且更频繁地爬行内容源。在步骤750处,确定接收查询流中的尖峰的加速度速 率。在步骤760处,将所确定的加速度速率与相似的所存储的搜索查询的时间行为进行比 较。在步骤770处,经由分组的内容算法分析来自搜索历史索引和新鲜索引的结果来确定 是否应该将该搜索查询请求与现有的搜索查询结果分组聚类在一起。在步骤780处,当加 速度速率超过第一阈值水平并且与时间行为的比较低于第二阈值水平时,查询流中的特定 聚类尖峰可以被标识为恶意攻击。当聚类尖峰低于尖峰加速度速率并且当平均速度在基础
12速度以上的某一百分比时,可以确定非恶意的聚类尖峰的加速度速率。在步骤785处,将 查询流的非恶意的聚类尖峰存储为一个或多个内容组。在步骤790处,根据所标识的聚类 结果的使用期和大小来对搜索查询请求的结果排定优先级。在步骤795处,将一个或多个 内容组和排定了优先级的搜索查询请求的结果传递到用户输出设备。季节性图库内容组包 含聚类的季节性结果的日历,其中聚类的季节性结果在特定日历时间段内具有共同的时间 线。日历从数据存储子系统中检索。聚类的季节性结果的日历的一个示例是十月份的日历, 其中对于“南瓜”和“万圣节”的多个查询在该月末被聚类。将这些所存储的季节性图库与 相似的查询流请求进行组合来提供查询建议。图8是示出标识流行度不断提升的查询并对其进行聚类的计算机实现的方法的 流程图。在步骤810处,从用户输入设备接收搜索查询请求。在步骤815处,在包含搜索查 询请求的传入查询流活动中标识尖峰。在步骤820处,搜索包含在时间上与查询流活动中 的尖峰相关的信息和结果的多个历史索引。对历史索引的这种搜索包括从带有与搜索查询 请求相似的特征的先前存储的聚类内容组中提取信息。在步骤830处,搜索包含来自最近 爬行的内容源的信息和结果的多个新鲜索引。最近爬行的内容源包含先前查询流活动中的 一个或多个所标识的尖峰的结果。作为对查询的流行度的反应,不断地用来自相关的经分 类的查询的信息来更新新鲜索引。一个或多个所标识的尖峰包含与搜索查询请求的时间或 文本相关性。在步骤840处,分析来自搜索历史索引和新鲜索引的结果来确定搜索查询请 求是否应该与现有搜索查询结果组聚类在一起。在步骤850处,根据所标识的聚类结果的 使用期和大小来对搜索查询请求的结果排定优先级。在步骤860处,将排定了优先级的结 果和任何查询建议传递到用户输出设备。还可以用所传递的结果来建议时间上相关或相似 的时间线在线广告,诸如十月份期间万圣节服装的广告。所描绘的各组件以及未示出的实施例的许多不同的安排都是可能的,而不背离本 发明的精神和范围。已带着说明而非限制的意图描述了本发明的各实施例。可以理解,特定的特征和子组合是有用的,并且可以使用而无需参考其他特征和 子组合并且被认为是在权利要求书的范围之内的。并非需要以所描述的特定次序来执行在 各附图中所列出的所有步骤。
权利要求
1.一种使用具有存储器、处理器和数据存储子系统的计算系统来标识合法搜索查询尖 峰的计算机实现的方法,所述计算机实现的方法包括从一个或多个用户输入设备接收多个搜索查询请求; 标识所接收的搜索查询请求中的一个或多个尖峰; 根据时间或文本相关性将所标识的尖峰聚类在一起;经由所述计算系统的处理器确定接收所述搜索查询请求中的每一尖峰的加速度速率;将所确定的聚类的所标识的尖峰的加速度速率与所存储的聚类的相似时间行为进行 比较;当所确定的加速度速率超过第一阈值水平并且与时间行为的比较低于第二阈值水平 时,将所接收的搜索查询请求的特定聚类尖峰标识为恶意攻击;以及将所接收的搜索查询请求和结果的非恶意的聚类尖峰作为一个或多个内容组存储到 所述计算系统的数据存储子系统中,以供将来相关的搜索查询请求的比较和查询建议。
2.如权利要求1所述的计算机实现的方法,其特征在于,标识一个或多个尖峰包括 确定来自对于特定参数的查询流的每一查询请求的瞬时速度,所述瞬时速度被计算为对所述特定参数的即时查询请求和最新近查询请求之间的时间差的倒数;从对于所述特定参数的先前加权平均速度和加权瞬时速度的组合中计算经更新的加 权平均速度;将对所述特定参数的每一查询请求的瞬时加速度计算为所述经更新的加权平均速度 和所述先前加权平均速度之差除以瞬时查询请求和最新近查询请求之间的时间差;以及从对于所述特定参数的先前加权平均加速度和加权瞬时加速度的组合中确定经更新 的加权平均加速度。
3.如权利要求2所述的计算机实现的方法,其特征在于,在加速度出现之前当所述加 权平均速度大于基础速度,并且在出现加速度的每一瞬间所述加权平均加速度都等于或大 于尖峰加速度值的一个百分比时,出现尖峰。
4.如权利要求2所述的计算机实现的方法,其特征在于,所述先前加权平均速度的第 一贡献可以随着所述瞬时速度的第二贡献而改变。
5.如权利要求2所述的计算机实现的方法,其特征在于,所述先前加权平均速度和所 述瞬时速度通过平均掉瞬时尖峰来标识错误尖峰。
6.如权利要求1所述的计算机实现的方法,其特征在于,所述聚类还包括将所标识的 尖峰与多个相似的所存储的搜索查询结果聚类在一起。
7.如权利要求1所述的计算机实现的方法,其特征在于,所述聚类产生了减少数量的 错误尖峰、改进了检测流行查询的分类准确性、并且通过比较跨多个时间段的聚类来检测 季节性查询。
8.一种使用具有存储器、处理器和数据存储子系统的计算系统来产生流行搜索查询结 果的计算机实现的方法,所述计算机实现的方法包括从用户输入设备接收搜索查询请求;在包含所接收的搜索查询请求和其他传入搜索查询请求的查询流中标识尖峰; 作为搜索多个历史索引的结果,将所述查询流中的尖峰与来自所述历史索引的相关内容在时间上相关;作为搜索多个新鲜索引的结果,将所述查询流中的尖峰与来自所述新鲜索引的相关内 容在时间上相关,其中所述新鲜索引包含来自最近爬行的内容源的信息和结果; 经由所述计算系统的处理器确定接收所述搜索查询流中的尖峰的加速度速率; 将所确定的加速度速率与相似的所存储的搜索查询的时间行为进行比较; 经由分组的内容算法分析来自搜索所述历史索引和所述新鲜索引的结果来确定是否 应该将所述搜索查询请求与现有的搜索查询结果组聚类在一起;当加速度速率超过第一阈值水平并且与时间行为的比较低于第二阈值水平时,将所述 查询流中的特定聚类尖峰标识为恶意攻击;将所述查询流的非恶意的聚类尖峰作为一个或多个季节性图库存储到所述计算系统 的数据存储子系统中;根据所标识的聚类结果的使用期和大小来对所述搜索查询请求的结果排定优先级;以及将所述一个或多个季节性图库和所述排定了优先级的搜索查询请求的结果传递到用 户输出设备。
9.如权利要求8所述的计算机实现的方法,其特征在于,所述非恶意的聚类尖峰包括 低于尖峰加速度速率的加速度速率以及在基础速度之上提高了特定百分比的平均速度。
10.如权利要求8所述的计算机实现的方法,其特征在于,当检测到尖峰时,更频繁地 刷新所述新鲜索弓I并且更频繁地爬行所述内容源。
11.如权利要求8所述的计算机实现的方法,其特征在于,所述一个或多个季节性图库 包括从所述数据存储子系统检索的聚类的季节性结果的日历。
12.如权利要求11所述的计算机实现的方法,其特征在于,将所述一个或多个所存储 的季节性图库与一个或多个相似的查询流请求进行组合来向所述用户输入设备提供查询 建议。
13.一种使用具有存储器、处理器和数据存储子系统的计算系统来标识流行度不断提 升的查询并对其进行聚类的计算机实现的方法,所述计算机实现的方法包括从用户输入设备接收搜索查询请求; 在包括所述搜索查询请求的传入查询流活动中标识尖峰;作为搜索多个历史索引的结果,将所述传入查询流活动中的尖峰与来自所述历史索引 的相关内容在时间上相关;作为搜索多个新鲜索引的结果,将所述传入查询流活动中的尖峰与来自所述新鲜索引 的相关内容在时间上相关,其中所述新鲜索引包含来自最近爬行的内容源的信息和结果;分析来自搜索所述历史索引和所述新鲜索引的结果来确定所述搜索查询请求是否应 该与现有搜索查询结果组聚类在一起;根据所标识的循环聚类结果的使用期和大小来对所述搜索查询请求的结果排定优先 级;以及将所述排定了优先级的搜索查询请求的结果传递到用户输出设备。
14.如权利要求13所述的计算机实现的方法,其特征在于,搜索多个历史索引包括从 带有与所述搜索查询请求相似的特征的先前存储的循环聚类结果中提取信息。
15.如权利要求13所述的计算机实现的方法,其特征在于,还包括传递来自所述分析 的查询建议。
16.如权利要求13所述的计算机实现的方法,其特征在于,还包括向所述用户设备建 议在时间上相关的在线广告。
17.如权利要求13所述的计算机实现的方法,其特征在于,作为对查询的流行度的反 应,不断地用来自相关分类查询的信息来更新所述新鲜索引。
18.如权利要求13所述的计算机实现的方法,其特征在于,还包括当所确定的加速度 速率超过第一阈值水平并且与时间行为的比较低于第二阈值水平时,将所接收的搜索查询 请求的特定聚类尖峰标识为恶意攻击。
19.如权利要求13所述的计算机实现的方法,其特征在于,还包括通过从加权现有查 询速度和新的瞬时查询速度中确定加权平均查询速度来标识流行度不断提升的合法查询。
20.如权利要求19所述的计算机实现的方法,其特征在于,根据所需数量的过去的采 样点来修改所述加权平均查询速度和所述加权现有查询速度中的一个或多个。
全文摘要
本发明提供了一种检测尖峰查询的方法、系统和介质。提供了用于标识流行度不断提升的查询并对其进行聚类的方法、系统和介质。可以使用文本或时间相关性将所得的聚类查询与其他所存储的查询进行比较。搜索包含来自最近爬行的内容源的信息和结果的新鲜索引来获得最近查询活动。还搜索历史索引来获得匹配聚类查询流的、在时间上相关的信息和结果。可以计算尖峰的加权平均加速度来在合法尖峰和不合法尖峰之间进行区分。将合法聚类与其他所存储的聚类进行组合并作为分组的内容结果呈现给用户输出设备。
文档编号G06F17/30GK102129450SQ20111003089
公开日2011年7月20日 申请日期2011年1月19日 优先权日2010年1月20日
发明者A·P·奥克利, C·A·梅耶斯, D·L·康奈尔, G·P·戈帕尔, G·萨瑞恩, H·E·威廉姆斯, J·K·高亚尔, M·邵库赫, N·B·沙曼, N·E·克拉斯韦尔, N·阿格拉沃尔, S·阿哈里 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1