公共用户路线的穿越时间预测的制作方法

文档序号:31009129发布日期:2022-08-03 12:04阅读:84来源:国知局
公共用户路线的穿越时间预测的制作方法

1.本公开总体说来涉及预测路线的穿越时间(traversal time)。


背景技术:

2.当用户使用导航应用来请求从出发地位置到目的地位置的导航指引时,导航应用将生成从出发地位置到目的地位置的路线,所述路线包括一系列路线段(例如,第一段可以是在道路a上行驶一英里,第二段可以是右转到道路b上并行驶0.5英里等)。为了预测总穿越时间,导航应用典型地预测每个路线段的穿越时间,并且将所有路线段的穿越时间加在一起,从而得到整个路线上的总穿越时间。


技术实现要素:

3.在一个方面,本技术提供一种用于预测路线的穿越时间的计算机实现的方法,所述方法包括:由处理器接收对导航指引的请求,所述请求包括出发地位置及和目的地位置;由处理器计算出发地位置与目的地位置之间的路线;由处理器确定在出发地位置与目的地位置之间的路线上要穿越的一系列路线段;由处理器识别所述一系列路线段中的一个或多个子系列路线段,每个子系列具有在出发地位置与目的地位置之间的路线的一部分上要连续穿越的路线段;对于每个子系列路线段,由处理器基于与历史行程相关联的历史穿越时间数据来预测子系列路线段的子系列穿越时间,其中,在历史行程中连续穿越子系列路线段中的每个路线段;由处理器基于每个子系列路线段的子系列穿越时间来预测总路线穿越时间;以及由处理器提供导航指引集合和预测总路线穿越时间以在客户端设备上呈现,用于经由所述路线从出发地位置导航到目的地位置。
4.在另一方面,提供了一种电子设备,所述电子设备包括:一个或多个处理器和其上存储有指令的非暂时性计算机可读存储器,所述指令在由一个或多个处理器执行时,使得该计算设备:接收对导航指引的请求,所述请求包括出发地位置和目的地位置;计算出发地位置与目的地位置之间的路线;确定在出发地位置与目的地位置之间的路线上要穿越的一系列路线段;识别一系列路线段中的一个或多个子系列路线段,每个子系列具有在出发地位置与目的地位置之间的路线的一部分上要连续穿越的路线段;对于每个子系列路线段,基于与历史行程相关联的历史穿越时间数据来预测子系列路线段的子系列穿越时间,其中,在历史行程中连续穿越子系列路线段中的每个路线段;基于每个子系列路线段的子系列穿越时间来预测总路线穿越时间;以及提供导航指引集合和预测总路线穿越时间以在客户端设备上呈现,用于经由所述路线从出发地位置导航到目的地位置。
5.在又一方面,提供了一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储用于选择兴趣点以包括在操纵中的指令,所述指令在由计算设备中的一个或多个处理器执行时使一个或多个处理器:接收对导航指引的请求,所述请求包括出发地位置和目的地位置;计算出发地位置与目的地位置之间的路线;确定在出发地位置与目的地位置之间的路线上要穿越的一系列路线段;识别一系列路线段中的一个或多个子系列路线段,每
个子系列具有在出发地位置与目的地位置之间的路线的一部分上要连续穿越的路线段;对于每个子系列路线段,基于与历史行程相关联的历史穿越时间数据来预测子系列路线段的子系列穿越时间,其中,在历史行程中连续穿越子系列路线段中的每个路线段;基于每个子系列路线段的子系列穿越时间来预测总路线穿越时间;以及提供导航指引集合和预测总路线穿越时间以在客户端设备上呈现,用于经由所述路线从出发地位置导航到目的地位置。
附图说明
6.图1示出了能够使用本公开的技术来预测由在电子设备上运行的导航应用生成的路线的穿越时间的示例环境;
7.图2是能够在图1的系统中操作的示例电子设备和服务器设备的框图;
8.图3a-图3c是示例的一系列路线段和子系列路线段的示图;
9.图4是用于预测由在电子设备上运行的导航应用请求的路线的穿越时间的示例方法的流程图。
具体实施方式
10.概述
11.如上所述,当用户使用导航应用来请求从出发地位置到目的地位置的导航指引时,导航应用或与导航应用相关联的服务器生成从出发地位置到目的地位置的路线,所述路线包括一系列路线段。例如,每个路线段可以是两个交叉路口之间的道路的一部分(例如,第一段可以是在道路a上行驶直到到达道路a和道路b的交叉路口,第二段可以是右转到道路b上并行驶0.5英里直到道路b和道路c的交叉路口等)。导航应用可以通过聚合或组合路线上的每个路线段的预测穿越时间来预测路线的总穿越时间。
12.然而,以这种方式计算总穿越时间具有若干限制。首先,较短路线段的预测穿越时间通常比较长路线段的预测穿越时间噪声更大,因此包括许多较短路线段的路线的预测穿越时间会包括来自较短路线段中的每一个的累积噪声误差。
13.此外,一般而言,基于每个路线段的预测穿越时间来计算整个路线的穿越时间涉及以下假设:各个路线段的预测误差是不相关的并且彼此抵消。然而,在许多情况下,沿着相同路线的各个路线段的预测误差会彼此相关。例如,如果特定路线段的预测穿越时间错误地未能考虑影响沿该路线段的穿越时间的事故,则可能相同的(未考虑的)事故影响沿所请求路线的另外的路段,从而导致沿整个路线的预测穿越时间的累积误差。对于具有受相同误差影响的许多单独路段的路线,即使每一个单独误差较小,累积误差也会较大。
14.此外,基于每个路线段的预测穿越时间来计算整个路线的穿越时间涉及特定用户的先前路线段或后续路线段将不会影响该用户在当前路线段上的穿越时间的假设。然而,用户在特定路线段上的实际穿越时间可能受到用户的路线中包括哪个先前路线段和/或后续路线段的影响,尤其是当需要复杂操纵来将用户带到这些路线段之间时。例如,需要在2英里高速公路段结束时离开高速公路的用户通常比在2英里高速公路段之后沿着高速公路继续的用户花费更长的时间来穿越这2英里的高速公路段。类似地,与在穿越2英里高速公路段之前已经在高速公路上的用户相比,在2英里高速公路段的开始处刚刚进入高速公路的用户将通常花费更长的时间来穿越这2英里的高速公路段。如果高速公路出口或入口拥
挤而高速公路本身上的交通自由流动,则这种影响会加剧,反之亦然。
15.本技术提供了用于预测一系列路线段的穿越时间而不是单独预测系列中的每个路线段的穿越时间并将它们加在一起的系统和方法。可以将以特定顺序频繁穿越的一系列路线段识别为超路段(supersegment),并且可以例如使用基于来自已经穿越超路段的用户的实时和/或历史穿越时间数据的机器学习分析来计算整个超路段上的穿越时间,这将在下面更详细地讨论。当用户的路线包括所识别的超路段之一时,超路段的预测穿越时间可以用于计算用户的路线上的总穿越时间,而不是构成超路段的路线段中的每一个的预测穿越时间。
16.有利地,与基于各个路线段的穿越时间来计算路线的预测穿越时间相比,计算整个超路段上的预测穿越时间减少了计算中的噪声量,这是因为超路段比单独路段长。特别地,即使在整个超路段上的预测穿越时间的计算包括误差裕度时,误差裕度仅影响总穿越时间一次,而不是为每个单独路线段添加额外的误差裕度。此外,整个超路段上的预测穿越时间能够解释超路段内包含的复杂操纵。也就是说,在包括用于在第一英里标记处进入高速公路并在第二英里标记处离开高速公路的路线段的超路段上的预测的穿越时间能够基于在第一英里标记处进入高速公路并在第二英里标记处离开高速公路的其他用户的历史穿越时间。
17.所公开的主题解决了与导航系统相关联的技术问题,并提供了一种改进的导航方法。与用户如何穿越单个路线段的不同的组合有关的真实世界数据被捕获,并用于确定呈现给用户的更准确的路线预测穿越时间。也就是说,获得与底层行进(travel)网络系统有关的技术信息,并用于改进路线的预测穿越时间。
18.示例计算环境
19.参考图1,其中能够实现上面概述的技术的示例环境100包括电子设备102和具有车载主机(head unit)106的车辆104。电子设备102可以是智能电话、平板计算机、可穿戴计算机等。电子设备102经由通信链路108与车辆104的车载主机106通信,通信链路108可以是有线的(例如,通用串行总线(usb))或无线的(例如,蓝牙、wi-fi直连)。电子设备102还能够经由无线通信网络与各种内容提供者、服务器等通信。
20.在操作中,电子设备102以导航指令或操纵的序列的形式获得用于将用户从出发地位置导航到目的地位置的导航数据。如下文更详细地论述,取决于实施方式,电子设备102能够经由通信网络从导航服务接收导航数据或能够在本地生成导航数据。在一些实施方式中,电子设备102向车载主机106提供与导航有关的信息,其可以包括数字地图图像、文本和音频。车载主机106经由显示器110显示该信息。在一些实施方式中,显示器110是触摸屏,并且包括用于文本输入的软件键盘,该文本输入可以包括目的地的名称或地址、原点等。另一种类型的显示器110能够例如是与非触摸输入设备(例如旋转控制器)一起提供的屏幕,或者是单独的触摸板。通常,显示器110不需要能够显示文本和图像两者。另一车辆中的车载主机能够包括例如仅能够在一条或多条线上显示字母数字字符的简单显示器。
21.车载主机106能够包括硬件输入控件,诸如按钮、旋钮等。这些控件(control)能够设置在车载主机106上或车辆104中的其他地方。例如,图1中的车辆104包括车载主机106上的导航控件112以及通信地耦接到车载主机106的方向盘控件114。控件112和114能够被映射到电子设备102上的各种导航控制功能。在一些实施方式中,控件112和114还能够用于输
入字母数字字符或执行用于请求导航指引的其他功能。
22.车辆104还能够包括音频输入和输出组件,诸如麦克风116和扬声器118。麦克风116可以被配置为捕获来自用户的语音输入,而扬声器118可以被配置为与用户通信导航相关的信息。类似于硬件控件112和114,麦克风116和扬声器118能够直接设置在车载主机106上或车辆104中的其他地方。
23.参考图2示出电子设备102的示例实施方式。电子设备102可以包括耦接到存储器122的一个或多个处理器120、gps单元124、诸如触摸屏的显示器126、一个或多个传感器128(例如,加速度计、陀螺仪、惯性测量单元(imu)、速度计)、一个或多个音频输入组件130、一个或多个音频输出组件132和一个或多个通信单元134。通信单元134可以包括用于与车载主机106通信的短程通信单元以及远程通信单元。短程通信单元可以支持一种或更多种通信方案,诸如usb、蓝牙、wi-fi直连等,而远程通信单元可以经由合适的无线网络136(诸如,例如3g蜂窝网络或4g蜂窝网络)发送和接收数据。一个或多个处理器120中的每一个能够是任何合适的通用处理单元(例如,cpu)、微处理器或专用处理单元。存储器122能够是非暂时性计算机可读介质,其能够包括诸如硬盘、闪存驱动器等的持久性组件和诸如随机存取存储器(ram)单元的非持久性组件。例如,处理器120和存储器122能够经由合适的电连接(诸如数字总线)互连。
24.使用通信单元134,电子设备102可以与任何数量的合适服务器通信。在图2的示例配置中,电子设备102与提供导航数据的导航服务器138以及基于历史行程数据提供超路段数据的超路段服务器140通信。导航服务器138可以包括处理器142和存储器144,并且可以被配置为访问存储导航数据的导航数据库146和/或存储地图数据的地图数据库。
25.超路段服务器140可以包括处理器148和存储器150,并且可以被配置为访问存储历史行程数据的历史行程数据库152,历史行程数据包括例如与历史行程相关联的路线(即,一系列路线段)、与历史行程相关联的穿越时间、以及关于历史行程的其他信息,诸如历史行程的日期和时间、和/或每次历史行程时的天气或交通信息。在一些示例中,超路段服务器140的处理器148可以分析历史行程数据以识别超路段,即,历史行程中频繁行进的一系列路线段。也就是说,对于多条历史路线,每条历史路线包括一系列路线段,超路段可以是子系列路线段,其包括一系列路线段中的若干路线段。
26.除了识别超路段之外,超路段服务器的处理器148还可以被配置为计算超路段中的每一个在各种未来时间的预测穿越时间。预测超路段的穿越时间可以包括例如在包括超路段的历史路线的每一个中、或在包括在一天中的特定时间、或一周中的特定天、或在特定天气或交通状况下穿越的超路段的历史路线的每一个中对超路段上的穿越时间求平均或以其他方式加权。
27.在一些示例中,预测超路段的穿越时间可以包括使用来自历史行程数据库152的历史行程数据来训练机器学习模型,以识别与各种穿越时间相关联的超路段的特性或特征。因此,在一些示例中,机器学习模型可以应用于与特定超路段相关联的数据,以预测超路段的穿越时间。与特定超路段相关联的数据可以包括超路段的特性,诸如超路段的位置、超路段的长度、与超路段相关联的历史穿越时间数据、与邻近超路段的超路段相关联的历史穿越时间数据、与超路段相关联的当前穿越时间数据、与超路段内的路线段中的每一个相关联的当前穿越时间数据、与超路段内的路线段中的每一个相关联的历史穿越时间数
据、与邻近超路段的超路段相关联的当前穿越时间数据、做出路线请求的时间、从路线请求的起始位置到超路段的位置的距离、超路段的道路类型(例如,高速公路、单行街、侧路等)、超路段上的交通信号的数量、用于穿越超路段的交通方式等。处理器148可以基于超路段的特性和超路段的实际穿越时间来生成机器学习模型。在一些实施方式中,可以根据超路段的实际穿越时间对超路段中的每一个进行分类(例如,可以将具有第一穿越时间或穿越时间范围的第一道路段集合分类为第一组,可以将具有第二穿越时间或穿越时间范围的第二超路段集合分类为第二组等)。然后,处理器148可以分析每个组中的超路段的特性以生成机器学习模型。例如,机器学习模型可以包括超路段内的路线段的历史穿越时间与超路段的历史穿越时间之间的相关性。为了预测超路段的穿越时间,处理器148可以将超路段内的路线段的当前穿越时间应用于机器学习模型以预测超路段的穿越时间。
28.在任何情况下,处理器148然后可以获得从起始位置到目的地位置的请求路线上的每个超路段的特性,诸如超路段内的路线段中的每一个的当前穿越时间。处理器148可以使用机器学习技术将超路段的特性应用于机器学习模型。机器学习技术可以包括线性回归、多项式回归、逻辑回归、随机森林、提升(诸如自适应提升、梯度提升和极端梯度提升)、最近邻、贝叶斯网络、神经网络、支持向量机或任何其他合适的机器学习技术。
29.例如,当机器学习技术是随机森林时,处理器148可以收集训练数据的每个子集的若干代表性样本。使用每个代表性样本,处理器148可以生成用于预测超路段的穿越时间的决策树。然后,处理器148可以例如通过对在每个单独树处确定的穿越时间求平均、计算加权平均值、进行多数表决等聚合和/或组合每个决策树以生成机器学习模型。在一些实施例中,当机器学习技术是提升时,处理器148还可以生成决策树。
30.每个决策树可以包括若干节点、分支和叶,其中,决策树的每个节点表示对超路段特性的测试(例如,请求的时间是否在下午5点和下午7点之间?)。每个分支表示测试的结果(例如,请求的时间在下午5点和下午7点之间)。此外,基于连接到叶子的分支的组合测试结果,每个叶子表示不同的穿越时间(例如,6分钟)、穿越时间的范围(例如,5-7分钟)或置信区间(例如,5.2-7.8分钟,具有95%置信度)。
31.例如,处理器148可以生成决策树,其中,第一节点对应于超路段的位置是否距所请求路线的起始位置超过1英里。如果超路段距所请求路线的起始位置不超过1英里,则第一分支可以连接到第一叶节点,其可以指示穿越时间为7分钟。如果超路段距所请求路线的起始位置超过1英里,则第二分支可以连接到第二节点,其对应于邻近超路段的长度是否与所述超路段的长度相差小于阈值量。
32.如果邻近超路段的长度与所述超路段的长度相差小于阈值量,则第三分支可以连接到第二叶节点,其可以指示穿越时间是邻近超路段的当前穿越时间,例如12分钟。然而,如果邻近超路段的长度与所述超路段的长度相差不小于阈值量,则第四分支可以连接到第三叶节点,其可以指示穿越时间是10分钟。虽然决策树包括三个叶节点和四个分支,但这仅仅是为了便于说明的示例。每个决策树可以包括任何数量的节点、分支和叶,其具有对超路段特性和/或统计测量的任何合适数量和/或类型的测试。
33.虽然导航服务器138和超路段服务器140被示出为分离的服务器,但是在一些实施例中,导航服务器138和超路段服务器140可以包括在相同的服务器设备内。
34.如图2所示,电子设备102的存储器122存储导航应用154。导航应用154能够包括编
译指令和/或在运行时可解释并且可在一个或多个处理器120上执行的任何合适的可编程语言的指令。通常,导航应用154生成或从导航服务器138和/或超路段服务器140接收将驾驶员从当前位置或另一起始位置(例如,出发地位置)引导到用户已经选择的目的地的路线。作为一个示例,路线能够包括一系列路线段以及用于从一个路线段行进到下一个路线段的操纵,每个操纵具有若干组件。操纵内的组件可以包括路线段组件(例如,道路的名称或编号、距离、行进时间、速度限制等)以及用于访问下一路线段的动作组件(例如,向左转、向右并入等)。
35.此外,导航应用154可以计算路线的预测穿越时间,或者可以从超路段服务器140获得路线的预测穿越时间。为了计算路线的穿越时间,导航应用154或超路段服务器140可以生成或接收一系列路线段的子系列的预测穿越时间(即,作为路线的一部分的超路段的预测穿越时间),并且可以基于子系列路线段的预测穿越时间来计算路线的整个一系列路线段的穿越时间。
36.具体地,导航应用154可以向超路段服务器140请求或以其他方式接收作为路线的一部分的超路段的指示和/或每个超路段的预测穿越时间。在一些示例中,导航应用154可以选择作为整个路线的超路段。例如,导航应用154可以基于长度(例如,超路段中的路段的数量,或由超路段覆盖的总距离)或基于包括超路段的历史行程的数量来选择超路段。导航应用154可以将所选超路段的预测穿越时间与剩余路线段(即,作为路线的一部分但不是超路段的一部分的路线段)的预测穿越时间组合,以计算整个路线的预测穿越时间。在一些示例中,导航应用154可以基于作为路线的一部分的多个超路段的预测穿越时间(即,以及不是作为路线的一部分的多个超路段中的任何一个的一部分的任何路线段的预测穿越时间)来计算整个路线的预测穿越时间。
37.在其他实施方式中,超路段服务器140可以将路线划分为不重叠的超路段和/或剩余路线段。超路段服务器140然后可以确定每个超路段和/或剩余路线段的预测穿越时间,并且可以将超路段的预测穿越时间与剩余路线段的预测穿越时间组合。超路段服务器140随后可以将路线的预测穿越时间提供给在电子设备102上运行的导航应用154。
38.在任何情况下,导航应用154可以经由显示器110为用户(例如,驾驶员)显示路线的指示、路线的穿越时间以及作为路线的一部分的操纵的指示。
39.示例的一系列路线段和子系列路线段
40.图3a-图3c是示例的一系列路线段和子系列路线段(贯穿本公开,子系列路线段也可互换地称为“超路段”)的示图。例如,如图3a所示,路线1的从出发地位置1到目的地位置1的一系列路线段,包括路线段a,其后紧接着路线段b,其后紧接着路线段c,其后紧接着路线段d,并且其后紧接着路线段e。路线1的子系列路线段可以包括路线段a,其后紧接着路线段b。作为另一示例,路线1的子系列路线段可以包括路线段c,其后紧接着路线段d,其后紧接着路线段e。给定路线的子系列路线段可以包括任何数量的路线段。在一些示例中,路线的子系列路线段可以包括路线的整个一系列路线段,而在其他示例中,路线的子系列路线段可以包括比路线的整个一系列路线段更少的路线段。
41.作为一条路线的一部分的子系列路线段也可以是其他路线的一部分。例如,如图3b所示,路线2从出发地2到目的地2,可以包括路线段a,其后紧接着路线段b,其后紧接着路线段x,其后紧接着路线段y。也就是说,路线2还可以包括来自路线1的路线段a,其后紧接着
路线段b的子系列。作为另一示例,如图3c所示,路线3从出发地3到目的地3,可以包括路线段z,随后紧接着路线段c,随后紧接着路线段d,随后紧接着路线段e,即,路线3可以包括来自路线1的路线段c,随后紧接着路线段d,随后紧接着路线段e的子系列。
42.在一些实施例中,超路段服务器140可以将一系列路线段划分为超路段,并且可以在历史行程数据库152中存储每个超路段的指示(例如,路线段c,其后紧接着路线段d,其后紧接着路线段e)连同超路段的特性(例如,超路段的位置、超路段的长度、与超路段相关联的历史穿越时间数据、与邻近超路段的超路段相关联的历史穿越时间数据、与超路段相关联的当前穿越时间数据、与邻近超路段的超路段相关联的当前穿越时间数据、做出路线请求的时间等)。然后,当超路段服务器140取回(retrieve)对从起始位置到目的地位置的导航指引的请求时,超路段服务器140可以从导航服务器138获得包括一系列路线段的路线的指示。超路段服务器140可以将所获得的路线的一系列路线段与存储在历史行程数据库152中的超路段进行比较,以从历史行程数据库152中识别与路线上的子系列路线段相对应的一个或多个超路段。例如,超路段服务器140可以基于长度(例如,超路段中的路段的数量,或由超路段覆盖的总距离)或基于包括超路段的历史行程的数量来识别每个超路段。然后,超路段服务器140可以基于所识别的超路段中的每一个的预测穿越时间和/或路线的所获得的一系列路线段中的剩余路线段的预测穿越时间来预测路线的穿越时间,其中,所述剩余路线段不是任何所识别的超路段的一部分。超路段服务器140可以通过以任何合适的方式组合所识别的超路段中的每一个的预测穿越时间和/或路线的所获得的一系列路线段中的剩余路线段的预测穿越时间(诸如聚合预测穿越时间中的每一个)来预测穿越时间,其中,所述剩余路线段不是任何所识别的超路段的一部分。
43.为了预测超路段的穿越时间,超路段服务器140可以对超路段的历史穿越时间、邻近超路段的超路段的历史或当前穿越时间、在一天中的特定时间或一周中的特定天或在特定天气或交通状况下的超路段的历史穿越时间求平均或以其他方式加权。另外,超路段服务器140可以基于邻近超路段的超路段的历史穿越时间与邻近超路段的当前穿越时间之间的差异来调整超路段的历史穿越时间。举例来说,如果邻近超路段的当前穿越时间比邻近超路段的历史穿越时间长4分钟,则超路段服务器140可以将超路段的历史穿越时间增加4分钟以预测超路段的穿越时间。在其他实施例中,超路段服务器140可以通过获得超路段的特性并将所述特性应用于预测超路段的穿越时间的机器学习模型来预测超路段的穿越时间。
44.用于预测路线的穿越时间的示例方法
45.现在参考图4,用于预测路线的穿越时间的示例方法400可以由超路段服务器140实现。方法400能够被实现为存储在计算机可读存储器150上,并且在超路段服务器140的一个或多个处理器148或另一合适的计算系统上可执行的指令集合。在其他实施例中,方法400可以由电子设备102内的导航应用154或由超路段服务器140和导航应用154的任何合适的组合来实现。
46.在框402处,可以接收包括出发地位置(例如,其可以是当前位置)和目的地位置的对导航指引的请求。在一些实施例中,对导航指引的请求包括路线的交通方式,诸如步行、驾驶、骑自行车、公共交通等。在框404处,可以响应于该请求来计算出发地位置和目的地位置之间的路线。例如,超路段服务器140可以将请求发送到导航服务器138,则导航服务器
138可以进而提供用于沿着从出发地位置到目的地位置的路线穿越的一组导航指引。路线可以包括一系列路线段以及用于从一个路线段行进到下一个路线段的操纵。
47.在框406处,超路段服务器140可以确定出发地位置与目的地位置之间的路线上的一系列路线段。在上述示例中,超路段服务器140可以根据从导航服务器138提供的路线来确定一系列路线段。在一些示例中,路线段可以是两个操纵之间的路线的一部分,例如,如图3a-图3c所示。另外,在一些示例中,路线段可以是路线的具有特定长度的区段。例如,对于涉及在操纵之间在高速公路上行驶200英里的路线,200英里段的每5英里(或每英里、每10英里或任何合适的距离)可以被认为是分离的路线段。
48.在框408处,超路段服务器140可以识别在出发地位置与目的地位置之间的路线的一部分上要连续穿越的(一系列路线段中的)一个或多个子系列路线段(即,用于预测路线的穿越时间)。给定路线的子系列路线段可以包括任何数量的路线段。在一些示例中,路线的子系列路线段可以包括路线的整个一系列路线段,而在其他示例中,路线的子系列路线段可以包括比路线的整个一系列路线段更少的路线段。
49.在框410处,对于每个子系列,可以基于与历史行程相关联的历史穿越时间数据来预测子系列穿越时间,其中,在历史行程中连续穿越子系列路线段中的每个路线段。也就是说,作为特定路线的一部分的子系列路线段的历史穿越时间可以用于计算该路线的整个一系列路线段的穿越时间。
50.例如,虽然对于给定路线的整个一系列路线段可能存在有限的历史行程数据,但是对于路线的各种子系列会存在更多的历史行程数据。例如,很少用户会已经穿越如图3a所示的整个路线1(路线段a到路线段b到路线段c到路线段d到路线段e),但是许多用户会已经穿越路线1的某个部分(即,路线的子系列)作为其他路线的一部分。例如,如图3b所示,一些用户会已经穿越路线段a到路线段b的子系列作为路线2的一部分,或者,如图3c所示,一些用户会已经穿越路线段c到路线段d到路线段e的子系列作为路线3的一部分,等等。
51.因此,可以分析包括特定子系列路线段的所有(或一定数量的)行程的历史行程数据,以预测子系列路线段的穿越时间。例如,子系列路线段c到路线段d到路线段e的穿越时间可以在包括该子系列的所有行程上(或者在包括该子系列的一天中的特定时间、一周中的特定天、一年中的特定时间期间、与特定类型的天气相关联等的所有行程上)进行平均,以计算该子系列的预测子系列穿越时间。在一些示例中,还可以分析包括特定子系列路线段的行程的当前行程数据(例如,包括当前天气数据或当前交通数据),以预测子系列路线段的穿越时间。
52.在一些示例中,可以使用历史行程数据来训练机器学习模型,以识别与各种穿越时间相关的子系列路线段的特性或特征。经训练的机器学习模型可以应用于特定子系列路线段的特性,以预测子系列穿越时间。
53.在框412处,可以基于一系列路线段中的一个或多个子系列的子系列穿越时间来预测一系列路线段的总路线穿越时间。在一些示例中,可以将一系列路线段的子系列的预测子系列穿越时间添加到所述一系列路线段中的其他路线段的各个预测穿越时间(例如,基于其他路线段的历史行程或当前行程数据),以预测整个一系列路线段的穿越时间。
54.例如,使用路线1的示例,如图3a所示,可以基于子系列路线段a到路线段b的预测穿越时间来计算路线1的一系列路线段a到路线段b到路线段c到路线段d到路线段e的总路
线穿越时间。例如,可以将子系列路线段a到路线段b的预测穿越时间添加到路线段c的预测穿越时间、路线段d的预测穿越时间和路线段e的预测穿越时间,以预测所述一系列路线段a到路线段b到路线段c到路线段d到路线段e的穿越时间。
55.另外,在一些示例中,可以组合一系列路线段的多个子系列的预测子系列穿越时间,以预测整个一系列路线段的穿越时间。例如,子系列路线段a到路线段b的预测穿越时间可以被添加到子系列路线段c到路线段d到路线段e的预测穿越时间,以预测一系列路线段a到路线段b到路线段c到路线段d到路线段e的穿越时间。
56.在一些示例中,可以选择特定子系列路线段以用于基于各种因素预测总路线穿越时间,所述各种因素诸如子系列的长度(例如,子系列中的路线段的数量,或以英里或km为单位的子系列的总长度)或包括子系列的历史行程的数量(例如,包括子系列的历史行程的数量是否大于行程的阈值数量)。也就是说,如果仅使用一个子系列路线段来预测路线的总穿越时间,则可以选择较长的子系列而不是较短的子系列。类似地,可以选择与较大数量的历史行程相关联的子系列,而不是与较小数量的历史行程相关联的子系列。
57.在一些实施方式中,超路段服务器140可以周期性地预测总路线穿越时间(例如,每分钟、每两分钟、每五分钟等)以生成总路线穿越时间的更新预测。以这种方式,超路段服务器140可以生成更新的预测以考虑流量或其他条件的变化。
58.在框414处,可以提供导航指引集合和预测总路线穿越时间以呈现在客户端设备上,用于从出发地位置导航到目的地位置。例如,导航应用154可以在电子设备102的显示器126上呈现导航指引集合和预测总路线穿越时间。随着用户穿越路线,超路段服务器140还可以提供更新的预测总路线穿越时间以呈现在客户端设备上。
59.其他考虑因素
60.以下附加考虑适用于前述讨论。在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。尽管一个或多个方法的各个操作被示出和描述为单独的操作,但是各个操作中的一个或多个可以同时执行,并且不需要以所示的顺序执行操作。在示例配置中作为单独组件呈现的结构和功能可以被实现为组合的结构或组件。类似地,作为单个组件呈现的结构和功能可以被实现为单独的组件。这些和其他变化、修改、添加和改进落入本公开的主题的范围内。
61.另外,某些实施例在本文中被描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,存储在机器可读介质上的代码)或硬件模块。硬件模块是能够执行某些操作的有形单元,并且可以以某种方式配置或布置。在示例实施例中,一个或多个计算机系统(例如,独立的客户端或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)可以由软件(例如,应用或应用部分)配置为操作以执行如本文所述的某些操作的硬件模块。
62.硬件模块可以包括永久配置为执行某些操作的专用电路或逻辑(例如,作为专用处理器,诸如现场可编程门阵列(fpga)或专用集成电路(asic))。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路(例如,包含在通用处理器或其他可编程处理器内)。应当理解,在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中实现硬件模块的决定可以由成本和时间考虑来驱动。
63.因此,术语硬件应当被理解为包含有形实体,是物理构造、永久配置(例如,硬连
线)或临时配置(例如,编程)为以某种方式操作或执行本文所述的某些操作的实体。考虑临时配置(例如,编程)硬件模块的实施例,不需要在任何一个时刻配置或实例化每个硬件模块。例如,在硬件模块包括使用软件配置的通用处理器的情况下,通用处理器可以在不同时间被配置为相应的不同硬件模块。因此,软件可以配置处理器,例如,以在一个时刻构成特定的硬件模块,并在不同的时刻构成不同的硬件模块。
64.硬件和软件模块能够向其他硬件和/或软件模块提供信息并从其他硬件和/或软件模块接收信息。因此,所描述的硬件模块可以被视为通信地耦接。在同时存在多个这样的硬件或软件模块的情况下,可以通过连接硬件或软件模块的信号传输(例如,通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件模块或软件的实施例中,可以例如通过存储和检索多个硬件或软件模块可以访问的存储器结构中的信息来实现这样的硬件或软件模块之间的通信。例如,一个硬件或软件模块可以执行操作并将该操作的输出存储在与其通信耦接的存储器设备中。然后,另外的硬件或软件模块可以在稍后的时间访问存储器设备以检索和处理所存储的输出。硬件和软件模块还可以发起与输入或输出设备的通信,并且能够对资源(例如,信息集合)进行操作。
65.本文描述的示例方法的各种操作可以至少部分地由临时配置(例如,通过软件)或永久配置为执行相关操作的一个或多个处理器来执行。无论是临时配置还是永久配置,这样的处理器可以构成操作以执行一个或多个操作或功能的处理器实现的模块。在一些示例实施例中,本文提及的模块可以包括处理器实现的模块。
66.类似地,本文描述的方法或例程可以至少部分地由处理器实现。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的硬件模块来执行。某些操作的执行可以分布在一个或多个处理器中,不仅驻留在单个机器内,而且部署在多个机器上。在一些示例实施例中,一个或多个处理器可以位于单个位置(例如,在家庭环境、办公室环境内或作为服务器群),而在其他实施例中,处理器可以分布在多个位置上。
67.一个或多个处理器还可以操作以支持在“云计算”环境中或作为saas的相关操作的执行。例如,如上所述,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可经由网络(例如,互联网)并且经由一个或多个适当的接口(例如,api)访问。
68.某些操作的执行可以分布在一个或多个处理器中,不仅驻留在单个机器内,而且部署在多个机器上。在一些示例实施例中,一个或多个处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施例中,一个或多个处理器或处理器实现的模块可以分布在多个地理位置上。
69.本说明书的一些部分是根据对作为比特或二进制数字信号存储在机器存储器(例如,计算机存储器)内的数据的操作的算法或符号表示来呈现的。这些算法或符号表示是数据处理领域的普通技术人员用来将他们的工作实质传达给本领域其他技术人员的技术的示例。如本文所使用的,“算法”或“例程”是导致期望结果的操作或类似处理的自相一致的序列。在该上下文中,算法、例程和操作涉及物理量的物理操纵。通常但不一定,这样的量可以采取能够由机器存储、访问、传输、组合、比较或以其他方式操纵的电信号、磁信号或光信号的形式。有时,主要出于通用的原因,使用诸如“数据”、“内容”、“比特”、“值”、“元素”、“符号”、“字符”、“项目”、“数字”、“数字”等词语来指代这样的信号是方便的。然而,这些词语仅
仅是方便的标签,并且将与适当的物理量相关联。
70.除非另有特别说明,否则本文中使用诸如“处理”、“计算”、“运算”、“确定”、“呈现”、“显示”等词语的讨论可以指机器(例如,计算机)的动作或过程,该机器操纵或变换在一个或多个存储器(例如,易失性存储器、非易失性存储器或其组合)、寄存器或接收、存储、发送或显示信息的其他机器组件内表示为物理(例如,电子、磁性或光学)量的数据。
71.如本文所使用的,对“一个实施例”或“实施例”的任何引用意味着结合该实施例描述的特定元件、特征、结构或特性包括在至少一个实施例中。在说明书中各处出现的短语“在一个实施例中”不一定都指代相同的实施例。
72.可以使用表达“耦接”和“连接”及其派生词来描述一些实施例。例如,可以使用术语“耦接”来描述一些实施例,以指示两个或更多个元件直接物理或电接触。然而,术语“耦接”还可以表示两个或更多个元件彼此不直接接触,但仍然彼此协作或交互。实施例不限于此上下文。
73.如本文所使用的,术语“包括”、“由

组成”、“包含”、“具有”或其任何其他变型旨在涵盖非排他性的包含。例如,包括元素列表的过程、方法、物品或装置不一定仅限于那些元素,而是可以包括未明确列出的或这种过程、方法、物品或装置固有的其他元素。此外,除非有相反的明确说明,否则“或”是指包含性的或而不是排他性的或。例如,条件a或b由以下中的任何一个满足:a为真(或存在)且b为假(或不存在)、a为假(或不存在)且b为真(或存在)、以及a和b都为真(或存在)。
74.此外,使用单数名词来描述本文实施例的元件和组件。这样做仅仅是为了方便并且给出描述的一般意义。该描述应被理解为包括一个或至少一个,并且单数也包括复数,除非明显另有含义。
75.在阅读本公开时,本领域技术人员将理解用于通过本文所公开的原理预测路线的穿越时间的另外的替代结构和功能设计。因此,虽然已经示出和描述了特定实施例和应用,但是应当理解,所公开的实施例不限于本文公开的精确构造和部件。在不脱离所附权利要求中限定的精神和范围的情况下,可以对本文公开的方法和装置的布置、操作和细节进行对本领域技术人员清晰的各种修改、改变和变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1