在搜索查询当中识别查询模式及相关联的聚合统计的制作方法

文档序号:15307526发布日期:2018-08-31 21:14阅读:271来源:国知局

搜索查询的搜索日志可能有益于确定搜索查询当中常见的查询模式。这些查询模式可能有益于各种目的,诸如生成替选的查询建议和/或对其进行排名、对搜索结果进行排名等等。然而,一些搜索查询可能包括私有用户信息。在将被视为用户和/或用户所关联的实体(例如,她的雇主)私有的搜索查询提交给系统的场境(context)下,情况尤其如此。例如,用户可能使用相对有可能包含诸如姓名、联系信息、账户编号等的私有信息的搜索查询来搜索诸如电子邮件系统、文件系统、文档管理系统等的许多个人或实体内系统。



技术实现要素:

本公开主要涉及在处理搜索查询时保留信息的机密性。本公开大体上涉及用于分析搜索查询的搜索日志(其中许多可能是私有的和/或包含潜在私有的信息)以及对应的搜索后活动以生成一个或多个查询模式而不会将潜在私有的信息暴露给人类用户的方法、装置和计算机可读介质(暂时性和非暂时性)。针对一个或多个所生成的查询模式,可以确定与匹配一个或多个查询模式的搜索查询相关联的聚合搜索活动统计(包括关于搜索后活动的统计)。然后,可以将那些一个或多个查询模式以及对应的聚合搜索活动统计用于各种目的,下面将描述其中几个目的。例如,可以使用与给定查询模式相关联的聚合搜索活动统计来更改用于生成数据的方法,该数据被呈现给提交匹配给定查询模式的搜索查询的用户。

在一些实施方式中,可以提供一种计算机实现的方法,其包括以下步骤:在私有搜索查询以及对应的搜索后活动的搜索日志内,识别私有搜索查询中所包含的满足隐私准则的多个非私有n-gram;基于多个非私有n-gram,从搜索日志生成多个查询模式;从搜索日志确定与多个查询模式中的每一个相关联的聚合搜索活动统计,其中,与每个查询模式相关联的聚合搜索活动统计指示与搜索日志中匹配该查询模式的多个私有搜索查询相关联的搜索活动;以及响应于确定针对给定查询模式的聚合搜索活动统计满足性能准则,基于与该给定查询模式相关联的聚合搜索活动统计,更改用于生成响应于匹配该给定查询模式的搜索查询而呈现的数据的方法。

该方法以及本文中所公开技术的其他实施方式均可以可选地包括以下特征中的一个或多个。

在一些实施方式中,所述方法可以被更改成使得:至少部分地基于与给定查询模式相关联的聚合搜索活动统计,对响应于匹配该给定查询模式的搜索查询而呈现的查询建议进行排名。

通过这种方式,能够达成对查询建议包括机密信息的可能性的控制。

在一些实施方式中,所述方法可以被更改成:至少部分地基于与给定查询模式相关联的聚合搜索活动统计,对响应于匹配该给定模式的搜索查询而呈现的搜索结果进行排名。

通过这种方式,能够达成对搜索结果包括机密信息的可能性的控制。

在一些实施方式中,在搜索日志内以满足频率阈值的频率出现的n-gram可以满足隐私准则。在一些实施方式中,在搜索日志内出现至少最小次数的n-gram可以满足隐私准则。在一些实施方式中,生成可以包括基于私有搜索查询当中非私有n-gram出现的频率来生成非私有n-gram的直方图。

这些特征能够以计算上相对廉价的方式分类私有n-gram和非私有n-gram。

在一些实施方式中,与多个查询模式中的每一个相关联的聚合搜索活动统计可以包括搜索日志中匹配该查询模式的搜索查询的总数。在一些实施方式中,与多个查询模式中的每一个相关联的聚合搜索活动统计包括搜索日志中匹配该查询模式的不同的搜索查询的数目。

在一些实施方式中,与给定查询模式相关联的聚合搜索活动统计可以包括:关于与搜索日志中匹配该给定查询模式的多个私有搜索查询相关联的搜索后活动的聚合统计。在一些实施方式中,与给定查询模式相关联的聚合搜索后活动统计可以包括与该给定查询模式相关联的点击位置统计。在一些实施方式中,与给定查询模式相关联的聚合搜索后活动统计可以包括与该给定查询模式相关联的点击率。在一些实施方式中,与给定查询模式相关联的聚合搜索后活动统计可以包括与该给定查询模式相关联的放弃率。在一些实施方式中,性能准则在放弃率满足最小阈值的情况下被满足。

其他实施方式可以包括一种存储指令的非暂时性计算机可读存储介质,所述指令可由处理器执行以执行诸如上所述的方法中的一个或多个的方法。又一实施方式可以包括一种系统,其包括存储器以及一个或多个处理器,所述一个或多个处理器可操作成执行存储在所述存储器中的指令以执行诸如上所述的方法中的一个或多个的方法。

