CN112689740A - 微调的导航方向 - Google Patents
微调的导航方向 Download PDFInfo
- Publication number
- CN112689740A CN112689740A CN201880097498.4A CN201880097498A CN112689740A CN 112689740 A CN112689740 A CN 112689740A CN 201880097498 A CN201880097498 A CN 201880097498A CN 112689740 A CN112689740 A CN 112689740A
- Authority
- CN
- China
- Prior art keywords
- navigation
- destination
- entry point
- user
- processors
- 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
Links
- 230000004044 response Effects 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 69
- 238000012549 training Methods 0.000 claims description 32
- 238000010801 machine learning Methods 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 239000013598 vector Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013210 evaluation model Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3691—Retrieval, searching and output of information related to real-time traffic, weather, or environmental conditions
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3476—Special cost functions, i.e. other than distance or default speed limit of road segments using point of interest [POI] information, e.g. a route passing visible POIs
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3863—Structures of map data
- G01C21/3867—Geometry of map features, e.g. shape points, polygons or for simplified maps
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3885—Transmission of map data to client devices; Reception of map data by client devices
- G01C21/3896—Transmission of map data from central databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3863—Structures of map data
- G01C21/387—Organisation of map data, e.g. version management or database structures
- G01C21/3881—Tile-based structures
Abstract
导航系统接收用于到目的地的导航方向的请求。响应于该请求,导航系统识别出包围多个进入点的二维形状,目的地被逻辑地映射到该二维形状。导航系统还从多个进入点中选择进入点作为优选目的地,并响应于该请求生成到该优选目的地的导航方向。
Description
技术领域
本公开涉及用于提供导航方向的系统和方法,更具体地,涉及向与地理区域相关联的地点提供微调的导航方向。
背景技术
本文提供的背景描述是为了总体呈现本公开的背景的目的。目前命名的发明人的工作,其在背景部分中描述的范围内,以及在申请时可能无法以其他方式合适作为现有技术的本描述的方面,既不明确也不暗示承认为针对本公开的现有技术。
如今,众多电子设备(诸如个人计算机、平板电脑、移动电话、专用导航仪等)提供了地理区域的数字地图和用于在地理位置之间导航的逐步方向。数字地图和/或导航方向可以经由专用软件应用(诸如地图和导航应用)以及经由通用软件应用(诸如网络浏览器)来提供。
在一些情况下,这些应用提供到某一地方的地理坐标(例如,纬度和经度)的导航方向,例如,用户可以通过选择地图上的点来指定该地方。对于一些地理实体,由地理服务使用的数据库存储了与该实体相关联的点,以用于导航目的。因此,例如,具有多个站台、停车场、各种设施等的火车站可以被映射到单一点,并且一些地理应用使用这个点以生成到该火车站的导航方向。然而,这些地理坐标并不总是对应于该地方的最优甚至有效的进入点(access point)。
在其他情况下,用户指定两条街道的交叉点,以及应用提供到在该交叉点处的街道地址的引导,但该街道地址可能不对应实际的进入点,诸如建筑物的入口。然而在其他情况下,用户可以请求到自然公园、山、购物中心等的驾驶方向,而现有的应用简单地提供到对应区域的地理中心附近的道路上的地点的导航方向,该地点并不总是与用户从其进入目的地的位置相对应。
发明内容
一般而言,本公开的系统接收用于到某一目的地的导航方向的请求,以及作为响应,生成到用户可能发现方便进入该目的地的位置的导航方向,该位置以下称为“进入点”。在一些情况下,导航方向的请求包括地理坐标集,诸如纬度和经度,并且系统生成到接近具有这些地理坐标的点的街道地址的导航方向。在其他情况下,导航方向的请求已经包括街道地址,但系统生成了到完善的街道地址或到与所请求的街道地址不是精确地一致但定义了到该目的地的更好的进入点的点的导航方向。还有些情况下,导航方向的请求提到了某一区域,而系统生成了到不一定与该区域的几何中心一致的进入点的导航方向。因此,系统提供“微调的”而不是传统的到目的地的方向。
系统可以确定包含目的地的多个候选进入点以及不是候选进入点的其他点的二维几何形状。为此,系统可以使用卫星图像、街道级照片、由用户提交的照片等来识别包围地理区域的自然和/或人工边界。对于一些地理实体,系统生成包含了比地理实体单独更多内容的二维形状。因此,例如,系统可以在地图数据库中存储与某一地标建筑的足迹相对应的二维形状,以及包围该地标建筑以及一个或多个停车库的另一二维形状。
在各种实施方式中,系统鉴于如来自多个用户的先前导航请求和其他聚合数据、到请求导航方向的用户的目的地的先前导航会话的指示、与请求导航方向的实体有关的上下文信号(例如,操作导航应用的用户的交通模式、引导访问者到某一目的地的网站的参数)等这样的信号生成到进入点的导航方向。
在一些实施方式中,当从目的地可用的多个进入点当中选择进入点时,系统启发式地使用这些信号。例如,当目的地是国家公园时,如果导航方向的请求从预订网站来到,系统可以选择国家公园内或附近的酒店。在其他实施方式中,系统利用机器学习技术来确定用户从哪一个或多个位置进入目的地。更具体地,系统可以构建和训练机器学习模型以确定用户在不同环境下如何进入各种目的地。例如,请求导航方向到山地的用户可能倾向于从某个停车场进入徒步路径或缆车,并且系统可以应用机器学习模型来确定该进入点和类似的进入点。进一步地,系统在各种实施方式中可以应用实时交通数据、卫星图像等,以鉴于候选进入点与目的地之间的潜在延迟进一步调整目的地,并鉴于这些附加信号选择最优进入点。
这些技术的一个示例实施例是提供导航方向的计算机实施的方法。该方法包括:由一个或多个处理器接收到目的地的导航方向的请求;由一个或多个处理器识别目的地被逻辑地映射到的包围多个进入点的二维形状;由一个或多个处理器从多个进入点当中选择特定的进入点作为优选的目的地;以及由一个或多个处理器响应于请求提供到优选目的地的导航方向。
这些技术的另一示例实施例是客户端设备,其包括一个或多个处理器、用户界面和非暂时性计算机可读存储器。存储器存储指令,当由一个或多个处理器执行时,这些指令使客户端设备(i)经由通信网络向服务器发送到目的地的导航方向的请求,(ii)响应于该请求,接收到从被逻辑地映射到包括目的地的二维区域的多个进入点当中选择的进入点的导航方向,以及(iii)经由用户界面提供导航方向。
这些技术的又一示例实施例是计算系统中用于确定目的地的优选进入点的方法。该方法包括确定表示包括地理实体的地理区域的二维形状,生成训练数据,该训练数据包括(i)用户请求到其的导航方向的多个目的地,以及(ii)对于所述多个目的地中的每一个目的地,用户在完成到相应目的地的相应导航会话后前往的地理区域内的相应位置;使用训练数据训练机器学习模型,以及使用该机器学习模型识别某一目的地的优选进入点。
附图说明
图1A是示例系统的框图,该系统中可以实施提供微调的导航方向的技术;
图1B是示例机器学习模型的框图,图1的系统在生成微调的导航方向时可用该机器学习模型确定进入点;
图2A是示例用户界面屏幕,现有的地图应用可以生成该用户界面屏幕以提供到包括相对大的地理区域的购物中心的导航方向;
图2B示出了与图2的购物中心相对应的二维形状内的示例进入点,图1的系统可以识别这些进入点;
图2C是示例用户界面屏幕,图1的地图应用可以生成该用户界面屏幕以提供到从进入点当中选择的优选目的地的微调的导航方向;
图3示出了对应于示例体育场的二维形状内的示例进入点,图1的系统可以识别这些进入点;
图4是示例用户界面屏幕,图1的地图应用可以生成该用户界面屏幕以提供微调的导航方向;
图5A是示例用户界面屏幕,现有地图应用可以生成该用户界面屏幕以提供到公园的导航方向;
图5B是示例用户界面屏幕,图1的地图应用可以生成该用户界面屏幕以提供到图5A的公园的微调的导航方向;
图6是使用机器学习模型确定目的地的优选进入点的示例方法的流程图,该方法可以在图1的服务器中实施;
图7是提供微调的导航方向的示例方法的流程图,该方法可以在图1的服务器中实施;并且
图8是提供微调的导航方向的示例方法的流程图,该方法可以在图1的客户端设备中实施。
具体实施方式
本公开的系统实施了下文讨论的用于生成微调的导航方向的一种或几种技术。本公开的系统可以生成到用户可以从其有效地进入目的地的进入点的导航方向,而不是总生成到目的地的地理坐标(或者,当目的地对应于某一区域时,该区域的中心点)的导航方向。为此,各种实施方式中的系统可以使用例如历史数据和其他聚合信号、与请求导航方向的用户具体有关的信号、与导航方向的请求的时间和地点有关的上下文信号(contextualsignal)等。
首先参考图1A和图1B讨论本公开的系统可以在其中操作的示例计算环境,随后有参考图2A-图5B若干示例用例的讨论,并且再随后有可以在图1的系统中实施的若干示例方法的讨论。
参考图1A,其中可以实施上文概要的技术的示例计算环境100包括示例客户端计算设备102,其可以是例如个人计算机、便携式设备,诸如平板电脑或智能手机、可穿戴计算设备、专用汽车导航仪、嵌入汽车的头部单元的设备等。一般来说,计算环境100可以包括任何合适数量的客户端计算设备。
计算环境100还包括由地图和导航服务提供商操作的一个或多个服务器104。服务器104可以向客户端计算设备102和其他客户端设备提供地图数据和导航数据。计算环境100一般可以包括任何合适数量的与交通有关的内容和/或数据库的提供商,诸如火车、公共汽车、渡轮等的调度和路线信息的提供商。服务器104和客户端计算设备102可以经由网络108进行通信,例如,该网络108可以是广域网(诸如互联网),并且包括有线和/或无线通信链路。
服务器104可以通信耦合到存储各种地理区域的地图数据的数据库110。地图数据可以指定地理特征(诸如道路、建筑物、湖泊、河流、公园等)的形状和各种特性。地图数据可以以任何合适的格式(诸如矢量图形、栅格化图像、用于标签的文本等)存储,并且根据任何合适的原理组织(例如,在一定的缩放级别上覆盖相同数量区域的方形地图砖)。地图数据还可以包括从各种有利点拍摄的街道级图像和照片。此外,地理区域的地图数据还可以包括关于位于该地理区域内相应位置的实体企业的信息:操作的时间、产品和服务的描述、用户评价等。
地图数据110可以包括二维形状111的集合,二维形状111表示与现实世界的地理特征的足迹相对应的地理区域,或者在一些情况下,地理区域包括多个地理特征的多个足迹。例如,一个二维形状111可以对应于单个建筑物的足迹,另一二维形状111可以对应于购物中心,然而另一二维形状111可以对应于自然公园等。其他二维形状111可以表示包括通常相互关联的几个地理特征的地理区域。例如,在大都市区域中,二维形状111可以包含受欢迎的地标和若干有关的附近地理特征,诸如停车库、酒店、餐厅、道路等。作为一个示例,某一二维形状111可以包含大学校园,其包括多个建筑、小径、公园等。一般来说,二维形状111可以具有任何合适的大小和形状,并且多个二维形状111可以以重叠或非重叠的方式覆盖地理区域。例如,一个实施方式中的二维形状111是平铺的,从而地图数据的全部由邻接但不重叠的二维形状111表示。在一些情况下,地理区域中的每个点被映射到至少一个二维形状111。如下面更详细地讨论的那样,边界检测器126可以使用卫星数据、街道级图像、用户提交的照片等来生成二维形状111的描述。
二维形状111还可以包围多个进入点,这些进入点可以对应二维形状111内的感兴趣的点。例如,对于对应于建筑物的二维形状,对应的进入点可以指示建筑物的入口/出口。在另一示例中,对于对应于购物中心的二维形状,进入点可以对应于购物中心的入口、购物中心的停车场等。数据库110可以存储一个或多个进入点连同关于二维形状111的至少一些二维形状的进入点的附加信息。当服务器104接收用于到二维形状111中的一个之内的终点的导航方向的请求时,进入点选择器124可以如下文更详细讨论的那样选择进入点,并且路线引擎122可以生成到该进入点而不是导航方向的请求中包括的端点的导航方向。
对于二维形状111中的至少一些二维形状,数据库110可以存储相应进入点的权重或分数。然后,服务器104可以选择二维形状111的具有最高权重的进入点作为优选进入点,因此作为导航方向的目的地。在操作中,服务器104可以调整进入点的权重,增加进入点,删除进入点等。在下文更详细讨论的其他实施方式中,服务器104使用机器学习模型以根据信号集合从多个候选进入点当中选择进入点。
服务器104还耦合到历史数据库112,该历史数据库存储了多个用户的匿名轨迹,这些轨迹中的每一个例如可以由位置/时间元组组成。在一些实施方式中,用户操作某些控制和/或安装某些应用以指示服务器104可以使用他们的导航数据来识别和选择进入点。在一些情况下,匿名的用户轨迹指示用户在完成导航会话后多快到达某些目的地,例如,用户在到达目的地后是否可以停车(或者倾向于在到达目的地后在四周驾驶一些时间),在完成导航会话后用户倾向于退回去(backtrack)或步行的程度等。此外,用户可以操作某些控制和/或安装某些应用来指示服务器104在为用户选择进入点时可以使用该用户先前的路线和轨迹。因此,例如,历史数据库112中的数据可以指示,虽然大多数用户前往地理区域中的一个进入点,但提交导航方向请求的用户先前前往相同地理区域中的另一进入点。
服务器104还可以通信耦合到用户数据库114,该用户数据库114存储操作客户端设备(诸如设备102)的用户的偏好、设置等。类似于上文示例,用户可以操作某些控制和/或安装某些应用,以指示服务器104可以使用他们的偏好、设置等来个性化进入点。作为一个示例,数据库114中的用户特定数据可以指示特定用户经由特定进入点先前进入了目的地,并且,当该用户随后请求到目的地的导航方向时,服务器104可以选择该用户偏好的进入点,而不是大部分常用的进入点。
一般来说,服务器104可以接入任何合适数量的数据库,诸如那些存储当前交通数据、当前天气数据、商业数据(广告、优惠、优惠券等)、事件数据(例如,音乐、电影、音乐会)、关于公共交通的信息(例如,各种类型的公共交通的调度、车站的位置、车站的进入信息)、共乘信息等。
继续参考图1A,服务器104包括一个或多个处理器120和非暂时性存储器(例如,硬盘、闪存驱动器),该非暂时性存储器存储实施导航系统的指令,该导航系统包括路线引擎122、进入点选择器124和边界检测器126。存储器还可以存储参考图1B更详细讨论的进入点机器学习模型128。实施模块122、124和126的指令在一个或多个处理器120上是可执行的。
使用存储在数据库110中的地图数据,路线引擎122可以生成穿越地理区域的路线和相应的导航方向。具体地,路线引擎122可以从客户端设备(诸如设备102)接收导航方向的请求。该请求可以包括起始点和目的地(或终点),并且进入点选择器124确定与目的地对应的进入点。然后,路线引擎122可以生成到该进入点的导航方向。
在一些实施方式中,在服务导航方向的请求时,进入点选择器124启发式地使用来自如数据库112的这种源的各种聚合信号,来自如数据库114和客户端计算设备102的这种源的用户特定信号,以及如客户端计算设备102、实时天气服务、报告临时事件的新闻源等的这种源的上下文信号来选择进入点。作为启发式地应用上下文信号的一个示例,地图数据库110可以存储具有分别对应于酒店、游客中心和小道口的若干个进入点的表示自然公园的二维形状111;当导航方向的请求通常参考自然公园时,进入点选择器124可以在导航请求从徒步网站到来时选择小道口的位置作为进入点,在导航请求从酒店预订网站到来时选择酒店的位置,以及在所有其他情况下选择游客中心的位置。
作为启发式地应用聚合信号的示例,进入点选择器124可以确定,请求到电影院的导航方向的大多数用户将车停在电影院以南一个街区的停车库中,并且选择该停车库作为进入点。此外,作为启发式地应用用户特定信号的示例,当信息可用时,进入点选择器124可以确定特定用户通常使用街道停车而不是停车场或停车库,并选择离目的地最近的无停车限制的街道段作为进入点。
一般来说,进入点选择器124可以以任何合适的组合使用上文讨论的信号,并且在一些情况下,当启发式地使用信号的组合时,可以对这些信号分配相应的权重。因此,当不同的上下文信号指示不同的进入点时,进入点选择器124可以使用相应的权重来确定应该控制哪个信号。在其它实施方式中,进入点选择器124使用如参考图1B讨论的机器学习技术。
在一些实施方式中,进入点选择器124还以批处理模式操作,以处理若干二维形状111,识别相应的进入点,并将进入点存储在数据库110中。以这种方式,当路线引擎122实时服务于导航方向的请求时,进入点选择器124可以从地图数据库110中选择先前识别到的进入点之一。
在操作中,边界检测器126可以分析卫星图像、街道级照片、用户提交的照片等,以识别墙壁、栅栏、自然障碍物等,以确定地理实体的边界。例如,边界检测器126可以确定被栅栏界定的区域很可能对应于地理实体,并将边界的描述存储为地图数据库110中的多边形。每个多边形包围二维形状,诸如上面讨论的形状111。边界检测器126在一些实施方式中为相同的位置定义多个形状,以根据不同的上下文使用。例如,与棒球场相关联的二维形状可以在没有安排比赛时较小,而正好在比赛之前和比赛期间较大。此外,边界检测器126可以以重叠的方式定义二维形状,因此可以在白天期间将位于繁忙的市中心的某一停车库逻辑映射到办公楼,并在晚上期间将其映射到附近的音乐场所(如在本公开中使用的,逻辑映射可以指在地理实体和由形状定义的地理区域之间或在多个地理实体之间创建关联)。路线引擎122可以确定,当具有特定地理坐标的点在多边形内时,路线引擎122应该提供到由该多边形所包围的进入点之一的导航方向。如上所述,进入点不需要精确匹配该导航方向的请求指定的地理坐标。
继续参考图1A,客户端计算设备102可以包括存储器130、一个或多个处理器132、网络接口134、用户界面(user interface,UI)136和传感器138。存储器130可以是非暂时性存储器,并且可以包括一个或若干合适的存储器模块,诸如随机存取存储器(randomaccess memory,RAM)、只读存储器(read-only memory,ROM)、闪存、其他类型的持久性存储器等。网络接口134可以支持任何合适的通信协议,以经由通信网络108与远程服务器和其他设备进行通信。UI 136可以包括输入设备(诸如触摸屏、键盘、麦克风等)和输出设备(诸如屏幕、扬声器等)的任何合适组合。取决于实施方式,一个或多个传感器138可以包括检测客户端计算设备102的位置的全球定位系统(global positioning system,GPS)模块、确定客户端计算设备102的方向的指南针、确定旋转和倾斜的陀螺仪、加速度计等。
存储器130存储操作系统(operation system,OS)140,其可以是任何类型的合适的移动或通用操作系统。存储器130还存储地图和导航应用142,其可以被配置为生成交互式数字地图和输出导航方向。地图应用142可以从地图数据数据库110和/或服务器104接收以栅格(例如,位图)或以非栅格(例如,矢量图形)格式的地图数据。在一些情况下,地图数据可以被组织成层,诸如描绘道路、街道、自然形态等的基本层,描绘当前交通状况的交通层,描绘当前天气状况的天气层,描绘到达目的地的路径的导航层等。地图应用142可以以数字地图上的图形叠加、以包括文本和/或图像的一系列指令、以经由扬声器的发声指令集合或其任何合适的组合的方式提供导航方向。例如,地图应用142可以经由UI 136原生地或者经由车辆的头部单元以投影模式提供数字地图和导航指令。
为简单起见,图1A示出服务器104仅作为服务器设备的一个实例。然而,根据一些实施方式,服务器104包括一个或多个服务器设备的组,每个服务器设备配备一个或多个处理器并且能够独立于其他服务器设备操作。在这样的组中操作的服务器设备可以单独地(例如,基于可用性)处理来自客户端计算设备102的请求;以分布式的方式处理来自客户端计算设备102的请求,其中与处理请求相关联的一个操作在一个服务器设备上执行,而与处理相同请求相关联的另一操作在另一服务器设备上执行;或者根据任何其他合适的技术处理来自客户端计算设备102的请求。对于本讨论的目的,术语“服务器”可以指单个服务器设备或两个或更多个服务器设备的组。
现在参考图1B,在一些实施方式中,进入点选择器124使用各种输入信号、相应的标签、用户反馈数据等来训练进入点机器学习模型128。进入点选择器124可以接收各种输入152、154、156、160和170作为训练数据,并经由特征提取函数150将这些数据应用到模型128中。例如,函数150之一可以处理接收到作为出行信号160的部分的匿名用户的轨迹,以确定在导航会话完成后到达最终目的地花费该用户多长的时间,以生成某一时间度量;函数150的另一个函数可以测量该匿名用户在停车后到达目的地所走的距离。这些度量可以与一个实例中与导航用户到达某一点相关联的参数集合相对应,并且可以包括在某一特征向量中。函数150可以为多个点生成各种特征向量,并将点的集合与对应于地理实体的二维形状(例如,存储在数据库110中的二维形状111)相关联。
一般而言,进入点选择器124可以使用监督学习、无监督学习、强化学习或任何其他合适的技术来训练模型128。进入点选择器124可以将模型128训练为标准回归模型。在其中搜索空间大的情况下,例如,进入点选择器124可以将模型128离散化为用于地图砖的组。
在图1B的示例配置中,训练数据包括地理坐标150、街道地址152和边界数据154作为输入。作为更具体的示例,用于训练的数据集可以包括导航请求中包括的地理坐标、包括这些地理坐标的地理实体的边界、以及当请求到这些地理坐标的导航方向时用户前往到其的街道地址,这些数据集可以在训练期间被用作标签。
出行信号160可以包括聚合的用户日志和/或可以与其他信号152、154、156和170联合使用的匿名的个人信号。出行信号160可以包括轨迹数据161,该轨迹数据部分地指示了在到达某一目的地(例如,导航方向的请求中包括的街道地址)后用户是否倾向于驾驶到不同的位置(例如,车库)、在到达目的地后用户是否掉头、在停车前用户在附近驾驶了多长时间、在使用交通工具后用户是否步行到目的地等。停车数据162可以指示在到达目的地后用户是否停车,在停车后用户是否步行到目的地等。延迟数据163可以指示完成导航会话和到达目的地之间的时间。
如图1B中进一步示出的,进入点选择器124可以使用上下文信号170进一步训练模型128。例如,请求者数据171可以识别导航方向的请求的源(例如,在客户端设备上执行的应用、专门用于特定类型的活动或业务的网站、与某一话题有关的电子邮件消息),至少是因为出于不同目的进入相同地理位置的用户可能需要不同的进入点。例如,到访芝加哥的游客以及当地人可能会请求用于到威利斯大厦的导航方向。尽管两种类型的用户可以使用相同的导航应用(例如,图1A的应用142)并以相同的方式指定目的地,但在一些情况下,导航应用可以将某些类型的用户自动识别为游客,因此选择游客入口作为进入点。对于其他用户,导航应用可以选择租户入口作为进入点。更一般地,请求者数据171可以识别导航方向的请求可能与其相关的活动的类型。
除了,或与其识别活动的类型,请求者数据171还可以包括特定于与导航方向的请求相关联的用户的一个或多个参数(前提是用户通过操作某些控制和/或安装某些应用指示进入点选择器124可以以这种方式利用这些参数)。如上文参考启发式技术所讨论的,特定于用户的参数的示例可以包括:请求者是与导航方向的请求中的目的地相对应的建筑物中的租户(并且因此可能需要租户入口,可以对于停车具有不同的要求等)的指示;请求者可能需要特殊的进入点(诸如轮椅通道)的指示;请求者更喜欢楼梯而不是电梯的指示;用户更喜欢街道停车而不是停车场或停车库的指示等。
上下文信号170还可以包括识别与地理实体相关的时间、持续时间和活动类型的临时事件数据172(例如,预定在某一时间开始的街道游行,并且预计会影响到前往该目的地、在目的地的停车、进入建筑物)。此外,上下文信号170可以包括识别用户如何到达目的地的交通模式数据173。例如,骑自行车到某一目的地的用户(例如,由于自行车架的可用性)可能倾向于选择某些进入点,而行人可能倾向于选择其他进入点,并且驾驶员可能仍然倾向于选择在其可以停车的其他进入点。
此外,上下文信号170还可以包括指示何时发生某一导航会话的当日时间数据。一般来说,例如,由于交通,在不同的时间,不同的进入点可以是优选的。尽管现在的许多导航应用在生成导航方向时考虑了交通,并试图鉴于当前的交通状况选择最优路线,但这些系统导航到相同目的地。另一方面,模型128可以向进入点选择器124指示,进入点选择器124应该鉴于交通而改变目的地。类似地,模型128可以鉴于天气数据175而调整目的地,上下文信号170也可以包括该天气数据。更一般地,上下文信号170信号可以包括任何合适数量的信号,因此函数150可以被配置为生成任何合适类型的特征向量。附加的上下文信号170的示例可以包括交通(有时,但不总是与当日时间和天气相关)、一周的一天(例如,以考虑在周末关闭的地方)、季节等。
继续参考图1B,进入点选择器124可以使用初始化数据180初始化模型128,该初始化数据可以包括与到候选街道地址或其他合适的参考物的距离成反比的概率。例如,初始化数据可以包括具有某些地理坐标Pi=(纬度i,经度i)的点,或者在另一实施方式中,Pi=(纬度i,经度i,海拔i)。进入点选择器124可以识别点Pi附近的若干位置,例如,A1=艾尔姆街123号,A2=艾尔姆街125号,A3=梅因街200号,和A4=梅因街202号。进入点选择器124最初可以利用基于Pi与A1的中心点之间的距离,点Pi应该映射到第一街道地址的估计概率,利用基于Pi与A2的中心点之间的距离,点Pi应该映射到第二街道地址的估计概率等,将点Pi映射到与这四个街道地址A1-A4中的每一个街道地址相关联的相应二维形状上,(这些地址此时也可能是初始估计,在训练过程中受到调整)。例如,在训练期间中,模型128可以强烈地将点Pi偏向与A2相关联的二维形状。因此,当用户请求到点Pi或附近点的导航方向时,进入点选择器124可以使用模型128来确定路线引擎122应该生成到街道地址A2的导航方向。另外,作为训练的结果,模型128可以确定与地址A2相关联的二维形状包含了包括点Pi的各个点。此外,对于较大区域的目的地,模型128在训练后不仅可以确定点Pi映射到与街道地址A2相关联的二维形状,还可以确定该地址具有进入点AP1、AP2……APN,并选择这些进入点之一作为特定情况下的优选进入点。在其他实施方式中,初始化数据180可以包括导航会话到候选进入点的初始计数。例如,对于某一地理区域A,可以先对该区域A中过去导航方向被请求到其的点Pj进行聚类,以减小问题的复杂度(例如,可以将彼此10米以内的点聚类为单一点),以生成候选进入点的集合S={AP1,AP2……APN),并且可以将导航方向的请求的相应计数分配给候选进入点中的每一个。
如图1B所示,模型128可以生成这种预测作为完善的地理坐标191(例如,点Pi到点P'i的映射)、完善的街道地址192(例如,“艾尔姆街122号”到“梅因街204号”,以提供到建筑物的更好进入)、完善的边界193(即,对与各种目的地相对应的二维形状的调整)。进入点选择器124可以应用用户反馈196(当可用时)来评估预测191、192、193等的质量,并继续调整模型128。为此,调整函数198可以接收评估模型128的实际输出和预期输出之间的差异的度量,生成调整操作,并将这些操作应用到模型128。
关于导航方向的用户反馈196可以包括进入点是否正确的显式和/或隐式指示。例如,客户端计算设备102可以向服务器104发送到伊利诺伊州芝加哥的威利斯大厦的导航方向请求。进入点选择器124可以识别若干候选进入点,向路线引擎122提供相应的指示,路线引擎122可以反过来使应用142生成询问用户是偏好导航到位于不同的街道上的由游客使用的入口还是由租户使用的入口的明确提问。附加地或者可替换地,在到某一目的地的进入点的导航会话完成之后,路线引擎122可以使得应用142生成询问用户是否对所选进入点满意的提问。例如,另一方面,指示进入点选择器124是否选择了正确的进入点的隐式信号包括在导航到所选进入点之后用户花费于驾驶或步行的时间。
在模型128被充分训练后(如上所述,即使在模型128被充分训练后,调整过程也可以继续以继续改进性能),进入点选择器124可以应用模型128来选择导航方向的进入点。特别地,进入点选择器124可以接收导航方向的请求和附加上下文信号的任何合适组合。进入点选择器124在这种情况下使用的上下文信号可以类似于用于训练模型128的上下文信号170,但在一些情况下,进入点选择器124还用户的偏好和/或用户的行进历史(例如,用户在过去选择的进入点),但前提是用户向服务器104指示系统可以以这种方式应用这些数据。进入点选择器124可以将这些信号应用于模型128以确定进入点。
在一个示例场景中,驾驶员通过键入“瑞格利球场”作为目的地而请求到伊利诺伊州芝加哥市的瑞格利球场的导航方向。服务器104可以经由提供旅游信息的网站在芝加哥小熊队主场比赛期间接收该请求。在缺乏上下文信号的情况下,进入点选择器124可以选择位于芝加哥克拉克街和艾迪生街交叉点的体育场的主入口作为目的地。然而,因为在主场比赛期间,驾驶员可能不容易到达主入口,所以鉴于指示临时事件(比赛)和可能的用户类型(游客)的上下文信号,模型128可以预测用户将发现附近的停车场是更好的进入点。在另一示例中,进入点选择器124可以接收到某一街区(例如,加州旧金山教会)的导航方向请求连同几个上下文信号:雨天、夜间和用户是湾区本地人。进入点选择器124可以将这些上下文信号应用于模型128以获得某一交叉口最有可能作为该街区的合适进入点的预测,即使该交叉口并不靠近由该街区定义的形状的几何中心。
在一些实施方式中,进入点选择器124使用模型128以获得若干候选进入点,并引导导航应用142提示用户关于这些进入点之一的选择作为目的地。
为了进一步明确,接下来将结合图2A-图5B考虑使用已知技术和本公开的技术提供导航指示的若干示例。
图2A示出示例用户界面屏幕200,现有地图应用可以显示该用户界面屏幕以提供到购物商场201的导航方向。如图2A所示,现有地图应用提供了路线202,该路线终止于购物商场201北侧的道路上。虽然该路线202正确地引导用户到购物商场201,但该路线202的终点可能不是用户的最佳进入点。
另一方面,图2B示意性地示出了数据库110可以存储的进入点204集合,并且响应于对图2A的商场201的导航方向的请求,进入点选择器124可以从该集合中选择进入点。用户可能已经通过在导航应用142显示的输入框中键入商场名称、说出提及商场的语音命令、经由长按手势在交互式数字地图上选择导航方向的终点(其中终点在商场201内)等识别了商场210。数据库110还可以存储二维形状203,商场201的名称被逻辑地映射到该二维形状上,并且该二维形状包围了接收到的终点。进入点204中的每一个进入点都在二维形状203内,或者在某些情况下,在二维形状203的周界。在本示例场景中,二维形状203通常与购物商场201的周界相吻合。
更具体地,进入点204可以与位于二维形状203的周界的入口和二维形状203内的感兴趣的点(例如,停车场)相对应。如上所讨论的,数据库110可以存储进入点204的相应权重,使得进入点选择器124可以启发式地选择进入点。在其他实施方式中,进入点选择器124可以使用模型128来确定进入点204中的哪一个对于上下文信号的各种组合是优选的。
图2C示出了示例用户界面屏幕,当显示到图2B的二维形状203内的进入点的微调的导航方向时,地图和导航应用142可以提供该用户界面屏幕。路径220终止于优选进入点222,该进入点与参考图2B讨论的二维形状203的进入点204之一相对应。具体地,本场景中的进入点选择器124使用上述讨论的技术从进入点204当中选择优选进入点222。
图3示出了包括本公开的系统可以生成的微调的导航方向的另一示例用户界面屏幕300。在该示例中,路线引擎122响应于从起点(在这种情况下,芝加哥的威利斯大厦)到导航请求识别为“瑞格利球场”的终点的导航请求来生成路线320。路线引擎122引导用户到优选的进入点304。在这种情况下,边界检测器126将目的地“瑞格利球场”与包含体育场周围相对大的区域的二维形状302相关联。进入点选择器124可以从形状302内的进入点303-307当中选择瑞格利球场的优选进入点。如上所讨论的,边界检测器126可以鉴于时间和体育场的比赛日程来选择形状302。进入点303-307对应于停车场(304、306、307)和/或体育场的入口(303、305)。在该示例中,进入点选择器124鉴于一个或多个上下文信号选择点304,并且路线引擎122因此生成终止于进入点304的路线320。
在一些情况下,路线引擎122可以提供多段式和/或后续导航方向。例如,当用户完成到优选进入点304的行程时,路线引擎122可以生成到进入点303的导航方向,该进入点不是优选进入点但更接近可能的最终目的地。
图4是示出路线引擎122可以生成的微调的导航方向的另一示例界面400。在这里,用户输入420识别了某城镇中的火车站,并且现有的地理服务可以存储图3中由标记402标识的点作为车站的位置。
边界检测器126将由二维形状401包围的区域识别为包含火车站的进入点。如图3所示,火车站在对应于进入点404、406和408的若干停车场附近。响应于从驾驶员接收的到火车站的导航方向的请求,现有的地理应用通常试图生成到点402的导航方向,并且导航方向可以终止于火车站附近街道上的点。另一方面,进入点选择器124可以选择进入点404、406或408之一作为优选进入点,并且路线引擎122可以生成到对应位置的导航方向。
类似于上述示例,进入点选择器124可以鉴于包括一个或多个上下文信号的各种信号来选择优选进入点。例如,在一些情况下,进入点选择器124可以确定与最靠近火车站的停车场相对应的进入点404很可能在早高峰时间之后是被占满(例如,模型128可以确定这是基于指示在特定时间到达进入点404的用户会掉头并停在其他地方的训练数据的情况)。进入点选择器124因此可以选择可能离火车站更远的另一停车场406,但在估计到达时间可能有可用的停车位。
参考回图1B,模型128额外可以从各种用户接收到火车站的多条轨迹的指示作为训练数据集的部分,并且针对若干不同时间确定这些轨迹的共同终点。例如,训练数据集可以指示,在周一上午直到9:00,用户通常在进入点404附近结束其行程,从上午9:00直到11:00,用户在进入点406附近结束其行程,并且在上午11:00之后,用户通常在进入点408附近结束其行程。然后,模型128可以鉴于指示当日时间和一周中的一天的上下文信号,输出第一时间间隔期间的进入点404、第二时间间隔期间的进入点406等为完善的坐标191。
如上所述,即使在模型128被充分训练之后,服务器104也可以继续从用户接收新数据。进入点选择器124可以继续调整模型128,并进一步鉴于相对于先前接收的历史数据的突然变化而选择进入点。例如,当某一天的用户开始避开停车场404、406或408之一,或者如果用户没有在由路线引擎122建议的优选进入点结束行程,进入点选择器124可以在向模型128提供新的输入时,通过更积极地权衡最近接收到的数据,对模型128做出快速调整。类似地,当进入点选择器124启发式地使用与停车场404、406或408有关的信号时,进入点选择器124可以实时地对停车场404、406或408进行重排序。作为更特定的示例,若干用户可能在上午9点之前开始在进入点406附近结束他们的路线,这可能指示存在使进入点404成为不合适的进入点的临时事件。进入点选择器124因此可以在比正常时间更早的时间(在本示例中,分别在上午9:00和上午11:00之前)选择进入点406和408作为到火车站的导航方向的优选目的地。
接下来,图5A示出的是另一示例用户界面屏幕,现有的地图应用可以生成该用户界面屏幕以提供到用于远足、跑步和骑自行车的湖边小径上的点的方向。路线501是在最接近湖边小径上的点的道路上的点处终止的路线。然而,在路线501终止的点处可能不存在到小径的入口,或者可能不允许在该位置停车。
相比之下,图5B示出了路线引擎122可以生成的到优选入口点的若干示例路线。导航请求中的湖边小径的点可以逻辑地映射到包含湖边的大部分,并且包括多个进入点514-516的大的二维形状510。
在一个场景中,进入点选择器124选择其中靠近湖边小径的自行车部分的入口的停车场所在的进入点514。路线引擎122因此可以生成路线504。例如,当用户的档案指示他或她是自行车骑手时,或者当通过自行车网站访问地图应用时,进入点选择器124可以选择进入点514。
在另一示例场景中,进入点选择器124选择其中湖边路径的入口所在的进入点515。在这种情况下,上下文信号可以包括到湖边小径的步行方向的请求,和/或指示慢跑兴趣的用户档案。作为上下文信号的另一示例,导航方向的请求可以在通常与在湖边小径上的慢跑相关联的时间到达,诸如在星期六早晨的早期。在又一场景中,进入点516可以对应于湖边小径的风景部分。进入点选择器124可以为游客选择进入点516。
接下来参考图6-图8讨论可以在图1A的系统中实施的若干示例方法。
首先参考图6,用于使用机器学习模型确定目的地的优选进入点的示例方法600可被实施为存储在计算机可读存储器上并由服务器104的一个或多个处理器可执行的指令集。为了方便起见,下面参考统称为导航系统的图1A的路线引擎122、进入点选择器124、检测器126和图1A与图1B的进入点机器学习模型128来讨论方法600。导航系统可以周期性地以批处理模式执行方法600,例如,以填充或重填充地图数据库110中的相应记录。以这种方式,导航系统可以在服务导航方向请求时快速并有效地实时应用模型128。
在框602处,导航系统(例如,边界检测器126)可以确定某些区域中地理实体的边界。导航系统可以从各种源(诸如地理信息系统、用户提交的用户生成内容(user-generated content,UGC)、市政数据库等)接收边界。在一些情况下,导航系统分析卫星图像、街道级图像、用户提交的照片等来检测区域和各种特性之间的物理边界。这些边界可以是自然的(例如,河流)或人工的(例如,墙壁、栅栏)。导航系统可以实施分类器,该分类器识别图像中的物理边界并确定这些边界的尺寸。
在框604处,导航系统可以使用在框602处获得的边界处的边界来生成对应于各种地理实体的二维形状的指示。然后,导航系统可以将这些二维形状的描述以任何合适的格式存储在地图数据库中。例如,导航系统可以以矢量图形格式生成二维形状的多边形边界的描述,并将这些描述存储为地图数据库110中的二维形状111。
接下来,在框606处,导航系统可以生成训练数据,用于训练被配置为输出各种目的地的进入点(参见下面的框612)的机器学习模型。训练数据可以包括匿名的历史日志,该历史日志包括用户请求到其的导航方向的目的地,其格式各异:“41.8789N,87.6359”(伊利诺伊州芝加哥市威利斯大厦的坐标)”“威利斯大厦”“南威克233号(威利斯大厦主入口的街道地址)”“威克&杰克逊”(威利斯大厦附近的一个路口)等。训练数据还可以包括相应的匿名轨迹,这些轨迹指示在导航系统提供了到这些目的地的导航方向后,用户实际前往的地方。例如,参考回图1B,特征提取函数150可以确定用户在完成对应的导航会话后最终到达的位置(例如,距导航方向在其完成处的位置100米的入口)、与额外行程相关的延迟、用户在完成导航会话后是否倾向于掉头或退回去,并使用这些度量作为标签。正如参考图1B详细讨论的那样,训练数据还可以包括与导航方向的请求的源(应用类型、网站类型)、提交导航方向的请求的用户类型(如游客、本地人)、当天时间、季节、天气等有关的各种上下文信号。
导航系统可以通过二维形状内的位置对训练数据进行分组。因此,上述示例中对应威利斯大厦的二维形状可以包含在请求到威利斯大厦的坐标、街道地址等的导航方向后用户前往的多个点。
然后在框608处,导航系统可以使用训练数据来训练模型,并且当上下文信号可用时,在框610处使用上下文数据进一步训练模型。虽然图6以相继顺序描述了框608和610,但将理解,当上下文数据可用时,特征提取函数150可以生成包括行程数据连同附加上下文信号的特征向量,并有效地并行应用框608和610处的数据。
在框610处,导航系统可以应用该模型来确定某一输入集的优选进入点。更具体地,导航系统可以从用户设备接收用于到由地理坐标、街道地址、地标的名称等标识的某一位置的导航方向的请求,在一些情况下,还可以接收一个或多个上下文信号,并且导航系统可以应用该模型生成完善的地理坐标、完善的街道地址等。导航系统可以向请求的用户设备提供到完善的目的地的微调的导航方向。
导航系统还可以检测关于微调的导航方向的隐式或显式反馈,在框614处基于反馈生成附加的调整数据,并如参考图1B所讨论的那样使用该调整数据进一步训练模型。流程因此返回到框608。
接下来,图7示出了用于生成微调的导航方向的示例方法700的流程图。方法700可以被实施为存储在计算机可读存储器上并且由客户端计算设备102和/或服务器设备104的一个或多个处理器可执行的指令集。为了方便起见,下面也参考统称为导航系统的图1的路线引擎122、进入点选择器124、边界检测器126来讨论方法700。
在框702处,导航系统可以接收包括起点和目的地或终点的导航方向的请求。例如,可以经由客户端设备的用户界面接收该请求。目的地可以包括地理坐标(例如,纬度和经度)、街道地址、地标的名称(例如,瑞格利球场或威利斯大厦,如上文所讨论的)、街区的通俗名称(例如,教会)、自然公园的名称等。一般来说,目的地可以对应于任何大小或粒度水平的位置。在实施方式的至少一些中,目的地可以对应于可由地理坐标标识的某一点。例如,如上文参考图4所讨论的,地理数据库可以存储火车站的某一点的坐标。
在导航系统接收到导航方向的请求后,导航系统可以在框704处识别出目的地被逻辑映射到的二维形状。例如,操作相应用户设备的用户可以使用长按手势在交互式数字地图上选择相似但不相同的点,并且导航系统可以将所有这些点映射到相同的地理实体。作为另一示例,用户可以请求到相同购物商场中具有不同的相应地址的不同商店的导航方向,并且在框704处,每个实例中的导航系统可以将地址映射到包含购物商场的二维形状。
在一些情况下,某些坐标或街道地址可以被逻辑地映射到多个二维形状。此外,在一些情况下,导航系统可以为相同的地理实体存储多个二维形状,以在不同的场景中使用。例如,如上文所讨论的,导航系统可以为棒球馆存储较小的二维形状以在没有比赛正在进行时使用,并为该相同棒球馆存储较大的二维形状以在比赛期间使用。参考回图1,导航系统可以将这些形状作为二维形状111存储在数据库110中。
在框706处,导航系统可以从由二维形状所包围的多个进入点当中选择优选进入点作为导航方向的优选目的地。为此,在各种实施方式中,导航系统可以启发式地使用上下文信号,或者可以如上文所讨论的那样利用机器学习模型使用上下文信号。在导航系统已经识别到优选进入点之后,导航系统可以生成到优选进入点的导航方向,并将这些导航方向提供给请求设备。
图8示出了用于在客户端设备处提供微调的导航方向的示例方法的流程图。方法800可以被实施为存储在计算机可读存储器上并且可由客户端计算设备102的一个或多个处理器执行的指令集。为了方便起见,下面参考图1的地图应用142来讨论该方法800。
在框802处,地图应用142可以将导航方向的请求发送到网络服务器,诸如服务器104。导航方向的请求包括其可以是用户设备102的当前位置的原点或起点,以及目的地。为了确定该目的地,地图应用142可以提供用于指定目的地的交互式接口,该交互式接口可以是交互式数字地图、包括用于请求到该位置的导航方向的控制的与地理位置有关的弹出窗口、用于文本输入的输入框、用于音频输入的提示等。如上文参考框702所讨论的,目的地可以符合任何合适的格式。
在框804处,地图应用142可以接收到与可以与导航方向的请求中所包括的目的地不同的优选进入点的导航方向。然后在框806处,地图应用142可以请求用户希望导航到该优选进入点的确认。在框808处,地图应用142可以经由用户界面提供接收到的导航方向。
在一些情况下,当用户已经指示服务器104可以使用用户的轨迹来调整机器学习模型时,服务器104可以将在完成到优选进入点的导航会话后用户随后的轨迹应用到机器学习模型(例如,图1A和图1B的模型128)。例如,图1B的调整函数198可以将指示优选进入点和用户最终前往的位置之间的距离的度量应用到模型128。
附加的考虑
以下附加的考虑适用于上述讨论。贯穿本说明书,复数实例可以实施作为单一实例描述的组件、操作或结构。尽管一个或多个方法的单个操作被示出并描述为分离的操作,但单个操作中的一个或多个可以被并行执行,并且没有内容要求以示出的顺序执行操作。在示例配置中作为分离组件呈现的结构和功能可以作为组合结构或组件来实施。类似地,作为单个组件呈现的结构和功能可以作为分离的组件来实施。这些和其他变化、修改、添加和改进落入本公开的主题的范围内。
此外,本文描述的特定实施例包括逻辑或若干组件、模块或机制。模块可以构成软件模块(例如,存储在机器可读介质上的代码)或硬件模块。硬件模块是能够执行特定操作的有形单元,并且可以以特定方式配置或布置。在示例实施例中,一个或多个计算机系统(例如,独立的、客户端或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或处理器组)可被软件(例如,应用或应用部分)配置为操作以执行如本文所描述的特定操作的硬件模块。
在各种实施例中,硬件模块可以包括被永久配置的专用电路或逻辑(例如,作为专用处理器,诸如现场可编程门阵列(field programmable gate array,FPGA)或专用集成电路(application-specific integrated circuit,ASIC))以执行特定操作。硬件模块也可以包括被软件临时配置以执行某些操作的可编程逻辑或电路(例如,如包含在通用处理器或其他可编程处理器内的)。将理解,在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中以机械方式实施硬件模块的决定可能是由成本和时间考虑驱动的。
因此,术语硬件应被理解为包含有形实体,是物理构造的、永久配置的(例如,硬接线)或临时配置的(例如,编程的)实体,来以特定方式操作或执行本文所述的特定操作。如本文所使用的“硬件实施的模块”指的是硬件模块。考虑到其中硬件模块被临时配置(例如,编程)的实施例,硬件模块中的每一个不需要在任何一个时间实例被配置或实例化。例如,在硬件模块包括使用软件配置的通用处理器的情况下,通用处理器可以在不同时间被配置为相应不同的硬件模块。例如,软件可以相应地在处理器上配置为在一个时间实例处构成特定的硬件模块,并在不同的时间实例处构成不同的硬件模块。
硬件模块可以向其他硬件提供信息,并从其他硬件接收信息。因此,所描述的硬件模块可被视为是通信耦合的。在同时存在多个这样的硬件模块的情况下,可以通过连接硬件模块的信号传输(例如,通过适当的电路和总线)实现通信。在其中多个硬件模块在不同时间被配置或实例化的实施例中,这种硬件模块之间的通信可以例如通过在多个硬件模块已经访问的存储器结构中的信息的存储和检索来实现。例如,一个硬件模块可以执行操作,并将该操作的输出存储在其通信耦合的存储器设备中。然后,另一硬件模块可以在稍后的时间访问该存储器设备以检索和处理所存储的输出。硬件模块还可以启动与输入或输出设备的通信,并且可以对资源(例如,信息的集合)进行操作。
方法600和700可以包括以有形计算机可执行指令的形式的一个或多个功能块、模块、单个功能或例程,该计算机可执行指令存储在非暂时性计算机可读存储介质中,并使用计算设备(例如,如本文所述的服务器、个人计算机、智能手机、平板计算机、智能手表、移动计算设备或其他个人计算设备)的处理器执行。例如,方法600和700可以被包括作为任何后端服务器(例如,如本文所述的地图数据服务器、导航服务器或任何其他类型的服务器计算设备)、示例环境的便携式设备模块的部分,或者作为在这种环境外部的模块的部分。虽然为了便于解释,可以参考其他附图进行描述,但是可以利用其他对象和用户界面利用方法600和700。此外,虽然上面的解释描述了方法600和700的步骤由特定的设备(例如客户端计算设备102,和服务器104)执行,但这只是为了说明的目的。
本文描述的示例方法的各种操作可以至少部分地由被临时配置(例如,由软件)或永久配置以执行相关操作的一个或多个处理器执行。无论临时或永久配置,这些处理器都可以构成操作以执行一个或多个操作或功能的处理器实施的模块。在一些示例实施例中,本文提及的模块可以包括处理器实施的模块。
类似地,本文所述的方法或例程可以是至少部分地处理器实施。例如,方法的操作的至少一些可以由一个或多个处理器或处理器实施的硬件模块执行。操作中的某些的执行可以分布在一个或多个处理器当中,不是驻留在单一机器内,而是跨若干机器部署。在一些示例实施例中,处理器或多个处理器可以位于单个位置(例如,在家庭环境、办公环境内或作为服务器场),而在其他实施例中,处理器可以跨若干位置分布。
一个或多个处理器还可以操作以支持在“云计算”环境中或作为SaaS的相关操作的执行。例如,如上所述,操作的至少一些可以由计算机组(如包括处理器的机器的示例)执行,这些操作经由网络(例如,互联网)并经由一个或多个适当的接口(例如,API)是可访问的。
此外,附图描绘了示例环境的一些实施例,仅用于说明的目的。本领域技术人员将容易地从下面的讨论中认识到,在不偏离本文描述的原理的情况下,可以采用本文示出的结构和方法的替换实施例。
在阅读本公开后,本领域技术人员将领会仍然有附加的替换结构和功能设计用于通过本文所公开的原理生成导航路线。因此,虽然已经示出和描述了特定实施例和应用,但应当理解的是,所公开的实施例并不限于本文所公开的精确结构和组件。在不偏离所附权利要求中所定义的精神和范围的情况下,可以对本文所公开的方法和设备的布置、操作和细节进行各种修改、该变和变形,这对本领域的技术人员来说是明显的。
Claims (20)
1.一种用于提供导航方向的计算机实施的方法,所述方法包括:
由一个或多个处理器接收到目的地的导航方向的请求;
由所述一个或多个处理器识别包围多个进入点的二维形状,所述目的地被逻辑地映射到所述二维形状;
由所述一个或多个处理器从所述多个进入点当中选择进入点作为优选目的地;以及
由所述一个或多个处理器响应于所述请求,生成到所述优选目的地的导航方向。
2.如权利要求1所述的计算机实施的方法,还包括:
由一个或多个处理器训练基于目的地输出进入点的机器学习模型,所述训练包括应用训练数据,所述训练数据包括(i)用户请求到其的导航方向的多个目的地,以及(ii)对于所述多个目的地中的每一个目的地,所述用户在完成到对应目的地的相应导航会话后前往的相应位置,其中至少所述位置的子集定义了所述多个进入点;
其中所述识别和所述选择包括将所述目的地应用到所述机器学习模型。
3.如权利要求2所述的计算机实施的方法,其中训练所述机器学习模型包括应用指示与所述多个目的地中的相应目的地相关联的二维形状的边界的边界数据。
4.如权利要求2所述的计算机实施的方法,其中训练所述机器学习模型包括应用指示对于所述导航会话中的至少一些导航会话的由位置和时间元组构成的轨迹的轨迹数据。
5.如权利要求2所述的计算机实施的方法,其中训练所述机器学习模型包括为所述导航会话中的至少一些导航会话应用上下文信号,并且其中所述识别和所述选择包括将与对导航方向的请求有关的上下文信号应用到所述机器学习模型。
6.如权利要求5所述的计算机实施的方法,其中导航会话的上下文信号包括以下至少之一:
(i)识别以下至少之一的请求者数据:(i)所述导航会话相关的活动的类型,或(ii)用户偏好,
(ii)所述导航会话发生的时间,
(ii)所述导航会话期间的天气,
(iv)在所述导航会话的时间处在所述目的地发生的临时事件,或
(v)所述导航会话相关的交通的模式。
7.如权利要求2所述的计算机实施的方法,其中训练所述机器学习模型还包括使用与所述目的地相关联的进入点和地理坐标之间的距离成反比的概率来初始化所述模型。
8.如权利要求1所述的计算机实施的方法,其中所述目的地是第一街道地址,并且其中选择所述进入点包括选择与所述第一街道地址不同的第二街道地址。
9.如权利要求8所述的计算机实施的方法,其中所述第一街道地址和第二街道地址对应于到建筑物的两个相应的入口。
10.如权利要求1所述的计算机实施的方法,其中所述目的地是地理坐标的集合,并且其中选择所述进入点包括选择街道地址。
11.如权利要求1所述的计算机实施的方法,其中所述目的地是包括多个停车位置的地理实体,并且其中选择所述进入点包括选择所述多个停车位置之一。
12.如权利要求1所述的计算机实施的方法,其中识别所述二维形状包括处理包括所述目的地的地理区域的图像以识别所述目的地的物理边界。
13.一种服务器设备,包括一个或多个处理器,并被配置为执行根据权利要求1-12中的任何一项的方法。
14.一种客户端设备,包括:
一个或多个处理器;
用户界面;
非暂时性计算机可读存储器,存储指令,当由所述一个或多个处理器执行时,所述指令使所述客户端设备:
经由通信网络向服务器发送对到目的地的导航方向的请求,
响应于所述请求,接收到从被逻辑地映射到包括所述目的地的二维区域的多个进入点当中选择的进入点的导航方向,以及
经由所述用户界面提供所述导航方向。
15.如权利要求14所述的客户端设备,其中对所述导航方向的请求包括所述目的地的街道地址,并且其中所述进入点与不同于所述目的地的街道地址的街道地址相对应。
16.如权利要求15所述的客户端设备,其中对所述导航方向的请求包括所述目的地的地理坐标,并且其中所述进入点包括街道地址。
17.一种计算系统中用于确定目的地的优选进入点的方法,所述方法包括:
由一个或多个处理器确定表示包括地理实体的地理区域的二维形状;
由所述一个或多个处理器生成训练数据,所述训练数据包括:(i)用户请求到其的导航方向的多个目的地,以及(ii)对于所述多个目的地中的每一个目的地,用户在完成到相应目的地的相应导航会话后前往的地理区域内的相应位置;
由所述一个或多个处理器使用所述训练数据,训练机器学习模型;以及
使用所述机器学习模型,识别某一目的地的优选进入点。
18.如权利要求17所述的方法,其中确定包括所述地理实体的地理区域的二维形状处理图像以识别物理边界。
19.如权利要求17所述的方法,其中所述训练数据还包括用于所述导航会话中的至少一些导航会话的上下文信号,并且其中导航会话的上下文信号包括以下至少之一:
(i)识别所述导航会话相关的活动的类型的请求者数据,
(ii)所述导航会话发生的时间,
(ii)所述导航会话期间的天气,
(iv)在所述导航会话的时间处在所述目的地发生的临时事件,或
(v)所述导航会话相关的交通的模式。
20.如权利要求17所述的方法,还包括:
响应到对所述目的地的导航方向的请求,提供到所述优选进入点的导航方向;
由所述一个或多个处理器接收反馈数据,所述反馈数据指示在根据导航方向完成导航会话后,所述优选进入点与用户设备的位置之间的距离;以及
使用所述反馈数据进一步训练所述机器学习模型。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2018/068234 WO2020142090A1 (en) | 2018-12-31 | 2018-12-31 | Fine-tuned navigation directions |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112689740A true CN112689740A (zh) | 2021-04-20 |
Family
ID=65237162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880097498.4A Pending CN112689740A (zh) | 2018-12-31 | 2018-12-31 | 微调的导航方向 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210325192A1 (zh) |
EP (1) | EP3799617A1 (zh) |
CN (1) | CN112689740A (zh) |
WO (1) | WO2020142090A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11537924B2 (en) * | 2020-02-27 | 2022-12-27 | Here Global B.V. | Systems and methods for reconstructing a trajectory from anonymized data |
CN115730130A (zh) * | 2021-08-30 | 2023-03-03 | 华为技术有限公司 | 路径推荐的方法、装置及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046170A1 (en) * | 2006-07-05 | 2008-02-21 | Cisco Technology, Inc. | Providing navigation directions |
CN101903747A (zh) * | 2007-12-20 | 2010-12-01 | 通腾科技股份有限公司 | 导航装置及方法 |
US20110075882A1 (en) * | 2009-09-29 | 2011-03-31 | Hitachi Software Engineering Co., Ltd. | Geospatial information creating system and geospatial information creating method |
US8938358B1 (en) * | 2013-04-23 | 2015-01-20 | Google Inc. | System and method for suggesting alternative travel destinations |
CN106066180A (zh) * | 2015-04-21 | 2016-11-02 | 国际商业机器公司 | 关于目的地标识停车位置 |
US20180087922A1 (en) * | 2016-09-23 | 2018-03-29 | Apple Inc. | Discovering points of entry to a location |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011155936A1 (en) * | 2010-06-10 | 2011-12-15 | Tele Atlas North America Inc. | System and method for determining locations within points of interest |
US9146110B2 (en) * | 2010-07-02 | 2015-09-29 | Elektrobit Automotive Gmbh | Provision of database objects for destination search by a navigation device |
US10077987B2 (en) * | 2015-05-28 | 2018-09-18 | Google Llc | Dynamically integrating offline and online data in a geographic application |
CA3158552A1 (en) * | 2018-07-12 | 2020-01-16 | TerraClear Inc. | Object identification and collection system and method |
-
2018
- 2018-12-31 US US16/620,786 patent/US20210325192A1/en active Pending
- 2018-12-31 CN CN201880097498.4A patent/CN112689740A/zh active Pending
- 2018-12-31 WO PCT/US2018/068234 patent/WO2020142090A1/en unknown
- 2018-12-31 EP EP18840140.0A patent/EP3799617A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046170A1 (en) * | 2006-07-05 | 2008-02-21 | Cisco Technology, Inc. | Providing navigation directions |
CN101427105A (zh) * | 2006-07-05 | 2009-05-06 | 思科技术公司 | 提供导航指引 |
CN101903747A (zh) * | 2007-12-20 | 2010-12-01 | 通腾科技股份有限公司 | 导航装置及方法 |
US20110075882A1 (en) * | 2009-09-29 | 2011-03-31 | Hitachi Software Engineering Co., Ltd. | Geospatial information creating system and geospatial information creating method |
US8938358B1 (en) * | 2013-04-23 | 2015-01-20 | Google Inc. | System and method for suggesting alternative travel destinations |
CN106066180A (zh) * | 2015-04-21 | 2016-11-02 | 国际商业机器公司 | 关于目的地标识停车位置 |
US20180087922A1 (en) * | 2016-09-23 | 2018-03-29 | Apple Inc. | Discovering points of entry to a location |
Also Published As
Publication number | Publication date |
---|---|
EP3799617A1 (en) | 2021-04-07 |
US20210325192A1 (en) | 2021-10-21 |
WO2020142090A1 (en) | 2020-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200041291A1 (en) | Multi-modal method of transportation routing | |
US10648822B2 (en) | Systems and methods for simultaneous electronic display of various modes of transportation for viewing and comparing | |
US20080021632A1 (en) | Traffic Condition Report Device, System Thereof, Method Thereof, Program For Executing The Method, And Recording Medium Containing The Program | |
US8779940B2 (en) | Providing guidance for locating street parking | |
JP5355374B2 (ja) | 個別化されたユーザ経路指定及び推奨 | |
US20050131631A1 (en) | Guiding device, system thereof, method thereof, program thereof and recording medium storing the program | |
US8938358B1 (en) | System and method for suggesting alternative travel destinations | |
CN110998563B (zh) | 用于对视场中兴趣点消除歧义的方法、设备和绘图系统 | |
US9689705B2 (en) | Systems and methods for electronic display of various conditions along a navigation route | |
US11761772B2 (en) | Method and apparatus for providing speculative navigation routing in incomplete offline maps | |
CN112384757A (zh) | 鉴于另一设备而向一个设备提供导航指令 | |
CN112689740A (zh) | 微调的导航方向 | |
WO2019246063A1 (en) | Pre-fetching map data | |
JP6785871B2 (ja) | ナビゲーション指示の提供 | |
US11546724B2 (en) | Method, apparatus, and system for determining a non-specific location according to an observed mobility pattern derived from non-positioning related sensor data | |
US11187545B2 (en) | Method and apparatus for generating a pooled route to extend a service area of a shared vehicle | |
US20230206763A1 (en) | Systems and methods for determining utilization of an area for vehicle parking | |
JP2010026803A (ja) | 渋滞予測装置、経路探索装置、渋滞予測方法、経路探索方法、渋滞予測プログラム、経路探索プログラムおよびコンピュータに読み取り可能な記録媒体 | |
JP2019168277A (ja) | ナビゲーション装置およびナビゲーション方法、ならびにプログラム | |
US11881109B2 (en) | Method, apparatus, and system for providing in-parking navigation | |
US20230030382A1 (en) | Systems and methods for messaging using contextual information | |
US20230030245A1 (en) | Systems and methods for generating location-based information | |
CN114065055A (zh) | 一种智能旅游路线推荐方法及其查询系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |