首页> 中国专利> 用于生成个性化目的地推荐的系统和方法

用于生成个性化目的地推荐的系统和方法

摘要

提供了用于生成训练后的目的地预测模型的方法和系统。该方法可以包括获取对应于多个用户的多个历史订单,并确定与该多个历史订单相关联的多个第一特征和多个第二特征。该方法还可以包括通过关联多个第二特征来基于多个第一特征和多组交叉特征来确定多个变换特征。该方法还可以包括获取初步目的地预测模型并训练初步目的地预测模型以基于多个变换特征和多组交叉特征来获取训练后的目的地预测模型。

著录项

  • 公开/公告号CN112236787A

    专利类型发明专利

  • 公开/公告日2021-01-15

    原文格式PDF

  • 申请/专利权人 北京嘀嘀无限科技发展有限公司;

    申请/专利号CN201880094363.2

  • 发明设计人 陈然;陈欢;宋奇;

    申请日2018-06-08

  • 分类号G06Q10/04(20060101);

  • 代理机构51253 成都七星天知识产权代理有限公司;

  • 代理人袁春晓

  • 地址 100193 北京市海淀区东北旺路西路8号院34号楼

  • 入库时间 2023-06-19 09:33:52

说明书

技术领域

本申请涉及用于提供目的地推荐的系统和方法,具体地,涉及一种使用目的地预测模型生成个性化目的地推荐的系统和方法。

背景技术

线上到线下服务,如在线出租车服务在人们的日常生活中越来越受欢迎。通常,服务请求者(例如,乘客)可以通过在安装在他或她的智能手机中的线上到线下服务提供应用(例如,Didi App)中输入目的地来发起线上到线下请求。服务提供者(例如,司机)可以接受线上到线下请求并且驾载服务请求者到他或她的目的地。每次当他或她发起线上到线下请求时,服务请求者可能必须在线上到线下服务提供应用程序中手动输入目的地。这可能既耗时又不方便。因此,亟需一种系统和方法可以为服务请求者生成个性化目的地推荐。

发明内容

根据本申请的一个方面,提供了一种方法。所述方法可以在计算装置上实现,所述计算装置具有至少一个储存装置,所述储存装置用于存储生成训练后的目的地预测模型的一组指令,以及至少一个与所述至少一个储存装置通信的处理器。所述方法可以包括,所述至少一个处理器获取与多个用户对应的多个历史订单。所述多个用户中的每一个用户对应于所述多个历史订单中的至少一个历史订单。所述方法可以进一步包括,所述至少一个处理器确定与所述多个历史订单相关联的多个第一特征和与所述多个历史订单相关联的多个第二特征。所述方法可以进一步包括,所述至少一个处理器基于所述多个第一特征使用基于统计的技术确定多个变换特征和通过关联所述多个第二特征来确定多组交叉特征。所述多组交叉特征中的每一组与所述多个用户中的一个相关联,并且基于对应的至少一个历史订单来确定。所述方法可以进一步包括,所述至少一个处理器获取初步目的地预测模型,和通过至少一个处理器训练所述初步目的地预测模型,以使用线性分类器基于所述多个变换特征和所述多组交叉特征获取训练后的目的地预测模型。

在一些实施例中,所述多个第一特征是稀疏特征和所述多个第二特征是稠密特征。

在一些实施例中,所述方法进一步包括获取当前用户的信息,和根据所述当前用户的信息和所述目的地预测模型来确定当前用户的候选目的地。

在一些实施例中,所述当前用户的信息包括当前用户的用户标识(ID)和当前位置。

在一些实施例中,所述方法可以进一步包括获取与所述多个历史订单对应的真实目的地。所述方法可以进一步包括生成多个正训练样本和多个负训练样本。所述多个正训练样本中的每一个正训练样本具有与所述真实目的地相同的目的地、变换特征和一组交叉特征。所述多个负训练样本中的每一个负训练样本与所述真实目的地有不同的目的地、变换特征和一组交叉特征。所述处理器可以基于所述多个正训练样本和所述多个负训练样本训练目的地预测模型。

在一些实施例中,所述多个变换特征包括以下中的至少一个:所述多个历史订单中的起始位置和目的地之间的距离、时间点、时间长度、多个历史订单中每个位置的访问频率、或选择多个历史订单中每个位置作为真实目的地的概率。

在一些实施例中,所述多组交叉特征中的每一组与对应用户的一个用户ID和对应于与所述用户相关联的所述至少一个历史订单中的至少一个目的地ID相关联。

在一些实施例中,确定所述交叉特征中的每一组包括:确定对应用户的一个用户ID;确定对应于与用户相关联的至少一个历史订单的至少一个目的地ID;和将用户ID与用户的至少一个目的地ID相关联以生成一组交叉特征。

在一些实施例中,所述基于统计的技术包括梯度提升决策树模型(GBDT)、随机森林模型(RF)或Xgboost模型中的至少一个。

在一些实施例中,所述线性分类器包括逻辑回归模型(LR)。

根据本申请的另一个方面,提供了一种系统。所述系统包括储存装置,用于存储一组指令;以及线上到线下服务平台的至少一个处理器用于与所述储存装置通信。当所述储存装置执行该指令时,所述至少有一个处理器可以被配置为使系统获取对应于多个用户的多个历史订单。所述多个用户中的每一个用户对应于所述多个历史订单中的至少一个历史订单。所述至少一个处理器可以进一步被配置为使系统确定与所述多个历史订单相关联的多个第一特征和与所述多个历史订单相关联的多个第二特征。所述至少一个处理器可以进一步被配置为使系统基于所述多个第一特征使用基于统计的技术来确定多个变换特征。所述至少一个处理器可以进一步被配置为使系统通过关联所述多个第二特征来确定多组交叉特征。所述多组交叉特征中的每一组与所述多个用户中的一个相关联,并且基于对应的至少一个历史订单来确定。所述至少一个处理器可以进一步被配置为使系统获取初步目的地预测模型。所述至少一个处理器可以进一步被配置为使系统训练所述初步目的地预测模型,以使用线性分类器基于所述多个变换特征和所述多组交叉特征获取训练后的目的地预测模型。

根据本申请的另一个方面,一种计算机可读介质可以包括至少一组指令,当由线上到线下服务平台的至少一个处理器访问时,所述包含指令的计算机可读介质使所述至少一个处理器获取对应于多个用户的多个历史订单。所述多个用户中的每一个用户对应于所述多个历史订单中的至少一个历史订单。所述包含指令的计算机可读介质使所述至少一个处理器确定与所述多个历史订单相关联的多个第一特征和与所述多个历史订单相关联的多个第二特征所述包含指令的计算机可读介质使所述至少一个处理器使用基于统计的技术基于所述多个第一特征来确定多个变换特征。所述包含指令的计算机可读介质使所述至少一个处理器通过关联所述多个第二特征来确定多组交叉特征。所述多组交叉特征与所述多个用户中的一个相关联,并且基于对应的至少一个历史订单来确定。所述包含指令的计算机可读介质使所述至少一个处理器获取初步目的地预测模型。所述包含指令的计算机可读介质使所述至少一个处理器训练所述初步目的地预测模型,以使用线性分类器基于所述多个变换特征和所述多组交叉特征获取训练后的目的地预测模型。

根据本申请的另一个方面,提供了一种用于生成训练目的地预测模型的系统。所述系统可以包括获取模块、特征生成模块和模型训练模块。所述获取模块可以用于获取对应于多个用户的多个历史订单。所述多个用户中的每一个用户对应于所述多个历史订单中的至少一个历史订单。所述特征生成模块可以用于确定与所述多个历史订单相关联的多个第一特征和与所述多个历史订单相关联的多个第二特征。所述特征生成模块可以进一步用于使用基于统计的技术基于所述多个第一特征来确定多个变换特征和通过关联所述多个第二特征来确定多组交叉特征。所述多组交叉特征与所述多个用户中的一个用户相关联,并且基于对应的至少一个历史订单来确定。所述模型训练模块可以用于获取初步目的地预测模型和训练所述初步目的地预测模型,以使用线性分类器基于所述多个变换特征和所述多组交叉特征获取训练后的目的地预测模型。

其他特征将在以下部分描述中进行阐述,并且在检视以下及随附图标之后,部分特征对于本领域的普通技术人员来讲是显而易见地,或可以通过实例的生产及操作来了解。本申请的特征可以通过对以下描述的具体实施例的各种方法、手段和组合的实践或使用得以实现和达到。

附图说明

本申请将结合示例性实施例进一步进行描述。这些示例性的实施例将结合参考图示进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的组件符号表示相同的结构,其中:

图1是根据本申请的一些实施例所示的一种示例性线上到线下服务系统的示意图;

图2是根据本申请的一些实施例所示的一种示例性计算装置的硬件和/或软件组件的示意图;

图3是根据本申请的一些实施例所示的一种示例性处理引擎的框图;

图4是根据本申请的一些实施例所示的一种示例性特征生成模块的框图;

图5是根据本申请的一些实施例所示的一种用于训练目的地预测模型的示例性流程的流程图;

图6是根据本申请的一些实施例所示的一种用于训练目的地预测模型的示例性流程的流程图;

图7-A是根据本申请的一些实施例所示的一种树模型示例性训练数据的示意图;

图7-B是根据本申请的一些实施例所示的一种示例性树模型的结构的示意图;

图7-C、图7-D和图7-E是根据本申请的一些实施例所示的一种模型和训练模型的示例性训练数据的示意图;