应领会到,本文中详述的前述概念以及附加概念的所有组合均被构想为本文中所公开的主题的一部分。例如,在本公开的文末出现的所要求保护的主题的所有组合均被构想为本文中所公开的主题的一部分。

附图说明

图1图示出根据各个实施方式的环境的可以通过本公开的各个组件来分析搜索查询的一个或多个日志以生成查询模式和对应的聚合搜索活动统计。

图2描绘出根据各个实施方式的可以如何处理私有搜索查询和对应的搜索后活动以获得查询模式和相关联的聚合搜索活动统计。

图3描绘出图示根据各个实施方式的生成查询模式和对应的聚合搜索活动统计并且将该信息应用于各种目的的示例方法的流程图。

图4示意性描绘出计算机系统的示例架构。

具体实施方式

图1图示出用户可以在各个系统上执行可以被视为私有的搜索的示例环境。该示例环境包括客户端设备102、文档存储系统104和电子邮件系统106。文档存储系统104和/或电子邮件系统106可以在例如通过网络(未示出)通信的一个或多个计算机中实现。文档存储系统104和/或电子邮件系统106是可以实现本文所述的技术和/或本文所述的系统、组件和技术可以与之相接口的系统的示例。

用户可以经由客户端设备102与文档存储系统104和/或电子邮件系统106相交互。文档存储系统104和/或电子邮件系统106可以从客户端设备102接收搜索查询108并且响应于搜索查询108而返回搜索结果110。如本文所用,“搜索查询”108可以指代对可以提交给搜索接口——诸如搜索引擎——的信息的请求。在许多实例中,搜索查询可以包括共同形成对信息的请求的一个或多个n-gram。然而,这并无限制意义。搜索查询108同样可以呈其他形式,诸如图像、音频等等。在一些实施方式中,其他计算机设备可以向文档存储系统104和/或电子邮件系统106提交搜索查询,诸如附加客户端设备和/或为已同文档存储系统104和/或电子邮件系统106的提供者合作的web站点实现服务的一个或多个服务器。然而,为简洁起见,在客户端设备102的场境中描述这些示例。

在各个实施方式中,客户端设备102可以是通过一个或多个网络(未示出)以通信方式耦合至文档存储系统104和/或电子邮件系统106的计算机,所述一个或多个网络诸如局域网(lan)或者广域网(wan)诸如互联网。例如,客户端设备102可以是桌面型计算设备、膝上型计算设备、平板型计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)或者包括计算设备的用户的可穿戴装置(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜)。可以提供附加和/或替选的客户端设备。客户端设备102通常包括一个或多个应用以促进提交搜索查询以及通过网络发送和接收数据。例如,客户端设备102可以执行允许用户制定搜索查询并且将查询提交给文档存储系统104和/或电子邮件系统106的一个或多个应用,诸如浏览器112、电子邮件客户端114和/或文档客户端116。

在图1中,文档存储系统104包括呈现引擎122a、排名引擎124a和查询分析引擎126a。同样地,电子邮件系统106包括它自己的呈现引擎122b、排名引擎124b和查询分析引擎126b。然而,这并无限制意义。在各个实施方式中,文档存储系统104和电子邮件系统可以例如凭借由相同的实体操作和/或凭借可由用户使用单个凭证集访问来相互关联。在这样的实施方式中,文档存储系统104和电子邮件系统106可以共享公共的呈现引擎122、排名引擎124和/或查询分析引擎126。出于简洁目的,除非正引用文档存储系统104或电子邮件系统106的特定组件,否则将用附图标记122、124和126来统称这些组件。在一些实施方式中,可以省略、组合引擎122、124和/或126中的一个或多个、和/或将其实现在与文档存储系统104和/或电子邮件系统106分开的组件中。在一些实施方式中,可以在由客户端设备102执行的组件中实现引擎122、124和/或126中的一个或多个或者其任何操作性部分,和/或文档索引引擎128和/或电子邮件索引引擎132(如下所述)。

文档存储系统104可以为用户提供在线存储空间来存储文档,例如,免费或收费提供。在一些实施方式中,文档存储系统104可以是文件存储和同步服务,其以常被称为“云存储”的方式为用户托管文档。用户可以指定该用户所操作的本地设备(例如,客户端设备102)的文件系统上用于云存储的位置。存储在客户端设备102的云存储位置中的任何文档可以被传播/同步到用户操作的其他设备的类似设计的位置。如本文所称的“文档”包括web页面、文字处理文档、便携式文档格式(pdf)的文档、图像、电子邮件、视频、以及电子表格、演示文稿、多媒体文件、照片、和音频文件,仅举几例。例如,每个文档可以包括内容,诸如文本、图像、视频、声音、嵌入信息(例如,元信息和/或超链接)、和/或嵌入指令(例如,ecmascript实施方式,诸如javascript)。

