地理编码多实体查询的制作方法

文档序号:11288622阅读:321来源:国知局
地理编码多实体查询的制造方法与工艺



背景技术:

地图服务应用允许用户搜索地图上的实体(例如,位置)。例如,用户可能想要找到特定的地图位置。用户可以例如经由网络地图服务应用输入待由地图地理编码器确定的搜索查询,并且地图地理编码器可以返回最可能的位置(例如,网络地图服务应用可以在地图视图上显示最可能的位置)。一般而言,地图地理编码器可以针对每个搜索查询解析单个实体。

对于更复杂的查询,例如,包含多于一个实体的查询,可以提供一种机制来执行多实体查询搜索。多实体查询搜索方案的例子包括:(1)预索引(例如,将主要的街道岔口作为单独的实体进行存储);(2)利用形式语法来为搜索查询定义静态查询模式,并为该查询模式的每个查询段发布单独的查询。



技术实现要素:

提供该"发明内容"是为了以简化方式引入在下文详细描述中进一步描述的概念的选择。该"发明内容"并不旨在标识所要求保护技术主题的关键特征或必要特征,也不旨在单独用作帮助确定所要求保护技术方案的范围。

本发明的各方面指向解析用于地图应用的多实体查询。例如,用户可以向地图应用输入包含多于一个实体的搜索查询。基于搜索查询,可以识别地图瓦片(例如,预先定义的地图区域)。利用识别出的地图瓦片,可以为搜索查询确定有效查询模式。对于每个有效查询模式,可以计算出可能分数,并且可以对可能分数进行排序。然后,可以从具有最高可能分数的查询模式开始,来计算有效查询模式的实际分数(例如,通过地理空间布置因子减小的可能分数)。当计算出有效查询模式的实际分数大于剩余有效查询模式的可能分数时,可以基于具有最高实际分数的有效查询模式返回结果。

附图说明

下面将参考附图详细描述本发明的各方面,其中:

图1是适于实现本发明各方面的示例性计算环境的框图;

图2是根据本发明的一个方面的用于解析多实体地理编码查询的查询环境的图;

图3是示出根据本发明的一个方面的解析多实体地理编码查询的方法的流程图;

图4是示出根据本发明的另一方面的解析多实体地理编码查询的方法的流程图;

图5是示出根据本发明的另一方面的解析多实体地理编码查询的方法的流程图;

图6是根据本发明的一个方面的描绘包括交叉街道和商业名称的多实体地理编码查询的结果的地图的例子;以及

图7是根据本发明的一个方面的描绘包括两条非交叉街道的多实体地理编码查询的结果的地图的例子。

具体实施方式

这里通过特异性描述本发明的各方面的技术方案以满足法定要求。然而,描述本身不旨在限制本专利的范围。而是,发明人已经料想到,结合其它当前或将来的技术,所要求保护的技术方案还可以以其它方式具体体现,以包括不同的步骤或类似于在本文中描述的那些步骤的组合。此外,虽然这里可以使用术语“步骤”和/或“框”来表示所采用方法的不同元素,但是这些术语不应该被解释为暗示本文公开的各种步骤当中或之间的任何特定次序,除非以及除了明确描述了各个步骤的次序。

响应于包含与两个或更多实体相关联的搜索项的查询提供搜索结果可能面临多种挑战。如下所述,本文使用的实体可以指适于在地图视图中显示的任意类型的特征或对象。一些困难可能涉及确定哪些类型的结果响应于查询。例如,如果根据传统的搜索方法处理查询,则最后的结果可能是针对查询的最高排名的响应结果(例如,匹配搜索项的文件),其主要或甚至排他地与包含于搜索项中的实体中的仅仅一个相关。在期望提供地图视图作为响应于查询的结果的一部分的情况下,该问题可能被放大。根据传统的搜索方法,作为结果的一部分被呈现的地图视图可能集中于仅一个实体而排除了包含于搜索项中的其它实体。

一个替代可以是分割查询,以便识别在查询的搜索项中的多个实体的存在。然而,在不知道在何处分割搜索查询以便识别多个实体的情况下,从计算成本的立场来看,处理可能的段组合以试图识别多个实体可能是禁止的。对于与在广域网上通常可用的大文档语料库类型相关的搜索查询,该问题可能被放大。

已经使用了不同的策略来降低为地图上的多实体查询花费的时间和消耗的计算资源。例如,可以使用预定规则来将查询划分为多个子查询,其中为每个子查询运行操作,并且地图地理编码器为每个子查询返回单个实体。然而,这可能是计算昂贵的,因为必须为每个子查询运行操作。作为另一例子,还可以使用覆盖流行的多实体查询的规则,例如查找表。例如,系统可以查找模式“[business][adjective][city]”,保持已知商业名称和重要城市的索引。然而,与该模式不匹配的查询将默认为单实体查询或需要替代的搜索策略。

对于包含还涉及位置的两个或更多实体的查询,例如地图视图是期望的结果的查询,搜索空间访问树(例如,kd树、r树)可能导致较慢的响应时间。需要针对多于一个实体进行空间搜索的具有模糊位置的查询是昂贵的,并且传统上并不利用空间搜索被处理或利用适于针对单个实体的查询的策略被搜索。预先物化的流行多实体查询(例如,在大城市中主要的街道岔口)要求将多实体查询作为额外的条目添加到索引上,并且仅那些被添加的多实体查询被正确解析。当响应于搜索查询的结果不对应于特定位置(例如,非交叉街道)或具有多个可能位置(例如,“靠近理发店的披萨商店”)时,所有前述方法也会遇到问题。

本发明的各方面涉及解析多实体地理编码查询。根据本发明的方面,可以利用传统的搜索策略识别地图的瓦片。例如,反向索引可以用于确定搜索查询的搜索项是否对应于针对特定地图瓦片发现的实体。这允许搜索空间被限制到单个瓦片(或有限数量的瓦片),大大减少了待检查的实体组合的可能数目。

一旦识别了瓦片,就可以基于识别出的瓦片为搜索查询确定可能的查询模式。可以基于第一组排名因子为每个查询模式执行初始计算以获得可能分数。在一些方面,第一组排名因子可以是有限的因子集合,例如静态排名(即,基于识别出的实体具有静态值的一个或多个因子)、文本因子(即,涉及查询的文本的因子)、位置因子(即,涉及位置的因子)或其组合。在这些方面,与计算实际分数相比,计算可能分数可以更快且消耗更少的计算资源。例如,可以在不考虑要求更密集计算的因子(例如,涉及实体之间的地理距离的因子)的情况下计算查询模式的可能分数。

在一些方面,在考虑额外的排名因子之后,查询模式的可能分数可能具有与查询模式的实际分数的预定关系。例如,可以选择实际分数的因子来包括可能分数的所有因子加上一个或多个额外因子(例如,基于地理或距离的因子)。一个或多个额外因子可以都对应于导致查询分数的相同类型的修改的因子。例如,可以将基于距离的因子定义为随着与该因子相关的距离增加而对实际分数具有更大的消极影响。基于距离的因子可以与以下对应:对应于搜索查询中的查询模式的多个实体之间的距离,实体和与提交搜索查询的用户相关联的位置之间的距离,或者任意其它类型的基于距离的因子。基于该类型的定义,将基于距离的因子添加到可能分数的计算导致小于或等于可能分数的实际分数。利用一个或多个额外因子的类似类型的定义,可以提前知道或预先定义定在包括一个或多个额外因子之后查询模式的可能分数将大于或等于实际分数。

可以基于与每个查询模式相关联的可能分数对查询模式进行组织或排序。然后,可以计算查询模式的实际分数。在一些实施例中,计算查询模式的实际分数的顺序可以基于在查询模式的可能分数和实际分数之间的预定关系。例如,如果已知查询模式的可能分数大于或等于实际分数,则可以以某种次序计算实际分数,使得首先计算具有较高可能分数的查询模式的实际分数。通过该类型的策略,一旦为查询模式计算出的实际分数大于所有不具有计算出的实际分数的剩余查询模式的可能分数,就可以将该查询模式识别为具有最高实际分数。这可以提供在确定查询模式的排名时大量的节约。作为另一例子,可以通过可能分数(例如,利用桶排序)分组查询模式,并且可以为分组计算实际分数,其中具有最高值的分组中的查询模式被首先计算。作为另一例子,可以确定最高可能分数,并且可以为具有最高可能分数的特定范围内的可能分数的查询模式计算实际分数。应该理解的是,虽然上述例子示出了确定查询模式以用于计算实际分数的各种方式,但是也可以使用确定查询模式以用于计算实际分数的其它方法。

由于计算实际分数在计算上可能是昂贵的,所以可能期望限制执行的计算的数目,例如,通过只在实际分数可能高于剩余可能分数的模式(即,尚未通过实际分数记分的模式)上执行计算。例如,实际分数可以是通过由在查询模式中的实体的地理空间布置确定出的因子减小的可能分数的计算。在该例子中,由于实际分数不能大于可能分数,所以不需要计算具有小于最高实际分数的可能分数的查询模式。然而,可能还期望的是,计算具有在最高实际分数的特定范围内的可能分数的查询模式的实际分数。例如,为了返回多个结果,可以为查询模式继续计算实际分数,直到可能分数在最高实际分数的特定范围之下。这将允许多个结果的地图或返回多于一个的位置对用户是可接受的结果。

之后可以返回基于具有最高实际分数的查询模式的结果。具有最高实际分数的查询模式可能是期望的结果,因为没有其它查询模式可能返回更高的分数(因为可能分数是最大分数)。该配置提供了在不具有特殊语法(自由文本搜索)的情况下更快(例如,实时地)地将查询解析到一个或多个地理编码实体的查询的能力。此外,该配置增加了用户效率并减小了网络带宽使用,因为能够执行更少的查询来获得期望的搜索结果。虽然描述了返回基于具有最高实际分数的查询模式的结果,但是无需如此。例如,可以返回具有超过阈值的实际分数的查询模式。每个返回的查询模式可以单独显示在地图视图上或显示在同一地图视图上。

注意,可以结合有序的查询模式使用多种计算策略。一种策略可以是连续计算尚不具有对应的实际分数的最高可能分数的实际分数。作为另一类策略,可以选择有序查询模式的序列来计算实际分数。可以以交替次序计算序列中的查询模式的实际分数。例如,查询模式中实体的数目可以用于确定计算实际分数的次序。最终目的仍是识别大于任何剩余可能分数的实际分数,但是在这类方面,实际分数的计算次序可能发生变化。在其它方面,可以同时进行多个计算,并且在实际分数超过最高可能分数或剩余可能分数时可以返回结果。在任意计算策略中,可以实现资源节省,因为不需要计算所有查询模式的实际分数。更一般地,可以选择计算实际分数的多种方法,同时仍本质上保持可能分数和实际分数之间的预定关系的益处,以减少计算成本。定义

本文使用的“实体”可以指能够被表示以在地图视图中显示的任意类型的特征或对象。地图视图中的一些类型的实体可以指传统的地图特征,例如,街道、建筑物、公园、地标或其它地理特征。地图视图中的其它类型的实体可以对应于基于包含图标或其它符号而显示的实体。例如,可以使用图钉(pushpin)或其它符号来表示地图上实体的位置。由图标或符号表示的实体可以对应于传统的地图特征,或者实体可以对应于可以与位置相关联的任何其它特征。因此,实体可以是餐厅、公交车站、过去或将来事件的位置、或可以与地图视图中的位置相关联的另一特征。在一些方面,实体可以对应于当前存在于由地图视图表示的对应实际位置处的物理实体,或者实体可以对应于在过去或将来时间与位置相关联的临时实体。如本文使用的术语“多实体地理编码查询”指的是包含给定查询的两个或更多实体的查询。例如,多实体地理查询“bakerst和mainst”可以分裂为“bakerst”和“mainst”或者“baker”“st”和“mainst”等。

如本文使用的术语“有效查询模式”指的是多实体地理编码查询的分割,其中每个段对应于可以在地图瓦片中找到的至少一个实体。例如,地理编码查询“bakerst和mainst”可以产生有效查询模式“[bakerst][mainst]”。然而,查询模式“[bakerst][and][mainst]”可以被认为是无效的,因为“[and]”在地图瓦片上可能不具有对应的实体。此外,虽然一些术语例如“st”在地图瓦片上可以具有对应的实体,但是例如“[baker][st][mainst]”的模式可能被发现是无效的,因为“[st]”不能提供足够的描述或者具有小的值(即,“st”可以指代地图瓦片上任何的街道)。

术语“瓦片”或“地图瓦片”指的是地图视图的具有预定形状和尺寸的预先定义的区域。例如,瓦片可以是中心在特定位置或在特定坐标的2kmx2km的正方形。在一些例子中,瓦片在地图视图上不重叠。例如,瓦片可以形成覆盖地图视图的区域的网格模式。瓦片不限定于特定尺寸和/或形状,并可以是任何预先可确定的尺寸和形状。此外,瓦片在尺寸和/或形状上不需要是一致的,每个瓦片可以具有不同的尺寸和/或形状。

