订单出餐时间预测方法、装置、电子设备及存储介质转让专利

申请号 : CN202110420671.3

文献号 : CN112906994B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 余维朱麟

申请人 : 拉扎斯网络科技(上海)有限公司

摘要 :

本申请涉及数据处理技术领域,公开了一种订单出餐时间预测方法、装置、电子设备及存储介质,订单出餐时间预测方法,包括:获取待预测订单的订单信息;将订单信息对应的特征数据输入预测模型,得到待预测订单的出餐时间;预测模型,通过如下方法得到:获取订单对应的训练样本集及初始神经网络模型,训练样本集包括:删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间;基于删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、以及损失函数对初始神经网络模型进行训练,损失函数收敛时对应的神经网络模型为预测模型。本申请提供的方案,提升了删失样本订单的利用率及订单出餐时间预测的准确性。

权利要求 :

1.一种订单出餐时间预测方法,其特征在于,包括:

获取待预测订单的订单信息;

将所述订单信息对应的特征数据输入预测模型,得到所述待预测订单的出餐时间;所述特征数据为根据订单价格、订单上的菜品种类、订单时间、商家信息中的至少一项,以及上述信息对应的预设权重确定;

所述预测模型,是通过如下方法得到的:

获取订单对应的训练样本集及初始神经网络模型,所述训练样本集包括:删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间;非删失样本订单的关联信息中包含真实出餐时间;

基于所述删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、以及损失函数对所述初始神经网络模型进行训练,直至所述损失函数收敛,损失函数收敛时对应的神经网络模型为预测模型。

2.根据权利要求1所述的方法,其特征在于,所述基于所述删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、以及损失函数对所述初始神经网络模型进行训练,包括:将所述删失样本订单及非删失样本订单对应的特征数据输入至所述初始神经网络模型,得到各删失样本订单对应的预测出餐时间及各非删失样本订单对应的预测出餐时间;

将所述第一参考取餐时间与所述删失样本订单对应的预测出餐时间、及所述第二参考出餐时间与所述非删失样本订单对应的预测出餐时间输入至所述损失函数,得到损失函数的值;

基于所述损失函数的值对神经网络模型进行迭代训练。

3.根据权利要求2所述的方法,其特征在于,所述损失函数中包括删失参数,所述损失函数包括:包含所述删失参数的函数项及不包含所述删失参数的函数项,所述将所述第一参考取餐时间与所述删失样本订单对应的预测出餐时间、及所述第二参考出餐时间与所述非删失样本订单对应的预测出餐时间输入至所述损失函数,得到损失函数的值,包括:基于所述包含删失参数的函数项确定所述删失样本订单对应的损失函数的值;

基于所述不包含所述删失参数的函数项确定所述非删失样本订单对应的损失函数的值。

4.根据权利要求3所述的方法,其特征在于,针对所述删失样本订单,所述方法还包括:获取所述删失样本订单的应用场景信息,根据所述应用场景信息调取与所述应用场景信息关联的删失参数的取值。

5.根据权利要求1所述的方法,其特征在于,所述删失样本订单及非删失样本订单中包括商家信息,所述基于所述删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、以及损失函数对所述初始神经网络模型进行训练,包括:获取所述商家信息的关联信息;

根据所述删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、所述关联信息以及损失函数对所述初始神经网络模型进行训练。

6.一种订单出餐时间预测方法,其特征在于,包括:

获取订单的训练数据集以及初始神经网络模型,其中,训练数据集包括删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间;

将各所述删失样本订单及非删失样本订单分别对应的特征数据输入至所述初始神经网络模型,得到每个删失样本订单及非删失样本订单分别对应的预测出餐时间;

将所述非删失样本订单对应的预测出餐时间与所述第二参考出餐时间,及所述删失样本订单对应的预测出餐时间与所述第一参考取餐时间输入至所述损失函数,得到非删失样本订单及删失样本订单对应的损失函数的值;

基于所述损失函数的值对神经网络模型进行训练,直至所述神经网络模型对应的损失函数收敛,将损失函数收敛时的神经网络模型作为预测模型,以基于所述预测模型及待预测订单的订单信息对应的特征数据,对待预测订单进行出餐时间的预测;

所述特征数据为根据订单价格、订单上的菜品种类、订单时间、商家信息中的至少一项,以及上述信息对应的预设权重确定。

7.根据权利要求6所述的方法,其特征在于,所述损失函数为带左删失的连续概率分层打分目标函数。

8.一种订单出餐时间预测装置,其特征在于,包括:

订单获取模块,用于获取待预测订单的订单信息;

出餐时间确定模块,用于将所述订单信息对应的特征数据输入预测模型,得到所述待预测订单的出餐时间;所述特征数据为根据订单价格、订单上的菜品种类、订单时间、商家信息中的至少一项,以及上述信息对应的预设权重确定;