文档存储系统104可以包括文档索引引擎128,其被配置成维护供文档存储系统104使用的索引130。文档索引引擎128可以使用常规索引技术和/或其他索引技术来处理文档并且更新索引130中的索引条目,以使文档可搜索。在各个实施方式中,用户可以能够将搜索查询108提交给文档存储系统104,以便搜索用户已存储在指定云存储中的文档。例如,用户可以操作浏览器112来登录到充当访问存储在文档存储系统104上的文档的接口的web站点。该web站点可以提供搜索栏或其他类似界面,其使得用户能够提交例如一个或多个n-gram的搜索查询108以找到特定文档。一旦搜索查询108被上传到文档存储系统104,文档索引引擎128便可以执行各个常规技术或其他技术来搜索匹配搜索查询的文档。附加地或替选地,用户可以操作文档客户端116,其可以看起来类似于由客户端设备102的操作系统提供的文件管理器或甚至被并入其中,以便对索引130搜索用户已经存储在云存储中的文档。

通过许多方式,电子邮件系统106可以以与文档存储系统104类似的方式来操作,除了电子邮件系统106被专门配置成维护电子邮件以及通常与电子邮件相关联来存储的与电子邮件相关联的其他信息,诸如附件、联系人、笔记、日历条目等。正如文档存储系统104的情况,电子邮件系统106包括电子邮件索引引擎132,其使用常规索引技术和/或其他索引技术来处理电子邮件和相关信息并且更新索引134中的索引条目,以使电子邮件和/或相关信息可搜索。因此,例如,用户可以操作电子邮件客户端114的搜索界面来搜索电子邮件、附件、日历条目、笔记、任务、提醒、联系人等内容。或者,类似于文档存储系统104,用户可以操作浏览器112来登录电子邮件系统106的web界面。该web界面可以提供使得用户能够搜索电子邮件相关内容的搜索栏或类似功能。

在各个实施方式中,文档存储系统104和/或电子邮件系统106可以维护搜索日志120。在图1中,分开的搜索日志120a和120b被分别提供给文档存储系统104和电子邮件系统106,但在其他实施方式中也能够被合并到单个搜索日志中。搜索日志120可以存储提交给文档存储系统104和/或电子邮件系统106的搜索查询的各个属性。例如,在一些实施方式中,搜索日志120可以针对每个提交的搜索查询存储与提交该查询的用户相关联的用户标识符、时间戳、搜索查询的全文(即,查询的全部n-gram)以及与搜索查询相关联的所谓搜索后活动。与特定搜索查询相关联的“搜索后活动”可以包括但不限于用户在提交搜索查询并且返回搜索结果之后所采取的活动。例如,在一些实施方式中,搜索后活动可以包括用户在提交搜索查询之后点击的文档/搜索结果/图形元素的排名、未进行点击的指示(例如,用户放弃该搜索查询转而进行其他活动,诸如提交新的搜索查询)、用户在提交搜索查询的同时或之后点击的一些其他图形元素的指示(例如,查询建议、电子邮件场境中的联系人等)等等。

在本说明书中,术语“数据库”以及“索引”可以被广泛使用于指代任何数据采集。数据库和/或索引的数据不必以任何特定方式来构建,并且其能够被存储于一个或多个地理位置中的存储设备上。因此,例如,索引120、130和/或134可以包括多个数据采集,其中每一个都可以不同的方式来组织和访问。

呈现引擎122(包括122a或122b)可以提供搜索结果110,以供呈现给客户端设备102的用户。例如,呈现引擎122可以响应于搜索查询108而向客户端设备102提供搜索结果和/或其他用户界面元素的列表。在一些实施方式中,呈现引擎122可以使得满足有关相关性、时效性等的各个准则的一些搜索结果在视觉上被强调或者在其他搜索结果之前呈现。例如,一些结果可以使用字体、字号、颜色、动画、边框、余量(margin)或其他视觉标记来相对于其他结果在视觉上强调。在其他情况下,可以首先呈现一些结果,其后呈现相关性较小的搜索结果。

排名引擎124(包括124a或124b)可以使用相应的索引(例如,130和/或134)来响应于搜索查询108而识别文档、电子邮件相关内容和/或其他信息,例如,通过使用常规信息检索技术和/或其他信息检索技术来识别。在一些实施方式中,排名引擎124可以算出识别为响应于搜索查询108的文档、电子邮件相关内容和其他信息的分值,例如,通过使用一个或多个排名信号来计算。每个排名信号可以提供关于文档、电子邮件相关内容、或其他信息本身的信息,文档、电子邮件相关内容或信息与搜索查询108之间的关系,和/或文档、电子邮件相关内容或信息与执行搜索的用户之间的关系。