图8是根据本申请的一些实施例所示的一种示例性树模型的结构的示意图;

图9-A是根据本申请的一些实施例所示的一种多个特征之间的示例性相关性的示意图;

图9-B是根据本申请的一些实施例所示的一种示例性交叉特征的示意图;

图10是根据本申请的一些实施例所示的一种示例性Logistic回归模型的结构的示意图;以及

图11是根据本申请的一些实施例所示的一种用于确定服务请求的目的地的示例性流程的流程图。

具体实施方式

以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并在特定应用及其要求的上下文中提供。对于本领域的普通技术人员来讲,对本申请披露的实施例进行的各种修改是显而易见的,并且本文中定义的通则在不背离本申请的精神及范围的情况下,可以适用于其他实施例及应用。因此,本申请不限于所示的实施例,而是符合与申请专利范围一致的最广泛范围。

本文中所使用的术语仅用于描述特定示例性实施例,并不限制本申请的范围。如本文使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者装置也可能包含其它的步骤或元素。

在考虑了作为本申请一部分的附图的描述内容后,本申请的特征和特点以及操作方法、结构的相关元素的功能、各部分的组合、制造的经济性变得显而易见。然而,应当理解,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例的。

本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或多个其他操作添加到这些流程图中,或者从这些流程图中移除某一步或数步操作。一个或多个操作也可以从流程图中删除。此外,虽然本申请中公开的系统和方法主要是关于线上到线下服务来描述的,但是还应该理解,这仅是一个示例性实施例。

本申请的系统或方法可以应用于任何其他类型的线上到线下服务。例如,本申请的系统和方法可以应用于不同的运输系统,包括陆地、海洋、航空航天等或上述举例的任意组合。运输系统的车辆可包括出租车、私家车、挂钩、公共汽车、无人驾驶车辆等,或其任何组合。例如,马匹、人力车(两轮自行车、三轮车等)、出租车、专车、顺风车、巴士、火车、动车、高铁、地铁、船舶、飞机、飞船、热气球、无人驾驶的交通工具、收/送快递等应用了管理和/或分配的运输系统。本申请的系统或方法的应用场景可以包括网页、浏览器插件、客户端终端、定制系统、内部分析系统、人工智能机器人等或其任意组合。

本申请中的术语“乘客”、“请求者”、“服务请求者”和“客户”可用于表示请求或订购服务的个人、实体或工具,并且可互换使用。同样地,本申请描述的“司机”、“提供者”、“供应者”、“服务提供者”、“服务者”、“服务方”等也是可以互换的,是指提供服务或者协助提供服务的个人、工具或者其他实体等。另外,本申请描述的“用户”可以是需要或者订购服务的一方,也可以是提供服务或者协助提供服务的一方。例如,所述用户可以为乘客、司机、操作员等或其任意组合。在本申请中,术语“乘客”和“乘客终端”可以互换使用,术语“司机”和“司机终端”可以互换使用。

本申请中的术语“服务请求”是指由乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者、供应者等发起的请求、或其任何组合。该服务请求可以被乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者或供应者中的任一者接受。所述服务请求可以是收费的或免费的。

本申请中使用的定位技术可以包括全球定位系统(GPS)、全球卫星导航系统(GLONASS)、北斗导航系统(COMPASS)、伽利略定位系统、准天顶卫星系统(QZSS)、无线保真(无线网络)定位技术等中的一种,或类似或其任意组合。以上定位技术中的一个或多个可以在本申请中交换使用。

本申请的一个方面涉及用于训练目的地预测模型的系统和方法。在一些实施例中,对应于多个用户的多个历史订单可以作为训练样本和/或测试样本被获取并被用于训练和/或测试模型。多个用户中的每一个用户可以对应于多个历史订单中的至少一个历史订单。然后可以确定与多个历史订单相关联的特征。所述特征可以包括多个稀疏特征和多个稠密特征,其可以进一步用于获取多个变换特征和多组交叉特征(也被称为交叉特征集)。交叉特征也称为组合特征。交叉特征(或组合特征)可以对应于两个或以上不同特征之间的相关性。稀疏特征可以是特征的大多数元素为零的特征,而稠密特征可以是特征的大多数元素不为零的特征。在一些实施例中,可以根据特征的稠密程度(或稀疏程度)将特征指定为稠密特征或稀疏特征。特征的稠密程度可以被定义为特征(或对应于特征的矩阵)的非零元素的数量除以特征的元素的总数(或对应于特征的矩阵)。特征的稀疏程度可以被定义为特征的零值元素(或者与特征对应的矩阵)的数量除以特征的元素的总数(或者与特征对应的矩阵)。特征的稀疏程度和稠密程度的总和可以是1。例如,如果特征的稀疏程度大于稀疏程度阈值(或特征的稠密程度小于稠密程度阈值),则可以将特征指定为稀疏特征。如果特征的稀疏程度小于或等于稀疏程度阈值(或特征的稠密程度大于或等于稠密程度阈值),则可以将特征指定为稠密特征。仅作为示例,稀疏程度阈值可以是0和1之间的任何数字,例如0.95、0.80、0.65、0.50、0.35、0.20、0.05等。因此,稠密程度阈值可以是0.05、0.20、0.35、0.05、0.65、0.80、0.95等。示例性变换特征可以包括起始位置和目的地之间的距离、时间点、每个多个历史订单的时间长度、多个历史订单中的每个位置的访问频率、选择多个历史订单中的每个位置作为真实目的地等的概率、或其任何组合。示例性交叉特征集可以包括与目的地ID和起始位置ID相关的交叉特征、与目的地ID和起始时间相关的交叉特征、与目的地ID相关的交叉特征、用户起始位置ID和起始时间等,或其组合。可以基于变换特征和交叉特征集使用训练样本获取并训练初步目的地预测模型,并且可以相应地生成训练后的目的地预测模型。当用户在他或她的移动装置上发起针对应用的线上到线下服务请求时,训练的目的地预测模型可用于为用户生成一个或以上目的地。当用户发起服务请求时,本申请中公开的系统和方法可以根据用户的信息和历史订单推荐目的地,这可以减轻用户通过输入设备手动进入目的地的负担。此外,本申请中公开的系统和方法使用各种机器学习技术,例如构建新特征,以实现这里公开的功能,这可以减少预测目的地的计算要求。

图1是根据本申请的一些实施例所示的一种示例性线上到线下服务系统100的示意图。例如,线上到线下服务系统100可以是用于运输服务的在线运输服务平台,例如出租车、司机服务、食品订购和餐饮服务、食品配送服务、外卖服务、运送车辆、拼车、公共汽车服务、司机招聘和班车服务。线上到线下服务系统100可以是包括服务器110、网络120、请求者终端130、提供者终端140和储存装置150的平台。

在一些实施例中,服务器110可以是单一服务器或服务器组。该服务器组可以是集中式或分布式的(例如,服务器110可以是一分布式系统)。在一些实施例中,服务器110可以是本地的或远程的。例如,服务器110可通过网络120获取储存在请求者终端130,提供者终端140及/或储存装置150内的信息及/或数据。又例如,服务器110可以直接连接到请求者终端130、提供者终端140和/或储存装置150,以访问所存储的信息和/或数据(例如,经由电缆或端口)。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或上述举例的任意组合。在一些实施例中,服务器110可以在具有图2中所示的一个或以上组件的计算装置200上实现。

