首页> 中国专利> 构造支持提供探索性建议的图

构造支持提供探索性建议的图

摘要

本文中描述了与探索性建议相关的各种技术。构造计算机实现的图,其中该图包括表示多个方面的节点和表示多个方面之间的关联的边。一个方面表示话题的子话题或任务的子任务。计算机实现的图基于搜索记录的内容来学习,并且被用于输出探索性建议,其中用户正在探索话题或尝试完成多步骤任务。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-03

    授权

    授权

  • 2017-06-06

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20150630

    实质审查的生效

  • 2017-05-10

    公开

    公开

说明书

背景技术

搜索引擎是人们定位在线信息和完成搜索任务的主要手段。传统地,搜索引擎被配备有被配置为帮助用户定位与其信息检索(IR)意图匹配的信息的各种技术。例如,搜索引擎可以被配置为响应于查询的接收向用户提供查询建议。这些查询建议通常是查询消除歧义,其中搜索引擎接收歧义查询并且尝试帮助用户改善查询。虽然查询建议关于帮助用户获取特定信息通常是有用的,但是查询建议并不特别非常适合于帮助用户完成更复杂的搜索任务。

发明内容

以下是本文中更详细描述的主题的简要概述。该概述不旨在限制权利要求的范围。

本文中描述了计算系统。计算系统包括处理器和包括由处理器执行的图构造器系统的存储器。图构造器系统被配置为基于搜索引擎的搜索记录来构造计算机实现的图。计算机实现的图包括表示多个方面的节点,一个方面是任务的子任务或话题的子话题之一,每个方面由搜索记录中的至少一个查询定义。计算机实现的图还包括连接节点的加权边,分配给边的权重指示搜索器在完成任务或探索话题时将从由第一节点表示的第一方面转换到由第二节点表示的第二方面的可能性,第一节点和第二节点由边连接。计算机实现的图支持响应于从搜索器接收到查询而基于建议查询来提供建议查询或内容。

附图说明

图1是支持构造计算机实现的图的示例性计算系统的功能框图,该计算机实现的图被配置为支持输出探索性建议。

图2示出了示例性计算机实现的图。

图3示出了在计算机实现的图中表示的示例性方面。

图4是被配置为从搜索记录提取多个方面的示例性提取系统的功能框图。

图5是被配置为构造计算机实现的图的图构造器系统的功能框图,计算机实现的图被配置为支持输出探索性建议。

图6是示出可以如何标识一个方面的图。

图7是支持响应于查询的接收而建议一个方面的示例性系统的功能框图。

图8是包括建议查询消除歧义以及探索性建议的图形用户界面。

图9是示出用于构造计算机实现的图的示例性方法的流程图。

图10是示出用于从搜索引擎的搜索记录提取探索性搜索的示例性方法的流程图。

图11是示出用于构造计算机实现的图的示例性方法的流程图。

图12是示例性计算系统。

具体实施方式

现在参照附图描述与帮助用户探索话题和/或任务有关的各种技术,其中相同的附图标记始终用于指代相同的元件。在下面的描述中,为了解释的目的,阐述了许多具体细节以便提供对一个或多个方面的透彻理解。然而,可以显而易见的是,这些(多个)方面可以在没有这些具体细节的情况下实践。在其他实例中,以框图形式示出了公知的结构和设备,以便支持描述一个或多个方面。此外,应当理解,被描述为由某些系统部件执行的功能可以由多个部件执行。类似地,例如,一个部件可以被配置为执行被描述为由多个部件执行的功能。

此外,术语“或”旨在意指包括性的“或”而不是排他性的“或”。即,除非另有说明或从上下文清楚,否则短语“X使用A或B”旨在意指任何自然的包括性排列。即,短语“X使用A或B”通过以下任何实例来满足:X使用A;X使用B;或X使用A和B两者。此外,除非另有说明或从上下文清楚的是指向单数形式,本申请和所附权利要求中使用的冠词“一”和“一个”通常应被解释为意指“一个或多个”。

此外,如本文所使用的,术语“部件”和“系统”旨在包括被配置有计算机可执行指令的计算机可读数据存储装置,该指令使得当由处理器执行时执行某种功能。计算机可执行指令可以包括例程、函数等。还应当理解,部件或系统可以位于单个设备上或跨多个设备分布。此外,如本文所使用的,术语“示例性”旨在意指用作某事物的说明或示例,并且不旨在指示偏好。

现在参考图1,示出了支持构造计算机实现的图的示例性计算系统100,其中计算机实现的图支持响应于从搜索引擎(搜索器)的用户接收到查询而输出探索性建议(例如,查询)。如将在本文中更详细地描述的,与用于建议查询的传统方法(其中建议查询是所接收的查询、查询改善器或查询备选的潜在消除歧义)对比,计算系统100被配置为输出支持关于话题和/或任务的探索的查询(例如,由计算系统100输出的查询被配置为关注搜索任务内的备选)。更具体地,可以由计算系统100生成的计算机实现的图支持允许用户探索和完成多步骤搜索任务的探索性建议的标识。探索建议与由传统web搜索引擎提供的相关搜索显著不同。如上所述,由传统web搜索引擎提供的相关搜索的主要目的是帮助用户改善他们的查询。相比之下,探索性建议帮助用户探索其当前搜索任务的新方面。