查询分析引擎126(126a或126b)可以被配置成在私有搜索查询以及对应的搜索后活动的搜索日志120(图1中的120a或120b)内识别非私有内容,诸如私有搜索查询中所包含的满足隐私准则的多个非私有n-gram。所谓的“隐私准则”可能呈各种形式。例如,在一些实施方式中,在搜索日志120内以满足频率阈值的频率出现的n-gram满足隐私准则。在一些实施方式中,在搜索日志120内出现至少最小次数的n-gram满足隐私准则。在一些实施方式中,在搜索日志120中所存储的非私有n-gram及在搜索查询中发现所述n-gram的其关联的频率可以被组织成直方图。频率较低的n-gram更有可能包括私有信息,可能将它们丢弃或者从直方图中排除。这些特征能够以计算上相对廉价的方式来将n-gram分类为私有或非私有。

基于满足隐私准则的非私有内容,查询分析引擎126可以再一次遍历搜索日志120来生成多个所谓的查询模式。“查询模式”可以匹配搜索日志120中的一个或多个搜索查询。查询模式可以呈各种形式,包括但不限于正则表达式(例如,“resume*”、“*designdoc”、“whitepaper*”等)。“私有”n-gram(即,不满足上述隐私准则的那些n-gram)不会匹配非私有n-gram中的任何一个并且可以例如用通配符来替换。因此,可以从查询模式中剥除存储在搜索日志120中的搜索查询中可能已经包含的私有信息。

查询分析引擎126也可以被配置成根据搜索日志120来确定与多个查询模式中的每一个相关联的聚合搜索活动统计。在各个实施方式中,与每个查询模式相关联的“聚合搜索活动统计”可以指示与搜索日志120中匹配该查询模式的多个私有搜索查询相关联的搜索活动和搜索后活动。

在各个实施方式中,与给定查询模式相关联的聚合搜索活动统计可以例如包括:搜索日志120中匹配该给定查询模式的搜索查询的总数和/或唯一数;提交匹配该给定查询模式的搜索查询的用户的总数和/或唯一数;在匹配该给定查询模式的搜索查询当中观察到的n-gram的语义类型;用于前缀/后缀匹配的n-gramid;等等。

在各个实施方式中,与给定查询模式相关联的聚合搜索后活动统计可以包括表示搜索后活动的聚合数据,所述搜索后活动如上所述与每个搜索查询相关联地存储在搜索日志120中。例如,聚合搜索后活动统计可以包括:在用户提交匹配给定查询模式的搜索查询之后观察到的所谓的点击位置统计(例如,用户点击了web结果、查询建议、联系人结果?);用户在提交匹配给定查询模式的搜索查询之后的放弃率(没有记录点击);跨匹配给定查询模式的搜索查询检索到的结果的平均数目;等等。

图2图示出文档存储系统104和/或电子邮件系统106的各个组件——特别是查询分析引擎126的各个(通常但不必是软件)组件——可能如何分析搜索查询的搜索日志120以生成一个或多个查询模式以及相关联的聚合搜索活动统计的示例。图2还描绘如何使用所生成的查询模式以及对应统计的一些示例。

从顶部开始,搜索日志120中的多个搜索查询{sq1,sq2,...,sqm}可以被提供给隐私引擎240和/或由其获得。例如,隐私引擎240可以识别私有搜索查询中所包含的满足隐私准则的多个非私有n-gram{n1,n2,...,nn}。例如,在一些实施方式中,只有满足频率阈值的n-gram——诸如在每周由至少y个独特用户提交的搜索查询等中,每日由至少x个独特用户提交的搜索查询中存在的n-gram——可以被认为是非私有n-gram。如上所指出,在一些实施方式中,非私有n-gram可以被组织成非私有n-gram和对应频率的直方图。

在各个实施方式中,隐私引擎240可以采用其他技术来识别多个非私有n-gram。例如,在一些实施方式中,隐私引擎240可以例如按照诸如il8n的国际化标准,跨出现n-gram的多个搜索查询来分析n-gram,以确定本地语言跨搜索查询的分布。然后,可以使用这些分布来确定n-gram是否有资格作为非私有。隐私引擎的其他实施方式可以应用各种令牌化、词法分析、标准化和/或词干提取技术。例如,搜索查询中所包含的词语和短语可以被分离出来,然后受到进一步处理,该处理可以例如包括解析、文本挖掘等等。

