首页> 中国专利> 当用户有可能在导航中出错时预先生成的可替代导航方向

当用户有可能在导航中出错时预先生成的可替代导航方向

摘要

为了预测用户在穿越路线时出错的可能性并采取先发制人的行动,计算设备接收用户对经由路线从起始位置到目的地位置的导航方向的请求。计算设备向用户提供包括导航指令的导航方向集合,每个导航指令包括操纵和用于操纵的在路线上的位置。对于路线上的即将进行的操纵,计算设备确定用户将不正确地执行操纵的可能性。响应于确定该可能性高于阈值可能性并且在用户到达用于操纵的位置之前,计算设备生成用于经由可替代路线从偏离路线的位置导航到目的地位置的可替代导航方向集合。

著录项

  • 公开/公告号CN114930127A

    专利类型发明专利

  • 公开/公告日2022-08-19

    原文格式PDF

  • 申请/专利权人 谷歌有限责任公司;

    申请/专利号CN202080091204.4

  • 发明设计人 R.豪斯曼;C.欧文;

    申请日2020-03-12

  • 分类号G01C21/36(2006.01);G01C21/34(2006.01);

  • 代理机构北京市柳沈律师事务所 11105;

  • 代理人金玉洁

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 16:25:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-06

    实质审查的生效 IPC(主分类):G01C21/36 专利申请号:2020800912044 申请日:20200312

    实质审查的生效

说明书

技术领域

本公开涉及提供可替代导航方向,更具体地,涉及预测用户在穿越路线时出错的可能性以及基于该可能性预先生成可替代导航方向。

背景技术

在此提供的背景描述是为了一般性地呈现本公开的上下文。当前命名的发明人的工作在本背景部分、以及在申请时可能不够格作为现有技术的描述的方面中描述的范围内,既不明确也不默示地承认是针对本公开的现有技术。

如今,在计算机、智能电话等或嵌入式设备中运行的软件应用生成逐步导航方向。通常,用户指定起点和目的地,并且软件应用立即和/或当用户从起点和目的地行进时以音频格式显示和/或呈现方向。

这些软件应用一般利用距离、街道名称、建筑物编号的指示来基于路线生成导航方向。例如,这些系统可以向驾驶员提供诸如“前行四分之一英里,然后右转进入枫树街”的指令。

发明内容

为了预测导航错误的可能性,导航错误预测系统确定包括在导航指令集中的即将进行的操纵的特征。特征可以是操纵本身的特征(诸如操纵的类型、基于先前的操纵和/或基于用户的当前位置的初始车道位置、用于执行操纵的最终车道位置、操纵与先前操纵之间的距离和/或时间、操纵的复杂度级等)和/或与操纵的环境有关的特征(诸如执行操纵的车辆内的噪声等级、操纵的位置、执行操纵的道路上的交通量、车辆的速度、当车辆接近操纵位置时是否有应急车辆经过该车辆等)。

然后,导航错误预测系统可以基于这些特征来确定用户不正确地执行操纵的可能性。例如,车辆内的噪声等级越高,该可能性可以越高。在另一示例中,操纵的复杂度等级越高,该可能性可以越高。在一些实施方式中,导航错误预测系统可以将得分分配给这些特征中的一个或更多个,然后以任何合适的方式组合这些特征得分以生成即将进行的操纵的总得分。然后,导航错误预测系统可以根据总分来确定用户不正确地执行操纵的可能性。

在其它实施方式中,导航错误预测系统可以利用机器学习技术来基于用户对各种操纵和/或环境的过去经验生成机器学习模型。例如,在一种情况下,当收音机播放太大声或卡车经过时,用户可能无法遵循导航指令。在另一种情况下,当操纵是在六向交叉路口轻微右转并且用户进行了向右急转时,用户可能无法遵循导航指令。

因此,导航错误预测系统收集提供给用户的操纵集合以及与执行或尝试操纵的环境有关的信息。对于每个操纵,导航错误预测系统收集关于操纵是否正确执行的指示,如果没有正确执行,则收集在尝试操纵之后的用户的位置。然后使用该信息作为训练数据来训练机器学习模型,以确定用户将不正确地执行操纵的可能性和/或预测用户在尝试操纵之后将所处的位置。例如,当操纵的复杂度等级高或非常高并且用户的行驶速度超过60mph时,机器学习模型可以确定用户将不正确地执行操纵的可能性为0.7。

对于即将进行的操纵,导航错误预测系统将所确定的用户将不正确地执行操纵的可能性与阈值可能性(例如,0.25)进行比较。如果该可能性高于阈值可能性,则导航错误预测系统可以采取先发制人的行动。先发制人的行动的示例可以包括从在尝试操纵到目的地位置之后用户的预测位置生成可替代导航方向集合。可以在用户到达操纵位置之前生成可替代导航方向集合。以这种方式,如果用户在尝试操纵之后处于偏离路线的位置,则用户不需要等待直到可以从用户的当前位置生成可替代导航方向集合。而是,可替代导航方向集合被预先生成并以无缝方式提供给用户,使得用户不会经历任何进一步的混淆并且不会在导航应用重新计算路线时进一步远离目的地位置。

先发制人的行动的另一示例可以包括提供与执行即将进行的操纵的难度等级相关的警示。除了警示之外,导航错误预测系统还可以为用户提供用户控制,以在到达即将进行的操纵的位置之前选择可替代路线。

先发制人的行动还可以包括在呈现用于先前操纵的导航指令的同时呈现用于即将进行的操纵的导航指令。以这种方式,可以在用户执行先前的操纵之前使用户知道下一个操纵,使得用户可以决定是执行先前的操纵还是请求可替代导航方向。此外,用户可以准备好执行下一个操纵,使得用户可以在完成先前的操纵后立即采取必要的措施来执行下一个操纵。例如,第一操纵可以是进入高速公路,其中用户并入四车道高速公路的左车道。下一个操纵可以是在进入高速公路0.3英里后使用右车道离开高速公路。在这种情况下,可以将用于离开高速公路的导航指令与用于进入高速公路的导航指令一起呈现。以这种方式,用户可以确定接下来的操纵太难,并且可能无法进入高速公路,或者用户可以在进入高速公路后立即准备变道,使得用户可以在到达出口之前驶入右车道。

先发制人的行动的另外的示例可以包括重复包括即将进行的操纵的导航指令、增加包括即将进行的操纵的音频导航指令的音量、增加包括即将进行的操纵的导航指令的长度和/或细节等级、增加呈现包括即将进行的操纵的视觉导航指令的显示器的亮度、增加用于视觉导航指令的显示器的大小等。