计算系统100包括数据存储102,其包括搜索引擎的搜索记录104。搜索记录104包括多个记录条目。记录条目可以包括(匿名地)标识用户的数据、由用户发出的查询、指示何时发出查询的时间戳、由用户选择的搜索结果(如果有的话)以及在由用户选择的搜索结果上的驻留时间。记录条目可以可选地包括呈现给用户但未被选择的搜索结果的标识,搜索引擎结果页面(SERP)是否包括满足用户的信息需求的实体卡或即时答案的指示以及其他数据。

计算系统100另外包括处理器106和存储器108,存储器108包括由处理器106执行的多个系统。更具体地,存储器108包括提取系统110,提取系统110被配置为访问搜索记录104并且基于搜索记录104的内容来标识探索性搜索会话。探索性搜索会话可以被定义为搜索会话,其中用户1)从事学习和发现(例如,学习特定话题的所有方面,比较产品,等等);2)浏览关于感兴趣的话题或人(例如,名人、运动队等)的信息;或3)进行多步骤搜索任务(例如,计划旅行)。可以确定探索性搜索会话不同于例如导航搜索会话。在导航搜索会话中,用户正在尝试到达非常特定的web页面。探索性搜索会话也不同于某些类型的信息搜索会话。例如,在一些信息搜索会话中,用户可能希望获得单一的答案(例如,谁是美国的第一个总统)。此外,可以确定探索性搜索会话将包括分别指向话题的子话题或任务的子任务的多个查询。例如,探索话题“乔治华盛顿”的用户可以提出关于乔治华盛顿作为测量师、将军和总统的时间的查询。在另一个示例中,探索计划度假的任务的用户可以提出关于租赁车辆的查询、关于在特定目的地的活动的查询、关于购买到目的地的机票的查询等。如将从本文的描述容易地确定的,计算系统100为正在执行探索性类型搜索的用户提供改进的体验(超过传统方法),因为计算系统100可以提供帮助用户完成多步骤任务或了解多面的话题的查询建议、内容、广告等。

存储器108还包括图构造器系统112,图构造器系统112基于由提取系统110标识的探索性搜索会话来构造计算机实现的图114。计算机实现的图114在由图构造器系统112构造时可以被保留在数据存储102(或另一数据仓库)中。

参考图2,示出了由图构造器系统112构造的计算机实现的图114的示例性描绘。计算机实现的图114包括分别表示多个方面的多个节点202-214。一个方面是话题的子话题或任务的子任务。因此,例如,任务可以是旅行的计划;在这种情况下,第一节点202可以表示租赁汽车的方面,第二节点204可以表示租赁度假屋的方面,第三节点206可以表示定位特定区域中的餐馆的方面等

简要地参考图3,示出了示例性方面300。方面300可以由搜索引擎的用户提出的多个查询302来定义,以获得关于由方面300表示的子话题的信息或者完成由方面300表示的子任务。因此,查询302已经由用户在由提取系统110标识的探索性搜索会话中提出了。例如,当方面300表示在大开曼岛租赁汽车的子任务时,多个查询302可以包括“car rentalat Grand Cayman”,“Grand Cayman car rental”,“Grand Cayman rental cars”等。此外,多个查询302中的查询可以通过查询的发出频率排序。在另一个示例中,多个查询302中的查询可以基于它们在满足用户的信息需求方面的相应的有效性来排序(例如,在发出查询之后,满足的查询是用户选择搜索结果并且在搜索结果上停留某一阈值量的时间查询)。多个查询302中的最高查询可以表示方面300,并且可以表现(surface)为探索性建议,如下面将描述的。虽然方面300被示为由多个查询302定义,但是在一些实例中,一个方面可以由单个查询来定义。

返回图2,计算机实现的图114包括多个定向的边216-232。定向的边216-232分别耦合节点对,并且可以被加权以指示由节点表示的多个方面之间的关联量。例如,可以对从第一节点202(表示第一方面)到第三节点206(表示第三方面)的边216进行加权,以指示发出第一方面中的查询的搜索器稍后将发出第三方面中的查询的可能性。例如,如果用户发出被包括在第一方面中(例如,至少部分地定义第一方面)的查询“Grand Cayman flighttickets”,则存在用户将发出可以被包括在第三方面中的查询“Grand Cayman vacationrentals”的某种可能性。

如上所述,计算机实现的图114支持响应于用户发出查询而向用户输出探索性建议。简而言之,当搜索引擎的用户发出查询时,可以将该查询与计算机实现的图114中表示的多个方面中的查询(其中一个方面由其查询定义)进行比较。当由用户发出的查询被包括在一个方面中时,标识计算机实现的图114中表示该方面的节点。此后,可以基于计算机实现的图114中的节点之间的加权边来标识计算机实现的图中的另一节点,其中另一节点表示另一方面。响应于标识另一节点,可以将至少部分地定义另一方面的查询作为建议的探索性查询呈现给用户。在另一示例性实施例中,不是呈现查询,而是基于查询可检索的内容可以直接地被呈现给用户。即,可以预取内容以帮助用户:1)获取关于用户感兴趣的话题的信息(如由所发出的查询所证明的);或2)获取关于用户感兴趣的任务的信息。

现参考图4,示出了提取系统110的功能框图。如前所述,提取系统110被配置为标识搜索记录104中的探索性搜索会话。为此,提取系统110可以包括将搜索记录104中的记录条目分割成搜索会话的分割器部件402。搜索会话可以被定义为当使用搜索引擎时由搜索器执行的活动序列,其中每个活动在离该序列中的相邻活动的阈值量的时间内。换言之,搜索会话可以是用户在没有某一阈值量的空闲时间(例如,5分钟、10分钟、15分钟、30分钟等)的情况下使用搜索引擎的连续活动。分割器部件402可以基于例如记录条目中的用户标识和记录条目的时间戳将搜索记录104分割成搜索会话。