多个搜索查询{sq1,sq2,...,sqm}也可以被提供给查询模式生成引擎242或者可以由其获得。查询模式生成引擎242可以使用由隐私引擎240识别的多个非私有n-gram{n1,n2,...,nn},以根据多个搜索查询生成p个查询模式{qp1,qp2,...,qpp}。查询模式生成引擎242可以采用各种技术来识别查询模式。在一些实施方式中,搜索查询可以按共享的前缀、后缀和/或中缀来分组成查询模式。例如,搜索查询“resumebobsmith”、“resumejanedoe”和“resumearnold”都可以共享前缀“resume(简历)”,因此都匹配模式“resume[a-z]+”。在一些实施方式中,作为句法的补充或替代,可以基于语义来匹配搜索查询。假设有第四搜索查询“cvallisonjones”存储在搜索日志中。虽然“cv(履历)”在句法上与“resume”不同,但这些词语具有相似的含义。因此,可以生成更鲁棒的查询模式来捕捉全部四个搜索查询,诸如“(resume|cv)[a-z]+”。

在一些实施方式中,查询模式生成引擎242可以如下来识别查询模式。可以尝试将给定搜索查询q匹配至由隐私引擎240识别的多个非私有n-gram{n1,n2,...,nn}中的每个非私有n-gramni。可以确定,“n*”、“*n”和/或“n*n”中的任何一个是否匹配q(其中,“*”是通配符)。如果这三个变型中没有一个匹配q,则可以将q与下一个非私有n-gramni+1进行比较。如果这三个变型中的一个或多个匹配q,则查询模式生成引擎242可以将变型/q组合保存为模式,并且继续到下一个非私有n-gramni+1。通过将q与全部已识别的非私有n-gram进行比较,查询模式生成引擎242可以识别能够使用q和非私有n-gram来创建的最长n-gram。例如,假设隐私引擎240识别以下两个非私有n-gram,“cv”和“cvdraft”。查询模式生成引擎242可以最终识别模式“cvdraft*”而非“cv*”,原因在于前者更长。

在一些实施方式中,查询模式生成引擎242可以将语义信息并入其生成的查询模式中。例如,可以由查询模式生成引擎242从私有n-gram中提取语义信息,例如,在丢弃私有n-gram之前。该提取的语义信息可以用于制定更精调的通配符,例如,具有相关语义类型的通配符。例如,使用上述示例,当观察到在多个resume|cv相关的搜索查询中识别感兴趣的人的私有n-gram构成提交搜索查询的用户的联系人(例如,电子邮件联系人)时,可以由查询模式生成引擎242生成查询模式“(resume|cv)<contact_name>”。

查询模式生成引擎242的输出连同存储在搜索日志120中的搜索查询和搜索后活动{<sq1,psa1>,<sq2,psa2>,...,<sqm,psam>}一起可以被提供给查询模式统计引擎244,该输出可以是p个查询模式或者{qp1,qp2,...,qpp}。查询模式统计引擎244可以确定与匹配给定查询模式qp的搜索查询相关联的聚合搜索活动统计。这些聚合统计能够包括上述的聚合搜索后活动统计以及其他聚合搜索活动统计。

查询模式统计引擎244的输出可以是查询模式以及对应的聚合搜索活动统计{<qp1,asas1>,<qp2,asas2>,...,<qpp,asasp>}。该数据可以被存储在索引246(其可能是搜索日志120的一部分)中,使得其可由各个下游组件访问,包括但不限于呈现引擎122、排名引擎124和/或查询性能引擎248。这些组件可能会以各种方式使用数据。例如,呈现引擎122、排名引擎124和/或查询性能引擎248中的一个或多个可以实时响应于接收到查询或者在其他时间(例如,周期性地)分析数据,以更改用于基于与给定查询模式相关联的聚合搜索活动统计来生成响应于匹配给定查询模式的搜索查询而呈现的数据的方法。

在各个实施方式中,与给定查询模式相关联并且存储在索引246中的聚合搜索活动统计可以包括所谓的“点击位置”统计。点击位置统计可以指代关于用户在提交匹配给定查询模式的搜索查询之后点击或以其他方式选择的内容的统计(例如,视网膜监视器能够基于用户看向选择来确定该选择)。用户可以点击搜索结果列表中的特定搜索结果(例如,第一位置、第二位置、第十位置等)。他们可以点击除搜索结果之外(例如,在搜索结果之前或旁边)返回的广告。用户可以点击所谓的“信息结果”,其除了或替代超链接可能包含纯信息。例如,提交搜索查询“ronaldreagan”的用户除了传统的搜索结果之外,还可以被呈现以摘要形式描述前总统的摘录。

根据场境,点击位置统计也可以与用户在提交搜索结果之后可能点击的其他项目相关。向图1中的电子邮件系统106提交搜索特定电子邮件的搜索查询的用户可以被呈现有:例如除了匹配搜索查询的电子邮件列表之外,用户能够点击的其他项目,诸如与结果电子邮件相关联的电子邮件联系人、和/或曾向用户发送/接收来自用户的匹配搜索查询的电子邮件的人的电子邮件联系人。向图1中的文档存储系统104提交搜索特定文档的搜索查询108的用户可以被呈现有:例如错了匹配搜索查询的文档列表之外,供点击的其他项目,诸如文档所属的项目、创建/编辑/“拥有”文档的员工的联系人、文档所属的组织等等。用户可以点击或以其他方式选择这些各个组件来生成点击位置统计。