本公开的技术的一个示例实施例是一种预测用户在穿越路线时出错的可能性的方法。该方法包括接收用户对经由路线从起始位置到目的地位置的导航方向的请求、以及向用户提供包括多个导航指令的导航方向集合。每个导航指令包括操纵和用于操纵的在路线上的位置。对于路线上的至少一个即将进行的操纵,该方法包括确定用户将不正确地执行操纵的可能性、以及响应于确定该可能性高于阈值可能性并且在用户到达用于操纵的位置之前生成用于经由可替代路线从偏离路线的位置导航到目的地位置的可替代导航方向集合。

另一示例实施例是一种预测用户在穿越路线时出错的可能性的计算设备,其中计算设备包括一个或更多个处理器和耦合到该一个或更多个处理器并在其上存储指令的非暂时性计算机可读存储器。指令当由所述一个或更多个处理器运行时使计算设备接收用户对经由路线从起始位置到目的地位置的导航方向的请求、以及向用户提供包括多个导航指令的导航方向集合。每个导航指令包括操纵和用于操纵的在路线上的位置。对于路线上的至少一个即将进行的操纵,所述指令使计算设备确定用户将不正确地执行操纵的可能性、以及响应于确定该可能性高于阈值可能性并且在用户到达用于操纵的位置之前生成用于经由可替代路线从偏离路线的位置导航到目的地位置的可替代导航方向集合。

又一示例实施例是一种在其上存储指令的非暂时性计算机可读存储器。当由一个或更多个处理器运行时,所述指令使所述一个或更多个处理器接收用户对经由路线从起始位置到目的地位置的导航方向的请求、以及向用户提供包括多个导航指令的导航方向集合。每个导航指令包括操纵和用于操纵的在路线上的位置。对于路线上的至少一个即将进行的操纵,所述指令使所述一个或更多个处理器确定用户将不正确地执行操纵的可能性、以及响应于确定该可能性高于阈值可能性并且在用户到达用于操纵的位置之前生成用于经由可替代路线从偏离路线的位置导航到目的地位置的可替代导航方向集合。

附图说明

图1示出了示例车辆,其中本公开的技术可以用于预测导航错误的可能性;

图2是示例系统的框图,其中可以实现用于预测导航错误可能性的技术;

图3A和图3B示出了用户难以执行的示例操纵;

图4是示例操纵数据表,图2的导航错误预测系统可以利用该操纵数据表来生成机器学习模型,用于预测用户对于特定操作出错的可能性;

图5是组合的框图和逻辑图,其示出了使用机器学习模型来预测操纵错误的可能性;

图6示出了示例导航显示,其指示从起始位置到目的地位置的路线并包括关于路线上的操纵的警告;以及

图7是用于预测用户在穿越路线时出错的可能性的示例方法的流程图,该示例方法可以在导航错误预测系统中操作或与导航错误预测系统协作的计算设备中实现。

具体实施方式

概述

本说明书中描述的主题可以在特定实施例中实现,以实现以下优点中的一个或更多个。通过响应于确定用户将不正确地执行操纵的可能性超过阈值可能性而生成可替代导航方向集合,该可替代导航方向集合在用户潜在出错之前准备好,使得万一用户不正确地执行操纵,用户准备就绪。这意味着当需要时——当用户已经不正确地执行了操纵时,正确的导航方向准备就绪,并且不会延迟提供这些指令。这是重要的,因为经常需要在用户出错后快速发布可替代导航指令,以便允许用户有效地导航到目的地。任何延迟都可能增加用户进一步出错的可能性,并增加用户采取次优操纵的可能性,该次优操纵增加到达目的地时间。此外,通过仅在错误的可能性高于阈值可能性时生成可替代导航方向,在此描述的实施方式避免了与为每个操纵生成可替代导航方向相关联的过度处理和数据检索。因此,这提供了计算效率的提高。

此外,实施方式允许一个或更多个导航指令被适配以提高清晰度并降低用户出错的可能性。例如,响应于确定用户将不正确地执行操纵的可能性高于阈值可能性,可以向用户提供对操纵的适配导航指令,该适配导航指令适配为增加用户将正确理解适配导航指令的可能性。这可以包括指令的音量或提高指令的显示亮度或大小。这可以进一步包括在适配指令内呈现用于操纵的指令的一个或更多个重复。这可以进一步包括延长提供适配指令的时间段、或在适配指令内包括一个或更多个警告或提醒用户该操纵是困难的或否则可能出错。适配指令也可以适配为通过一个或更多个附加接口来提供。例如,在通过显示接口以其它方式提供指令的情况下,也可以通过音频接口提供适配指令(反之亦可)。通过提供适配导航指令,降低了用户不正确地执行操纵的可能性,从而潜在地避免了发布校正导航方向/指令的需要。

示例硬件和软件组件

参照图1,其中可以实现上面概述的技术的示例环境1包括便携式设备10和具有头部单元14的车辆12。便携式设备10可以是例如智能电话或平板计算机。便携式设备10通过通信链路16与车辆12的头部单元14通信,该通信链路16可以是有线的(例如,通用串行总线(USB))或无线的(例如,蓝牙、Wi-Fi直连)。便携式设备10还可以通过诸如第四代或第三代蜂窝网络(分别为4G或3G)的无线通信网络与各种内容提供商、服务器等进行通信。

头部单元14可以包括用于呈现诸如数字地图的导航信息的显示器18。在一些实施方式中,显示器18是触摸屏并包括用于输入文本输入的软件键盘,该文本输入可以包括目的地、起点等的名称或地址。头部单元14和转向轮上的硬件输入控件20和22分别可以用于输入字母数字字符或执行其它功能以请求导航方向。例如,头部单元14还可以包括音频输入和输出组件,诸如麦克风24和扬声器26。扬声器26可以用于播放从便携式设备10发送的音频指令。

图2中示出了其中可以实现导航错误预测系统的示例通信系统100。通信系统100包括被配置为运行地理应用22(其也可称为“地图绘制应用22”)的客户端计算设备10。取决于实施方式,应用22可以显示交互式数字地图,请求和接收路线数据以提供驾驶、步行或其它导航方向(包括音频和视觉导航方向),提供各种地理定位内容等。客户端计算设备10可以由显示数字地图的用户在导航到各个位置时进行操作。

