一种行程距离、物流服务行程时间确定方法、装置和系统与流程

文档序号:16756548发布日期:2019-01-29 17:26阅读:475来源:国知局
一种行程距离、物流服务行程时间确定方法、装置和系统与流程

本发明涉及计算机应用领域,更具体地,涉及一种行程距离、物流服务行程时间确定方法、装置和系统。



背景技术:

随着生活节奏的不断加快,如今物流服务如外卖、快递已成为很多人特别是城市白领离不开的切实需求。以外卖为例,外卖线上到线下(o2o,onlinetooffline)行业的竞争也大有白热化趋势。在“外卖大战”中,要更进一步比拼服务品质,外卖行业已进入成熟期,物流配送体验成为左右外卖平台生死的关键。但是目前物流服务系统的派单只是依赖于调度员的经验,效率低且精准度不高。

当前人们在出行时,利用地图服务提供商如高德、百度提供的导航功能,可以很方便地查询到可供选择的路线,并估算出所需的时间,从而方便人们从中选择最适合自己的路线和交通工具出行。高德、百度提供的导航功能在计算行程的路线和时间时,基于用户在地图上选定的起点和终点以及交通工具,结合实际道路情况计算出两点之间通过道路相连的真实距离。然后再结合用户使用的交通工具及实时的交通状况估算出所需的时间,其计算准确度比较高,但计算复杂、占用资源多且对外部数据依赖性高。



技术实现要素:

有鉴于此,本发明实施例提供了一种物流服务行程时间的确定方法,包括:

物流服务系统根据物流服务订单确定相应行程的起点和终点;

所述物流服务系统根据所述行程的起点和终点估算所述行程的行程距离;

所述物流服务系统根据所述行程距离和当前场景下的行程速度估算所述行程的行程时间。

有鉴于此,本发明实施例还提供了一种物流服务系统,包括订单派送装置和行程时间估算装置,其中:

所述订单派送装置设置为:根据物流服务订单确定相应行程的起点和终点,向所述行程时间估算装置查询以获取所述行程的行程时间,用于确定所述物流服务订单的派送方式;

所述行程时间估算装置包括:

距离估算模块,设置为:根据所述行程的起点和终点估算所述行程的行程距离;

时间估算装置,设置为:根据所述行程距离和当前场景下的行程速度估算所述行程的行程时间。

有鉴于此,本发明实施例还提供了一种物流服务装置,包括存储器和处理器,其中:

所述存储器设置为:保存程序代码;

所述处理器设置为:读取所述程序代码以执行以下处理:

根据物流服务订单确定相应行程的起点和终点;

根据所述行程的起点和终点估算所述行程的行程距离;

根据所述行程距离和当前场景下的行程速度估算所述行程的行程时间。

上述实施方案可以对物流服务的行程时间进行估算,为智能派单提供了数据支持。

有鉴于此,本发明实施例还提供了一种行程距离确定方法,包括:

根据行程的起点和终点计算所述行程的球面距离,并确定所述起点所在区域和所述终点所在区域组成的区域对;

根据所述行程的球面距离及所述区域对对应的行程距离和球面距离的换算关系,确定所述行程的行程距离,其中,所述换算关系通过对样本行程的行程距离数据和球面距离数据进行分析得到。

有鉴于此,本发明实施例还提供了一种行程距离确定装置,包括:

球面距离计算模块,设置为:根据行程的起点和终点计算所述行程的球面距离;

区域对确定模块,设置为:确定所述起点所在的起始区域和所述终点所在的目标区域组成的区域对;

行程距离计算模块,设置为:根据所述行程的球面距离及所述区域对对应的行程距离和球面距离的换算关系,确定所述行程的行程距离,所述换算关系通过对样本行程的行程距离数据和球面距离数据进行分析得到。

有鉴于此,本发明实施例还提供了一种行程距离确定装置,包括存储器和处理器,其中:

所述存储器设置为:保存程序代码;

所述处理器设置为:读取所述程序代码以执行以下处理:

根据行程的起点和终点计算所述行程的球面距离,并确定所述起点所在的起始区域和所述终点所在的目标区域组成的区域对;

根据所述行程的球面距离及所述区域对对应的行程距离和球面距离的换算关系,确定所述行程的行程距离,其中,所述换算关系通过对样本行程的行程距离数据和球面距离数据进行分析得到。