在各个实施方式中,呈现引擎122或另一个下游组件可以分析点击位置统计,以更改用于向提交匹配查询模式的搜索查询的用户呈现各种信息的方法。例如,根据情形,可以使位于获得相对高点击率的点击位置处的组件显现和/或不再强调。假设在提交给电子邮件系统106的匹配特定查询模式的搜索查询108中,百分之六十导致用户点击电子邮件联系人。当接收到匹配相同查询模式的未来搜索查询时,呈现引擎122b可以将其考虑在内,例如通过更突出地呈现电子邮件联系人(或者,如果期望用户更少频率地点击电子邮件联系人,则更少突出地呈现电子邮件联系人)。

作为点击位置统计的补充或代替,在各个实施方式中,呈现引擎122或另一个组件可以分析与给定查询模式相关联的点击率,以确定它将向匹配给定模式的搜索查询呈现结果的方式。假设特定查询模式具有非常低的点击率,这可能与高放弃率和/或视为“表现差的(lowperforming)”查询模式相一致。这可能暗示,匹配给定查询模式的搜索查询存在缺陷,例如,因为它们包含常见的拼写错误。当接收到匹配相同查询模式的未来搜索查询时,呈现引擎122或另一个组件可以将其考虑在内,例如,通过呈现与“表现更好的(higherperforming)”查询模式相关联的查询建议(例如,作为在搜索栏上的下拉菜单,或者作为单独的搜索结果)。例如,假设表现差的查询模式与表现好得多的查询模式非常相似(例如,改变一个n-gram)。当接收到匹配表现差的查询模式的搜索查询时,搜索查询可以与表现更好的查询模式结合使用,以向用户提出查询建议。该查询建议可以纠正原始搜索查询中的拼写错误。

与传统的拼写纠正技术相比,这种技术在以下实例中可能具有优势:搜索查询包含错误键入的词项或短语,而这些词项或短语被包含在拼写纠正软件通常使用的字典中。例如,假设用户打算搜索短语“noreply”,但无意中提交了搜索查询“noreplay”。传统的拼写纠正软件可能不会捕获该错误,原因在于“noreply”和“noreplay”都可能包含拼写纠正字典中所包含的n-gram。然而,本文的技术可以表明,提交给电子邮件系统106的包含短语“noreplay”的搜索查询具有非常差的性能,但包含词项“noreply”的搜索查询具有非常高的性能。在这样的情况下,呈现引擎122或另一个组件可以向用户呈现“noreply”,例如,作为建议的拼写纠正。

在一些实施方式中,呈现引擎122可以考虑响应于匹配给定查询模式的搜索查询而呈现给用户的用户界面元素的属性以及用户与那些元素相交互的倾向程度。例如,在单独或不同的用户界面元素中,诸如在搜索结果web页面的强调区域中或者在弹出窗口中,可以向用户呈现信息结果,诸如上文关于ronaldreagan所述的那些。如果提交匹配给定查询模式的搜索查询的用户倾向于在提交搜索之后点击特定的用户界面元素,则该用户界面元素将来可能更突出地呈现(例如,“显现”),或者至少可以继续被呈现。另一方面,如果用户不倾向于点击用户界面元素,则它可能更少突出地呈现(例如,以另一种形式),或者根本不被呈现。或者,如果期望用户更频繁地点击相对不使用的用户界面元素,则该用户界面元素可以被显现或以其他方式更突出地渲染,以吸引额外的点击。

作为呈现引擎122的补充或代替,其他组件可以利用存储在索引246中的数据来更改它们使得数据被呈现给用户的方式。例如,假设与给定查询模式相关联的聚合搜索活动统计暗示用户更有可能点击根据匹配该模式的搜索返回的高度近期的搜索结果,而不是高度相关性的搜索结果。在这样的情况下,当排名搜索结果时,排名引擎124可以对响应于搜索查询的搜索结果的新鲜度度量比其他情况更重地加权。在各个实施方式中,排序引擎124可以将指示其排名的数据提供给呈现引擎122,使得呈现引擎122能够生成最终呈现给客户端设备102的用户的数据。

举另一示例,查询性能引擎248可以用于处于各种性能相关目的来分析查询模式以及相关联的聚合搜索活动统计,特别是点击率、放弃率、点击位置等。查询模式的性能可以基于各种度量来测定,包括但不限于点击率、平均排序倒数(“mrr”)、放弃率等等。这些度量可能应用于各种用途。