其中,所述预测模型是根据模型训练模块训练得到的,所述模型训练模块用于:获取订单对应的训练样本集及初始神经网络模型,所述训练样本集包括:删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间;非删失样本订单的关联信息中包含真实出餐时间;

基于所述删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、以及损失函数对所述初始神经网络模型进行训练,直至所述损失函数收敛,损失函数收敛时对应的神经网络模型为预测模型。

9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1‑7中任一项所述的订单出餐时间预测方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1‑7中任一项所述的方法。

说明书 :

订单出餐时间预测方法、装置、电子设备及存储介质

技术领域

[0001] 本申请涉及数据处理技术领域,具体而言,本申请涉及一种订单出餐时间预测方法、装置、电子设备及存储介质。

背景技术

[0002] 随着移动互联网的兴起,外卖成为一种常规就餐方式。对于订餐用户来说,外卖即时配送服务中的外卖配送效率是影响用户体验的重要参数,而影响外卖配送效率的一个重要环节是订单出餐环节,即餐厅接单到餐厅备餐完成的过程。如果能够准确预测出订单出餐时间,就可以为外卖即时配送智能调度系统提供精准的数据支撑,比如为优化骑手路径规划提供指导,提升外卖配送效率和用户体验。
[0003] 现有技术中可以通过预测模型预测订单出餐时间,但是由于商家忙于制作餐品,缺少人力上传出餐时间,很多订单中只有骑手取餐时间,而无准确的商家出餐时间。但是骑手上传取餐时间时,商家已完成备餐但外卖平台无法难以获取商家的真实出餐时间,导致无法利用这些历史订单信息进行准确的出餐时间预测,因此,一些现有方案中为了保证预测结果的准确性,会将这部分历史订单舍弃,导致历史订单的利用率较低。

发明内容

[0004] 本申请的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案,以解决历史订单的利用率较低的问题。
[0005] 本申请的一个方面,提供了一种订单出餐时间预测方法,包括:
[0006] 获取待预测订单的订单信息;
[0007] 将订单信息对应的特征数据输入预测模型,得到待预测订单的出餐时间;
[0008] 预测模型,是通过如下方法得到的:
[0009] 获取订单对应的训练样本集及初始神经网络模型,训练样本集包括:删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间;非删失样本订单的关联信息中包含真实出餐时间;
[0010] 基于删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、以及损失函数对初始神经网络模型进行训练,直至损失函数收敛,损失函数收敛时对应的神经网络模型为预测模型。
[0011] 本申请的另一个方面,提供了一种订单出餐时间预测方法,包括:
[0012] 获取订单的训练数据集以及初始神经网络模型,其中,训练数据集包括删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间;
[0013] 将各删失样本订单及非删失样本订单分别对应的特征数据输入至初始神经网络模型,得到每个删失样本订单及非删失样本订单分别对应的预测出餐时间;
[0014] 将非删失样本订单对应的预测出餐时间与第二参考出餐时间,及删失样本订单对应的预测出餐时间与第一参考取餐时间输入至损失函数,得到非删失样本订单及删失样本订单对应的损失函数的值;
[0015] 基于损失函数的值对神经网络模型进行训练,直至神经网络模型对应的损失函数收敛,将损失函数收敛时的神经网络模型作为预测模型,以基于预测模型对待预测订单进行出餐时间的预测。
[0016] 本申请的另一个方面,提供了一种订单出餐时间预测装置,该装置包括:
[0017] 订单获取模块,用于获取待预测订单的订单信息;
[0018] 出餐时间确定模块,用于将订单信息对应的特征数据输入预测模型,得到待预测订单的出餐时间;
[0019] 其中,预测模型是根据模型训练模块训练得到的,模型训练模块用于:
[0020] 获取订单对应的训练样本集及初始神经网络模型,训练样本集包括:删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间;非删失样本订单的关联信息中包含真实出餐时间;
[0021] 基于删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、以及损失函数对初始神经网络模型进行训练,直至损失函数收敛,损失函数收敛时对应的神经网络模型为预测模型。
[0022] 本申请的再一个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本申请第一方面所示的订单出餐时间预测方法。
[0023] 本申请的又一个方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本申请第一方面所示的订单出餐时间预测方法。
[0024] 本申请提供的技术方案带来的有益效果是:
[0025] 本申请提供的订单出餐时间预测方法,利用删失样本订单与非删失样本订单进行模型训练,与将删失样本订单进行丢弃的方式相比,本申请提升了对删失样本订单的利用率。
[0026] 而且,本申请提供的订单出餐时间预测方法,在模型训练过程中,将删失样本订单与非删失样本订单进行区别处理,而非将删失样本订单作为非删失样本订单使用,有利于提升订单出餐时间预测的准确性。本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

[0027] 本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0028] 图1为本申请一个实施例提供的订单出餐时间预测方法的场景示意图;
[0029] 图2为本申请一个实施例提供的订单出餐时间预测方法的流程图;
[0030] 图3为本申请一个实施例提供的左删失样本订单的曲线图;
[0031] 图4为本申请一个实施例提供的具有不确定事件的分布函数曲线示意图;
[0032] 图5为本申请另一个实施例提供的订单出餐时间预测方法的流程图;
[0033] 图6为本申请一种实施例提供的订单出餐时间预测装置的结构示意图;
[0034] 图7为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

[0035] 下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
[0036] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组合。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
[0037] 本领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义。
[0038] 左删失,假设研究对象在某一时刻开始进入研究接受观察,但是在该时间点之前,研究感兴趣的时间点已经发生,但无法明确具体时间,这种类型即为左删失数据。或者说,当事件发生时,观测还没有开始,事件发生实际位于观测值的左侧,那么相应的数据就是左删失的数据。在本申请中,当骑手点击取餐按钮时,商家已完成备餐,但不知道商家具体何时出餐,这部分骑手上传取餐时间而商家未上传出餐时间的样本就是左删失样本。
[0039] 出餐时间:商家从接单开始到餐品备餐完成的时间。
[0040] 发明人在研发过程中发现,若直接将骑手上传的取餐时间视作商家备餐完成时间,在此基础上进行订单出餐时间的预测时,预测结果准确率较低。
[0041] 本申请实施例所提供的方案可以由任一电子设备执行,如可以是终端设备,也可以是服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。对于现有技术中所存在的技术问题,本申请提供的订单出餐时间预测方法、装置、电子设备及存储介质,旨在解决现有技术的技术问题中的至少一项。
[0042] 下面以具体实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
[0043] 图1为本申请一个实施例提供的订单出餐时间预测方法的场景示意图,场景示意图中,包括:服务器101、网络102、终端103。其中,终端1003包括人机交互界面1031、处理器1032及存储器1033。服务器101包括数据库1011和处理引擎1012。终端103可以通过网络向服务器101发送订单信息,服务器接收订单信息并基于该订单信息进行订单出餐时间的预测。人机交互界面可以用于显示点餐信息、出餐界面、取餐界面及订单相关信息。
[0044] 终端可供提供目标应用程度的客户端运行,具体形式不限。本申请中的客户端包括骑手客户端、商家客户端、点餐客户端,点餐客户端上传订单信息,商家客户端及骑手客户端接收服务器发送的订单信息,同时商家客户端及骑手客户端还可以接收基于该订单信息的出餐时间信息。目标应用程序在终端上可以以应用程序的形式展示,也可以以网页形式展示,在此不做限制。
[0045] 本申请一个实施例提供了一种可能的实现方式,如图2所示的订单出餐时间预测方法的流程图,该方案可以由任一电子设备执行,例如,本申请实施例的方案可以在服务器上执行,下面首先将以服务器作为执行主体对本申请实施例提供的方法进行说明。如图2中所示的流程图,该方法可以包括以下步骤:
[0046] 步骤S210,获取待预测订单的订单信息;
[0047] 步骤S220,将订单信息对应的特征数据输入预测模型,得到待预测订单的出餐时间;其中,预测模型,是通过如下方法得到的:
[0048] 获取订单对应的训练样本集及初始神经网络模型,训练样本集包括:删失样本订单及第一参考取餐时间,非删失样本订单及第二参考出餐时间;非删失样本订单的关联信息中包含真实出餐时间;
[0049] 基于删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、以及损失函数对初始神经网络模型进行训练,直至损失函数收敛,损失函数收敛时对应的神经网络模型为预测模型。
[0050] 本申请实施例提供的应用场景如下:订单出餐时间预测系统包括客户端和服务器端,客户端包括:点餐客户端、商家客户端及骑手客户端,外卖平台可以在服务器端。点餐用户通过点餐客户端上安装的点餐应用进行点餐、下单,服务器端接收到该订单,需要为该订单进行出餐时间预测,那么该订单为待预测订单。获取待预测订单的订单信息,如:订单价格、订单上的菜品种类、订单时间、商家信息等,服务器端对所述订单信息进行量化处理,将该订单信息对应的特征数据输入预测模型,得到待预测订单的出餐时间。后续可以根据该待预测订单的出餐时间进行系统订单调控、压单等操作。
[0051] 将订单信息对应的特征数据输入预测模型之前,还包括获得待预测订单的订单信息对应的特征数据,可以通过如下方式进行:服务器得到的待预测订单的订单信息包括以下信息的至少一种:订单价格、订单上的菜品种类、订单时间、商家信息等,通过量化手段获取订单信息中各种信息对应的特征向量,并按照订单信息中的各种信息的预设权重得到待预测订单对应的特征数据。
[0052] 将上述待预测订单对应的特征数据输入到预测模型中,输出待预测订单的出餐时间,该出餐时间可以为出餐时长,即服务器接收到该订单与商家备餐完成的时间长度,基于该待预测模型进行订单调度及订单信息的进一步完善。
[0053] 一个可能的实施例中,上述预测模型可以通过如下方式训练得到:
[0054] A1,获取订单对应的训练样本集及初始神经网络模型,训练样本集包括:删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间;
[0055] A2,基于删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、以及损失函数对初始神经网络模型进行训练,直至损失函数收敛,损失函数收敛时对应的神经网络模型为预测模型。
[0056] 删失样本订单是指该样本订单的关联信息中不包含真实出餐时间,但包含取餐时间,删失样本订单的关联信息可以包括取餐时间、订单价格、订单上的菜品种类、订单时间、商家信息等信息,非删失样本订单的关联信息可以包括:真实出餐时间、订单价格、订单上的菜品种类、订单时间、商家信息等。真实出餐时间是商家完成备餐所需要的真实时间,出餐时间可以通过商家主动上传获得,取餐时间为骑手拿到餐所需要的时间,取餐时间可以通过骑手主动上传获得。相对取餐时间来说,删失样本订单中的真实出餐时间是个不确定事件。由于真实出餐时间发生在取餐时间之前,即:不确定事件发生在取餐时间(将取餐时间作为观测点)之前,因此,这样的样本订单又称为左删失样本订单。
[0057] 左删失样本订单的曲线图如图3所示,图中观测点y右侧的事件为确定事件,在图3中被标记为划线区域。观测点y左侧的事件包括备餐完成,该事件对应的时间不确定,为不确定事件。
[0058] 非删失样本订单是指样本订单的关联信息中包含真实出餐时间,可以利用该真实出餐时间进行模型训练。
[0059] 第一参考取餐时间为删失样本订单对应的参考取餐时间,即骑手拿到餐所需要的时间,取餐时间可以通过骑手主动上传获得。
[0060] 第二参考出餐时间为非删失样本订单对应的参考出餐时间,是指上述真实出餐时间,即商家完成备餐所需要的真实时间,真实出餐时间可以通过商家主动上传获得。
[0061] 预测模型的训练样本集中包含删失样本订单及非删失样本订单,实现对删失样本订单的利用,基于删失样本订单与非删失样本订单进行模型训练,与将删失样本订单丢弃的方式相比,本申请实施例提供的订单出餐时间预测方法提高了删失样本订单的利用率。
[0062] 利用包含删失样本订单及非删失样本订单的训练样本集对初始神经网络模型进行训练,并利用损失函数进行模型收敛的判断,损失函数收敛时对应的模型为预测模型。
[0063] 本申请提供的订单出餐时间预测方法,在模型训练过程中,将删失样本订单与非删失样本订单进行区别处理,如:第一参考取餐时间与第二参考出餐时间作为不同数据使用,而不是将删失样本订单作为非删失样本订单使用,即并非将删失样本订单对应的第一参考取餐时间用作参考出餐时间,而是进行明确区分,因此,本申请在实现利用删失样本订单的同时,基于删失样本订单与非删失样本订单进行区别处理得到预测模型,基于该预测模型进行订单出餐时间预测时,能够提升对订单出餐时间预测的准确性根据。
[0064] 为了便于明确本申请提供的技术方案,下面通过具体示例阐述本申请提供的方案:
[0065] 在本申请一种可能的实施方式中,基于删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、以及损失函数对初始神经网络模型进行训练,可以通过如下方式实现:
[0066] A21,将删失样本订单及非删失样本订单对应的特征数据输入至初始神经网络模型,得到各删失样本订单对应的预测出餐时间及各非删失样本订单对应的预测出餐时间;
[0067] A22,将第一参考取餐时间与删失样本订单对应的预测出餐时间、及第二参考出餐时间与非删失样本订单对应的预测出餐时间输入至损失函数,得到损失函数的值;
[0068] A23,基于损失函数的值对神经网络模型进行迭代训练。
[0069] 本申请实施例针对删失样本订单及非删失样本订单分别进行模型预测,并将第一参考取餐时间与删失样本订单对应的预测出餐时间输入至预设的损失函数,得到删失样本订单对应的损失函数的值,将第二参考出餐时间与非删失样本订单对应的预测出餐时间输入至预设的损失函数,得到非删失样本订单对应的损失函数的值,利用删失样本订单对应的损失函数的值以及非删失样本订单对应的损失函数的值进行神经网络模型的迭代训练,使得迭代训练后的神经网络模型对应的损失函数收敛。
[0070] 本申请实施例提供的方案,首先利用了两种样本订单进行模型训练,实现对删失样本订单的有效利用,其次,利用删失样本订单对应的损失函数的值以及非删失样本订单对应的损失函数的值进行模型训练,在模型训练完成时,删失样本订单对应的损失函数收敛且非删失样本订单对应的损失函数也收敛,实现训练完成的预测模型对任一待预测订单的出餐时间的准确预测。
[0071] 在本申请一个可选实施方式中,损失函数中包括删失参数,那么损失函数包括:包含删失参数的函数项及不包含删失参数的函数项。这种情况下,A22提供的将第一参考取餐时间与删失样本订单对应的预测出餐时间、或第二参考出餐时间与非删失样本订单对应的预测出餐时间输入至损失函数,得到损失函数的值,可以通过如下方式实现:
[0072] A221,基于包含删失参数的函数项确定删失样本订单对应的损失函数的值;
[0073] A222,基于不包含所述删失参数的函数项确定非删失样本订单对应的损失函数的值。
[0074] 本申请实施例提供的两个步骤之间无严格顺序关系,可以互换,即可以先确定非删失样本订单对应的损失函数的值,再确定删失样本订单对应的损失函数的值。
[0075] 删失样本订单对应的损失函数的值表征模型预测出餐时间与真实取餐时间之间的差值。非删失样本订单对应的损失函数的值表征模型预测出餐时间与真实出餐时间之间的差值。
[0076] 一种可能的实施方式中,损失函数 以通过如下公式表征:
[0077]
[0078] 其中,y为样本订单对应的第二参考出餐时间,对于删失样本订单而言,y是指参考取餐时间,F^为模型输出的预测出餐时间,c为删失参数,其取值范围是[0,1],其中,非删失样本订单对应的删失参数的取值为0,删失样本订单对应的c的取值为非0,z为出餐样本。
[0079] 结合附图4阐述上述公式中的物理意义,图4为具有不确定事件的分布函数曲线,该分布函数曲线可以为累积分布函数(Cumulative Distribution Function,CDF)曲线,观测点为y,本申请中,y为参考取餐时间, 表征观测点y左侧分布函数曲线与坐标轴之间的面积,即图4中第一区域的面积, 表征观测点y右侧分布函数曲线与坐标轴之间的面积,即图4中第二区域的面积。由于本申请实施例中,观测点为参考取餐时间,真实出餐时间不确定,因此本申请中的删失样本订单为左删失样本订单,将删失参数c对第一区域的面积进行调整,使得调整后的第一区域面积能够准确表征真实出餐情况。
[0080] 本申请实施例提供的方案中,损失函数考虑了删失样本订单的特点设置了删失参数,删失样本订单对应的损失函数与非删失样本订单对应的损失函数会由于删失函数的存在而有所不同,与采用相同的损失函数来处理删失样本订单与非删失样本订单的方案相比,本申请针对不同类型的样本订单,采用不同的损失函数使得训练完成的预测模型对订单的出餐时间的预测更加准确。
[0081] 在一种可能的实施方式中,针对删失样本订单,可以通过如下方式确定删失参数的取值:获取删失样本订单的应用场景信息,根据应用场景信息调取与该应用场景信息预先关联的删失参数的取值。
[0082] 删失样本订单的应用场景信息,可以通过从平台后台数据得到,删失样本订单的应用场景可以是平台预先对该订单设置的,如:指导骑手取餐场景、智能压单场景等。
[0083] 本申请预先已为多种应用场景设置不同的删失参数取值,该删失参数取值可以通过大数据学习获得。比如:多个删失样本订单对应的第一参考取餐时间相同,且该多个删失样本订单对应的骑手相同,即骑手一次取多个餐的应用场景,预先根据历史数据学习得到该种场景中删失参数为0.8,并预先将该删失参数的数值与该种场景进行关联存储,针对该种应用场景下的多个删失样本订单,调用删失参数的取值0.8进行模型训练。再比如:根据骑手的行动轨迹分析,骑手在取餐之后,距离商家一定距离后才上传的取餐时间,针对该种应用场景,预先利用大数据学习确定该种场景下对应的删失参数为0.7,那么处理该种场景下的删失样本订单时,调用删失参数的取值0.7进行模型训练。
[0084] 本申请实施例提供的方案中,损失函数考虑了删失样本订单的特点设置了删失参数,该删失参数根据删失样本中不同的场景对应不同的取值,也就是说,删失样本订单对应的损失函数与非删失样本订单对应的损失函数会由于删失参数的存在而有所不同,而不同应用场景下对应的删失参数的取值不同。
[0085] 与采用相同的损失函数来处理删失样本订单与非删失样本订单的方案相比,本申请针对不同类型的样本订单,采用不同的损失函数使得训练完成的预测模型对订单的出餐时间的预测更加准确,而且,由于不同应用场景下对应的删失参数的取值不同,使得本申请训练完成的预测模型可以实现对不同应用场景下订单出餐时间的准确预测,有利于提升预测模型的适用范围。
[0086] 除此之外,本申请一个可能的实施方式中,删失样本订单与非删失样本订单中包括商家信息,S220提供的基于删失样本订单及对应的参考取餐时间、非删失样本订单及对应的参考出餐时间、以及损失函数对初始神经网络模型进行训练,可以通过如下方式得到:
[0087] B1,获取商家信息的关联信息;
[0088] B2,根据删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、关联信息及损失函数对初始神经网络模型进行训练。
[0089] 其中,商家信息如:商家名称、商家编号、商家地址等,根据这些商家信息获取其关联信息,关联信息如:当前时间对应的商家的堂食信息、该商家的竞争对手信息等。结合这些商家信息的关联信息与删失样本订单、非删失样本订单进行模型训练,模型训练过程中考虑了更多出餐时间的影响因素,因此,有利于提升模型对出餐时间的预测结果的准确性。
[0090] 获取商家信息的堂食信息及竞争对手信息,当商家的堂食数量较多时,会导致商家出餐时间较长。竞争对手信息如:竞争对手交易量信息,当商家的竞争对手交易量较大时,会导致商家出餐时间缩短以提高自家的交易量,因此,这些因素都会影响到商家的出餐时间,因此,本申请将这些影响因素加入到模型训练过程中,有利于提升模型预测结果的准确性。
[0091] 在一种可能的实施方式中,将该商家的堂食信息及竞争对手信息分别进行量化获得相对应的特征数据,并分别为每一特征数据进行权重赋予,基于商家的堂食信息、竞争对手信息、订单信息中的每一种信息对应的特征数据确定样本订单的特征数据,基于该特征数据进行模型训练。
[0092] 除此之外,还可以获取删失样本订单及非删失样本订单中的骑手信息、时间信息等,结合这些信息进行模型训练,以提升模型的预测结果的准确性。
[0093] 预测模型输出的出餐时间可以为具体时间点,也可以为时间区间,在本申请一个可能实施方式中,出餐时间为时间区间,得到待预测订单的出餐时间,可以通过如下方式得到:
[0094] 基于预测模型输出的待预测订单对应的出餐时长的均值和方差,确定待预测订单的出餐时间的时间区间。
[0095] 预测模型输出待预测订单的出餐时长的均值和方差,根据出餐时长的均值和方差,可以得到待预测订单对应的出餐时间的时间区间。也就是说,模型输出的是待预测订单的出餐时间的概率分布。
[0096] 根据该概率分布,可以进一步得到预设分位数与出餐时长之间的关系,并进行预先存储,可以通过表格的形式进行存储,以便根据当前分位数,查表确定对应的出餐时长。如:备餐时长超过10分钟的概率是25%(该概率为预设分位数),备餐时长超过20分钟的概率是50%等。由于出餐时长符合正态分布,因此,分数位为0.25对应的出餐时长小于分数位为0.5对应的出餐时长。
[0097] 根据分位数调取对应的出餐时长之后,可以结合待预测订单的下单时间及出餐时长得到待预测订单的出餐时间。
[0098] 系统还可以为不同应用场景设置不同的分位数,如可以在智能压单场景中,即服务器将接收到的订单先留滞一段时间,而不是立即显示在客户端,可以为该种应用场景设置较大的分数位,如:0.5,即50%的情况下能够实现出餐,根据预先设置的关联关系,如:表格确定该种分数位对应的出餐时长,进而得到该种情况下的出餐时间。这种情况下,显示在骑手客户端的出餐时长会较长,避免骑手过早到店等候,减少骑手商家矛盾。
[0099] 另一种应用场景中,如:指导骑手取餐的场景下,可以设置较小的分数位,如:0.25,即25%的情况下能够实现出餐,根据预先存储的关联关系确定这种分数位对应的出餐时长。为该种应用场景设置较小的分数位,以引导位置较远的骑手在合适的时间去取餐,以准时完成订单。
[0100] 本申请实施例提供的方案,根据删失样本订单及非删失样本订单训练得到的预测模型,预测模型的输出为均值及方差,即输出的是出餐时间的时间范围分布,以便平台方可以在该时间范围内选择合适的出餐时间反馈到客户端,为不同的场景提供高效的数据支撑,如可以根据不同的场景反馈不同的出餐时间,有利于提升预测模型的适用场景及利用率。而且,与针对不同应用场景分别构建对应的模型的方案相比,本申请训练的预测模型可以适用于多种应用场景,降低了针对多个应用场景的模型的工程开发难度。
[0101] 在本申请另一个可能的实施方式中,得到待预测订单的出餐时间之后,还可以通过如下方式将出餐时间返回至客户端,包括:
[0102] C1,获取客户端身份信息,客户端身份信息包括骑手客户端、商家客户端及订餐客户端中的至少一个;
[0103] C2,基于客户端身份信息对待预测订单的出餐时间进行调整,获得调整后的出餐时间,并将调整后的出餐时间返回至相应的客户端。
[0104] 本申请的客户端包括订餐客户端、骑手客户端、商家客户端,在服务器得到待预测订单的出餐时间之后,获取各客户端的身份信息,根据不同的客户端身份信息对得到的出餐时间进行调整,向不同身份信息的客户端反馈不同的出餐时间。如:服务器根据预测模型得到的出餐时间为20分钟,为了减少订餐用户、骑手与商家之间的矛盾,可以向骑手反馈出餐时间为25分钟,以避免骑手过早到店等候,可以向订餐用户反馈出餐时间为30分钟,以便给骑手更加充裕的送餐时间。
[0105] 本申请实施例提供的方案,根据客户端身份信息对出餐时间进行调整,实现订单出餐时间的智能调整,提升外卖平台上各方的使用体验。
[0106] 除此之外,本申请一个可能的实施例还提供了一种订单出餐时间预测方法,该方法为预测模型的训练方法,其流程图如图5所示,可以包括如下步骤:
[0107] S510,获取订单的训练数据集以及初始神经网络模型,其中,训练数据集包括删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间;
[0108] S520,将各删失样本订单及非删失样本订单分别对应的特征数据输入至初始神经网络模型,得到每个删失样本订单及非删失样本订单分别对应的预测出餐时间;
[0109] S530,将非删失样本订单对应的预测出餐时间与第二参考出餐时间,及删失样本订单对应的预测出餐时间与第一参考取餐时间输入至损失函数,得到非删失样本订单及删失样本订单对应的损失函数的值;
[0110] S540,基于损失函数的值对神经网络模型进行训练,直至神经网络模型对应的损失函数收敛,将损失函数收敛时的神经网络模型作为预测模型,以基于预测模型对待预测订单进行出餐时间的预测。
[0111] 本申请实施例提供了一种预测模型的训练方法,利用该种训练方法得到的预测模型能够用于订单出餐时间的准确预测。基于样本订单中的删失样本订单及非删失样本订单进行模型训练,使得预测模型能够用于对待预测订单进行准确的出餐时间预测。
[0112] 训练过程中,针对删失样本订单及非删失样本订单分别进行神经网络模型预测,得到删失样本订单对应的预测出餐时间以及非删失样本订单对应的预测出餐时间;将删失样本订单对应的预测出餐时间与第一参考取餐时间输入至预设的损失函数,得到删失样本订单对应的损失函数的值;将非删失样本订单对应的预测出餐时间与第二参考出餐时间输入至预设的损失函数,得到非删失样本订单对应的损失函数的值。利用删失样本订单对应的损失函数的值以及非删失样本订单对应的损失函数的值进行神经网络模型的迭代训练,使得迭代训练后的神经网络模型对应的损失函数收敛。
[0113] 本申请实施例提供的订单出餐时间预测方案,利用了两种样本订单进行模型训练,实现对删失样本订单的有效利用;利用删失样本订单对应的损失函数的值以及非删失样本订单对应的损失函数的值进行模型训练,在模型训练完成时,删失样本订单对应的损失函数收敛且非删失样本订单对应的损失函数也收敛,训练完成的预测模型能够实现对任一待预测订单的出餐时间的准确预测。
[0114] 另外,本申请实施例提供的订单出餐时间预测方法,与直接将删失样本的参考取餐时间用作参考出餐时间进行模型训练的方式相比,本申请通过采用针对删失样本订单制定的左删失损失函数来进行模型收敛计算,该损失函数考虑了删失样本订单的特点,并针对删失样本中不同的场景制定不同的删失参数,也就是说,删失样本订单对应的损失函数与非删失样本订单对应的损失函数会由于删失函数的存在,而有所不同,与采用相同的损失函数来处理删失样本订单与非删失样本订单的方案相比,本申请针对不同的样本订单,采用不同的损失函数使得训练完成的预测模型对订单的出餐时间的预测更加准确。
[0115] 在本申请一个可能的实施方式中,损失函数为带左删失的连续概率分层打分目标函数。
[0116] 本申请的备餐完成发生在取餐时间之前,在删失样本订单中对应的关联信息中包含真实取餐时间,但未包含真实出餐时间,出餐时间发生在取餐时间之前,因此,删失样本订单对应的是左删失事件,删失样本订单为左删失样本订单,针对该种左删失样本,本申请将损失函数设计为适用于该类左删失样本的带左删失的连续概率分层打分目标函数(CRPS)。
[0117] 概率预测,是针对未来每种可能的情形指定一个概率。但并非所有概率预测值都具有同等准确度,因此就需要利用度量指标来评估不同概率预测的相应准确度。连续概率分层打分,针对概率预测情形对平均绝对误差进行了广义化,使得损失函数是针对不同出餐时长的概率分布。连续概率分层打分可以与后验分析过程相结合,通过对同一数据集进行多次测量的方式,以使预测结果准确度保持稳定。
[0118] 基于与本申请实施例所提供的方法相同的原理,本申请实施例还提供了一种订单出餐时间预测装置60,该装置可以实现服务器执行的订单出餐时间预测方案,如图6所示,该装置可以包括:订单获取模块610、出餐时间确定模块620,其中:
[0119] 订单获取模块610,用于获取待预测订单的订单信息;
[0120] 出餐时间确定模块620,用于将订单信息对应的特征数据输入预测模型,得到待预测订单的出餐时间;
[0121] 其中,预测模型是根据模型训练模块训练得到的,模型训练模块用于:
[0122] 获取订单对应的训练样本集及初始神经网络模型,训练样本集包括:删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间;非删失样本订单的关联信息中包含真实出餐时间;
[0123] 基于删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、以及损失函数对所述初始神经网络模型进行训练,直至损失函数收敛,损失函数收敛时对应的神经网络模型为预测模型。
[0124] 本申请提供的订单出餐时间预测装置,利用删失样本订单与非删失样本订单进行模型训练,与将删失样本订单进行丢弃的方式相比,本申请提升了对删失样本订单的利用率。
[0125] 本申请的一个实施例中,模型训练模块,具体用于:
[0126] 将删失样本订单及非删失样本订单对应的特征数据输入至初始神经网络模型,得到各删失样本订单对应的预测出餐时间及各非删失样本订单对应的预测出餐时间;
[0127] 将第一参考取餐时间与删失样本订单对应的预测出餐时间、及第二参考出餐时间与非删失样本订单对应的预测出餐时间输入至损失函数,得到损失函数的值;
[0128] 基于损失函数的值对神经网络模型进行迭代训练。
[0129] 本申请的一个实施例中,损失函数中包括删失参数,损失函数包括:包含所述删失参数的函数项及不包含所述删失参数的函数项,模型训练模块,还用于:
[0130] 基于包含删失参数的函数项确定删失样本订单对应的损失函数的值;
[0131] 基于不包含删失参数的函数项确定非删失样本订单对应的损失函数的值。
[0132] 本申请的一个实施例中,针对删失样本订单,订单出餐时间预测装置60,还包括删失参数取值模块,删失参数取值模块用于:
[0133] 获取删失样本订单的应用场景信息,根据应用场景信息调取与应用场景信息关联的删失参数的取值。
[0134] 本申请的一个实施例中,删失样本订单及非删失样本订单中包括商家信息,模型训练模块,具体用于:
[0135] 获取商家信息的关联信息;
[0136] 根据删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间、关联信息以及损失函数对初始神经网络模型进行训练。
[0137] 本申请的一个实施例中,出餐时间为时间区间时,出餐时间确定模块620,具体用于:
[0138] 基于预测模型输出的待预测订单对应的出餐时长的均值和方差,确定待预测订单的出餐时间的时间区间。
[0139] 本申请的一个实施例中,订单出餐时间预测装置60,还包括调整模块,调整模块用于:
[0140] 获取客户端身份信息;所述客户端身份信息包括:骑手客户端、商家客户端及订餐客户端中的至少一个;
[0141] 基于客户端身份信息对待预测订单的出餐时间进行调整,获得调整后的出餐时间,并将调整后的出餐时间返回至相应的客户端。
[0142] 基于与本申请实施例所提供的方法相同的原理,本申请实施例还提供了一种订单出餐时间预测装置,该订单出餐时间预测装置用于对预测模型的训练,包括:
[0143] 获取订单的训练数据集以及初始神经网络模型,其中,训练数据集包括删失样本订单及第一参考取餐时间、非删失样本订单及第二参考出餐时间;
[0144] 将各删失样本订单及非删失样本订单分别对应的特征数据输入至初始神经网络模型,得到每个删失样本订单及非删失样本订单分别对应的预测出餐时间;
[0145] 将非删失样本订单对应的预测出餐时间与第二参考出餐时间,及删失样本订单对应的预测出餐时间与第一参考取餐时间输入至损失函数,得到非删失样本订单及删失样本订单对应的损失函数的值;
[0146] 基于所述损失函数的值对神经网络模型进行训练,直至神经网络模型对应的损失函数收敛,将损失函数收敛时的神经网络模型作为预测模型,以基于预测模型对待预测订单进行出餐时间的预测。
[0147] 本申请的一个实施例中,订单出餐时间预测装置中的损失函数为带左删失的连续概率分层打分目标函数。
[0148] 基于与本申请的实施例中所示的方法相同的原理,本申请实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;至少一个计算机程序,存储于存储器中,存储器,用于存储计算机程序;处理器,用于通过调用计算机程序执行本申请任一实施例所示的订单出餐时间预测方法。本申请提供的订单出餐时间预测方法,利用删失样本订单与非删失样本订单进行模型训练,与将删失样本订单进行丢弃的方式相比,本申请提升了对删失样本订单的利用率。
[0149] 在本申请一个实施例中提供了一种电子设备,如图7所示,图7所示的电子设备4000可以为服务器,包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。在本申请的一个实施例中,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
[0150] 处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application Specific Integrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
[0151] 总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0152] 存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)、CD‑ROM(Compact Disc Read Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0153] 存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
[0154] 其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
[0155] 本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
[0156] 应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0157] 以上描述仅为本申请的部分实施例,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。