在一些实施例中,服务器110可以包括处理引擎112。该处理引擎112可处理与服务请求相关联的信息和/或数据来执行在本申请中公开的一个或者多个功能。例如,处理引擎112可从提供者终端140和/或储存装置150获取对应于多个用户的多个历史订单并训练目的地预测模型。在一些实施例中,所述处理引擎112可包括一个或者多个处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅仅作为示例,处理引擎112可以包括一个或多个硬件处理器,例如中央处理单元(CPU)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、图像处理单元(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可程序门阵列(FPGA)、可程序逻辑装置(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或上述举例的任意组合。

网络120可以促进信息和/或数据的交换。在一些实施例中,线上到线下服务系统100的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140和储存装置150)可以将信息和/或数据经由网络120发送到线上到线下服务系统100中的另一个组件。例如,服务器110可以经由网络120从请求者终端130、提供者终端140和/或储存装置150接收历史订单。在一些实施例中,网络120可以是有线网络或无线网络中的任意一种,或其组合。仅作为示例,网络120可以包括有线网络、有线网络、光纤网络、远程通信网络、内联网、互联网、局域区域网络(LAN)、广域网(WAN)、无线局部区域网络(WLAN)、城域网(MAN)、公共电话交换网(PSTN)、蓝牙网络、ZigBee网络、近场通信(NFC)网络等,或者任何组合。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可以包括有线或无线网络交换点,如基站和/或因特网交换点120-1、120-2、…,通过交换点,线上到线下服务系统100的一个或以上部件可以连接到网络120以交换数据和/或信息。

在一些实施例中,请求者可以是请求者终端130的一使用者。在一些实施例中,请求者终端130的使用者可以为除该请求者之外的其他人。例如,请求者终端130的用户A可以通过请求者终端130为用户B发送服务请求,或从服务器110处接收服务和/或信息或指令。在一些实施例中,提供者可以是提供者终端140的一用户。在一些实施例中,提供者终端130的用户可以为除该提供者之外的其他人。例如,提供者终端140的用户C可以为用户D通过提供者终端140接收服务请求和/或从服务器110处接收信息或指令。在一些实施例中,“请求者”和“请求者终端”可互换使用,“提供者”和“提供者终端”可互换使用。

在一些实施例中,请求者终端130可以包括移动装置130-

1、平板计算机130-2、膝上型计算机130-3、内建装置130-4等或其任意组合。在一些实施例中,移动装置130-1可以包括智能家居装置、可穿戴装置、智能移动装置、虚拟现实装置、增强现实装置等,或其任意组合。在一些实施例中,智能家居装置可以包括智能照明装置、智能电器的控制装置、智能监测装置、智能电视、智能视讯摄影机、对讲机等或其任意组合。在一些实施例中,该可穿戴装置可包括智能手镯、智能鞋袜、智能眼镜、智能头盔、智能手表、智能穿着、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动装置可以包括智能电话、个人数字助理(PDA)、游戏装置、导航装置、POS机等,或其任意组合。在一些实施例中,该虚拟现实装置和/或增强实境装置可包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强实境头盔、增强实境眼镜、增强实境眼罩等或其任意组合。例如,虚拟现实装置和/或增强现实装置可以包括Google GlassTM、RiftConTM、FragmentsTM、Gear VRTM等。在一些实施例中,机动车辆130-4中的内置装置可包括车载计算机、车载电视等。在一些实施例中,请求者终端130可以是具有用来确定请求者和/或请求者终端130位置的定位技术的装置。例如,请求者终端130可以包括被配置的GPS单元(例如,GPS微芯片或芯片组),用于确定与请求者终端130的位置有关的GPS信息。请求者终端130可以将由GPS单元确定的GPS信息发送到服务器110。

在一些实施例中,提供者终端140可以与请求者终端130类似或相同。在一些实施例中,提供者终端140可以是带有定位技术的装置,用于定位提供者和/或提供者终端140的位置。例如,提供者终端140可以包括被配置的GPS单元(例如,GPS微芯片或芯片组),用于确定与提供者终端140的位置有关的GPS信息。提供者终端140可以周期性地将由GPS单元确定的GPS信息发送到服务器110。在一些实施例中,请求者终端130和/或提供者终端140可以与另一个定位装置通信以确定请求者、请求者终端130、提供者和/或提供者终端140的位置。在一些实施例中,请求者终端130和/或提供者终端140可以向服务器110传送定位信息。

储存装置150可以储存数据及/或指令。在一些实施例中,储存装置150可以储存从请求者终端130及/或提供者终端140处获取的数据。在一些实施例中,储存装置150可以储存服务器110用来执行或使用来完成本申请中描述的示例性方法的数据及/或指令。在一些实施例中,储存装置150可包括大容量储存器、可移动储存器、易失性读写内存、只读存储器(ROM)等或其任意组合。示例性的可以移动储存器可以包括快闪驱动器、软盘、光盘、记忆卡、压缩碟、磁带等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性的挥发性只读存储器可以包括随机存取内存(RAM)。示例性的RAM可包括动态RAM(DRAM)、双倍速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、闸流体RAM(T-RAM)和零电容RAM(Z-RAM)等。示例性的ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(PEROM)、电子可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字通用磁盘ROM等。在一些实施例中,储存装置150可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或上述举例的任意组合。

在一些实施例中,储存装置150可以连接到网络120以与线上到线下服务系统100的一个或以上组件(例如,服务器110,请求者终端130,提供者终端140)通信。线上到线下服务系统100中的一个或以上组件可以经由网络120访问存储在储存装置150中的数据或指令。在一些实施例中,储存装置150可以直接连接到线上到线下服务系统100(例如,服务器110,请求者终端130,提供者终端140)中的一个或以上组件或与之通信。在一些实施例中,储存装置150可以是服务器110的一部分。

在一些实施例中,线上到线下服务系统100的一个或以上组件(例如,服务器110,请求者终端130,提供者终端140)可以访问储存装置150。在一些实施例中,当满足一个或以上条件时,线上到线下服务系统100的一个或以上组件可以读取和/或修改与请求者、提供者和/或公众有关的信息。例如,服务器110可以在线上到线下服务请求完成之后读取和/或修改一个或以上用户的信息。又例如,提供者终端140可以在从请求者终端130接收服务请求时访问与请求者有关的信息,但是提供者终端140可能不具有修改请求者的相关信息的许可。

在一些实施例中,与服务请求相关的对象可以是任何产品。在一些实施例中,产品可以是有形产品或无形产品。有形产品可以包括食物、药物、日用品、化学产物、电器用品、衣服、汽车、住宅、奢侈品等或其任意组合。该无形产品可以包括服务产品、金融产品、知识产品、互联网产品等或其任意组合。互联网产品可以包括个人主机产品、网站产品、移动互联网产品、商业主机产品、嵌入式产品等或上述举例的任意组合。移动互联网产品可以用于移动终端的软件、程序、系统等或其任意组合。移动终端可以包括平板电脑,笔记本电脑,移动电话,个人数字助理(PDA),智能手表,销售点(POS)装置,车载电脑,车载电视,可穿戴装置或者类似或其任何组合。例如,产品可以是在计算机或移动电话上使用的任一软件及/或应用。软件和/或应用可以与社交、购物、运输、娱乐、学习、投资等或其任意组合相关。在一些实施例中,与运输有关的软件和/或应用可以包括线上到线下服务提供应用、旅行软件和/或应用、车辆调度软件和/或应用、映射软件和/或应用等。在车辆调度软件和/或应用中,车辆可包括马、马车、人力车(例如,独轮车、自行车、三轮车)、汽车(例如,出租车、公共汽车、私人汽车)等或其任何组合。

本领域普通技术人员应当理解,当线上到线下服务系统100的元件执行时,该元件可以通过电信号和/或电磁信号执行。例如,当请求者终端130处理诸如做出确定、识别或选择对象的任务时,请求者终端130可以在其处理器中操作逻辑电路以处理这样的任务。当请求者终端130向服务器110发出服务请求时,请求者终端130的处理器可以生成编码服务请求的电信号。然后,请求者终端130的处理器可以将电信号发送到输出端口。如果请求者终端130经由有线网络与服务器110通信,则输出端口可以物理地连接到电缆,电缆还可以将电信号发送到服务器110的输入端口。如果请求者终端130经由无线网络与服务器110通信,则请求者终端130的输出端口可以是一个或以上天线,其可以将电信号转换为电磁信号。类似地,提供者终端140可以通过其处理器中的逻辑电路的操作来处理任务,并且经由电信号或电磁信号从服务器110接收指令和/或服务请求。在电子装置中,如请求者终端130、提供者终端140和/或服务器110在其处理器流程指令发出指令和/或执行动作时,指令和/或动作是通过电信号执行。例如,当处理器从存储介质(例如,储存装置150)检索或保存数据时,它可以将电信号发送到存储介质的读/写装置,其可以在存储介质中读取或写入结构化数据。结构化数据可以电信号的形式经由电子装置的总线传输至处理器。此处,电信号可以指一个电信号、一系列电信号和/或多个不连续的电信号。

图2是根据本申请的一些实施例所示的一种示例性计算装置200的硬件和软件组件的示意图。服务器110、请求者终端130和/或提供者终端140可以在该计算装置200上实现。例如,处理引擎112可以在计算装置200上实施并执行本申请所披露的处理引擎112的功能。

计算装置200可以用于实现如上所述的线上到线下服务系统100的任意部件。例如,处理引擎112可以在计算装置200上通过其硬件、软件程序、固件或其组合实现。虽然只示出了一个这样的计算机,但为了方便起见,与在此描述的线上到线下服务相关的计算机功能可以以分布式的方式在多个类似平台上实现,以分散处理负载。

计算装置200可以包括与网络相连接并促进数据通讯的通讯端口250。计算装置200还可以包括处理器(例如,处理器220),其形式为一个或以上处理器(例如,逻辑电路),用于执行程序指令。例如,处理器可以包括接口电路和其中的处理电路。接口电路可以被配置为从总线210接收电子信号,其中电子信号编码结构化数据和/或指令以供处理电路。处理电路可以进行逻辑计算,然后确定结果,结果和/或编码为电子信号的指令。然后,接口电路可以经由总线210从处理电路发出电子信号。在一些实施例中,处理器220可以被配置以获取多个历史订单。处理器220可以进一步被配置为基于多个历史订单获取和/或确定多个第一特征和第二特征。处理器220可以进一步被配置用于基于多个第一特征使用基于统计的技术确定多个变换特征,并通过关联所述多个第二特征来确定多组交叉特征。处理器220可以进一步被配置用于生成训练后的目的地预测模型,以使用线性分类器基于多个变换特征和多组交叉特征获取训练后的目的地预测模型。

示例性计算装置还可以包括内部通信总线210、程序存储和不同形式的数据存储,包括例如磁盘270、只读存储器(ROM)230或随机存取存储器(RAM)240,用于由计算装置处理和/或传输的各种数据文件。示例性计算装置也可以包括储存于只读存储器(ROM)230、随机访问存储器(RAM)240、和/或其他形式的非暂时性储存媒体中的能够被处理器220执行的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算装置200还包括I/O组件260,其支持计算机和其他组件之间的输入/输出。计算装置200也可以通过网络通信接收程序设计和数据。

仅仅为了说明,图2中仅示出了一个中央处理单元和/或处理器。也可以包括多个中央处理单元和/或处理器。因此,由本申请中描述的由一个中央处理单元和/或处理器执行的操作和/或方法步骤也可以由多个中央处理单元和/或处理器联合或单独执行。例如,在本申请中,如果计算装置200的中央处理单元和/或处理器执行步骤A和步骤B,应当理解的是,步骤A和步骤B可以由计算装置200的两个不同的中央处理单元和/或处理器共同地或独立地执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同地执行步骤A和步骤B)。

