CN106462624A - 基于图块的地理编码器 - Google Patents

基于图块的地理编码器 Download PDF

Info

Publication number
CN106462624A
CN106462624A CN201580030106.9A CN201580030106A CN106462624A CN 106462624 A CN106462624 A CN 106462624A CN 201580030106 A CN201580030106 A CN 201580030106A CN 106462624 A CN106462624 A CN 106462624A
Authority
CN
China
Prior art keywords
segment
entity
inquiry
document
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201580030106.9A
Other languages
English (en)
Inventor
P·伯克欣
F·特奥多雷斯库
B·梅塔
A·P·奥克利
E·C·沃尔斯特伦
D·L·拉奇
A·夏尔马
M·R·埃文斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106462624A publication Critical patent/CN106462624A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor
    • G06F16/444Spatial browsing, e.g. 2D maps, 3D or virtual spaces
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3881Tile-based structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种地理编码体系结构,其生成一个或多个图块文档且将一个或多个图块文档与地理编码图块相关联。当所连接的实体被定义时,所连接实体的属性被收集在单个图块文档中,使得图块文档项是全部连接实体的属性。这些项后来用作使能搜索对于给定查询来说相关的图块的键值。创建实体文档,其是实体属性的聚合。类似实体文档,图块文档充当在预定表面区域内的全部地理空间实体的聚合器。然后,对图块文档和实体文档的内容执行搜索。

Description