本发明实施例的上述方案能够简单快速地估算出行程距离,且占用资源少,不依赖于外部数据。

附图说明

图1是本发明实施例一行程距离确定方法的流程图;

图2是本发明实施例一行程距离确定装置的模块图;

图3是本发明实施例二物流服务行程时间的确定方法的流程图;

图4是本发明实施例二物流服务系统的模块图;

图5是本发明实施例三获取geohash对对应ratio的统计过程的流程图;

图6是本发明实施例三行程时间确定及查询的整体示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

实施例一

如前所述,目前地图服务提供商的导航功能可以根据行程的起点和终点,结合实时道路情况估算行程的真实距离和行程时间,但计算复杂、占用资源多且对外部数据依赖性高。这使得地图服务提供商难以对外提供对行程时间和真实距离进行大批量实时查询的接口,而一般的应用系统也没有足够的资源和数据源来支持这种运算。因此,本实施例提供了一种估算行程距离的简化算法,可以快速而简单地估算行程的距离。为了区别于真实距离,本申请中将使用简化算法估算出的距离称为行程距离。此外,本申请将基于起点的经纬度和终端的经纬度直接计算出的距离称为球面距离,球面距离是将地图表面假设为一个球体计算出的两点之间的距离,不考虑实际道路情况,不能直接作为行程距离。

本实施例提供一种行程距离确定方法,如图1所示,包括:

步骤110,根据行程的起点和终点计算所述行程的球面距离,并确定所述起点所在区域和所述终点所在区域组成的区域对;

本实施例中,所述起始区域和目标区域均用空间索引编码表表,所述空间索引编码用于将二维的经纬度编码成一维的字符串。geohash是常用的空间索引编码,geohash用一个字符串表示经度和纬度两个坐标,标识的并不是一个点,而是一个区域,比如wx4sv61q对应的就是一个矩形区域。一个大的地理区域可以分解为多个geohash表示的小区域。

步骤120,根据所述行程的球面距离及所述区域对对应的行程距离和球面距离的换算关系,确定所述行程的行程距离,其中,所述换算关系通过对样本行程的行程距离数据和球面距离数据进行分析得到。

本实施例中,根据所述行程的球面距离及所述区域对对应的行程距离和球面距离的换算关系,确定所述行程的行程距离,包括:

以所述区域对为索引,到数据库中查找对应的行程距离和球面距离的比值,所述数据库保存有多个区域对对应的行程距离和球面距离的比值;

根据所述行程的球面距离和查找到的比值确定所述行程的行程距离。

本实施例中,所述数据库中区域对对应的行程距离和球面距离的比值通过对样本行程的行程距离数据和球面距离数据进行统计得到,一次统计过程包括:

采集样本行程的真实距离数据和球面距离数据,所述样本行程的起点位于该区域对的起始区域,终点位于该区域对的目标区域;

对所述样本行程的真实距离和球面距离的比值进行统计,将得到的统计值确定为该区域对对应的行程距离和球面距离的比值。

对于数据库中的各个区域对,均可以按照以上统计过程得到该区域对对应的行程距离和球面距离的比值。一个区域对的样本行程可以从一定时间范围内已发生的历史行程中选取,如果历史行程达到或超出预定数量则可以抽取部分行程作为样本行程,如果历史行程没有达到预定数量,可以将全部历史行程作为样本行程。也可以设定一个最小样本数,在采集到该最小样本数的样本行程后再进行统计。对于实际应用系统,行程相关的历史数据会不断更新,可以按照预定时间周期性地采集样本行程并重新进行统计,以更新数据库中区域对对应的行程距离和球面距离的比值。

本实施例中,对所述样本行程的真实距离和球面距离的比值进行统计,包括:

计算所述样本行程的真实距离和球面距离的比值,得到多个比值;

将所述多个比值排序,滤除其中最大的部分比值和/或最小的部分比值,从余下的部分比值中取中位数,作为所述统计值。

上述最大的部分比值的数量可以根据所述多个比值的数量和预设的第一比例计算得到,最小的部分比值的数量根据所述多个比值的数量和预设的第二比例计算得到。第一比例和第二比例的值可以相同或不同,例如均为10%。上述部分比值的数量也可以直接指定。

滤除最大的部分比值和最小的部分比值可以忽略掉部分异常的数据,以避免这些数据对结果产生不利的影响。在余下的部分比值中取中位数,即按大小排序后排列在中间的比值,中位数往往代表发生概率最大的比值,可以提前估算的有效性。

基于样本数据统计的方式很多,本发明并不局限于本实施例采用的方式,也可以采用如取平均值等其他统计方式。

本实施例中,在一次统计过程中,将得到的统计值确定为该区域对对应的行程距离和球面距离的比值之后,可以按以下方式进行保存:将所有区域对对应的行程距离和球面距离的比值排序,只将其中最大的部分比值和最小的部分比值保存在所述数据库,余下的比值在所述数据库中用设置的一个默认值代替。但本发明不局限此,例如,在其他实施例中,可以采用以下方式:如果该统计值位于默认比值区间如[1.2,1.4]内,不在所述数据库保存该区域对对应的行程距离和球面距离的比值,将所述默认比值区间对应的默认值如1.3作为所述查找到的比值;如果该统计值位于所述默认比值区间之外,将该统计值作为该区域对对应的行程距离和球面距离的比值保存到所述数据库中,该统计值为所述查找到的比值。按照这些方法,大部分的比值均不需要存储,可以大大减少存储量,而对估算精度的影响不大。

在根据上述方式查找到相应的比值之后,将球面距离乘以查到的比值,就是估算的所述行程的行程距离。

需要说明的是,虽然本实施例通过对样本行程的行程距离数据和球面距离数据进行分析,得到所述换算关系时采用的是统计的方式,体现为数据库中保存的区域对对应的行程距离和球面距离的比值,但在其他实施例中,上述分析也可是离线训练的方式或其他方式,采用离线训练方式时,上述换算关系体现为行程距离估算模型中的算法,而该行程距离估算模型可以基于样本行程的行程距离数据和球面距离数据训练得到。

本实施例方法大大简化的行程距离估算的复杂度,且资源占用少,也不依赖于外部数据,因而可以在一般的应用系统如物流服务系统中使用。但是,本实施例方法同样也可以用在地图服务系统中,由于算法的简化,地图服务系统将可以提供对行程距离的大批量实时查询的接口。

如果本实施例方法在一般的应用系统中使用,上述真实距离可以向地图服务系统查询得到,目前地图服务系统有这样的查询接口,但不接受大批量实时查询。因为上述统计并不在估算时进行,因此这种查询并不影响估算。如果本实施例方法在地图服务系统中使用,则真实距离可以通过向地图服务系统中具有真实距离计算功能的模块查询得到。

本实施例还提供了一种行程距离确定装置,如图2所示,包括:

球面距离计算模块10,设置为:根据行程的起点和终点计算所述行程的球面距离;

区域对确定模块20,设置为:确定所述起点所在的起始区域和所述终点所在的目标区域组成的区域对;

行程距离计算模块30,设置为:根据所述行程的球面距离及所述区域对对应的行程距离和球面距离的换算关系,确定所述行程的行程距离,所述换算关系通过对样本行程的行程距离数据和球面距离数据进行分析得到。

本实施例中,

所述行程距离计算模块包括:

数据库,设置为:保存多个区域对对应的行程距离和球面距离的比值;

查询单元,设置为:以所述区域对为索引,到所述数据库中查找对应的行程距离和球面距离的比值;

计算单元,设置为:根据所述行程的球面距离和查找到的比值确定所述行程的行程距离。

本实施例中,

所述装置还包括:距离还原模块用于将球面距离还原为行程距离,其设置为:对所述数据库中的区域对,通过对样本行程的行程距离数据和球面距离数据进行统计,得到该区域对对应的行程距离和球面距离的比值,一次统计过程包括:

采集样本行程的真实距离数据和球面距离数据,所述样本行程的起点位于该区域对的起始区域,终点位于该区域对的目标区域;

对所述样本行程的真实距离和球面距离的比值进行统计,将得到的统计值确定为该区域对对应的行程距离和球面距离的比值。

本实施例中,

所述距离还原模块对所述样本行程的真实距离和球面距离的比值进行统计,包括:

计算所述样本行程的真实距离和球面距离的比值,得到多个比值;

将所述多个比值排序,滤除其中最大的部分比值和/或最小的部分比值,从余下的部分比值中取中位数,作为所述统计值。

本实施例中,

所述距离还原模块将得到的统计值确定为该区域对对应的行程距离和球面距离的比值之后,还包括:

将所有区域对对应的行程距离和球面距离的比值排序,只将其中最大的部分比值和最小的部分比值保存在所述数据库,余下的比值在所述数据库中用设置的一个默认值代替。

本实施例中,

所述行程距离确定装置可以设置在物流服务系统或者地图服务系统或者行程查询服务系统中。这里的行程查询服务是指除地图服务系统之外的为用户(如物流服务行业的商户)提供行程信息如行程距离、行程时间查询的服务系统。

所述行程距离确定装置可以提供行程距离查询的接口,为系统内的其他模块或外部系统提供行程距离查询服务。例如,设置在地图服务系统或其他提供查询服务的第三方系统中时,行程距离确定装置可以向物流服务系统实时大批量查询的接口,响应快速、占用资源少。

本实施例还提供了一种行程距离确定装置,包括存储器和处理器,其中:

所述存储器设置为:保存程序代码;

所述处理器设置为:读取所述程序代码以执行以下处理:

根据行程的起点和终点计算所述行程的球面距离,并确定所述起点所在的起始区域和所述终点所在的目标区域组成的区域对;

根据所述行程的球面距离及所述区域对对应的行程距离和球面距离的换算关系,确定所述行程的行程距离,其中,所述换算关系通过对样本行程的行程距离数据和球面距离数据进行分析得到。

本实施例中,

所述处理器根据所述行程的球面距离及所述区域对对应的行程距离和球面距离的换算关系,确定所述行程的行程距离,包括:

以所述区域对为索引,到数据库中查找对应的行程距离和球面距离的比值,所述数据库保存有多个区域对对应的行程距离和球面距离的比值;

根据所述行程的球面距离和查找到的比值确定所述行程的行程距离。

上述处理器可以执行本实施例方法中的任何处理,这里不再一一说明。

本实施例对行程距离的估算十分简单,响应速度可以很快,且占用资源少,不依赖外部数据。因而可以接收系统内部或外部对行程距离的大批量实时查询并及时响应。

实施例二

本实施例涉及物流服务系统如外卖、快递等系统,这些系统会根据物流服务订单进行物品配送,物流服务订单中有配送的起点和终点,从起点到终点的一次配送过程即一次行程,目前物流服务系统的派单采用的都是人工方式,本发明的发明人在物流服务系统中引入对行程距离、行程时间的估算,为智能派单提供相应的数据支持。

本实施例提供了一种物流服务行程时间的确定方法,如图3所示,包括:

步骤210,物流服务系统根据物流服务订单确定相应行程的起点和终点;

步骤220,所述物流服务系统根据所述行程的起点和终点估算所述行程的行程距离;

本实施例中,所述物流服务系统根据所述起点和终点估算所述行程的行程距离,采用的是实施例一中的方法,包括:

根据行程的起点和终点计算所述行程的球面距离,并确定所述起点所在区域和所述终点所在区域组成的区域对;

根据所述行程的球面距离及所述区域对对应的行程距离和球面距离的换算关系,确定所述行程的行程距离,其中,所述换算关系基于对样本行程的行程距离数据和球面距离数据的离线分析得到。

上述换算关系通过离线统计得到,不会影响实时估算的速度,具体可参见实施例一中的详细描述。

步骤230,所述物流服务系统根据所述行程距离和当前场景下的行程速度估算所述行程的行程时间。

本实施例中,所述当前场景下的行程速度按照以下方式得到:将当前场景下的特征信息的取值输入行程速度估算模型,由所述行程速度估算模型输出所述当前场景下的行程速度,所述行程速度估算模型通过使用作为样本的特征信息数据和速度数据进行离线训练得到,关于模型建立和训练的方法有很多,本实施例采用的是梯度提升树(gbdt:gradientboostingdecisontree)模型,但本发明不局限于特定方法。但在另一实施例中,也可以采用查询的方式,即以当前场景下的特征信息的取值为索引,到数据库中查找对应的行程速度,所述数据库保存的特征信息和行程速度之间的对应关系可以通过对作为样本的特征信息数据和速度数据进行统计、处理得到。