响应于分割器部件402将搜索记录104分割成搜索会话,分割器部件402可以进一步将搜索会话分割成任务会话和话题相干子会话。可以将话题相干会话定义为导致一个或多个任务和/或目标的一组相关信息需求。通常,任务会话可以被定义为搜索会话的至少一部分,其中用户具有导致发出一个或多个查询的原子信息需求。分割器部件402可以基于分配给查询的类别,响应于发出查询而被分配给由用户查看的搜索结果的类别,查询的语义分析等,将搜索会话分割成任务会话和话题相干的会话。例如,为了标识话题相干会话,分割器部件402可以标识分配给由用户在搜索会话中发出的查询的重叠类别和/或由用户在搜索会话中选择的搜索结果的重叠类别。任务会话和话题相干会话可以在时间上交织,并且单个话题相干会话中的任务也属于相同的会话。可以注意到,术语“任务”和“目标”和术语“话题相干会话”和“使命”已经用于描述这些概念。

如前所述,提取系统110被配置为标识探索性搜索会话。提取系统110可以利用用于标识探索性会话的各种技术,包括标识具有至少阈值数目的查询(例如,3)的搜索会话,标识在搜索会话中的查询之中具有某一阈值量的话题相干的搜索会话等。为了帮助标识探索性搜索会话,可能期望在探索性搜索会话和本质上是导航的搜索会话之间消除歧义。例如,提取系统110可以包括过滤器部件404,过滤器部件404标识来自任务会话和话题相干会话的导航搜索或尽力搜索(struggling search)。导航搜索是用户正在试图到达特定站点的搜索,而尽力搜索是用户正在尽力定位信息的搜索。过滤器部件404可以移除也具有低点击熵(低于阈值的点击熵)的某一阈值数目的最频繁发出的查询,常用于标识导航意图的技术。在一个非限制性示例中,过滤器部件404可以从候选探索会话中移除300,500,1000等等的也具有低点击熵的最频繁发出的查询。

为了标识和过滤尽力搜索会话,过滤器部件404可以分析由分割器部件402输出的会话的各种特征。示例性特征可以包括查询特征、查询转换特征、点击特征和话题特征。查询特征可以包括搜索会话中的多个查询、搜索会话中的查询之间的时间量、搜索会话中的查询的平均长度、搜索会话中的查询中的关键字的数目、搜索会话中的查询的分布和长度等。查询转换特征可以包括搜索会话中的查询之间的平均余弦相似性、在搜索会话中的连续查询之间添加的术语的数目、在搜索会话中的连续查询之间删除的术语的数目、在搜索会话中的连续查询之间的替换术语的数目等。点击特征可以包括由用户在搜索会话中对每个查询做出的点击数目、在搜索会话中在由用户查看的搜索结果上的平均停留时间、搜索会话中的唯一URL和域点击的百分比等。话题特征可以包括由用户选择的如由开放式目录项目(ODP)分配的文档的类别,这样的话题的计数和熵等。

过滤器部件404可以包括被训练为将会话标注为尽力或不尽力的分类器406。可以基于上述特征(查询特征、查询转换特征、点击特征和话题特征)和被标注为尽力或不尽力的搜索会话来训练分类器406。根据示例,分类器406可以是多元累计回归树(MART)分类器。被分类器406标注为尽力的搜索会话可以从考虑中移除作为候选探索会话。剩余的搜索会话可以由提取系统110输出为探索性搜索会话。

现参考图5,示出了图构造器系统112的功能框图。如前所述,图构造器系统112接收由提取系统110输出的探索性搜索会话,并且基于探索性搜索会话构造计算机实现的图114。为此,图构造器系统112包括预处理器部件502,预处理器部件502从探索性搜索会话提取查询并将这样的查询标准化。例如,对于每个查询,预处理器部件502可以对查询的文本进行小写,从查询中移除标点符号,用单个空格替换空白的所有游程(run),以及修剪查询中的任何前导或尾随空格。

图构造器系统112还包括实体标识器部件504,实体标识器部件504标识查询中的实体并标记引用所标识的实体的查询中的文本跨度。应当理解,实体标识器部件504不需要消除实体的歧义;相反,实体标识器部件504可以分配指示文本跨度是实体的标注。实体标识器部件504可以利用各种技术来标识查询中的实体。在一个示例中,实体标识器部件504可以利用自然语言处理(NLP)技术来标识查询中的实体。在另一个示例中,实体标识器部件504可以具有对包括实体列表的预定义字典的访问。在又一个示例中,实体标识器部件504可以基于在维基页面中引用的实体来标识实体。更详细地,由实体标识器部件504标识的实体可以包括人、地点、公司、事件、概念和著名日期。可以通过在实体标识器部件504可访问的知识库中提取与实体相关联的每个词汇名称来构造词典,并且可以使用任何适当的键值字典结构来表示词汇名称。对于每个查询,实体标识器部件504可以在完美散列中查找每个可能的n-gram。实体标识器部件504可以通过使用左最长匹配启发式的贪心准入(admission)来解决(resolve)嵌套匹配。可以由实体标识器部件504用来标识查询中的实体的许多知识源表示诸如/时间/事件和/商业/雇佣_任期的本体术语以及复合值(complexvalue)类型(或具体化的)关系,诸如/电影/表演和/教育/教育。为了过滤出这些,实体标识器部件504可以标识查询中的词汇名称,并且可以根据它们是否表示非实体类型(例如上面引用的那些)或实体类型(例如/音乐/唱片_标注,/航空/机场,和/军事/冲突)来手动注释阈值数目(例如,300)的最频繁匹配的类型。实体标识器部件504可以过滤出以下实体:1)具有非实体类型;和2)没有实体注释类型的类型。