除了客户端计算设备10之外,通信系统100还包括服务器设备60,该服务器设备60被配置为预测用户在执行操纵时出错的可能性并基于该可能性向客户端设备10提供可替代导航方向。服务器设备60可以通信地耦合到数据库80,在示例实施方式中,该数据库80存储机器学习模型以及用于训练该机器学习模型的训练数据,该机器学习模型用于预测在执行即将进行的操纵时出错的可能性。训练数据可以包括提供给用户的导航指令集,包括导航指令集中包括的操纵和操纵的特征。操纵的特征可以包括操纵的类型、基于先前操纵和/或基于用户的当前位置的初始车道位置、用于执行操纵的最终车道位置、操纵和先前操纵之间的距离和/或时间、操纵的复杂度等级、执行操纵的车辆内的噪声等级、操纵的位置、执行操纵的道路上的交通量、车辆的速度、当车辆接近操纵的位置时是否有应急车辆经过该车辆等。此外,对于每个操纵,训练数据可以包括关于操纵是否正确执行的指示,如果不正确,则包括关于用户在尝试操纵之后的位置的指示。下面参照图4更详细地描述训练数据。

更一般地,服务器设备60可以与一个或几个数据库通信,该一个或几个数据库存储任何类型的合适的地理空间信息或可链接到地理上下文的信息。通信系统100还可以包括例如提供驾驶、步行、骑行或公共交通方向的导航数据服务器34。此外,通信系统100可以包括地图数据服务器50,该地图数据服务器50向服务器设备60提供地图数据以用于生成地图显示。在通信系统100中操作的设备可以通过通信网络30互连。

在各种实施方式中,客户端计算设备10可以是智能电话或平板计算机。客户端计算设备10可以包括存储器20、一个或更多个处理器(CPU)16、图形处理单元(GPU)12、包括麦克风和扬声器的I/O模块14、用户界面(UI)32和包括全球定位服务(GPS)模块的一个或更多个传感器19。存储器20可以是非暂时性存储器并且可以包括一个或几个合适的存储器模块,诸如随机存取存储器(RAM)、只读存储器(ROM)、闪存、其它类型的永久性存储器等。I/O模块14可以是例如触摸屏。在各种实施方式中,客户端计算设备10可以包括比图2所示更少的组件,或者相反地,可以包括附加组件。在其它实施例中,客户端计算设备10可以是任何合适的便携式或非便携式计算设备。例如,客户端计算设备10可以是膝上型计算机、台式计算机、诸如智能手表或智能眼镜的可穿戴设备等。

存储器20存储操作系统(OS)26,该操作系统(OS)26可以是任何类型的合适的移动或通用操作系统。OS 26可以包括允许应用检索传感器读取的应用编程接口(API)功能。例如,被配置为在计算设备10上运行的软件应用可以包括调用OS 26API的指令,用于在该时刻检索客户端计算设备10的当前位置。API还可以返回关于API对估计值的确定程度的定量指示(例如,以百分比形式)。

存储器20还存储地图绘制应用22,该地图绘制应用22被配置为生成交互式数字地图和/或执行其它地理功能,如上所指出的。地图绘制应用22可以接收导航指令并通过导航显示器24呈现导航指令。地图绘制应用22还可以显示驾驶、步行或运输方向,并且一般通过导航显示器24提供与地理、地理定位、导航等相关的功能。

注意,尽管图2将地图绘制应用22示出为独立应用,但地图绘制应用22的功能也可以以通过在客户端计算设备10上运行的网络浏览器可访问的在线服务的形式提供,作为在客户端计算设备10上运行的另一软件应用的插件或扩展等。地图绘制应用22一般可以针对不同的相应操作系统以不同版本提供。例如,客户端计算设备10的制造商可以提供软件开发工具包(SDK),包括用于Android

在一些实施方式中,服务器设备60包括一个或更多个处理器62和存储器64。存储器64可以是有形的、非暂时性存储器,并且可以包括任何类型的合适的存储器模块,包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、其它类型的永久性存储器等。存储器64存储在组成导航错误预测引擎68的处理器62上可运行的指令,该导航错误预测引擎68可以确定对于即将进行的操纵用户出错的可能性,并采取先发制人的行动,诸如在尝试操纵后为用户从预测位置生成可替代导航方向。导航错误预测引擎68可以基于操纵的特征(包括操纵环境的特征(诸如车辆中的噪声量、操纵位置处的交通量、当车辆接近操纵位置时车辆的速度等))来确定对于即将进行的操纵用户出错的可能性。在一些场景中,导航错误预测引擎68可以生成用于确定对于即将进行的操纵用户出错的可能性的机器学习模型。然后,导航错误预测引擎68可以将即将进行的操纵的特征应用于机器学习模型,以确定对于即将进行的操纵用户出错的可能性。此外,导航错误预测引擎68可以向客户端设备10提供可替代导航方向,然后例如当在尝试即将进行的操纵之后用户的当前位置偏离路线时,该可替代导航方向由导航显示器24呈现。在一些实施例中,导航错误预测引擎68包括下面更详细描述的机器学习引擎。

导航错误预测引擎68和导航显示器24可以作为导航错误预测系统的组件来操作。可替代地,导航错误预测系统可以仅包括服务器侧组件并简单地向导航显示器24提供指令以呈现导航指令。换言之,这些实施例中的导航错误预测技术可以对导航显示器24透明地实现。作为另一种选择,导航错误预测引擎68的全部功能可以在导航显示器24中实现。

为简单起见,图2仅将服务器设备60示出为服务器的一个实例。然而,根据一些实施方式的服务器设备60包括由一个或更多个服务器设备组成的一组,每个服务器设备配备有一个或更多个处理器并能够独立于其它服务器设备操作。在这样的一组中操作的服务器设备可以以分布式方式或根据任何其它合适的技术单独地(例如,基于可用性)处理来自客户端计算设备10的请求,在该分布式方式中与处理请求相关联的一个操作在一个服务器设备上执行,而与处理同一请求相关联的另一操作在另一服务器设备上执行。出于该讨论的目的,术语“服务器设备”可以指单独的服务器设备或由两个或更多个服务器设备组成的一组。

在操作中,在客户端计算设备10中操作的导航显示器24接收数据并将数据发送到服务器设备60。因此,在一个示例中,客户端计算设备10可以将通信发送到导航错误预测引擎68(其在服务器设备60中实现),请求从起始位置到目的地的导航方向。因此,导航错误预测引擎68可以响应于该请求获得导航方向集合并将该导航方向集合提供给客户端计算设备10。

然后,对于即将进行的操纵,导航错误预测引擎68获得关于该操纵的环境特征。这可以包括获得指示客户端计算设备10周围环境的用于即将进行的操纵的传感器数据,诸如车辆中的噪声等级、车辆的速度等。结果,导航错误预测引擎68可以确定用户基于操纵特征将不正确地执行即将进行的操纵的可能性。如果用户在执行操纵时犯错,导航错误预测引擎68于是可以生成可替代导航方向集合并将其提供给客户端计算设备10。