行程时间可以通过行程距离除以行程速度得到,在不同的场景下,行程速度是有一定规律性的。递送人员、使用交通工具的情况、天气情况、当时的时间等不同时行程速度会存在差异。例如,在上下班高峰期的行程速度通常会低于其他时间。又如,在下雨天,行程速度通常会低于其他天气时的行程速度。本实施例基于作为样本的特征信息数据和速度数据进行离线训练或统计,可以根据实际场景个性化的估算行程速度,提高估算的准确度。但是,在对估算精度要求不高的应用中,可以根据使用的交通工具直接设置一个行程速度,例如送餐时骑电动车,或者送货时驾驶三轮摩托车,可以设置一个默认的电动车的速度或者默认的三轮摩托车的速度,并不一定要如本实施例那样通过训练或统计进行个性化的估算。

本实施例中,使用的特征信息包括以下一种或多种信息:递送人员的信息、交通工具的信息、时间的信息、天气的信息。其中,递送人员的信息可以是递送人员的姓名或编号。交通工具的信息可以包括:是否使用交通工具、使用的交通工具的类型如“自行车”、“电动车”、“摩托车”、“小轿车”或“货车”等等。时间的信息可以包括:所在时间段、季节、月份、是否节假日、是否节后第一天、是否上下班高峰期、是否物流高峰期等。其中所在时间段的取值可以是将一天划分成的多个时间片,例如以30分钟为单位划分成的48个时间段中的一个。而天气的信息可以是“晴”、“雨”、“阴”等等。

在物流服务系统中,派单系统是外卖物流领域中最核心的环节,递送人员从当前位置到下一个地点或者从一个地点到另外一个地点的行程时间是自动确定派单方式的重要依据,本实施例方法可以对行程距离、行程时间的估算,为智能派单提供了数据支持,使得智能派单成为可能,这将逐步替代调度员的大部分工作,减少人力介入程度,并最终实现自动化、智能化的目的。对于具体的派单策略,可以由物流服务系统的用户确定,例如,根据本鹤方法估算计算多种派单方式下的行程时间,从中选择可以满足订单送达时间的一种派单方式等等。

本实施例还提供了一种物流服务系统,如图4所示,包括订单派送装置50和行程时间估算装置60,其中:

所述订单派送装置设置为:根据物流服务订单确定相应行程的起点和终点,向所述行程时间估算装置查询以获取所述行程的行程时间,用于确定所述物流服务订单的派送方式;

所述行程时间估算装置包括:

距离估算模块601,设置为:根据所述行程的起点和终点估算所述行程的行程距离;

时间估算装置603,设置为:根据所述行程距离和当前场景下的行程速度估算所述行程的行程时间。

本实施例中,订单派送装置和行程时间估算装置可以设置在同一环境下,也可以处于不同环境,此时行程时间估算装置可以提供行程时间查询接口,接受订单派送装置对行程时间的查询。

本实施例中,

所述距离估算模块包括:

球面距离计算单元,设置为:根据行程的起点和终点计算所述行程的球面距离;

区域对确定单元,设置为:确定所述起点所在的起始区域和所述终点所在的目标区域组成的区域对;

行程距离计算单元,设置为:根据所述行程的球面距离及所述区域对对应的行程距离和球面距离的换算关系,确定所述行程的行程距离,所述换算关系基于对样本行程的行程距离数据和球面距离数据的离线分析得到。

上述距离估算模块各单元的功能可参见实施例一行程距离确定装置中相应模块的功能。

本实施例中,

所述时间估算模块按照以下方式确定所述当前场景下的行程速度:

将当前场景下的特征信息的取值输入行程速度估算模型,由所述行程速度估算模型输出所述当前场景下的行程速度,其中,所述行程速度估算模型通过使用作为样本的特征信息数据和速度数据进行离线训练得到;或者

以当前场景下的特征信息的取值为索引,到数据库中查找对应的行程速度,所述数据库保存有特征信息和行程速度之间的对应关系。

本实施例中,

所述特征信息包括以下一种或多种信息:递送人员的信息、交通工具的信息、时间的信息、天气的信息。

