面向快递员揽收到达时间预测的多任务深度时空网络*
2023-02-08王晨宇温浩珉郭晟楠林友芳万怀宇
王晨宇,温浩珉,郭晟楠,2,林友芳,2,万怀宇,2
(1.北京交通大学计算机与信息技术学院,北京 100044;2.交通数据分析与挖掘北京市重点实验室,北京 100044)
1 引言
近年来电商行业的快速增长带动了快递行业的迅猛发展。仅2022年春节期间我国揽收和投递的包裹量就达到了7.49亿件[1]。快递揽收是快递业务中一个非常重要的末端服务环节。在该环节中,快递员上门揽件时间的预估精度一直是物流企业关心的重要问题。准确的揽件到达时间预测能为用户提供更准时的服务,提升用户体验,也可以提升企业的服务效率,增强企业竞争力。
然而实际场景中的揽件到达时间预测问题同时面临着以下几个方面的挑战:
(1) 任务路径未知:快递员执行揽件任务的路径与待预测任务的到达时间具有较强的相关性。但是现实中,快递员在执行揽收任务期间,还会不断收到系统分配的新订单。因此,在预测某个任务的到达时间的时侯,快递员未来的揽收路线无法得知,这也给到达时间的预测带来了高度的不确定性。因此,如何在路线未知的情况下做出精准的到达时间预测,是一项巨大的挑战。
(2) 订单之间存在相互影响:当物流系统给快递员分配新的揽收订单时,快递员手中可能还有其他已接受但未完成的订单需要完成,因此如何有效地建模这些已接未完成订单对于新分配揽收任务的影响,对于新分配任务的到达时间预测也是一个难点。
(3) 外部影响因素复杂:待预测揽件任务的到达时间预测不仅会受到自身以及快递员当前其他未完成订单的影响,还会受到当前时段、目的地POI(Point of Interest)、工作日与节假日等复杂外部因素的影响。如何有效建模多种外部因素也是一大挑战。
针对以上挑战,本文提出了一种面向揽件到达时间预测的多任务深度时空网络MSTN4PAT(Multi-task deep Spatial-Temporal Network for Pick-up Arrival Time prediction)模型,通过从快递员产生的海量揽件历史轨迹数据中学习揽件到达时间的复杂时空模式,以实现对揽件到达时间的精准预测。在2组真实揽件数据集上的大量实验表明,该模型优于其他对比模型。本文的主要贡献总结如下:
(1) 针对在预测时无法得知快递员未来揽收路线的挑战,本文提出充分挖掘待预测任务的始发地和目的地OD(Origin,Destination)之间内在关联的模型MSTN4PAT。该模型可以灵活地捕获揽件场景中的复杂时空相关性。
(2) 针对受到其他已接未完成订单影响的挑战,设计了一种多任务学习机制,通过设置目标订单顺序预测和其他未完成订单揽收时间预测2个子任务,有效建模其他未完成订单对待预测订单的影响。
(3) 针对揽件到达时间受外部影响因素复杂的挑战,构建多头注意力机制整合现有未完成订单对于待预测订单的影响,之后分别从特征宽度和特征深度2个角度进行低阶交叉特征和高阶交叉特征的捕获,以此提升模型的记忆能力和泛化能力。
2 相关工作
本文所要研究的揽件到达时间预测问题可以看成一类ETA(Estimated Time of Arrival)预测问题。ETA预测是指预测从始发地到目的地所需的时间。ETA作为交通和物流服务领域的重要概念,是快递揽收、外卖配送和打车拼车等场景中的一个重要变量。目前解决ETA预测问题的思路可以分为2大类:
第1类是基于路径的ETA预测。这类方法要求从始发地到目的地的路径是确定且唯一的,其思路通常通过捕获每个子路段的时空相关性来把控对总预计到达时间的预估。Wang等人[2]利用Wide & Deep框架[3]增强模型对有效外部特征的记忆能力和泛化能力,并结合循环模块捕获时序特征完成到达时间的预估。Wang等人[4]在划分子路径的基础上利用卷积层捕获空间相关性,利用长短时记忆LSTM(Long Short-Time Memory)网络捕获时间相关性,最后预测完整路径与各子路径的到达时间。Zhang等人[5]提出了DeepTravel模型,在利用Bi-LSTM(Bidirectional Long Short-Time Memory)网络[6]同时捕获长期和短期的时间特征的基础上完成路径旅行时间的估算。为了建模路网中的异质信息对于出行时间预测的影响,Hong等人[7]从建模路网中的异质信息的角度完成了出行时间的预测。Fang等人[8]通过建模路段间的时空相关性和上下文信息来提升预测精准度。Sun等人[9]通过建模和迁移驾驶员个性化信息提升到达时间预估精度。Fang等人[10]采用元学习[11]的思想通过对驾驶员历史路径的行驶习惯的捕获来完成对未来路径的行驶时间预测。虽然以上方法在实际中取得了较好的效果,但是现实生活中这类方法的弊端也非常明显:其过分依赖从始发地到目的地的路径。现实生活中有些场景的ETA问题是无法得到具体的任务路径的,比如本文所要解决的揽件ETA问题。
第2类是基于OD的ETA预测。这类方法较为灵活,不需要指定具体路线。一般通过融合待预测任务的始发地、目的地和其他有效特征完成对到达时间的预估。Jindal等人[12]提出的STNN(Spatio-Temporal Neural Network)模型利用同时预测实际行驶距离和到达时间来提升时间的预估精度,但该模型缺乏对交通场景中时空相关性的具体思考。Li等人[13]利用道路网络和时空先验知识通过深度神经网络得到有意义的表示向量,并采取多任务学习辅助预测到达时间。但是,该方法对数据集要求过高,需要路网结构和实际行驶距离等。Wang等人[14]通过始发地和目的地获取相似轨迹集合,并通过相似轨迹预测目标轨迹的行驶时间。但是,该模型需要得知驾驶员的行驶速度,且存在部分轨迹数据过少的数据稀疏问题。Zhu等人[15]针对快递员外卖场景,提出OFCT(Order Fulfillment Cycle Time)模型,该模型通过设计深度模型选择快递员,并通过有效特征整合完成对用户服务时间的预测。但是,该模型同样对数据集要求过高,需要很多细化特征。
综上,本文要解决的揽件ETA问题因为无法得知具体的任务路径,因此更适合采用基于OD的思路解决。可是,目前基于OD思路解决ETA的方法又各有其局限性,无法高效准确地预测揽件ETA。
3 模型介绍
3.1 相关定义
在揽件场景中,用户在下单后,系统需要立刻将该订单的预计完成时间发送给该用户,并且之后不再改变。在预测时,快递员手中还有其他未完成订单,这些未完成订单已经完成了到达时间预测并且在等待揽收。本文将待预测到达时间的揽收订单称为目标订单,而快递员手中的其他未完成订单称为已接未完成订单。
(1)目标订单:本文将目标订单状态定义为tar=(olng,olat,dlng,dlat,onum,oddis)。其中,olng和olat分别表示系统将目标订单分配给指定快递员的时候,快递员所在地点的经、纬度坐标;dlng和dlat分别表示目标订单揽收地点的经纬度坐标;onum表示系统将目标订单分配给指定快递员的时候,快递员手中已有的其他未完成订单的数量;oddis表示从始发地到目的地的球面距离。
(2)已接未完成订单集合:系统在给快递员分配新订单的时候,快递员手中已有的其他待揽收未完成订单统称为已接未完成订单(下文简称未完成订单),其定义为r=(dlng,dlat,tspend,tremain),其中,dlng和dlat分别表示订单揽收地点的经、纬度坐标,tspend表示相对当前时刻该订单距离被系统分配时刻已经过去的时间,tremain表示该订单距离超时的剩余履约时间。未完成订单集合定义为R={r1,r2,…,rn}。
(3)揽件到达时间:本文将目标订单的揽件达到时间定义为Ttar=Tpick-Trequest,其中,Tpick表示目标订单的揽收时刻,Trequest表示用户下单时刻。
(4)外部影响因素:日期、时段和目的地属性等外部因素都会对目标任务的预测时间产生影响。本文将外部因素日期定义为eday,外部因素时段定义为eperiod,外部因素目标订单目的地属性定义为epoi,外部因素统称为E={eday,eperiod,epoi}。
(5)问题定义:本文将揽件到达时间的预测问题定义为一个多变量回归任务,如式(1)所示:
F(tar,R,E)→Ttar,TR,OR
(1)
即,给定待预测目标订单tar、未完成订单R和外部特征E,本文的目标是构建一个多任务预测模型F,完成目标订单到达时间Ttar的预测,以及R的到达时间TR={Tr1,Tr2,Tr3,…,Trn}和R相对于目标订单的先后完成顺序,也就是R在目标订单完成之前完成揽收还是在目标订单完成之后完成揽收,本文将其定义为OR={Or1,Or2,Or3…,Orn|Ori=0/1}。其中,预测Ttar为主任务,预测TR和OR为辅助任务。
Figure 1 Structure of MSTN4PAT图1 MSTN4PAT模型结构
3.2 MSTN4PAT模型
图1展示了本文提出的MSTN4PAT模型的总体结构,其主要由3部分组成,分别是OD时空特征模块、时空多任务学习模块和多源特征融合模块。模型首先通过OD时空特征模块建模目标订单的时空相关性;之后利用时空多任务学习模块建模R对目标订单的影响;最后在融合模块采用多头注意力机制整合不同视角下R对于目标订单的影响,并从特征宽度和特征深度2个角度充分挖掘特征对预测的影响,以此最终实现目标订单的到达时间预估。图1中,Lsubtask_order表示子任务顺序预测损失,Lsubtask_time表示子任务时间预测损失,Ltarget为目标任务预测损失,Lall表示总的预测损失,MLP(MultiLayer Perceptron)表示多层感知机。
3.2.1 OD时空特征模块
OD时空特征模块基于OD思路通过充分挖掘目标订单的始发地和目的地状态特征,并充分建模外部特征,以此应对预测时揽件路线不确定的挑战。具体设计如图1中OD时空特征模块所示。
(2)
揽件到达时间受到多种不同外部因素的影响。所处日期不同,快递员工作模式也会随之发生变化,比如工作日和周末的交通路况变化可能会有很大的不同。此外,在不同的时段,系统分配的任务量不同,比如用户更倾向于快递员能在午饭、晚饭等时间完成揽收。并且揽收任务的目的地类型也会影响快递员的决策模式,比如居民区和商业区的区别。本文分别用one-hot编码对eday,eperiod和epoi进行建模,经过信息嵌入之后得到特征向量Vday∈RD,Vperiod∈RD,Vpoi∈RD。
3.2.2 时空多任务学习模块
对于目标订单来说,其不仅仅会受到外部特征和自身属性的影响,还会受到未完成订单集合R的影响。因此,要对目标订单到达时间实现准确预测,必须考虑R的时空相关性,并建模R对于目标订单的影响。因此,本文设计了时空多任务学习模块[16],如图1所示,来实现上述目的。
(3)
其中,Wr∈R4×D和br∈RD均为可学习参数。
Figure 2 Structure of order prediction layer图2 顺序预测层结构
(4)
(5)
(6)
(7)
首先通过线性映射得到Qr、Kr和Vr,具体计算如式(8)~式(10)所示:
Qr=MrWq+bq
(8)
Kr=MrWk+bk
(9)
Vr=MrWv+bv
(10)
其中,Wq∈R(5D+2)×D,Wk∈R(5D+2)×D,Wq∈R(5D+2)×D,bq∈RD,bk∈RD,bv∈RD均为可学习参数,Qr、Kr和Vr将分别作为查询、键和值参与后续的注意力机制运算。
注意力计算公式如式(11)所示:
(11)
其中,d为D除以头数k之后的维度数,Q、K、V分别代表注意力机制计算中的查询、键和值。
将得到的特征向量Qr、Kr和Vr输入编码块中进行处理,每一个编码块包含多头自注意力机制计算和MLP计算,则第l层的具体计算如(12)所示:
(12)
(13)
3.2.3 多源特征融合模块
为了高效整合OD时空特征模块和时空多任务学习模块得到的特征,即捕获不同特征之间的交互关系,本文设计了多源特征融合模块,如图1中多源特征融合模块所示。
由于特征众多,且特征间存在复杂的交互关系,本文参考Wide & Deep模型[3]对现有特征从宽度层面和深度层面两个角度进行高效整合,设计了W&D融合层结构,如图3所示。
Figure 3 Structure of W&D fusion layer图3 W&D融合层结构
首先对特征进行拼接,得到融合特征向量Vmix∈RD,具体计算如式(14)所示:
(14)
Wide部分通过设计线性模型从特征宽度层面捕获现有特征间的关系,从而增强模型的记忆能力。具体计算如式(15)所示:
(15)
其中Wwide和bwide均表示学习参数。
Deep部分通过设计深度神经网络从特征深度层面挖掘特征之间的关系,从而增强模型的泛化能力。具体计算如式(16)所示:
(16)
通过线性模型整合Wide部分和Deep部分使模型同时拥有记忆能力和泛化能力,提升特征融合质量,完成更精准的揽件到达时间预测。具体计算如式(17)所示:
(17)
其中,Wtarget和btarget均表示学习参数。
本文利用MAE损失函数对目标订单揽收到达时间进行监督,具体计算如式(18)所示:
(18)
最后通过整合式(6)、式(13)和式(18)的全部损失函数对模型进行训练,具体计算如式(19)所示:
Lall=Lsubtask_order+Lsubtask_time+Ltarget
(19)
4 实验与结果分析
4.1 数据集设置
本文的实验数据集来自某快递公司在2021年7月10日至2021年10月10日杭州15个运营区域 81 413条订单揽收数据,以及上海20个运营区域96 453条订单揽收数据。其揽收时间都在5 min~2 h。之后根据时间先后顺序将数据集按照6∶2∶2比例划分为训练集、验证集和测试集。
4.2 基准方法与评价指标
本文将MSTN4PAT模型与如下7种现有的预测模型进行了对比。
(1)HA(History Average):历史平均值模型,根据始发地、目的地相似订单的历史平均揽收到达时间进行预测。
(2)LR(Linear Regression):线性回归模型,最基本的机器学习模型。
(3)STNN[12]:一种基于OD思路解决ETA问题的模型,该模型基于深度神经网络,首先预测给定 OD 对的行驶距离,然后结合出发时间来估计到达时间。
(4)XGBoost[18]:一种基于提升树的机器学习模型,广泛应用在数据挖掘领域。
(5)DeepFM[19]和xDeepFM[20]:推荐系统领域可以建模不同特征相互作用的模型,在针对多源特征进行预测的时候具有较好的效果。
(6)OFCT[15]:一种应用于外卖配送场景的基于OD思路解决ETA问题的模型,通过对离散特征和连续特征分别进行处理来完成送餐时间的预估。
评价指标采用平均绝对误差MAE和平均绝对百分比误差MAPE(Mean Absolute Percentage Error),计算过程分别如式(20)和式(21)所示:
(20)
(21)
4.3 参数设置
本文模型基于PyTorch深度学习框架实现,批量大小为128,学习率为0.001,采用Adam优化算法。时间、时段和目的地类型外部特征分别用one-hot编码建模成R7,R9和R35的向量。通过搜索超参的方法,得到如下最佳参数:神经元维度D设为128,多头注意力机制的头数k设为8,编码块数L设为3,模型训练早停忍耐度设为10。
4.4 实验结果
表1和表2分别列出本文提出的模型与上述7种基准模型在杭州和上海数据集上的预测结果,其中,加粗数字表示最优结果,带下划线数字表示次优结果。从表1可以看出,本文提出的MSTN4PAT模型的MAE和MAPE指标均优于其他对比模型。相比于MAE指标最优的基准模型XGBoost来说,本文模型的MAE提升了1.4%,相比于MAPE指标最优的基准模型OFCT来说,本文模型的MAPE提升了2.29%。从表2可以看出,MSTN4PAT模型的MAE和MAPE指标均优于其他对比模型的。相比于MAE指标上最优的基准模型XGBoost来说,本文模型的MAE提升了0.7%,相比于MAPE最优的基准模型OFCT来说,本文模型的MAPE提升了1.5%。
Table 1 Prediction performance of different models on Hangzhou dataset
HA通过快递员的历史平均送达时间对快件到达时间进行预测,没有利用揽件场景中的时空相关性,因此效果最差。LR作为线性拟合模型,模型表示能力不足,难以建模影响揽件到达之间的众多复杂因素。对于深度多任务模型STNN,由于实验数据中没有记录快递员的行驶距离,因此对于STNN的多任务学习中的行驶距离预测,使用OD间的球面距离替代,这导致了其模型性能下降。DeepFM和xDeepFM表现不是很好,说明单纯对特征进行高阶和低阶的多重融合不能有效解决揽件到达时间预测问题。XGBoost表现较好,但是其MAPE值偏高,说明树型模型对小值预测的误差较高。综合来看,OFCT的表现效果在所有基准模型中最好。一方面,因为该模型所针对的外卖场景ETA预估问题和本研究问题相似,使得该模型在本文问题上的迁移性更强。另一方面,从技术角度来看,OFCT对离散特征和连续特征分别建模的做法有利于挖掘特征之间深层次的关系,从而达到更好的预测效果。相比于OFCT,本文提出的MSTN4PAT对未完成订单、目标订单以及两者的交互关系进行了充分建模,所以取得了最优的效果。
4.5 消融实验
为了进一步验证模型各部分的有效性,本文在杭州数据集上设计了MSTN4PAT的3种变体进行对比实验:(1)w/o order:减少时空多任务学习模块中的顺序预测子任务;(2)w/o time&order:减少时空多任务学习模块中的顺序预测子任务和未完成订单的预估揽收时间预测子任务;(3)w/o W&D:将多源特征融合模块中的W&D融合层换成特征拼接后用MLP进行特征融合输出。
从图4的实验结果可以看出:(1)MSTN4PAT中多任务学习模块能增强模型对R时空模式捕获,从而帮助模型实现了更高精度的预测; (2)W&D融合模块在面对多源特征融合的时候也表现出了较为优越的特征融合能力。因此,实验结果有效验证了模型中各个模块的合理性和有效性。
Figure 4 Ablation experiment results of MSTN4PAT图4 MSTN4PAT消融实验结果
5 结束语
本文针对快递员揽件场景,提出了一种多任务时空揽件到达时间预测模型MSTN4PAT。针对揽件业务中,在预测时无法得知快递员具体路线的挑战,本文基于OD思路对目标订单进行揽件时间预估,并采用多任务学习机制建模未完成订单对目标订单的影响,最后从特征深度和特征宽度2个角度进行特征融合,完成对目标订单揽件到达时间的预测。在真实的揽件数据集上的实验结果表明,本文提出的模型优于对比模型。