还已知词汇名称可能是有歧义的。由于实体标识器部件504被配置为利用实体的存在来标记查询,所以实体标识器部件504可以仅涉及在非实体意义上是有歧义的名称。例如,名称“something”可能是有问题的,因为它可能指的是著名的歌曲,以及非常常见的非实体代词。高度有歧义的名字可以通过建立在手动注释名称上训练的二元(binary)歧义分类器来从词典中过滤。如果名称包含非实体含义,例如名称“something”,则可以将其标注为有歧义。

图构造器系统112还可以包括搭配标识器部件506,搭配标识器部件506被配置为标识查询中的搭配。搭配(其也被称为多术语关键词)是与偶然期望的相比更经常共同出现的词或术语的序列。例如,在查询“cheap hotels in New York City”中,词袋表示将查询视为没有特定顺序的一组六个词。看看查询背后的意图,可以确定查询的发出者正在搜索“New York City”中的“cheap hotels”,并且确定将这些多术语关键词分解成它们的组成术语导致语义意义的损失。

搭配标识器部件506可以利用监督式或非监督式学习技术来标识查询中的搭配。在一个示例性实施例中,搭配标识器部件506可以使用非监督技术,并且可以采用互信息方法。通过计算针对每个连续术语对的逐点互信息得分,匹配标识器部件506可以获得查询到关键词(包括搭配)的分割。更为形式上地,对于查询q={q1,q2,…,qn}:

其中p(qi,qi+1)是双字母组qi,qi+1的联合出现概率,并且p(qi)是qi的单字母出现概率。当PMI值落在某个阈值τ以下时,搭配标识器部件506可以引入搭配中断。在一个示例中,τ可以被设置为大约1.91。例如,τ可以设置在1.5和2.5之间。

图构造器系统502还可以包括标记器部件508,标记器部件508被配置为向查询(未被标记为实体和/或搭配的标志)中的剩余标志分配标记。例如,对于查询中的每个剩余术语,标记器部件508可以分配“介词”或“术语”标记。介词标记指的是语言构造介词,而术语标记指的是任何未被标注为实体、搭配或介词的术语。因此,查询中的每个术语被标注为实体、搭配、介词或术语之一。

图构造器系统112还包括元素标识器部件510,元素标识器部件510将查询中的每个术语标注为中心点、改善器或连接器之一,其中标识器部件510基于通过实体标识器部件504、搭配标识器部件506和标记器部件508应用的标记来执行这样的标注。中心点可以被定义为查询的关键点,并且可以是被良好定义并且已被标注为实体或搭配的概念(例如,“NewYork City”)。改善器可以被定义为旨在表征查询中的精确区别或细微之处(例如,“hotels”)的查询成分。

为了标识查询中的中心点和改善器,元素标识器部件510可以利用依赖性解析规则。例如,形式为“NNX NNX”的短语,其中NNX是单数、复数或专有名词,中心点是第一名词。对于形式为“NNX IN NNX”的短语,其中IN是介词,第二名词是中心点。为了使用实体、搭配、术语和介词标记在查询中找到中心点和改善器,元素标识器部件510可以解决嵌套的实体和搭配匹配。嵌套匹配可以通过使用左最长匹配启发式的贪心准入来解决。例如,在查询“reviews for Company One Phone”中,术语“Company One”和“Phone”可以被标识为实体,并且“Company One Phone”可以被标识为搭配。在这种情况下,元素标识器部件510可以通过将“Company One Phone”视为单个概念,并将“Company One Phone”标注为中心点来解决匹配。关于所包含的实体的信息可以用概念保留,并且概念可以被视为实体。

参考图6,图600示出了元素标识器部件510可以如何使用由实体标识器部件504、搭配标识器部件506和标记器部件508分配给查询术语的标记来标识中心点和改善器。图6包括表示实体标记的块602、表示搭配标记的块604、表示术语标记的块606和表示介词标记的块608。图600还包括表示中心点标记的块610、表示改善器标记的块612和表示连接器标记的块614。图600还包括可表示一个方面的块616。如图所示。如图6所示,中心点610可以是实体或搭配。允许搭配用作中心点可以增加图构造器系统112的覆盖,因为它允许覆盖通常不被标注为实体的概念(例如,“fall wedding”、“resume writing”等)以及通常被视为单个实体的连续的实体(例如,“Company One Phone”)。相反,改善器612可以是术语或搭配,因为其旨在定义某一实体的特定方面(例如,“cheap hotels”)。查询及其对应的词汇标记的示例在下面的表1中阐述。因此可以确定元素标识器部件510可以将中心点标识为实体或搭配,可以将改善器标识为搭配或术语,并且可以将连接器标识为介词。

表1

图构造器系统112另外包括模式标识器部件512,模式标识器部件512标识具有来自“中心点”、“改善器”、“连接器”标记的多个潜在预定义模式中的预定义模式的查询。示例性预定义模式包括但不限于:1)改善器、连接器、中心点(例如,“cheap_hotels in new_york”);2)中心点、改善器(例如,“company_phone reviews”);和中心点(例如,“georgewashinton”)。由于查询通常缺少语法结构,因此在某些情况下,模式标识器部件512还可以在中心点是实体并且是查询中的唯一实体时标识具有其他模式的查询,例如改善器、中心点。当改善器是问题词(例如,“What is adaptive radiation?”)时,也可以允许该模式。由模式标识器部件512标识的查询(例如,具有上面引用的模式之一的查询)可以被选择用于包括在多个方面中,而其他查询可以被丢弃。