图3是根据本申请的一些实施例的所示出的一种示例性处理引擎的框图。处理引擎112可包括获取模块302、特征生成模块304、模型训练模块306、处理模块308和存储模块310。每个模块都可以是一用于执行下述操作的硬件电路、一组存储于一个或多个存储媒体的指令和/或该硬件电路和一个或多个存储媒体的组合。

获取模块302可以被配置为从一个或以上请求者处获取多个服务请求。在一些实施例中,服务请求可以是对线上到线下服务(例如,运输服务,货物递送服务)的请求。例如,如果乘客需要出租车服务,则乘客可以经由网络120通过请求者终端130向服务器110发送出租车请求呼叫。在一些实施例中,服务请求可以是对地图导航服务的请求。例如,用户可以在他或她的移动装置上安装地图导航应用程序。处理引擎112可以基于用户的起始位置确定估计的目的地。处理引擎112还可以生成并显示从起始位置到目的地的路线。服务请求可以包括起始位置、目的地、发起服务请求的时间与服务请求完成的时间(或行进持续时间)之间的时间长度、服务类型等或其任何组合。获取模块302可以经由网络120从请求者终端130获取服务请求。

线上到线下服务可以是包括出租车服务、司机服务、快车服务、食品订购和餐饮服务、食品递送服务、外卖服务、拼车服务、巴士服务、短期司机服务、班车服务、试驾服务、指定驾驶服务等或其组合的线上到线下服务。

获取模块302可以进一步被配置以获取与多个用户相关联的多个历史订单(即,完成的历史服务请求)。例如,一旦请求者发送的线上到线下服务请求完成,线上到线下服务系统100可以相应地生成订单。线上到线下服务系统100可以将所生成的订单保存在储存装置(例如,储存装置150)中。该订单可以包括与服务请求相关联的信息,包括但不限于用户信息、路线信息、时间信息和/或与历史请求相关联的任何其他信息。作为另一示例,对于地图导航服务,如果请求者经由请求者终端130发起服务请求,则线上到线下服务系统100可以基于服务请求推荐一个或以上目的地。在一些实施例中,在请求者确认服务请求的推荐目的地之后,线上到线下服务系统100可以生成包括与服务请求和/或确认的目的地相关联的信息的订单。在一些实施例中,即使服务请求未完成,线上到线下服务系统100也可以生成订单。这种订单可以作为未完成的订单保存在储存装置(例如,储存装置150)中。

特征生成模块304可以基于与多个历史订单相关的历史数据生成多个特征。多个特征可包括多个变换特征和多个交叉特征。变换后的特征可以包括起始位置和目的地之间的距离、时间点、每个历史订单的时间长度(例如,历史订单启动时间与时间长度之间的时间长度)。历史订单完成的时间、访问每个位置的频率、选择多个历史订单中的每个位置作为目的地的概率等或其任何组合。交叉特征可以包括与用户标识(ID)和目的地标识(ID)之间的相关性相关的交叉特征、与目的地ID和起始位置标识(ID)之间的相关性相关的交叉特征、与目的地ID和开始时间之间的相关性相关的交叉特征、与目标地址ID、起始位置ID和开始时间之间的相关性相关的交叉特征等或其任何组合。特征生成模块304可以将生成的特征发送到模型训练模块306以进一步处理。

在一些实施例中,特征生成模块304可以基于多个历史订单来识别和/或提取历史数据。例如,特征生成模块304可以经由网络120从获取模块302、请求者终端130、提供者终端140和/或储存装置150中提取历史数据,并将历史数据记录在储存装置150中或线上到线下服务系统100的任何组件。与历史订单相关的历史数据可以包括开始位置、目的地、用户信息(例如,年龄、性别、职业)、路线信息(例如,距起始位置、目的地之间的总距离、道路状况)、时间信息(例如,开始时间、实际到达时间(ATA))等或其任何组合。

模型训练模块306可以被配置为基于所生成的特征训练初步目的地预测模型以生成训练后的目的地预测模型。在一些实施例中,模型训练模块306可以先基于历史数据生成多组训练样本。模型训练模块306可以使用该多组训练样本训练初步目的地预测模型以生成训练目的地预测模型。

在一些实施例中,每个训练样本可以包括与历史订单相关联的一个变换特征和与历史订单相关联的一组交叉特征。多组训练样本中的每一组样本可包括一组正训练样本(例如,分配有标签“1”的训练样本)和一组负训练样本(例如,分配有标签“0”的训练样本)。关于正和负训练样本的详细描述可以在本申请的其他地方找到(例如,结合图6)。

模型训练模块306可以进一步更新训练后的目的地预测模型。可以基于更新数据来更新训练后的目的地预测模型。更新数据可以与一个或以上新历史订单(例如,新记录或获取的历史订单)相关联。新历史订单可以是在一段时间内完成的订单。时间段可以由用户手动设置或由处理引擎112自动设置。时间段可以是一天、一周、一个月等。或者,可以记录预设数量的最新历史订单(例如,100、500、1000、10000)。例如,可以基于每周新完成的历史订单每周更新训练的目的地预测模型。

在一些实施例中,训练的目的地预测模型(或更新的目的地预测模型)可以作为应用程序或其一部分存储在储存装置中,其可以在用户终端(例如,请求者终端)或者在线平台中使用(例如,服务器)。例如,可以将训练的目的地预测模型发送到可以用作导航服务的请求者终端的智能手机,并且请求者可以登录应用程序以在不输入目的地的情况下发起服务请求。又例如,目的地预测模型的每次更新可以对应于一个版本。在一些实施例中,目的地预测模型的不同版本可以存储在线上到线下服务系统100(例如,储存装置150)的在线数据库中。用户可以访问线上到线下服务系统100的在线数据库以下载目的地预测模型的最新版本(或他或她想要的任何版本)。下载的目的地预测模型可以由安装在用户装置上的线上到线下服务应用来实现,以向用户生成目的地推荐。在一些实施例中,训练的目的地预测模型和/或更新的目的地预测模型可以存储在储存介质中。例如,训练的目的地预测模型和/或更新的目的地预测模型可以存储在非暂时性计算机可读存储介质(例如,闪存盘)中,其可以由线上到线下服务系统100或用户终端(例如,乘客终端)使用。

处理模块308可以被配置用于基于训练的目的地预测模型和/或更新的目的地预测模型来确定服务请求的目的地。例如,处理模块308可以确定服务请求的一个或以上候选目的地。在一些实施例中,处理模块308可以进一步基于天气条件(例如,雾霾或雷暴)或时间信息动态地调整服务请求的一个或以上候选目的地。

在一些实施例中,处理模块308可以使请求者终端显示目的地。例如,处理模块308可以经由网络120向请求者终端130发送基于线上到线下服务请求确定的一个或以上候选目的地。处理模块308可以由训练目的地预测模型(或更新的目的地预测模型)确定线上到线下服务请求的请求者选择一个或以上候选目的地中的每一个作为线上到线下服务请求的目的地的概率。可以基于所确定的概率对一个或以上候选目的地进行排名。处理模块308可以基于排序结果显示候选目的地中的至少一个。

存储模块310可以存储历史订单、变换特征集、多组交叉特征、正训练样本、负训练样本等或其任何组合。在一些实施例中,存储模块310可以存储可以由处理引擎112的处理器执行的一个或以上程序和/或指令,以执行本申请中描述的示例性方法。例如,储存装置可以存储可以由处理引擎112的处理器执行的程序和/或指令,以使线上到线下服务系统100或其一部分推荐基于服务请求等的目的地。在一些实施例中,存储模块310可以存储将由处理模块308使用的一个或以上算法。一个或以上算法可以包括逻辑回归(LR)算法、梯度提升决策树(GBDT)算法、随机森林(RF)算法或Xgboost算法等。在一些实施例中,存储模块310可包括大容量存储器。例如,大容量存储器可以包括磁盘、光盘、固态驱动器等。

处理引擎112中的模块可以通过有线连接或无线连接以互相连接或互相通讯。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网路(WAN)、蓝牙、ZigBee网络、近场通讯(NFC)等或上述举例的任意组合。两个或多个模块可以合并为一个单个模块,以及任何一个模块可以被拆分为两个或多个单元。例如,获取模块302可以作为单个模块集成到特征生成模块306中。获取模块可以获取历史订单的历史数据,并基于历史数据确定目的地预测模型。

图4是根据本申请的一些实施例的所示出的一种示例性特征生成模块304的框图。特征生成模块304可以包括变换特征生成单元402、第二特征生成单元404和关联单元406。每个模块都可以是用于执行下述操作的硬件电路,一组存储于一个或多个存储媒体的指令和/或所述硬件电路和一个或多个存储媒体的组合。

变换特征生成单元402可以基于多个历史订单的多个第一特征来生成多个变换特征。变换特征生成单元402可以使用基于统计的技术生成多个变换特征。基于统计的技术可以包括采用梯度提升决策树模型(GBDT)、随机森林模型(RF)、Xgboost模型等或其任何组合。在一些实施例中,变换特征可以包括起始位置和目的地之间的距离、每个历史订单之间的时间长度(例如,正在启动和历史订单完成的时间长度)、多个历史订单中每个位置的访问频率、选择多个历史订单中的每个位置作为目的地的概率,或任何其组合。