如本文使用的,“实时”指的是用户感觉到操作是立即或在非常短的时段(例如,<50ms)内被执行的情形。应当注意,实时操作来自用户的感觉而不是来自计算设备或系统的感觉。

多实体查询

用户可能希望利用两个或更多实体搜索地图上的多个实体或单个位置。例如,用户可能希望基于多于一个搜索项找到位置。因此,用户可以提交具有多于一个搜索项的搜索查询以供地图服务应用执行搜索。地图服务应用是可以采用搜索项并返回以对应于搜索项的实体为中心的地图视图的应用。

可以基于搜索查询识别地图视图中的瓦片。例如,可以利用传统的搜索能力(例如,利用反向索引)来识别瓦片,以获得最可能的瓦片(即,具有最高排名或分数的瓦片)。可以将最高排名的结果识别为期望的瓦片。

接下来,可以确定搜索查询的有效查询模式。对于包括多个实体的查询,当查询的每个搜索项对应于可以在识别出的地图瓦片中找到的实体时,可以将查询模式认为是有效的。例如,可以将搜索查询划分为搜索项,并且可以分析每个搜索项以确定其是否解析为识别出的瓦片上的至少一个实体(即,搜索项对应于识别出的瓦片上的实体)。如果每个搜索项解析为识别出的瓦片上的至少一个实体,则可以确定这些实体是否驻留在同一子瓦片上。当搜索查询的搜索项对应于识别出的瓦片上的实体并且这些实体在同一子瓦片上被发现时,可以认为查询模式是有效的。

接下来,可以计算每个有效查询模式的可能分数。例如,可以基于确定出的有效查询模式的每个实体的静态排名、文本因子、以及位置因子,计算每个有效查询模式的可能分数。

接下来,可以按照值对有效查询模式的可能分数进行排序。这允许具有较高可能分数的查询模式比具有较低可能分数的查询模式更早地被检查。然而,不必对查询模式进行排序。例如,如果可以确定出最高可能分数,则可以以任何次序计算实际分数。一旦实际分数超过剩余查询模式的最高可能分数,则不需要进一步的计算。

接下来,可以计算有效查询模式的实际分数。例如,有效查询模式的实际分数可以是按照基于距离的因子(例如,地理空间并置因子)减小的、该模式的可能分数。基于距离的因子可以与有效查询模式的实体之间的cartesian距离相关。例如,可以将基于距离的因子定义为随着与该因子有关的cartesian距离增加而具有增加的负值。因为与计算可能分数相比,计算实际分数(例如,计算实体之间的cartesian距离)在计算上是昂贵的,所以通过仅计算具有高的可能分数的查询模式的实际分数,可以减少计算昂贵的计算的数目。特别地,仅需要检查可能分数大于计算出的最高实际分数的有效查询模式。对于可能分数小于最高实际分数的查询模式,不需要计算实际分数,因为实际分数不可能超过可能分数(因为实际分数是由地理空间布置因子惩罚的可能分数)。

接下来,返回基于对应于最高实际分数的有效查询模式的结果。例如,所述结果可以作为图像、地图视图上的重叠、或表示网格上实体的任何其它格式而被返回。在其它实施例中,可以以便于例如地图服务应用显示返回的结果的格式来返回所述结果。

查询模式

在示例性实施例中,可以通过以下等式表示搜索查询:

其中表示搜索查询,且q1q2..qn表示在搜索查询中的每个项。查询可以匹配一组实体。例如,如果查询具有四个项,则查询可以匹配一个实体位于彼此附近的两个实体或其它实体。例如,查询“gearyblvd和franklinst”匹配具有两个实体的集合,即表示sanfrancisco,ca的区域的瓦片上的实体e1=“gearyblvd,sanfrancisco,ca”以及e2=“franklinst,sanfrancisco,ca”。

项[qlql+1…qk]的连续子集可以被称作查询子段或搜索项,并且下标1…n划分为连续的子段或搜索项可以被称作查询模式或模式。模式可以被表示为其中每个pj=[l…k],l=l(j),k=k(j),对应于被表示为q[pj]=[ql…qk]的查询子段或搜索项的下标。例如,对于四项查询,模式看起来可以像wherep1=[123]并且p2=[4]。那么,q[p1]=[q1q2q3]并且q[p2]=[q4]。在任一实施例中,术语“子段”、“段”和“搜索项”可以互换地使用。应该理解的是,术语“子段”和“段”指的是搜索查询的一部分而并不表示例如不同长度的段。应该理解的是,术语“搜索项”指的是搜索查询的一部分而并不表示包括搜索查询的个体词语。

如果每个对应的查询段可以由布置的实体的集合匹配,则可以实现模式。这可以被表示为:

在示例性实施例中,可以在有序树数据结构中组织模式。根节点包含一元素模式如果实现了该模式,则不需要要求其它搜索,因为查询解析为匹配所有查询项的单个实体查询。可以将一元素模式分裂成n-1个二元素孩子模式p=([1…j][j+1…n]),j<n,每个包括两个下标子段。这些模式潜在地对应于二实体方案。每个二元素孩子模式还可以通过划分其最右的子段而被分裂为n-j-1个孩子。在一些实施例中,模式最多可以具有smax个子段。

对于具有n项且smax=3的查询,查询模式的总数目等于1+(n-1)+(n-1)(n-2)/2。例如,对于n=10,总共有46个模式。这允许进一步减少计算时间和资源,因为我们能够修剪包含多于三个子段的节点。然而,如果期望更深的搜索(即,更多的子段),则smax可以大于三。

有效查询模式

在示例性实施例中,有效查询模式指的是可能实现的模式。为了有效,模式需要满足两个条件:(1)每个查询子段必须具有与其匹配的实体;以及(2)这样匹配的实体的至少一个组合必须驻留在共同子瓦片中。

是匹配q[pj]的实体集合。当且仅当才满足条件1。

为了检查条件2,可以使用空间位掩码。对于属于瓦片的每个实体e,可以保持空间位掩码b(e),其指示该实体的位置是否与给定瓦片的特定子瓦片相交。例如,对于具有256个子瓦片的瓦片,每个b(e)具有256位。与ej中的至少一个实体相交的所有子瓦片的并集具有空间位掩码:

如果交集是空的(所有位是0),则模式不能被实现,因为不能并置来自ej的实体的任何组合。