图构造器系统112还包括分组器部件514,分组器部件514可以将适合上面引用的模式的查询分组为多个方面。例如,由于相同方面可以由多个查询表示,所以分组器部件514可以将表示相同方面的查询分组在一起。在一个示例中,分组器部件514可以利用查询相似性函数,并且将这样的函数应用于匹配上面引用的模式的所有查询对,随后聚类(clustering),以获得将被包括在计算机实现的图114中的多个方面。在另一种方法中,当将查询分组为多个方面时,分组器部件514可以使用关于查询的元数据(改善器和中心点标记、实体标记等)。例如,分组器部件514可以执行以下步骤以将查询分组为多个方面。首先,分组器部件514可以向公共实体分配标识符。例如,分组器部件514可以确定查询包括“NewYork City”的术语序列,其指代实体纽约市。实体纽约市可以具有分配给它的标识符,使得查询中的“New York City”可以用标识符替换。另一查询可以包括术语“NYC”,其也指代实体纽约市。另一查询中的术语“NYC”可以用上面引用的实体纽约市的标识符替换,这允许相同实体的不同变现形式的匹配。

分组器部件514此后可以通过将形式改善器-连接器-中心点的所有模式转换为中心点-改善器来将所有查询的语法结构规范化。例如,分组器部件514可以将查询“hotelsin New York City”转换为“New York City hotels”。此外,分组器部件514可以将针对查询的两个改善器与相同的中心点匹配,如果该改善器:1)具有相同词目(词形还原是将词尾变化的拼写(inflected spelling)简化为它的词形词根或词目形式的过程);或2)具有小于某一阈值(例如,0.2)的标准化编辑距离。这允许捕获拼写错误和拼写变化。应用这些步骤允许分组器部件514将诸如“hotels in New York City”、“hotels in NYC”、“NYChotel”、“NYC hotls”等查询分组为表示单个方面的单个查询组。分组器部件514的输出是多个方面,每个方面包括至少一个查询。

图构造器系统112包括计算多个方面之间的关联的连接器部件516。例如,如先前所指示的,所得到的计算机实现的图114通过关于当前发出的查询推荐相关的和令人感兴趣的方面来支持帮助用户探索。因此,期望的推荐列表将包括与当前查询(方面)相关的不同方面。基于由连接器部件516计算的关联,图构造器系统112可以构造计算机实现的图G=(A,E,w)(图114),其中A是由分组器部件514输出的所有方面的集合;E=A×A是可能相关联的方面的集合;并且w:E→[0...1]是向每个方面对(i,j)分配表示它们的关联强度的权重w(i,j)的函数。

为了测量方面对之间的关联,连接器部件516可以利用标准化的逐点互信息(NPMI)。任何两个离散事件x和y的PMI通过给定它们的联合分布的它们的同时发生的概率与假定独立的仅给出它们的单独分布的它们的同时发生的概率之间的差异来量化它们的关联程度。如果两个变量是独立的,则PMI值为零。PMI的正值指示正相关,而负值指示负相关。由于PMI可以取任意正或负值,因此可以如下将其标准化为NPMI。

为了计算PMI值,连接器部件516可以确定何时两个方面已经共同出现。当相同用户在某一阈值量的时间(例如,48小时)内发出属于不同方面的查询时,可以定义共同出现。共同出现小于某一阈值次数(例如,10次)的对可以被丢弃,除非它们共享相同的中心点。所计算的关联可以用于确定多个方面之间的边和这样的边的权重。

现在参考图7,示出了支持输出建议的探索性查询(或基于探索性查询预取的内容)的示例性计算系统700。计算系统700包括数据存储702,数据存储702包括计算机实现的图114。计算系统700还包括被配置为响应于查询的接收而建议一个方面的建议系统702。建议系统702包括查询接收器部件704和方面建议器部件706,查询接收器部件704被配置为接收查询,方面建议器部件706被配置为响应于查询接收器部件704接收到查询而建议一个方面。

在操作中,客户端计算设备710的用户708可以向搜索引擎发出查询。建议系统702接收查询并将查询与在计算机实现的图114中定义多个方面的查询进行比较。当由用户708发出的查询也被包括在计算机实现的图114中时,方面建议器部件706可以标识包括所发出的查询的方面,并且可以基于所标识的方面向用户708建议另一方面。方面建议器部件706可以利用各种方法向用户708建议多个方面。例如,一旦包括由用户708发出的查询的方面被标识,阈值数目的最高度相关联的方面可以由方面建议部件706标识并输出为建议(例如,其中建议可以是分别被包括在多个方面中的最频繁发出的查询)。

在另一个示例中,方面建议器部件706可以采用随机游走方法来建议多个方面。例如,方面建议器部件706可以模拟沿着计算机实现的图114游走的随机行进器。从一个i(例如,被包括在多个方面之一中的用户查询)开始;它或者以概率β保持在i处,或者以概率1-β移动到另一个相邻节点。当它移动到相邻节点时,它以与连接i和j的边的权重成比例的概率Pij选择节点j。

可以通过对连接到该方面的边的权重进行标准化来定义从i到j的转换概率Pt+1|t(j|i):

其中k表示i的邻居中的所有节点。Pt2|t1(j|i)表示从步骤t1处的节点i到步骤t2处的节点j的转换概率。可以注意到,Wij权重和转换概率都不是对称的(例如,图114中的边是定向的)。