客户端计算设备10可以确定用户的当前位置,如果当前位置偏离导航方向的路线,则客户端计算设备10可以呈现可替代导航方向。在其它实施方式中,导航错误预测引擎68可以针对可在导航显示器24上呈现的即将进行的操纵向客户端计算设备10提供警示。在另外的实施方式中,导航错误预测引擎68可以向客户端计算设备10提供用于即将进行的操纵的适配导航指令,该适配导航指令可以在导航显示器24上呈现以增加用户将正确理解适配导航指令的可能性。适配导航指令可以重复,可以以增加的音量或显示亮度呈现,可以呈现更长的时间段,或者可以在呈现先前的导航指令的同时与先前的导航指令一起呈现。

在生成导航方向时、在先前的操纵已经完成之后、在先前的操纵之前的操纵已经完成之后、在比即将进行的操纵早预定数量的操纵的操纵已经完成之后、或在任何其它合适的时间,导航错误预测引擎68可以获得关于即将进行的操纵的环境特征。

虽然这里参照驾驶方向描述了导航错误预测系统,但这仅是为了易于说明。导航错误预测系统可以被实现用于步行、骑行、公共交通或任何合适的导航方向。噪声等级可以是客户端计算设备10周围区域内的噪声等级,速度数据可以是客户端计算设备10的速度,而不管客户端计算设备10是否在车辆内。

在任何情况下,导航错误预测引擎68基于即将进行的操纵的特征来确定用户将不正确地执行即将进行的操纵的可能性。在一些实施方式中,导航错误预测引擎68基于车辆内的噪声等级来确定用户将不正确地执行即将进行的操纵的可能性。噪声等级越高,导航错误预测引擎68可以确定越高的可能性。此外,可以基于噪声等级的变化来确定用户将不正确地执行即将进行的操纵的可能性。例如,如果噪声等级是中等噪声等级但随着时间的推移保持不变,则相比于在导航指令呈现给用户时噪声等级大幅增加的情况,用户不太可能误解导航指令。因此,随着时间推移噪声等级增加越多,导航错误预测引擎68可以确定越高的可能性。在一些实施方式中,导航错误预测引擎68基于噪声等级和噪声等级变化的适当组合来确定用户将不正确地执行即将进行的操纵的可能性。

在其它实施方式中,导航错误预测引擎68基于操纵的复杂度等级来确定用户将不正确地执行即将进行的操纵的可能性。复杂度等级可以是诸如从1至100的复杂度得分,可以是诸如“非常低”、“低”、“中”、“高”、“非常高”等的类别,或者可以以任何其它合适的方式被指示。可以基于操纵类型(诸如四向交叉路口的转弯、六向交叉路口的转弯、环岛转弯、U形转弯、高速公路合并、高速公路离开等)来确定操纵的复杂度等级。在一些实施方式中,可以基于操纵类型和操纵位置的组合来确定操纵的复杂度等级。如果操纵处于操纵类型常见的位置(例如,操纵类型在包括该位置的地理区域内的频率超过阈值频率),则复杂度等级可以比操纵处于操纵类型不常见的位置的情况低。例如,在环岛较常见的英国,复杂度等级可以比在环岛不常见的美国低。

还可以基于即将进行的操纵与先前的操纵之间的时间量或距离量来确定复杂度等级。在先前操纵之后不久发生的操纵可以具有更高的复杂度等级。此外,可以基于用户为了执行操纵而需要改变的车道数来确定复杂度等级。例如,导航错误预测引擎68可以将在执行先前的操纵之后用户的初始车道与用户执行即将进行的操纵的最终车道进行比较。随着为了执行操纵变道次数增加,复杂度等级可以提高。

图3A示出了具有高复杂度等级(例如,70的复杂度得分)的困难操纵的一个示例。如图3A所示,用户在瓦列里(Valeri)街上向北行进。当用户接近交叉路口时,操纵是选择环岛的第三个出口进入查韦斯(Chavez)街。由于许多用户对环岛的经验并不丰富,因此用户可能意外地从环岛的第一个或第二个出口离开。图3B示出了具有高复杂度等级(例如,85的复杂度得分)的困难操纵的又一示例。如图3B所示,用户从左侧车道进入高速公路并入。该高速公路是五车道高速公路,并且即将进行的操纵是在0.3英里后从最右侧车道离开高速公路。为了让用户在湖(Lake)街离开高速公路,用户必须在不到0.3英里之内从最左侧车道移动到最右侧车道。这可能不允许用户有足够的时间进行必要的车道改变,并且用户可能无法在湖街离开高速公路。

在又一实施方式中,导航错误预测引擎68基于噪声等级、操纵的复杂度等级和/或操纵的其它特征的任何合适的组合来确定用户将不正确地执行即将进行的操纵的可能性。例如,导航错误预测引擎68可以将得分分配给操纵的每个特征并以任何合适的方式组合这些得分以生成操纵的总得分。然后,导航错误预测引擎68可以基于操纵的总得分来确定可能性。

在其它实施方式中,导航错误预测引擎68生成用于确定用户将不正确地执行操纵的可能性的机器学习模型。为了生成用于确定用户将不正确地执行操纵的可能性的机器学习模型,导航错误预测引擎68获得包括先前提供给用户的导航指令集的训练数据,其中每个导航指令包括一操纵。

训练数据还可以包括这些操纵中的每个的特征,包括执行操纵的环境的特征。例如,选择共享位置数据和/或其它用户数据的选项的用户可以将由他们各自的客户端计算设备10呈现的导航指令集与当呈现导航指令时从他们各自的客户端计算设备10收集的传感器数据一起传输。对于每个导航指令,传感器数据可以包括当呈现导航指令时的交通量、当呈现导航指令时的一天中的时间、当呈现导航指令时的天气状况、当呈现导航指令时的噪声等级、当呈现导航指令时用户的当前位置、当呈现导航指令时用户的当前速度等。

在一些实施例中,客户端计算设备10分别通过包括在客户端计算设备10中的时钟和麦克风来确定一天中的时间和噪声等级。为了确定天气,客户端计算设备10可以包括下雨传感器或者可以与外部服务(诸如国家气象服务)进行通信。例如,客户端计算设备10可以与GPS模块通信以获得当前位置并向国家气象服务发送请求以获取包括当前位置的区域的天气数据。类似地,为了确定交通量,客户端计算设备10可以与GPS模块通信以获得当前位置并向交通服务发送请求以获取包括当前位置的区域的交通数据。

