CN111563639A - 一种订单分配的方法和系统 - Google Patents
一种订单分配的方法和系统 Download PDFInfo
- Publication number
- CN111563639A CN111563639A CN201910114924.7A CN201910114924A CN111563639A CN 111563639 A CN111563639 A CN 111563639A CN 201910114924 A CN201910114924 A CN 201910114924A CN 111563639 A CN111563639 A CN 111563639A
- Authority
- CN
- China
- Prior art keywords
- destination
- origin
- trip
- determining
- arrival
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000009826 distribution Methods 0.000 title description 2
- 238000010801 machine learning Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims description 62
- 238000003860 storage Methods 0.000 claims description 43
- 238000012549 training Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 18
- 238000003066 decision tree Methods 0.000 claims description 7
- 238000000354 decomposition reaction Methods 0.000 claims description 7
- 238000007477 logistic regression Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 41
- 230000015654 memory Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000003190 augmentative effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/024—Guidance services
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096805—Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
- G08G1/096827—Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed onboard
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/20—Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles
- G08G1/202—Dispatching vehicles on the basis of a location, e.g. taxi dispatching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Signal Processing (AREA)
- Educational Administration (AREA)
- Automation & Control Theory (AREA)
- Primary Health Care (AREA)
- Navigation (AREA)
Abstract
本申请实施例公开了一种用于确定行程中的预估到达时间的方法和系统,所述方法包括获取所述行程的起点、目的地、时间信息和司机信息。所述方法包括获取训练后的机器学习模型。所述方法包括基于所述训练后的机器学习模型、所述起点、所述目的地,确定所述行程的预估到达时间,其中,所述行程的所述预估到达时间独立于所述起点和所述目的地之间的路线。
Description
技术领域
本申请涉及数字导航领域,具体地,涉及用于确定数字导航中的预估到达时间的系统和方法。
背景技术
基于地图的数字导航已变得越来越流行。当前基于地图的导航通常需要根据行程的起点到目的地之间的路线等多个因素来确定行程的预估到达时间。然而,预估到达时间的确定需要大量的计算,并且如果考虑行程起点到目的地之间的路线会非常耗时。因此,需要提供一种用于更有效地确定行程中的预估到达时间的系统或方法。
发明内容
本发明实施例之一提供一种用于确定行程中的预估到达时间的方法。该方法可以在具有至少一个处理器和至少一个计算机可读存储介质的计算设备上实现。所述方法包括:获取所述行程的起点、目的地、时间信息和司机信息;获取训练后的机器学习模型;以及基于所述训练后的机器学习模型、所述起点、所述目的地,确定所述行程的预估到达时间,其中,所述行程的所述预估到达时间独立于所述起点和所述目的地之间的路线。
本发明实施例之一提供一种用于确定行程中的预估到达时间的系统。该系统可以包括至少一个包括一组指令的存储介质;与与所述至少一个存储介质通信的至少一个处理器,其中,当执行所述指令时,所述至少一个处理器用于:获取所述行程的起点、目的地、时间信息和司机信息;获取训练后的机器学习模型;以及基于所述训练后的机器学习模型、所述起点、所述目的地,确定所述行程的预估到达时间,其中,所述行程的所述预估到达时间独立于所述起点和所述目的地之间的路线。
本发明实施例之一提供一种非暂时性计算机可读介质。该非暂时性计算机可读介质可以包括用于确定行程中的估计到达时间(ETA)的至少一组指令,其中,当执行所述指令时,所述至少一个处理器用于:获取所述行程的起点、目的地、时间信息和司机信息;获取训练后的机器学习模型;以及基于所述训练后的机器学习模型、所述起点、所述目的地,确定所述行程的预估到达时间,其中,所述行程的所述预估到达时间独立于所述起点和所述目的地之间的路线。
在一些实施例中,基于所述训练后的机器学习模型、所述起点、所述目的地、所述时间信息和所述行程的司机信息来确定所述行程的预估到达时间,包括:基于所述起点、所述目的地、所述时间信息和所述司机信息中的至少一个,确定所述行程的至少一个特征;以及基于所述训练后的机器学习模型和确定的所述行程的特征,确定所述行程的所述预估到达时间。
在一些实施例中,基于所述起点、所述目的地、所述时间信息和所述司机信息中的至少一个,确定所述的至少一个所述行程的特征,包括:基于行程的起点和目的地,确定所述起点的经度、所述起点的纬度、所述目的地的经度、所述目的地的纬度、所述起点的链路ID、所述目的地的链路ID以及所述起点与所述目的地之间的球面距离。
在一些实施例中,基于所述起点、所述目的地、所述时间信息、所述司机信息中的至少一个,确定所述行程的至少一个所述的特征,包括:基于所述行程的所述时间信息,确定所述行程日期和行程时间。
在一些实施例中,基于所述起点、所述目的地、所述时间信息和所述司机信息中的至少一个来确定至少一个所述行程的特征,包括:基于所述行程的司机信息,确定司机ID。
在一些实施例中,基于所述行程的所述起点和所述目的地,确定所述起点的所述经度、所述起点的所述纬度、所述目的地的所述经度和所述目的地的所述纬度包括:
将包含所述起点和所述目的地的地图上的每条经度线和纬度线划分为多个格子;用整数对每个格子进行编码;以及基于所述编码的格子和所述行程的所述起点和所述目的地,确定所述起点的所述经度、所述起点的所述纬度、所述目的地的所述经度和所述目的地的所述纬度。
在一些实施例中,基于有关所述行程的所述起点和所述目的地,确定所述起点的所述链路ID和所述目的地的所述链路ID,包括:确定地图上的链路,所述地图包括所述起点和所述目的地;使用ID编码每个所述链路;以及基于所述行程的所述起点、所述行程的所述目的地和每个链路的链路ID,确定所述起点的链路ID和所述目的地的链路ID。
在一些实施例中,基于所述行程时间信息,确定所述行程时间包括:将一天划分为多个时间段;以及基于所述行程的多个持续时间和所述行程时间信息,确定所述行程时间。
在一些实施例中,所述至少一个特征包括离散特征和连续特征。
在一些实施例中,还包括:使用嵌入技术处理所述离散特征;以及基于与所述连续特征相关的平均值和标准差,处理所述连续特征。
在一些实施例中,所述训练后的机器学习模型选自所述由多层感知器(MLP)模型、梯度增强决策树(GBDT)模型、极端梯度增强(XGB)模型、逻辑回归模型和分解机器(FM)模型组成的组。
在一些实施例中,所述训练后的机器学习模型是使用模型训练方法训练的,所述模型训练方法包括:获得机器学习模型和训练数据集;以及基于所述训练数据集和损失函数,获得所述机器学习模型。
本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的符号表示相同的部件,其中:
图1是根据本申请的一些实施例所示的示例性预估到达时间确定系统的示意图;
图2是根据本申请的一些实施例所示的计算设备的示例性组件的示意图;
图3是根据本申请的一些实施例所示的示例性用户终端的示例性硬件和/或软件组件的示意图;
图4是根据本申请的一些实施例所示的示例性处理设备的框图;
图5是根据本申请的一些实施例所示的示例性处理模块的框图;
图6是根据本申请的一些实施例所示的用于确定行程的预估到达时间的示例性过程的流程图。
图7是根据本申请的一些实施例所示的用于确定行程的至少一个特征的示例性过程的流程图;
图8是根据本申请的一些实施例所示的确定行程的预估到达时间的示意图;以及
图9是根据本申请的一些实施例所示的MLP900的示例性结构。
具体实施方式
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包含”,“包括”和/或“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
虽然本申请对根据本申请的实施例的系统中的某些模块做出了各种引用,然而,任何数量的不同模块可以被使用并运行在客户端和/或服务器上。这些模块旨在说明,而不是为了限制本申请的范围。可以在系统和方法的不同方面使用不同的模块。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或以上操作。
以下所述的附图描述了本申请的实施例的技术方案。显然,所描述的实施例不是穷举的并且不是限制性的。基于本申请中的第四实施例,本领域普通技术人员在没有任何创造性工作的情况下获得的其他实施例在本申请的范围内。
本申请的一些实施例提供一种用于确定行程的预估到达时间的系统和方法。系统可以获得行程的起点,目的地,时间信息和司机信息。该系统可以获得训练后的机器学习模型。系统可以基于训练后的机器学习模型和行程的起点、目的地、时间信息和司机信息来确定行程的预估到达时间。预估到达时间指的是车辆上的用户到达他/她行程的目的地的时间点。行程的预估到达时间可以独立于起点和目的地之间的路线。
本申请的一些实施例提供一种用于按需服务的实时或在线确定预估到达时间的功能,该按需服务是仅在后互联网时代新出现的服务或需求。该按需服务为服务请求者提供技术解决方案,这些解决方案只能在后互联网时代兴起。在互联网时代之前,如果不考虑行程的起点和目的地之间的路线,就不可能确定行程的预估到达时间。因此,本解决方案深深植根于并且旨在解决在后互联网时代的问题。
图1是根据本申请的一些实施例所示的预估到达时间确定系统的示例性示意图。预估到达时间确定系统100可以是用于提供行程相关服务的在线服务平台。预估到达时间确定系统100可以包括服务器110、网络120、用户终端130、司机终端140和存储设备150。在一些实施例中,预估到达时间确定系统100还可包括定位设备160(图1中未示出)。
预估到达时间确定系统100可以适用于多个服务。示例性服务可以包括行程计划服务、导航服务、按需服务(例如,出租车服务、司机服务、快车服务、拼车服务、公共汽车服务或司机租用服务)等,或其组合。
服务器110可以处理来自预估到达时间确定系统100的至少一个组件或外部数据源(例如,云数据中心)的数据和/或信息。服务器110可以与用户终端130和/或司机终端140通信以提供在线服务的各种功能,例如,从行程中的起点到目的地的预估到达时间。在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。服务器组可以是经由接入点连接到网络120的集中式服务器组,或者经由至少一个接入点分别连接到网络120的分布式服务器组。在一些实施例中,服务器110可以本地连接到网络120或者与网络120远程连接。例如,服务器110可以经由网络120访问存储在用户终端130、司机终端140和/或存储设备150中的信息和/或数据。又例如,存储设备150可以用作服务器110的后端数据存储器。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,服务器110可以在如本申请中的图2描述的包含了至少一个组件的计算设备200上执行在一些实施例中,服务器110可以包括处理设备112。处理设备112可以处理与本申请中描述的至少一个功能相关的信息和/或数据。在一些实施例中,处理设备112可以执行预估到达时间确定系统100的主要功能。在一些实施例中,处理设备112可以处理行程相关信息以估计车辆上的司机或乘客到达某个地方的时间。在一些实施例中,处理设备112可以执行与本申请中描述的方法和系统相关的其他功能。
在一些实施例中,处理设备112可包括至少一个处理单元(例如,单核处理设备或多核处理设备)。仅作为示例,处理设备112包括中央处理单元(CPU)、专用集成电路(ASIC)、专用应用指令集处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可程序门阵列(FPGA)、可程序逻辑设备(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等,或其任意组合。
网络120可以促进信息和/或数据的交换。在一些实施例中,预估到达时间确定系统100中的至少一个组件(例如,服务器110、用户终端130、司机终端140、存储设备150)可以经由网络120将信息和/或数据发送到预估到达时间确定系统100中的其他组件。例如,处理设备112可以经由网络120从存储设备150获得机器学习模型。又例如,处理设备112可以经由网络120将用于使用机器学习模型确定的行程的预估到达时间发送到用户终端130。在一些实施例中,网络120可以为任意形式的有线或无线网络,或其任意组合。仅作为示例,网络120可以包括缆线网络、有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共开关电话网络(PSTN)、蓝牙网络、ZigBee网络、近场通讯(NFC)网络等或其任意组合。在一些实施例中,网络120可以包括至少一个网络接入点。例如,网络120可以包括有线或无线网络接入点,如基站和/或互联网交换点120-1、120-2、……,通过O2O服务系统100的至少一个部件可以连接到网络120以交换数据和/或信息。
用户终端130和/或司机终端140可以经由网络120与服务器110通信。在一些实施例中,乘客可以是用户终端130的所有者。在一些实施例中,用户终端130的所有者可以是除乘客之外的其他人。例如,用户终端130的所有者A可以使用用户终端130来发送针对乘客B的服务请求,和/或从服务器110接收服务确认和/或信息或指令。在一些实施例中,司机可以是司机终端140的用户。在一些实施例中,司机终端140的用户可以是除司机之外的其他人。例如,司机终端140的用户C可以使用司机终端140来接收对司机D的服务请求,和/或来自服务器110的信息或指令。在一些实施例中,可以指定司机使用至少一个司机终端140至少一段时间。*
例如,当司机可以提供按需服务时,可以指派他/她使用司机终端,以接收最早请求和推荐执行按需服务类型的车辆。在一些实施例中,“乘客”和“终端设备”可以互换使用,“司机”和“司机终端”可以互换使用。在一些实施例中,司机终端140可以与至少一个驾驶员(例如,夜班司机、白班司机或通过随机换档的司机池)相关。
乘客可以通过用户终端130接收行程的服务响应。在一些实施例中,用户终端130可以经由网络120从处理设备112获得行程的预估到达时间。用户终端130可以包括移动设备130-1、平板计算机130-2、膝上型计算机130-3、车辆130-4中的内置设备等,或其任何组合。在一些实施例中,移动设备130-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,该可穿戴设备可包括智能手环、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣服、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实补丁、增强现实头盔、增强现实眼镜、增强现实补丁等或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括GoogleGlassTM、OculusRiftTM、HololensTM或GearVRTM等。在一些实施例中,车辆130-4中的内置设备可以包括内置计算机、车辆内置电视、内置平板电脑等。在一些实施例中,用户终端130可以包括信号发送器和被配置的信号接收器,用于与定位设备170通信以定位乘客和/或用户终端130的位置,并确定从他/她的位置到道路的相对距离。
司机可以通过司机终端140接收服务请求。司机终端140可以经由网络120从处理设备112获得行程的预估到达时间。司机终端140可包括多个司机终端140-1、140-2、......、140-n。在一些实施例中,司机终端140可以与用户终端130类似或相同。在一些实施例中,可以定制司机终端140以基于从处理设备112获得的行程相关信息来实现在线服务。
存储设备150可以储存数据和/或指令。数据可以包括地理位置信息、时间信息、司机信息和/或外部环境。仅用于说明目的,与地理位置信息相关的数据可以包括起点、目的地、起点的经度、起点的纬度、目的地的经度、目的地的纬度、起点的链路ID、目的地的链路ID,以及起点和目的地之间的球面距离等。与时间信息有关的数据可以包括行程日期和行程时间。与司机信息相关的数据可以包括司机ID。在一些实施例中,存储设备150可以存储从用户终端130和/或司机终端140获得的数据。例如,存储设备150可以存储与用户终端130相关的日志。
在一些实施例中,存储设备150可以存储处理设备112可以执行的数据和/或指令,以确定如本申请中所描述的用于行程的预估到达时间。在一些实施例中,存储设备150可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取存储器(RAM)。示例性RAM可包括动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、静态随机存取存储器(SRAM)、晶闸管随机存取存储器(T-RAM)和零电容随机存取存储器(Z-RAM)等。示例性只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(PEROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,所述存储设备150可在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,预估到达时间确定系统100中的至少一个组件可以经由网络120访问存储在存储设备150中的数据或指令。在一些实施例中,存储设备150可以作为后端存储器直接连接到服务器110。
定位设备170可以确定与对象相关的信息,例如,至少一个用户终端130、司机终端140等。例如,定位设备170可以确定用户终端130的当前位置。在一些实施例中,定位设备170可以是全球定位系统(GPS)、全球导航卫星系统(GLONASS)、罗盘导航系统(COMPASS)、北斗导航卫星系统、伽利略定位系统、准天顶卫星系统(QZSS)等。由定位设备170提供的信息可以包括对象的位置、高度、速度或加速度,和/或当前时间。该位置可以是坐标的形式,例如,纬度坐标和经度坐标等。定位设备170可以包括至少一个卫星或与之相关。卫星可以独立地或联合地确定上述信息。定位设备170可以经由网络120将上述信息发送到用户终端130或者司机终端140。
本领域普通技术人员将理解,当预估到达时间确定系统100的元件执行时,该元件可以通过电信号和/或电磁信号执行。例如,当用户终端130处理任务时,例如计划从一个地方到另一个地方的行程,用户终端130可以在其处理器中操作逻辑电路以处理这样的任务。当用户终端130向服务器110发出指令时,用户终端130的处理器可以生成编码该指令的电信号。然后,用户终端130的处理器可以将电信号发送到输出端口。若用户终端130经由有线网络与服务器110通信,则输出端口可物理连接至电缆,其进一步将电信号传输给服务器110的输入端口。如果用户终端130经由无线网络与服务器110通信,用户终端130的输出端口可以是至少一个天线,其将电信号转换为电磁信号。类似地,司机终端140可以通过其处理器中的逻辑电路的操作来处理任务,并且经由电信号或电磁信号从服务器110接收指令和/或信息。在电子设备内,例如用户终端130、司机终端140和/或服务器110,当处理器处理指令,发出指令和/或执行动作时,指令和/或动作通过电信号进行。例如,当处理器从存储介质(例如,存储设备150)检索数据(例如,道路网络)时,它可以将电信号发送到存储介质的读取设备,该读取设备可以读取存储介质中的结构化数据。该结构数据可以通过电子设备的总线,以电信号的形式传输至处理器。此处,电信号可以指一个电信号、一系列电信号和/或多个不连续的电信号。
图2是根据本申请的一些实施例所示的计算设备的示例性组件的示意图。根据本申请的一些实施例,服务器110、存储设备120、信息提供器130和/或通信平台140可以在计算设备200上实现。本实施例中的特定系统利用功能框图描述了一个包含至少一个用户界面的硬件平台。这种计算机可以是一个通用目的的计算机,也可以是一个有特定目的的计算机。根据本申请的一些实施例,两种类型的计算机可以被配置为实现任何特定系统。计算设备200可以被配置用于实现执行本申请中披露的至少一个功能的任何组件。例如,计算设备200可以实现如本申请所述的预估到达时间确定系统100的任何组件。在图1-2中,仅出于方便的目的仅示出了一个这样的计算机设备。在本申请中,本领域普通技术人员可以理解,可以在多个类似平台上以分布式方式实现与本申请描述的服务有关的计算机功能,以分配处理负荷。
计算仪器200可以包括与网络相连接通信端口250,以实现数据通信。计算设备200还可以包括处理器(例如,处理器220),其形式为至少一个处理器(例如,逻辑电路),用于执行程序指令。例如,处理器可以包括接口电路和其中的处理电路。接口电路可以被配置为从总线210接收电信号,其中电信号编码用于处理电路的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以经由总线210从处理电路发出电信号。
示例性计算设备可以包括内部通信总线210,程序存储和不同形式的数据存储,包括例如盘270、和只读存储器(ROM)230,或随机存取存储器(RAM)240,用于由计算设备处理和/或发送的各种数据文件。示例性计算设备还可以包括存储在ROM230、RAM240和/或由处理器220执行的其他类型的非暂时性存储介质中的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算仪器200还包括I/O组件260,支持计算机和其他组件之间的输入/输出。计算设备200还可以经由网络通信接收编程和数据。
仅用于说明,图2中仅示出了一个处理器和/或处理器。也可以为多个CPUs和/或处理器;因此本发明中所描述的由一个CPU和/或处理器执行的操作和/或方法步骤也可以由多个CPU和/或处理器共同地或独立地执行。例如,如果在本申请中,计算设备200的CPU和/或处理器执行操作A和操作B,应当理解,操作A和操作B也可以由计算设备200中的两个不同的CPU和/或处理器联合或分开执行(例如,第一处理器执行操作A,第二处理器执行操作B,或者第一和第二处理器共同执行操作A和B)。
图3是根据本申请的一些实施例所示的示例性请求者终端的示例性硬件和/或软件组件的框图。根据本申请的一些实施例,信息提供者130或通信平台140可以在移动设备300上实现。如图3所示,移动设备300可以包括通信模块310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、I/O 350、内存360和存储器390。CPU 340可以包括接口电路和类似于处理器220的处理电路。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。在一些实施例中,移动操作系统370(例如,iOSTM、AndroidTM、Windows PhoneTM等)和至少一个应用程序380可以从存储器390加载到存储器360中,以便由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从移动设备300上的预估到达时间确定系统100接收和呈现与服务请求或其他信息有关的信息。用户与信息流的交互可以通过I/O设备350实现,并通过网络150提供给处理设备112和/或预估到达时间确定系统100的其他组件。
为了实现上述各种模块、单元及其功能,计算机硬件平台可以用作至少一个元件的硬件平台(例如,图1中描述的服务器110的组件)。由于这些硬件元素,操作系统和程序语言很常见,本领域技术人员可以很熟悉这些技术,并且可以根据本申请中描述的技术提供数据分类中所需的信息。具有用户界面的计算机可以用作个人计算机(PC)或其他类型的工作站或终端设备。在正确编程之后,具有用户界面的计算机可以用作服务器。可以认为本领域普通技术人员也可以熟悉这种类型的计算机设备的这种结构、程序或一般操作。因此,没有针对附图描述另外的解释。
图4是根据本申请的一些实施例所示的示例性处理设备的示意图。处理设备112可以包括获取模块410、处理模块420、I/O模块430和通信模块440。模块可以是处理设备112的至少一部分的硬件电路。这些模块也可以作为一个应用程序或一组由处理设备112读取或执行的指令实现。此外,模块可以是硬件电路和应用/指令的任何组合。例如,当处理设备112正在执行应用程序/指令集时,模块可以是处理设备112的一部分。
获取模块410可以从预估到达时间确定系统100中的至少一个组件(例如,用户终端130、司机终端140、存储设备150等)获取数据。在一些实施例中,所获取的数据可以涉及行程。仅举例来说,获取的数据可以是包括地理位置信息、时间信息、司机信息、服务请求、机器学习模型、用户指令、程序、算法等,或其任意组合。仅出于说明目的,与地理位置信息相关的数据可包括起点和目的地。与时间信息有关的数据可以包括行程日期和行程时间。与司机信息相关的数据可以包括司机ID。例如,获取模块410可以经由用户终端130从请求者获取诸如当前请求位置、目标地的数据。下面将给出这种数据的使用的详细说明。
处理模块420可以处理与预估到达时间确定有关的数据。处理模块420可以从获取模块410,I/O模块430和/或能够存储数据的任何存储设备(例如,存储设备130或外部数据源)获得或接收数据和/或信息。在一些实施例中,处理模块420可以获得行程相关信息,包括地理位置信息、时间信息和/或与行程相关的司机信息,并基于行程相关信息确定行程的预估到达时间。
处理模块420可包括硬件处理器,例如微控制器、微处理器、精简指令集计算机(RISC)、专用集成电路(ASIC)、专用应用程序的指令集处理器(ASIP)、中央处理单元(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高级RISC机器(ARM)、可编程逻辑器件(PLD),能够执行至少一个功能的任何电路或处理器等,或其任何组合。
I/O模块430可以输入或输出信号、数据或信息。例如,I/O模块430可以向用户(例如,乘客)输出预估到达时间。在一些实施例中,I/O模块430可以包括输入设备和输出设备。示例性输入设备可以包括键盘、鼠标、触摸屏和麦克风等,或其任意组合。示例性输出设备可以包括显示设备、扬声器、打印机、投影仪等,或其任意组合。示例性显示设备可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、曲面屏幕、电视设备、阴极射线管(CRT)等或其组合。
通信模块440可以连接到网络(例如,网络120)以促进数据通信。通信模块440可以在处理引擎112与用户终端130,司机终端140和/或存储设备150之间建立连接。例如,通信模块440可以将确定的行程预估到达时间发送到用户终端130和司机终端140。连接可以是有线连接、无线连接、可以启用数据传输和/或接收的任何其他通信连接,和/或这些连接的任何组合。有线连接可以包括例如电缆、光缆、电话线等,或其任何组合。有线连接可以包括例如电缆、光缆、电话线等或其任意组合。所述无线连接可以包括例如蓝牙连接、无线网连接、WiMax连接、WLAN连接、ZigBee连接、移动网络连接(例如,3G、4G、5G网络等)等或其任意组合。在一些实施例中,通信模块440可以是和/或包括标准化通信端口,例如RS232、RS485等。
应当注意以上对处理设备112的描述仅仅是为了说明的目的而提供的,并不意图限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。例如,处理设备112还可以包括促进数据存储的存储模块。然而,变化和修改不会背离本申请的范围。
图5是根据本申请的一些实施例所示的示例性处理模块的框图。处理设备112可以包括特征判断单元510、模型训练单元520和预估到达时间判断单元530。这些单元可以是处理设备112的至少一部分的硬件电路。这些单元也可以实现为由处理设备112读取和执行的应用程序或指令集。此外,这些单元可以是硬件电路和应用/指令的任何组合。例如,当处理设备112正在执行应用程序/指令集时,这些单元可以是处理设备112的一部分。
特征判断单元510可以基于行程的起点、目的地、时间信息和司机信息中的至少一个来确定行程的至少一个特征,并根据训练后的机器学习模型和确定的特征确定行程的预估到达时间。仅用于说明目的,特征判断单元510可以基于起点和目的地,确定包括起点的经度、起点的纬度、目的地的经度、目的地的纬度、起点的链路ID、目的地的链路ID,以及起点和目的地之间的球面距离。特征判断单元510还可以基于时间信息,确定包括行程日期特征和行程时间的特征。特征判断单元510还可以基于司机信息确定包括司机ID的特征。
模型训练单元520可以训练模型以确定行程的预估到达时间。模型可以是或包括机器学习模型。示例性机器学习模型可以包括多层感知器(MLP)模型、梯度增强决策树(GBDT)模型、极限梯度增强(XGB)模型、逻辑回归模型和分解机器(FM)模型等,或其任何组合。在一些实施例中,模型可以选自由多层感知器模型、梯度增强决策树模型组成的组、极端梯度增强模型、逻辑回归模型和分解机器模型。模型训练单元520可以利用至少一个用户的历史行程中与预估到达时间相关的训练数据集训练模型。在模型的训练过程期间,可以更新模型的至少一个参数(例如,权重、偏差、正则化项目、小批量大小等)。当满足预设条件时,训练过程(例如,迭代过程)可以终止。例如,当达到模型的损失函数(例如,平均绝对百分误差(MAPE)损失)收敛时(例如,损失小于等于0),训练过程可以终止。
预估到达时间判断单元530可以基于训练的模型、行程的起点、行程的目的地、行程时间信息和司机信息来确定行程的预估到达时间。在一些实施例中,预估到达时间判断单元530可以通过将所确定的特征输入到训练的模型中来确定行程的预估到达时间。在一些实施例中,在将特征输入到训练的模型之前,可以预处理至少一个特征(例如,生成具有预设维度的矢量)。在一些实施例中,所确定的特征可包括离散特征和连续特征。在本申请中,离散特征是指具有离散值的特征。例如,通过将包含起点和目的地的地图上的每条经线和纬度线分成多个格子,可以使起点的经度和纬度离散化。连续特征是指具有连续值的特征。例如,起点和目的地之间的球面距离可以是连续特征。在一些实施例中,预估到达时间判断单元530可以使用嵌入技术预处理离散特征。在一些实施例中,预估到达时间判断单元530可以基于与连续特征相关的平均值和标准偏差来预处理连续特征。
图6是根据本申请的一些实施例所示的用于确定行程的预估到达时间的示例性过程的流程图。在一些实施例中,图6中所示的过程600可以在图1中所示的预估到达时间确定系统100中实现。例如,过程600的至少一部分可以作为指令的形式存储在存储设备(例如,计算设备200的DISK270)中,并且由服务器110(例如,计算设备200的处理器220,图4中所示的至少一个模块,或图5中所示的至少一个单元)调用和/或执行。在一些实施例中,过程600的一部分可以在终端设备上实现。下面呈现的所示过程600的操作旨在说明性的。在一些实施例中,过程600在实施时可以添加至少一个本申请未描述的额外操作,和/或删减至少一个此处所描述的操作。另外,如图6所示和下面描述的过程600的操作的顺序不是限制性的。
在602中,可以获得行程的起点、目的地、时间信息和司机信息。在一些实施例中,可以通过获取模块410获得行程的起点、目的地、时间信息和司机信息。例如,获取模块410可以通过网络120从用户终端130获得起点、目的地和时间信息。又如例,获取模块410可以从存储设备(例如,存储设备150)或司机终端140获得司机信息。
行程的起点指的是行程的起始位置。在一些实施例中,起点可以是用户(例如,司机或车辆上的乘客)的当前位置。在一些实施例中,用户的当前位置可以由用户终端130或司机终端140使用定位设备170来确定。在一些实施例中,用户终端130或司机终端140可以是具有内置全球定位系统(GPS)模块的移动电话,并且用户的当前位置可以由内置GPS模块确定。行程的目的地是指行程的最终位置。在一些实施例中,可以基于数字地图确定行程的起点和/或目的地。例如,用户可以通过诸如在地图上输入、搜索和/或选择的操作来规划他/她从起点到目的地的行程。
时间信息是指用户从起点到目的地的出发时间。在一些实施例中,时间信息可以包括一天(例如,星期日、星期二等)和一天中的特定时间。司机信息是指行程中的交通工具的车辆的司机的信息。在一些实施例中,司机信息可可以包括司机ID。在一些实施例中,司机ID可以是一系列数字。在一些实施例中,司机ID可以是数字和字母的组合。在一些实施例中,司机ID可以与司机的注册信息和/或历史驾驶数据对应。
在604中,可以获得训练的模型。模型可以由例如模型训练单元520训练。在一些实施例中,用于确定行程的预估到达时间的模型可以是或包括机器学习模型。示例性机器学习模型可以包括多层感知器模型、梯度增强决策树模型、极限梯度增强模型、逻辑回归模型和分解机器模型等,或其任何组合。在一些实施例中,模型可以选自由多层感知器模型、梯度增强决策树模型、极端梯度增强模型、逻辑回归模型和分解机器模型组成的组。在一些实施例中,模型可以是MLP模型。
仅仅为了说明的目的,用于确定预估到达时间的模型可以使用至少一个用户的历史行程中与预估到达时间相关的训练数据集进行训练。在模型的训练过程期间,可以更新模型的至少一个参数(例如,权重、偏差、正则化项目、小批量大小等)。当满足预设条件时,训练过程(例如,迭代过程)可以终止。例如,训练过程可以在达到模型的损失函数(例如,平均绝对百分误差(MAPE)损失)的收敛时终止(例如,损失小于或等于0)。又例如,当执行一定数量或计数(例如,100、300等)的迭代时,训练过程可以终止。
在606中,可以基于训练的模型和行程的起点、目的地、时间信息和司机信息来确定行程的预估到达时间。在一些实施例中,预估到达时间可以由预估到达时间判断单元530确定。
在一些实施例中,特征判断单元510可以基于行程的起点、目的地、时间信息和司机信息中的至少一个来确定行程的至少一个特征,并基于训练后的机器学习模型和确定的特征确定行程的预估到达时间。仅用于说明目的,特征判断单元510可以基于起点和目的地确定包括起点的经度、起点的纬度、目的地的经度、目的地的纬度、起点的链路ID的特征、目的地的链路ID,以及起点和目的地之间的球面距离。特征判断单元510还可以基于时间信息确定包括行程日期特征和行程时间特征。特征判断单元510还可以基于司机信息确定包括司机ID的特征。关于确定至少一个特征的细节可以在本申请的其他地方描述,如图7及其描述。
在一些实施例中,预估到达时间判断单元530可以通过将所确定的特征输入到训练的模型中来确定行程的预估到达时间。在一些实施例中,在将特征输入到训练的模型之前,可以预处理(例如,生成具有预设维度的矢量)至少一个特征。在一些实施例中,所确定的特征可包括离散特征和连续特征。在本申请中,离散特征是指具有离散值的特征。例如,通过将包含起点和目的地的地图上的每个经线和纬度线分成多个格子,可以使起点的经度和纬度离散化。连续特征是指具有连续值的特征。例如,起点和目的地之间的球面距离可以是连续特征。在一些实施例中,可以使用嵌入技术来预处理离散特征。例如,可以扩展由具有小于预设尺寸的特定尺寸的矢量表示的特征(例如,通过将0填充到每个空白尺寸)来生成具有预设尺寸的矢量。
在一些实施例中,可以基于与连续特征相关的平均值和标准偏差来预处理连续特征。例如,可以通过确定球面距离与球面距离相关的平均值之间的差值来预处理起点和目标地之间的球面距离,然后确定差值与球面距离标准偏差的商。
由于确定预估到达时间的过程不包括用于确定行程的起点和目的地之间的路线的任何操作,确定的预估到达时间可以独立于起点和目的地之间的路线。因此,与基于起点和目的地之间的路线确定预估到达时间的方法相比,可以大大减少根据过程600的计算量和花费时间。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。例如,可以将确定的预估到达时间发送到终端设备(例如,用户终端130或司机终端)以进行显示。但是,这些变化与修改仍属于本申请的范围。
图7是根据本申请的一些实施例所示的用于确定行程的至少一个特征的示例性过程的流程图。在一些实施例中,可以根据图7中所示的过程700来执行过程600的操作606的至少一部分。在一些实施例中,图7中所示的过程700可以在图1中所示的预估到达时间确定系统100中实现。例如,过程700的至少一部分可以作为指令的形式存储在存储介质(例如,计算设备200的DISK270)中,并且由服务器110(例如,计算设备200的处理器220,或图4中所示的至少一个模块)调用和/或执行。在一些实施例中,过程700的一部分可以在终端设备上实现。以下所示过程的操作仅出于说明的目的。在一些实施例中,可以用未描述的至少一个附加操作和/或缺少所讨论的至少一个操作来完成过程700。另外,如图7所示和下面描述的过程700的操作的顺序不是限制性的。
在702中,可以基于行程的起点和目的地,确定起点的经度、起点的纬度、目的地的经度、目的地的纬度、起点的链路编号ID、目的地的链路ID,以及起点和目的地之间的球面距离。在一些实施例中,可以通过特征判断单元510来确定起点的经度、起点的纬度、目的地的经度、目的地的纬度、起点的链路ID、目的地的链路ID,以及起点和目的地之间的球面距离。
特征判断单元510可以在预估到达时间确定系统100获得行程的起点和目的地之后确定起点和目的地的地理坐标。在一些实施例中,起点的地理坐标可包括起点的经度和起点的纬度。目的地的地理坐标可以包括目的地的经度和目的地的纬度。起点的经度、起点的纬度、目的地的经度,和/或目的地的纬度可以是实数。在一些实施例中,特征判断单元510可以通过将包含起点和目的地的地图上的每个经线和纬度线划分为多个格子,以离散起点的经度、起点的纬度、目的地的经度,以及目的地的纬度。本申请中,格子指的是地图中的经线的一段或纬度线的一段。在一些实施例中,每个格子可以用数字(例如,整数)编码。特征判断单元510可以基于编码的格子以及行程的起点和目的地,确定起点的经度、起点的纬度、目的地的经度和目的地的纬度。以起点的经度为例,如果起点的经度在经线的格子中,则特征判断单元510可以将起点的经度确定数字,并将该数字编码经线的格子。在一些实施例中,特征判断单元510可以通过执行与用于确定起点的经度相同的操作或类似操作来确定起点的纬度、目的地的经度和/或目的地的纬度。
在一些实施例中,数字地图可以是包含起点和目的地的道路网络。道路网络可包括多个节点。在本申请中,节点指的是道路网络中的道路的交叉点或连接点。连接道路网络中的两个相邻节点的道路段可以被定义为链路。在一些实施例中,道路网络中的每个链路可以被标记或编码,例如,具有特定数值(也称为“链路ID”)。在一些实施例中,特征判断单元510可以确定起点的链路ID和目标地的链路ID。起点的链路ID和目的地的链路ID都可以是离散特征。
在704中,可以基于行程时间信息确定行程日期和行程时间。在一些实施例中,行程日期和行程时间可以由特征判断单元510确定。行程日期可能是离散特征。*
在一些实施例中,行程日期可以以一周的方式确定。例如,行程日期可以是星期一、星期三、星期四、星期五、星期六和星期日中的一个。在一些实施例中,一周中的每一天(从星期一到星期日)可以用特定数字(例如,从1到7的整数)编码。在一些实施例中,特征判断单元510可以将行程日期确定为一周中的某一天,并用对应的特定数字表示。仅出于说明的目的,如果行程日期是星期五,则特征判断单元510可以将行程的日期确定为5。
行程时间是指当用户开始他/她的行程时行程当天的特定时间点。在一些实施例中,可以将一天按从0点到24点来将行程时间离散化为多个时间段。例如,从0点到24点的行程当天可以分为5点时间段,如0点到8点、8点到12点、12点至17点、17点至20点,以及20点至24点。又例如,通过设定每个时间段的经验长度(例如,5分钟、10分钟等),可以将从0点到24点的行程时间分成多个时间段。在一些实施例中,多个时间段中的每一个时间段可以用特定数字编码。在一些实施例中,可以将某个时间段中的行程时间确定为对应于特定时间段的特定数字。
仅仅为了说明的目的,通过将每个时间段的长度设置为5分钟,行程当天从0点到24点可以被分成288时间段。288时间段可以用1到288的整数编码。如果行程时间落入编码为160的时间段,则特征判断单元510可以将行程时间确定为160。
在706中,可以基于行程的司机信息确定司机ID。在一些实施例中,预估到达时间确定系统100可以基于司机信息确定多个驾驶员,并且使用司机ID对与预估到达时间确定系统100相关的每个司机进行编码。司机ID可以是一系列数字(例如,整数)。司机ID可以是离散特征。在一些实施例中,司机ID可以与司机的登记信息和/或历史驾驶数据相关。登记信息可以包括司机的基本信息(例如,司机的年龄、司机的性别等)、车辆的基本信息(例如,车辆的实际使用寿命、车辆的位置显示的总行驶距离、年检的信息)等,或其任意组合。司机的历史驾驶数据可能包括事故率、超速率等。在一些实施例中,司机的登记信息和历史驾驶数据可以存储在存储设备(例如,存储设备150、云数据中心等)中。预估到达时间确定系统100可以从存储设备检索对应于司机ID的登记信息和/或历史驾驶数据。
图8是根据本申请的一些实施例所示的确定行程的预估到达时间的示意图。预估到达时间确定系统100可以从例如用户终端130、司机终端140或存储设备(例如,云数据中心)获得数据。获得的数据可以包括行程的起点、目的地、时间信息和司机信息。特征判断单元510可以基于行程的起点、目的地、时间信息和/或司机信息中的至少一个来确定行程的至少一个特征。至少一个特征可以包括起点的经度、起点的纬度、目的地的经度、目的地的纬度、起点的链路ID、目的地的链路ID、起点和目的地之间的球面距离、行程日期和行程时间,以及司机ID。然后,特征判断单元510可以通过将特征输入到训练的模型(例如,MLP模型)来确定行程的预估到达时间。MLP模型可以根据损失函数输出行程的预估到达时间,例如,平均绝对百分比误差(MAPE)损失。所确定的行程的预估到达时间可以被发送到用户终端130和/或司机终端140以进行显示。
图9是根据本申请的一些实施例所示的MLP模型900的示例性结构。图示的MLP模型900可以包括输入层901、输出层904以及输入层901和输出层904之间的至少一个隐藏层(例如,隐藏层902和903)。至少一个隐藏层中的每一个可以包括多个节点。每个节点可以是包括激活功能的神经元。在一些实施例中,激活函数可以是线性函数或非线性函数(例如,逻辑S形函数)。在一些实施例中,MLP模型900可以经由输入层901将基于起点、目的地、时间信息和司机信息确定的至少一个特征输入到至少一个隐藏层中。在根据至少一个处理操作(例如,乘以权值和/或添加偏差)处理特征之后,可以将每个特征输入到隐藏层的激活功能中。可以将隐藏层的激活功能的输出输入到后续隐藏层中。在一些实施例中,MLP模型900可以在至少一个隐藏层的最后隐藏层完成至少一个处理操作之后经由输出层904输出行程的预估到达时间。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述申请披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机可读信号介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等、或合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令集执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读信号介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质、或任何上述介质的组合。
本申请各部分步骤所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向主体编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的申请实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,例如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个申请实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请主体所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
Claims (25)
1.一种在计算设备上实现的方法,该计算设备具有至少一个处理器和至少一个计算机可读存储介质,所述方法用于确定行程中的预估到达时间,所述方法包括:
获取所述行程的起点、目的地、时间信息和司机信息;
获取训练后的机器学习模型;以及
基于所述训练后的机器学习模型、所述起点、所述目的地,确定所述行程的预估到达时间,其中,所述行程的所述预估到达时间独立于所述起点和所述目的地之间的路线。
2.根据权利要求1所述的方法,其特征在于,基于所述训练后的机器学习模型、所述起点、所述目的地、所述时间信息和所述行程的司机信息来确定所述行程的预估到达时间,包括:
基于所述起点、所述目的地、所述时间信息和所述司机信息中的至少一个,确定所述行程的至少一个特征;以及
基于所述训练后的机器学习模型和确定的所述行程的特征,确定所述行程的所述预估到达时间。
3.根据权利要求2所述的方法,其特征在于,基于所述起点、所述目的地、所述时间信息和所述司机信息中的至少一个,确定所述的至少一个所述行程的特征,包括:
基于行程的起点和目的地,确定所述起点的经度、所述起点的纬度、所述目的地的经度、所述目的地的纬度、所述起点的链路ID、所述目的地的链路ID以及所述起点与所述目的地之间的球面距离。
4.根据权利要求2所述的方法,基于所述起点、所述目的地、所述时间信息、所述司机信息中的至少一个,确定所述行程的至少一个所述的特征,包括:
基于所述行程的所述时间信息,确定所述行程日期和行程时间。
5.根据权利要求2所述的方法,基于所述起点、所述目的地、所述时间信息和所述司机信息中的至少一个来确定至少一个所述行程的特征,包括:
基于所述行程的司机信息,确定司机ID。
6.根据权利要求3所述的方法,其特征在于,基于所述行程的所述起点和所述目的地,确定所述起点的所述经度、所述起点的所述纬度、所述目的地的所述经度和所述目的地的所述纬度,包括:
将包含所述起点和所述目的地的地图上的每条经度线和纬度线划分为多个格子;
用整数对每个格子进行编码;以及
基于所述编码的格子和所述行程的所述起点和所述目的地,确定所述起点的所述经度、所述起点的所述纬度、所述目的地的所述经度和所述目的地的所述纬度。
7.根据权利要求3所述的方法,其特征在于,基于有关所述行程的所述起点和所述目的地,确定所述起点的所述链路ID和所述目的地的所述链路ID,包括:
确定地图上的链路,所述地图包括所述起点和所述目的地;
使用ID编码每个所述链路;以及
基于所述行程的所述起点、所述行程的所述目的地和每个链路的链路ID,确定所述起点的链路ID和所述目的地的链路ID。
8.根据权利要求4所述的方法,其特征在于,基于所述行程时间信息,确定所述行程时间包括:
将一天划分为多个时间段;以及
基于所述行程的多个持续时间和所述行程时间信息,确定所述行程时间。
9.根据权利要求2所述的方法,其特征在于,所述至少一个特征包括离散特征和连续特征。
10.根据权利要求9所述的方法,还包括:
使用嵌入技术处理所述离散特征;以及
基于与所述连续特征相关的平均值和标准差,处理所述连续特征。
11.根据权利要求1所述的方法,其特征在于,所述训练后的机器学习模型选自所述由多层感知器(MLP)模型、梯度增强决策树(GBDT)模型、极端梯度增强(XGB)模型、逻辑回归模型和分解机器(FM)模型组成的组。
12.根据权利要求1所述的方法,其特征在于,所述训练后的机器学习模型是使用模型训练方法训练的,所述模型训练方法包括:
获得机器学习模型和训练数据集;以及
基于所述训练数据集和损失函数,获得所述机器学习模型。
13.一种用于确定行程中的预估到达时间的系统,包括:
至少一个非暂时性存储设备,包括一组指令集;以及
与所述至少一个非暂时性存储设备通信的至少一个处理器,其中,当执行所述指令集时,所述至少一个处理器用于:
获取所述行程的起点、目的地、时间信息和司机信息;
获取训练后的机器学习模型;以及
基于所述训练后的机器学习模型、所述起点、所述目的地,确定所述行程的预估到达时间,其中,所述行程的所述预估到达时间独立于所述起点和所述目的地之间的路线。
14.根据权利要求13所述的系统,其特征在于,为了基于所述训练后的机器学习模型、所述起点、所述目的地、所述时间信息和所述行程的司机信息来确定所述行程的预估到达时间,所述至少一个处理器用于:
基于所述起点、所述目的地、所述时间信息和所述司机信息中的至少一个,确定所述行程的至少一个特征;以及
基于所述训练后的机器学习模型和确定的所述行程的特征,确定所述行程的所述预估到达时间。
15.根据权利要求14所述的系统,其特征在于,为了基于所述起点、所述目的地、所述时间信息和所述司机信息中的至少一个,确定所述的至少一个所述行程的特征,所述至少一个处理器用于:
基于行程的起点和目的地,确定所述起点的经度、所述起点的纬度、所述目的地的经度、所述目的地的纬度、所述起点的链路ID、所述目的地的链路ID以及所述起点与所述目的地之间的球面距离。
16.根据权利要求14所述的系统,为了基于所述起点、所述目的地、所述时间信息、所述司机信息中的至少一个,确定所述行程的至少一个所述的特征,所述至少一个处理器用于:基于所述行程的所述时间信息,确定所述行程日期和行程时间。
17.根据权利要求14所述的系统,为了基于所述起点、所述目的地、所述时间信息和所述司机信息中的至少一个来确定至少一个所述行程的特征,所述至少一个处理器用于:
基于所述行程的司机信息,确定司机ID。
18.根据权利要求15所述的系统,其特征在于,为了基于所述行程的所述起点和所述目的地,确定所述起点的所述经度、所述起点的所述纬度、所述目的地的所述经度和所述目的地的所述纬度,所述至少一个处理器用于:
将包含所述起点和所述目的地的地图上的每条经度线和纬度线划分为多个格子;
用整数对每个格子进行编码;以及
基于所述编码的格子和所述行程的所述起点和所述目的地,确定所述起点的所述经度、所述起点的所述纬度、所述目的地的所述经度和所述目的地的所述纬度。
19.根据权利要求15所述的系统,其特征在于,为了基于有关所述行程的所述起点和所述目的地,确定所述起点的所述链路ID和所述目的地的所述链路ID,所述至少一个处理器用于:
确定地图上的链路,所述地图包括所述起点和所述目的地;
使用ID编码每个所述链路;以及
基于所述行程的所述起点、所述行程的所述目的地和每个链路的链路ID,确定所述起点的链路ID和所述目的地的链路ID。
20.根据权利要求16所述的系统,其特征在于,为了基于所述行程时间信息,确定所述行程时间,所述至少一个处理器用于:
将一天划分为多个时间段;以及
基于所述行程的多个持续时间和所述行程时间信息,确定所述行程时间。
21.根据权利要求14所述的系统,其特征在于,所述至少一个特征包括离散特征和连续特征。
22.根据权利要求21所述的系统,所述至少一个处理器还用于
使用嵌入技术处理所述离散特征;以及
基于与所述连续特征相关的平均值和标准差,处理所述连续特征。
23.根据权利要求13所述的系统,其特征在于,所述训练后的机器学习模型选自所述由多层感知器(MLP)模型、梯度增强决策树(GBDT)模型、极端梯度增强(XGB)模型、逻辑回归模型和分解机器(FM)模型组成的组。
24.根据权利要求13所述的系统,其特征在于,所述训练后的机器学习模型是使用模型训练方法训练的,所述模型训练方法包括:
获得机器学习模型和训练数据集;以及
基于所述训练数据集和损失函数,获得所述机器学习模型。
25.一种非暂时性的计算机可读存储介质,包括至少一组指令,用于确定行程中的预估到达时间(ETA),其中,当由计算设备的至少一个处理器执行时,所述至少一组指令指示所述至少一个处理器执行以下动作:
获取所述行程的起点、目的地、时间信息和司机信息;
获取训练后的机器学习模型;以及
基于所述训练后的机器学习模型、所述起点、所述目的地,确定所述行程的预估到达时间,其中,所述行程的所述预估到达时间独立于所述起点和所述目的地之间的路线。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910114924.7A CN111563639A (zh) | 2019-02-14 | 2019-02-14 | 一种订单分配的方法和系统 |
PCT/CN2019/075403 WO2020164161A1 (en) | 2019-02-14 | 2019-02-18 | Systems and methods for estimated time of arrival (eta) determination |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910114924.7A CN111563639A (zh) | 2019-02-14 | 2019-02-14 | 一种订单分配的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111563639A true CN111563639A (zh) | 2020-08-21 |
Family
ID=72045207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910114924.7A Pending CN111563639A (zh) | 2019-02-14 | 2019-02-14 | 一种订单分配的方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111563639A (zh) |
WO (1) | WO2020164161A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579063B (zh) * | 2022-05-07 | 2022-09-02 | 浙江口碑网络技术有限公司 | Od数据的存储及读取方法、装置、存储介质及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130144670A1 (en) * | 2011-12-06 | 2013-06-06 | Joel Kickbusch | System and method for allocating resources in a network |
CN108536695A (zh) * | 2017-03-02 | 2018-09-14 | 北京嘀嘀无限科技发展有限公司 | 一种地理位置信息点的聚合方法以及装置 |
CN109002905A (zh) * | 2018-06-25 | 2018-12-14 | 北京嘀嘀无限科技发展有限公司 | 预估到达时间的方法及系统 |
CN109313742A (zh) * | 2017-05-16 | 2019-02-05 | 北京嘀嘀无限科技发展有限公司 | 确定预估到达时间的方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105679021B (zh) * | 2016-02-02 | 2018-11-06 | 招商局重庆交通科研设计院有限公司 | 基于交通大数据的行程时间融合预测及查询方法 |
CN114973677A (zh) * | 2016-04-18 | 2022-08-30 | 北京嘀嘀无限科技发展有限公司 | 用于确定预计到达时间的方法和设备 |
CN109284946B (zh) * | 2017-07-20 | 2022-08-02 | 阿里巴巴集团控股有限公司 | 一种行程距离、物流服务行程时间确定方法、装置和系统 |
CN108417029B (zh) * | 2018-02-11 | 2020-11-06 | 东南大学 | 基于自适应多任务深度学习的城市路网行程时间估计方法 |
-
2019
- 2019-02-14 CN CN201910114924.7A patent/CN111563639A/zh active Pending
- 2019-02-18 WO PCT/CN2019/075403 patent/WO2020164161A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130144670A1 (en) * | 2011-12-06 | 2013-06-06 | Joel Kickbusch | System and method for allocating resources in a network |
CN108536695A (zh) * | 2017-03-02 | 2018-09-14 | 北京嘀嘀无限科技发展有限公司 | 一种地理位置信息点的聚合方法以及装置 |
CN109313742A (zh) * | 2017-05-16 | 2019-02-05 | 北京嘀嘀无限科技发展有限公司 | 确定预估到达时间的方法及系统 |
CN109002905A (zh) * | 2018-06-25 | 2018-12-14 | 北京嘀嘀无限科技发展有限公司 | 预估到达时间的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2020164161A1 (en) | 2020-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109478364B (zh) | 确定预计到达时间的方法及系统 | |
US11011057B2 (en) | Systems and methods for generating personalized destination recommendations | |
CN112868036B (zh) | 位置推荐的系统和方法 | |
US11017662B2 (en) | Systems and methods for determining a path of a moving device | |
US20200221257A1 (en) | System and method for destination predicting | |
US20200042885A1 (en) | Systems and methods for determining an estimated time of arrival | |
CN110686686B (zh) | 用于地图匹配的系统和方法 | |
CN111862585B (zh) | 用于交通预测的系统和方法 | |
WO2019042194A1 (en) | INFORMATION PROCESSING METHOD, INFORMATION PROCESSING SYSTEM, AND INFORMATION PROCESSING DEVICE | |
AU2017419266B2 (en) | Methods and systems for estimating time of arrival | |
CN109313036B (zh) | 路线规划的系统及方法 | |
TW201903659A (zh) | 用於確定預估到達時間的系統和方法 | |
WO2019223745A1 (en) | Methods and systems for informing a user of carpooling information | |
AU2017270456A1 (en) | Systems and methods for distributing request for service | |
WO2018223952A1 (en) | Systems and methods for region division | |
US20190139070A1 (en) | Systems and methods for cheat examination | |
CN111465936B (zh) | 确定地图上新道路的系统和方法 | |
CN112154473A (zh) | 用于推荐上车点的系统和方法 | |
US11105644B2 (en) | Systems and methods for identifying closed road section | |
CN110751531A (zh) | 轨迹识别方法、装置及电子设备 | |
CN110869951B (zh) | 预测线上到线下服务中目的地的系统和方法 | |
CN111563639A (zh) | 一种订单分配的方法和系统 | |
CN111223293B (zh) | 分析交通拥堵的系统和方法 | |
WO2021022487A1 (en) | Systems and methods for determining an estimated time of arrival | |
CN113924460B (zh) | 确定服务请求的推荐信息的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200821 |