变换特征生成单元402可以从储存装置150中识别和/或提取历史订单的多个第一特征。在一些实施例中,可以预先生成多个历史订单的多个第一特征并将其存储在储存装置(例如,储存装置150)中。在一些实施例中,历史订单的第一特征可包括多个历史订单中的开始位置的类型、多个历史订单中的目的地类型、表示每个开始之间的距离特征位置和每个目的地、用户简档等或其任何组合。

第二特征生成单元404可以生成多个历史订单的多个第二特征。第二特征可以是稠密特征。在一些实施例中,可以预先生成多个历史订单的多个第二特征并将其存储在储存装置(例如,储存装置150)中。第二特征生成单元404可以从储存装置150识别和/或提取历史订单的多个第二特征。在一些实施例中,历史订单之一的第二特征可包括用户ID、起始位置ID、目标地址ID(也称为POI ID)等或其任何组合。

关联单元406可以基于多个第二特征生成多组交叉特征。关联单元406可以将多个第二特征相关联以生成多组交叉特征。例如,关联单元406可以关联与一个历史订单相关联的两个第二特征(例如,用户ID和POI ID)以生成与历史订单相关联的交叉特征。交叉特征可以指示两个第二特征之间的相关性。在一些实施例中,交叉特征集可以包括与开始时间和目标地址ID之间的相关性相关的交叉特征、与目标地址ID和起始位置ID之间的相关性相关的交叉特征、与目的地ID和开始时间之间的相关性相关的交叉特征、与目的地ID、起始位置ID和开始时间之间的相关性相关的交叉特征等或其组合。

特征生成模块304的单元可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网路(WAN)、蓝牙、ZigBee网络、近场通讯(NFC)等或上述举例的任意组合。任何两个单元可以组合成单个单元,任何一个单元可以分成两个或以上块。例如,第二特征生成单元404可以作为单个单元集成到关联单元406中。集成单元可以生成第二特征并且将第二特征和/或第一特征相关联以生成多组交叉特征。

图5是根据本申请的一些实施例所示的一种用于训练目的地预测模型的示例性流程的流程图。在一些实施例中,流程500可以由线上到线下服务系统100执行。例如,流程500可以实现为存储在储存装置150、ROM 230和/或RAM 240中的一组指令(例如,应用程序)。处理引擎112可以执行该组指令,并且当执行指令时,可以将其配置为使服务器110执行流程500。以下呈现的所示流程的操作旨在是说明性的。在一些实施例中,流程500可以通过未描述的一个或多个以上附加操作和/或没有所讨论的操作的一个或以上来完成。另外,如图5中所示和下面描述的流程的操作顺序不旨在具有限制性。

在502中,处理引擎112(例如,获取模块302)可以获取对应于多个用户的多个历史订单。可以基于线上到线下服务请求生成多个历史订单并将其存储在储存装置(例如,储存装置150)中。历史订单可以是在一段时间内完成的订单。时间段可以由用户手动设置或由处理引擎112自动设置。时间段可以是一天、一周、一个月等。或者,可以记录预设数量的最新历史订单(例如,100、500、1000、10000)。多个历史订单可以基于历史订单发生(例如,订单的目的地和/或起始位置)的地理位置(例如,地区、城市、州)、订单被发起或完成时间(例如,早晨、下午、夜晚、周末、工作日、假日)、用户信息(例如,职业、年龄)、与订单相关联的支付费用等或其任何组合被分类。

历史订单可包括用户信息、路线信息、时间信息等或其组合。用户信息可以涉及请求或提供历史订单的一个或以上用户。用户信息可以包括用户的年龄、职业和/或性别。用户信息还可以包括兴趣点(POI)的地址、访问POI的频率等或其任何组合。路线信息可以涉及历史订单中的一个或以上路线。历史订单的路线信息可包括起始位置、目的地、从起始位置到目的地的总距离长度、一个或以上路线上的拥堵路况(例如,高峰时段的拥堵)、一个或以上路线的交通信号灯信息(例如,交通信号灯的数量、每个交通信号灯的时间长度)、收费信息等或其组合。历史订单的时间信息可包括开始时间、实际到达时间(ATA)、估计到达时间(ETA)、历史订单的完成时间、历史订单的总时间长度等或其任何组合。

在一些实施例中,处理引擎112可以从请求者终端130和/或服务器110接收编码多个历史订单的信息的电信号。例如,请求者终端130(例如,智能手机)可以经由安装在请求者终端130中的应用程序将电信号发送到处理引擎112。在一些实施例中,请求者终端130和/或服务器110可以经由无线连接或有线连接将电信号发送到处理引擎112。或者,处理引擎112可以获取与来自储存装置150的电信号相关联的历史订单的日期。

在504中,处理引擎112(例如,特征生成模块304)可以识别与多个历史订单相关联的多个第一特征以及与该多个历史订单相关联的多个第二特征。例如,处理引擎112可以基于用户信息、路线信息、时间信息等或者它们的组合识别和/或提取多个第一特征和多个第二特征。在一些实施例中,许多用户的第一特征可以是相似或相同的,而大多数用户的第二特征可以彼此不同。在一些实施例中,第一特征可以是稀疏特征,并且第二特征可以是稠密特征。稀疏特征可以是特征的大多数元素为零的特征,而稠密特征可以是特征的大多数元素不为零的特征。在一些实施例中,可以根据特征的稠密程度(或稀疏程度)将特征指定为稠密特征或稀疏特征。特征的稠密程度可以被定义为特征(或对应于特征的矩阵)的非零元素的数量除以特征的元素的总数(或对应于特征的矩阵)。特征的稀疏程度可以被定义为特征的零值元素(或者与特征对应的矩阵)的数量除以特征的元素的总数(或者与特征对应的矩阵)。特征的稀疏程度和稠密程度的总和可以是1。例如,如果特征的稀疏程度大于稀疏程度阈值(或特征的稠密程度小于稠密程度阈值),则可以将特征指定为稀疏特征。如果特征的稀疏程度小于或等于稀疏程度阈值(或者特征的稠密程度大于或等于稠密程度阈值),则可以将特征指定为稠密特征。仅作为示例,稀疏程度阈值可以是0和1之间的任何数字,例如0.95、0.80、0.65、0.50、0.35、0.20、0.05等。因此,稠密程度阈值可以是0.05、0.20、0.35、0.05、0.65、0.80、0.95等。对于稠密特征,稠密特征的每个值可以存储在储存装置(例如,储存装置150、存储ROM 230和/或RAM 240)中。对于稀疏特征,仅存储非零值。

在一些实施例中,第一特征可以包括多个历史订单中的一类起始位置(例如,学校、购物中心)、多个历史订单中的目的地类型、距离特征表示每个起始位置与每个目的地之间的距离、用户简档等或其任何组合。

起始位置可以是居民、公司、健身房、餐厅、购物中心、美容院、学校等。目的地可以是居民、公司、健身房、餐馆、购物中心、美容院、学校等。用户简档可以包括用户的年龄、性别、职业等或其任何组合。

在一些实施例中,第一特征可以涉及历史订单的目的地。例如,历史订单在工作日的09:00开始,其中住宅地址作为起始位置可以对应的目的地为公司,而历史订单在周末09:00开始用住宅作为起始位置的地址可以对应的目的地为购物中心。在一些实施例中,多个第一特征与多个历史订单的目的地之间的关系可用于确定估计的目的地(或当前线上到线下服务请求中的候选目的地)。可以向线上到线下服务的用户(例如,服务请求者)推荐估计的目的地。例如,处理引擎112可以通过将多个第一特征与多个历史订单的目的地之间的关系输入到目的地预测模型来确定目的地。可以将确定的目的地发送到与服务请求的用户相关联的请求者终端130。

在一些实施例中,多个第二特征可以包括用户ID,起始位置ID,目标地址ID(也称为POI ID)等或其任何组合。用户ID可以对应于用户。例如,每个用户可以具有唯一标识,包括电话号码、昵称、微信号码、支付宝账号、ID卡号码等或其组合。可以基于唯一标识来识别用户。位置ID(例如,起始位置ID、目标地址ID)可以对应于具有唯一名称和/或地理位置的位置,并且可以基于相应的名称和地理位置来识别每个位置ID。例如,处理引擎112可以基于地理位置(例如,经度和纬度)将区域划分为多个矩形或六边形块,并为该区域中的每个块指定位置ID。

在一些实施例中,多个第二特征可以与多个历史订单的目的地相关联。例如,具有相同起始位置X的用户A、B和C的历史订单可以对应于相同的目的地Y。然而,具有起始位置X的用户D的历史订单可以对应于目的地Z。因此,即使多个不同用户的起始位置(和/或时间)相同,用户也可能由于其不同的第二特征而瞄准不同的目的地。在一些实施例中,特定用户的第二特征可以与其他用户不同,并且特定用户的第二特征在通过诸如GBDT模型的通用模型从历史订单中提取特征时可能被忽略。因此,可以生成特定用户的第二特征之间的相关性并将其输入到目的地预测模型中,以在考虑第二特征的情况下生成正确的目的地。

在506中,处理引擎112(例如,特征生成模块304)可以基于多个历史订单确定多个变换特征。例如,处理引擎112可以基于历史订单的第一特征来确定一组变换特征。在一些实施例中,可以使用基于统计的技术生成多个变换特征。基于统计的技术可包括采用梯度提升决策树模型(GBDT)、随机森林模型(RF)、Xgboost模型等或其任何组合。例如,如图7-A、7-B、7-C、7-D和/或7-E所示,处理引擎112可以基于多个第一变换特征使用树模型多个来生成多个变换特征。