在任何情况下,对于所呈现的每个导航指令,导航错误预测引擎68获得操纵的特征,获得关于操纵是否正确执行的指示,以及如果没有正确执行则获得在尝试操纵之后用户的位置。例如,如果地图绘制应用22因为用户的当前位置与在呈现导航指令之后的原始路线的路径不同而生成了新路线,则导航错误预测引擎68可以接收到操纵未正确执行的指示,并且可以接收到关于尝试操纵之后的用户当前位置的指示。

导航指令集、操纵特征、关于操纵是否正确执行的指示和/或用户在尝试操纵之后的位置可以作为训练数据提供,用于使用机器学习技术来生成机器学习模型。

用于生成机器学习模型的示例训练数据

图4示出了可用于生成机器学习模型的示例训练数据400。在一些实施例中,训练数据400可以存储在数据库80中。训练数据400可以包括两个部分:操纵特征410和尝试过的操纵的结果420。操纵特征410可以包括操纵402和操纵类型404,诸如在四向交叉路口转弯、在六向交叉路口转弯、环岛转弯、高速公路合并、高速公路离开、U形转弯、急转弯、轻微转弯、变道等。

操纵特征410还可以包括操纵406的复杂度等级。复杂度等级406可以是诸如从1至100的复杂度得分,可以是诸如“非常低”、“低”、“中”、“高”、“非常高”等的类别,或者可以以任何其它合适的方式来指示。可以基于操纵类型404(诸如四向交叉路口的转弯、六向交叉路口的转弯、环岛转弯、U形转弯、高速公路合并、高速公路离开等)来确定操纵的复杂度等级406。还可以基于即将进行的操纵与先前的操纵之间的时间量或距离量来确定复杂度等级406。在先前操纵之后不久发生的操纵可以具有更高的复杂度等级。此外,可以基于用户为了执行操纵而需要改变的车道数量来确定复杂度等级406。例如,导航错误预测引擎68可以将在执行先前操纵之后用户的初始车道与用户执行即将进行的操纵的最终车道进行比较。随着用于执行操纵的车道改变的数量增加,复杂度等级406可以提高。

此外,操纵特征410可以包括操纵的位置408。虽然数据表400中的位置列408包括GPS坐标,但是位置可以是交叉路口、街道地址或任何其它合适的位置。

此外,操纵特征410可以包括操纵位置处的交通量412,其被归类为轻闲交通、中等交通或繁忙交通。例如,道路的轻闲交通可以指示道路上的车辆正在以或超过限速行驶。道路的中等交通可以指示道路上的车辆正在以低于限速的阈值速度内(例如,在限速的5-10mph内)行驶。道路的繁忙交通可以指示道路上的车辆正在以低于比限速低的阈值速度行驶(例如,低于限速的5-10mph)。

此外,操纵特征410可以包括当用户接近操纵的位置时车辆或客户端计算设备10的速度414、以及车辆内或车辆周围的噪声等级416,诸如车辆内的背景音乐或谈话、街道噪声、喇叭声、电话铃声等。噪声等级416可以以分贝(dB)表示或被归类为安静(例如,低于第一阈值分贝量)、中等(例如,在第一阈值分贝量与高于第一阈值分贝量的第二阈值分贝量之间)、响亮(例如,高于第二阈值分贝量)等。在一些实施例中,噪声等级416还可以包括关于噪声源(诸如收音机或其它音乐播放、街道噪声等)的指示。此外,在一些实施例中,噪声等级416可以包括关于噪声等级随时间变化(诸如当用户接近操纵位置时从安静到响亮、从响亮到中等,等等)的指示。

虽然示例训练数据400包括操纵402、操纵类型404、操纵复杂度等级406、操纵位置408、交通数据412、速度数据414和噪声数据416作为操纵特征410,但这些仅仅是操纵特征的几个示例以只为了易于说明。指示操纵和/或与操纵有关的环境的任何合适的特征可以用作操纵特征410,诸如路线上的先前操纵的位置、连续操纵之间的时间量或距离量、车辆的车道位置、当车辆接近操纵位置时是否有应急车辆经过该车辆等。

除了操纵特征410之外,训练数据400还可以包括指示尝试过的操纵的结果420的数据。指示尝试过的操纵的结果420的数据可以包括关于操纵是否正确执行422的指示。例如,如果在用户到达操纵位置之后用户的当前位置与路线的路径不同,则导航错误预测引擎68可以接收用户在执行操纵时犯错的指示。如果用户的当前位置与路线的路径不同,则指示尝试过的操纵的结果420的数据还可以包括关于在尝试操纵之后用户的当前位置的指示。例如,当操纵是轻微的右转时,用户的当前位置可以指示用户进行了向右急转弯。在另一示例中,如果操纵是在环岛的第三个出口离开,则用户的当前位置可以指示用户在环岛的第二个出口离开。

为了生成机器学习模型,导航错误预测引擎68可以将训练数据400的子集归类为对应于正确执行的操纵和不正确执行的操纵。例如,第一行训练数据400(包括在响亮环境中具有低复杂度等级的右转)可以被分类为对应于正确执行的操纵。第四行训练数据400(包括在安静环境中具有高复杂度等级的环岛转弯)可以被分类为对应于不正确执行的操纵。

然后导航错误预测引擎68可以分析第一子集和第二子集以生成机器学习模型。机器学习模型可以使用各种机器学习技术(诸如回归分析(例如,逻辑回归、线性回归或多项式回归)、k-最近邻、决策树、随机森林、提升、神经网络、支持向量机、深度学习、强化学习、贝叶斯网络等)来生成。在一些实施例中,导航错误预测引擎68可以生成用于确定用户将不正确地执行操纵的可能性的第一机器学习模型、以及用于预测在尝试操纵之后用户的位置的第二机器学习模型。

例如,用于确定用户将不正确地执行操纵的可能性的机器学习模型可以是具有由分支连接的若干节点的决策树,其中每个节点代表对操纵特征的测试(例如,操纵复杂度等级低吗?),每个分支代表测试的结果(例如,否),每一叶代表用户将不正确地执行操纵的可能性(例如,0.4)。在其它实施方式中,每一叶可以代表某一范围的可能性(例如,0.2-0.3)。

更具体地,导航错误预测引擎68可以生成决策树,其中第一节点对应于噪声等级是否响亮。如果噪声等级不响亮,则第一分支可以连接到与交通是否繁忙对应的第二节点。如果交通繁忙,则第二分支可以连接到与复杂度等级是否高对应的第三节点。如果复杂度等级高,则第三分支可以连接到叶节点,该叶节点可以指示用户将不正确地执行操纵的可能性为0.3。虽然决策树包括一个叶节点和三个分支,但这仅仅是示例以只为了易于说明。每个决策树可以包括任何数量的节点、分支和叶,从而具有任何合适数量和/或类型的对操纵特征的测试。

用于预测在尝试操纵之后用户的位置的机器学习模型也可以是具有由分支连接的若干节点的决策树,其中每个节点代表对操纵特征的测试。在其它实施方式中,用于预测在尝试操纵之后用户的位置的机器学习模型可以是神经网络。例如,基于训练数据,机器学习模型可以确定当用户在轻微右转犯错时,用户有可能已经进行了向右急转。因此,机器学习模型可以预测用户将处于对应于已在操纵的交叉路口向右急转的位置。在另一示例中,基于训练数据,机器学习模型可以确定当用户在难以看到路牌的位置和/或当噪声等级响亮时在左转犯错时,用户有可能继续直行。因此,机器学习模型可以预测用户将处于对应于继续直行通过操纵的交叉路口的位置。

使用机器学习技术来预测导航中的错误的示例逻辑

图5示意性地示出了图2的导航错误预测引擎68如何预测示例场景中每个操纵的导航错误。图5中的一些块代表硬件和/或软件组件(例如,块502),另外的块代表数据结构或存储这些数据结构、寄存器或状态变量的存储器(例如,块504、512、520),另外的块代表输出数据(例如,块506)。输入信号由标有对应信号名称的箭头表示。

图5的机器学习引擎502可以被包括在导航错误预测引擎68内以生成机器学习模型520。为了生成机器学习模型520,机器学习引擎502接收训练数据,该训练数据包括先前在导航指令中提供给用户的第一操纵522和当提供第一操纵时的第一操纵特征集合、以及关于用户是否正确执行该操纵的第一指示。训练数据还包括先前在导航指令中提供给相同或不同用户的第二操纵524和当提供第二操纵时的第二操纵特征集合、以及关于用户是否正确执行该操纵的第二指示。此外,训练数据包括先前提供给相同或不同用户的第三操纵526和当提供第三操纵时的第三操纵特征集合、以及关于用户是否正确执行该操纵的第三指示。此外,训练数据包括先前提供给相同或不同用户的第n操纵528和当提供第n操纵时的第n操纵特征集合、以及关于用户是否正确执行该操纵的第n指示。

虽然示例训练数据包括提供给相同或不同用户的四个操纵522-528,但这仅仅是示例以只为了易于说明。训练数据可以包括来自任意数量的用户的任意数量的操纵。

然后,机器学习引擎502分析训练数据以生成用于确定用户将不正确地执行操纵的可能性和/或用于预测在尝试操纵之后用户的位置的机器学习模型520。在一些实施例中,机器学习引擎502生成用于确定用户将不正确地执行操纵的可能性并用于预测在尝试操纵之后用户的位置的单独的机器学习模型。虽然机器学习模型520被示出为线性回归模型,但机器学习模型可以是另一种类型的回归模型,诸如逻辑回归模型、决策树、神经网络、超平面或任何其它合适的机器学习模型。

在任何情况下,例如,响应于用户对导航方向的请求,图5的系统从导航服务器34接收文件中的用于路线的导航指令集504。在该示例中,导航指令集504包括对操纵1-3的描述,但一般而言,导航指令集504可以包含任何数量的操纵。对于导航指令集504中的每个操纵,系统获得包括传感器数据的操纵特征,该传感器数据指示用户的客户端计算设备10周围的外部环境512。传感器数据可以包括用户的车辆周围的区域的交通数据、能见度数据(诸如一天中的时间和/或用户的车辆周围的区域的天气数据)、指示车辆内或周围的噪声等级的噪声数据(诸如车辆内的背景音乐或谈话、街道噪声、喇叭声、电话铃声等)。

然后,机器学习引擎502可以将包括指示外部环境512的传感器数据的操纵特征应用于机器学习模型520以确定用户在执行操纵时将犯错的可能性。机器学习引擎502还可以将操纵特征应用于机器学习模型520以预测在尝试操纵之后用户的位置。在一些实施方式中,当用户在执行操纵时将犯错的可能性超过阈值可能性(例如,0.25)时,机器学习模型520预测在尝试操纵之后用户的位置。

例如,对于第一操纵506,机器学习模型520确定用户在执行操纵时将犯错的可能性为0.3。机器学习模型520预测在尝试操纵之后用户的位置是在出口34以北的高速公路1上。在该示例中,操纵可以是在出口34处离开高速公路1,并且机器学习模型520可以确定,如果用户没有在出口处离开,则用户很有可能继续沿高速公路1直行。

在一些实施例中,导航错误预测引擎68将用户在执行操纵时将犯错的可能性与阈值可能性进行比较。响应于确定该可能性超过阈值可能性,导航错误预测引擎68可以生成例如从在尝试操纵之后用户的预测位置到目的地位置的可替代导航方向集合。例如,导航错误预测引擎68可以从导航服务器34接收可替代导航方向集合。导航错误预测引擎68可以向用户的客户端计算设备10提供可替代导航方向集合,使得如果用户在尝试操纵之后偏离路线行进,则用户的客户端计算设备10可以无延迟地呈现可替代导航方向集合。

在一些实施方式中,导航错误预测引擎68从用户在尝试操纵之后可能所处的多个位置生成多个可替代导航方向集合。例如,如果操纵是在出口34处离开高速公路1,则导航错误预测引擎68可以从过了出口34的高速公路1生成第一可替代导航方向集合,从出口33生成第二可替代导航方向集合,从出口35生成第三可替代导航方向集合。导航错误预测引擎68可以向用户的客户端计算设备10提供每个可替代导航方向集合。然后,如果用户在执行操纵时犯错,则客户端计算设备10可以确定在尝试操纵之后用户的当前位置,并且可以基于用户的当前位置来选择可替代导航方向集合。例如,如果用户的当前位置在出口35处,则客户端计算设备10可以呈现来自出口35的第三可替代导航方向集合。

此外,在一些实施例中,导航错误预测引擎68首先将整个导航指令集提供给用户的客户端计算设备10。然后对于每个操纵,导航错误预测引擎68接收并应用操纵特征,其包括指示机器学习模型520的外部环境512的特征。继而,机器学习模型520确定用户将不正确地执行操纵的可能性,并且导航错误预测引擎68将该可能性与阈值可能性进行比较以确定是否采取先发制人的行动。在一些实施方式中,导航错误预测引擎68确定在用户执行先前操纵之后用户将不正确地执行操纵的可能性。在其它实施方式中,导航错误预测引擎68确定在先前操纵之前的操纵已经完成之后、在比操纵早预定数量的操纵的操纵已经完成之后、或在任何其它合适的时间的可能性。

示例导航显示

如上所述,当导航错误预测引擎68确定用户在执行操纵时将犯错的可能性超过阈值可能性时,导航错误预测引擎68可以采取先发制人的行动以防止错误发生或防止用户进一步弄混和/或犯错。这可以包括生成从在尝试操纵之后用户的预测位置到目的地位置的可替代导航方向集合。先发制人的行动还可以包括提供关于执行即将进行的操纵的难度等级的警示。图6示出了示例导航显示600,其指示从起始位置到目的地位置的路线602并包括关于路线上的操纵的警示604。如图6所示,操纵包括在包括两种类型的右转的五向交叉路口中的向右急转。导航错误预测引擎68可以确定用户将不正确地执行操纵的可能性是0.4。因此,导航错误预测引擎68可以提供包括在导航显示600中指示40%的用户错过向右急转的警示604。警示604还包括关于用户控制的指示,以供用户在到达即将进行的操纵的位置之前选择可替代路线。例如,用户可以向右滑动以接收可替代导航方向,该可替代导航方向包括继续直行经过五向交叉路口,而不是进行向右急转。

在其它实施方式中,导航显示器600可以在呈现用于先前操纵的导航指令的同时,呈现用于即将进行的操纵的导航指令。以这种方式,可以在用户执行先前的操纵之前使用户知道下一个操纵,使得用户可以决定是执行先前的操纵还是请求可替代导航方向。此外,用户可以准备好执行下一个操纵,使得用户可以在完成先前操纵之后立即采取必要的措施来执行下一个操纵。例如,第一操纵可以是进入高速公路,在该高速公路上用户并入四车道高速公路的左车道。下一个操纵可以是在进入高速公路0.3英里后使用右车道离开高速公路。在这种情况下,可以将用于离开高速公路的导航指令与用于进入高速公路的导航指令一起呈现。以这种方式,用户可以确定接下来的操纵太难并且可能无法进入高速公路,或者用户可以在进入高速公路后立即准备变道,使得用户可以在到达出口之前驶入右车道。

在又一实施方式中,当该可能性超过阈值可能性时,导航错误预测引擎68可以使用于即将进行的操纵的导航指令重复。导航错误预测引擎68还可以增加包括即将进行的操纵的音频导航指令的音量,可以增加包括即将进行的操纵的导航指令的长度或细节等级,可以增加包括即将进行的操纵的导航显示600的亮度,可以增加包括即将进行的操纵的导航显示600的大小,可以使音频导航指令和视觉导航指令两者分别通过客户端计算设备10的扬声器和显示器呈现,等等。

预测操纵的可能性错误的示例方法

图7示出了预测用户在穿越路线时出错的可能性的示例方法700的流程图。方法700可以在存储于计算机可读存储器上并在服务器设备60的一个或更多个处理器上可运行的指令集中实现。例如,该方法可以由导航错误预测引擎68实现。

在块702处,导航错误预测引擎68接收用户的客户端计算设备10对从起始位置到目的地的导航方向的请求。起始位置可以是客户端计算设备10的当前位置。在任何情况下,响应于该请求,导航错误预测引擎68生成导航指令集(块704)。可以以文本格式来生成导航指令集。此外,导航错误预测引擎68可以通过将请求转发到导航数据服务器34并从导航数据服务器34接收导航指令集来生成导航指令集。

然后,例如在用户到达操纵位置之前,对于导航指令集中即将进行的操纵,导航错误预测引擎68确定用户将不正确地执行该操纵的可能性(块706)。在一些实施例中,导航错误预测引擎68确定当即将进行的操纵包括转弯时用户将不正确地执行该即将进行的操纵的可能性。如果即将进行的操纵不包括转弯(例如,即将进行的操纵是继续直行),则导航错误预测引擎68可以不对用户将不正确地执行操纵的可能性进行确定以节省资源并避免过度的处理和数据检索。

更具体地,导航错误预测引擎68可以获得即将进行的操纵的特征,包括该操纵本身的特征(例如,该操纵的类型、基于先前的操纵和/或基于用户的当前位置的初始车道位置、用于执行该操纵的最终车道位置、该操纵与先前操纵之间的距离和/或时间、操纵的复杂度等级等)和/或与该操纵有关的环境特征(例如,执行该操纵的车辆内的噪声等级、该操纵的位置、执行该操纵的道路上的交通量、车辆的速度、当车辆接近该操纵的位置时是否有应急车辆经过该车辆等)。

然后,导航错误预测引擎68可以基于这些特征来确定用户不正确地执行该操纵的可能性。例如,噪声等级越高,该可能性可以越高。在另一示例中,操纵的复杂度等级越高,该可能性可以越高。在一些实施方式中,导航错误预测引擎68可以将得分分配给这些特征中的一个或更多个,然后以任何合适的方式组合这些特征得分以生成即将进行的操纵的总得分。然后,导航错误预测引擎68可以根据总得分来确定用户不正确地执行操纵的可能性。在其它实施方式中,导航错误预测引擎68可以利用机器学习技术来基于用户过去对各种操纵和/或环境的经验生成机器学习模型,以确定用户不正确地执行操纵的可能性。

在块708处,导航错误预测引擎68将该可能性与阈值可能性进行比较。如果该可能性超过阈值可能性,则导航错误预测引擎68可以采取先发制人的行动以防止错误发生或防止用户进一步弄混和/或犯错。

在一些实施方式中,导航错误预测引擎68预测在尝试操纵之后用户的位置(块710)。例如,导航错误预测引擎68可以基于操纵的位置(诸如基于用户可在操纵的位置执行的可替代操纵)来预测在尝试操纵之后用户的位置。

导航错误预测引擎68可以基于用户可在操纵位置处执行的可替代操纵来识别在尝试操纵之后用户的候选位置。然后,导航错误预测引擎68可以基于用户在尝试操纵之后到达候选位置的可能性为每个候选位置分配得分,并且可以根据分配的得分对候选位置进行排名。更具体地,导航错误预测引擎68可以基于操纵的位置、当用户接近操纵的位置时用户在路线上行进的方向、操纵类型和/或用户可在操纵位置执行的可替代操纵来识别每个候选位置和/或为每个候选位置打分。导航错误预测引擎68可以选择具有最高得分的候选位置作为用户在尝试操纵之后的预测位置。在其它实施方式中,导航错误预测引擎68可以如上所述通过将操纵的特征应用于机器学习模型来预测在尝试操纵之后用户的位置。