因此,如果(1)对于所有j=1:s,集合以及(2)那么模式p是有效的。

应该理解的是,条件2用于减少模式的数目,并且通过实现条件1,模式p可以是有效的。例如,如果实体不需要驻留在同一子瓦片并且模式实现条件1,则模式可以用于提供期望的搜索结果。

总之,为了发现有效模式:

如果对于一些j<s,则模式是无效的,并且在之下的整个模式树分支也是无效的,因此可以将其剪去。另外,如果子段pj具有空集ej,则任何其它子段也如此,使得

当构造ej时,可以使用反向索引中的项。例如,对于项q的反向索引,可以连同所有的实体文档e1…em(q)一起存储位掩码b(q)=b(e1)∪…∪b(em(q))。令当为输入查询的子段构造列表时,可以将构造限制为e,使得

通过使用查询模式,由于所有模式的数目是较小的,并因此可以探索所有模式,从而可以避免早熟收敛(即,早期集中于局部最优)。发现有效模式还允许取消较差分支被探索的资格。

可能分数记分

在示例性实施例中,可能分数可以包括三个不同的分量:静态排名、文本因子以及位置因子。

可以基于静态特征计算静态排名:例如,包含实体的城市在人口方面的大小、实体是否是国家的首都、实体是否具有高名气等。实体e具有预先定义的静态排名hstat(e)。

文本因子表示实体文本与查询匹配的程度。词频-逆文档频率(ft-idf)、okapibm25、真值二元组(truedoubles)、真值三元组(truetriples)等是获得文本因子的例子。可以为实体e计算文本因子htext(e|q)。

位置因子测量实体与视口v和/或用户位置u的接近度。这向本地结果分配更大的权重。对于实体e,定义位置因子0≤hdist(l(e)|v,u)≤1,其中l(e)是实体的位置。

总之,可能分数被定义为:

h(e|q,v,u)=hstat(e)htext(e|q)hdist(l(e)|v,u).

对于实体集合和分段的查询实体集合的可能分数被定义为乘积公式中的第一项本身组合了所有非几何特征:

第二项测量几何特征:集合位置与视口和用户的靠近度,以及集合的紧密度(集合中实体被并置得多近):

最靠近且最紧密的情况对应于

给定模式集合

发现实体集合

在示例性实施例中,给定有效模式,并不保证发现实体集合被实现。例如,发现实现模式(其中s=smax=3)的实体集合包括以下步骤:

1、减小e1,e2,e3。注意,一般地按照原始查询的子段定义这些集合。假设实体集合位于具有空间位掩码的子瓦片中,

2、尝试前k个被记分的实体e1∈e′1。对于每个这种e1,令

3、如果则跳过e1。否则,尝试前k个被记分的实体再次,令

4、如果则跳过e1,e2。否则,尝试前k个被记分的实体并且在(e1,e2,e3)中确定具有最佳分数的集合。

从每个段调查前3个被记分的实体的选项,只需要检查9个实体组合。因此,当选择了有效模式时,发现实体集合不再是计算昂贵的,允许减少计算时间和资源。

在一些实施例中,在获得解之后,可以进一步优化检查剩余模式的过程:如果发现了解,则可将该解用于取消一些剩余模式的资格。

例如,将定义为基础b瓦片中的最佳(最靠近1)距离因子。所有的瓦片不需要被检查,因为接近度不要求太多的精度并且距离因子在大部分瓦片中不会随着实体而变化太多。更一般地,假设在计算距离因子中使用的简单地指向一个子瓦片的中心,并且子瓦片可以被检查以发现如果模式具有对应的使得

则可以跳过因为任何实体集合将次于

证明:

示例性操作环境

一般地参考附图,并首先特别参考图1,用于实现本发明各方面的示例性操作环境被示出,并且一般被指定为计算设备100。计算设备100仅是适当的计算环境的一个例子,并不旨在暗示对本发明的使用或功能的范围的任何限制。计算设备100也不应该被解释为具有涉及图示部件的任意一个或组合的任何依赖或要求。

可以在计算机代码或机器可用指令(包括计算机可执行指令,例如程序部件)的一般上下文中描述本发明,所述指令被计算机或其它机器(例如,个人数据助理或其它手持设备)执行。一般而言,程序部件(包括例程、程序、对象、部件、数据结构等)指的是执行特定任务或实现特定抽象数据类型的代码。本发明的各方面可以实践于多种系统配置,包括手持设备、消费电子产品、通用计算机、专用计算设备等。本发明的各方面还可以实践于分布式计算环境中,其中通过经由通信网络链接的远程处理设备执行任务。

继续参考图1,计算设备100包括总线110,其直接或间接耦合以下设备:存储器112、一个或多个处理器114、一个或多个呈现部件116、输入/输出(i/o)端口118、i/o部件120、以及图示电源122。总线110表示一条或多条总线(例如,地址总线、数据总线、或其组合)。虽然为了清晰以线条示出了图1的各个框,但实际上描绘各个部件不是这么清晰的,并且隐喻地,更准确地线条应该是灰色且模糊的。例如,人们可以认为呈现部件(例如,显示设备)是i/o部件120。另外,处理器具有存储器。本发明的发明人意识到这是本领域的本质,并且重申图1的图只是说明可以结合本发明的一个或多个方面使用的示例性计算设备。并不区分例如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等的种类,因为所有这些都在图1的范围内被构思出,并指的是“计算机”或“计算设备”。