基于图块的地理编码器
背景技术
地理编码器(GC)的目标是找到地图位置且返回该地理位置的适当的空间表示,以及可能地连同对应于该位置的物体一起。人们以多种不同方式指示位置,传统因国家而异。在许多西方国家,口语地址遵从某种层级包含逻辑,诸如街道、市、县、州(但是许多域可以省掉)。原则上,这种编址试图指向单个(可能不存在)实体。相反,其它国家的口语地址基于地标,遵从方向性逻辑。
传统地,地图用户意图被划分成商业、地点和地址询问。然而,地点与地址查询之间的定界至多是不清楚的。事实上,通常被视为地点的邮政编码、市和地标同时充当地址查询的部分。
另外,许多地理编码器查询以多个实体指向一个位置(例如,Bravern广场附近的加油站)。因此,不同的问题很快出现,其中不仅是找到匹配查询项的实体的技术挑战,而且是在众多查询项组合中进一步存在获得可能搭配的实体的挑战。
发明内容
下面提供了简要的发明内容以便于提供对本文所描述的一些新颖的实施例的基本理解。该发明内容不是广延的概述,并且该发明内容不旨在确定关键/重要元素或者勾勒其范围。该发明内容唯一的用途是以简化形式提供一些概念作为后面提供的更详细说明的前序。
公开的体系结构是地理编码体系结构,其生成多个实体(例如,街道、餐厅、感兴趣点等)且将多个实体与地理编码的图块相关联。不同种类的实体被统一处理。该体系结构可以呈现为地理编码器服务(GCS)。地球的表面区域被建模为由经调节的图块构成的网格。图块是特定尺寸(维度)的方形。图块的***覆盖了整个地球,并且图块以这样的方式重叠:相互之间在单位距离内的每两个点属于至少一个图块。连接到每个图块的是与该图块交叉的所有实体。实体被处理为文本文档(例如,学校的图块和地址)。当所连接的实体被定义时,所连接的实体文档被收集在单个图块文档中而使得图块文档项变成包含式图块项。这些项后来可以充当使能搜索对于给定查询相关的图块的键值(例如,在反向索引中)。
图块标识符(ID)进一步用作解析对适当的共同定位(co-located)的实体的查询的附加查询输入项。确定这些实体可以通过在实体文档上构建的反向索引来实现。每个实体文档包含了实体属性的聚合。类似于实体文档,图块文档充当了预定表面区域内的全部地理空间实体项的聚合器。然后对图块文档和实体文档的内容执行搜索。
如所描述的,地理编码图块由其图块文档来表示。图块文档捕获了与图块连接的实体的所有相关属性(项)。如果属性存在,则属性可以充当索引项(例如,在反向索引中)。因此,创建并更新图块文档的图块搜索索引。实体由实体文档表示,实体文档也在实体搜索索引中被索引。实体文档捕获实体的全部相关属性,连同对与实体相连接(与图块的交叉或者位于图块的近处)的图块的引用。
该体系结构利用搜索技术来解析图块全集中的查询,从而定位最可能被查询所引用的可能的候选图块。另外地,搜索技术解析实体全集中的查询——增广了先前所确定的图块ID,因而将结果范围缩至对于查询最相关的实体。一些知名度高的实体可以单独地索引,使能利用流行项来更直接且立即的解析查询。
更具体地,当接收到查询时,分析查询。查询可以多种方式解释(例如,可以删除停止词)。然后,对于最有希望的查询解释,开始单独的搜索。换言之,使用查询覆写。还可以使用项语义。因此,查询可被视为每个均包含一个或多个令牌的查询项序列(例如,bi-gram“New York”)。
在运行时,在查询被分析后,并且对于每个查询解释,可以执行至少两个查询:对于实体(例如,道路、商业、地点等)数据库的调用以找到可能的好匹配,以及对于多个实体(例如,实体集合)的搜索(假设没有实体是好的匹配)。
查询完成是通过(a)找到表示搭配(collocation)的概念的图块以及(b)找到实体集合来实现的。因此,在(a)中,搜索匹配最佳查询项的图块。匹配涉及在紧密接近的双项或三项的项频率计算以及其它技术。为了这样做,利用标准搜索技术(例如,能够使用图块反向索引的)向全部图块文档的集合发布搜索。对出现的可能候选者排序以找到最佳可能候选者中的一个或多个。
给定最优可能的图块候选者,可以搜索一个或多个实体。目标是找到与图块连接的实体当中的匹配查询的一个或多个实体。例如,在世界上有若干的“农贸市场”、“市场街”、和“Embarcadero”。然而,当搭配在一起且在位于市中心San Francisco的图块中仅有一个农贸市场、一个市场街和一个“Embarcadero”。GCS能够返回一些地理对象,例如,图钉,但是原则上是多边形。
对于每个查询解释,可以发现多个部分匹配的图块,并且对于每个这样的图块,可以发现多个实体集合。采用排序来选择从其中构造最终GCS结果的最可能的实体集合中的一个(或多个)。
相关度排序可以依赖于对多种因素建模的各种特征。因素可以包括核心相关度和地理相关度(地理相关度)。核心相关度考虑文本查询与所找到的实体的属性的相似度、文本查询与实体集合中的实体的流行度的相似度以及文本查询与实体之间的一致性的相似度。例如,考虑由位于San Francisco的用户发布的查询“Geary and Franklin”。一个特定的结果可以包括交叉的两个实体:“Geary Blvd.”和“Franklin Street”。另一结果可以包括两个其它实体:“Geary Public Parking”和“First Franklin Bank”。两个结果由两个实体构成,并且两个实体匹配查询的两个项,而第一结果出现了较佳匹配,因为两个街道事实上交叉。地理相关因素考虑到诸如距视口的距离、距用户位置的距离、周围地点的显著性、所找到的实体的相互搭配等特征。排序的结果随后返回用户。
为了实现上述目的以及相关目的,本文与以下的说明和附图相结合地描述了一些示例性的方面。这些方面指示能够实践本文公开的原理的多种方式且其全部的方面和等同方面旨在要求保护的主题的范围内。其它优点和新颖的特征将根据结合附图考虑的以下具体实施方式而变得显而易见。
附图说明
图1示出了依照公开的体系结构的***。
图2示出了依照公开的体系结构的基于图块的地理编码器服务的流程图。
图3示出了地理编码器服务的在线执行算法的一般流程图。
图4示出了用于图块地理编码服务的重叠图块的图块***。
图5示出了用于不同的实体密度、重要度和/或流行度的不同尺寸的重叠图块的图块***。
图6示出了层级图块组织和键值的图块示意图。
图7示出了图块示意图,其中较高重要度或流行度的实体以金字塔形成为单一较大图块。
图8示出了其中关系存储在图块文档中的***。
图9示出了示范性的图块文档。
图10示出了查询富集***。
图11示出了索引搜索***。
图12示出了地理编码器服务的离线执行阶段的流程图。
图13示出了依照公开的体系结构的方法。
图14示出了依照公开的体系结构的可替代方法。
图15示出了依照公开的体系结构执行地理编码服务的计算***的框图。
具体实施方式
公开的体系结构包括接受地理编码(GC)查询的服务(称为地理编码器服务(GCS)),其想要找到地图位置,以及连同任何相应的实体一起返回该位置的适当的空间表示。GCS使用搜索技术,不需要昂贵的在线几何计算,并且对机器学习开放。GCS通过以粗略地理空间网格或图块(tile)来预先索引实体且随后在图块全集中采用搜索技术来利用实体的搭配。另外地,可以在不同市场之间使用基本的市场特定的语法分析。
一般地,一旦接收到查询(例如,来自用户的),则基于查询分析来发现可能的候选图块。然后,从图块中发现与单一图块连接的搭配实体。结果由所发现的实体构造,并且结果被排序且返回给用户。该过程的更详细的方面涉及到生成多个可替代查询的查询富集(或增广)阶段。然后,在索引搜索阶段中对不同的全集搜索可替代查询。然后,对结果进行后处理(也称为查询完成)。结果的后处理包括对不同的结果进行排序(如果结果被判定为极其相关,则进一步的搜索终止且流程返回)和插值(如果地址包含点地址所缺失的街道号,则该位置可以经由插值来找到)。
GCS输入包括文本查询、视口和用户位置。在运行时,文本查询总是存在,视口通常存在(但是有时作为不是由用户设定的缺省值),用户位置是任选的。上下文的其它元素(例如,语言)也可以存在。
人们以多种不同方式指示位置,传统因国家而异。在许多西方国家,口语地址遵从一些层级包含逻辑(例如,街道、市、县、州(但是许多域可能省掉))。原则上,这些编址试图指向单一(可能不存在的)实体。在一些外国国家,口语地址基于地标,遵从方向性逻辑。这些是指向多个实体的联合查询。例如,对于印度Bangalore的典型的地址查询,可以包括:-233第10个十字路口,rajajinagar第一个N街区,在vidyar vardhaka sanghahar附近
-#5“srinidhirst”第4个主要srikantheshwar nagar,在mahalakshmi布局公交站附近,Bangalore
-446第6个主要第110个十字路口shastry nagara Bangalore 566728
-#38/7,Magadi Center Road,Jaimuni Rao Circle,AD Hallihali,Bangalore-563479
-316427,第15个街区,第4层,Janapriya Township,Magradian Road
在甚至正式地址会类似“Sunview A1Behind Only Parath Hotel,OppositeAmchi Shala,Tilak Nagar,Kajupada Road,Chembur”的一些地理市场中多指向是有益的。能应用于任何市场的多指向器GC查询的略微更通用的示例是“在Lombard和Geary附近的加油站”。当指向多个搭配实体时,GC查询也可以包含诸如“附近”、“周围”、“后面”等修饰语。
在GCS搜索中,查询可以指向多于一个的实体(例如,两个街道的交叉,其中每个街道是一个实体)。因此,GCS搜索不局限到一个实体(文档),而是局限到按条件相关而在空间上彼此靠近的一组实体。搜索引擎典型地不实现实体结合的概念。因此,实现了一种新的方法,其中指向多个搭配实体的GC查询称为多指向器查询。
存在至少两个用于GC(地理编码器)调用的主要方案:用户将地址描述为自由文本(非结构化地址)并且***/流水线试图将查询的项限定为市、街道名称等(结构化查询)。通过上游应用供应的“结构”可能是不可靠的(例如,市=“西雅图,WA”,而不是市=“西雅图”)。另外,结构取决于市场,例如,在法国,街道类型在街道名称之前(例如,“Rue deBerri”),而在俄罗斯,房屋号在街道名称后(例如,“ул Пушкина 73”),而在USA两个顺序是相反的(例如,“3120主街道”)。
第一步是利用一般语法分析来分析查询。查询项被分割成令牌序列。最常见地,该分割(查询覆写或查询解释)可以多种方式来执行。然后,对于每个可能的分割开始执行单独的搜索,依赖于例如索引内同义词和可替代词。如果特定项的语义(例如,来自无疑问的置信结构调用)是已知的,则这可以被使用(例如,市:西雅图,与仅仅是可能是街道名称的西雅图不同)。结果,查询可以被视为每个均由一个或多个令牌(例如,bi-gram“New York”构成的查询项的序列q=(t1,...,tp)。
GCS输出包括查询所指的特定位置,以及与该位置相关联的一个或多个实体。地理实体由两种类型的数据定义:文本数据,以及几何对象。如果其几何结构由单个点(例如,纬度和经度)表示,则实体是一个点实体。扩展实体具有由多边形或多线表示的几何结构,多边形或多线又由多个连接的点表示。点、多边形或多线的组合可以统称为空间形状。空间形状可以由点或自然表示来表示。预期的空间形式表示称为位置,在多数情况下该位置是定界框内的点。位置不一定小——其可以是例如城市或地区。
关于第二GCS输出(与该位置相关联的一个或多个实体),经常地,GCS查询指向特定的地点、商业或点地址。在该情况下,单个实体被返回,且其几何结构(空间形状)定义该位置。在其它情况下,位置不能利用实体来标识。例如,特定房屋地址可以不存在于点地址的数据库中,在该情况下使用插值位置,为了方便返回街道。
另一示例是没有作为数据库中的独立实体而存在的两个街道的交叉。在这些情况下,该位置由两个多线的交叉定义,并且返回两个道路实体。可替代的实现方式可以通过将额外的维度添加到该位置来扩展该概念以适应三维(3D)环境,诸如地铁、高层公寓或购物商场。如搜索引擎中所惯用的,当怀疑时,GCS可以返回多于一个的结果(例如,位置+实体)。
用于GCS的调用的方案包括结构化和非结构化查询。例如,对于地址的用户自由文本查询被视为非结构化地址,并且将查询的项限定为市、街道等等的***/流水线查询被视为结构化查询。
如果查询包括到具体的地图位置的一个或多个指向器(将更一般的查询视为地图搜索查询),则查询被视为GC查询。例如,地址查询“40第22大街,San Francisco”指向街道房屋号,指向街道名称,以及指向市,并且因此,其被视为GC查询。目标位置是点地址;然而,GC查询也可以指向商业、地点或较大的区域,诸如邻市(例如,“SOMA San Franscisco”)。
公开的体系结构不在到地址、地点或商业等的查询位置指向器之间进行区分。而且,数据指向的类型可以延伸而超过一个位置。例如,考虑查询“Piazza Navona附近的Caravaggio”的启发示例,其将返回罗马的纳沃纳广场附近的教堂“San Luigi deiFrancesi”的位置,这包含了艺术家Caravaggio的油画。利用常规的***,该查询返回旅店“Caravaggio”,该旅店远离纳沃纳广场。
诸如类别查询(例如,“芝加哥的餐厅”)和路线查询的查询可以视为更一般的地图搜索查询。第一查询指向视口内的对象的类别。第二查询具有找到方向的任务。这些查询中的任一个均不指向具体的位置,并且因此,会需要额外的处理。
关于多指向器查询,GC查询项指向实体属性:邮政编码、道路名称、商业名称等。将GC搜索区别于现有搜索的是,在常规搜索中,查询项尽可能多地匹配全集中的单个文档。由于不确定性,向用户提议全部按与查询的相关度独立地取回的多个这样的文档。
以下是可以在本文用来描述所公开的体系结构的表示法和定义。
-实体(e)是地理实体,其是由其文本(文本的元素被编址为项或属性)和几何结构表征的对象;通常是道路、地点或商业。
-点实体是具有由一个点表示的几何结构的实体。
-扩展实体是具有由多线或多边形表示的几何结构的实体。
-B图块(T)是概念上由实体E(T)和相关联的级联文本所构成的GC图块。图块尺寸可以变化;图块将与图块交叉的其实体连同事实上提供用于重叠的其N-、E-和NE-近邻一起组装。这些实体称为“与图块连接”。
-H图块(H)是大的图块的层级的元素;ID用于对B图块或实体加标签以使能围绕视口或用户位置进行本地搜索。
-Query(Q=q1,q2,...,qk))是由项qi构成的非结构化短文本。
-视口是在用户体验中显示出地图的部分的定界框。
-空间形状是线、多边形、多线或其近似。
-位置是空间形状的表征。
-修饰语是诸如“附近”、“周围”、“后面”等查询项。
-平索引是在全集中的全部文档文本的安排的逻辑级联。
-正向索引是表示文档文本的每文档索引(PDI)。
-T项是在描述大的管理区域例如城市或州名称或邮政编码时所使用的词语项。
-E项是在它们的地址中的任何实体文本项(除了T项之外)。
-freq(q,e)是项q出现在实体e中的次数。
公开的GCS包括新算法,该新算法使用传统的搜索堆栈,不需要昂贵的在线几何计算,并且能够找到多个搭配的实体。GCS使用几何交叉地理编码器(或空间地理编码器)的新变体。
GCS找到非结构化查询所指向的多个搭配实体。虽然传统的几何交叉地理编码器放弃了利于几何探索的复杂语法的探索,但是GCS重新接纳通用语法分析(在受常规查询处理约束的某程度上)以将修饰语与实体指向项分离且确定“T项”。
在确定了查询项后,GCS延迟对实体的搜索,直至找到共同位置(在图块的粗略级别上),这简化了最终对实体的搜索。另外,GCS使用传统的搜索来操作于被称为图块文档的新方面上。每个图块具有相关联的图块文档。例如,如果表示“Lake Tahoe”的几何对象与图块T交叉,则其将包含在逻辑结构E(T)(一组连接实体)且文本“Lake Tahoe,CA”将添加到图块文档中。本文的描述在每个实例中均不在图块及其相关联的文本图块文档之间进行区分。
在图块文档中不同实体文本级联在一起使得多指向器查询的搜索可行。例如,如果两个道路在图块内交叉且查询包含足够的道路名称的元素,则图块被识别出。虽然许多街道名称在全世界范围内通用,导致有大量的可能的候选对,但是包含其交叉的图块包含了两个名称并且因此这样的可能的图块数量小得多。
将理解的是,实体无需物理上交叉,但是可以仅仅地理上彼此靠近。当图块被找到时,找到该图块内的具体实体的问题是易处理的工作,因为其局限于整个实体全集中的微小的部分。
在一个实现方式中公开的体系结构使用了两步式方法。对于查询Q={q1,...,qk}:
1.找到与查询相关的图块T:以及
2.找到最优地匹配查询的、位于图块内的一个实体或多个实体e1∈E(T),...,es∈E(T)。(注意,也允许部分匹配。)
无需物理上维护逻辑结构E(T)。相反,与图块T所连接的实体可以由图块ID(标识符)元项来标记。这使得上述第二步中的搜索表现得类似于当s=1时对于增广查询Q′=(Q,T)的经典搜索。
在一个示例的实现方式中,B图块(或者本文更一般地称为“图块”)可以是尺寸近似为1.2km x 1.2km(千米)(例如,在赤道上)的地图图块。这提供了对于接近度概念的合理标定。虽然1km接近度是接近度的合理标定,两个非常接近的实体可以位于图块界限的两侧上。这提供了处理重叠2km x 2km图块的动机,因为这些图块确保了位于1km距离内的实体将最终处于一个这样的图块内。
不是物理上构造和列举重叠图块,使用该图块标识的一个详细级别,并且与实际图块A交叉以及与相关联的三个近邻图块即北近邻图块(N)、东近邻图块(E)和NE近邻图块(NE)交叉的实体的图块实体集合E(T)包含在与实际图块A相关联的图块文档中。这样,事实上获得了与减细节量的图块重叠的B图块,但是以较高细节级别四键值(quadkey)来列举。
下面是图块排序的描述。图块列举的方法包括图块显著性、数据分区和本地搜索。根据图块显著性对图块分类包括反映图块中的实体的流行度和其它特征的定义的静态排序。用于离线设备执行的数据分区意指世界可以划分成一些预定义区,并且GCS索引数据可以按区来分区。关于本地搜索,因为许多图块搜索利用用户位置和视口来集中,所以当列举图块时考虑本地性是有用的。
关于实体区域,实体连接到与其在地理空间上交叉的全部级别的图块。另外,实体还连接到在N、E和NE上与交叉图块相邻的全部图块。该方法确保了在一个单位的距离内的任意两个实体将在至少一个图块(以及至多四个图块)内搭配,主要创建重叠图块。
关于实体显著性,实体能够基于多个规则而连接到较大尺寸的图块(例如,8x 8,64x 64等)。实体所连接的最大图块定义其显著性。当确定实体的显著性时,可以应用下面的规则。
在第一规则中,如果在级别图块处某实体类别的频率小于阈值,则相关的实体可以使其显著性升高而使得它们连接到较大的图块,并且因此,变得更“可见”。例如,如果在千米(km)方形图块内(标记为“1x 1”)仅有一个餐厅,则相关的实体连接到8x 8图块;因此,允许1x 1图块与10km半径内的其它实体共同定位。诸如“在xyz位置附近的餐厅”的查询则将具有提供给出增强的地理范围的答案的更佳机会。
在第二规则中,具有某些静态特性的实体,例如总数大于N的城市、州际高速公路、医院、国家公园、著名POI(感兴趣点)等,也可以使其显著性得以提升,从而增强它们的可见性。在第三规则中,具有某些区域跨度的实体,诸如覆盖了较大图块表面的某百分比,或者与某数量的级别图块交叉,能够使其显著性得以提升。
作为一般的规则,与较大的图块连接的实体也能够连接到在其空间范围内的全部较小的图块。反之不成立:实体可以连接到较小的图块(1x 1),而不连接到较大的图块。例如,如果在方形框(1x 1图块)内有许多加油站,则这些加油站将必须以10km标度来表示。“靠近”的概念因此是灵活的,在级别图块表面区域和实体空间和非空间特性所确定的范围内。
在一个实现方式中,GCS在生成器内具有地理编码图块的持续表示会更方便。可替代地,可以在需要的时刻计算出实体显著性和所连接的图块。地理编码运行时索引的构造和更新在下文中描述。
关于构造地理编码运行时索引,一旦提供商数据drop被摄取到生成器中,内容变化被反映为捕获变化的本质的“变化集合”,诸如受数据drop影响的图块(多个)以及通过数据drop添加、移除和更新的实体。
关于创建图块和实体搜索文档,存在索引到图块和实体全集中的文档,每个均在图块搜索期间和查询解析过程的实体搜索阶段中被查询。
例如,考虑地理编码实体的下表的假设情况,全部地理定位在一个1x1图块(“023010203332110”)内。每个项具有标识符(ID)、实体类型、实体名称和地址。
在该设定的上下文中,为“023010203332110”构造的图块文档聚合了给定实体的全部属性。下面是该聚合如何起作用的示例:
-每个实体名称在索引中表示为“as is”,带有到如“.”的drop分离符的处理:
[Geary Blvd],
[Geary Theater],
[Geary Pacific Hospital],
[Franklin Str],
[lst Franklin Bank],
[Geary and Franklin Stake House]
-每个实体名称被令牌化有公知的令牌和分离符(例如,“和(and)”、“.”)被剥除:
[Geary],[Blvd],
[Geary],[Theater],
[Geary],[Pacific],[Hospital],
[Franklin],[Str],
[1st],[Franklin],[Bank],
[Geary],[Franklin],[Stake],[House]
-每个地址被“智能地”令牌化,例如,在分离符之间的项诸如“,”则被围绕具体的关键词(例如,房屋号码、邮政编码、“and”“x”)分解;然后在词语级分离:
[Geary Blvd],[Geary],[Blvd],[SF],[CA],[USA],
[123Geary Blvd],[Geary Blvd],[Geary],[Blvd],[SF],[CA],[USA],
[246Post Str],[Post Str],[Post],[Str],[SF],[CA],[USA],
[Franklin Str],[Franklin],[Str],[San Francisco],[San],[Francisco],[CA],[USA],
[125Geary Blvd],[Geary Blvd],[Geary],[Blvd],[SF],[CA],[USA],
[777Gough Str],[Gough Str],[Gough],[Str],[SF],[CA],[USA]
最后的图块文档则可以是全部这些项的联合体,排序反映它们出现的次数(括号之间):
[Geary](7)
[CA](6),[USA](6)
[SF](5)
[Str](4),[Blvd](4),[Geary Blvd](4),[Franklin](4),
[Franklin Str](2),
[Geary Theater](1),[Geary Pacific Hospital](1),
[1st Franklin Bank](1),[Geary and Franklin Stake House](1),[Theater](1),
[Pacific](1),[Hospital](1),[1st](1),[Bank](1),[Stake](1),[House](1),
[San](1),[Francisco](1),[San Francisco](1)
注意,上述是图块文档构造的简化示范例。在扩展版本中,这能够在索引中捕获关于这些项的附加信息,诸如二元组、三元组等。当构造每个实体文档时,可以采用类似的机制。
实际的聚合逻辑主要取决于如何构造提供商数据。例如,实体的一个模板可以强制地址以较细的粒度级利用诸如“街道号”、“街道名称”、“城市”、“国家”等不同的域来结构化。提供商数据越结构化,图块文档和实体文档的创建越直接。然而,强制过度结构化会限制与提供商接洽的能力。
在上述的示例中,对于ID(A),注意,由于均出现在实体名称域和实体地址域内,所以[Geary Blvd],[Geary],[Blvd]最终被计数两次。提供商数据可以这样的方式被接收/结构化:可能需要域和实体类型的特殊处理。例如,如果实体类型是“道路”,则查找/寻找名称域和地址域内的副本且相应地减少项出现的次数。在该级别处没有引入同义词或变形词名称。这些可以在查询分析流期间生成查询解释的过程中进行处理。
在创建了图块文档和实体文档后,这些文档在相应的图块全集和实体全集中被索引,可以搜索图块全集和实体全集以解析用户查询到图块,然后进一步到实体。实现这的方法包括但不限于,使用现有的索引搜索且构建新的地理空间索引搜索空间。在该后者方法中,可以在图块全集中构造反向索引,以及在实体全集中构造反向索引。因为两者均在结构和功能上等价,所以可以使用相同的解决方案。
一个可能的解决方案是将反向索引构造为语基前缀树。该树中每个着色节点包括对图块(例如,“023010203332110”)的引用,以及支持排序的附加数据,等等。外推到整个图块全集的范围,在全部图块文档内包含的各项(实体属性)在该树中具有节点。节点引用其中图块文档正包含相应项的全部图块。注意,为了解析查询到图块全集,在该实现方式中,无需物理地构建图块文档,而是仅生成上述的反向索引。在该索引中搜索返回图块ID(方块(quad)地址),这是进一步增广查询且针对实体全集发布增广查询唯一所需的。
关于查询分析流,查询Q包括n项的集合,并且还可以包括附加信息,诸如用户位置U、视口V、市场M,等等:
Q={{q1...qn},U,V,M}
初始地,进入的查询被分析而使得检测且相应地处理最直接的地理空间项。这是“查询分析”步骤。该步骤的最终结果是生成排序的查询解释的集合:
Q→{Q1...Qk}
另外,为了产生查询解释,查询分析是下文所述的一个或多个执行流之间的决策因数。
关于第一查询执行流(查询→实体),在国内市场的情况下,大量的查询代表了经由专门化的索引在实体全集中直接解析的几率更高。因此,经由商业、地点、道路和点地址的以下示例索引,通过直接搜索实体全集来加快查询解析。该方法立场能够返回具有高排序的实体集合,因而实现了经由图块达到相同结果的更阶段化方法的捷径。
关于第二查询执行流(查询→图块→实体),在查询直接解析到实体的情况下,从上面不会产生质量结果,查询解释能够在图块全集中搜索,这进一步缩窄在实体全集中的搜索。该更一般的方法可以与使得查询完成阶段分析响应和编写最终答案的直接解析方法并行地触发。
关于构造查询解释,每个查询解释携带着来自原始查询的信息并且具有从以下查询令牌化、初始项解析和解释分数中的一项或多项所得到的项。
-查询令牌化
..规范化:“Apt 300,1234Redmond Way,98052-2123”→“1234Redmond Way98052”
..词干提取:“Avenue”→“Ave”
..词形还原:“Alki,Emerald City”→“Alki,Seattle”
-公知/特殊意义项的初始解析:
..位置:“Boston,MA”→“City:Boston”
..修饰语:“附近”、“北”等。影响查询→图块解析和查询完成阶段;
..非空间属性:“开得晚”、“儿童友好”
..影响过滤器/排序实体结果;
..判定其是:“经度/纬度”
-解释分数:
..决定每个解释的“质量分数”
..将查询解释分数组合成最终排序(例如,经由数学因数化)
查询分析可以得到关于查询项中的一些查询项的先进的知识。这可以来自赋予限定某些项如“Boston”→“City:Boston”的能力的小尺寸快速索引,这使得结果的更快的解析和更高级别的精度。遵从常规的地理编码流,限定的项可以在图块全集中以及进一步在实体全集中进行解析。
下面是用户查询如何用于产生各种解释的示例:
Q:″1 Lake Str.Oklahoma
Q1:″[Lake Street][Oklahoma]″Score(Q1)=5
Q2:″[Lake Street][City:Oklahoma]″Score(Q2)=3
Q3:″[Lake Street][State:oklahoma]″Score(Q3)=2
Q4:″[First Lake Street][Oklahoma]″Score(Q4)=4
Q5:″[First Lake][Street of Oklahoma]″Score(Q5)=1
关于查询到图块的解析,通过查询分析流处理的地理编码查询产生查询解释集合,其中每个均在图块全集中进一步解析。这是“图块搜索”步骤。该步骤的最终结果是确定经排序的图块集合,这在地理空间上缩窄了用户查询的意图:
Q→{T1...Tr}
为达到该目的,将图块集合从搜索选定的查询解释{Q1...Qk}的排序结果中推导为图块的全集:
在这点上,存在多组图块集合,每个查询解释有一组图块集合。所有这些集合的联合表示能应用于用户查询的全地理空间范围。某些图块在这些集合中出现的次数,与其查询解释的原始分数和在图块集合中其实例中的每个实例的排序相结合,最终在最后的图块排序中因数化。这使得实现对最后的图块集合的标准化排序和提取:
为了将多组图块集合合并成最后的排序的图块集合,对于所得到的图块中的每个计算的分数可以是简单的因数化。例如,与所得到的图块中的每个相关联的分数可以在概念上表示如下:
其中i迭代通过全部查询解释Qi,产生包含的图块集合。注意,给予具体的图块的分数的权重考虑到查询的地理空间特性,诸如用户位置、视口、市场。
关于图块到实体的解析,在确定了目标图块后,按它们的上-下排序顺序,利用每个解析后的图块来迭代地增广原始查询。这些查询针对实体全集进一步解析如下:
在上面的步骤3中,将图块项Ti添加到查询具有具体的含义:该项要在搜索中用作“重权重”提示,从而将结果集合范围缩至仅在空间上与给定图块相关的查询。在上面的体系结构示意图中,该逻辑是“实体搜索”步骤的部分并且具有使用在前一步骤中解析的图块来缩窄能应用于查询的最相关的实体集合的目标。
Q→{T1...Tr}→{E1...Eq}
类似于查询到图块解析的情况,取得最后的实体集合暗示着对于每个实体计算全局排序,这考虑到图块排序和每个单独的分数源自于其中出现相应实体的实体集合。
关于结果的相关度排序和查询完成,单个GC结果(以及多个结果是可能的)可以包括如下中的一个或多个:
-在地图上的小定界区域;多边形;
-图钉;点;
-区域内的一个实体或多个实体;
-从排序分数得到的结果的定性度量;
-描述符;例如:
·交叉处(两个街道)、地址等等
·对于单个实体,类别或描述性标签,例如,餐厅,
·单个实体的元数据
·多实体指向器的区域,以及
·用于地址交叉或极小目标位置的图钉。
继续上面的示例,利用SF视口的查询“Geary and Franklin”的可能的返回可以如下:查询“Geary and Franklin”解析为:
-实体:[Geary Blvd],[Franklin Str]→一个点;描述符:交叉处、图钉(相关度=优良)
-实体:[Geary&Franklin Stake House]→一个点;描述符:餐厅、图钉、地址、电话等(相关度=良好)
-实体:[Geary Theater],[First Franklin Bank]→一个包围区域;描述符:区域(相关度=差)
可能的结果的排序包括了查询解释的相关度的评估、图块搜索结果的评估和实体集合结果的评估。搜索排序通常可以从廉价排序到更复杂的最后排序顺序地执行。
结果相关度的计算可以取决于:
-查询,视口、用户位置、可能其它上下文元素,诸如当发布查询时所使用的场所
-返回的类型(交叉处、实体、具有多个实体的区域,等等)
-引至图块的查询解释的置信分数
-引至实体的图块的排序分数
具体地,对于最后的实体集合,可应用如下:
-核心相关度:
·查询字符串与结果中的实体的项的相似度
·实体的流行度
-地理相关度:
·结果(区域)与视口或用户位置的接近度
·结果中的实体的共同定位的程度
·结果区域周围的地点的显著性
-以及其它特征
现在参考附图,其中相似的附图标记通篇用来指代相似的元件。在下面的说明中,为了解释说明的目的,阐述了若干具体的细节从而提供其全面理解。然而,显然,新颖的实施例可以在没有这些具体细节的情况下实施。在其它情况下,公知的结构和设备以框图形式显示从而利于其说明。目的是涵盖落入要求保护的主题的精神和范围内的全部的修改、等同方案和可替代方案。
图1示出了依照公开的体系结构的***100。该***100可以包括表示地理位置的地理空间图块的图块文档的图块索引102以及与图块文档和地理空间图块相关联的地理空间实体的实体文档的实体索引104。
搜索组件106搜索图块索引和实体索引作为处理对地理位置的查询108的部分。搜索组件106利用图块文档来计算候选地理空间图块中搭配的实体并且将最优地理空间实体集合110作为结果返回给查询108。
搜索组件106采用文本和地理空间搜索技术来搜索图块索引和实体索引以识别最优地理空间实体集合110和用于查询106的相关联的地理空间图块。搜索组件110利用图块标识符来生成对查询108的项的不同增广的增广查询。搜索组件110输出作为地理位置和与地理位置相关联的一个或多个实体的结果。
每个图块文档是包括与对应的图块连接(交叉或紧密靠近)的实体的属性的结构化文本文档。每个搭配实体与地理空间图块相关联,并且每个地理空间实体与多个地理空间图块相关联。图块文档表示在对应的地理区域内区分图块尺寸和区分实体密度的图块层级。
***100还可以包括排序组件112,其被配置为对潜在的地理空间图块排序以选定候选地理空间图块且对实体排序以将最佳地理空间实体集合110返回作为结果。应当理解的是,在公开的体系结构中,一些组件可以重排布、组合、省去,且可以包含另外的组件。
图2示出了依照公开的体系结构的基于图块的地理编码器服务的流程图200。示意图200描绘了地理编码器服务的离线执行202和在线执行204二者。离线执行202涵盖了诸如数据获取和摄取、图式化和摄取到搜索文档生成器206中的高级步骤,这产生了图块和实体搜索文档,构造了搜索索引,对索引分区以实现更新的高效处理,以及相关度排序模型训练。
在线执行204覆盖了查询分析流的高级步骤(地理空间规范化、创建查询解释,等等)以及查询执行计划(QEP)。QEP涉及到流行地点(如果可用)的直接搜索的问题、对于每个查询解释的图块搜索的问题、图块搜索结果的标准化和排序、利用用于有范围的实体搜索的图块标识增广查询、每个图块范围的实体搜索的问题、实体搜索结果的标准化和排序以及通过重排序和空间交叉利用找到的实体结束查询。
关于用于摄取和索引的更详细的离线地理编码数据流,提供商提交呈适当的图式化数据文档的形式的提供商数据208(地理编码数据)。提供商数据208包括地理编码实体、实体属性和实体关系,这些呈提供商数据记录的形式。提供商数据208还可以并入诸如变体名称、排序规则等市场特定特性和规则。当这不可能时,可以根据现有的市场(诸如国家的地理区域)来参考特性和/或规则。
提供商数据208在适当的图式化格式数据文档中被摄取到搜索文档生成器206中。地理编码数据表示在生成器206内作为每个均具有附随特性的实体和关系。生成器206摄取过程包括归并(“要创建与生成器中已经存在的地址点相同的地址点吗?”)、富集(“该地址的可通路线点(routable point)是什么?”;“该地址点需要连接的图块是什么?”)、差异更新(“该数据drop中的新的/变化的/移除的地址是什么?”)以及版本(“这是近期提交给生成器的新的<changeset>:这些是该drop中的新的/变化的/移除的实体/特性/关系。”)。
更具体地,提供了将来自不同数据提供商的实体归并的逻辑。携带相似特性和接近位置的记录被识别为属于相同的实体且因此表示在生成器206中。另外,提供了用于包括变体名称生成、可通路线点计算以及图块创建和映射的对数据的地理空间和地理编码富集的逻辑。
关于在线执行204,地理编码运行时索引包括图块索引210和实体索引212。在生成器206中发生了检测到的变化时,触发执行模块以生成并更新图块索引210的图块文档和实体索引212的实体文档(索引210或/和212中的任一者或两者可以是反向索引)。该过程包括:确定变化的本质(添加/改变/移除的实体,受影响的图块),构建受影响的图块文档(公知实体的附加的分类和索引也出现在此,例如,“太平洋”被识别为单独索引的公知特征),以及利用刷新的图块文档来更新运行时搜索索引(210和212)。
关于提供商数据208的表示,地理编码数据(提供商数据208)能够以兼容文档的格式提供给生成器206,这使得生成器摄取过程一般化且自动化。然而,可能不是期望的格式的提供商数据208可以通过软件适配器(例如,独立于生成器206或者生成器206的部分)来处理,该软件适配器将提供商数据207从一种形式(例如,SQL(结构化查询语言)数据库、csv(逗号分离变量)文件等)变换成当前期望的格式以便传递给生成器206的其它过程。
在生成器206中,地理编码实体(带属性)可以表示为具有相关联的特性的图形链接的实体。这些实体可以通过关系来相关(链接)——具体地,每个地理编码实体与其属性、与其所在的地理空间范围、或者在其它条件下与地理编码图块之间的连接。要捕获图块文档(地理编码图块)中的实体数据,实体与图块相关。实体影响球是实体区域和实体显著性的二维概念。
关于在线活动,接收查询108以进行查询分析214。在查询分析214中,将查询项分割成令牌的序列。最常见地,该分割(查询覆写)可以多种方式来完成。然后,对于每个可能的分割开始执行单独的搜索。
有时,项可以模糊地匹配可能的属性。项可以利用对索引内同义词和可替代词的限制来覆写。如果对于特定的项其语义是已知的(例如,根据无争议的置信的结构化调用),这可以使用(例如,城市:西雅图,与仅仅可能是一个街道名称的西雅图不同)。
关于搭配,查询的项可以指向单个实体(如在多个西方国家),或者指向多个实体(如在许多其它国家)。然而,甚至是诸如街道名称的单个实体也可以与相邻城市名称结合给出;因此,是指多于一个(搭配的)实体。相应地,可以通过位置来执行连结。更具体地,不要求确切的位置具有共同的交叉;具有非空交叉的位置的近邻是足够的。
运行时算法(在线执行204)首先搜索位置。在其它属性中,实体具有位置。另外,通过位置来保持双重表示,位置进而是指实体,反之亦然——实体与属性和图块相关联,并且图块与属性和实体相关联。作为位置单元,使用图块,其中图块是地图上的方形。
在查询分析214后,运行时算法(在线执行204)首先试图利用图块搜索216来找到相关的位置以搜索图块索引210。此后,并且仅当找到相关位置时,算法随后才利用实体搜索218查找相关实体(或多个实体)以搜索实体索引212(在查询增广220后,下面进行说明)。换言之,地址查询不视为找到受制于搭配考虑的一个实体或多个实体,但是视为找到受制于查询项考虑的位置(一个图块,本文标示为loc),随后跟着是找到受约束于所找到的位置的实体。在实体搜索218执行之后,执行查询完成222以便最终输出答案224。
关于图块,图块的概念具有两个视角:到实体的链接,以及所得到的数据。首先,图块(图块文档)存储到与图块具有非平凡交叉的实体(例如,国家、州或省、城市或聚居地点、道路、地标、湖泊、公园等)的链接。附加数据得自于链接。无论该数据是什么,要更新它,访问图块所链接的全部实体且再生成该数据。因此,更新仅涉及本地实体。其次,所得到的数据(其链接到图块的实体的属性值)与图块相关联。因此,图块是文本文档。
例如,如果图块与Tahoe湖泊交叉,则词语“Tahoe”可以添加到图块的文档中。图块文档可以根据例行维护来更新。例如,如果添加新的实体,实体触摸(交叉)的新图块可以瞬间更新:利用新实体的属性来扩增图块文档。图块还能够重叠和/或具有可变尺寸。
在离线执行202中,生成图块文档和对应的属性文档。然后,创建图块索引(例如,反向)以使能快速搜索图块文档。在反向索引中,例如,利用每个属性值(关键词),保持包含该值的全部图块文档的列表。
在在线执行204(运行时)中,在分析查询108(在查询分析214中)之后,在图块搜索216中执行对包含尽可能多的查询项的图块的搜索。因此,利用标准搜索和图块索引210(例如,如果反向,则其通过图块文本项来反向)向全部图块文档的集合(全集)发布搜索。项的部分匹配可以是足够的。匹配的项和所找到的图块loc的子集起到了解释的属性B和地理形状G的作用。当找到多个这样的项T、loc时,可以对它们排序,并且对于所需要的每个图块loc,现在可以找到实体。
关于对可能的图块排序,能够利用相关度特征来使用预测机器学习工具(例如,梯度升高树)。这些特征可以包括图块总数、相邻显著性、在图块内的商业的数量和/或它们的聚合静态排序、影响范围(例如,具有Louvre的图块更可能从比其它图块远的地点请求),等等。
特征能够提前上传到索引(称为元流)。除了基于图块的特征之外,还可以采用查询-图块特征。特别地,视口v和位置u导致地理相关度特征:从图块到视口的距离和/或从图块到用户位置的距离。
关于图块注解,除了相关度特征之外,图块文档可以被供应附加项。
-相邻边界。用户经常得到错误的城市:图块可以不仅包含其所属的城市的名称,而且还包含相邻靠近的城市。这改善了召回。
-口语名称。近邻具有口语名称(例如,“市中心区”,“SOMA”)。
-项类别。搜索引擎能够将文档不仅仅处理为一袋词语,而且,区分不同的分隔/类别(例如,锚-文本项比文档主体项起到更重要的作用)。可以通过利用已知语义来强调项的重要度来使用该选项(例如,城市:维也纳比仅仅是维也纳强)。
-实时特征。可以添加实时特征(例如,“警察行动进展中”、“火灾”、“不能停车”、“机场关闭”等)。因此,图块可以视为地球的一小部分的实时的易失性描绘。
-3D特征。图块可利用3D特征来注解(例如,地铁或多层构造)。
-非实体特征。非实体特征包括高官姓名,“难发音的火山”、旅行者信息,等等。
-Web特征。如果网页指向图块内的位置,则图块可以链接到该网页。
-广告。图块是用于采用广告的n个适当的不动产。
关于找到实体,当找到图块loc时,精确地得知哪些查询项T已经成功地匹配以及哪些实体链接到图块。函数FindEntities找到具有项T且约束于图块loc的实体。
总之,不是查找实体,而是搜索特定的图块,图块进而提供了一种更简单的搜索实体的方式。如下面的伪码所写,GCS可以如下:
实体以及特别是感兴趣点(具有纬度和经度数据的特定地址)可以被确切地视作文本文档。因此,实体和感兴趣点可以连同图块一起被索引。如果找到单个这样的对象,则其相关度非常高,并且许多西方的查询会得到这样的单个对象。
图3示出了地理编码器服务的在线执行算法的一般的流程图300。一旦接收到来自用户的查询108,基于查询分析来发现可能的图块,如302处所指示。在304处,然后从图块中发现搭配的实体。在306处,从发现的实体中构造结果。在308处,对结果排序且返回给用户。
图4示出了用于图块地理编码服务的重叠图块的图块***400。在一个实现方式中,B图块可以是具有近似1.2km x 1.2km的尺寸(在赤道处)的地图图块。这提供了对于接近概念的合理标度。虽然1km接近度是接近度的合理标度,两个非常靠近的实体可以位于图块边界的两侧。这提供了处理重叠的2km x 2km图块的动机,因为这些图块确保位于1km距离内的实体最终将在一个这样的图块中。
如之前所表明的,LoD15图块标识可以被使用并且与实际图块A以及与相关联的三个相邻图块即北相邻图块(N)、东相邻图块(E)和NE相邻图块(NE)交叉的实体的图块实体集合包含在与实际图块A相关联的图块文档中。以这种方式,获得了事实上尺寸为LoD14的B图块重叠图块,但是由LoD15四键值来列举。换言之,实际图块A(相关联的图块文档)包括来自粗线界定的方形区域402的实体。该区域部分地与由虚线限定的另一有界方形区域404重叠。两个重叠的图块是区域402的右上(NE)图块,以及区域404的左下(SW)图块。
图5示出了用于不同的实体密度、重要度和/或流行度的不同尺寸的重叠图块的图块***500。如图4所示,地球的空间可以建模为彼此相距单位距离的网格点。在每个点上居中的是表面的方形单位,称为图块。在该方法中,每个地理空间实体由四个图块覆盖。因此,在单位地距离内存在覆盖每两个实体的至少一个以及至多四个图块。
图块***500增强了模型以便也处理世界的不同部分中的不同实体密度。例如,纽约城的地址的空间密度高于堪萨斯州的广阔乡村区域中的相同密度。该差异密度是利用层级图块级来解决的。
层级图块级应用于与本文所述的网格化相同的逻辑上,但是具有更宽的单位距离(例如,10km x 10km,100km x 100km等)。层级层使得低密度实体的地理区域能够由较大的图块502(例如,在左侧的大图块)和高密度的地理区域覆盖,较大的图块捕获高知名度或流行的实体,诸如纽约城的“自由女神像”(例如,在右侧的大图块504)。
在所公开的图块***中,如果实体在至少相同的图块内搭配,则两个实体被视为“彼此靠近”。因此,该***涵盖了不同密度区域内的“靠近”的不同理解。例如,通过找到覆盖城市和咖啡店两者的低分辨率图块(100km x 100km),“靠近KC的Great Bend的咖啡店”将快速返回到距城市二十八英里远的最近的咖啡店。类似地,通过找到覆盖了咖啡店和皇家州级建筑物两者的高分辨率图块(例如,2km x 2km),“靠近NYC的皇家州级建筑物的咖啡店”被快速地解析到距该建筑物一个街区远的咖啡店。
在单个图块级处,每个图块具有两个相关联的概念。图块(图块文档)存储到与该图块具有非平凡交叉的实体(例如,国家、州或省、城市或聚居地点、道路、地标、湖泊、公园、商业等)的链接。附加数据从链接中得到。通过访问图块所链接的全部实体且再生成该数据来更新数据。因此,更新仅涉及到本地实体。另外,图块还可以具有到其中在下面定义的反向索引中提到图块的地点的双向链接。采用该布置来保持图块***能通过新出现的数据更新。
所得到的数据与图块相关联(在图块文档中)。所得到的数据包括所链接的实体的属性值。从该观点出发,图块是文本文档。图块交叉实体包括实体在其图块文档中。可利用例如图块的反向索引来搜索图块文本文档。因此,利用诸如例如“Tahoe”的每个可能的查询项,包含项的图块列表与图块相关联:例如,与Tahoe湖泊交叉的全部图块,以及还有包含Tahoe旅馆、Tahoe餐厅、Tahoe小学等的图块(图块文档)。而且,为促进用户查询的广义识别,不仅将典型名称的属性添加到图块文档中,而且变体和本地名称也添加到图块文档中。
图6示出了层级图块组织和键值的图块示意图600。每个图块(例如,1x 1)在其相关联的图块文档中具有来自较广阔大地区域(例如,2x 2方形)的实体的属性,为此图块本身是SW(左下)角。在该组织中,以重叠的方式覆盖地球而使得每个实体使其属性在四个1x1图块中被索引。另外,存在包含来自地理空间上位于一个单位距离内的任意两个实体(搭配实体)的属性的图块(图块文档)。
上述模型可以实现为通过在选定LoD的确立已久的VETS(虚拟地球图块***)四键值编址方案而编址的图块的1x 1网格。例如,LoD 15图块可以标识为15数位四键值。对于这些图块中的每个图块,图块文档索引来自空间上位于图块内和/或从N方向、NE方向和E方向的相邻图块中的全部实体的属性,如图4所描绘的。
在该示例中,用于四个图块的图块集合602的图块文档包括用于左下图块的实体C和右上图块中的实体A。四个图块的重叠图块集合604具有这样的图块文档:该图块文档包括右下图块中的实体D、右上图块中的实体B以及左下图块中的实体A。实体A由如下两个图块覆盖:图块集合602中的右上图块以及图块集合604中的左下图块。
在呈现606中,描述了图块四键值标识方案。用于图块..030(图块集合602中的左下图块)的图块文档搭配来自实体A和实体C的属性。具有四键值..013的图块搭配来自实体A、D和B的属性;更明确地,图块..013基本覆盖了来自图块..013,..102,..011,..100的实体。在可替代的实现方式中,对于图块..013可以使用笛卡尔坐标系以覆盖区域1≤x≤3,1≤y≤3,该区域是围绕点(2,2)为中心的2x2方形。类似地,图块..120覆盖绕(3,1)为中心的2x2区域。
假设实体A匹配查询项x且实体C匹配查询项y,则诸如“y附近的x”的查询在图块全集中解析为图块..030。假设实体C匹配查询项w且实体B匹配查询项v,则诸如“v附近的w”的查询看起来在图块全集中没有解,因为匹配的实体相距过远;因此,不存在搭配两个属性的图块文档。为解决该情形,1x 1图块可以金字塔形分到更高级的图块(例如,8x8,64x64,等等)。
图7示出了图块示意图700,其中较高重要度或流行度的实体以金字塔形成为单个较大的图块。在示例中,假设实体B和C足够相关而具有在较高级处提升的相关联的显著性,则它们的属性将在较大的图块702中搭配(标记为..0),因此使得“v附近的w”的查询有解。VETS编址方案使得根据区域以及根据LoD二者来进行相邻图块判定。
图8示出了***800,其中关系存储在图块文档中。上述区域802描绘了两个实体;地址804(例如,BLDG#148th Ave NE 98052),以及道路806(例如,148th Ave NE)二者均在一个地理图块(地理编码图块)808的区域中(也标记为021230030212230)。与地理编码图块808的连接经由“地理位置”关系810和812反映。另外,地址804可以经由“可通路线点”关系814直接与道路806相关。该模型使得每个实体不仅与如上面的区域802中的重叠图块连接,而且还与N、E和NE邻近图块连接。
图9示出了示范性的图块文档900。基本上,图块文档是实体文档的级联。考虑例如西雅图图块。在该图块中的每个实体具有“西雅图,WA”作为其结构化地址的部分。利用每个实体重复该共同项将实体添加到图块索引中。该共同项并非如此多地表征实体,而更多的是表征图块自身。在我们的示例中,项“西雅图”和“WA”表征覆盖西雅图的图块的有限数量。
特定于图块的频繁位置属性可以称为T项。T项是利用关于图块位置的具体的预定知识对图块“加标签”的机制。T项包括例如大的城市、县、州、地区或国家的名称。除了T项之外的实体项可以称为E项。实体项特别地出现在实体中且因实体而异。例如,实体“Port ofSeattle Headquarters,2711Alaskan Way,Seattle,WA98121”由E项“Port of SeattleHeadquarters,2711Alaskan Way”和T项“Seattle,WA98121”构成。注意,项“Seattle”的双重角色,其出现了两次,作为E项以及作为T项。
当形成图块文档900时,在一个实现方式中,仅实体文档的E项被级联——T项可以单独地聚合。换言之,图块文档900将具有多于一个的段或区(也称为流)。
E流902包括与图块交叉的实体的级联的实体E项。T流904包括图块900中的实体所共用的位置属性。类别描述符(例如,“加油站”或“公园”)或道路类型(例如,“路”或“大街”)在多个图块中常见,但是不特定于任何特别的图块,并且因此不属于T流。诸如县或邮政编码的常见位置属性特定于多个特别定位的图块,并且因此,确实属于T流。
元流906包括能够辅助搜索聚焦的某一个或多个项,并且包括一些标记。在多于一个全集中的查询富集和搜索的目标是聚焦搜索。经常地,最佳结果是位于显著区域中的流行的全局实体或多个全局实体。另一方面,许多查询是本地的:或者用户具有活跃的视口或者视口可以被暗示。例如,视口可以设定到用户位置周围的某个框。如果视口设定成缺省的,则在垂直地图中同样成立。全局显著且本地靠近的结果构成了聚焦搜索的两种方式。
为了将搜索聚焦到全局显著结果上,一些图块可以利用它们的元流中的元项(例如,GLOBAL)来标记。仅标记图块的小部分。因此,元项的记入列表相对小。将该元项添加到查询中将搜索聚焦到全局图块的小部分上。
为了将搜索聚焦到本地结果上,假设视口和用户位置存在。期望将搜索聚焦到靠近用户位置和/或视口的结果上。对本地结果的附加聚焦可以利用基于距离特征的相关度方法以及基于标识期望的“本地”图块的额外元词的过滤方法来实现。
web流908实现GCS的一般化。web流包括不是来自地理实体而是来自其它信息源的数据,例如高官姓名、旅行者信息、安全信息、近实时事件(例如,警察行动进展中)、用于瞄准具体图块的特定的广告标签以及到提及图块内的实体的页面的web链接。
图10示出了查询富集的***1000。查询富集和增广在本文互换地使用。查询富集阶段由查询处理和注解1002和查询覆写1004构成。查询处理和注解1002步骤将这些事物处理为例如停止词、拼写校正和同义词。在查询覆写1004中,查询被覆写到多个可替代查询中以便单独地执行。可替代查询包括:
1.从第一步骤中得到的查询本身:Q
2.利用指示最流行的图块的元项增广的查询:Q,GLOBAL
3.增广了定位搜索的一个或多个超图块的查询:Q,H1,...,Hs
4.其中一些项被标记为T项的查询:QT
如果找到高度相关的结果,则通用搜索可以终止或者严重受限制。最后,存在多个包含E项“芝加哥”(来自诸如“芝加哥标题”、“芝加哥餐厅”或“芝加哥大街”的实体)的图块,但是有极少包含作为T项的“芝加哥”的图块。假设判定出查询中的项“芝加哥”是T项。这显著地减少了搜索空间,因为焦点仅在T流上。
如果查询较短,则可以校验查询以查看其是否是完全指T实体的导航查询。T索引查找能够解决召回问题。相关度可以稍后来判断。
图11示出了索引搜索***1100。如之前所指示,对于短的查询,如果查询完全是导航查询则可以检查T全集。然而,全部GC查询的大部分通常指向地址、商业、地点及其组合。
标准GCS两步过程[查询→图块→实体]使能通过找到搭配实体组合来满足多指向器查询。然而,如果查询实际上指向单个实体,则两步解决方案会导致某些开销。考虑查询“San Francisco餐厅Paris”。存在它的两个匹配:“Little Paris,1131Stockton Str,SanFrancisco,CA,USA”和“餐厅San Francisco,1Rue Mirabeau,75016Paris,France”。通过首先确定适当的图块来找到这两个单实体结果是昂贵的,因为许多图块包含了项“SanFrancisco”和“Paris”。同时,在实体全集中解析该查询几乎是小事一桩。单指向器查询构成了GC查询的大部分和一些市场中的占优的多数。
因此,作为两步过程的替代方案,可以采用在单独实体全集中的搜索。因此,可以使用三个索引:T索引查找1102、实体搜索1104和B图块到实体搜索1106:
-由Admin-0-3实体形成的T对象的T索引(存储在存储器中)
-单独实体的E图块索引(邮政地址、道路、地点和商业)
-B索引——B图块的索引(由级联实体产生的文档)
E图块索引和B图块索引两者均具有E流、T流、元流和Web流。特别地,元流可以包含H图块(层级图块)的元项GLOBAL或ID。另外,实体文档携带文档所属的B图块的元项。
图12示出了GCS的离线执行阶段的流程图。在1200处,构建重叠图块的初始网格。在1202处,实体集合(N(T)是由具有图块T的实体创建的。在1204处,构建可调尺寸b图块。在1206处,从T-、N-、E-、NE-N(T)累积实体集合E(T)。在1208处,创建B图块T文档。在1210处,利用T项来注解B图块和实体。
在1212处,静态特征被初始化和/或更新。静态特征包括但不限于流行度、点选率、公共交通可用性、区域显著性/安全性、开放时间、电话存在性、评级或者与商业购物商场接近度、道路的道路类别等等。
在1214处,添加H图块和标记(例如,GLOBAL)。在1216处,创建分区并且构建列举顺序。在1218处,构建T实体查找索引。在1220处,构建实体E索引。在1222处,对于图块构建B索引。
关于查询匹配,构建匹配查询Q的候选实体集合。通过将查询项一对一匹配,可以构建不同的候选实体集合。该过程得到查询匹配树。初始地,树仅包括根。当结束时,树叶代表了对于给定查询的全部可能的候选实体集合。从最左项q1开始,匹配多个可能的实体。每个得到从根生长的树枝。利用每个新项qi,新分支添加到树节点中。下面在查询示例上说明查询匹配树的构造:
Q=(q1,...,q7).
在该示例中,假设查询中的每个项匹配多个实体如下:
因为q1∈e1,e3,根具有两个子根:第一子根R1,其中e1匹配q1,以及第二子根R16,其中e3匹配该项。接着,因为仅有一个实体匹配项q2,所以仅一个从第一根R1生长的分支以及仅有一个从第二根R16生长的分支,这导向附加的节点,等等。
本文包含的是代表了用于执行公开的体系结构的新颖方面的示范性的方法的一组流程图。虽然为了说明的简化的目的本文所示的例如流程图表或流程图形式的一个或多个方法被显示和描述为一系列动作,应当理解和意识到,所述方法不受动作顺序限制,因为一些动作可以据此以与如图所示和本文所描述的其它动作不同的顺序发生和/或与其同时发生。例如,本领域技术人员将理解和意识到,方法可以可替代地表示为一系列互相关的状态或事件,诸如状态图。而且,不是在方法中所说明的所有动作都是新颖的实现方式所需要的。
图13示出了依照公开的体系结构的方法。在1300处,基于对地理空间实体的查询针对候选地理空间图块来搜索图块文档全集,全集中的每个候选地理空间图块具有相关联的图块文档。在1302处,从候选的地理空间图块来计算一组目标地理空间图块。在1304处,利用目标地理空间图块来增广查询以创建增广查询。在1306处,利用增广查询来搜索实体全集以找到目标地理空间图块的目标搭配实体。在1308处,目标搭配实体经处理而将最优地理空间实体集合作为结果返回给查询。
该方法还可以包括在图块文档中存储可搜索的与图块交叉的实体的属性。增广动作还可以包括:利用用来搜索实体全集的图块标识符来增广查询。该方法还可以包括将查询处理成n-gram的对应不同序列的多个不同查询。
该方法还可以包括:接收有包括视口或用户位置中的至少一个的查询信息。该方法还可以包括:将图块全集结构化为如相关联的图块文档中所定义的重叠图块集合。该方法还可以包括:根据层级图块级别将图块全集中的图块结构化。
图14示出了依照公开的体系结构的可替代的方法。该方法可以具体体现为包括计算机可执行指令的计算机可读存储介质,当通过硬件处理器执行时,所述计算机可执行指令使硬件处理器执行以下动作。
在1400处,基于地理空间实体的查询针对候选地理空间图块搜索图块文档全集,全集中的每个候选地理空间图块具有相关联的图块文档。在1402处,基于候选地理空间图块的相关度排序从候选地理空间图块来计算一组目标地理空间图块。在1404处,利用目标地理空间图块来增广查询以创建增广查询。在1406处,利用增广查询来搜索实体全集以基于目标搭配实体的相关度排序来找到目标地理空间图块的目标搭配实体。在1408处,目标搭配实体被处理而将最优地理空间实体集合作为结果返回给查询。
计算机可读存储介质还可以包括:将图块全集结构化为如相关联的图块文档中定义的重叠图块集合,以及根据层级图块级别来结构化图块全集中的图块。计算机可读存储介质还可以包括:在图块文档全集中的图块文档中表示在对应地理区域中区分图块尺寸和区分实体密度的图块层级。
计算机可读存储介质还可以包括:在实体全集的实体文档中表示实体和实体属性。计算机可读存储介质还可以包括接收作为执行搜索的搜索服务的输入的文本查询的查询、视口或用户位置中的至少一个。
如在本申请中所使用的,术语“组件”和“***”旨在指代计算机相关实体、或者是硬件、软件和有形硬件的组合、软件或执行中的软件。例如,组件可以是但不限于,诸如微处理器、芯片存储器、大容量存储设备(例如,光驱、固态驱动器和/或磁存储介质驱动器)以及计算机的有形组件,以及诸如在微处理器上运行的过程、对象、可执行程序、数据结构(存储在易失性或非易失性的存储介质中)、模块、执行线程和/或程序的软件组件。
通过示例说明的方式,在服务器上运行的应用和服务器都可以是组件。一个或多个组件可以位于过程和/或执行的线程内,并且组件可以定位在一台计算机和/或分布在两台或更多台计算机之间。用语“示范性的”在本文可用来表示充当示例、实例或示范例。在本文中描述为“示范性的”的任何方面或设计不一定解释为相对于其它方面或设计是优选的或有益的。
现在参考图15,示出了依照公开的体系结构执行地理编码服务的计算***1500的框图。然而,应当意识到,公开的方法和/或***的一些或全部的方面可以实现为片上***,其中模拟、数字、混合信号以及其它功能制作在单个芯片基板上。
为了提供其各方面的附加的上下文,图15和下面的说明旨在提供能够在其中实现各个方面的适当的计算***1500的简要的、一般的描述。虽然上面的说明是在能够运行于一台或多台计算机上的计算机可执行指令的一般上下文中,但是本领域技术人员将意识到新颖的实施例还可以与其它程序模块相结合来实现和/或实现为硬件和软件的组合。
用于实现各个方面的计算***1500包括计算机1502,计算机具有微处理单元1504(也称为微处理器和处理器)、计算机可读存储介质如***存储器1506(计算机可读存储介质/多个计算机可读存储介质还包括磁盘、光盘、固态驱动器、外部存储器***和闪存驱动器)以及***总线1508。微处理单元1504可以是各种商业上可用的微处理器中的任一种,诸如单处理器、多处理器、单核处理单元和多核处理单元和/或存储电路。而且,本领域技术人员将意识到,新颖的***和方法可以利用其它计算机***配置来实现,包括微型计算机、主机型计算机,以及个人计算机(例如,台式的、膝上型的、平板式的PC等)、手持式计算设备、基于微处理器的或可编程的消费电子设备等,其中每个可以与一个或多个相关联的设备可操作地耦合。
计算机1502可以是在支持用于诸如无线通信设备、蜂窝电话和其它能移动设备的便携式和/或移动式计算***的云计算服务的数据中心和/或计算资源(硬件和/或软件)中所采用的多种计算机中的一种。云计算服务包括但不限于,例如作为服务的基础结构、作为服务的平台、作为服务的软件、作为服务的存储设备、作为服务的台式机、作为服务的数据、作为服务的安全和作为服务的API(应用程序接口)。
***存储器1506可以包括计算机可读存储(物理存储)介质,诸如易失性(VOL)存储器1510(例如,随机存取存储器(RAM)和非易失性存储器(NON-VOL)1512(例如,ROM、EPROM、EEPROM等)。基本输入/输出***(BIOS)可以存储在非易失性存储器1512中,并且包括利于计算机1502内的组件例如在启动期间的数据和信号通信的基本例程。易失性存储器1510还可以包括诸如用于缓存数据的静态RAM的高速RAM。
***总线1508提供了用于***组件的接口,包括但不限于***存储器1506与微处理单元1504的接口。***总线1508可以是利用多种商业上可用的总线体系结构中的任一种与存储器总线(具有或不具有存储器控制器)以及***设备总线(例如,PCI、PCIe、AGP、LPC等)进一步互连的多种类型的总线结构中的任一种。
计算机1502还包括机器可读存储子***1514以及用于将存储子***1514与***总线1508和其它期望的计算机组件和电路相接的存储接口1516。存储子***1514(物理存储介质)可以包括例如硬盘驱动器(HDD)、磁软盘驱动器(FDD)、固态驱动器(SSD)、闪速驱动器和/或光盘存储驱动器(例如,CD-ROM驱动器,DVD驱动器)中的一个或多个。存储接口1516还包括诸如例如EIDE、ATA、SATA和IEEE 1394的接口技术。
一个或多个程序和数据可以存储在存储器子***1506、机器可读和可移除存储器子***1518(例如,闪速驱动器形状因数技术)和/或存储子***1514(例如,光、磁、固态)中,包括操作***1520、一个或多个应用程序1522、其它程序模块1524和程序数据1526。
操作***1520、一个或多个应用程序1522、其它程序模块1524和/或程序数据1526可以包括本文所述的例如***、流程图、文档等的项和组件。
一般地,程序包括执行特定任务、功能或实现特定的抽象数据类型的例程、方法、数据结构、其它软件组件等。操作***1520、应用1522、模块1524和/或数据1526中的全部或部分也可以缓存在诸如例如易失性存储器1510和/或非易失性存储器的存储器中。应意识到,公开的体系结构能够利用各种商业上可用的操作***或操作***的组合(例如,作为虚拟机)来实现。
存储子***1514和存储器子***(1506和1518)充当数据、数据结构、计算机可执行指令等的易失性和非易失性存储的计算机可读介质。当通过计算机或其它机器执行时,这些指令会使得计算机或其它机器执行方法的一个或多个动作。计算机可执行指令包括例如使得通用计算机、专用计算机或专用微处理器设备执行某功能或功能群组的指令和数据。计算机可执行指令可以是例如二进制、诸如汇编语言的中间格式指令或者甚至源码。执行动作的指令可以存储在一个介质上,或者可以存储在多个介质之间,使得指令表现为统一地在一个或多个计算机可读存储介质/多个介质上,而无论全部指令是否在同一介质上。
多个计算机可读存储介质(计算机可读存储介质)排除(排除了)传播信号本身,能够由计算机1502访问,并且包括可移除和/或非可移除的易失性和非易失性的内部和/或外部介质。对于计算机1502,各种类型的存储介质适应任何适当的数字格式的数据的存储。本领域技术人员将意识到,可以采用其它类型的计算机可读介质,诸如zip驱动器、固态驱动器、磁带、闪存卡、闪速驱动器、盒等,用于存储用来执行公开的体系结构的新颖的方法(动作)的计算机可执行指令。
用户能够利用诸如键盘和鼠标的外部用户输入设备1528以及通过语言识别所促进的语音命令来与计算机1502、程序和数据交互。其它外部用户输入设备1528可以包括麦克风、IR(红外)远程控件、操纵杆、游戏板、照相机识别***、指示笔、触摸屏、姿势***(例如,眼动、诸如涉及到手、手指、臂部、头部等的身体姿态)等等。用户能够利用诸如触摸板、麦克风、键盘等板上用户输入设备1530来与计算机1502、程序和数据交互,其中计算机1502是例如便携式计算机。
这些以及其它输入设备经由***总线1508通过输入/输出(I/O)设备接口1532与微处理单元1504连接,但是可以通过诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口、短程无线(例如,蓝牙)和其它个域网(PAN)技术等其它接口来连接。I/O设备接口1532还利于使用输出***设备1534,诸如打印机、音频设备、照相机设备等,诸如声卡和/或板上音频处理能力。
一个或多个图形接口1536(也通称为图形处理单元(GPU))提供了计算机1502与外部显示器1538(例如,LCD、等离子体)和/或板上显示器1540(例如,用于便携式计算机)之间的图形和视频信号。图形接口1536还可以制造为计算机***板的部分。
计算机1502能够利用经由有线/无线通信子***1542与一个或多个网络和/或其它计算机的逻辑连接而在联网环境(例如,基于IP)下操作。其它计算机可以包括工作站、服务器、路由器、个人计算机、基于微处理器的娱乐工具、对等设备或其它共用网络节点,并且典型地包括相对于计算机1502所描述的多个或全部的元件。逻辑连接可以包括到局域网(LAN)、广域网(WAN)、热点等的有线/无线连接。LAN和WAN联网环境常见于办公室和公司并且利于企业范围的计算机网络,诸如内联网,全部这些可以连接到诸如因特网的全球通信网络。
当在联网环境中使用时,计算机1502经由有线/无线通信子***1542(例如,网络接口适配器、板上收发机子***等)连接到网络,以与有线/无线网、有线/无线打印机、有线/无线输入设备1544等通信。计算机1502可以包括用于建立经由网络的通信的调制解调器或其它装置。在联网环境中,相对于计算机1502的程序和数据可以存储在如与分布式***相关联的远程存储器/存储设备中。将意识到所示的网络连接是示范性的,可以使用其它建立计算机之间的通信链路的方式。
计算机1502能操作以利用诸如IEEE 802.xx系列标准的无线电技术来与有线/无线设备或实体通信,诸如可操作地布置成与例如打印机、扫描仪、台式机和/或便携式计算机、个人数字助理(PDA)、通信卫星、与无线可检测标签相关联的任何装备件或位置(例如,凉亭、报摊、休息室)和电话进行无线通信(例如,IEEE 802.11空中调制技术)的无线设备。这至少包括用于热点的Wi-FiTM(用于核验无线计算机联网设备的互操作性)、WiMax、和BluetoothTM无线技术。因此,通信可以是如同常规网络的预定义结构或者仅仅是至少两个设备之间的自组织通信。Wi-Fi网络使用称为IEEE 802.11x(a,b,g等)的无线电技术来提供安全的、可靠的、快速的无线连接。Wi-Fi网络能够用于将计算机相互连接,将计算机与因特网连接,以及将计算机与有线网(其使用IEEE 802.3相关技术和功能)连接。
上文已经描述的那些包括公开的体系结构的示例。当然,不可能描述组件和/或方法的每一个可设想的组合,但是本领域普通技术人员可以认识到,许多进一步的组合和置换是可能的。因此,新颖的体系结构旨在涵盖该落入随附的权利要求的精神和范围内的所有这样的改动、修改和变型例。此外,在术语“包含”在具体实施方式或权利要求中使用的范围内,该术语旨在包含性的,以类似于术语“包括”的方式,由于“包括”在用在权利要求中作为过渡词语时做出这样的解释。

Claims (15)

1.一种***,包括:
图块文档的图块索引,所述图块文档表示地理位置的地理空间图块;
实体文档的实体索引,所述实体文档是与所述图块文档和所述地理空间图块相关联的地理空间实体的实体文档;
搜索组件,其被配置为搜索所述图块索引和所述实体索引,作为处理针对地理位置的查询的部分,所述搜索组件利用所述图块文档来计算在候选地理空间图块中的搭配的实体且将最优地理空间实体集合作为结果返回到所述查询;以及
至少一个硬件处理器,其被配置为执行存储器中的与所述图块索引、所述实体索引、以及所述搜索组件相关联的计算机可执行指令。
2.如权利要求1所述的***,其中,所述图块文档中的每个是包括与对应的图块交叉的实体的属性的结构化文本文档。
3.如权利要求1所述的***,其中,所述搜索组件采用文本搜索技术来搜索所述图块索引和所述实体索引以识别针对所述查询的所述最优地理空间实体集合和相关联的地理空间图块。
4.如权利要求1所述的***,其中,所述搜索组件生成具有不同增广的增广查询,以利用图块标识符来查询项。
5.如权利要求1所述的***,还包括排序组件,所述排序组件被配置为对潜在的地理空间图块进行排序以选择所述候选地理空间图块且对所述实体进行排序以返回所述最优地理空间实体集合。
6.如权利要求1所述的***,其中,所述搭配的实体中的每个与地理空间图块相关联,并且所述地理空间实体中的每个与多个地理空间图块相关联。
7.如权利要求1所述的***,其中,所述图块文档表示用于区分图块尺寸并且用于区分在对应地理区域中的实体密度的图块层级。
8.如权利要求1所述的***,其中,所述搜索组件输出作为地理位置的所述结果以及与所述地理位置相关联的一个或多个实体。
9.一种方法,包括如下动作:
基于针对地理空间实体的查询来针对候选地理空间图块搜索图块文档的全集,所述全集中的每个候选地理空间图块具有相关联的图块文档;
根据所述候选地理空间图块计算目标地理空间图块集合;
利用所述目标地理空间图块来增广所述查询以创建增广查询;
利用所述增广查询来搜索实体的全集以找到所述目标地理空间图块的目标搭配的实体;以及
处理所述目标搭配的实体以将最优地理空间实体集合作为结果返回给所述查询。
10.如权利要求9所述的方法,还包括将与所述图块交叉的能够搜索的实体的属性存储在所述图块文档中。
11.如权利要求9所述的方法,其中,增广动作还包括利用用来搜索所述实体的全集的图块标识符来增广所述查询。
12.如权利要求9所述的方法,还包括:将所述查询处理成n-gram的相应不同序列的多个不同查询。
13.如权利要求9所述的方法,还包括:利用所述查询接收包括视口或用户位置中的至少一个的信息。
14.如权利要求9所述的方法,还包括:将所述图块的全集构造为如在所述相关联的图块文档中定义的重叠的图块的集合。
15.如权利要求9所述的方法,还包括:根据层级图块级别来构造所述图块的全集中的图块。
CN201580030106.9A 2014-06-06 2015-06-04 基于图块的地理编码器 Pending CN106462624A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/298,857 US20150356088A1 (en) 2014-06-06 2014-06-06 Tile-based geocoder
US14/298,857 2014-06-06
PCT/US2015/034090 WO2015187895A1 (en) 2014-06-06 2015-06-04 Tile-based geocoder

Publications (1)

Publication Number Publication Date
CN106462624A true CN106462624A (zh) 2017-02-22

Family

ID=53396617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580030106.9A Pending CN106462624A (zh) 2014-06-06 2015-06-04 基于图块的地理编码器

Country Status (4)

Country Link
US (1) US20150356088A1 (zh)
EP (1) EP3152683A1 (zh)
CN (1) CN106462624A (zh)
WO (1) WO2015187895A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491368A (zh) * 2018-03-12 2018-09-04 韩芳 一种基于人工智能的专利撰写方法及撰写***

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9222777B2 (en) 2012-09-07 2015-12-29 The United States Post Office Methods and systems for creating and using a location identification grid
WO2015195923A1 (en) * 2014-06-21 2015-12-23 Google Inc. Tile-based distribution of searchable geospatial data to client devices
US11562040B2 (en) * 2014-09-25 2023-01-24 United States Postal Service Methods and systems for creating and using a location identification grid
US20170039258A1 (en) * 2015-08-05 2017-02-09 Microsoft Technology Licensing, Llc Efficient Location-Based Entity Record Conflation
US10282466B2 (en) * 2015-12-31 2019-05-07 Samsung Electronics Co., Ltd. Machine processing of search query based on grammar rules
US11210279B2 (en) * 2016-04-15 2021-12-28 Apple Inc. Distributed offline indexing
US10248663B1 (en) 2017-03-03 2019-04-02 Descartes Labs, Inc. Geo-visual search
US10678842B2 (en) 2017-03-21 2020-06-09 EarthX, Inc. Geostory method and apparatus
US11334216B2 (en) * 2017-05-30 2022-05-17 Palantir Technologies Inc. Systems and methods for visually presenting geospatial information
CN109997127B (zh) * 2017-06-05 2023-07-18 谷歌有限责任公司 逻辑分段数据处理***
US10713286B2 (en) 2017-06-27 2020-07-14 Microsoft Technology Licensing, Llc Storage of point of interest data on a user device for offline use
EP3451191B1 (en) * 2017-08-29 2024-03-13 Repsol, S.A. Computer implemented method for manipulating a numerical model of a 3d domain
US10949451B2 (en) * 2017-09-01 2021-03-16 Jonathan Giuffrida System and method for managing and retrieving disparate geographically coded data in a database
CA3026837A1 (en) * 2017-12-07 2019-06-07 Fifth Third Bancorp Geospatial market analytics
US10783204B2 (en) * 2018-01-22 2020-09-22 Verizon Patent And Licensing Inc. Location query processing and scoring
CN110727769B (zh) * 2018-06-29 2024-04-19 阿里巴巴(中国)有限公司 语料库生成方法及装置、人机交互处理方法及装置
US10779014B2 (en) * 2018-10-18 2020-09-15 At&T Intellectual Property I, L.P. Tile scheduler for viewport-adaptive panoramic video streaming
US10394859B1 (en) 2018-10-19 2019-08-27 Palantir Technologies Inc. Systems and methods for processing and displaying time-related geospatial data
US11175157B1 (en) 2018-10-24 2021-11-16 Palantir Technologies Inc. Dynamic scaling of geospatial data on maps
US10805374B1 (en) 2019-08-19 2020-10-13 Palantir Technologies Inc. Systems and methods for providing real-time streaming data processing at edge servers
WO2023239759A1 (en) * 2022-06-09 2023-12-14 Kinesso, LLC Probabilistic entity resolution using micro-graphs
CN115329221B (zh) * 2022-10-09 2023-08-01 北京邮电大学 一种针对多源地理实体的查询方法及查询***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174282A (zh) * 2006-11-03 2008-05-07 鸿富锦精密工业(深圳)有限公司 图库管理***及方法
CN102395965A (zh) * 2009-04-17 2012-03-28 弗兰霍菲尔运输应用研究公司 用于在数据库中搜索对象的方法
CN102779148A (zh) * 2011-04-29 2012-11-14 哈曼贝克自动***股份有限公司 产生数据库的方法、导航装置和确定高度信息的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734412B2 (en) * 2006-11-02 2010-06-08 Yahoo! Inc. Method of client side map rendering with tiled vector data
US20130073541A1 (en) * 2011-09-15 2013-03-21 Microsoft Corporation Query Completion Based on Location
US8914393B2 (en) * 2012-11-26 2014-12-16 Facebook, Inc. Search results using density-based map tiles
US9201898B2 (en) * 2013-05-15 2015-12-01 Google Inc. Efficient fetching of map tile data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101174282A (zh) * 2006-11-03 2008-05-07 鸿富锦精密工业(深圳)有限公司 图库管理***及方法
CN102395965A (zh) * 2009-04-17 2012-03-28 弗兰霍菲尔运输应用研究公司 用于在数据库中搜索对象的方法
CN102779148A (zh) * 2011-04-29 2012-11-14 哈曼贝克自动***股份有限公司 产生数据库的方法、导航装置和确定高度信息的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491368A (zh) * 2018-03-12 2018-09-04 韩芳 一种基于人工智能的专利撰写方法及撰写***

Also Published As

Publication number Publication date
US20150356088A1 (en) 2015-12-10
WO2015187895A1 (en) 2015-12-10
EP3152683A1 (en) 2017-04-12

Similar Documents

Publication Publication Date Title
CN106462624A (zh) 基于图块的地理编码器
WO2020228706A1 (zh) 基于围栏地址的坐标数据处理方法、装置和计算机设备
CN109145169B (zh) 一种基于统计分词的地址匹配方法
Knowles et al. Placing history: how maps, spatial data, and GIS are changing historical scholarship
WO2016150407A1 (zh) 一种基于地址解析数据的建设用地类型快速识别方法
CN102169637B (zh) 面向城市交通的动态路径诱导方法
CN103793403B (zh) 推送与搜索结果相关联信息的方法与装置
CN103885983B (zh) 一种旅游线路的确定方法、优化方法以及装置
CN107391706A (zh) 一种基于移动互联网的城市旅游问答***
Hu et al. Extraction and monitoring approach of dynamic urban commercial area using check-in data from Weibo
Schroder et al. Giving the ‘right’route directions: The requirements for pedestrian navigation systems
KR20220160534A (ko) 지리적 위치 구역의 인코딩 방법, 인코딩 모델을 구축하는 방법 및 장치
CN107832404A (zh) 一种poi信息的补全方法
CN102262666A (zh) 一种在电子地图上处理分类信息的***
CN112528639B (zh) 对象识别方法和装置、存储介质及电子设备
CN111625732A (zh) 地址匹配方法及装置
CN106874384A (zh) 一种异构地址标准转换及匹配方法
CN115129719A (zh) 一种基于知识图谱的定性位置空间范围构建方法
CN110532464A (zh) 一种基于多旅游上下文建模的旅游推荐方法
CN1467692A (zh) 一种电子地图的制作方法
Liu Dynamic analysis of multicenter spatial structure with big data in smart city
Zhang et al. Enrichment of topographic road database for the purpose of routing and navigation
CN115511149A (zh) 一种公共服务设施服务区划分方法、装置、设备及介质
CN111353011B (zh) 地点数据集及其建立方法和装置、数据处理方法和装置
KR20220026602A (ko) 노선 추천방법, 장치, 전자기기, 저장매체 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170222