在任何情况下,导航错误预测引擎68然后可以为从不对应于该操纵的位置(即,偏离原始路线的路径的位置)到目的地位置的可替代路线生成可替代导航方向集合(块712)。不对应于该操纵的位置可以是用户的预测位置。在其它实施方式中,导航错误预测引擎68从在尝试操纵之后用户可能所处的多个位置生成多个可替代导航方向集合。导航错误预测引擎68可以在用户到达操纵位置之前向用户的客户端计算设备10提供一个或多个可替代导航方向集合,使得如果用户在尝试操纵后偏离路线,则用户的客户端计算设备10可以无延迟地呈现可替代导航方向集合。

然后在块714处,导航错误预测引擎68可以确定用户是否到达目的地位置。如果用户到达目的地位置,则过程结束。否则,导航错误预测引擎68可以确定用户将不正确地执行下一个即将进行的操纵的可能性(块706)。

附加考虑事项

以下附加考虑事项适用于前面的讨论。贯穿本说明书,多个实例可以实现被描述为单个实例的组件、操作或结构。尽管一种或更多种方法的各个操作被示出和描述为单独的操作,但是可以同时执行各个操作中的一个或更多个,并且不要求按所示的顺序执行这些操作。在示例配置中呈现为单独组件的结构和功能可以被实现为组合的结构或组件。类似地,呈现为单个组件的结构和功能可以被实现为分离的组件。这些和其它变化、修改、添加和改善落入本公开的主题的范围内。

此外,某些实施例在此被描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,存储在机器可读介质上的代码)或硬件模块。硬件模块是能够执行某些操作的有形单元,并且可以以某种方式配置或布置。在示例实施例中,一个或更多个计算机系统(例如,独立的、客户端或服务器计算机系统)或计算机系统的一个或更多个硬件模块(例如,一个处理器或一组处理器)可以由软件(例如,应用或应用部分)配置为硬件模块,该硬件模块操作用于执行如在此描述的某些操作。

在各种实施例中,可以机械地或电子地实现硬件模块。例如,硬件模块可以包括永久配置以执行某些操作的专用电路或逻辑(例如,作为专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC))。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路(例如,包含在通用处理器或其它可编程处理器内)。将理解,在专用的且永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实现硬件模块的决定可能受成本和时间考虑的驱动。

因此,术语硬件应被理解为包含有形实体,术语硬件应是物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)以按某种方式进行操作或执行在此描述的某些操作的实体。如这里所使用的,“硬件实现的模块”指硬件模块。考虑到硬件模块被临时配置(例如,被编程)的实施例,每个硬件模块不需要在任何一个时间实例被配置或实例化。例如,在硬件模块包括使用软件配置的通用处理器的情况下,通用处理器可以在不同时间被配置为各个不同的硬件模块。软件可以相应地配置处理器,例如,以在一个时间实例构成特定硬件模块并在不同时间实例构成不同的硬件模块。

硬件模块可以向其它硬件提供信息并从其它硬件接收信息。因此,所描述的硬件模块可以被认为是通信耦合的。在同时存在多个这样的硬件模块的情况下,可以通过连接硬件模块的信号传输(例如,通过适当的电路和总线)来实现通信。在多个硬件模块在不同时间被配置或实例化的实施例中,这些硬件模块之间的通信可以例如通过在多个硬件模块可访问的存储器结构中存储和检索信息来实现。例如,一个硬件模块可以执行操作并将该操作的输出存储在其通信耦合到的存储器设备中。然后,另一硬件模块可以在稍后时间访问存储器设备以检索和处理存储的输出。硬件模块还可以启动与输入或输出设备的通信,并且可以对资源(例如,信息集合)进行操作。

方法700可以包括存储在非暂时性计算机可读存储介质中并使用计算设备(例如,如在此描述的服务器设备、个人计算机、智能电话、平板计算机、智能手表、移动计算设备或其它客户端计算设备)的处理器运行的有形计算机可运行指令形式的一个或更多个功能块、模块、单独功能或例程。方法700可以被包括作为任何后端服务器(例如,如在此描述的地图数据服务器、导航服务器或任何其它类型的服务器计算设备)的部分,例如示例环境的客户端计算设备模块,或作为这种环境外部的模块的部分。尽管为了易于解释可以参照其它附图来描述附图,但是方法700可以与其它对象和用户界面一起使用。此外,尽管上面的解释描述了方法700的步骤由特定设备(诸如服务器设备60或客户端计算设备10)执行,但这仅是为了说明的目的。方法700的块可以由一个或更多个设备或环境的其它部分来执行。

这里描述的示例方法的各种操作可以至少部分地由一个或更多个处理器执行,该一个或更多个处理器被临时配置(例如,通过软件)或永久配置为执行相关操作。无论是临时配置的还是永久配置的,这样的处理器都可以构成处理器实现的模块,这些模块操作用于执行一个或更多个操作或功能。在一些示例实施例中,这里提到的模块可以包括处理器实现的模块。

类似地,这里描述的方法或例程可以至少部分地由处理器实现。例如,方法的至少一些操作可以由一个或更多个处理器或处理器实现的硬件模块来执行。某些操作的性能可以分布在所述一个或更多个处理器之间,不仅驻留在单个机器内,而且跨多个机器部署。在一些示例实施例中,一个或多个处理器可以位于单个位置(例如,在家庭环境、办公室环境中或作为服务器群),而在其它实施例中,处理器可以跨多个位置分布。

一个或更多个处理器还可以操作用于支持在“云计算”环境中或作为SaaS的相关操作的性能。例如,如上所述,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可通过网络(例如,互联网)以及通过一个或更多个适当的接口(例如,API)访问。

此外,附图仅出于说明的目的绘出了示例环境的一些实施例。本领域技术人员将从以下讨论中容易地认识到,在不背离这里描述的原理的情况下,可以采用这里示出的结构和方法的可替代实施例。

在阅读本公开后,本领域技术人员将理解用于通过这里公开的原理预测用户在穿过路线时出错的可能性的另外的可替代结构设计和功能设计。因此,虽然已经示出和描述了特定实施例和应用,但是将理解,所公开的实施例不限于这里所公开的精确构造和组件。在不脱离所附权利要求限定的精神和范围的情况下,可以在这里公开的方法和装置的布置、操作和细节中进行对于本领域技术人员将明显的各种修改、改变和变化。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号