可以引入自转换环路以加强起始节点的重要性并且减慢随机游走到其他节点的扩散。在一个示例中,自环路概率可以在0.8和0.95之间。方面建议器部件706可以在最大z次迭代(例如,30次迭代)之后或者当两个连续迭代之间的差的范数(norm)小于阈值数(例如,10-6)时停止随机游走。方面建议器部件706可以基于随机游走的稳定分布对推荐的方面进行排名。

在应用随机游走之前,如果任何边的权重小于某个数(0.2),则方面建议器部件706可以移除该边。此外,方面建议器部件706还可以移除没有到任何其他节点的连接的节点。此外,方面建议器部件706可以执行重新排名以确保向用户708提供不同的建议。为了减少推荐列表中的冗余,同时维持相关性,方面建议器部件706可以使用最大边界相关性(MMR)类似的功能,该功能试图促进相关的新颖性,而不仅仅是相关性。为了测量相关的新颖性,方面建议器部件706可以独立地测量相关性和新颖性,然后基于两者的线性组合对推荐进行排名。形式上,方面建议器部件706可以尝试最大化以下函数。

Score(si)=λRelev(si,Q)-(1-λ)maxj<i>i,sj),(4)

其中Q是原始查询,S={si,...,sn}是建议列表,Relev(si,Q)是上述的标准化为∈[0,1]的稳定分布得分,并且Sim(si,sj)是测量不同方面之间的相似性的函数。例如,Sim(si,sj)可以被定义为x和y的词文本频率表示之间的余弦相似性。最后,λ∈[0,1]是控制在方面相关性和方面多样性之间的权衡的参数。例如,λ可以被设置为0.5。

虽然系统700已经被描述为非常适合于提供探索性查询建议,但是应当理解,系统700也可以被配置为输出其他类型的建议。在一个示例中,由建议系统702输出的方面可以是电子通信,诸如广告。因此,例如,如果用户708提出查询“rental cars caymanislands”,则建议系统702可以标识并提供针对开曼群岛的酒店的广告。类似地,建议系统708可以向预期的广告商建议多个方面——因此,继续上述示例性查询,建议系统702可以向拍卖系统输出该方面(投标术语)“hotels cayman islands”,其中广告商可以投标这样的术语。

图8表示可以响应于用户708发出查询“Grand Cayman car rental”而呈现给用户708的示例性图形用户界面800。图形用户界面800包括查询字段802,其中用户708可以输入查询。图形用户界面800还包括相关搜索字段804,相关搜索字段804包括可以帮助用户708完成与由用户708发出的查询对应的子任务的建议。例如,选择相关搜索字段804中的查询之一可以使得特定的搜索结果页面被呈现给用户708,其中结果非常适合于允许用户预订租赁车。

图形用户界面800还包括可以包括由方面建议器部件706输出的探索性建议的探索建议字段806。例如,探索性建议可以包括“Grand Cayman vacation rentals”、“cheapflights to Grand Cayman”、“Snorkeling in Grand Cayman”等。这些建议可以帮助用户探索大开曼岛中的其他活动,其中对探索建议之一的选择可以使得搜索引擎执行更新的搜索。

图9-图11示出了与向用户提供探索性建议相关的示例性方法。虽然方法被示出和描述为以序列执行的一系列动作,但是应当理解和意识到,方法不受序列的顺序的限制。例如,一些动作可以以与本文所描述的顺序不同的顺序发生。此外,一个行为可以与另一个行为同时发生。此外,在一些实例中,并不需要所有动作来实现本文所描述的方法。

此外,本文描述的动作可以是可以由一个或多个处理器实现和/或存储在一个或多个计算机可读介质上的计算机可执行指令。计算机可执行指令可以包括例程、子例程、程序、执行的线程等。此外,方法的动作的结果可以被存储在计算机可读介质中,被显示在显示设备上等。

现在参考图9,示出了支持构造计算机实现的图114的示例性方法900。方法900在902处开始,并且在904处在搜索引擎的搜索记录中标识探索性搜索会话。在906处,基于在904处标识的探索性搜索会话来构造计算机实现的图。如上所述,计算机实现的图包括表示多个方面的节点和表示多个方面之间的关系(关联)的边。方法900在908处完成。

现在参考图10,示出了支持在搜索引擎的搜索记录中标识探索性搜索会话的示例性方法1000(方法900的动作904)。方法1000在1002处开始,并且在1004处记录条目被分割成搜索会话。在1006处,将搜索会话分割成子会话。具体地,子会话可以是话题相干会话或与完成搜索任务相关的会话。在1008处,从子会话过滤导航搜索。在1010处,从剩余的子会话过滤尽力搜索。随后的剩余子会话可以被标识为探索性搜索会话。方法1000在1012处完成。

现在参考图11,示出了支持构造计算机实现的图114的示例性方法1100(方法900的动作906)。在1104处,将探索性搜索会话的查询中的实体标记为实体。即,术语或术语序列可以被标记为实体。在1106处,标记查询中的搭配。可以理解,实体可以是搭配。因此,术语可以被标记为实体和搭配两者。在1108处,标记查询中的介词。查询中的未被标识为实体、搭配或介词的术语可以标记为术语。在1110处,基于预定义模式、依赖性解析规则以及实体、搭配、术语和介词标记来标识查询中的中心点、改善器和搭配。在1112处,将查询中的中心点、改善器、连接器标注与上面引用的预定义模式进行比较。保留符合预定义模式之一的查询,而丢弃其他查询。在1114处,将剩余的查询分组成多个方面。例如,可以执行成对相似性分析来进行分组,或者可以利用与查询相关联的元数据来执行分组。在1116处,计算指示多个方面之间的关联的值,并且在1118处,基于在1114处创建的多个方面和在1116处计算的关联来构造计算机实现的图。方法1100在1120处完成。

