CN116457778A - 推荐上车点的系统和方法 - Google Patents
推荐上车点的系统和方法 Download PDFInfo
- Publication number
- CN116457778A CN116457778A CN202080106667.3A CN202080106667A CN116457778A CN 116457778 A CN116457778 A CN 116457778A CN 202080106667 A CN202080106667 A CN 202080106667A CN 116457778 A CN116457778 A CN 116457778A
- Authority
- CN
- China
- Prior art keywords
- point
- user
- training
- historical
- points
- 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
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/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- 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/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Remote Sensing (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明涉及推荐上车点的系统和方法。所述方法可以包括获取并存储用户的当前位置、与用户的当前位置相关联的多个历史位置以及与用户的多个历史位置中的每一个相对应的一个或多个可能上车点。所述方法还可以包括从用户的当前位置、多个历史位置以及与多个历史位置中的每一个相对应的一个或多个可能上车点中提取特征数据。所述方法还可以包括将提取的特征数据输入上车点推荐模型,确定每个可能上车点的转移概率。所述方法还可以包括基于所确定的每个可能上车点的转移概率确定用户的推荐上车点。
Description
技术领域
本公开一般涉及按需服务,更具体地,涉及用于在按需服务中推荐上车点的系统和方法。
背景技术
随着移动互联网和在线服务应用的迅速发展,按需服务日益普及,给人们带来了极大的便利。在按需服务中,用户可以根据移动设备内置的全球定位系统(GPS)提供的推荐位置来选择附近的上车点或手动指定上车点。但是,通常会出现GPS定位不准确以及其他问题,导致推荐上车点偏移,导致用户体验不佳。因此,需要一种可以更准确地推荐上车点的系统和方法。
发明内容
根据本公开的一个方面,提供了一种用于推荐上车点的系统。所述系统可包括至少一个存储设备,用于存储一组指令,以及至少一个处理器,被配置为与所述至少一个存储设备通信。当执行该指令时,可以配置至少一个处理器来指示系统执行以下操作。下列操作可以包括获取并存储用户的当前位置、与所述用户的当前位置相关联的多个历史位置以及与所述用户的所述多个历史位置中的每一个相对应的一个或多个可能上车点;从所述用户的所述当前位置、所述多个历史位置以及与所述多个历史位置中的每一个相对应的所述一个或多个可能上车点中提取特征数据;将提取的所述特征数据输入上车点推荐模型,确定每个所述可能上车点的转移概率;以及基于所确定的每个所述可能上车点的所述转移概率确定所述用户的推荐上车点。
根据本公开的另一方面,提供了一种推荐上车点的方法。所述方法可以在具有至少一个处理器和至少一个计算机可读存储介质的计算设备上实现。所述方法可以包括获取并存储用户的当前位置、与所述用户的当前位置相关联的多个历史位置以及与所述用户的所述多个历史位置中的每一个相对应的一个或多个可能上车点;从所述用户的所述当前位置、所述多个历史位置以及与所述多个历史位置中的每一个相对应的所述一个或多个可能上车点中提取特征数据;将提取的所述特征数据输入上车点推荐模型,确定每个所述可能上车点的转移概率;以及基于所确定的每个所述可能上车点的所述转移概率确定所述用户的推荐上车点。
根据本公开的另一个方面,提供了一种非暂时性计算机可读介质。所述非暂时性计算机可读介质可以包括用于推荐上车点的至少一组指令,其中当由计算设备的至少一个处理器执行时,所述至少一组指令使所述计算设备执行方法。所述方法可以包括获取并存储用户的当前位置、与所述用户的当前位置相关联的多个历史位置以及与所述用户的所述多个历史位置中的每一个相对应的一个或多个可能上车点;从所述用户的所述当前位置、所述多个历史位置以及与所述多个历史位置中的每一个相对应的所述一个或多个可能上车点中提取特征数据;将提取的所述特征数据输入上车点推荐模型,确定每个所述可能上车点的转移概率;以及基于所确定的每个所述可能上车点的所述转移概率确定所述用户的推荐上车点。
在一些实施例中,所述方法还包括将所述推荐上车点发送到所述用户的终端设备。
在一些实施例中,所述多个历史位置在所述用户的所述当前位置的预设距离内。
在一些实施例中,提取的所述特征数据包括:从所述用户的所述当前位置到每个所述可能上车点的距离,每个所述可能上车点的热度值,与所述可能上车点相关联的每个路段的热度值,与所述可能上车点相关联的每个路线的热度值,或每个所述可能上车点的历史定点率,其中,所述历史定点率是与所述可能上车点相关联的订单数量和与所有可能上车点相关联的订单数量的比值。
在一些实施例中,提取的所述特征数据还包括:基于使用所述可能上车点作为实际上车点的历史订单数量,计算每个所述可能上车点的热度值,基于路段上的所述可能上车点的热度值,确定与所述可能上车点相关联的每个路段的热度值,以及基于路线上的所述可能上车点的热度值,确定与所述可能上车点相关联的每个路线的热度值。
在一些实施例中,所述上车点推荐模型包括梯度提升决策树(GBDT)模型。
在一些实施例中,所述方法进一步包括通过以下方式训练上车点推荐模型:随机提取由至少一个用户下发的多个历史订单;从提取的下发订单中获取,下发订单时所述用户的位置,形成一组用户位置集合,与每个用户位置相关联的一组训练历史位置集合,以及与所述一组训练历史位置集合相对应的一组训练可能上车点集合;从所述用户位置集合、所述训练历史位置集合和所述训练可能上车点集合中提取训练特征数据;确定从每个所述用户位置到对应的每个所述训练可能上车点的训练转移概率;为每个所述训练可能上车点标记对应的训练转移概率;以及将带有标记的训练可能上车点输入模型中进行初步上车点推荐模型训练,以获得训练好的上车点推荐模型。
在一些实施例中,该方法还包括将与所述可能上车点对应的所述历史位置相关联的热度值,基于各自的权重进行相加,以确定所述转移概率。
在一些实施例中,所述权重是所述用户的所述当前位置和所述历史位置之间的距离。
在一些实施例中,基于所确定的所述转移概率确定所述推荐上车点,包括:从所确定的所述转移概率中确定最大转移概率;以及指定具有所述最大转移概率的可能上车点作为所述用户的推荐上车点。
在一些实施例中,基于历史上车点和聚类算法确定与所述多个历史位置中的每一个相对应的所述一个或多个可能上车点。
部分附加特征将在以下描述中进行说明,并且通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本说明书的一部分附加特性对于本领域技术人员是显而易见的。本说明书的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本说明书将以示例性实施例的方式进一步说明。这些示例性实施例将通过附图进行详细描述。这些图纸未按比例绘制。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,并且其中:
图1是根据本公开的一些实施例示出的示例性上车点推荐系统的示意图;
图2是根据本公开的一些实施例示出的计算设备的示例性组件的示意图;
图3是根据本公开的一些实施例示出的用户终端的示例性硬件和/或软件组件的示意图;
图4是根据本公开的一些实施例示出的图1的示例性处理设备的框图;
图5是根据本公开的一些实施例示出的图4的示例性处理模块的框图;
图6是根据本公开的一些实施例示出的推荐上车点的示例性流程的流程图;
图7是根据本公开的一些实施例示出的训练上车点推荐模型示例性流程的流程图;
图8是根据本公开的一些实施例示出的确定路线的热度值的示例性流程的流程图;以及
图9是根据本公开的一些实施例示出的用户的当前位置、多个历史位置和与多个历史位置中的每一个相对应的一个或多个可能上车点之间的关系的示意图。
具体实施方式
为了说明与本公开的实施例相关的技术方案,下面对实施例描述中引用的附图进行简要介绍。显然,以下描述的附图仅仅是本公开的一些示例或实施例。本领域普通技术人员无需进一步的创造性努力,可以根据这些附图将本公开应用于其他类似的场景。除非另有说明或从上下文中显而易见,附图中相同的附图标记指代相同的结构和操作。
如在本公开和所附权利要求书中使用的,单数形式“一”、“一个”及“该”包括复数引用,除非内容明确另有规定。进一步理解,在本公开中使用术语“包括”和/或“包含”时,指定所述步骤和要素的存在,但不排除一个或多个其他步骤和要素的存在或添加。
根据本公开的一些实施例,可以以各种方式引用系统的一些模块,然而,可以在客户端终端和/或服务器中使用和操作任何数量的不同模块。这些模块旨在是说明性的,而不是旨在限制本公开的范围。不同的模块可以用于系统和方法的不同方面。
根据本公开的一些实施例,流程图用于说明系统所执行的操作。需要明确理解的是,上面或下面的操作可以按顺序执行,也可以不按顺序执行。相反,这些操作可以按相反的顺序执行,也可以同时执行。此外,可以将一个或多个其他操作添加到流程图中,或者可以从流程图中省略一个或更多个操作。
本公开的实施例的技术方案参照如下所述的附图进行描述。显然,所描述的实施例不是详尽的,也不是限制性的。本领域普通技术人员在没有任何创造性工作的情况下,基于本公开中提出的实施例获得的其他实施例也在本公开的范围内。
本公开的一些实施例涉及为用户推荐上车点的系统和方法。系统可以获取并存储用户的当前位置、与用户的当前位置相关联的多个历史位置以及与用户的多个历史位置中的每一个对应的一个或多个可能上车点。可以从当前位置、多个历史位置以及与用户的多个历史位置中的每一个相对应的一个或多个可能上车点中提取特征数据。提取的特征数据可以输入上车点推荐模型,以确定每个可能上车点的转移概率。然后,可以基于所确定的每个可能上车点的转移概率为用户确定推荐上车点。
本公开的一些实施例涉及可应用于例如按需服务的实时或在线上车点确定功能,按需服务是仅植根于后互联网时代的新出现的服务或需求。它为服务请求者提供了只有在后互联网时代才能出现的技术解决方案。目前的解决方案深深植根于后互联网时代,并旨在解决后互联网时代才出现的问题。
图1是根据本公开的一些实施例示出的示例性上车点推荐系统的示意图。在一些实施例中,上车点推荐系统100可以是用于诸如网约车服务、专车服务、车辆交付服务、拼车服务、公共汽车服务、驾驶员租用服务、班车服务等运输服务的在线运输服务平台。上车点推荐系统100可以包括服务器110、网络120、乘客终端130、司机终端140、车辆150和存储器160。
服务器110可以是计算机服务器。服务器110可以与乘客终端130和/或司机终端140通信,以提供订单调度服务的各种功能。在一些实施例中,服务器110可以是单个服务器或服务器组。服务器组可以分别通过接入点连接到网络120的集中式服务器组,或者是分别通过一个或多个接入点连接到网络120的分布式服务器组。在一些实施例中,服务器110可以本地连接到网络120或与网络120远程连接。例如,服务器110可以通过网络120访问存储在乘客终端130、司机终端140和/或存储器160中的信息和/或数据。作为另一示例,存储器160可以作为服务器110的后端存储器。在一些实施例中,服务器110可以在云平台上实现。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布式云、间云、多云或其任意组合。
在一些实施例中,服务器110可以包括处理设备112。处理设备112可以处理与执行本公开中描述的一个或多个功能相关的信息和/或数据。例如,处理设备112可以获得用户的当前位置,并根据用户的当前位置和多个历史订单确定推荐给用户的至少一个上车点。在一些实施例中,处理设备112可以包括一个或多个处理单元(例如,单核处理引擎或多核处理引擎)。仅作为示例,处理设备112可以包括中央处理单元(CPU)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等,或其任意组合。
网络120可以促进信息和/或数据的交换。在一些实施例中,上车点推荐系统100中的一个或多个组件(例如,服务器110、乘客终端130、司机终端140、车辆150、存储器160)可以通过网络120向上车点推荐系统100中的其他组件发送信息和/或数据。例如,服务器110可以通过网络120从存储器160访问和/或获取多个历史订单。在一些实施例中,网络120可以是任何类型的有线或无线网络,或其任意组合。仅作为示例,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内联网、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、广域网(WAN)、公共电话交换网络(PSTN)、蓝牙TM网络、ZigBee网络、近场通信(NFC)网络等,或其任意组合。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可包括有线或无线网络接入点,如基站和/或互联网交换点120-1、120-2、…,所述上车点推荐系统100的一个或多个组件可以通过该组件连接到网络120以交换数据和/或信息。
在一些实施例中,乘客或用户可以是乘客终端130的持有者。在一些实施例中,乘客终端130的持有者可以是乘客以外的其他人。例如,乘客终端130的持有者A可以使用乘客终端130为乘客B发送服务请求,和/或从服务器110接收服务确认和/或信息或指令。在一些实施例中,驾驶员可以是司机终端140的用户。在一些实施例中,司机终端140的用户可以是驾驶员以外的人。例如,司机终端140的用户C可以使用司机终端140从服务器110接收对司机D的服务请求和/或信息或指令。在一些实施例中,驾驶员可被指派使用司机终端140和/或车辆150之一至少在一段时间,例如,一天、一周、一个月或一年等。在一些其他实施例中,可以随机地指派驾驶员使用司机终端140和/或车辆150之一。例如,当驾驶员可以提供按需服务时,他/她可以被分配使用接收最早请求的驾驶员终端和推荐执行该类型按需服务的车辆。在一些实施例中,“乘客”、“请求者”和“终端设备”可以互换使用,“驾驶员”、“提供者”和“司机终端”可以互换使用。在一些实施例中,司机终端可以与一个或多个驾驶员相关联(例如,夜班驾驶员、白班驾驶员或通过随机换挡的驾驶员库)。
在一些实施例中,乘客终端130可以包括移动设备130-1、平板电脑130-2、笔记本电脑130-3、车载设备130-4等或其任意组合。在一些实施例中,移动设备130-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电气设备的控制设备、智能监控设备、智能电视、智能摄像机、对讲机等或其任意组合。在一些实施例中,可穿戴设备可以包括智能手环、智能脚具、智能眼镜、智能头盔、智能手表、智能服装、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能手机、个人数字辅助(PDA)、游戏设备、导航设备、销售点(POS)设备等或其任意组合。在一些实施例中,虚拟现实设备和/或增强现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实贴片、增强现实头盔、增强现实眼镜、增强现实贴片等或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括Google GlassTM、Oculus RiftTM、HololensTM、Gear VRTM等。在一些实施例中,车载设备130-4可以包括内置计算机、车载内置电视、内置平板电脑等。在一些实施例中,乘客终端130可以包括信号发送器和信号接收器,其配置为与定位设备170通信以定位乘客和/或乘客终端130的位置。
司机终端140可以包括多个司机终端140-1,140-2,…,140-n。在一些实施例中,司机终端140可以与乘客终端130相似或相同。在一些实施例中,可以定制司机终端140以实现在线运输服务。在一些实施例中,司机终端140和乘客终端130可以配置有信号发射器和信号接收器,用于从定位设备170接收司机终端140的位置信息和乘客终端130的位置信息。在一些实施例中,乘客终端130和/或司机终端140可以与其他定位设备通信,以确定乘客、乘客终端130、驾驶员和/或司机终端140的位置。在一些实施例中,乘客终端130和/或司机终端140可以周期性地将定位信息发送到服务器110。在一些实施例中,司机终端140还可以周期性地将可用性状态发送到服务器110。可用性状态可以指示与司机终端140相关联的车辆150是否可用来运输乘客。例如,乘客终端130可以每隔30分钟向服务器110发送定位信息。作为另一示例,司机终端140可以每隔30分钟和/或在按需服务完成时向服务器发送可用性状态。作为另一示例,乘客终端130可在用户每次登录到与订单调度服务相关联的移动应用程序时向服务器110发送定位信息。
在一些实施例中,司机终端140可对应于一个或多个车辆150。车辆150可以承载乘客并行驶到目的地。车辆150可包括多个车辆150-1、150-2、…、150-n。
存储器160可以存储数据和/或指令。在一些实施例中,存储器160可以存储从乘客终端130和/或司机终端140获得的数据。例如,存储器160可以存储与乘客终端130相关联的日志信息。在一些实施例中,存储器160可以存储服务器110可以执行的数据和/或指令,以提供本公开中所描述的按需服务。在一些实施例中,存储器160可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。示例性大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取存储器(RAM)。示例性RAM可以包括动态RAM(DRAM)、双倍数据速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容RAM(Z-RAM)等。示例性ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字通用磁盘ROM等。在一些实施例中,存储设备160可以在云平台上实现。仅作为示例,云平台可包括私有云、公共云、混合云、社区云、分布式云、跨云、多云等,或其任意组合。
定位设备170可以确定与物体相关联的信息,例如,乘客终端130、司机终端140、车辆150等中的一个或多个。例如,定位设备170可以通过乘客终端130和/或司机终端140确定乘客或驾驶员的当前时间和位置。在一些实施例中,定位设备170可以是全球定位系统(GPS)、全球卫星导航系统(GLONASS)、罗盘导航系统(COMPASS)、北斗卫星导航系统、伽利略定位系统、准天顶卫星系统(QZSS)等。该信息可以包括物体的位置、仰角、速度或加速度,和/或当前时间。位置可以是坐标的形式,例如,纬度坐标和经度坐标等。定位设备170可以包括一颗或多颗卫星,例如,卫星170-1、卫星170-2和卫星170-3。卫星170-1至170-3可以独立或联合地确定上述信息。定位设备170可以通过网络120将上述信息发送给乘客终端130、司机终端140或车辆150。
在一些实施例中,上车点推荐系统100中的一个或多个组件可以通过网络120访问存储在存储器160中的数据或指令。在一些实施例中,存储器160可以作为后端存储器直接连接到服务器110。
在一些实施例中,上车点推荐系统100中的一个或多个组件(例如,服务器110、乘客终端130、司机终端140等)可以具有访问存储器160的权限。在一些实施例中,当满足一个或多个条件时,上车点推荐系统100中的一个或多个组件可以读取和/或修改与乘客、驾驶员和/或车辆相关的信息。例如,服务器110可以在按需服务订单完成后读取和/或修改一个或多个乘客的用户特征。
在一些实施例中,可以通过在终端设备上启动按需服务的移动应用程序来发起上车点推荐系统100的一个或多个组件之间的信息交换,以请求服务。服务请求的对象可以是任何产品。在一些实施例中,产品可能包括食品、药品、商品、化工产品、电器、服装、汽车、住房、奢侈品等或其任意组合。在一些其他实施例中,该产品可以包括服务产品、金融产品、知识产品、互联网产品等,或其任意组合。互联网产品可以包括个人主机产品、网络产品、移动互联网产品、商业主机产品、嵌入式产品等,或其任意组合。移动互联网产品可以用于移动终端的软件、程序、系统等,也可以用于其任意组合。所述移动终端可以包括平板电脑、笔记本电脑、移动电话、个人数字辅助(PDA)、智能手表、销售点(POS)设备、车载电脑、机载电视、可穿戴设备等或其任意组合。例如,产品可以是计算机或移动电话中使用的任何软件和/或应用程序。该软件和/或应用程序可能涉及社交、购物、交通、娱乐、学习、投资等,或其任意组合。在一些实施例中,与运输相关的软件和/或应用程序可以包括旅行软件和/或应用程序、车辆调度软件和/或应用程序、测绘软件和/或应用程序等。在车辆调度软件和/或应用程序中,车辆可以包括马、马车、人力车(例如,独轮车、自行车、三轮车等)、汽车(例如,出租车、公共汽车、私家车等)、火车、地铁、船舶、飞机(例如,飞机、直升机、航天飞机、火箭、热气球等)等或其任意组合。
本领域普通技术人员可以理解,当上车点推荐系统100的一个元件执行时,该元件可以通过电信号和/或电磁信号执行。例如,当乘客终端130处理任务时,例如发送订单之类,乘客终端130可以操作其处理器中的逻辑电路以处理该任务。当乘客终端130向服务器110发出订单时,乘客终端130的处理器可以生成对订单进行编码的电信号。乘客终端130的处理器可以将电信号发送到输出端口。如果乘客终端130通过有线网络与服务器110通信,则输出端口可以物理连接到电缆,该电缆进一步将电信号传输到服务器110的输入端口。如果乘客终端130通过无线网络与服务器110通信,则终端130的输出端口可以是一个或多个天线,其将电信号转换为电磁信号。类似地,司机终端140可以通过操作其处理器中的逻辑电路来处理任务,并且通过电信号或电磁铁信号从服务器110接收指令和/或服务命令。在电子设备中,例如乘客终端130、司机终端140和/或服务器110,当其处理器处理指令、发出指令和/或执行动作时,该指令和/或动作是通过电信号进行的。例如,当处理器从存储介质(例如,存储器160)检索数据(例如,多个历史订单)时,它可以向存储介质的读取设备发送电信号,该读取设备可以读取存储介质中的结构化数据。所述结构化数据可通过电子设备的总线以电信号的形式传输到处理器。在这里,电信号可以指一个电信号、一系列电信号和/或多个离散电信号。
图2是根据本公开的一些实施例示出的计算设备的示例性组件的示意图。在一些实施例中,服务器110、乘客终端130和/或司机终端140可以在计算设备200上实现。例如,处理设备112可以在计算设备200上实现,并且被配置为执行本公开中公开的处理设备112的功能。
计算设备200可以用于实现本文所述上车点推荐系统100的任何组件。例如,处理设备112可以通过其硬件、软件程序、固件或其组合在计算设备200上实现。尽管只示出一台这样的计算机,但为方便起见,与本文所述的线上到线下服务相关的计算机功能可以在多个类似的平台上以分布式方式实现,以分配处理负载。
计算设备200可包括COM端口250,该COM端口250连接到与其连接的网络以及从其连接的网络来连接以便于数据通信。计算设备200还可以包括处理器220,其形式为一个或多个处理器(例如,逻辑电路),用于执行程序指令。例如,处理器220可以包括其中的接口电路和处理电路。所述接口电路可以被配置为从总线210接收电子信号,其中电子信号对结构化数据和/或指令进行编码,以供处理电路处理。处理电路可以进行逻辑计算,然后确定被编码为电子信号的结论、结果和/或指令。然后接口电路可以通过总线210从处理电路发出电子信号。
计算设备200还可以包括不同形式的程序存储器和数据存储器,例如,包括磁盘270、只读存储器(ROM)230或随机存取存储器(RAM)240,用于存储要由计算设备200处理和/或传输的各种数据文件。计算设备200还可以包括存储在ROM 230、RAM 240和/或由处理器220执行的其他类型的非暂时性存储介质中的程序指令。本公开的方法和/或过程可以作为程序指令来实现。计算设备200还可以包括I/O 260,支持计算机和其他组件之间的输入/输出。计算设备200还可以通过网络通信接收编程和数据。
仅为说明,图2中只描述了一种处理器。还考虑到多个处理器,因此本公开中所描述的由一个处理器执行的操作和/或步骤也可以由多个处理器联合或单独执行。例如,如果在本公开中,计算设备200的处理器同时执行步骤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、移动操作系统(OS)370和存储器390。在一些实施例中,包括但不限于系统总线或控制器(未示出)的任何其他合适的组件,也可以包括在移动设备300中。
在一些实施例中,移动操作系统370(例如,iOSTM、AndroidTM、Windows PhoneTM)和一个或多个应用程序380可以从存储器390加载到内存360,以便由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从上车点推荐系统100接收和呈现与线上到线下服务或其他信息有关的信息。用户与信息流的交互可以通过I/O 350实现,并通过网络120提供给处理设备112和/或上车点推荐系统100的其他组件。
图4是根据本公开的一些实施例示出的示例性处理设备的框图。处理设备112可以包括获取模块410、处理模块420、I/O模块430和通信模块440。模块可以是处理设备112的至少一部分的硬件电路。模块还可以实现为由处理设备112读取和执行的应用程序或指令集。此外,模块可以是硬件电路和应用程序/指令的任意组合。例如,当处理设备112执行应用程序/指令集时,模块可以是处理设备112的一部分。
获取模块410可从上车点推荐系统100中的一个或多个组件(例如,用户终端130、司机终端140、存储设备160等)采集数据。在一些实施例中,所获取的数据可能与网约车服务有关。仅通过举例的方式,所获得的数据可以包括用户的当前位置、与用户的当前位置相关联的多个历史位置以及与用户的多个历史位置中的每一个相对应的一个或多个可能上车点、多个历史订单、服务请求、机器学习模型、用户指令、程序、算法等,或其任意组合。下文将详细说明这些数据的使用情况。
处理模块420可以处理数据,以确定用户的推荐上车点。处理模块420可从获取模块410、I/O模块430和/或任何能够存储数据的存储设备(例如,存储器160或外部数据源)获取或接收数据和/或信息。在一些实施例中,处理模块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和/或存储器160之间建立连接。例如,通信模块440可以将推荐上车点发送到乘客终端130和/或司机终端140。连接可以是有线连接、无线连接、能够实现数据传输和/或接收的任何其他通信连接,和/或这些连接的任何组合。有线连接可以包括,例如,电缆、光缆、电话线或其任意组合。无线连接可包括,例如,蓝牙TM链路、Wi-FiTM链路、WiMaxTM链路、WLAN链路、ZigBee链路、移动网络链路(例如,3G、4G、5G等)等,或其任意组合。在一些实施例中,通信模块440可以是和/或包括标准化通信端口,例如,RS232、RS485等。
应当注意的是,对处理设备112的上述描述仅用于说明目的,并不旨在限制本公开的范围。对于本领域普通技术人员,可以根据本公开的教导进行多种变化和修改。例如,处理设备112还包括便于数据存储的存储模块。然而,这些变化和修改并不脱离本公开的范围。
图5是根据本公开的一些实施例示出的示例性处理模块的框图。处理设备112可以包括特征确定单元510、模型训练单元520和上车点确定单元530。单元可以是处理设备112的至少一部分的硬件电路。单元还可以实现为由处理设备112读取和执行的应用程序或指令集。此外,单元可以是硬件电路和应用程序/指令的任意组合。例如,当处理设备112执行应用程序/指令集时,单元可以是处理设备112的一部分。
特征确定单元510可以从所获得的数据确定一个或多个特征。在一些实施例中,特征确定单元510可以从用户的当前位置、多个历史位置以及与多个历史位置中的每一个相对应的一个或多个可能上车点中提取特征数据。在一些实施例中,提取的特征数据可以包括从用户的当前位置到每个可能上车点的距离、每个可能上车点的热度值、与可能上车点相关联的每个路段的热度值、与可能上车点相关联的每个路线的热度值、每个可能上车点的历史定点率等,或其任意组合。由特征确定单元510提取的特征数据可以输入到上车点推荐模型中,以生成用户推荐上车点。
模型训练单元520可以训练模型以确定用户的上车点。该模型可以是或包括一个机器学习模型。示例机器学习模型可以包括深度信念网络(DBN)、堆叠自动编码器(SAE)、逻辑回归(LR)模型、支持向量机(SVM)模型、决策树模型、朴素贝叶斯模型、随机森林模型或限制波尔兹曼机(RBM)、梯度增强决策树(GBDT)模型、LambdaMART模型、自适应增强模型、循环神经网络(RNN)模型、卷积网络模型、隐马尔可夫模型、感知器神经网络模型,Hopfield网络模型等,或其任意组合。模型训练单元520可以利用与一个或多个用户的历史订单中的上车点相关联的训练数据集对模型进行训练。在模型的训练过程中,可以更新模型的一个或多个参数(例如,权重、偏差、正则化项、小批量大小等)。训练过程(例如,迭代过程)可以在满足预设条件时终止。例如,当模型的损失函数达到收敛时(例如,损失小于等于0),训练过程可以终止。关于模型训练的详细描述可以在其他地方公开,例如,图7及其描述。
上车点确定单元530可确定推荐上车点。在一些实施例中,上车点确定单元530可以基于每个可能上车点的转移概率为用户确定推荐上车点。此处使用的转移概率是指马尔可夫链中从给定状态(例如,当前位置)转移到另一个状态(例如,可能位置)的条件概率。马尔可夫链是一种描述一系列可能事件序列的随机模型,其中每个事件的概率仅取决于前一个事件所获得的状态。在一些实施例中,从用户当前位置到可能上车点的转移概率可以表示为,与用户当前位置相关联的历史位置对应的可能上车点的热度值和对应的所有可能上车点的热度值总和之间的比值,其中,与用户当前位置相关联的历史位置对应的可能上车点的热度值考虑了该可能上车点的权重,与用户当前位置相关联的历史位置对应的所有可能上车点的热度值总和考虑了各可能上车点的权重。在一些实施例中,上车点的权重可以与从用户的当前位置到与上车点相对应的历史位置的距离有关。
在一些实施例中,可以从所确定的转移概率识别最大转移概率,并且可以将具有最大转移概率的可能上车点指定为用户的推荐上车点。仅通过示例的方式,所有确定的转移概率可以根据转移概率的值进行排序,例如,按降序排列,并且具有最大转移概率的可能上车点可以指定为用户的推荐上车点。
图6是根据本公开的一些实施例示出的推荐上车位置的示例性流程的流程图。在一些实施例中,图6所示的流程600可以在图1所示的上车点推荐系统100中实现。例如,流程600的至少一部分可以作为指令的形式存储在存储设备(例如,计算设备200的磁盘270)中,并且由服务器110(例如,计算机设备200的处理器220、图4中所示的一个或多个模块、或图5中所示出的一个或者多个单元)调用和/或执行。在一些实施例中,流程600的一部分可以在终端设备上实现。下面所示的流程600的操作旨在说明。在一些实施例中,流程600可以通过一个或多个未描述的附加操作和/或无需讨论的一个或多个操作来完成。此外,图6所示和下面描述的流程600的操作的顺序并不旨在限制性的。
步骤610,可以获取并存储用户的当前位置、与用户的当前位置相关联的多个历史位置以及与用户的多个历史位置中的每一个相对应的一个或多个可能上车点。在一些实施例中,获取模块410可以获取用户的当前位置、与当前位置相关联的多个历史位置以及与多个历史位置中的每一个相对应的一个或多个可能上车点。
在一些实施例中,用户的当前位置可以由用户的终端设备(例如,乘客终端130)使用定位设备170来确定。定位设备170可以是全球定位系统(GPS)、全球卫星导航系统(GLONASS)、罗盘导航系统(COMPASS)、北斗卫星导航系统、伽利略定位系统、准天顶卫星系统(QZSS)等。在一些实施例中,乘客终端130可以是具有内置全球定位系统(GPS)模块的移动电话,用户的当前位置可以由内置GPS模块确定。
在一些实施例中,可以确定距离用户的当前位置的第一预设距离内的历史区域。第一预设距离可以由技术人员根据上车点推荐系统100等的默认设置确定。例如,第一预设距离可能是20米、50米、100米、150米等。可以从存储器160、230中提取用户的具有位于历史区域内的历史位置的多个历史订单。如本文所使用的,历史位置可以是由用户的终端设备(例如,乘客终端130)在用户下发历史订单时使用定位设备170提供的用户位置。
在一些实施例中,还可以获得每个历史订单的订单信息。每个历史订单的订单信息可以包括订单号、实际上车点、历史位置、目的地、出发时间、到达时间、可接受的等待时间、乘客人数、行李信息、里程信息、是否携带宠物、用户习惯/偏好(例如,车辆类型、车辆后备箱大小、车辆负载等)、是否接受拼车和/或拼车、价格、请求者提出的价格、服务提供者调整的价格、系统调整的价格、优惠券的使用、支付方式(例如,现金支付、信用卡支付、网上支付、汇款支付等)、订单的完成状态等,或其任意组合。在一些实施例中,订单信息还可以包括其他与订单相关的信息,例如,天气状况、环境状况、道路状况(例如,由于安全、道路建设等原因而封闭道路)、交通状况等或其任意组合。在一些实施例中,可以确定历史位置与用户的当前位置相关联,因为历史位置在距离用户位置的第一预设距离内。历史订单中的实际上车点也可以称为历史上车点p′。
在一些实施例中,可以获取与用户的多个历史位置中的每一个相对应的一个或多个可能上车点。如本文所使用的,可能上车点是指用户可以选择上车的地点。在一些实施例中,可以使用聚类算法根据历史上车点来确定与用户的多个历史位置中的每一个相对应的可能上车点。示例聚类算法可以包括K均值聚类、均值漂移聚类、基于密度的带噪声的应用空间聚类(DBSCAN)、图共同体检测、聚类层次聚类、密度峰值聚类(DPC)算法等,或其任意组合。图9提供了用户的当前位置、与当前位置相关联的多个历史位置以及与每个历史位置相对应的一个或多个可能上车点的示例,其目的是说明性的,并不旨在限制本公开的范围。
步骤620,可以从用户的当前位置、多个历史位置以及与多个历史位置中的每一个相对应的一个或多个可能上车点中提取特征数据。在一些实施例中,特征数据可以通过特征确定单元510提取。步骤620中提取的特征数据可以输入到上车点推荐模型中,以生成用户的推荐上车点。在一些实施例中,所提取的特征数据可以包括从用户的当前位置到每个可能上车点的距离、每个可能上车点的热度值、与可能上车点相关联的每个路段的热度值、与可能上车点相关联的每个路线的热度值、每个可能上车点的历史定点率等,或其任意组合。
从用户的当前位置到每个可能上车点的距离可以指用户的当前位置与每个可能上车点之间的直线距离。在一些实施例中,定位设备170可以提供用户的当前位置和每个可能上车点的地理坐标。可以基于用户的当前位置和每个可能上车点的地理坐标来确定从用户的当前位置到每个可能上车点的距离。
每个可能上车点的热度值可以表示每个可能上车点相对于其他可能上车点的受欢迎程度。在一些实施例中,可以基于使用可能上车点作为实际上车点的历史订单数量来确定可能上车点的热度值。在一些实施例中,可能上车点pos_weight_p1的热度值可以是使用可能上车点p1作为实际上车点的历史订单数量。可能上车点p1可以对应于历史位置mn。历史订单可以是用户在过去一段时间内下的订单,例如,上周、上个月、去年等。例如,使用可能上车点p1作为实际上车点的历史订单数量为80,可能上车点p1对应历史位置mn,则可能上车点p1的热度值可以为80。
在一些实施例中,可以确定数字道路地图的道路网络中的元素,该元素包括用户的当前位置、与用户的当前位置相关联的历史位置以及与每个历史位置相对应的一个或多个可能位置。示例元素可能包括节点、路段等。节点一般是指道路网络中道路的交叉点或连接点,路段一般是指道路网络中连接两个不同节点的link。在一些实施例中,从一个地方到另一个地方的路线可以包括一个或多个路段。与可能上车点相关联的每个路段的热度值可以指示该路段相对于可能上车点的受欢迎程度。在一些实施例中,路段可以包括一个或多个可能上车点。在一些实施例中,可以基于与路段相关联的可能上车点的热度值来确定与可能上车点相关联的每个路段的热度值。在一些实施例中,与可能上车点相关联的每个路段的热度值可以是与该路段相关联的可能上车点的热度值的总和。
类似地,与可能上车点相关联的每条路线的热度值可以基于该路线上可能上车点的热度值或该路线上各路段的热度值确定。在一些实施例中,与可能上车点相关联的每条路线的热度值可以是与该路线相关联的可能上车点的热度值的总和。关于确定可能上车点的热度值、与可能上车点相关联的路段的热度值以及与可能上车点相关联的路线的热度值的详细描述可以在本公开的其他地方描述,例如,图8及其描述。
在一些实施例中,每个可能上车点的历史定点率可以表示为相对于与用户的当前位置相关联的多个可能上车点,用户选择该可能上车点作为实际上车点的概率。在一些实施例中,每个可能上车点的历史定点率可以是与用户的当前位置相关联的,该可能上车点作为实际上车点相关联的历史订单数量和所有可能上车点作为实际上车点相关联的历史订单数量之间的比值。例如,如果去年使用与用户当前位置相关联的所有可能上车点作为实际上车点的历史订单数量为240,去年使用可能上车点p1作为实际上车点的历史订单数量为80,则可能上车点p1的历史定点率为0.33。
步骤630,将提取的特征数据输入上车点推荐模型,确定每个可能上车点的转移概率。转移概率是指马尔可夫链中从给定状态(例如,当前位置)转移到另一个状态(例如,可能位置)的条件概率。马尔可夫链是一种描述可能事件序列的随机模型,其中每个事件的概率仅取决于前一个事件所获得的状态。在一些实施例中,从用户当前位置到可能上车点的转移概率可以表示为,与用户当前位置相关联的历史位置对应的可能上车点的热度值和对应的所有可能上车点的热度值总和之间的比值,其中,与用户当前位置相关联的历史位置对应的可能上车点的热度值考虑了该可能上车点的权重,与用户当前位置相关联的历史位置对应的所有可能上车点的热度值总和考虑了各可能上车点的权重。在一些实施例中,上车点的权重可以与从用户的当前位置到与上车点对应的历史位置的距离有关。
步骤640,可以基于所确定的每个可能上车点的转换概率确定用户的推荐上车点。在一些实施例中,推荐上车点可以由上车点确定单元530确定。
例如,如图9所示,对于用户的当前位置K,可以从多个历史订单中提取,用户去年在距离当前位置K的第一预设距离内的历史区域中的历史位置下发的多个历史订单,从而选择与用户下发的第一历史订单相关联的第一历史位置m1和与用户下发的第二历史订单相关联的第二历史位置m2。同时,可以分别从用户下发的第一历史订单和第二历史订单中提取第一历史上车点p1′和第二历史上车点p2′。则可以获得与第一历史位置m1相对应的可能上车点p11和p12,以及与第二历史位置m2对应的可能上车点p21和p22。在一些实施例中,可以根据第一历史上车点p1′确定可能上车点p11和p12,并且可以根据第二历史上车点p2′确定可能上车点p21和p22,每个都使用聚类算法。仅为了说明的目的,如果可能上车点p11的热度值是80,可能上车点p11的权重是0.3,可能上车点p12的热度值是120,可能上车点p12的权重是0.3,可能上车点p21的热度值是50,可能上车点p21的权重是0.35,可能上车点p22的热度值是160,可能上车点p22的权重是0.35,从用户当前位置K到可能上车点p11的转移概率为0.11(即(80×0.15)/(80×0.15+120×0.15+50×0.35+160×0.35))。类似地,p12、p21和p22的转移概率可以分别为0.16、0.16和0.57。由于p22具有最高的转移概率,所以可以将p22指定为用户的推荐上车点。
在一些实施例中,在将所提取的特征数据输入到训练的模型之前,可以对所提取的特征数据的至少一部分进行预处理。例如,可以对提取的特征数据进行预处理,以生成具有预设维度的向量。预处理后的特征数据可以输入上车点推荐模型,以及确定每个可能上车点的转移概率作为上车点推荐模型的输出。
在一些实施例中,上车点推荐模型可以是机器学习模型。机器学习模型可以包括深度信任网络(DBN)、堆叠自动编码器(SAE)、逻辑回归(LR)模型、支持向量机(SVM)模型、决策树模型、朴素贝叶斯模型、随机森林模型或限制波尔兹曼机(RBM)、梯度提升决策树(GBDT)模型、LambdaMART模型、自适应增强模型、循环神经网络(RNN)模型、卷积网络模型、隐马尔可夫模型、感知器神经网络模型,Hopfield网络模型等,或其任意组合。在一些实施例中,上车点推荐模型可以是GBDT模型。可以对上车点推荐模型进行训练,以基于输入上车点推荐模型的提取特征数据确定每个可能上车点的转移概率。关于上车点推荐模型的训练的详细描述可以在其他地方公开,例如,图7及其描述。
在一些实施例中,可以从确定的转移概率识别最大转移概率,并且可以将具有最大转移概率的可能上车点指定为用户的推荐上车点。仅通过示例的方式,所有确定的转移概率可以根据转移概率的值进行排序,例如,按降序排列,并且可以将具有最大转移概率的可能上车点指定为用户的推荐上车点。在一些实施例中,可以识别并向用户推荐对应于最大转移概率的多个可能上车点以供选择。
步骤650,将推荐上车点发送到用户的终端设备。在一些实施例中,推荐上车点可以由I/O模块430或通信模块440通过网络120传输。
在一些实施例中,推荐上车点可以显示在安装在用户终端设备(例如,乘客终端130)中的按需服务应用程序(例如,网约车服务应用程序)的用户界面上。仅为说明目的,可以在包括用户当前位置的数字地图中显示推荐上车点,并且可以提供从用户当前位置到推荐上车点的步行导航。还可以允许用户手动调整推荐上车点,例如,通过将表示推荐上车点的图标拖动到地图上的另一个位置。
应当注意的是,上述描述仅用于说明目的,并不旨在限制本公开的范围。对于具有本领域普通技术人员,可以根据本公开的教导进行多种变化和修改。例如,所获得的数据、所提取的特征数据、所确定的转移概率和/或所推荐上车点可以存储在能够在上车点推荐系统100中存储数据的存储设备中。然而,这些变化和修改属于本公开的范围。
图7是根据本公开的一些实施例示出的训练上车位置推荐模型示例性流程的流程图。在一些实施例中,图7所示的流程700可以在图1所示的上车点推荐系统100中实现。例如,流程700的至少一部分可以作为指令形式存储在存储介质(例如,计算设备200的磁盘270)中,并由服务器110(例如,计算设备200的处理器220、图4所示的处理模块420或模型训练单元520)调用和/或执行。在一些实施例中,流程700的一部分可以在终端设备上实现。下面给出的所示流程700的操作旨在进行说明。在一些实施例中,流程700可以通过一个或多个未描述的附加操作和/或无需讨论的一个或多个操作来完成。此外,图7所示和下面描述的流程700的操作的顺序并不旨在是限制性的。
步骤710,可以随机提取由至少一个用户下发的多个历史订单。在一些实施例中,历史订单可以是网约车服务订单。网约车服务订单可能包括拼车订单、拼车服务订单、快递服务订单、专车服务订单、打车订单、共享车辆调度订单等。
在一些实施例中,随机提取的历史订单可以是由至少一个用户(例如,乘客)下发的订单。历史订单可以由至少一名用户在过去一段时间内(例如,上周、上个月、去年等)下发和履行。例如,可以获得200个用户在2019年3月1日至2019年5月1日期间下发的历史订单,用于训练上车点推荐模型。
在一些实施例中,可以从存储设备中随机提取历史订单,例如,从存储器160、RAM240、磁盘270、存储器390或能够存储数据的其他存储器设备。例如,不同类型的网约车服务订单可以通过网络120从存储器160中随机提取。在一些实施例中,可以提取不同类型的网约车服务订单并混合在一起,以训练上车点推荐模型,用于推荐上车点。在一些实施例中,提取的不同类型的网约车服务订单可用于分别训练不同的上车点推荐模型,用于为每种类型的网约车服务订单推荐上车点。
步骤720,从提取的下发订单中获取,下发订单时用户的位置,形成一组用户位置集合,与每个用户位置相关联的一组训练历史位置集合,以及与一组训练历史位置集合相对应的一组训练可能上车点集合。在一些实施例中,用于从所提取的订单中获取用户在下发订单时的位置以形成用户位置集合、与每个用户位置相关联的训练历史位置集合,以及与训练历史位置集合相对应的训练可能上车点集合可以与步骤610中的操作相同或类似。至少一个用户的用户位置、训练历史位置、训练可能上车点、训练历史上车点以及下文所述的训练历史订单可以分别与所述用户的当前位置、历史位置、可能上车点、历史上车点和历史订单相似,但用户位置、训练历史位置、训练可能上车点、训练历史上车点和训练历史订单可以从至少一个用户先前下发的订单中获得,并用于训练上车点推荐模型。
在一些实施例中,还可以获得所提取的每个历史订单的订单信息。每个提取的历史订单的订单信息可以包括订单号、上车点、用户地点、目的地、出发时间、到达时间、可接受的等待时间、乘客人数、行李信息、里程信息、是否携带宠物、用户习惯/偏好(例如,车辆类型、车辆后备箱大小、车辆负载等)、是否接受拼车和/或拼车、价格、请求者提出的价格、服务提供者调整的价格、系统调整的价格、优惠券的使用、支付方式(例如,现金支付、信用卡支付、网上支付、汇款支付等)、订单的完成状态等,或其任意组合。在一些实施例中,订单信息还可以包括其他与订单相关的信息,例如,天气状况、环境状况、道路状况(例如,由于安全、道路建设等原因而封闭道路)、交通状况等或其任意组合。在一些实施例中,对于每个用户,在下发订单时,可以从提取的历史订单的订单信息中获得用户的各种类型的位置。
在一些实施例中,可以从提取订单的订单信息中获得至少一个用户的用户位置。当用户下历史订单时,用户的终端设备(例如,乘客终端130)可以使用定位设备170确定至少一个用户中每个用户的用户位置。乘客终端130可以是具有内置全球定位系统(GPS)模块的移动电话,用户的用户位置可以由内置GPS模块确定。
在一些实施例中,可以获得与每个用户位置相关联的一组训练历史位置。在一些实施例中,可以确定距离每个用户位置的第二预设距离内的区域。第二预设距离可由技术人员根据上车点推荐系统100的默认设置等来确定。例如,第二预设距离可能是20米、50米、100米、150米等。在一些实施例中,第二预设距离可以与第一预设距离相同。对于每个用户位置,可以提取一组训练历史订单。
以用户的用户位置为例,可以提取在距离用户位置的第二预设距离内的区域中定位位置的用户的一组训练历史订单。定位位置可以是当用户下发训练历史订单时,用户的终端设备(例如,乘客终端130)使用定位设备170提供的用户的位置。所定位的位置也可以被称为训练历史位置。在一些实施例中,可以从训练历史订单集合中获得训练历史位置集合。可以确定训练历史位置集合与用户位置相关联,因为训练历史位置集合在距离用户位置的第二预设距离内。在一些实施例中,训练历史订单的订单信息还可以包括训练历史上车点。训练历史上车点是指用户在下发和完成训练历史订单时选择的实际上车点。在一些实施例中,可以获得与用户的训练历史位置集合相对应的训练可能上车点集合。例如,用户的一个或多个训练可能上车点可以对应于用户的训练历史位置集合中的每一个。在一些实施例中,可以根据聚类算法和训练历史上车点集合确定与用户的训练历史上车点集合对应的训练可能上车点集合。示例聚类算法可以包括K均值聚类、均值漂移聚类、基于密度的带噪声的应用空间聚类(DBSCAN)、图共同体检测、聚类层次聚类、密度峰值聚类(DPC)算法等,或其任意组合。
步骤730,可以从用户位置集合、训练历史位置集合和训练可能上车点集合中提取训练特征数据。步骤730提取的训练特征数据可以用于训练初步上车点推荐模型。初步上车点推荐模型可以存储在存储器160或其他能够存储数据的存储设备中(例如,RAM 240、磁盘270、存储器390等)。在一些实施例中,初步上车点推荐模型可以是GBDT模型。
在一些实施例中,用于从步骤730中的用户位置集合、训练历史位置集合和训练可能上车点集合提取训练特征数据的操作可以与在步骤620用于从当前位置、多个历史位置以及对应于用户的多个历史位置中的每一个的一个或多个可能上车点中的操作类似或相同。仅为说明目的,从用户的用户位置、与用户位置相关联的一组训练历史位置以及与该训练历史位置集合相对应的训练可能上车点集合提取的特征数据可以包括从用户的用户位置到每个训练可能上车点的训练距离、每个训练可能上车点的训练热度值、与训练可能上车点相关联的每个路段的训练热度值、与训练可能上车点相关联的每个路线的训练热度值、每个训练可能上车点的训练历史定点率,或其任意组合。
在一些实施例中,确定从用户位置到每个训练可能上车点的训练距离、每个训练可能上车点的训练热度值、与训练可能上车点相关联的每个路段的训练热度值、与训练可能上车点相关联的每条路线的训练热度值以及每个训练可能上车点的训练历史定点率,可以与在步骤620中描述的确定用户的当前位置到每个可能上车点之间的距离、每个可能上车点的热度值、与可能上车点相关联的每个路段的热度值、与可能上车点相关联的每条路线的热度值以及每个可能上车点的历史定点率近似或相同。
例如,从用户的用户位置到每个训练可能上车点的训练距离可以指用户的用户位置和每个训练可能上车点之间的直线距离。在一些实施例中,用户的用户位置和每个训练可能上车点的地理坐标可以由用户的终端设备(例如,乘客终端130)使用定位设备170提供。可以基于用户的用户位置和每个训练可能上车点的地理坐标来确定从用户的用户位置到每个训练可能上车点的训练距离。
作为另一示例,每个训练可能上车点的训练热度值可以表示每个训练可能上车点相对于与用户的用户位置相关联的训练可能上车点集合的受欢迎程度。在一些实施例中,可以基于包括对应于某个训练历史位置的训练可能上车点的训练历史订单数量来确定训练可能上车点的训练热度值。
作为另一示例,与训练可能上车点相关联的每个路段的训练热度值可以表示该路段相对于训练可能上车点的受欢迎程度。在一些实施例中,路段可以包括一个或多个训练可能上车点。在一些实施例中,可以基于与路段相关联的训练可能上车点的训练热度值来确定与训练可能上车点相关联的每个路段的训练热度值。在一些实施例中,与训练可能上车点相关联的每个路段的训练热度值可以是与该路段相关联的训练可能上车点的训练热度值的总和。
作为另一示例,与训练可能上车点相关联的每条路线的训练热度值可以基于该路线上训练可能上车点的训练热度值或该路线上各路段的训练热度值来确定。
作为又一示例,每个训练可能上车点的训练历史定点率可以表示用户在相对于与用户的用户位置相关联的训练可能上车点集合中选择一个训练可能上车点作为实际上车点的概率。在一些实施例中,每个训练可能上车点的训练历史定点率是包括该训练可能上车点的训练历史订单数量与训练历史订单总数的比值。
步骤740,可以确定从每个用户位置到对应的每个训练可能上车点的训练转换概率。这里的训练转移概率是指马尔可夫链中从给定状态(例如,用户位置)转移到另一个状态(例如,训练可能位置)的条件概率。在一些实施例中,训练转移概率的确定可以与步骤630中描述的转移概率的确定类似或相同。
在一些实施例中,从用户的用户位置到训练可能上车点的训练转移概率可以表示为,与用户的用户位置相关联的训练历史位置对应的训练可能上车点的训练热度值与训练历史位置对应的所有训练可能上车点的训练热度值的总和的比值,其中,与用户的用户位置相关联的训练历史位置对应的训练可能上车点的训练热度值同时考虑到训练可能上车点的权重,与训练历史位置对应的所有训练可能上车点的训练热度值的总和同时考虑到各训练可能上车点的权重。在一些实施例中,训练可能上车点的权重可以与用户的用户位置到与训练可能上车点对应的训练历史位置之间的距离有关。
步骤750,为每个训练可能上车点标记对应的训练转移概率。在一些实施例中,上车点推荐模型可以是有监督学习模型。提取的特征数据可以包括用于上车点推荐模型的示例输入和指示与示例输入对应的期望输出(即训练转移概率)的标签。训练监督学习模型的过程可以使上车点推荐模型学习将输入映射到相应输出的一般规则。可以用于训练上车点推荐模型的示例算法可以包括梯度增强决策树(GBDT)算法、决策树算法、随机森林算法、逻辑回归算法、支持向量机(SVM)算法、朴素贝叶斯算法、AdaBoost算法、K最近邻(KNN)算法、马尔可夫链算法等,或其任意组合。
步骤760,可以将带有标记的训练可能上车点输入模型中进行初步上车点推荐模型训练,以获得训练好的上车点推荐模型。
在一些实施例中,可以在迭代训练过程中训练上车点推荐模型。在迭代训练过程中,可以更新上车点推荐模型的参数(例如,权重)。在一些实施例中,当满足预设条件时,迭代训练过程可以终止。在一些实施例中,预设条件可以与算法的限制(例如,阈值)相关,当算法满足该限制时,迭代可以终止。例如,算法可以是一个损失函数。仅为说明,在上车点推荐模型的训练过程中,当损失函数达到收敛时,迭代可以终止。在一些实施例中,预设条件可以包括要执行的最大迭代周期(例如,十个周期),并且当执行最大迭代周期时(即,满足预设条件),迭代可以终止。最大周期可以由技术人员设置,根据上车点推荐系统100的默认设置,或两者的组合来设置。
在一些实施例中,可将训练好的上车点推荐模型发送到服务器(例如,云服务器)或一个或多个终端(例如,移动设备300)以进行上车点推荐。在一些实施例中,训练过的上车点推荐模型可以保存到存储设备(例如,存储器160)中用于存储。
图8是根据本公开的一些实施例示出的用于确定可能上车点的热度值、与可能上车点相关联的路段的热度值以及与可能上车点相关联的路线的热度值的示例流程的流程图。下面所示流程800的操作旨在说明。在一些实施例中,流程800可以通过一个或多个未描述的附加操作和/或无需讨论的一个或多个操作来完成。此外,图8所示和下面描述的流程800的操作的顺序并不旨在是限制性的。
步骤810,可以确定可能上车点的热度值。每个可能上车点的热度值可以表示每个可能上车点相对于其他可能上车点的受欢迎程度。在一些实施例中,可以基于将可能上车点作为实际上车点的历史订单数量确定可能上车点的热度值,该可能上车点对应于某个历史位置。在一些实施例中,可能上车点的热度值pos_weight_p1可以是使用可能上车点p1作为实际上车点下发的历史订单的数量。可能上车点p1可以对应于历史位置mn。历史订单可以是用户在过去一段时间内下发的订单,例如,上周、上个月、去年等。
例如,如果使用可能上车点p1作为实际上车点的历史订单数量为80,可能上车点p1对应于历史位置mn,则可能上车点p1的热度值可能为80。再例如,如果使用可能上车点p2作为实际上车点的历史订单数量为110,可能上车点p2对应历史位置mn,则可能上车点p2的热度值可能为110。
步骤820,可以基于路段上的可能上车点的数量,确定与可能上车点相关联的每个路段的热度值。在一些实施例中,可以确定数字道路地图的道路网络中的元素,该元素包括用户的当前位置、与用户的当前位置相关联的历史位置以及对应于每个历史位置的一个或多个可能上车点。示例元素可能包括节点、路段等。节点一般是指路网中道路的交叉点或连接点,路段一般是指道路网络中连接两个不同节点的link。在一些实施例中,从一个地方到另一个地方的路线可以包括一个或多个路段。例如,长安路的一条路线可以在地图上被映射为五个路段,例如,通过手动标注映射。这五个路段可以通过其节点逐一连接,构成长安路的路线。在一些实施例中,路段可以包括一个或多个可能上车点。与一个或多个可能上车点相关联的每个路段的热度值可以表示每个路段的受欢迎程度。
在一些实施例中,与可能上车点相关联的每个路段的热度值可以基于与该路段相关联的可能上车点的热度值来确定。在一些实施例中,与可能上车点相关联的每个路段的热度值可以是与该路段相关联的可能上车点的热度值的总和。例如,包括可能上车点p1和可能上车点p2的路段可以具有pos_weight_p1+pos_weight_p2的热度值,即190。
步骤830,基于路线上的路段数量,确定与可能上车点相关联的路线的热度值。可以基于路线上可能上车点的热度值或路线上各路段的热度值来确定与可能上车点相关联的每条路线的热度值。在一些实施例中,与可能上车点相关联的每条路线的热度值可以是与该路线上可能上车点相关联的路段的热度值的总和。例如,路线可以包括第一路段和第二路段。第一路段包括可能上车点p1和p2,第一路段(L1)的热度值可以是pos_weight_p1+pos_weight_p2。第二路段包括可能上车点p3和p4,第二路段(L2)的热度值可以是pos_weight_p3+pos_weight_p4。因此,路线的热度值是L1和L2的组合,等于pos_weight_p1+pos_weight_p2+pos_weight_p3+pos_weight_p4。
在一些实施例中,与可能上车点相关联的每条路线的热度值可以是该路线上可能上车点的热度值的总和。例如,包括可能上车点p1、可能上车点p2、可能上车点p3和可能上车点p4的路线,其热度值可以是pos_weight_p1+pos_weight_p2+pos_weight_p3+pos_weight_p4。
图9是根据本公开的一些实施例示出的用户的当前位置910、与当前位置相关联的多个历史位置920、930,多个历史位置中的每一个相对应的一个或多个可能上车点940、945、950、955之间的关系的示意图。当用户打开一个按需服务应用程序时,可以确定用户910的当前位置K。在一些实施例中,如图1所示,用户910的当前位置K可以由用户终端设备(例如,乘客终端130)使用定位设备170来确定。在一些实施例中,用户的终端设备可以是具有内置全球定位系统(GPS)模块的移动电话,用户的当前位置可以由内置GPS模块确定。
在获得用户910的当前位置K之后,可以确定距离用户910的当前位置K的第一预设距离内的历史区域。第一预设距离可以是20米、50米、100米、150米等。可以从存储多个历史订单的存储介质中提取用户910在具有距离当前位置K的第一预设距离内的历史区域中的历史位置的多个历史订单。例如,第一历史位置m1 920可以从用户下发的第一历史订单中提取,第二历史位置m2 930可以从用户下发的第二历史订单中提取。第一历史位置m1 920和第二历史位置m2 930可以在距离用户910的当前位置K的第一预设距离内。同时,可以从第一历史订单和第二历史订单中分别提取第一历史上车点p1′和第二历史上车点p2′(图中未显示)。
然后,可以获得与用户的第一历史位置m1 920和第二历史位置m2 930的每一个相对应的一个或多个可能上车点。如图9所示,可以确定用户的第一历史位置m1相对应的可能上车点p11 940和p12 945,以及与用户的第二历史位置m2对应的可能上车点p21 950和p22955。在一些实施例中,可以根据第一历史上车点p1′确定可能上车点p11和p12,并且可以根据第二历史上车点p2′确定可能上车点p21和p22,每个都使用聚类算法。示例聚类算法可以包括K均值聚类、均值漂移聚类、基于密度的带噪声的应用空间聚类(DBSCAN)、图共同体检测、聚类层次聚类、密度峰值聚类(DPC)算法等,或其任意组合。
上文已对基本概念做了描述,显然,对于阅读本说明书后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本说明书的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。因此,本说明书的各方面可以完全以硬件,完全以软件(包括固件、常驻软件、微代码等)或通过组合软件和硬件的实现方式来实现,这些实现方式在本文中通常都统称为“单元”、“模块”或“系统”。此外,本说明书的各方面可以采取体现在其上体现有计算机可读程序代码的一个或多个计算机可读介质中体现的计算机程序产品的形式。
计算机可读信号介质可以包含一个内含有计算机程序代码的传播数据信号,例如,在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。
可以以一种或多种编程语言的任何组合来编写用于执行本说明书的各方面的操作的计算机程序代码,所述编程语言包括诸如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,Visual Basic、Fortran 2103、Perl、COBOL 2102、PHP、ABAP、动态编程语言(如Python、Ruby和Groovy)或其他编程语言。程序代码可以完全在用户计算机上执行,部分在用户计算机上作为独立软件包执行,部分在用户计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者可以与外部计算机建立连接(例如,通过使用网络服务提供商的网络)或在云计算环境中提供服务,例如软件服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其它名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,尽管上述各种组件的实现可以体现在硬件设备中,但也可以实现为纯软件解决方案,例如,在现有服务器或移动设备上的安装。
类似地,应该理解的是,在本说明书的实施例的前述描述中,为了简化本说明书的目的,有时将各种特征分组在单个实施例、图或其描述中,以帮助理解各种实施例中的一个或多个。然而,这种公开方法不应被解释为反映这样一种意图,即所要求保护的主题需要比每个权利要求中明确列举的更多的特征。相反,所要求保护的主题可以存在于单个前述说明书的实施例的少于所有的特征中。
Claims (23)
1.一个系统,包括:
至少一个存储设备,用于存储一组指令;以及
至少一个处理器,被配置为与所述至少一个存储设备通信,其中,当执行所述指令时,所述至少一个处理器被指示执行操作,所述操作包括:
获取并存储用户的当前位置、与所述用户的当前位置相关联的多个历史位置以及与所述用户的所述多个历史位置中的每一个相对应的一个或多个可能上车点;
从所述用户的所述当前位置、所述多个历史位置以及与所述多个历史位置中的每一个相对应的所述一个或多个可能上车点中提取特征数据;
将提取的所述特征数据输入上车点推荐模型,确定每个所述可能上车点的转移概率;以及
基于所确定的每个所述可能上车点的所述转移概率确定所述用户的推荐上车点。
2.根据权利要求1所述的系统,其特征在于,还包括:
将所述推荐上车点发送到所述用户的终端设备。
3.根据权利要求1或2所述的系统,其特征在于,所述多个历史位置在所述用户的所述当前位置的预设距离内。
4.根据权利要求1-3中任一项所述的系统,其特征在于,提取的所述特征数据包括:
从所述用户的所述当前位置到每个所述可能上车点的距离,
每个所述可能上车点的热度值,
与所述可能上车点相关联的每个路段的热度值,
与所述可能上车点相关联的每个路线的热度值,或
每个所述可能上车点的历史定点率,其中,所述历史定点率是与所述可能上车点相关联的订单数量和与所有可能上车点相关联的订单数量的比值。
5.根据权利要求4所述的系统,其特征在于,还包括确定以下中的至少一个:
基于使用所述可能上车点作为实际上车点的历史订单数量,计算每个所述可能上车点的热度值,
基于路段上的所述可能上车点的热度值,确定与所述可能上车点相关联的每个路段的热度值,以及
基于路线上的所述可能上车点的热度值,确定与所述可能上车点相关联的每个路线的热度值。
6.根据权利要求1-5中任一项所述的系统,其特征在于,所述上车点推荐模型包括梯度提升决策树(GBDT)模型。
7.根据权利要求1-6中任一项所述的系统,其特征在于,还包括通过以下方式训练所述上车点推荐模型:
随机提取由至少一个用户下发的多个历史订单;
从提取的下发订单中获取,
下发订单时所述用户的位置,形成一组用户位置集合,
与每个用户位置相关联的一组训练历史位置集合,以及
与所述一组训练历史位置集合相对应的一组训练可能上车点集合;
从所述用户位置集合、所述训练历史位置集合和所述训练可能上车点集合中提取训练特征数据;
确定从每个所述用户位置到对应的每个所述训练可能上车点的训练转移概率;
为每个所述训练可能上车点标记对应的训练转移概率;以及
将带有标记的训练可能上车点输入模型中进行初步上车点推荐模型训练,以获得训练好的上车点推荐模型。
8.根据权利要求1-7中任一项所述的系统,其特征在于,还包括:将与所述可能上车点对应的所述历史位置相关联的热度值,基于各自的权重进行相加,以确定所述转移概率。
9.根据权利要求8的系统,其特征在于,所述权重是所述用户的所述当前位置和所述历史位置之间的距离。
10.根据权利要求1-9中任一项所述的系统,其特征在于,基于所确定的所述转移概率确定所述推荐上车点,包括:
从所确定的所述转移概率中确定最大转移概率;以及
指定具有所述最大转移概率的可能上车点作为所述用户的推荐上车点。
11.根据权利要求1-10中任一项所述的系统,其特征在于,基于历史上车点和聚类算法确定与所述多个历史位置中的每一个相对应的所述一个或多个可能上车点。
12.一种在设备上实现的方法,所述设备具有存储指令的至少一个计算机可读存储介质和执行所述指令为用户推荐上车点的至少一个处理器,所述方法包括:
获取并存储用户的当前位置、与所述用户的当前位置相关联的多个历史位置以及与所述用户的所述多个历史位置中的每一个相对应的一个或多个可能上车点;
从所述用户的所述当前位置、所述多个历史位置以及与所述多个历史位置中的每一个相对应的所述一个或多个可能上车点中提取特征数据;
将提取的所述特征数据输入上车点推荐模型,确定每个所述可能上车点的转移概率;以及
基于所确定的每个所述可能上车点的所述转移概率确定所述用户的推荐上车点。
13.根据权利要求12所述的方法,其特征在于,还包括:
将所述推荐上车点发送到所述用户的终端设备。
14.根据权利要求12或13所述的方法,其特征在于,所述多个历史位置在所述用户的所述当前位置的预设距离内。
15.根据权利要求12-14中任一项所述的方法,其特征在于,提取的所述特征数据包括:
从所述用户的所述当前位置到每个所述可能上车点的距离,
每个所述可能上车点的热度值,
与所述可能上车点相关联的每个路段的热度值,
与所述可能上车点相关联的每个路线的热度值,或
每个所述可能上车点的历史定点率,其中,所述历史定点率是与所述可能上车点相关联的订单数量和与所有可能上车点相关联的订单数量的比值。
16.根据权利要求15所述的方法,其特征在于,还包括确定以下中的至少一个:
基于使用所述可能上车点作为实际上车点的历史订单数量,计算每个所述可能上车点的热度值,
基于路段上的所述可能上车点的热度值,确定与所述可能上车点相关联的每个路段的热度值,以及
基于路线上的所述可能上车点的热度值,确定与所述可能上车点相关联的每个路线的热度值。
17.根据权利要求12-16中任一项所述的方法,其特征在于,所述上车点推荐模型包括梯度提升决策树(GBDT)模型。
18.根据权利要求12-17中任一项所述的方法,其特征在于,还包括通过以下方式训练所述上车点推荐模型:
随机提取由至少一个用户下发的多个历史订单;
从提取的下发订单中获取,
下发订单时所述用户的位置,形成一组用户位置集合,
与每个用户位置相关联的一组训练历史位置集合,以及
与所述一组训练历史位置集合相对应的一组训练可能上车点集合;
从所述用户位置集合、所述训练历史位置集合和所述训练可能上车点集合中提取训练特征数据;
确定从每个所述用户位置到对应的每个所述训练可能上车点的训练转移概率;
为每个所述训练可能上车点标记对应的训练转移概率;以及
将带有标记的训练可能上车点输入模型中进行初步上车点推荐模型训练,以获得训练好的上车点推荐模型。
19.根据权利要求12-18中任一项所述的方法,其特征在于,还包括:将与所述可能上车点对应的所述历史位置相关联的热度值,基于各自的权重进行相加,以确定所述转移概率。
20.根据权利要求19所述的方法,其特征在于,所述权重是所述用户的所述当前位置和所述历史位置之间的距离。
21.根据权利要求12-20中任一项所述的方法,其特征在于,基于所确定的所述转移概率确定所述推荐上车点,包括:
从所确定的所述转移概率中确定最大转移概率;以及
指定具有所述最大转移概率的可能上车点作为所述用户的推荐上车点。
22.根据权利要求12-21中任一项所述的方法,其特征在于,基于历史上车点和聚类算法确定与所述多个历史位置中的每一个相对应的所述一个或多个可能上车点。
23.一种非暂时性计算机可读存储介质,包括指令,当被系统的至少一个处理器访问时,所述指令使所述系统执行方法,所述方法包括:
获取并存储用户的当前位置、与所述用户的当前位置相关联的多个历史位置以及与所述用户的所述多个历史位置中的每一个相对应的一个或多个可能上车点;
从所述用户的所述当前位置、所述多个历史位置以及与所述多个历史位置中的每一个相对应的所述一个或多个可能上车点中提取特征数据;
将提取的所述特征数据输入上车点推荐模型,确定每个所述可能上车点的转移概率;以及
基于所确定的每个所述可能上车点的所述转移概率确定所述用户的推荐上车点。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/124869 WO2022087971A1 (en) | 2020-10-29 | 2020-10-29 | Systems and methods for recommending pick-up location |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116457778A true CN116457778A (zh) | 2023-07-18 |
Family
ID=81381722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080106667.3A Pending CN116457778A (zh) | 2020-10-29 | 2020-10-29 | 推荐上车点的系统和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116457778A (zh) |
WO (1) | WO2022087971A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170059347A1 (en) * | 2015-08-28 | 2017-03-02 | Google Inc. | Determining Improved Pick-Up Locations |
CN108537351B (zh) * | 2017-03-02 | 2020-09-22 | 北京嘀嘀无限科技发展有限公司 | 一种推荐上车点的确定方法及装置 |
CN109325185B (zh) * | 2018-07-16 | 2020-01-03 | 北京三快在线科技有限公司 | 一种确定上车点的方法、装置、设备及存储介质 |
US11041733B2 (en) * | 2018-10-22 | 2021-06-22 | International Business Machines Corporation | Determining a pickup location for a vehicle based on real-time contextual information |
CN111832789A (zh) * | 2019-09-24 | 2020-10-27 | 北京嘀嘀无限科技发展有限公司 | 位置确定方法、模型训练方法、装置、设备和存储介质 |
CN111652676A (zh) * | 2020-05-22 | 2020-09-11 | 汉海信息技术(上海)有限公司 | 上车点推荐的方法、装置、设备及存储介质 |
-
2020
- 2020-10-29 WO PCT/CN2020/124869 patent/WO2022087971A1/en active Application Filing
- 2020-10-29 CN CN202080106667.3A patent/CN116457778A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022087971A1 (en) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020201991B2 (en) | Systems and methods for recommending an estimated time of arrival | |
US20200011692A1 (en) | Systems and methods for recommending an estimated time of arrival | |
CN109478364B (zh) | 确定预计到达时间的方法及系统 | |
US11085792B2 (en) | Systems and methods for determining estimated time of arrival | |
US11631027B2 (en) | Systems and methods for allocating service requests | |
WO2018227325A1 (en) | Systems and methods for determining an estimated time of arrival | |
US20200300650A1 (en) | Systems and methods for determining an estimated time of arrival for online to offline services | |
WO2018209551A1 (en) | Systems and methods for determining an estimated time of arrival | |
EP3566149B1 (en) | Systems and methods for updating poi information | |
WO2019037549A1 (en) | SYSTEM AND METHOD FOR DESTINATION PREDICTION | |
CN111954891B (zh) | 一种跨业务的共享汽车资源复用方法 | |
WO2021087663A1 (en) | Systems and methods for determining name for boarding point | |
WO2022087971A1 (en) | Systems and methods for recommending pick-up location | |
WO2020164161A1 (en) | Systems and methods for estimated time of arrival (eta) determination | |
WO2022087767A1 (en) | Systems and methods for recommending pick-up locations |
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 |