图7-A是根据本申请的一些实施例所示的一种树模型的示例性训练数据的散布图。如图7-A所示,散点图700的水平轴表示用户年龄,散点图700的垂直轴表示从起始位置到目的地的距离。在一些实施例中,可以基于多个历史订单来获取训练数据710(例如,点710-A、点710-B)。例如,线上到线下服务系统100中的装置(例如,处理引擎112)可以获取多个历史订单。多个历史订单中的每一个可以包括多个第一个特征(例如,多个历史订单中的起始位置的类型、多个历史订单中的目的地类型、距离表示每个起始位置和每个目的地之间的距离的特征、用户简档)。在一些实施例中,所述装置可以从多个历史订单提取用户年龄和从起始位置到目的地的距离,并基于提取的信息生成训练数据710。在一些实施例中,训练数据710可以是点、表、关系、图形等的形式。或者,训练数据710可以是电子信号的形式。所述装置可以基于训练数据710训练树模型(也称为变换子模型,其中变换模型包括多个树模型或变换子模型),并且响应于训练数据710,树模型可以生成多个内部参数或结构(例如,树)。然后,当表示用户年龄的值被输入到训练树模型中时,树模型可以输出开始位置和目的地之间的相应估计距离。在一些实施例中,由训练数据710训练的训练树模型可以与其他训练树模型组合。例如,可以训练多个变换子模型。每个训练的变换子模型可以包括与用于确定相应目的地的多个第一特征相关联的不同拆分规则。可以组合多个目的地预测子模型以生成变换模型。变换模型可以是混合模型,其可以基于多个第一特征的输入生成多个变换特征。

图7-B是根据本申请的一些实施例所示的一种示例性树模型的结构的示意图。如图7-B所示,树模型720可以由线上到线下服务系统100的装置基于与图7-A相关的训练数据710生成。树模型720可以包括根节点730,其对应于训练数据的特征(例如,用户年龄)。根节点730可以被分成多个叶节点740(例如,叶节点740-A、740-B和740-C)。可以基于与训练数据710的特征相关的拆分规则来生成每个叶节点740。例如,可以基于用户年龄小于或等于a的拆分规则来获取叶子节点740-A。在一些实施例中,装置可以为叶子节点740中的每一个生成预测值(例如,A、B和C)。预测值可以对应于散点图700的其他特征(例如,起始位置和目的地之间的距离)。

图7-C是根据本申请的一些实施例所示的一种树模型和训练树模型的示例性训练数据的示意图。在一些实施例中,训练数据750可以与训练数据710相同,并且片段760(也称为步骤)可以对应于叶节点740。例如,拆分位置a和b可以对应于拆分规则中的值(例如,用户年龄)。每个片段(例如,A、B和C)中的高度(或垂直轴上的值)可以对应于结合图7-B的预测值。

在一些实施例中,可以基于多个拆分规则来拆分树模型,并且每个拆分规则可以对应于特定的拆分位置和预测值。每个拆分规则还可以对应于特定段。例如,图7-D和图7-E中的每一个可以通过除了图7-B中的拆分规则之外的拆分规则对应于训练的树模型。在一些实施例中,可以从多个拆分规则中选择最佳拆分规则。更具体地,可以基于目标函数确定最优拆分规则如下:

obj(Θ)=L(Θ)+Ω(Θ) (1)

其中obj(Θ)表示目标函数,L(Θ)表示训练损失项,用于测量树模型在训练数据上的适合程度,并且Ω(Θ)表示树模型的复杂度的正则项。

在一些实施例中,最优拆分规则可以具有目标函数obj(Θ)的最小值。如图7-D所示,770可能具有过量的区段。770中的区段可以对训练数据进行良好拟合(例如,小(Θ))但可能太复杂(例如,大Ω(Θ)),因此导致目标函数值较大。另一方面,如图7-E所示,780可能没有足够的区段来描述训练数据的趋势。780中的区段可以是简单的(例如,小Ω(Θ))但是对训练数据具有次优拟合(例如,大L(Θ)),因此也导致目标函数值较大。如图7-C所示,由于区段760在拟合程度和复杂度之间具有良好的平衡,因此Ω(Θ)和L(Θ)可以都相当小。因此,按图7-C中所示的拆分规则中被拆分而成树模型720的目标函数的值可以较小。可以选择图7-C中的树模型的拆分规则作为最佳拆分规则。可以基于最优拆分规则来拆分树模型720,并且可以生成训练后的树模型。

应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。本领域技术人员能够理解,本申请所披露的内容可以出现多种变型和改进。例如,可以基于其他特征生成训练数据710。又例如,可以基于除图7-C、图7-D和图7-E中所示的拆分规则之外的拆分规则来拆分树模型,以及可能存在比图7-C更好的拆分规则并将其选择为最佳拆分规则。作为另一示例,每个叶节点可以进一步拆分成多个叶节点。然而,那些变化与修改不会脱离本申请的保护范围。

多个变换特征可以存储在矩阵中。多个变换特征中的每一个可包括存储在对应矩阵的列和/或行中的多个特征项。例如,变换后的特征可以包括起始位置和目的地之间的距离、时间点、每个历史订单的时间长度(例如,历史订单启动时间之间的时间长度)以及历史订单完成的时间)、多个历史订单中每个位置的访问频率、选择多个历史订单中的每个位置作为目的地的概率等或其任何组合。示例性变换特征和特征项的描述可以在本申请的其他地方找到(例如,图8中示出的变换特征814和特征项814-1、814-2、...、814-6、以及其中的描述)。

图8是根据本申请的一些实施例所示的一种示例性树模型的结构的示意图。在一些实施例中,树模型810可以是训练的树模型或其一部分。如本申请中其他地方所述,树模型810可以与其他树模型(未示出)组合以生成变换模型。对应于多个第一特征的输入,树模型810可以输出两个或以上变换特征多个。

如图8所示,根节点811可以与第一特征(例如,行驶距离)相关。根节点811可以由树模型810分成多个叶子节点812(例如,叶子节点812-1和叶子节点812-2)。可以基于与第一特征相关的拆分规则来获取多个叶节点812中的每一个。例如,可以基于行驶距离小于或等于5000m的拆分规则来获取叶子节点812-1。换句话说,具有小于或等于500m的行驶距离的树模型810的训练样本可以被分类为叶子节点812-1。类似地,可以基于行驶距离大于5000m的拆分规则来获取叶子节点812-2。

在一些实施例中,多个叶节点812可以各自涉及另一个第一特征。例如,叶子节点812-1与用户性别有关,而叶子节点812-2与用户年龄有关。基于与其对应的第一特征相关的拆分规则,每个叶节点812可以进一步拆分成多个叶节点813。例如,叶子节点812-1可以基于与用户性别相关的拆分规则被拆分成叶子节点813-1和叶子节点813-2(例如,训练样本是否与女性用户相关或者男性用户)。叶子节点812-2可以基于与用户年龄相关的拆分规则被拆分成叶子节点813-3和叶子节点813-4(例如,与训练样本相关联的用户的年龄是否大于20或小于或等于20)。叶节点813中的每一个可以基于与对应特征相关的拆分规则被进一步拆分成多个叶节点814(也被称为特征项)。例如,叶子节点813-1可以基于与用户年龄相关的拆分规则被分成叶子节点814-1和叶子节点813-4(例如,与训练样本相关联的用户是否大于30或小于或等于30)。类似地,可以基于与用户年龄相关的拆分规则将叶子节点813-2拆分成叶子节点814-3(例如,与训练样本相关联的用户是否大于10)。叶子节点813-3可以基于与开始时间相关的拆分规则被拆分成叶子节点814-4(例如,开始时间是否晚于07:00)。叶子节点813-4可以基于与一天的类型相关的拆分规则被拆分成叶子节点814-5和叶子节点814-6(例如,该日是周末还是工作日)。

在一些实施例中,每个叶子节点可以包括二进制向量,该二进制向量表示满足拆分规则的第一特征的状态(例如,“1”可以表示满足拆分规则的特征的状态,“0”可以表示该特征的状态不满足拆分规则)。响应于与具有2035m的驾驶距离,女性的用户性别和35岁的用户年龄的历史订单相关联的训练样本,树模型810可以输出的变换特征为[0,1,0,0,0,0]。变换特征中的每个“0”或“1”值可以对应于一个特征项。

参考图5,在508中,处理引擎112(例如,特征生成模块304)可以基于多个历史订单确定多组交叉特征。例如,如图9-A和9-B所示,处理引擎112可以基于多个第一特征和多个第二特征来确定多组交叉特征。