现在阐述各种示例。

示例1:一种计算系统,包括:处理器;以及存储器,存储器包括由处理器执行的图构造器系统,图构造器系统被配置为:基于搜索引擎的搜索记录来构造计算机实现的图,计算机实现的图包括:表示多个方面的节点,一个方面是任务的子任务或话题的子话题之一,每个方面由搜索记录中的至少一个查询定义;以及连接节点的加权边,被分配给边的权重指示当完成任务或探索话题时,搜索器将从由第一节点表示的第一方面转换到由第二节点表示的第二方面的可能性,第一节点和第二节点由边连接,计算机实现的图支持响应于从搜索器接收到查询而基于建议查询来提供建议查询或内容。

示例2:根据示例1的计算系统,存储器还包括提取系统,提取系统被配置为标识搜索记录中的探索性搜索会话,探索性搜索会话是这样的搜索会话,搜索器正在这些搜索会话中探索包括子话题的话题或完成包括子任务的任务,图构造器系统被配置为基于由提取系统标识的探索性搜索会话来构造计算机实现的图。

示例3:根据示例1-2中任一项的计算系统,图构造器系统包括标识器部件,标识器部件被配置为标识搜索记录的查询中的实体,图构造器系统被配置为基于由标识器部件标识的实体来构造计算机实现的图。

示例4:根据示例1-3的计算系统,图构造器系统包括搭配标识器部件,搭配标识器部件被配置为标识搜索记录中的查询中的术语搭配,术语搭配是比偶然期望出现更经常出现的术语序列,图构造器系统被配置为基于由搭配标识器部件标识的术语搭配来构造计算机实现的图。

示例5:根据示例1-4中任一项的计算系统,图构造器系统包括标记器部件,标记器部件被配置为标识搜索记录中的查询中的介词,图构造器系统被配置为基于由搜索记录中的查询标识的介词来构造计算机实现的图。

示例6:根据示例1-5中任一项的计算系统,图构造器系统包括模式标识器部件,模式标识器部件被配置为标识搜索记录中的查询中的术语模式,图构造器系统被配置为基于模式来构造计算机实现的图。

示例7:根据示例1-6中任一项的计算系统,图构造器系统包括分组器部件,分组器部件被配置为将搜索记录中的查询分组为多个查询组,每个查询组表示一个相应方面。

示例8:根据示例1-7中任一项的计算系统,图构造器系统包括连接器部件,连接器部件被配置为基于搜索记录来计算分配给图中的边的权重,图构造器系统被配置为基于权重来构造计算机实现的图。

示例9:根据示例1-8中任一项的计算系统,由多个查询定义至少一个方面,建议查询是在至少一个方面中最频繁发出的查询。

示例10:根据示例1-9中任一项的计算系统,存储器还包括被配置为响应于查询的接收而输出至少一个建议方面的建议系统,建议系统被配置为执行在查询和由计算机实现的图表示的多个方面之间的比较,以及基于比较来标识一个方面,建议部件被配置为基于所标识的方面输出至少一个建议方面。

示例11:根据示例10的计算系统,建议系统被配置为基于所标识的方面和至少一个建议方面之间的连接的权重来标识至少一个建议方面。

示例12:一种用于构造支持向用户建议探索性查询的计算机实现的图的方法,方法包括:标识在搜索引擎的搜索记录中的探索性搜索会话,探索性搜索会话包括被提出以获得有关话题的信息或完成任务的多个查询;基于探索性搜索会话的标识,构造计算机实现的图,其中构造计算机实现的图包括:标识表示多个方面的节点,一个方面是话题的子话题或任务的子任务,由探索性搜索记录中的至少一个查询定义一个方面;以及将节点与表示多个方面之间的关系的边耦合,连接第一节点和第二节点的边表示搜索器在被提供有由第一节点表示的第一方面时将选择执行由第二节点表示的第二方面的可能性。

示例13:根据示例12的方法,其中标识探索性搜索会话包括:标识其中具有至少预定义阈值数目的查询的搜索会话;以及基于标识其中具有至少预定义阈值数目的查询的搜索会话来标识探索性搜索会话。

示例14:根据示例12-13中任一项的方法,其中标识探索性搜索会话还包括:标识搜索会话中具有阈值量的话题相干性(cohesion)的查询;以及基于标识搜索会话中具有阈值量的话题相干性的查询来标识探索性搜索会话。

示例15:根据示例12-14中任一项的方法,其中构造计算机实现的图包括:标识在探索性搜索会话中的查询中的中心点,中心点是实体或术语搭配,术语搭配是比偶然期望出现更经常出现的术语序列;标识在查询中的改善器,改善器表征中心点;以及指示查询要基于中心点和改善器至少部分地定义一个方面。

示例16:根据示例15的方法,还包括:将词汇标记分配给查询中的元素;将词汇标记与预定义模式进行比较;以及基于词汇标记与预定义模式的比较来标识中心点和改善器。

示例17:根据示例12-16中任一项的方法,其中构造计算机实现的图包括对探索性搜索会话中的查询进行聚类,每个簇定义由计算机实现的图中的节点表示的一个相应方面。