计算设备100一般包括多个计算机可读介质。计算机可读介质可以是由计算设备100访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质。例如但不限于,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括易失性和非易失性、可移除和不可移除介质,其以用于存储信息(例如,计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术实现。

计算机存储介质包括ram、rom、eeprom、闪存或其它存储器技术、cd-rom、数字通用盘(dvd)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备。计算机存储介质不包括传播的数据信号。

通信介质一般实现计算机可读指令、数据结构、程序模块或已调数据信号(例如,载波或其它传输机制)中的其它数据,并包括任何信息输送介质。术语“已调数据信号”表示具有以在信号中编码信息的方式设置或改变的一个或多个特性的信号。例如但不限于,通信介质包括有线介质,例如有线网络或直连线连接;以及无线介质,例如声、rf、红外和其它无线介质。任意上述的组合也应该包含于计算机可读介质的范围内。

存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器112可以是可移除的、不可移除的、或其组合。示例性存储器包括固态存储器、硬驱动、光盘驱动等。计算设备100包括一个或多个处理器114,其从各种实体(例如,总线110、存储器112或i/o部件120)读取数据。呈现部件116向用户或其它设备呈现数据指示。示例性呈现部件116包括显示设备、扬声器、打印部件、振动部件等。i/o端口118允许计算设备100逻辑上耦合到其它设备,包括i/o部件120,其中的一些可以是嵌入式的。

图示i/o部件包括麦克风、操纵杆、游戏垫、卫星盘、扫描仪、打印机、显示设备、无线设备、控制器(例如,铁笔、键盘和鼠标)、自然用户界面(nui)等。在实施例中,提供笔式数字化器(未示出)和伴随的输入仪器(也未示出但是其仅通过例子包括笔或铁笔),以便数字地捕捉用户徒手输入。笔式数字化器和处理器114之间的连接可以是直接的或利用串行端口、并行端口和/或其它接口和/或本领域已知的系统总线耦合的。此外,数字化器输入部件可以是与输出部件(例如,显示设备)分离的部件,或者在一些实施例中,数字化器的可用输入区域可以与显示设备的显示区域共存、与显示设备集成、或可以作为覆盖或附接到显示设备上的单独设备存在。构思出任意和全部的这种变型及其任意组合落入本发明的实施例的范围内。

nui处理空中手势、语音或者由用户生成的其它生理输入。适当的nui输入可以被解释为与计算设备100相关联呈现的墨水笔划。这些请求可以被传输到适当的网络元件用于进一步处理。nui实现以下的任意组合:语音识别、触摸和铁笔识别、面部识别、生物计量识别、在屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、以及与计算设备100上的显示器相关联的触摸识别。计算设备100可以装备有深度摄像机,例如,立体摄像机系统、红外摄像机系统、rgb摄像机系统及其组合,用于进行手势检测和识别。另外,计算设备100可以装备有加速度计或陀螺仪,其支持检测运动。可以将加速度计或陀螺仪的输出提供给计算设备100的显示器,以呈现浸入式增强现实或虚拟现实。

计算设备可以包括无线电设备。无线电设备发送和接收无线电通信。计算设备可以是无线终端,其适应于通过各种无线网络接收到的通信和媒体。计算设备1100可以经由无线协议与其它设备进行通信,所述协议例如是码分多址(cdma)、移动全球系统(gsm)、或者时分多址(tdma)以及其它。无线电通信可以是短距离连接、长距离连接、或短距离和长距离无线电信连接的组合。当我们提及“短”和“长”类型连接时,我们指的并不是两个设备之间的空间关系。相反,我们一般将段距离和长距离指代为连接的不同种类或类型(即,主要连接和次要连接)。短距离连接可以包括到设备的连接(例如,移动热点),其提供对无线通信网络的访问(例如,利用802.11协议的wlan连接)。到另一计算设备的蓝牙连接是短距离连接的第二例子。远距离连接可以包括利用cdma、gprs、gsm、tdma和802.16协议中的一个或多个的连接。

示例性多实体查询服务

现在转向图2,描绘了根据本发明的一个方面的示例性计算环境200。计算环境200包括用户的计算设备210和服务器230,其经由广域网220(例如,互联网)彼此通信。计算设备210可以类似于以上参考图1描述的计算设备100。计算设备210可以包括网络浏览器和/或地图服务应用以提交多实体查询。多实体查询可以由用户或经由另一应用输入。本领域普通技术人员应该理解和了解的是,示例性计算环境200只是一个计算环境的例子,并且不旨在暗示对本发明的使用或功能的范围的任何限制。示例性计算环境200也不应该被解释为具有涉及本文图示的任意单个模块/部件或模块/部件的组合的任何依赖或要求。

在各方面,计算设备210可以从用户处接收查询或搜索输入。搜索输入可以包括一个或多个字母数字字符,其形成词语的一部分、整个词语或词语序列。可以将搜索输入以键盘上的击键、手写输入或语音输入的形式提交给计算设备210。可以通过触摸屏接口或能够将手写数字化为计算设备210的输入的其它适当的接口提供手写输入。可以通过与计算设备210相关联的麦克风接收语音输入,并将其转换为文本以用作计算输入。在以下的每个例子中,起初通过用户设备提交搜索输入。然而,应该注意的是,实施例不限于计算设备210上的实现方式,而是可以实现于在本文实施例的范围内的多个不同类型的计算设备的任一个上。

服务器230可以包括但不限于搜索引擎240、瓦片处理器242、记分器244以及绘图器246。

搜索引擎240可以从计算设备210通过广域网220接收搜索输入。另外,搜索引擎240可以在接收到搜索输入时生成与搜索输入相关的一系列搜索结果。可以以对搜索引擎典型的方式对一系列搜索结果进行排名。例如,可以基于到网站的业务和/或在其它网站上发现的到所述网站的链接,对一系列搜索结果进行排名。搜索引擎240可以例如使用反向索引来对搜索结果排名,并返回具有最高排名的结果。

在各方面,瓦片处理器242接收搜索结果,并识别地图视图的瓦片。在该例子中,可以使用最高排名的搜索结果。然而,这不必对所有实施例都如此。例如,可以识别出多于一个的瓦片。可以对识别出的瓦片进行排名或不进行排名。替代地,可以识别出与搜索查询匹配超过特定阈值之上的瓦片(例如,瓦片的被记分的搜索结果超过阈值)。

计分器244可以根据搜索查询确定识别出的瓦片的有效查询模式,并且对有效查询模式进行记分,以获得每个确定出的有效查询模式的可能分数。然后,利用查询模式中实体的地理空间并置因子,可以根据可能分数为确定出的有效查询模式确定实际分数。地理空间并置因子可以与实体之间的cartesian距离相关。例如,对于商业名称,例如可以通过商业的维度和经度确定商业的位置。如果有效搜索查询中的实体处于相同的位置,即相同的维度和经度坐标,则可能分数可能等于实际分数。

绘图器246可以获取计分器244的结果,并使用该结果来修改地图视图。例如,如果记分最高的有效查询模式对应于交叉口,则可以为地图视图提供覆盖交叉街道的突出。作为另一例子,如果记分最高的有效查询模式对应于非交叉街道,则可以在地图视图上显示覆盖非交叉街道的突出。虽然将绘图器246描述为修改地图视图,但是不必总是如此。例如,绘图器246可以向计算设备210输出指令以在网页上或地图应用上绘制实体。绘图器246可以输出在另一应用中使用的数据,以显示结果或以其它方式使用结果。

虽然服务器230被示出为单个单元,但是本领域技术人员将理解服务器230是可扩展的。例如,服务器230实际上可以包括彼此通信的多个服务器。此外,瓦片处理器242可以是搜索引擎240的一部分。单个单元的描绘意味着为了清楚,而不是以任何形式限制实施例的范围。

多实体查询的示例性方法

现在转向图3,示出了根据本发明的一方面的用于解析多实体地理编码查询的方法300。方法300可以在数据中心中的或者跨多个数据中心的一个或多个服务器上执行。替代地,方法300可以由用户的计算设备执行,例如,平板计算机、智能电话或个人计算机。

在步骤310处,可以接收用户提交的搜索查询。搜索查询可以包括一个或多个字母数字字符,其形成词语的一部分、整个词语或一系列词语。可以以键盘上的击键、手写输入或语音输入的形式提交搜索查询。可以通过触摸屏接口或能够将手写数字化为计算机输入的其它适当接口提供手写输入。可以通过与计算设备相关联的麦克风接收语音输入,并将其转换为文本以用作计算输入。在上述每个例子中,起初通过用户设备提交搜索查询。

虽然起初通过键盘、麦克风或触摸接口提交搜索查询,但本发明的各方面还可以在从另一计算部件接收搜索查询的意义上使用“接收的”。计算部件可以是本地的或远程的。例如,基于云的搜索引擎可以从计算设备通过网络连接接收搜索查询。替代地,在智能电话上运行的搜索定制部件可以从也在智能电话上运行的查询部件接收查询。

在步骤320处,基于搜索查询识别地图中的瓦片。利用传统的搜索能力,可以基于搜索查询获得一个或多个结果。一个或多个搜索结果可以与地图中的一个或多个瓦片相关联。例如,传统的搜索可以基于搜索项对瓦片进行排名,并以排名的次序返回结果。可以利用搜索启发法(包括但不限于,使用反向索引)进行排名。

在一些例子中,搜索查询可以解析为多于一个瓦片,并且可以选择多于一个瓦片中的单个瓦片。这允许搜索区域被约束到单个瓦片,从而加速搜索结果时间并减少计算处理电力。例如,可以基于搜索查询返回一个或多个瓦片。如在传统搜索中,基于搜索查询以排名层级返回搜索结果。在这种情况下,可以选择具有最高排名的瓦片。

在步骤330处,确定搜索查询的、对应于识别出的瓦片上的实体的有效查询模式。可以将搜索查询划分为段,并且可以分析每个段以确定其是否解析为识别出的瓦片上的至少一个实体。如果段对应于识别出的瓦片上的实体,则确定对应于这些段的实体是否位于同一子瓦片上。有效查询模式是这样的模式:其中搜索查询的段解析为识别出的瓦片上的实体并且在同一子瓦片上发现这些实体。可以将搜索查询划分为解析为两个或更多实体的段。例如,利用反向索引,可以识别在瓦片上发现的所有对象,并且可以确定所述两个或更多实体是否是在识别出的瓦片上被发现的。此外,可以确定所述两个或更多实体是否是在识别出的瓦片的共同子瓦片上被发现的。

虽然以上描述了有效查询模式的实体位于同一子瓦片上,但是不必如此。例如,如果期望瓦片上的实体的任意组合,则只需要确定搜索查询的段是否解析为瓦片上的实体。

在步骤340处,可以计算每个确定出的有效查询模式的可能分数。例如,可以获得有效查询模式的每个实体的静态排名、文本因子和位置因子,并且可以基于每个实体的静态排名、文本因子和位置因子计算每个确定出的有效查询模式的可能分数。

在步骤350处,可以对确定出的有效查询模式的可能分数进行排序。虽然在一些实施例中,不需要对可能分数进行排序,但是对可能分数进行排序可以减小待检查的查询模式的数目,由此进一步改善速度和计算资源的消耗。

在步骤360处,可以计算多个确定出的有效查询模式的实际分数。例如,有效查询模式的实际分数可以是通过地理空间并置因子减小的有效查询模式的可能分数。例如,地理空间并置因子可以与确定出的有效查询模式的实体之间的cartesian距离相关。在该例子中,通过有效查询模式的可能分数按照地理空间布置因子被减小来计算实际分数。然而,实际分数不需要使用地理空间并置因子,并且可以通过替代方式计算实际分数。例如,可以计算实际距离值来达到实际分数,并且距离值可以被标准化为与可能分数相关。例如,如果可能分数的范围是0-1,其中1对应于可能在同一位置找到实体的查询模式,则可以标准化距离值,使得实际分数1将表示在同一位置找到实体,并且实际分数0表示实体彼此远离(表示在实体之间没有关系)。这允许在查询模式的实际距离值在期望范围或阈值之内时,剩余的查询模式无需计算其实际分数。

在一些实施例中,只有那些可能分数大于计算出的最高实际分数的有效查询模式需要计算其实际分数。对于那些可能分数小于最高实际分数的有效查询模式,不需要计算实际分数,因为其实际分数不可能超过其可能分数。通过只计算可能分数大于最高实际分数的查询模式的分数,需要较少的操作,降低了执行查询所需要的时间。

在步骤370处,可以返回基于具有最高实际分数的有效查询模式的结果。可以返回结果,使得识别出对应于具有最高实际分数的有效查询模式的实体,并且在地图视图上进行突出。例如,可以将结果作为图像、地图实体上的覆盖或表示网格上的实体的其它格式返回。在其它实施例中,可以将结果作为不同格式返回,例如以便用户计算设备创建所显示的实体。由于仅返回具有最高实际分数的结果,提高了搜索结果准确的可能性,由此需要执行更少的查询。该配置增加了用户效率,并减小了网络带宽使用。

多实体查询的另一示例性方法

现在转向图4,示出了根据本发明另一方面的解析多实体地理编码查询的方法400。方法400可以在数据中心的一个或多个服务器上或者跨多个数据中心执行。替代地,方法400可以由用户的计算设备执行,例如,平板计算机、智能电话或个人计算机。

在步骤410处,可以由用户提交搜索查询。搜索查询可以包括一个或多个字母数字字符,其形成词语的一部分、整个词语或词语序列。可以以键盘上的击键、手写输入或语音输入的形式提交搜索查询。可以通过触摸屏接口或能够将手写数字化为计算机输入的其它适当接口提供手写输入。可以通过与计算设备相关联的麦克风接收语音输入,并将其转换为文本以用作计算输入。在上述每个例子中,起初通过用户设备提交搜索查询。

在步骤420处,基于搜索查询识别地图中的瓦片。利用传统的搜索能力,可以基于搜索查询获得一个或多个结果。一个或多个搜索结果可以与地图中的瓦片相关联。例如,传统的搜索可以基于搜索项对瓦片进行排名,并以排名的次序返回结果。可以利用搜索启发法(包括但不限于,使用反向索引)进行排名。

在步骤430处,可以枚举搜索查询的段以填充有序树数据结构。例如,对于“bakerst和mainst”的搜索查询,搜索查询的段可以包括“baker”或“bakerst”。基于这些段,可以填充有序树数据结构,其中顶级的节点包含单个段。例如,对于具有4个项[1,2,3,4]的搜索查询,顶级节点可以包含段[1,2,3,4]。有序树数据结构的每个节点可以包括形成搜索查询的一个或多个段。换句话说,节点可以包括表示搜索查询的段的组合。

在步骤440处,可以确定有序树数据结构的至少一个节点解析为有效查询模式。对于有效查询模式,节点的每个段匹配瓦片上的至少一个实体,并且匹配的实体驻留在瓦片的共同的子瓦片上。例如,利用搜索查询“bakerst和mainst”、“bakerst”、“mainst”可以解析出有效查询模式。如果bakerst和mainst是在瓦片上发现的实体并且它们驻留在同一子瓦片上,则查询模式可以被认为是有效的。如果没有节点解析为有效查询模式,则可以识别新的瓦片并且可以重复这些步骤。替代地,可以执行单实体查询并返回结果。可以通过将节点的段与反向索引中的、对应于识别出的瓦片的实体相匹配,来确定在瓦片上存在实体。如果发现有序树数据结构的节点是无效查询模式,则该节点的孩子节点可以被剪掉(如本文描述的)。

在步骤450处,可以计算确定出的有效查询模式的可能分数。可以对确定出的有效查询模式的每个实体的静态排名、文本因子和位置因子进行确定。然后,可以组合每个实体的静态排名、文本因子和位置因子来获得确定出的有效查询模式的可能分数。

在步骤460处,确定出的有效查询模式的可能分数可以相对已确定的任意其它有效查询模式而被排名。在步骤470处,可以计算确定出的有效查询模式的实际分数。可以通过按照确定出的有效查询模式的实体的地理空间并置确定的因子减小可能分数,来计算实际分数的计算。为了进一步减少花费的时间和计算资源,有序树数据结构的同一级别上的节点可以被排名,并且可以为所述级别上的有限数量的节点计算实际分数。例如,给出有序树数据结构,可以计算每个级别的顶部三个节点的实际分数,这减少了需要执行的计算的数目,由此允许更快地执行查询。

在步骤480处,可以返回对应于确定出的有效查询模式和其它有效查询模式的实际分数中的最高实际分数的模式结果。

对于一些节点,可能难以解析实体。例如,“st”可以解析出大量的实体,并可能在分析瓦片上的实体时不提供太多的价值。例如,实体“st”可能在瓦片上被发现,并且可能与搜索查询中的任意其它实体紧密地共置。在该情况下,可以排除实体“st”,从而执行的步骤不使用“st”。

多实体查询的另一示例性方法

现在转向图5,示出了根据本发明又一方面的解析地图上多实体查询的方法500。方法500可以在数据中心的一个或多个服务器上或者跨多个数据中心执行。替代地,方法500可以由用户的计算设备执行,例如,平板计算机、智能电话或个人计算机。

在步骤510处,可以接收用户提交的搜索查询。搜索查询可以包括一个或多个字母数字字符,其形成词语的一部分、整个词语或一系列词语。可以以键盘上的击键、手写输入或语音输入的形式提交搜索查询。可以通过触摸屏接口或能够将手写数字化为计算机输入的其它适当接口提供手写输入。可以通过与计算设备相关联的麦克风接收语音输入,并将其转换为文本以用作计算输入。在上述每个例子中,首先通过用户设备提交搜索查询。

在步骤520处,可以基于搜索查询识别地图中的瓦片。利用传统的搜索能力,基于搜索查询可以获得一个或多个结果。一个或多个搜索结果可以与地图中的瓦片相关联。例如,传统的搜索可以基于搜索项对瓦片进行排名,并以排名的次序返回结果。可以利用搜索启发法(包括但不限于,使用反向索引)进行排名。

在步骤530处,可以将搜索查询划分为对应于一个或多个实体的段。每个实体可以与经由反向索引与识别出的瓦片相关联。

在步骤540处,可以确定识别出的瓦片中的搜索查询的有效查询模式。如本文所述,可以将搜索查询划分成段,并且可以分析段以确定这些段是否解析出识别出的瓦片上的实体。如果段解析出识别出的瓦片上的实体,则确定对应于段的实体是否位于同一子瓦片上。

虽然本文描述了有效查询模式的实体位于同一子瓦片上,但无需如此。例如,如果期望在瓦片上的实体的任意组合,则仅需要确定搜索查询的段是否解析出瓦片上的实体。

在步骤550处,可以利用确定出的有效查询模式的一个或多个实体中的每个实体的静态排名、文本因子和位置因子计算确定出的有效查询模式的可能分数;并且在步骤560处,可以对确定出的有效查询模式和其它有效查询模式的可能分数进行排序。在步骤570处,可以计算可能分数超过最高实际分数的确定出的有效查询模式的实际分数。在步骤580处,可以返回基于对应于最高实际分数的有效查询模式的结果。

多实体搜索例子

现在转向图6,提供了根据本发明的一方面描绘包括交叉街道和商业名称的多实体查询搜索的结果的地图600。例如,用户可以输入查询“巴特里街和布什街附近的咖啡小镇”。传统的地理编码搜索引擎可能不知道如何解释该查询。可能将该查询分析为单实体查询。然而,可能没有找到实体“巴特里街和布什街附近的咖啡小镇”。替代地,可以使用形式语法,例如“位置附近的商业”。然而,“巴特里街和布什街”可能没有被发现或者可能没有提供已知的交叉。可以使用其它搜索技术,但是它们每个都具有自己的缺点。

根据本发明的一方面,可以确定瓦片。利用搜索查询“巴特里街和布什街附近的咖啡小镇”,可以识别单个瓦片,并且可以确定搜索项“咖啡小镇”、“巴特里街”、“布什街”。可以在给定的瓦片上发现“咖啡小镇”、“巴特里街”、“布什街”,并因此“[咖啡小镇][巴特里街][布什街]”是有效查询模式。可以计算并排序所有有效查询模式的可能分数。由于可能存在多于一个的咖啡小镇,仅在交叉附近的咖啡小镇是期望的。因此,基于实体的地理空间并置(例如,按照地理空间并置因子减小可能分数),返回距离上靠近的实体。如地图600上所示,突出了布什街610和巴特里街612的交叉。在地图中还指示了最靠近所述交叉的咖啡小镇620。

现在转向图7,提供了根据本发明的一方面描绘包括非交叉街道的多实体查询搜索的结果的地图700。给出搜索查询,例如“第8大街和第9大街”,可以提供具有突出街道第8大街710和第9大街712的地图700。可以提供两条街道之间的指示符720,作为定向点。

实施例1:本发明的第一实施例指向一个或多个计算机存储介质,其使得计算设备执行解析多实体地理编码查询的方法。所述方法包括:基于搜索查询识别地图中的瓦片;在识别出的瓦片上为搜索查询确定有效查询模式;为每个确定出的有效查询模式计算可能分数;对确定出的有效查询模式的可能分数进行排序;为多个确定出的有效查询模式计算实际分数,所述多个确定出的有效查询模式中的每个有效查询模式的可能分数大于最高实际分数;以及返回基于对应于最高实际分数的有效查询模式的结果。

实施例2:根据实施例1的介质,其中,确定有效查询模式包括:将搜索查询划分为解析出两个或更多个实体的段,其中所述两个或更多实体被发现在识别出的瓦片上;以及确定所述两个或更多实体被发现在识别出的瓦片的共同子瓦片上。

实施例3:根据实施例1或2的介质,其中,计算可能分数包括:获得每个确定出的有效查询模式的每个实体的静态排名、文本因子和位置因子;为每个确定出的有效查询模式,基于该确定出的有效查询模式的每个实体的静态排名、文本因子和位置因子来计算可能分数。

实施例4:根据实施例1-3中任一项的介质,其中,计算实际分数包括:确定多个确定出的有效查询模式的可能分数大于最高实际分数;以及基于确定出的有效查询模式的两个或更多实体的并置,为多个确定出的有效查询模式计算实际分数。

实施例5:根据实施例1-4中任一项的介质,其中,返回结果包括:识别瓦片上的、与对应于最高实际分数的有效查询模式匹配的两个或更多实体;以及在地图上突出所述两个或更多实体

实施例6:根据实施例1-5中任一项的介质,其中,搜索查询包括至少两个非交叉街道,或者至少两个交叉街道和商业名称。

实施例7:本发明的另一实施例指向解析多实体地理编码查询的计算机实现方法。所述方法包括:在计算设备处接收搜索查询;基于所述搜索查询识别地图上的瓦片;枚举搜索查询的段,以填充有序树数据结构,所述有序树数据结构的节点包括形成搜索查询的一个或多个段;确定所述有序树数据结构的节点解析出有效查询模式;为确定出的有效查询模式计算可能分数;相对其它有效查询模式的可能分数对确定出的有效查询模式的可能分数排名;为确定出的有效查询模式计算实际分数;以及返回对应于确定出的有效查询模式和其它有效查询模式中的最高实际分数的结果。

实施例8:根据实施例7的方法,其中,搜索查询的每个段包括搜索查询的一个或多个连续项,并且节点包括表示搜索查询的段的组合。

实施例9:根据实施例7或8的方法,其中,确定树数据结构的节点解析出有效查询模式包括:确定所述节点的每个段匹配瓦片上的至少一个实体;以及确定所匹配的实体位于所述瓦片的共同子瓦片中。

实施例10:根据实施例9的方法,其中,实体在瓦片上的存在是通过将节点的段与反向索引中的对应于识别出的瓦片的实体来确定的。

实施例11:根据实施例7-10中任一项的方法,其中,计算可能分数包括:对确定出的有效查询模式的每个实体的静态排名、文本因子和位置因子进行确定;以及组合每个实体的静态排名、文本因子和位置因子以获得确定出的有效查询模式的可能分数。

实施例12:根据实施例7-11中任一项的方法,其中,计算实际分数包括:按照由确定出的有效查询模式的实体的并置确定的因子,来减小可能分数。

实施例13:根据实施例7-12中任一项的方法,还包括:剪掉有序树数据结构的解析出无效查询模式的节点的孩子节点。

实施例14:根据实施例7-13中任一项的方法,其中,有序树数据结构的处于一级别上的节点相对同一级别上的其它节点被排名,并且为所述级别的有限数量的节点计算实际分数。

实施例15:根据实施例7-14中任一项的方法,还包括:在查询模式中消除至少一个实体,其中所述至少一个实体是被排除的项。

实施例16:本发明的另一实施例指向一个或多个计算机存储介质,其使得计算设备执行地图上的多实体搜索的方法。所述方法包括:接收搜索查询;基于所述搜索查询识别地图上的瓦片;将用户查询划分为解析出一个或多个实体的段,每个实体经由反向索引与识别出的瓦片相关联;确定所述一个或多个实体解析出有效查询模式,所述有效查询模式的一个或多个实体位于瓦片的共同子瓦片中;利用确定出的有效查询模式的一个或多个实体中的每个实体的静态排名、文本因子和位置因子,为确定出的有效查询模式计算可能分数;相对其它有效查询模式的可能分数对确定出的有效查询模式的可能分数进行排序;为可能分数超过最高实际分数的确定出的有效查询模式计算实际分数;以及返回基于对应于最高实际分数的有效查询模式的结果

实施例17:根据实施例16的介质,其中,静态排名基于城市的人口。

实施例18:根据实施例16或17的介质,其中,文本因子是段与对应实体匹配的密切程度的指示。

实施例19:根据实施例16-18中任一项的介质,其中,位置因子基于用户位置。

因此,本发明的实施例可以在计算机执行的计算机可执行指令(例如,程序模块)的一般上下文中被描述。一般而言,程序模块包括例程、程序、对象、部件、数据结构等,其执行特定任务或实现特定抽象数据类型。实施例还可以实践于分布式计算环境中或云环境中,其中任务是由通过通信网络链接的远程处理设备执行的。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质(包括存储器存储设备)中。

已经结合特定实施例描述了本发明的实施例,所述实施例在所有方面都旨在是说明性的而非限制性的。替代实施例对本发明所属领域的普通技术人员而言是显然的,而不背离本发明的范围。

已经描述了本发明的各方面是说明性的而非限制性的。可以理解的是,某些特征和子组合具有实用性并可以在不参考其它特征和子组合的情况下被采用。这是被权利要求料想到的并且在权力要求的范围内。

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