图9-A是根据本申请的一些实施例所示的一种多个特征之间的示例性相关性的示意图。如图9-A所示,特征901(例如,以三角形示出的特征901-1、901-2、901-3)可以各自对应于本申请中其他地方描述的第二特征(例如,用户ID、起始位置ID)。特征902(例如,以圆圈示出的特征902-1、902-2、902-3)可以各自对应于本申请中其他地方描述的第一特征(例如,开始时间)或第二特征(例如,目的地ID)。连接特征901和902的每条线可以与涉及相应的特征901和902的历史订单相关联,仅作为示例,特征901可以对应于三个不同的用户ID(例如,第一用户ID 901-1、第二用户ID 901-2和第三用户ID 901-3)。特征902可以对应于三个不同的目的地ID(例如,第一目的地ID 902-1,第二目的地ID 902-2和第三目的地ID902-3)。图9-A示出了第一目的地ID 902-1和第二目的地ID 902-2各自涉及三个历史订单,而第三目的地ID 902-3仅涉及一个历史订单(即,使用第一用户ID 901-1)。在一些实施例中,当处理引擎112识别和/或提取多个第一特征时,可以忽略由第三目的地ID 902-3表示的第三目的地,因为相比多个历史订单中的其他目的地,第三目的地不太受欢迎多个。然而,示出第一用户已访问所有三个目的地的数据可指示第三目的地对于第一用户也可能是重要的,并且可在向第一用户推荐目的地时考虑。因此,可以通过将第一用户ID 901-1和第三目的地址ID 902-3相关联来生成交叉特征(例如,交叉特征903-1),以防止忽略第三目的地ID 902-3。

图9-B是根据本申请的一些实施例所示的一种交叉特征的示意图。如图9-B所示,交叉特征903可以与包括第一用户ID 901-1和第三目的地ID 902-3的历史订单相关联,并表示如下:

交叉特征903-1=第一用户ID 901-1*第三目的地ID 902-3 (2)

类似地,可以基于包括第一用户ID 901-1和第二目的地ID 902-2的历史订单生成交叉特征903-2,并且表达如下:

交叉特征903-2=第一用户ID901-1*第二目的地ID 902-2 (3)

返回参考图5中的508,可以将多个第二特征相关联以生成多组交叉特征。每组交叉特征可以对应于历史订单。一组交叉特征中的不同交叉特征可以是第二特征之间的不同相关性。在一些实施例中,处理引擎112可以将一个或以上第一特征与一个或以上第二特征相关联以生成交叉特征。例如,处理引擎112可以将开始时间和目标地址ID相关联,以生成与开始时间和目标地址ID之间的相关性相关的交叉特征。类似地,处理引擎112可以生成与目标地址ID和起始位置ID之间的相关性相关的交叉特征、与目标地址ID和开始时间之间的相关性相关的交叉特征、与交叉特征相关的交叉特征、目标地址ID、起始位置ID和开始时间之间的相关性等或其任意组合。

在510中,处理引擎112(例如,模型训练模块304)可以基于所述一组变换特征和所述多组交叉特征来确定多组训练样本。每组训练样本可以对应于特定目的地。例如,多个历史订单可以具有真实目的地A。这里使用的真实目的地是指历史订单的最终目的地。处理引擎112可以基于多个历史订单生成多个负训练样本和多个正训练样本。例如,对应于多个历史订单的负训练样本中的每一个可具有目的地A。对应于多个历史订单的正训练样本中的每一个可具有与A不同的目的地(例如,目的地B或C)。在一些实施例中,标签“1”可以被分配给每个正训练样本,并且标签“0”可以被分配给每个负训练样本。处理引擎112可以基于正训练样本和负训练样本以及它们的标签来训练目的地预测模型。产生多组训练样本的详细流程和/或方法在本申请的其他地方描述(例如,结合图6)。

在512中,处理引擎112(例如,模型训练模块306)可基于多组训练样本训练目的地预测模型。例如,处理引擎112可以从特征生成模块304获取多组训练样本,并且基于模型训练模块306中的多组训练样本训练目的地预测模型。在一些实施例中,目的地预测模型可以作为应用程序或其一部分存储在存储装置中,其可以在用户终端(例如,请求者终端)或在线平台(例如,服务器)中使用。在一些实施例中,目的地预测模型可以被配置为推荐一个或以上与线上到线下服务应用或导航服务应用相关的目的地。例如,服务请求者可以在不输入任何目的地的情况下在导航服务应用中发起服务请求,并且导航服务应用可以自动填充用户的推荐目的地。

在一些实施例中,目的地预测模型可以由处理引擎112(例如,模型训练模块306)确定。可选地,目的地预测模型可以由线上到线下服务系统100内部或外部的另一计算装置确定,并且处理引擎112可以从另一计算装置(或存储目的地预测模型的存储装置)获取目的地预测模型。为简洁起见,仅使用处理引擎112来描述确定目的地预测模型的流程,但具有本领域普通技能的人将理解,不同的处理器可执行本申请所述的类似流程。

在一些实施例中,目的地预测模型可包括多个目的地预测子模型。多个目的地预测子模型中的每一个可以对应于一个特定目的地。图10是根据本申请的一些实施例所示的一种目的地预测子模型的结构的示意图。在一些实施例中,目的地预测子模型1020可以是训练中的逻辑回归模型。如本申请中其他地方所述,目的地预测子模型1020可以由其他模型(例如,多个目的地预测子模型、变换模型)与线上到线下服务系统100的设备(例如,处理引擎112)组合以确定一个或多个目的地。

如图10所示,目的地预测子模型1020的输入可包括多个特征项。多个特征项可以包括一组交叉特征1002和变换特征814(例如,每个特征项可以对应于变换特征的交叉特征或叶子节点)。可选地,目的地预测子模型1020的输入还可以包括多个特征项的标签。多个特征项可以与历史订单相关联。交叉特征1002的集合可以包括一个或以上交叉特征(例如,交叉特征903-1x1、交叉特征903-2x2)。在一些实施例中,交叉特征1002的集合中的每一个可以与目标地址ID相关联。例如,交叉特征903-1可以与目标地址ID和用户ID相关联,并且交叉特征903-2可以与目标地址ID、开始时间和开始位置相关联。如本申请中其他地方所公开的,可以使用基于多个第一特征的变换模型(例如,结合图8)来确定变换特征814。变换特征814可以包括多个叶节点(例如,叶子节点814-1x3、叶子节点814-2x4、叶子节点814-3x5、叶子节点814-4x6、叶子节点814-5x7、叶子节点814-6x8)。

交换特征1002的集合中的每一个以及变换特征814的每个叶子节点可以与多个权重之一(例如,w1、w2、w3、w4、w5、w6、w7、w8)相关。特征项的对应权重可以指示特征项在预测目的地预测模型的输出(例如,目的地)方面有多好。可以基于输入和对应的权重来生成净输入函数1004。

净输入函数1004可以是具有多个对应的权重的交叉特征1002和变换特征814的集合的线性组合多个。例如,处理引擎112可以将净输入函数1004确定为:

其中net(x)表示净输入函数1004;i(i=1,2,...,n)表示x的序列;n表示输入的特征项的个数;x

可以基于净输入函数1004生成激活功能1006。例如,处理引擎112可以将激活功能1006确定为:

其中

返回参考图5,与线上到线下服务请求相关联的信息可以被输入到目的地预测模型,并且多个目的地预测子模型中的每一个可以输出线上到线下服务请求的用户选择与目的地预测子模型相对应的特定目的地作为他或她的目的地的概率。处理引擎112还可以基于与由多个目的地预测子模型生成的不同目的地相对应的概率,生成一个或以上目的地作为目的地预测模型的输出。确定线上到线下服务请求的一个或以上目的地的示例性流程的详细描述可以在本申请的其他地方找到(例如,图11及其描述)。

以对应于目的地A的第一目的地预测子模型为例;第一目的地预测子模型可以包括线性分类器。例如,第一目的地预测子模型可以是与目的地A相对应的逻辑回归模型,并且可以基于与目的地A对应的一组训练样本来训练。对应于目的地A的训练样本集可以包括多个变换特征和多个组交叉特征。在一些实施例中,训练样本可以包括变换特征和一组交叉特征,并且可以表示为:

x=[a,b

其中a表示表示变换特征的多个特征项的向量;b

处理引擎112可以将与目的地A对应的训练样本集确定为:

D=(x

其中D表示与目的地A相对应的一组训练样本;xi表示包含变换特征和一组交叉特征的第i个训练样本;并且yi表示第i个训练样本的标签。yi的值可以是“0”或“1”的标签。

处理引擎112可以将LR模型的假设确定为:

其中P(y=1|x;θ)表示LR模型的假设。

处理引擎112可以基于以下假设确定分类器:

y

其中,y

处理引擎112可以将分类器的可能性确定为:

L(θ)=P(D|θ)=ΠP(y|x;θ), (10)

处理引擎112可以将分类器的对数似然性确定为:

其中l(θ)表示分类器的对数似然。

处理引擎112可以将分类器的损失函数确定为:

其中J(θ)表示损失函数,而(θ)表示分类器的对数似然。

当训练过程期间LR模型的损失函数达到最小值(例如,收敛)时,处理引擎112可以获取与目的地A对应的第一目的地预测子模型。在一些实施例中,处理引擎112可以通过使用梯度下降方法、牛顿方法、Broyden-Fletcher-Goldfarb-Shanno(BFGS)算法等或其任何组合来确定损失函数的最小值。

为了说明的目的,本申请以第一目的地预测子模型为例。应注意,处理引擎112可以训练对应于不同目的地的多个目的地预测子模型。

应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的教导可以做出多种变化和修改。然而,变形和修改不会背离本申请的范围。

图6是示出根据本申请的一些实施例的用于训练目的地预测模型的示例性流程的流程图。在一些实施例中,流程600可以由线上到线下服务系统100执行。例如,流程600可以实现为存储在储存装置150、ROM 230和/或RAM 240中的一组指令(例如,应用程序)。处理引擎112可以执行该组指令,并且当执行指令时,可以将其配置为使服务器110执行流程600。以下呈现的所示流程的操作旨在是说明性的。在一些实施例中,流程600可以通过未描述的一个或多个以上附加操作和/或没有一个或以上所讨论的操作来完成。另外,如图6所示和下面描述的流程的操作的顺序不是限制性的。在一些实施例中,可以根据流程600来执行流程500的步骤510。

在602中,处理引擎112(例如,获取模块302)可以获取与多个历史订单中的每一个相对应的真实目的地。可以基于多个历史线上到线下服务请求生成多个历史订单并将其存储在储存装置(例如,储存装置150)中。这里使用的真实目的地是指历史订单的最终目的地,即,用户在该历史订单中选择或输入的目的地。可以根据与历史订单相关联的多个因素(例如,开始时间、开始位置、用户)来确定真实目的地。

在604中,处理引擎112(例如,获取模块302)可以生成多个正训练样本。多个正训练样本中的每一个样本可以对应于多个历史订单中的一个订单。多个正训练样本中的每一个可以具有与对应的历史订单的真实目的地相同的目的地。在一些实施例中,标签“1”可以被分配给多个正训练样本中的每一个。

在一些实施例中,正训练样本可包括多组正训练样本。每组正训练样本可包括相同的真实目的地(例如,指定的标签“1”)。例如,如果在多个历史订单中存在50个不同的真实目的地,则可以存在50组正训练样本。与一组正训练样本PTi相关联的每个历史订单可具有真实目的地Di,其中1≤i≤50。此外,每个正训练样本可以包括与对应的历史订单相关联的变换特征和与对应的历史订单相关联的一组交叉特征。

在606中,处理引擎112(例如,获取模块302)可以生成多个负训练样本。多个负训练样本中的每一个样本可以对应于多个历史订单中的一个订单。多个负训练样本中的每一个样本可具有与对应的历史订单的真实目的地不同的目的地。在一些实施例中,标签“0”可以被分配给多个负训练样本中的每一个样本。

在一些实施例中,负训练样本可包括多组负训练样本。在一些实施例中,负训练样本的组的数量可以与正训练样本的组的数量相同。每组正训练样本可以对应于一组负训练样本。例如,如果与一组正训练样本PTi相关联的历史订单具有真实目的地Di,则与对应于该训练样本PTi的集合的负训练样本NTi相关联的历史订单可具有与真实目的地Di不同的目的地。此外,每个负训练样本可以包括与对应的历史订单相关联的变换特征和与对应的历史订单相关联的一组交叉特征。

在608中,处理引擎112(例如,模型训练模块306)可基于正训练样本和负训练样本训练目的地预测模型。例如,处理引擎112可以从特征生成模块304中获取正训练样本和/或负训练样本,并且在模型训练模块306中基于正训练样本和/或负训练样本训练目的地预测模型。在一些实施例中,目的地预测模型可以存储在存储装置中作为应用或其一部分,其可以在用户终端(例如,请求者终端130)或在线平台(例如,服务器110)。在一些实施例中,目的地预测模型可用于推荐或预测与线上到线下服务应用或导航服务应用相关的一个或以上目的地。例如,服务请求者可以在不输入任何目的地的情况下在导航服务应用中发起服务请求,并且导航服务应用可以基于各种因素(例如,用户ID、用户的当前位置、起始时间等)使用目的地预测模型自动填充用户的推荐目的地作为目的地预测模型的输入。

在一些实施例中,目的地预测模型可包括多个目的地预测子模型。多个目的地预测子模型中的每一个可以对应于特定目的地。处理引擎112可以将正训练样本PTi的集合和负训练样本NTi的集合输入到与目的地Di对应的目的地预测子模型,与目的地Di对应的目的地预测子模型可以输出一个训练样本的用户选择目的地Di作为他或她的目的地的概率。对应于目的地Di的训练目的地预测子模型可以针对该组正训练样本PTi中的每一个输出一个概率为1的值(或相对高的值),并且针对该组负训练样本NTi的每一个输出一个概率为0的值(或相对低的值)。

图11是根据本申请的一些实施例所示的一种用于确定服务请求的目的地的示例性流程的流程图。在一些实施例中,流程1000可以由线上到线下服务系统100执行。例如,流程1100可以实现为存储在储存装置150、存储ROM 230和/或RAM 240中的一组指令(例如,应用程序)。处理引擎112可以执行该组指令,并且当执行指令时,可以将其配置为使服务器110在线上到线下服务平台中执行流程1100。平台可以是基于因特网的平台,其通过因特网连接线上到线下服务提供者和请求者。

在1102中,处理引擎112(例如,获取模块302)可以接收当前用户(例如,请求者终端130)的信息。当前用户的信息可以与乘客发送的出租车呼叫服务的服务请求相关联。当前用户的信息可以包括用户ID、当前时间和当前用户的当前位置。在一些实施例中,当前用户的当前位置可以是与当前用户(例如,请求者终端130)相关联的用户装置的当前位置,其可以由用户装置的GPS单元(例如,GP确定芯片组)确定。当前用户的当前位置可以指示服务请求的开始位置ID。

在1104中,处理引擎112(例如,处理模块308)可以从模型训练模块306获取目的地预测模型。在一些实施例中,可以基于多个历史订单来训练目的地预测模型。可以根据本申请中其他地方公开的用于训练目的地预测模型的示例性流程来生成所获取的目的地预测模型(例如,流程500)。在一些实施例中,训练目的地预测模型的处理器可以与使用目的地预测模型的处理器不同。例如,目的地预测模型可以由线上到线下服务系统100外部的远程处理器训练并存储在储存装置150中。处理引擎112然后可以访问储存装置150以使用训练的目的地预测模型。

在一些实施例中,可以周期性地更新目的地预测模型。例如,可以每天更新为目的地预测模型生成输入数据(例如,变换特征)的变换模型,而可以实时更新目的地预测模型。

在1106中,处理引擎112(例如,处理模块308)可以基于所述当前用户的信息来执行所述目的地预测模型,以确定推荐目的地。例如,处理引擎112可以使用起始位置ID、用户ID和当前时间作为目的地预测模型的输入,并且目的地预测模型可以根据该预测模型生成一个或以上确定的目的地的输出。输入。在一些实施例中,处理引擎112还可以基于用户ID获取用户信息。用户信息可包括用户年龄、用户性别、用户职业等或其任何组合。处理引擎112还可以使用用户信息或其一部分作为目的地预测模型的输入,其可以基于输入输出一个或以上推荐目的地。

在一些实施例中,目的地预测模型可包括多个目的地预测子模型。多个目的地预测子模型中的每一个可以对应于特定目的地。当在目的地预测模型输入服务请求的信息时,多个目的地预测子模型中的每一个可以输出服务请求的用户选择与目的地预测子模型相对应的特定目的地作为他或她的目的地的概率。可以基于概率确定一个或以上确定的目的地。例如,可以将概率高于80%的目的地确定为目的地预测模型的输出。目的地预测模型可以根据一个或以上确定的目的地的概率以降序(从高到低)输出一个或以上确定的目的地。

在1108中,处理引擎112(例如,处理模块308)可以将一个或以上确定的目的地发送到提供者终端140、请求者终端130和/或线上到线下服务系统100的任何组件(例如,储存装置150)。终端可以在图形用户界面(GUI)中显示一个或以上确定的目的地。例如,终端可以按,例如概率的降序在GUI中显示一个或以上确定的目的地的信息,以供用户选择。可以基于用户的偏好来调整每页中显示的目的地的数量。在一些实施例中,可以在GUI中的地图中显示一个或以上确定的目的地。可以在地图中以相同或不同的形状或颜色显示不同的目的地。用户可以点击显示器以选择一个或以上确定的目的地中的一个作为他/她的目的地。可以进一步显示所选目的地的详细信息。响应于确定用户未选择任何所显示的目的地作为目的地,终端可以显示用于用户手动输入目的地的输入框。作为另一示例,响应于确定用户未选择任何所显示的目的地作为目的地,终端可显示包括用户的当前位置的地图。用户可以手动选择地图上的位置作为目的地。用户的当前位置可以由用户终端中的GPS单元(例如,GPS微芯片或芯片组)确定。在一些实施例中,可以将确定的目的地发送给终端的用户。终端的用户可以决定是否选择一个或以上确定的目的地作为他或她的服务请求的目的地。

上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可以进行各种变更、改良和修改。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。

同时,本申请使用了特定术语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例“或”一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特性可以进行适当的组合。

此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的制程、机器、产品或物质的组合,或对其任何新的和有用的改良。因此,本申请的各方面可以完全由硬件实现,完全由软件实现(包括固件、常驻软件、微代码等)或组合软件和硬件实现,其在本文中通常都可称为“块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。

计算机可读信号介质可以包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。所述传播讯号可以有多种表现形式,包括电磁形式、光形式等或合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或装置以实现通讯、传播或传输供使用的程序。位于计算机可读信号介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质、或任何上述介质的组合。

本申请各方面操作所需的计算机程序码可以用一种或多种程序语言的任意组合编写,包括面向对象程序设计,如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python或类似的常规程序编程语言,如“C”编程语言、Visual Basic、Fortran1703、Perl、COBOL 1702、PHP、ABAP、动态编程语言如Python、Ruby和Groovy或其它编程语言。程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机上运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。

此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解,此类细节仅起说明的目的,附加的申请专利范围并不仅限于披露的实施例,相反,申请专利范围旨在覆盖所有符合本申请实施例精神和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件装置实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动装置上安装所描述的系统。

同理,应当注意的是,为了简化本申请公开的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,此公开方法并不意味着本申请所需的特征比申请专利范围中涉及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号