示例18:根据示例12-17中任一项的方法,还包括:接收查询;响应于查询的接收,标识计算机实现的图中的节点,由节点表示的一个方面至少部分地由查询定义;以及基于计算机实现的图中的节点的标识,输出建议查询。

示例19:根据示例18的方法,还包括:基于计算机实现的图中的节点的标识,标识计算机实现的图中的另一节点,另一节点表示另一方面,另一方面至少部分地由建议查询来定义;以及响应于标识计算机实现的图中的另一节点,输出建议查询。

示例20:一种包括指令的计算机可读介质,指令在由处理器执行时使得处理器执行动作,包括:接收查询;响应于查询的接收,标识计算机实现的图中的节点,节点表示至少部分地由查询定义的一个方面;基于节点标识计算机实现的图中的另一节点,另一节点表示另一方面;以及基于计算机实现的图中的另一节点的标识,输出另一查询作为建议。

示例21:一种计算系统,包括:用于标识搜索引擎的搜索记录中的探索性搜索会话的装置,探索性搜索会话包括被提出以获得关于话题的信息或完成任务的多个查询;用于基于探索性搜索会话来构造计算机实现的图的装置,其中用于构造计算机实现的图的装置包括:用于标识表示多个方面的节点的装置,一个方面是话题的子话题或任务的子任务,由探索性搜索记录中的至少一个查询定义一个方面;以及用于将节点与表示多个方面之间的关系的边耦合的装置,连接第一节点和第二节点的边表示搜索器在被提供有由第一节点表示的第一方面时将选择执行由第二节点表示的第二方面的可能性。

现在参考图12,示出了可以根据本文公开的系统和方法使用的示例性计算设备1200的高级图示。例如,计算设备1200可以在构造计算机实现的图114的系统中使用。作为另一个示例,计算设备1200可以在基于计算机实现的图114输出探索性建议的系统中使用。计算设备1200包括至少一个处理器1202,其执行存储在存储器1204中的指令。指令可以是例如用于实现被描述为由上述一个或多个部件执行的功能的指令或用于实现上述方法中的一种或多种方法的指令。处理器1202可以通过系统总线1206访问存储器1204。除了存储可执行指令之外,存储器1204还可以存储计算机实现的图114、搜索会话等。

计算设备1200另外包括可由处理器1202通过系统总线1206访问的数据存储1208。数据存储1208可以包括可执行指令、计算机实现的图114等。计算设备1200还包括允许外部设备与计算设备1200通信的输入接口1210。例如,输入接口1210可以用于从外部计算机设备、从用户等接收指令。计算设备1200还包括输出接口1212,其将计算设备1200与一个或多个外部设备对接。例如,计算设备1200可以通过输出接口1212显示文本、图像等。

设想经由输入接口1210和输出接口1212与计算设备1200通信的外部设备可以被包括在提供用户可以与之交互的基本上任何类型的用户接口的环境中。用户接口类型的示例包括图形用户界面、自然用户界面等。例如,图形用户界面可以接受来自使用诸如键盘、鼠标、遥控器等(多个)输入设备的用户的输入,并在诸如显示器的输出设备上提供输出。此外,自然用户界面可以使得用户能够以不受诸如键盘、鼠标、遥控器等的输入设备施加的约束的方式与计算设备1200交互。相反,自然用户界面可以依赖于语音识别、触摸和指示笔识别、屏幕上和屏幕附近的姿势识别、空中姿势、头部和眼睛追踪、声音和语音、视觉、触摸、手势、机器智能等等。

另外,虽然被示为单个系统,但是应当理解,计算设备1200可以是分布式系统。因此,例如,若干设备可以通过网络连接进行通信,并且可以共同地执行被描述为由计算设备1200执行的任务。

本文中描述的各种功能可以在硬件、软件或其任何组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质进行传输。计算机可读介质包括计算机可读存储介质。计算机可读存储介质可以是可以由计算机访问的任何可用存储介质。作为示例而非限制,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其他磁存储设备,或可以用于以指令或数据结构的形式承载或存储期望的程序代码并且可以由计算机访问的任何其他介质。如本文所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘(BD),其中磁盘通常磁性地再现数据以及光盘通常使用激光光学地再现数据。此外,传播的信号不被包括在计算机可读存储介质的范围内。计算机可读介质还包括通信介质,通信介质包括支持将计算机程序从一个地方传送到另一个地方的任何介质。例如,连接可以是通信介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或诸如红外、无线电和微波的无线技术从网站,服务器或其他远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或诸如红外、无线电和微波的无线技术被包括在通信介质的定义中。上述各项的组合也应被包括在计算机可读介质的范围内。

备选地或另外,本文中所描述的功能可以至少部分地由一个或多个硬件逻辑部件执行。例如但不限于,可以使用的硬件逻辑部件的说明性类型包括现场可编程门阵列(FPGA)、程序特定集成电路(ASIC)、程序特定标准产品(ASSP)、片上系统系统(SOC)、复杂可编程逻辑器件(CPLD)等。

上面已描述的内容包括一个或多个实施例的示例。当然,为了描述上述方面的目的,不可能描述上述设备或方法的每个可设想的修改和改变,但是本领域普通技术人员可以认识到,各种方面的许多另外的修改和置换是可能的。因此,所描述的方面旨在包括落入所附权利要求的精神和范围内的所有这样的改变、修改和变化。此外,在术语“包含”用于细节描述或权利要求中的程度上,这样的术语旨在以类似于术语“包括”的方式是包含性的,如“包含”在权利要求中被用作过渡性词时被解释的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号