本实施例还提供了一种物流服务装置,包括存储器和处理器,其中:

所述存储器设置为:保存程序代码;

所述处理器设置为:读取所述程序代码以执行以下处理:

根据物流服务订单确定相应行程的起点和终点;

根据所述行程的起点和终点估算所述行程的行程距离;

根据所述行程距离和当前场景下的行程速度估算所述行程的行程时间。

本实施例中,

所述处理器根据所述起点和终点估算所述行程的行程距离,包括:

根据行程的起点和终点计算所述行程的球面距离,并确定所述起点所在区域和所述终点所在区域组成的区域对;

根据所述行程的球面距离及所述区域对对应的行程距离和球面距离的换算关系,确定所述行程的行程距离,其中,所述换算关系基于对样本行程的行程距离数据和球面距离数据的离线分析得到。

本实施例中,

所述处理器通过执行以下处理确定所述当前场景下的行程速度:

将当前场景下的特征信息的取值输入行程速度估算模型,由所述行程速度估算模型输出所述当前场景下的行程速度,其中,所述行程速度估算模型通过使用作为样本的特征信息数据和速度数据进行离线训练得到;或者

以当前场景下的特征信息的取值为索引,到数据库中查找对应的行程速度,所述数据库保存有特征信息和行程速度之间的对应关系。

上述处理器可以执行本实施例方法中的任何处理,具有本实施例方法中的任何特征,这里不再一一重复。

物流服务系统需要考虑高峰期并发的情景,需要对大批量物流服务订单进行行程时间的查询并得到迅速响应。目前地图服务提供商的接口不支持大批量实时查询,响应时间和调用次数均受限,不能够满足需要。而本实施例通过采用简化算法估算行程距离,占用资源少,响应速度可以很快。可以实时处理大批量订单的行程时间估算,所有调用的可以在一个系统内部完成,不产生外部依赖。

实施例三

本实施例以外卖服务系统为示例,对实施例二中行程距离、行程时间的估算进行说明,假定送外卖的人员以骑行方式递送外卖,以下将送外卖的人员称为骑手。本实施例的行程由外卖订单产生,行程的起点可以是餐厅地址,行程的终点可以是送餐地址如叫外卖的用户所在地。

本实施例根据海量历史订单数据、骑手心跳数据等信息,离线构建用于行程距离估算的数据库,并通过离线训练建立骑手个性化速度的估算模型。其中:

数据库以geohash对为索引,存储任意两个geohash对对应的行程距离和球面距离的比值(ratio),其中,geohash对对应的ratio根据样本行程离线训练得到。

本实施例从海量历史订单中选取一定数量的样本订单,通过以下的统计过程得到geohash对对应的ratio,如图5所示,该统计过程包括:

步骤310,为样本订单分别生成订单标识(id)、餐厅地址的经纬度poi-a及对应的起始区域geohash-a、送餐地址的经纬度poi-b及对应的目标区域geohash-b;

步骤320,对样本订单中geohash-a和geohash-b组成的每一geohash对,记录其对应的poi对,也即poi-a处于该geohash对的起始区域、poi-b处于该geohash对的目标区域的poi对;

因为geohash对是区域对,而poi对是地点对,因而一个geohash对一般可以找到很多个对应的poi对。重复的poi对可以只保留一个。

步骤330,对每一geohash对,计算其对应的每一poi对的球面距离与真实距离的比值;

每个poi对的球面距离根据poi-a和poi-b可以直接计算得到,而poi-a和poi-b两点之间的真实距离可以通过使用或调用地图服务系统提供的真实距离查询接口得到。

步骤340,对每一geohash对,将计算得到的比值按序排列,去除最大的部分比值和最小的部分比值,从余下的值取中位数,作为该geohash对对应的比值;

比值按序排列即可以按从大到小的顺序排列,也可以按照从小到大的顺序排列。而去除最大的部分比值和最小的部分比值是为了尽量排除掉异常的数据,如可将排序后去掉最大的10%的比值,及最小的10%的比值。

步骤350,将所有geohash对保存到数据库中,按照所有geohash对对应的比值的大小排列,从中选择出最大的部分比值和最小的部分比值存储到数据库中并与对应的geohash对绑定,且为其他geohash对设置一个默认的比值。