假设例如在文档存储系统104或电子邮件系统106上实现实验算法,以向特定的用户子集(例如,具有随机选择的ip地址的用户、特定区域中的用户、beta版用户等)派发搜索结果。进一步假设其他“控制”用户继续使用传统算法来接收搜索结果。为了将实验算法与传统算法进行比较,可以使用本文的技术来分析与由该用户子集提交的搜索查询相关联的搜索后活动,以识别查询模式以及对应的聚合搜索后活动统计。然后,可以例如由查询性能引擎248将这些聚合搜索后活动统计与针对传统算法所生成的查询模式相关联的聚合搜索后活动统计进行比较,以确定搜索后活动在两者之间变化的程度。如果特定的查询模式针对传统算法的表现好,但针对实验算法的表现不佳,这可能指示实验算法存在一个或多个问题,诸如漏洞(bug)。

查询性能引擎248也可以出于其他目的来分析查询模式。在一些实施方式中,查询性能引擎248可以基于诸如年内时间、日内时间、主题/题目等的各个属性来将与匹配给定查询模式的搜索查询相关联的查询活动统计组织成群组。例如,税务相关查询在报税季期间有可能会激增。这可以由查询性能引擎248来观察和/或存档(例如,在索引246中)。然后,诸如呈现引擎122或排名引擎124的其他组件可以使用这些观察结果,以在报税季期间与报税季之外有区别地排名或以其他方式向用户呈现搜索结果和/或其他数据/用户界面元素。

在其他实施方式中,查询性能引擎248可以监视与查询模式相关联的聚合搜索后活动统计随时间的变化。如果用户与响应于匹配给定查询模式的搜索查询而呈现的界面相交互的方式存在突然和/或剧烈的变化,则查询性能引擎248可以采取各种动作,诸如自动通知适当的管理人员(例如,文档存储系统104或电子邮件系统106的管理员)。

现参照图3,描绘根据搜索日志中的搜索查询生成查询模式的示例方法300。方便起见,参照执行操作的系统来描述该流程图的操作。该系统可以包括各个计算机系统的各个组件。此外,虽然方法300的操作以特定顺序示出,但这并无限制意义。可以重新排序、省略或添加一个或多个操作。

在框302处,如上关于图2的隐私引擎240所述,系统可以识别存储在搜索查询日志中的搜索查询中所包含的非私有内容。例如,诸如在搜索日志内以满足频率阈值的频率出现的n-gram的内容或者诸如在搜索日志内出现至少最小次数的n-gram的内容可以满足隐私准则。虽然本文使用n-gram来描述各个示例,但这并无限制意义。在各个实施方式中,内容可以被分组和/或解析成其他类型的单元或令牌。

在框304处,系统可以基于在框302处识别的非私有内容来生成多个查询模式(例如,上文所描述且图2中所描绘的{qp1,qp2,...,qpn})。例如,可以将非私有内容与每个搜索查询进行比较。例如,不匹配在框302处识别的任何非私有内容的搜索查询的任何内容可能被忽略或丢弃,例如因为其可能被视为私有。上文关于查询模式生成引擎242和图2描述了可以如何识别查询模式的其他示例。

在框306处,系统可以例如根据搜索日志120来确定与框304处生成的多个查询模式中的每一个相关联的聚合搜索活动。如上所指出,这可以包括诸如图2中所描绘的查询模式统计引擎244的组件,其从匹配查询模式的搜索查询中识别一般聚合搜索活动统计,诸如匹配搜索查询的数目、独特匹配搜索查询的数目、最频繁提交(或通常不提交)的匹配搜索查询的时间帧等等。这也可以包括诸如查询模式统计引擎244的组件,其根据与匹配给定查询模式的搜索查询相关联的搜索后活动识别聚合搜索后活动统计,诸如点击率、点击位置、所呈现/所交互的用户界面元素、放弃率、mrr等等。

在框308处,系统可以确定与给定查询模式相关联的聚合搜索活动统计(例如,图2中的{asas1,asas2,...,asasp})满足性能准则。例如,呈现引擎122可以例如响应于接收到搜索查询而确定匹配所接收的搜索查询的查询模式与满足放弃阈值的聚合搜索活动统计相关联。例如,低于一定百分点——诸如(但不限于)低于百分之十、低于百分之五等——的点击率满足放弃阈值。举另一示例,查询性能引擎248可以确定,针对被用来向beta用户提供搜索结果的实验搜索算法,特定查询模式经历性能上的显著变化。

响应于在框308处的确定,在块310处,系统可以更改用于生成响应于匹配给定查询模式的搜索查询而呈现的数据(例如,搜索结果web页面的html数据、要在电子邮件客户端114或文档客户端116处呈现的数据)的方法。可以至少部分地基于与给定查询模式相关联的聚合搜索活动统计来作出该更改。例如,假设在框308处确定用户以满足阈值(例如,某个最小百分点)的特定频率点击响应于匹配给定查询模式的搜索查询而提供的特定用户界面元素。作为响应,系统可以更改其用来呈现用户界面元素的方法,例如,通过使其更突出地呈现,使其显现,或甚至以全新的方式使其呈现(例如,弹出)。同样地,如果点击用户界面元素的次数少于最小次数阈值,则可能使其更少突出地呈现,或甚至不再呈现。

