基于装置定向解释用户查询的制作方法

文档序号:12142104阅读:270来源:国知局
互联网提供对多种资源的访问,所述资源诸如图像文件、音频文件、视频文件、以及网页。搜索系统可以响应于用户提交的查询来识别资源,并按照对用户有用的方式提供关于资源的信息。用户可浏览(例如选择)搜索结果,以获取感兴趣的信息。技术实现要素:本说明书涉及基于用户装置的位置和定向解释用户查询。本公开的实施方式一般涉及基于一个或多个隐式实体重写查询。更具体而言,本公开的实施方式涉及基于提交查询的用户装置的近似位置和近似定向来识别实体集合,选择实体集合中的实体,以及重写查询,以显式地引用实体集合中的实体。一般而言,可以在以下方法中具体实施本说明书所述主题的创造性方案,所述方法包括动作:接收从用户装置提供的查询;以及确定所述查询隐式地引用某个实体,以及作为响应:获得所述用户装置的近似位置和近似定向;获得包括一个或多个实体的实体集合,所述实体集合中的每个实体至少部分地在一个范围内,所述范围基于所述近似位置并包括基于所述近似定向的扩展部分;从所述实体集合中选择实体;以及基于所述查询和所述实体提供修正查询,所述修正查询显式地引用所述实体。该方案的其他实施方式包括对应的系统、设备和计算机程序,其被配置为执行在计算机存储装置上编码的方法的动作。这些和其他实施方式分别可以选择性地包括以下特征中的一个或多个:所述近似定向指示所述用户装置的罗盘方向,所述范围的所述扩展部分基于所述罗盘方向而提供;所述近似定向指示所述用户装置相对于水平面的倾斜;所述近似定向基于从所述用户装置的传感器提供的信号而确定;所述实体集合中的至少一个实体基于图像数据而提供,所述图像数据由所述用户装置响应于所述近似定向而获得;以及从所述实体集合中选择实体基于与所述实体相关联的一个或多个实体查询模式。可以实施本说明书所述主题的特定实施方式,从而实现以下优点中的一个或多个。在一些示例中,提交查询的用户不需要知道作为查询主题的实体的名称。例如,用户可以站在纪念碑附近并且可以提交查询[whatisthismonument(这个纪念碑是什么)],而不必首先确定纪念碑的名称。在一些示例中,用户不需要知道如何正确地发音和/或拼写实体的名称。例如,不会说德语的用户可以在瑞士苏黎世度假,并且可以在站在对于用户而言可能难以发音和/或拼写的名为“Zeughauskeller”的餐馆附近的时候,提交查询[openinghours(开门时间)]。作为另一个示例,本公开的实施方式使得用户能够更方便和自然地与搜索系统交互(例如,提交查询[showmelunchspecials(给我看特价午餐)]而不是查询[FinoRistorante&Barlunchspecials(FinoRistorante&Bar特价午餐)])。这些示例强调由本公开的实施方式提供的信息检索的简化以及对于的用户而言提高的信息可访问性。例如,在提交查询以检索关于实体的其他信息之前,用户不必首先提交查询以确定实体的名称。这样提供的优点是:减少可能提交给搜索系统的查询的总数,从而减少搜索系统在解析查询和提供搜索结果时所需的带宽、计算能力、和/或存储器。在下面的附图和描述中给出本说明书所述主题的一个或多个实施方式的细节。根据描述、附图、以及权利要求书,主题的其他特征、方案、以及优点将变得显而易见。附图说明图1描绘搜索系统基于经过解释的用户查询提供搜索结果的示例环境。图2描绘根据本公开实施方式的示例使用情况。图3描绘根据本公开实施方式可以执行的示例过程。图4描绘根据本公开实施方式可以执行的示例过程。在不同的附图中,相同的附图标记和名称表示相同的元素。具体实施方式本公开的实施方式一般涉及基于一个或多个隐式实体重写查询。更具体而言,本公开的实施方式涉及基于由其提交查询的装置的定向确定所接收的查询可以隐式地相关的一个或多个实体,选择一个或多个实体中的实体,以及重写查询以显式地引用所选择的实体。在一些实施方式中,基于提交查询的用户装置的近似位置和近似定向来识别实体集合。在一些实施方式中并且如本文所述,基于所述近似位置来提供范围,并基于所述近似定向来扩展所述范围的至少一部分。在一些示例中,所述实体集合中的每个实体是确定为在所述范围内的实体。在一些示例中,可以基于所述近似定向捕捉图像数据,其中所述图像数据可用于包括所述实体集合中的一个或多个实体。在一些示例中,从所述实体集合中选择实体。重写该查询以提供显式地引用所选择的实体的修正查询。在一些示例中,基于修正查询来提供搜索结果。图1描绘搜索系统基于经过解释的用户查询提供搜索结果的示例环境100。在一些示例中,示例环境100使得用户能够与一个或多个计算机实施的服务交互。示例计算机实施的服务可包括搜索服务、电子邮件服务、聊天服务、文档共享服务、日历共享服务、照片共享服务、视频共享服务、博客服务、微博服务、社交网络服务、位置(位置感知)服务、登记服务、以及评级和评论服务。在图1的示例中,描绘提供搜索服务的搜索系统120,如本文进一步详细所述。参照图1,示例环境100包括网络102(例如局域网(LAN)、广域网(WAN)、因特网、或它们的组合),连接网站104、用户装置106、以及搜索系统120。在一些示例中,可通过有线和/或无线通信链路来访问网络102。例如,移动计算装置(诸如智能电话)可以利用蜂窝网络来接入网络102。环境100可包括数百万个网站104和用户装置106。在一些示例中,网站104被提供为与域名相关联并由一个或多个服务器托管的一个或多个资源105。示例网站是以适当的机器可读语言(例如超文本标记语言(HTML))为格式的网页的集,该网页的集可以包含文本、图像、多媒体内容、以及编程元素,例如脚本。每个网站104由发布者(例如管理和/或拥有网站的实体)维护。在一些示例中,资源105是通过网络102提供并且与资源地址(例如统一资源定位符(URL))相关联的数据。在一些示例中,除了其它适当数字内容之外,可以由网站104提供的资源105包括网页、文字处理文档、以及便携文档格式(PDF)文档、图像、视频、以及馈送源。资源105可包括内容,例如词、短语、图像、以及声音,并且可包括嵌入信息,例如元信息和超链接,和/或嵌入指令,例如脚本。在一些示例中,用户装置106是能够通过网络102请求和接收资源105的电子装置。示例用户装置106包括个人计算机、膝上型计算机、以及移动计算装置,例如智能电话和/或平板计算装置,它们可通过网络102发送和接收数据。如同贯穿本文使用的,术语移动计算装置(“移动装置”)表示被配置为通过移动通信网络进行通信的用户装置。智能电话(例如能够通过因特网通信的电话)是移动装置的示例。用户装置106可以执行用户应用,例如web浏览器,来促进通过网络102发送和接收数据。在一些示例中,为了促进搜索资源105,搜索系统120通过爬行和索引在网站104上提供的资源105来识别资源105。关于资源105的数据可以基于数据所对应的资源来索引。资源105的索引和缓存(选择性地)副本存储在搜索索引122中。用户装置106向搜索系统120提交搜索查询109。在一些示例中,用户装置106可包括一个或多个输入模态(modality)。示例模态可包括键盘、触摸屏、和/或麦克风。例如,用户可以使用键盘和/或触摸屏来键入搜索查询。作为另一个示例,用户可以说出搜索查询,通过麦克风捕获用户语音,并通过语音辨识来处理,以提供搜索查询。响应于接收搜索查询109,搜索系统120访问搜索索引122以识别与搜索查询109相关(例如至少具有最小指定相关性得分)的资源105。搜索系统120识别资源105,生成包括识别资源105的搜索结果112的搜索结果显示111,并将搜索结果显示111返回用户装置106。在示例背景下,搜索结果显示可包括一个或多个网页,例如一个或多个搜索结果页面。在一些示例中,可基于可通过任何适当的机器可读语言编写web文档来提供网页。但是可以构想,本公开的实施方式可包括其他适当的显示类型。例如可以在由计算装置上执行的应用生成的显示和/或由操作系统(例如移动操作系统)生成的显示中提供搜索结果。在一些示例中,可以基于任何适当的形式(例如Javascript-html、纯文本)来提供搜索结果。搜索结果112是由搜索系统120生成的数据,它识别响应于特定搜索查询的资源105,并包括指向资源105的链接。示例搜索结果112可包括网页标题、文本片段、或者从网页提取的图像的一部分、以及网页的URL。在一些示例中,可以从资源数据存储检索在搜索结果112中提供的数据。例如,搜索系统120可以提供显示搜索结果112的搜索结果显示111。在一些示例中,搜索结果显示111可以用从资源数据存储提供的信息(例如网页标题、文本片段、或者从网页提取的图像的一部分)来填充。在一些示例中,将在用户会话期间提交的用于搜索查询109的数据存储在数据存储(例如历史数据存储124)中。例如,搜索系统120可将接收的搜索查询存储在历史数据存储124中。在一些示例中,例如通过搜索系统120,将指定响应于搜索结果112而采取的动作的选择数据也存储在历史数据存储124中,所述搜索结果响应于每个搜索查询109而提供。这些动作可包括是否选择搜索结果112,例如用指示器点击或悬停。对于搜索结果112的每个选择,选择数据还可包括识别为其提供搜索结果112的搜索查询109的数据。根据本公开的实施方式,示例环境100还包括可通信地耦合到搜索系统120的查询解释系统130,例如直接耦合或通过网络(诸如网络102)耦合。虽然搜索系统120和查询解释系统120在图1中描绘为单独的系统,但是可以构想,搜索系统120可包括查询解释系统130。在一些实施方式中,查询解释系统130基于从用户装置106接收的查询来提供修正查询。在一些示例中,并且如本文进一步详细所述,基于提供查询的用户装置106的近似位置和近似定向以及被确定为接近用户装置106的一个或多个实体来提供修正查询。在一些示例中,由搜索系统120提供的搜索结果112响应于修正查询。在一些实施方式中,多个实体以及与其相关联的信息可以作为结构化数据存储在实体图中。在一些示例中,实体图包括多个节点以及节点之间的边。在一些示例中,节点表示实体,并且边表示实体之间的关系。在一些示例中,可以基于示例方案来提供实体图,该示例方案基于域、类型、以及性质来构造数据。在一些示例中,域包括共享命名空间的一个或多个类型。在一些示例中,命名空间被提供为独特命名对象的目录,其中命名空间中的每个对象具有独特的名称,例如标识符。在一些示例中,类型表示关于主题的“是”关系,并用于保存性质的集。在一些示例中,主题表示实体,诸如人、地点、或事物。在一些示例中,每个主题可具有与其相关联的一个或多个类型。在一些示例中,性质与主题相关联并定义主题和性质的值之间的“具有”关系。在一些示例中,性质的值可包括另一个主题。在一些示例中,实体可以与实体图内的独特标识符相关联。例如,实体AlcatrazIsland可以分配标识符/m/0h594。在一些实施方式中,可以在一个或多个数据库中提供多个实体。例如,可以在可以提供与每个实体相关联的数据的表中提供多个实体。示例数据可包括实体的名称、实体的位置、分配给实体的一个或多个类型、与实体相关联的一个或多个评级、与实体相关联的实体查询模式集合、以及可以为实体提供的任何其他适当的信息。在一些示例中,实体可以与一个或多个数据库内的独特标识符相关联。例如,实体AlcatrazIsland可以分配标识符/m/0h594。23本公开的实施方式一般涉及基于一个或多个隐式实体来重写查询。更具体而言,本公开的实施方式涉及基于提交查询的用户装置的近似位置和近似定向来识别实体集合,并且重写查询以显式地引用所述实体集合中的实体,其中所述查询被确定为隐式地引用所述实体。下面参照示例使用情况进一步详细地描述本公开的实施方式。图2描绘根据本公开的实施方式的示例使用情况。在图2的示例中,提供用户装置202所位于的区域200。多个实体也位于区域200内。示例实体可包括餐馆、酒吧、酒店、剧院、学校、大学、音乐厅、旅游景点、森林、山丘、湖泊、山脉、以及公园。应当理解,本公开的实施方式不限于本文具体识别的实体。在所示的示例中,在区域200中提供实体“GreatHotel(很棒酒店)”204、实体“Not-so-GreatHotel(不怎么棒酒店)”206、实体“HorribleHotel(糟糕的酒店)”208、实体“AcceptableHotel(还可以酒店)”210、以及实体“AwesomePizza(棒极了披萨)”212。根据本公开的实施方式,从用户装置接收查询。例如,用户装置202可以向搜索系统(例如图1的搜索系统120)提供查询。在一些示例中,可以确定查询隐式地关涉(about)实体。在一些示例中,如果查询缺少对实体的显式引用,则可以确定该查询隐式地关涉实体。在一些示例中,如果查询包括代词,则可以确定该查询隐式地关涉实体。在一些实施方式中,可以处理所接收的查询并将其与一个或多个查询模式进行比较,以确定查询是否隐式地引用实体。在一些示例中,一个或多个查询模式中的每个查询模式指示隐式地引用实体的查询。在一些实施方式中,对查询进行处理,以去除一个或多个停止词和/或会话词项,以提供干净的查询。例如,可以处理示例查询[canyoupleaseshowmeratings(您可以给我看评级吗)]以提供[ratings(评级)]。在一些示例中,可以提供查询索引,并且可将一个或多个查询或干净的查询映射到查询模式的相应集合,查询模式的每个集合包括一个或多个查询模式。例如,可以接收查询,并且可以从查询索引提供与该查询相关联的查询模式的集合或者基于该查询的干净的查询。在一些示例中,将干净的查询与一个或多个查询模式中的每个查询模式进行比较,同样,每个查询模式指示对某个实体的隐式引用。在一些示例中,查询模式包括一个或多个词项。示例查询模式可包括[ratings]、[restaurantratings(餐馆评级)]、以及[theaterratings(剧院评级)]。在一些示例中,查询模式可包括一个或多个通配符。示例查询模式可包括[*ratings],其中*指示通配符,例如餐馆、剧院。在一些示例中,如果查询与一个或多个查询模式中的查询模式匹配,则确定该查询隐式地关涉某个实体。在一些示例中,如果查询与查询模式不匹配,则确定该查询并非隐式地关涉某个实体。例如,来自上述示例的干净查询[ratings]可以与查询模式[*ratings]匹配。因此,可以确定查询[canyoupleaseshowmeratings]隐式地关涉某个实体。作为另一个示例,可以处理示例查询[canyoupleaseshowmeratingsforAwesomePizza(您可以给我看棒极了披萨的评级吗)],以提供干净的查询[ratingsAwesomePizza(评级棒极了披萨)]。可将干净的查询[ratingsAwesomePizza]与一个或多个查询模式进行比较,并且可确定干净的查询与一个或多个查询模式中的任何一个都不匹配。例如,词项“AwesomePizza”是特定于实体的,并且因此,不包括在任何查询模式中。因此,确定查询[canyoupleaseshowmeratingsforAwesomePizza]并非隐式地关涉某个实体。相反,在此示例中,查询[canyoupleaseshowmeratingsforAwesomePizza]显式地关涉实体,即AwesomePizza。在一些实施方式中,响应于确定查询隐式地关涉实体,可以确定提交查询的用户装置的近似位置。在一些示例中,可以基于一个或多个位置相关信号来确定近似位置。示例位置相关信号可包括蜂窝信号、全球定位系统(GPS)信号、无线信号(WiFi)等等。在一些示例中,通过查询来提供表示一个或多个位置相关信号的位置数据。在一些示例中,将位置数据提供给位置服务,该位置服务处理位置数据并提供用户装置的近似位置。在一些示例中,可将近似位置提供为地理坐标,例如经度、纬度。在一些实施方式中,响应于确定查询隐式地关涉实体,可以确定提交查询的用户装置的近似定向。示例定向可包括:装置指向的近似方向,例如罗盘方向;以及装置相对于水平面的近似倾斜。在一些示例中,可以基于一个或多个定向相关信号来确定定向。例如,装置的一个或多个传感器可以基于装置的定向提供相应信号。在一些示例中,装置可包括响应于地球磁场中的变化的磁力计以及响应于装置的移动的加速度计。可以处理来自磁力计的信号,以提供装置的近似罗盘方向,例如基于360°的度数,并且可以处理加速度计的信号,以提供装置相对于水平面的近似倾斜,例如在指示平行于水平面的0°与指示垂直于水平面的90°之间。在一些示例中,通过查询来提供表示罗盘方向和倾斜中的一个或多个的定向数据。在一些示例中,置信度得分可以与近似位置和/或近似定向相关联。在一些示例中,置信度得分表示分别关于近似位置或近似定向的准确性的确定性程度。在一些实施方式中,如果置信度得分不超过阈值置信度得分,则不解释查询。例如,如果与近似位置相关联的置信度得分没有超过阈值置信度得分,则不解释查询,例如不管近似定向的准确性如何。在一些示例中,时间可以与近似位置相关联。例如,位置服务可以提供近似位置以及与其相关联的时间。在一些示例中,时间指示确定用户装置将处于或者已经处于近似位置的近似时间。在一些实施方式中,如果近似位置没有被确定为足够新近,则不解释查询。在一些示例中,可以确定当前时间与关联于近似位置的时间之间的时间差,并且可将其与阈值差进行比较。在一些示例中,如果时间差超过阈值差,则确定近似位置不够新近。在一些示例中,将当前时间提供为从用户装置发送查询或通过搜索系统接收查询的时间。在一些实施方式中,基于近似位置和/或近似定向提供实体集合。例如,如果近似位置的置信度得分超过阈值置信度得分并且近似位置足够新近,则基于近似位置来提供实体集合。作为另一个示例,如果近似位置的置信度得分超过阈值置信度得分并且近似位置足够新近,并且近似定向的置信度得分超过阈值置信度得分,则基于近似位置和近似定向提供实体集合。在一些实施方式中,实体集合包括一个或多个实体。在一些实施方式中,并且如同本文进一步详细所述,实体集合包括被确定为足够接近近似位置的一个或多个实体,使得查询可以潜在关涉一个或多个实体。在一些实施方式中,基于相应实体相对于近似位置的位置,选择一个或多个实体以包括在实体集合中。在一些示例中,可以识别位置的阈值距离(例如阈值半径)内的实体,并将其包括在实体集合中。在一些示例中,基于近似位置来确定范围,并基于近似定向来扩展该范围的至少一部分。在一些示例中,并且如同本文进一步详细所述,被确定在该范围内的实体包括在实体集合中。例如,可将地理位置划分为包括多个小区的网格,例如正方形或矩形小区,每个小区占据地理位置的一个区域。基于近似位置提供的、并具有基于近似定向扩展的至少一部分的范围可以覆盖一个或多个小区或小区的多个部分。在一些示例中,每个小区与位于相应区域中的实体集合相关联。在一些示例中,可以识别至少部分地在该范围内的一个或多个小区,并且可以在小区列表中提供至少部分地在该范围内的一个或多个小区。在一些示例中,实体集合包括与小区列表中的小区相关联的所有实体。在图2的示例中,提供限定圆形范围222的阈值半径220。虽然示例范围222是圆形的,但是可以构想,该范围可包括任何适当的几何形状。在图2的示例中,范围222包括基于装置202的近似定向提供的扩展部分222'。在所示的示例中,扩展部分222'的形状近似为圆锥形,并基于扩展半径220'。例如,扩展半径220'可以在特定角度范围上扫过,例如在装置202的罗盘方向的每一侧的X°,以限定扩展部分222'。在图2的示例中,装置202具有大约270°的罗盘方向,例如正对西方,并且通过例如在270°的每一侧上30°将扩展半径220'从大约240°扫到270°来限定扩展部分222'。虽然如本文所述提供了扩展部分222',但是可以构想,本公开的实施方式不限于本文所述的特定示例。例如,可通过任何适当的形状来提供范围的扩展部分。在一些示例中,位于范围222内的实体(包括扩展部分222')包括在实体集合中。因此,在图2的示例中,实体“GreatHotel”204、实体“HorribleHotel”208、实体“Not-so-GreatHotel”206、以及实体“AwesomePizza”212包括在实体集合中。在图2的示例中,在没有扩展部分222'的情况下,本来只有实体GreatHotel204和实体AwesomePizza212包括在实体集合中。在一些示例中,可以向实体服务提供近似位置和近似定向,该实体服务处理近似位置并提供实体集合。在一些实施方式中,可以基于图像数据将一个或多个实体包括在实体集合中。如上所述,装置的倾斜可以相对于水平面,其中例如0°倾斜指示装置平行于水平面(例如是平坦的),而90°倾斜指示装置垂直于水平面。在一些示例中,将装置的近似倾斜与阈值倾斜进行比较。例如,阈值倾斜可以对应于用户使用该装置捕获图像(例如静止图像、视频图像)所在的倾斜。因此,大于阈值倾斜的倾斜指示装置如通常用于捕捉装置前面的场景的图像那样被定向。如果近似倾斜未超过阈值倾斜,则不获得图像数据。如果近似倾斜超过阈值倾斜,则获得图像数据。例如,操作相机(例如在没有用户输入的情况下自动操作)以获得表示场景的图像数据。在一些实施方式中,处理图像数据以识别图像中描绘的一个或多个实体。在一些示例中,将图像数据提供给将该图像数据与一个或多个图像模型进行比较的实体辨识服务,每个图像模型表示一个或多个实体。例如,每个图像模型可以与包括一个或多个实体的实体列表相关联。在一些示例中,可以基于近似位置来定义图像模型集合,并且图像模型集合可包括在近似位置的阈值距离内的一个或多个图像模型。例如,并且如上所述,可以为地理区域提供网格,并且网格可包括多个小区,例如正方形或矩形小区,每个小区占据地理位置的一个区域。在一些示例中,图像模型集合包括与上述小区列表中的小区相关联的所有图像模型。在一些实施方式中,可以基于将图像数据与图像模型集合中的图像模型进行比较来确定一个或多个实体。在一些示例中,将图像数据与图像模型进行比较,并提供得分,该得分指示图像数据和相应图像模型之间的相似性。如果得分未超过阈值得分,则图像数据不与图像模型充分相似。如果得分超过阈值得分,则图像数据与图像模型充分相似。因此,与相应图像模型相关联的实体列表中的实体包括在实体集合中。例如并参照图2,例如响应于确定装置202的近似倾斜超过阈值倾斜,可以自动获得图像数据。可以提供图像模型集合,每个图像模型对应于范围222和/或扩展范围222'。例如,图像模型可包括表示实体“HorribleHotel”208和实体“AcceptableHotel”210的图像数据,这些实体可以包括在与图像模型相关联的实体列表中。例如可通过实体辨识服务将图像数据与一个或多个图像模型进行比较,并且在该示例中,可以确定在图像数据中描绘了实体“HorribleHotel”208和“AcceptableHotel”210。因此,例如可以从实体辨识服务提供实体“HorribleHotel”208和“AcceptableHotel”210,用于潜在地包括在实体集合中。在一些实施方式中,如果从图像数据中确定的实体已经包括在实体集合中,则不再将该实体添加到实体集合中。如果从图像数据中确定的实体尚未包括在实体集合中,则将该实体添加到实体集合中。通过这种方式,实体集合包括多个独特的实体,例如,没有两个实体是相同的实体。在以上示例中,例如,因为实体“HorribleHotel”208至少部分地在扩展范围222'内,所以可以确定实体“HorribleHotel”208已经包括在实体集合中。因此,虽然在图像数据中描绘了实体“HorribleHotel”208,但是不再将其添加到实体集合中。另一方面,可以确定实体“AcceptableHotel”210尚未包括在实体集合中。因此,并且因为在图像数据中描绘了实体“AcceptableHotel”210,所以将其添加到实体集合中。在一些实施方式中,实体集合中的每个实体与相应类型相关联。在一些示例中,类型对应于与实体相关联的类别。例如,可以分别提供实体“GreatHotel”204、实体“HorribleHotel”208、实体“Not-so-GreatHotel”206作为类型[hotel(酒店)]。作为另一个示例,可以提供实体“AwesomePizza”212作为类型[restaurant(餐馆)]。在一些示例中,实体服务为实体集合中的每个实体提供相应类型。在一些示例中,根据存储关于相应实体的信息的实体图或数据库来确定实体的类型,如上所述。根据本公开的实施方式,对于实体集合中的每个实体,确定查询是否可以隐式地引用该实体。在一些示例中,可以选择实体集合中的一个或多个实体并将其包括在实体子集中。在一些实施方式中,基于类型来选择一个或多个实体以包括在实体子集中。在一些示例中,将实体的类型交叉引用到将类型与查询的相应n-gram相关联的索引。在一些示例中,n-gram包括查询的一个或多个词项。如果基于索引确定查询的一个或多个n-gram与类型相关,则认为该查询潜在地关涉相应实体,并将该实体添加到实体子集中。在一些实施方式中,基于对一个或多个搜索日志的分析来提供索引。在一些示例中,搜索日志提供所接收的查询的记录。在一些示例中,可以处理搜索日志以提供索引。例如,可以处理搜索日志以确定包括词项[menu(菜单)]的查询与类型[restaurant]相关。作为另一个示例,可以处理搜索日志以确定包括词项[reviews(评论)]的查询与类型[restaurant]、[hotel]、[movie(电影)]、[play(游戏)]、[store(商店)]、以及[serviceprovider(服务提供者)]相关。在一些示例中,可以提供索引以将词项[menu]与类型[restaurant]相关,以及将词项[reviews]与类型[restaurant]、[hotel]、[movie]、[play]、[store]、以及[serviceprovider]相关。在一些实施方式中,基于查询模式来选择一个或多个实体以包括在实体子集中。在一些示例中,对于实体集合中的每个实体,提供实体查询模式的集合。例如,可将实体索引到实体查询模式的数据库中存储的实体查询模式的集合。在一些示例中,实体查询模式的集合包括一个或多个实体查询模式。在一些实施方式中,实体查询模式表示已经为特定实体提交的一个或多个查询。在一些示例中,可以处理来自搜索日志的搜索查询以识别用于特定实体的实体查询模式。例如,可以考虑示例实体Alcatraz。可以从搜索日志中检索对于实体Alcatraz的示例查询,并且示例查询可包括[famousinmatesofalcatraz(恶魔岛的有名犯人)]、[whoescapedfromalcatraz(谁从恶魔岛逃跑了)]、以及[numberofinmatesatalcatraz(恶魔岛的犯人数)]。因此,可以提供一个或多个示例实体查询模式,它可以包括[famousinmates*]、[whoescapedfrom*]、和/或[numberofinmates*]。作为另一个示例并继续上文提供的图2的示例,可以在搜索日志中提供示例查询[ratingsforawesomepizza(棒极了披萨的评级)]、[awesomepizzaratings(棒极了披萨评级)]、[showmeawesomepizzarating(给我看棒极了披萨评级)],其显式地引用实体AwesomePizza。因此,可以为AwesomePizza提供一个或多个示例实体查询模式,其可包括[ratings]、[*ratings]、和/或[ratings*]。作为另一个示例,可以在搜索日志中提供示例查询[hasawesomepizzawonanyfoodawards(棒极了披萨赢得过任何食物奖项吗)]和[whendoesawesomepizzaopen](棒极了披萨什么时候开门),其显式地引用实体AwesomePizza。因此,可以为AwesomePizza提供一个或多个示例实体查询模式,其可以包括[*foodawards]和[when*open]。作为另一个示例,示例查询[howmanysuitesdoesgreathotelhave(很棒酒店有多少套套房)]、[howmanyconferenceroomsdoesgreathotelhave(很棒酒店有多少间会议室)]、以及[howcanImakeareservationatgreathotel(我如何在很棒酒店进行预定)]。因此,可以为GreatHotel提供一个或多个示例实体查询模式,其可以包括[howmanysuites*]、[howmanyconferencerooms*]、以及[reservation*]。在一些示例中,如果已经为实体提交特定查询达阈值次数,则提供用于特定查询和实体的实体查询模式。例如,可以从搜索日志中确定已经将查询[whoescapedfromalcatraz]例如提交给搜索服务X次,并且X超过阈值次数。因此,可以在与实体Alcatraz相关联的实体查询模式的集合中提供实体查询模式[whoescapedfrom*]。作为另一个示例,例如可以从搜索日志中确定已经将查询[alcatrazgiftshop(恶魔岛礼品店)]例如提交给搜索服务Y次,并且Y不超过阈值次数。因此,在与实体Alcatraz相关联的实体查询模式的集合中不提供用于查询[alcatrazgiftshop]的实体查询模式。在一些实施方式中,将查询的查询模式与用于实体集合中的每个实体的实体查询模式的集合中的每个实体查询模式进行比较。在一些示例中,如果查询的查询模式与关联于实体的实体查询模式匹配,则该实体包括在实体子集中。例如,可以提供查询[howmanysuitesdoesithave(它有多少套套房)],并且可以提供实体集合,除了其他实体(例如AwesomePizza)之外,它包括GreatHotel。用于查询的查询模式可以提供为[howmanysuites*]。与实体GreatHotel相关联的实体查询模式的集合可包括示例实体查询模式[howmanysuites*]。可以确定查询的查询模式与实体GreatHotel的实体查询模式匹配。因此,实体GreatHotel包括在实体子集中。在一些实施方式中,如果实体子集包括多个实体,则从实体集中选择实体。在一些示例中,基于实体的相应属性来选择实体。示例属性可包括评论评级和受欢迎度。例如,可以确定实体子集中的所有实体是否包括至少一个共同的属性,例如,每个实体具有与其相关联的评论评级。在一些示例中,可以为实体子集中的每个实体提供公共属性的属性值,并选择具有最高属性值的实体。例如,选择具有最高评论评级的实体。作为另一个示例,选择具有最高受欢迎度的实体。在一些示例中,基于一个或多个先前选择的实体来选择实体。例如,当在实体子集中提供多种类型的实体时,可以使用先前选择的实体的类型来选择实体。例如,除了其他类型之外,查询[showmereviews(给我看评论)]可以与类型[restaurant]以及[hotel]相关,并且实体子集可包括类型[restaurant]和[hotel]的实体。可以确定用户先前选择的实体是类型[hotel]。因此,从实体子集中选择类型[hotel]的实体。在一些实施方式中,用户从实体子集中选择实体。例如,响应于确定实体子集包括两个或更多个实体,可以向用户显示界面,并且该界面可以包括两个或更多个实体中的每个实体的图形表示。在一些示例中,用户使用界面选择实体,并基于用户选择的实体提供修正查询。在一些实施方式中,基于查询和从实体子集中选择的至少一个实体来提供修正查询。在一些示例中,如果实体子集包括单个实体,则选择该实体。在一些示例中,通过重写查询以显式地引用所选择的实体来提供修正查询。在一些示例中,修正查询显式地命名实体。在一些示例中,修正查询包括分配给实体的独特标识符。在一些实施方式中,将修正查询提供给搜索服务。例如,可通过图1的搜索服务120处理修正查询。在一些示例中,搜索服务提供响应于修正查询的搜索结果,该搜索结果被显示给用户。例如,可以基于修正查询来提供图1的搜索结果112。基于图2的示例使用情况,参考示例更详细地描述本公开的实施方式。参照图2并且在一个示例中,从用户装置202接收搜索查询[hasthisplacewonanyfoodawards(这个地方赢得过任何食物奖项吗)]。确定实体“GreatHotel”204、实体“Not-so-GreatHotel”206、实体“HorribleHotel”208、以及实体“AwesomePizza”212至少部分地在包括扩展部分222'的范围222内。因此,实体“GreatHotel”204、实体“Not-so-GreatHotel”206、实体“HorribleHotel”208、以及“AwesomePizza”212包括在实体集合中。在该示例中,确定查询[hasthisplacewonanyfoodawards]的查询模式被提供为[*foodawards]。提供用于实体“GreatHotel”204的实体查询模式的集合、用于实体“Not-so-GreatHotel”206的查询模式的集合、用于实体“HorribleHotel”208的查询模式的集合、以及用于实体“AwesomePizza”212的实体查询模式的集合。确定查询的查询模式[*foodawards]与在关联于实体“AwesomePizza”212的实体查询模式的集合中的实体查询模式(例如[*foodawards])匹配。因此,实体“AwesomePizza”212包括在实体子集中。确定查询的查询模式[*foodawards]与分别关联于实体“GreatHotel”204、实体“Not-so-GreatHotel”206、以及实体“HorribleHotel”208的实体查询模式的集合中的实体查询模式不匹配。因此,实体“GreatHotel”204、实体“Not-so-GreatHotel”206、实体“HorribleHotel”208不包括在实体子集中。确定实体“AwesomePizza”212是实体子集中的仅有实体。因此,选择实体“AwesomePizza”212,并修正查询,以提供显式地引用实体“AwesomePizza”212的修正查询(例如[awesomepizzafoodawards(棒极了披萨食物奖项)])。可将修正查询提供给搜索服务,并且可以接收响应于修正查询的搜索结果。在另一个示例中并继续参考图2,接收搜索查询[showmeroomrates(给我看房价)],并确定实体“GreatHotel”204、实体“Not-so-GreatHotel”206、实体“HorribleHotel”208、以及实体“AwesomePizza”212至少部分地在包括扩展部分222'的范围222内。因此,实体“GreatHotel”204、实体“Not-so-GreatHotel”206、实体“HorribleHotel”208、以及实体“AwesomePizza”212包括在实体集合中。在该示例中,确定查询与查询模式[roomrates(房价)]相关联。提供用于实体“GreatHotel”204的实体查询模式的集合、用于实体“Not-so-GreatHotel”206的实体查询模式的集合、用于实体“HorribleHotel”208的查询模式的集合、以及用于实体“AwesomePizza”212的实体查询模式的集合。确定查询的查询模式[roomrates]与在关联于实体“GreatHotel”204、“Not-so-GreatHotel”206、以及“HorribleHotel”208的实体查询模式的相应集合中的实体查询模式(例如[roomrates])匹配。因此,实体“GreatHotel”204、“Not-so-GreatHotel”206、以及“HorribleHotel”208包括在实体子集中。此外在该示例中,确定查询的查询模式与关联于实体“AwesomePizza”212的实体查询模式的集合中的任何实体查询模式不匹配。因此,实体“AwesomePizza”212不包括在实体子集中。可以确定实体子集包括多个实体,例如“GreatHotel”204、“Not-so-GreatHotel”206、“HorribleHotel”208。作为响应,可以选择一个实体。在该示例中,可以确定实体具有至少一个共同的属性。例如,实体集合中的每个实体具有与其相关联的评论评级。因此,可以基于公共属性选择实体。在该示例中,实体“GreatHotel”204具有比实体“Not-so-GreatHotel”206以及实体“HorribleHotel”208更好的评级。作为响应,可以选择实体“GreatHotel”,并且可以重写查询以显式地引用实体“GreatHotel”。例如,可以重写查询[showmeroomrates]以提供修正查询[roomratesGreatHotel]。可将修正查询提供给搜索服务,并且可以接收响应于修正查询的搜索结果。图3描绘可根据本公开的实施方式执行的示例过程300。示例过程300例如可通过图1的示例环境100,例如搜索系统120和/或查询解释系统130实施。在一些示例中,示例过程300可通过利用一个或多个计算装置执行的一个或多个计算机可执行程序提供。接收查询Q(302)。例如,搜索系统120和/或查询解释系统130从用户装置106、202接收查询。接收位置数据(304)。例如,搜索系统120和/或查询解释系统130从用户装置106、202接收位置数据。在一些示例中,可通过查询提供位置数据。基于位置数据接收实体集合(306)。在一些示例中,确定在用户装置106、202的范围内的实体e,并将其包括在实体集合中。在一些示例中,范围包括基于定向(例如装置的罗盘方向)的扩展部分。在一些示例中,基于响应于装置的定向(例如倾斜)获得的图像数据来提供实体集合中的至少一个实体。在一些示例中,实体集合包括m个实体,其中m大于或等于1。将计数器i设置为等于1(308)。确定查询Q是否隐式地关涉实体ei(310)。在一些示例中并且如本文所述,如果与查询Q相关联的查询模式与关联于实体ei的实体查询模式匹配,则确定查询Q潜在地隐式地关涉实体ei。如果确定查询Q隐式地关涉实体ei,则实体ei包括在实体子集中(312)。如果没有确定查询Q隐式地关涉实体ei,则实体ei不包括在实体子集中,并确定计数器i是否等于m(314)。如果计数器i不等于m,则并非已考虑实体集合中的所有实体。因此,将计数器i递增(316),并且示例过程300循环回来。如果计数器i等于m,则已考虑了实体集合中的所有实体,并且确定实体子集是否包括多个实体(318)。如果实体子集不包括多个实体,则基于该实体重写查询Q以提供修正查询(320)。如果实体子集包括多个实体,则选择实体(322),并且基于该实体来重写查询Q以提供修正查询(320)。在一些示例中并且如本文所述,基于多个实体的一个或多个相应属性(例如评级、受欢迎度)来选择实体。如本文所述,例如通过搜索服务120使用修正查询,以响应于查询Q来提供搜索结果。图4描绘可根据本公开的实施方式执行的示例过程400。示例过程400例如可通过图1的示例环境100,例如搜索系统120和/或查询解释系统130实施。在一些示例中,示例过程400可通过利用一个或多个计算装置执行的一个或多个计算机可执行程序提供。接收查询(402)。例如,搜索系统120和/或查询解释系统130从用户装置106、202接收查询。确定查询是否隐式地关涉某个实体(404)。例如,可以确定查询与指示该查询隐式地关涉某个实体的查询模式相关联。如果确定查询不是隐式地关涉某个实体,则基于该查询来提供搜索结果(406)。例如,搜索系统120可以接收响应于查询的搜索结果,并且可以向用户装置106、202提供搜索结果。如果确定查询隐式地关涉某个实体,则获得用户装置的近似位置和近似定向(408)。例如,搜索系统120和/或查询解释系统130从用户装置106、202接收位置数据和定向数据。在一些示例中,可通过查询提供位置数据和/或定向数据。获得实体集合(410)。例如,实体集合包括分别在用户装置106、202的近似位置的范围内的一个或多个实体,该范围包括基于装置的定向的扩展部分。确定查询隐式地关涉实体集合中的实体(414)。例如,选择实体,因为实体集合仅包括该实体。作为另一个示例,基于实体集合中的多个实体的一个或多个相应属性(例如评级、受欢迎度)来选择实体。提供修正查询(416)。例如,重写查询以显式地引用实体。基于修正查询提供搜索结果(418)。例如,搜索系统120可以接收响应于修正查询的搜索结果,并且可以向用户装置106、202提供搜索结果。在本说明书中所述主题和操作的实施方式可以在数字电子电路中或在计算机软件、固件、或硬件中实施,包括本说明书中公开的结构及其结构等同物,或者它们的一个或多个的组合。在本说明书中所述主题的实施方式可以利用在计算机存储介质上编码的用于通过数据处理装置执行或控制数据处理装置的操作的一个或多个计算机程序,即计算机程序指令的一个或多个模块来实现。替代性或附加性地,程序指令可以在人工生成的传播信号(例如机器生成的电、光或电磁信号)上编码,所述信号被生成以对信息进行编码,以传输到合适的接收机设备,用于通过数据处理设备执行。计算机存储介质可以是或者包括在计算机可读存储装置、计算机可读存储衬底、随机或串行存取存储器阵列或装置、或它们的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。此外,计算机存储介质可以是或者包括在一个或多个单独的物理组件或介质(例如,多个CD、盘、或其他存储装置)中。在本说明书中所述的操作可以被实施为通过数据处理装置对存储在一个或多个计算机可读存储装置上或从其他源接收的数据进行的操作。术语“数据处理设备”包括用于处理数据的所有种类的设备、装置和机器,作为示例,包括可编程处理器、计算机、片上系统、或上述的多个或组合。设备可包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可包括为所考虑的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机、或它们的一个或多个的组合的代码。设备和执行环境可以实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。计算机程序(也称为程序、软件、软件应用、脚本、或代码)可以以任何形式的编程语言编写,包括编译或解释语言、声明性或过程语言,并且它可以按照任何形式部署,包括作为独立程序或作为适合于在计算环境中使用的模块、组件、子例程、对象、或其它单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如存储在标记语言文档中的一个或多个脚本)、存储在专用于所考虑的程序的单个文件中、或者存储在多个协同文件中(例如存储一个或多个模块、子程序、或代码的多个部分的文件)。可将计算机程序部署为在一个计算机上执行,或者在多个计算机上执行,所述多个计算机位于一个地点或者分布在多个地点并通过通信网络互连。本说明书所述过程和逻辑流程可通过执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来进行动作。过程和逻辑流程也可通过专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))进行,并且设备也可以实施为专用逻辑电路。适合于执行计算机程序的处理器例如包括通用和专用微处理器以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可包括用于根据指令进行动作的处理器以及用于存储指令和数据的一个或多个存储器装置。通常,计算机还包括用于存储数据的一个或多个大容量存储装置,例如磁盘、磁光盘、或光盘,或者可操作地耦合以从其接收数据或向其传送数据,或两者。但是计算机不需要具有这样的装置。此外,可将计算机嵌入另一个装置中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器、或便携式存储装置(例如通用串行总线(USB)闪存驱动器),仅举几个例子。适合于存储计算机程序指令和数据的装置包括所有形式的非易失性存储器、介质和存储器装置,作为示例,包括半导体存储器装置,例如EPROM、EEPROM和闪存装置;磁盘,例如内部硬盘或可移除盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可通过专用逻辑电路补充,或并入专用逻辑电路中。为了提供与用户的交互,本说明书所述主题的实施方式可以在具有用于向用户显示信息的显示装置(例如CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可由其向计算机提供输入的键盘和点击装置(例如鼠标或轨迹球)的计算机上实施。其他类型的装置也可以用于提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈、或触觉反馈;并且可以按照任何形式接收来自用户的输入,包括声音、语音、或触觉输入。另外,计算机可通过向用户使用的装置发送文档以及从用户使用的装置接收文档来与用户交互;例如,通过响应于从用户的客户端装置上的web浏览器接收的请求,将网页发送到该web浏览器。本说明书所述主题的实施方式可以在包括后端组件(例如作为数据服务器)或包括中间件组件(例如应用服务器)或包括前端组件(例如具有图形用户界面或web浏览器的客户端计算机,用户可由其与本说明书所述主题的实施方式交互)的计算系统中实施,或者在包括这种后端组件、中间件组件、或前端组件的任何组合的计算系统中实施。系统的组件可通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互连网络(例如因特网)、以及对等网络(例如hoc对等网络)。计算系统可包括客户端和服务器。客户端和服务器通常相互远离且一般通过通信网络交互。客户端与服务器的关系通过在相应计算机上运行并相互具有客户端-服务器关系的计算机程序产生。在一些实施方式中,服务器向客户端装置传输数据(例如HTML页面)(例如为了向与客户端装置交互的用户显示数据和从用户接收用户输入)。可以在服务器处从客户端装置接收在客户端装置处生成的数据(例如用户交互的结果)。虽然本说明书包含很多具体实施方式细节,但是它们不应解释为对本公开的任何实施方式或要求保护的范围的限制,而是被解释为对示例实施方式特定的特征的描述。在单独实施方式的背景下本说明书中描述的某些特征也可以在单个实施方式中以组合实施。相反,在单个实施方式的背景下描述的各种特征也可以在多个实施方式中单独地或者按照任何合适的子组合来实施。此外,虽然上面可将特征描述为在某些组合中起作用并且甚至最初这样要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从组合中删除,并且所要求保护的组合可以涉及子组合或子组合的变型。类似地,虽然在附图中按照特定顺序描绘操作,但是不应将其理解为要求按照所示的特定顺序或者按照依次顺序进行这些操作,或者进行所有示出的操作,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,在上述实施方式中各种系统组件的分离不应理解为在所有实施方式中需要这种分离,并且应当理解,所述程序组件和系统通常可以一起集成在单个软件产品中或者封装在多个软件产品中。因此,描述了主题的特定实施方式。其他实施方式落入所附权利要求书的范围。在一些情况下,可以按照以不同的顺序进行权利要求中记载的动作并仍然实现期望的结果。此外,附图中所描绘的过程不一定需要所示的特定顺序或依次顺序来实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1