例如,最大的部分比值和最小的部分比值均可以设定为geohash对总数的10%或其他比例,这部分比值需推到线上。对于其他geohash对,可以从余下的比值中取中位数,作为这些geohash对对应的默认比值。geohash对的数量很多时,大部分geohash对对应的比值集中在一个较小的区域内,因而在本实施例中,这些geohash对对应的比值可以用一个默认值代替以节约资源。对于与默认值差别较大的比值才存储到数据库中。

上述离线训练可以周期性地进行,在经过一天或一周或设定的其他周期外,使用更新后的订单数据再次训练并根据训练结果更新数据库中存储的geohash对及其比值。

骑手个性化速度的估算模型以当前场景的特征信息的取值为输入参数,通过计算输出相应的行程速度。该估算模型通过使用作为样本的特征信息数据和速度数据进行离线训练得到。

在一个骑手的骑行过程中,通过骑行记录仪可以定时记录骑手所在的位置点和相应时刻例如每30秒记录一个位置点和时刻,每一位置点及其时刻构成一个心跳点,这些记录的心跳点组成了骑手的心跳序列,根据相邻两个心跳点的位置及时刻可以计算出骑手在该两个点之间的速度,该速度可作为后一心跳点(或前一心跳点)对应的速度。

时间切片是按设定的时间长度将一天时间划分得到的时间段,例如,每天从零点开始计算,假定设定的时间长度是30分钟(也是可以是其他任何的时间长度),则可以将一天时间划分为48个切片,0:00~0:30是第一个时间切片,0:30~1:00是第二个时间切片,依此类推。在不同的时间切片道路情况不同,相应的骑行速度也会有所不同。所以按不同时间切片对骑手的心跳序列划分,可以得到不同时间切片内的心跳序列。

骑手在骑行过程中可能会有停止骑行的异常情况,在计算骑行速度时可以先调用心跳异常检测函数剔除或平滑离群异常心跳点,仅取骑手骑行过程中的心跳序列作为样本,例如可以筛选出对应速度大于3米/秒的心跳点,计算出作为样本的速度数据。

在记录心跳序列的同时,可以同时记录下当时场景的特征信息,如骑手的信息、时间的信息、天气的信息、交通工具的信息等等,与速度数据一起作为模型训练所用的数据。本实施例建立的速度估算模型采用梯度提升树(gbdt:gradientboostingdecisontree)模型使用得到的速度数据和特征信息数据对gbdt模型进行训练,可以得到特征信息与骑行速度之间的算法,从而用于之后的估算。通过离线训练的方法,就可以得到骑手在不同场景下的个性化速度。

虽然本实施例是根据骑手的心跳序列得到速度数据,但在其他实施例中可以有其他不同的方式,例如,根据订单中骑手离开餐厅地址的时间和到达送餐地址的时间得到实际的行程时间,利用行程的真实距离除以实际的行程时间即可得到速度数据。将该速度数据和相应场景的特征信息数据绑定,也可以作为训练用的数据。

下面结合图6对本实施例做一个整体的说明。本实施例行程时间估算可以通过在线部分和离线部分来实现。其中:

离线部分将订单数据、骑手数据和心跳数据作为基础数据,导入距离还原模块和行程速度估算模型,按照上述方法统计得到区域对对应的行程距离和球面距离的比值,并训练得到骑手个性化的行程速度估算模型,将统计结果和训练好的模型导出到存储系统。

在线系统可以实时接收大批量的对骑手行程时间进行预估的请求(也即上文的查询请求),对于每一个请求(包含行程起点和终点的经纬度)先计算行程起点和终点之间的球面距离,同时将起点和终点的经纬度转换成geohash对,从存储系统的数据库查询得到该geohash对对应的ratio,即可估算出行程距离;然后调用行程速度估算模型,以当前场景的特征信息如骑手姓名、天气、时间、交通工具等信息为输入参数,计算得到骑手在该场景下的个性化的行程速度;最后,根据获取的行程距离除以行程速度计算出行程时间并返回给请求方,请求方可以是外卖服务系统中的智能派单系统。

本实施例方案可以不产生外部依赖,所有调用均在一个系统内部,支持大批量查询(支持3000个以上的批量查询),而且响应时间可以控制在100ms。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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