图4是示例计算机系统410的框图。计算机系统410通常包括至少一个处理器414,其经由总线子系统412与数个外围设备通信。这些外围设备可以包括存储子系统424,例如包括存储器子系统425和文件存储子系统426、用户界面输出设备420、用户界面输入设备422以及网络接口子系统416。输入和输出设备允许与计算机系统410的用户交互。网络接口子系统416提供到外部网络的接口并且被耦合至其他计算系统中的对应接口设备。

用户界面输入设备422可以包括键盘、诸如鼠标、跟踪球、触控板、或绘图板的指示设备、扫描仪、并入显示器中的触摸屏、诸如语音识别系统的音频输入设备、麦克风和/或其他类型的输入设备。一般而言,术语“输入设备”的使用意在包括用于将信息输入到计算系统410中或者通信网络上的所有可能类型的设备和方式。

用户界面输出设备420可以包括显示子系统、打印机、传真机或者非视觉显示器,诸如音频输出设备。显示子系统可以包括阴极射线管(crt)、诸如液晶显示器(lcd)的平板设备、投影设备、或者用于创建可见图像的一些其他机制。显示子系统还可以提供非视觉显示,诸如经由音频输出设备。一般而言,术语“输出设备”的使用意在包括用于将信息从计算系统410输出到用户或者另一机器或计算机系统的所有可能类型的设备和方式。

存储子系统424存储提供本文所述的模块中的一些或全部的功能的编程和数据结构。例如,存储子系统424可以包括用于执行方法300的所选方面和/或实现呈现引擎122、排名引擎124、查询分析引擎126的一个或多个组件(例如,240、242、244、246、248)、文档索引引擎128和/或电子邮件索引引擎132中的一个或多个的逻辑。

这些软件模块通常由处理器414独立地或者结合其他处理器来执行。用于存储子系统424中的存储器425能够包括数个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)430以及在其中存储固定指令的只读存储器(rom)432。文件存储子系统426能够提供对于程序和数据文件的永久存储,并且可以包括硬盘驱动器、软盘驱动器连同相关联的可移动介质、cd-rom驱动器、光盘驱动器或者可移动介质盒。实现某些实施方式的功能的模块可以由存储子系统424中的文件存储子系统426来存储,或者被存储在可由处理器414访问的其他机器中。

总线子系统412提供用于令计算机系统410的各个组件和子系统如所意图来彼此通信的机制。虽然总线子系统412被示意性示为单个总线,但总线子系统的替选实施方式可以使用多条总线。

计算机系统410能够是不同的类型,包括工作站、服务器、计算集群、刀片服务器、服务器机群或者任何其他的数据处理系统或计算设备。由于计算机和网络的不断变化的性质,在图4中描绘的对计算机系统410的描述仅旨在作为用于说明一些实施方式的具体示例。计算机系统410的许多其他配置可能具有比在图4中所描绘的计算机系统更多或更少的组件。

在本文所述的系统采集关于用户的个人信息或者可以使用个人信息的情形下,用户可以有机会控制程序或者功能是否采集用户信息(例如关于用户的社交网络、社交行动或活动、职业、用户偏好、或者用户的当前地理位置的信息),或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。此外,在存储或者使用某些数据之前,可以通过一个或多个方式对其进行处理,以使得个人可识别信息被删除。例如,用户的身份可以被处理,以使得无法针对用户来确定个人可识别信息,或者用户的地理位置可以在获得地理位置信息的情况下被泛化(诸如至城市、邮政编码或者州级),以使得用户的特定地理位置无法被确定。因此,用户可以控制如何关于用户采集信息和/或如何使用信息。

虽然在文本中已描述且说明了若干实施方式,但可以利用用于执行功能和/或获得结果和/或本文所述优点中的一个或多个的多种其他装置和/或结构,并且这样的变型和/或修改中的每一个都被视为属于本文所述的实施方式的范围内。更一般地,本文所述的所有参数、尺寸、材料和配置旨在示例性,并且实际的参数、尺寸、材料和/或配置将取决于针对其使用所述教导的具体应用。本领域技术人员会认识到或者通过不多于常规实验途径即可确定本文所述的具体实施方式的许多等同物。因此将会理解到,前述实施方式仅通过示例方式来呈现,并且在所附权利要求书及其等同物的范围内,可以通过与所具体描述和请求保护的内容不同的方式来实践实施方式。本公开的实施方式是针对本文所述的每个单独的特征、系统、制品、材料、套件和/或方法。此外,如果这样的特征、系统、物件、材料、套件和/或方法并不相互矛盾,则两个以上这样的特征、系统、物件、材料、套件和/或方法的任意组合也包括在本公开的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1