CN111931081A - 一种上车点推荐方法及系统 - Google Patents

一种上车点推荐方法及系统 Download PDF

Info

Publication number
CN111931081A
CN111931081A CN202010798339.6A CN202010798339A CN111931081A CN 111931081 A CN111931081 A CN 111931081A CN 202010798339 A CN202010798339 A CN 202010798339A CN 111931081 A CN111931081 A CN 111931081A
Authority
CN
China
Prior art keywords
point
pick
candidate
boarding
user
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
Application number
CN202010798339.6A
Other languages
English (en)
Inventor
张彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN202010798339.6A priority Critical patent/CN111931081A/zh
Publication of CN111931081A publication Critical patent/CN111931081A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0639Item locations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Tourism & Hospitality (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)

Abstract

本说明书实施例提供一种上车点推荐方法,所述方法包括:基于用户的起始位置确定若干个候选上车点;根据与所述起始位置相关联的历史订单确定所述候选上车点中每个候选上车点的特征集;获取目标上车点推荐模型;使用所述目标上车点推荐模型,基于所述每个候选上车点的特征集,从所述候选上车点中确定与所述用户的起始位置相关联的推荐上车点;以及将所述推荐上车点发送至所述用户的终端。

Description

一种上车点推荐方法及系统
技术领域
本说明书一个或多个实施例涉及出行领域,特别涉及一种上车点推荐方法及系统。
背景技术
在目前的打车软件中,在用户下单之前,打车软件的后台会为用户推荐一个或多个上车点,用户可以从推荐的上车点中选择确定上车点,从而可以便于接该单的司机确定接驾的位置。通常情况下,打车软件的后台推荐的上车点需要在便于用户步行达到的同时,又要便于司机开车达到。因此,需要提高上车点推荐的准确性,使得用户从推荐的上车点中确定上车点后,用户和司机双方都可以快速而准确地到达该上车点。
发明内容
本说明书实施例之一提供一种上车点推荐方法,所述方法包括:基于用户的起始位置确定若干个候选上车点;根据与所述起始位置相关联的历史订单确定所述候选上车点中每个候选上车点的特征集;获取目标上车点推荐模型;
使用所述目标上车点推荐模型,基于所述每个候选上车点的特征集,从所述候选上车点中确定与所述用户的起始位置相关联的推荐上车点;以及将所述推荐上车点发送至所述用户的终端。
本说明书实施例之一提供一种上车点推荐系统,其特征在于,所述系统包括:候选上车点确定模块,用于基于用户的起始位置确定若干个候选上车点;特征集确定模块,用于根据与所述起始位置相关联的历史订单确定所述候选上车点中每个候选上车点的特征集;获取模块,用于获取目标上车点推荐模型;推荐上车点确定模块,用于使用所述目标上车点推荐模型,基于所述每个候选上车点的特征集,从所述候选上车点中确定与所述用户的起始位置相关联的推荐上车点;以及推送模块,用于将所述推荐上车点发送至所述用户的终端。
本说明书实施例之一提供一种上车点推荐装置,所述装置包括处理器和存储器;所述存储器用于存储指令,其特征在于,所述指令被所述处理器执行时,所述装置实现上述任一技术方案所述方法对应的操作。
本说明书实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取所述存储介质中的计算机执指令时,所述计算机执行上述任一技术方案所述方法。
附图说明
本说明书一个或多个实施例将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1为根据本说明书的一些实施例的上车点推荐系统的应用场景图;
图2为根据本说明书的一些实施例的上车点推荐方法的示例性流程图;
图3为根据本说明书的一些实施例的上车点推荐方法的上车点推荐模型的训练步骤的流程图;
图4为根据本说明书的一些实施例的上车点推荐方法的上车点推荐模型的验证步骤的流程图;
图5为根据本说明书的一些实施例的上车点推荐方法的上车点推荐模型的验证方法中的获得目标上车点推荐模型的流程图;
图6为根据本说明书的一些实施例的上车点推荐系统的模块图。
具体实施方式
为了更清楚地说明说明书一个或多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书一个或多个实施例应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“系统”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换词语。
如本说明书一个或多个实施例和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
说明书一个或多个实施例中使用了流程图用来说明根据本说明书一个或多个实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本申请实施例涉及一种上车点推荐方法及系统,本申请的上车点推荐方法通过与用户的起始位置相关联的历史订单确定候选上车点中每个候选上车点的特征集,然后使用目标上车点推荐模型,基于每个候选上车点的特征集来确定推荐给用户的推荐上车点。通过这样的方法,基于与起始位置相关联的历史订单来确定每个候选上车点的特征集,并使用目标上车点推荐模型来从候选上车点中确定推荐上车点,可以得到用户和司机都能够快速而方便地到达的推荐上车点。本申请的上车点推荐方法可以用于打车软件的拼车功能(如用户选择接受拼车,或者用户正处在拼车界面下)、快车功能、专车功能或顺风车功能中进行上车点的推荐。
图1为根据本说明书的一些实施例的上车点推荐系统的应用场景图。该上车点推荐系统100可以用于打车公司的线上平台。在一些实施例中,该上车点推荐系统可以为准备发出打车订单的用户推荐上车点。如图1所示,本申请的上车点推荐系统100可以包括服务器110、用户终端120、数据库130和网络140。
在一些实施例中,服务器110可以用于处理与上车点推荐相关的信息和/或数据。服务器110可以是独立的服务器或者服务器组。该服务器组可以是集中式的或者分布式的(如:服务器110可以是分布系统)。在一些实施例中该服务器110可以是区域的或者远程的。例如,服务器110可通过网络140访问存储于用户终端120、和/或数据库130的信息和/或资料。在一些实施例中,服务器110可直接与用户终端120和/或数据库130连接以访问存储于其中的信息和/或资料。在一些实施例中,服务器110可在云平台上执行。例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等中的一种或其任意组合。
在一些实施例中,服务器110可包含处理设备。该处理设备可处理与服务请求有关的数据和/或信息以执行一个或多个本申请中描述的功能。例如处理设备可基于从用户终端120获取的用户准备发出打车订单的请求,并为用户终端120提供该用户推荐上车点。在一些实施例中,处理设备可包含一个或多个子处理设备(如:单芯处理设备或多核多芯处理设备)。仅仅作为范例,处理设备可包含中央处理器(CPU)、专用集成电路(ASIC)、专用指令处理器(ASIP)、图形处理器(GPU)、物理处理器(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编辑逻辑电路(PLD)、控制器、微控制器单元、精简指令集电脑(RISC)、微处理器等或以上任意组合。
网络140可促进数据和/或信息的交换。在一些实施例中,上车点推荐系统100中的一个或多个组件(如服务器110、用户终端120和数据库130)可通过网络140发送数据和/或信息给上车点推荐系统100中的其他组件。例如,服务器110可通过网络140从用户终端120获取/获得预备打车的请求或需求信息。在一些实施例中,网络140可是任意类型的有线或无线网络。例如,网络140可包括一缆线网络、有线网络、光纤网络、电信网络、内部网络、网际网络、区域网络(LAN)、广域网络(WAN)、无线区域网络(WLAN)、都会区域网络(MAN)、公共电话交换网络(PSTN)、蓝牙网络、ZigBee网络、近场通讯(NFC)网络等或以上任意组合。在一些实施例中,网络140可包括一个或多个网络进出点。例如,网络140可包含有线或无线网络进出点,如基站和/或网际网络交换点,通过这些进出点,上车点推荐系统100的一个或多个组件可连接到网络140上以交换数据和/或信息。在一些实施例中,用户终端120可包括移动装置、平板电脑、膝上型电脑、机动车内建装置等中的一种或其任意组合。在一些实施例中,移动装置可包括智能家居装置、可穿戴装置、智能行动装置、虚拟实境装置、增强实境装置等或其任意组合。在一些实施例中,智能家具装置可包括智能照明装置、智能电器的控制装置、智能监测装置、智能电视、智能摄像机、对讲机等或其任意组合。在一些实施例中,可穿戴装置可包括智能手环、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣物、智能背包、智能配饰等或其任意组合。在一些实施例中,智能行动装置可包括智能电话、个人数位助理(PDA)、游戏装置、导航装置、POS装置等或其任意组合。在一些实施例中,虚拟实境装置和/或增强实境装置可包括虚拟实境头盔、虚拟实境眼镜、虚拟实境眼罩、增强实境头盔、增强实境眼镜、增强实境眼罩等或上述举例的任意组合。在一些实施例中,用户终端120可包括具有定位功能的装置,以确定用户和/或用户终端120的位置。
数据库130可存储资料和/或指令。在一些实施例中,数据库130可存储从用户终端120中获取的资料。在一些实施例中,数据库130可存储供服务器110执行或使用的信息和/或指令,以执行本申请中描述的示例性方法。在一些实施例中,数据库130可包括大容量存储器、可移动存储器、挥发性读写存储器(例如随机存取存储器RAM)、只读存储器(ROM)等或以上任意组合。在一些实施例中,数据库130可在云平台上实现。例如,该云平台可包括私有云、公共云、混合云、社区云、社区云、分散式云、内部云等或以上任意组合。
在一些实施例中,数据库130可与网络140连接以上车点推荐系统100的一个或多个部件(如,服务器110、用户终端120等)通讯。上车点推荐系统100的一个或多个组件可通过网络140访问存储于数据库130中的资料或指令。在一些实施例中,数据库130可直接与上车点推荐系统100中的一个或多个组件(如,服务器110、用户终端120等)连接或通讯。在一些实施例中,数据库130可以是服务器110的一部分。
在一些实施例中,上车点推荐系统100中的一个或多个组件(如,服务器110、用户终端120等)可具有访问数据库130的权限。在一些实施例中,当满足一个或多个条件时,上车点推荐系统100中的一个或多个组件(如,服务器110、用户终端120等)可读取和/或修改与用户、和/或公知常识相关的信息。例如,在推送带推荐上车点相关的信息结束后,服务器110可读取和/或修改一个或多个用户的信息。
图2为根据本说明书的一些实施例的上车点推荐方法的示例性流程图。具体地,上车点推荐方法可以由处理设备(如服务器或客户端)执行。例如,上车点推荐方法可以以程序或指令的形式存储在存储装置(如服务器的存储设备、存储器)中,当上车点推荐系统(如处理设备)执行该程序或指令时,可以实现上车点推荐方法。如图2所示,上车点推荐方法的流程200可以包括:
步骤210,基于用户的起始位置确定若干个候选上车点。具体地,步骤210可以由候选上车点确定模块610来执行。
处理设备可以从与用户关联的客户端中获取用户的起始位置。在一些实施例中,用户的起始位置可以是用户实时的定位位置(即用户的当前位置)。例如,定位位置可以由在客户端中的定位设备(如GPS接收器)确定。在一些实施例中,用户的起始位置可以是用户通过客户端输入的位置。例如,用户输入位置可以是用户准备发单而输入的出发起点的位置。仅作为示例,候选上车点确定模块610可以通过以下方法来确定候选上车点:首先,候选上车点确定模块610可以根据用户的起始位置确定该起始位置周围第一预设范围(如200米、300米或500米等)内的预设数量(如120个、150个或180个等)的初选上车点,初选上车点的数量大于或等于候选上车点的数量;然后候选上车点确定模块610可以获取这些初选上车点中每个初选上车点在历史上被实际选择为上车点的次数、每个初选上车点与用户起始位置之间的距离、每个初选上车点与其他初选上车点之间的距离等特征;最后,候选上车点确定模块610可以基于每个初选上车点的上述特征,从初选上车点中挑选出若干个上车点作为候选上车点。在一些实施例中,候选上车点确定模块610可以通过召回算法来确定初选上车点。召回算法是从上车点库中选取与当前被推荐用户(根据用户属性及历史行为等信息)相关的一部分作为初选上车点。例如,召回算法可以根据用户行为来计算被推荐用户与其他用户的相似度,或根据用户在历史上所选择的上车点的相似度,来预测出用户对上车点的选择偏好,并以此为依据确定初选上车点。候选上车点确定模块610确定的候选上车点的数量可以是10个、15个、20个或30个等。
步骤220,根据与起始位置相关联的历史订单确定候选上车点中每个候选上车点的特征集。具体地,步骤220可以由特征集确定模块620来执行。
在一些实施例中,与起始位置相关联的历史订单可以包括发单位置在用户的起始位置的第二预设范围(如36米、40米或50米等)内的历史订单。历史订单的发单位置可以是历史订单生成时发单者的实时位置,也可以是发单者输入的出发起点的位置,还可以是历史订单中系统推荐的上车位置、发单者选定的上车点的位置或发单者实际上车的位置。历史订单可以选择为确定候选上车点之前预设时间周期内(例如一周、两周或一个月等)的订单。在一些实施例中,与起始位置相关联的历史订单可以包括上车点(如实际上车点、推荐上车点)在用户的起始位置的第三预设范围(如36米、40米或50米等)内的历史订单。在一些实施例中,历史订单可以选择为与用户准备发出的订单类型一致的订单,例如,若用户选择的订单类型为拼车时,历史订单可以选择拼车订单。若用户选择的订单类型为快车时,历史订单可以选择快车订单。
在一些实施例中,特征集中可以包括每个候选上车点的特征。候选上车点的特征可以包括距离相关特征、时间相关特征、热度相关特征、位置相关特征、个性化特征、成本相关特征等。
距离相关特征可以反映用户起始位置(例如,当前位置)与每个候选上车点之间的距离,距离相关特征也可以反映用户起始位置与终点位置(例如用户设定的终点的位置或用户实际下车点的位置)之间的距离。例如,距离相关特征可以包括用户起始位置(例如,当前位置)与每个候选上车点直线距离、球面距离、步行距离、骑行距离以及车行距离等。又例如,距离相关特征可以包括用户起始位置或每个候选上车点与终点位置(例如用户自行设定的终点的位置或用户实际下车点的位置)之间的车行距离。在一些实施例中,距离可以包括但不限于用户的起始位置和每个候选上车点之间的球面距离、用户的起始位置和每个候选上车点之间的步行距离、候选上车点到用户的设定终点的最短车行距离或候选上车点到用户的设定终点车行距离中的一个或多个。用户的起始位置和每个候选上车点之间的球面距离为根据用户的起始位置和每个候选上车点的经纬度,利用地球球面的弧度计算出的起始位置与每个候选上车点之间的距离。也就是说,球面距离可以理解为用户的起始位置和每个候选上车点在地球表面上最短路径。用户的起始位置和每个候选上车点之间的步行距离为用户的起始位置到每个候选上车点的预估步行距离。候选上车点到用户的设定终点的车行距离为候选上车点到用户的设定终点的预估车行距离,候选上车点到用户的设定终点的最短车行距离为每个候选上车点到用户的设定终点的最短预估车行距离。在一些实施例中,特征集中的距离特征还可以包括用户的起始位置到每个候选上车点的预估车行距离、用户的起始位置到用户的设定终点的最短预估车行距离、用户的起始位置到用户的设定终点的预估车行距离等。需要说明的是,用户的起始位置不仅可以理解为用户实时的定位位置和用户通过客户端输入的位置,也可以是用户在确定发出拼车订单打车软件后台根据用户实时的定位位置推荐的一个原始上车点的位置(在确定为拼车订单后,推荐上车点的位置可能与原始上车点的位置不同)。
热度相关特征可以反映候选上车点在一定时间段内被确定为指定上车点的频次。热度相关特征可以包括全局热度、局部热度、个性化热度等。全局热度可以反映候选上车点在过去一段时间段内被多个用户选择为上车点的次数。个性化热度可以反映候选上车点在过去一段时间段内被某个用户(被推荐用户)选择为上车点的次数。局部热度可以反映在候选上车点在过去一段时间段内被距离用户的起始位置一定范围内发单的多个用户选择为上车点的次数。需要说明的是,每个候选上车点在历史订单上被选择为上车点可以理解为在历史订单的发单者从候选上车点选择后设定并发单的该历史订单的上车点。也就是说,当某个候选上车点的局部热度的特征值较高时,可以理解为该候选上车点在历史订单上被发单者设定为上车点的次数较多。在一些实施例中,热度相关特征可以包括热度分,例如,全局热度分、局部热度分等,用于定义热度的程度。在一些实施例中,局部热度可以由局部热度分定义。仅作为示例,局部热度分可以表示为k=Min(log10max(a,1),5),其中,a为局部热度的特征值,即的该候选上车点在历史订单上被选择为上车点的次数。
时间相关特征可以反映用户起始位置(例如,当前位置)到达候选上车点的时间、订单时间等。例如,时间相关特征可以包括用户起始位置(例如,当前位置)到达候选上车点的步行时间、服务提供者(司机)的起始位置(例如,当前位置)到达候选上车点的车行时间、订单所属的当前时间区段(例如,早上、中午或晚上)、或当前天(例如,工作日或非工作日)、或当前季节(例如,夏季或冬季)等。位置相关特征可以包括候选上车点所属的城市、候选上车点所属的城市的某个区域、某条道路等。
个性化特征反映用户对某个候选上车点上车的喜好程度。在一些实施例中,可以通过个性化分表示用户对某个候选上车点上车的喜好程度。用户在历史订单上表现出更频繁地在某一个或某几个候选上车点上车的行为可以理解为用户更喜好在这一个或几个候选上车点上车。也就是说,如果某个候选上车的个性化分的特征值较高,可以理解为用户在该候选上车点上车的频次较多,反映出用户在历史订单上比较喜爱在该候选上车点上车。成本相关特征可以包括用户步行成本、顺路成本等。顺路成本可以反映司机到每个候选上车点接驾的顺路程度以及用户步行到每个候选上车点上车的顺路程度。在一些实施例中,可以通过顺路性分表示顺路成本,即反映司机到每个候选上车点接驾的顺路程度以及用户步行到每个候选上车点上车的顺路程度。也就是说,如果某个候选上车点的顺路性分较高,可以理解为该候选上车点既能够保证司机能够较为顺路而尽可能少绕路地驾车到达该候选上车点,又能够保证用户能够较为顺路而尽可能少绕路地步行到达该候选上车点。步行成本可以反映用户从起始位置(例如,当前位置)步行到候选上车点的难易程度。在一些实施例中,可以用步行分表示步行成本。也就是说,如果某个候选上车点的步行分较高,可以理解为用户从当前位置步行到该候选上车点较为容易。步行成本越高时,步行分对应地越低。在一些实施例中,可以用总评分表示成本特征,即反映司机和用户到候选上车点的便利程度。也就是说,如果某个候选上车点的总评分较高,可以理解为该候选上车点既能够保证司机能够较为便利地驾车到达该候选上车点,又能够保证用户能够较为便利地步行到达该候选上车点。仅作为示例,步行成本可以根据局部热度、步行距离和球面距离来确定。当a等于0时,则步行成本的特征值d=Min(b,2*r);当a大于等于1000时,则步行成本的特征值d=Min(b,r);当热度特征的值大于0且小于1000时,则步行成本的特征值d=Min(b,[2.5-0.5*log10(Max(a,10))]*r)。其中,a为局部热度的特征值,即该候选上车点在历史订单上被选择为上车点的次数;b为步行距离的特征值,用户的起始位置和每个候选上车点之间的步行距离;r为球面距离的特征值,即用户的起始位置和该候选上车点之间的球面距离。步行分可以根据步行成本来确定,仅作为示例,步行分的特征值e=Max(-d*d/250000+1,0)*100。其中,d为步行成本的特征值。顺路性分可以根据步行分、最短车行距离和车行距离来确定。仅作为示例,顺路性分的特征值h=Max([100-(i-j)/max(j,1)*100]*e/100,0)。其中,i为车行距离的特征值,即候选上车点到用户的设定终点车行距离;j为最短车行距离的特征值,候选上车点到用户的设定终点的最短车行距离;e为步行分的特征值。总评分可以根据局部热度、局部热度分、步行分、个性化分和顺路性分来确定。对于其中的个性化分,其可以根据步行分和个性化热度来确定,个性化热度反映用户在历史订单上对于在每个候选上车点上车的次数。仅作为示例,个性化分的特征值f=Min(log10(1+g),3)*e。其中,g为个性化热度的特征值,e为步行分的特征值。对于总评分,当a>0时,总评分的特征值s=e+80*k+5*h+3*f+20;当a=0时,总评分的特征值为:s=e+80*k+5*h+3*f。其中,a为局部热度,即该候选上车点在历史订单上被选择为上车点的次数,e为步行分的特征值,k为局部热度分的特征值,h为顺路性分的特征值,f为个性化分的特征值。
步骤230,获取目标上车点推荐模型;具体地,步骤230可以由获取模块630来执行。
在一些实施例中,目标上车点推荐模型训练后的上车点模型可以更新,例如定期或不定期,从而提高所使用的上车点推荐模型的准确性。当获取的训练后的上车点推荐模型的推荐准确度升高时,可以提高上车点推荐结果的准确度。由于该上车点推荐模型为经过训练后得到的,因此,通过该上车点推荐模型可以直接而方便地获得推荐上车点,且得到推荐上车点的准确度较高,推荐能够同时方便用户和司机快速到达的上车点。关于上车点推荐模型训练方法的更多细节可以参见图3及其相关描述。
步骤240,使用目标上车点推荐模型,基于每个候选上车点的特征集,从候选上车点中确定与用户的起始位置相关联的推荐上车点。具体地,步骤240可以由推荐上车点确定模块640来执行。
在一些实施例中,推荐上车点确定模块640可以进一步用于:利用目标上车点推荐模型以及特征集,计算每个候选上车点作为推荐上车点的得分;基于每个候选上车点作为推荐上车点的得分,对候选上车点进行排序以确定与用户起始位置相关联的推荐上车点。上车点推荐模型能够根据每个候选上车点的特征集来为每个候选上车点打分,从而计算出每个候选上车点作为推荐上车点的得分。推荐上车点确定模块640还可以根据每个候选上车点的得分的高低来对候选上车点进行排序,例如,推荐上车点确定模块640可以根据每个候选上车点的得分从高到低进行排序,然后从中选择得分排名前Y位的候选上车点来作为推荐上车点。具体地,Y的值可以选择为1、2、4或5等。推荐上车点确定模块640优选为将排名前5位的候选上车点作为推荐上车点。在一些实施例中,目标上车点推荐模型可以直接输出排序后的推荐上车点。
步骤250,推荐上车点发送至用户的终端。具体地,步骤250可以由发送模块650来执行。
在本实施例中,当推荐上车点发送至用户的终端后,用户可以根据自己的实时位置、周边环境、个人习惯等来进一步从推荐上车点中选择一个作为本次订单的上车点(目标上车点)。在一些实施例中,当用户准备发单时,用户的终端可以将用户的起始位置发送给服务器,服务器在确定候选上车点后,发送模块650可以将服务器确定的候选上车点推荐给用户的终端。在一些实施例中,终端可以将推荐上车点以不同的标识(如大头针)显示在终端上。用户可以通过点击标识确定目标上车点。
应当注意的是,上述上车点推荐方法200有关流程的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对上车点推荐方法200的流程进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。例如,获取目标上车点推荐模型的操作可以在确定候选上车点中每个候选上车点的特征集的操作之前,也可以与确定候选上车点中每个候选上车点的特征集的操作同时进行。
图3为根据本说明书的一些实施例的上车点推荐方法的上车点推荐模型的训练步骤的流程图。如图3所示,上车点推荐模型的训练步骤300的流程包括:步骤310,获取多个第一历史订单;步骤320,获取多个第一历史订单中每个第一历史订单对应的第一参考上车点的第一特征集,以及每个第一历史订单对应的第一标签;步骤330,基于每个第一历史订单对应的第一标签以及第一参考上车点的第一特征集对初始模型进行训练,以得到初始上车点推荐模型;步骤340,基于初始上车点推荐模型确定目标上车点推荐模型。上车点推荐模型的训练步骤可以由训练模块660执行。
第一历史订单或第一历史订单对应的第一标签以及第一特征集也可以被称为训练样本。在本实施例中,利用多个第一历史订单的第一标签以及第一参考上车点的第一特征集对初始模型进行训练,第一历史订单可以选择为行程已经结束的订单。另外,当本申请的上车点推荐方法用于打车软件的拼车功能时,第一历史订单可以为在发单时选择“接受拼车”的订单(可以是拼车订单,也可以是接受拼车但是并未拼成的其他订单);当本申请的上车点推荐方法用于打车软件的快车或专车功能时,第一历史订单可以为在快车订单和/或专车订单。在一些实施例中,可以预先统计出第一历史订单对应的第一参考上车点的第一特征集,形成一个数据统计表,并将该数据统计表存储在数据库中,当上车点推荐方法的训练步骤300执行时,直接调用该数据统计表即可。第一历史订单对应的第一参考上车点可以包括在该第一历史订单中用户选择的上车点。例如,当用户输入服务请求时,打车软件平台会基于用户输入信息或用户起始位置推荐一个或多个上车点,用户可以从推荐的上车点中选择上车点。又例如,用户可以直接输入上车点作为用户选择的上车点。第一参考上车点的第一特征集包括第一参考上车点的特征。第一参考上车点的特征可以包括距离相关特征、时间相关特征、热度相关特征、位置相关特征、个性化特征、成本相关特征等。第一参考上车点的特征与图2中所述的候选上车点的特征类似。关于第一参考上车点的特征的更多描述可以参考本申请中其他地方描述(如图2及其描述)。初始模型可以包括但不限于神经网络模型(例如,CNN模型、DNN模型)、支持向量机模型、Lambdarank模型、LambdaMart模型、GBDT+LR模型和等。在一些实施例中,初始模型可以是先前更新(例如,模型最近一次更新)中生成的上车点推荐模型。
在一些实施例中,第一历史订单对应的第一标签可以基于第一历史订单对应的第一参考上车点与第一历史订单对应的实际上车点之间的距离是否小于预设距离确定。实际上车点可以理解为司机实际接到该用户时的位置,实际上车点可以通过获取司机在打车软件上点击确认已经接到乘客时的位置来确定。实际上车点也可以称为开始计费点。本领域技术人员可以根据实际的使用需求来确定上述预设距离,例如,当本申请的上车点推荐方法应用于快车订单或专车订单时,想要尽可能地缩短用户的步行距离,可以将预设距离设置得较短,例如,可以设置为10米、20米、25米等。当本申请的上车点推荐方法应用于拼车订单或顺风车订单时,可以适当增加用户的步行距离以便于司机接驾,可以将预设距离设置得较长,例如,可以设置为30米、35米或50米等。具体的,将第一参考上车点与实际上车点之间的距离小于预设距离的第一历史订单标记为“正样本”,将第一参考上车点与实际上车点之间的距离大于等于预设距离的第一历史订单标记为“负样本”,以实现对第一历史订单的标记。在一些实施例中,可以用数字“1”表示正样本,用数字“0”表示负样本。
在一些实施例中,可以通过训练算法利用第一标签和第一特征集训练初始模型以获得初始上车点推荐模型。示例性的训练算法可以包括梯度下降法、反向传播算法等。在训练过程中,第一特征集可以作为初始模型的输入,第一标签可以作为模型的参考输出(即期望输出)。需要注意的是,在一些实施例中,初始模型的训练方法也可以包括无监督学习算法或半监督学习算法。至少部分的第一历史订单可以不包括第一标签。
在一些实施例中,初始上车点推荐模型可以指定为目标上车点推荐模型。在一些实施例中,可以进一步通过验证流程对初始上车点推荐模型进行验证以获得目标上车点推荐模型。可以基于验证结果确定当前产生的初始上车点模型是否满足预设标准(例如,精度满足一定标准)。若当前生成的初始上车点模型满足预设标准,可以将当前生成的初始上车点推荐模型指定为目标上车点推荐模型。若当前生成的初始上车点模型不满足预设标准,可以重复执行训练步骤300的流程以及验证流程直到初始上车点模型满足预设标准。重复执行训练步骤300的流程包括重新获取第一历史订单。重新获取的第一历史订单与上次获取的第一历史订单至少部分不同。关于验证流程可以参考图4中的更多描述。
在一些实施例中,步骤340可以包括验证步骤400。图4为根据本说明书的一些实施例的上车点推荐方法的上车点推荐模型的验证步骤的流程图。如图4所示,验证步骤400包括:步骤410,获取多个第二历史订单;步骤420,获取多个第二历史订单中每个第二历史订单对应的第二参考上车点的第二特征集,以及每个第二历史订单对应的第二标签;步骤430,基于每个第二历史订单对应的第二标签以及第二参考上车点的第二特征集对初始上车点推荐模型进行验证,以得到目标上车点推荐模型。上车点推荐模型的验证步骤400可以由训练模块660的验证单元661来执行。
第二历史订单或第二历史订单对应的第二标签以及第二特征集也可以被称为验证样本。在本实施例中,利用多个第二历史订单的第二标签以及第二参考上车点的第二特征集对初始模型进行训练,第二历史订单可以选择为行程已经结束的订单。另外,当本申请的上车点推荐方法用于打车软件的拼车功能时,第二历史订单可以为在发单时选择“接受拼车”的订单(可以是拼车订单,也可以是接受拼车但是并未拼成的其他订单);当本申请的上车点推荐方法用于打车软件的快车或专车功能时,第二历史订单可以为在快车订单和/或专车订单。在一些实施例中,可以预先统计出第二历史订单对应的第二参考上车点的第二特征集,形成一个数据统计表,并将该数据统计表存储在数据库中,当上车点推荐方法的验证步骤400执行时,直接调用该数据统计表即可。第二历史订单对应的第二参考上车点可以包括在该第二历史订单中用户选择的上车点。例如,当用户输入服务请求时,打车软件平台会基于用户输入信息或用户起始位置推荐一个或多个上车点。用户可以从推荐的上车点中选择上车点。又例如,用户可以直接输入上车点作为用户选择的上车点。第二参考上车点的第二特征集包括第二参考上车点的特征。第二参考上车点的特征可以包括距离相关特征、时间相关特征、热度相关特征、位置相关特征、个性化特征、成本相关特征等。第二参考上车点的特征与图2中所述的候选上车点的特征类似。关于第二参考上车点的特征的更多描述可以参考本申请中其他地方描述(如图2及其描述)。在一些实施例中,每个第二历史订单对应的第二标签基于每个第二参考上车点与每个第二历史订单对应的实际上车点之间的距离是否小于上述预设距离确定。具体的,将第二参考上车点与实际上车点之间的距离小于预设距离的第二历史订单标记为“正样本”,将第二参考上车点与实际上车点之间的距离大于等于预设距离的第二历史订单标记为“负样本”,以实现对第二历史订单的标记。在一些实施例中,可以用数字“1”表示正样本,用数字“0”表示负样本。
图5为根据本说明书的一些实施例的上车点推荐方法的上车点推荐模型的验证方法中的获得目标上车点推荐模型的流程图。在一些实施例中,如图5所示,验证单元661所执行的步骤430可以进一步包括以下流程500:步骤510,对于每个第二历史订单,将第二特征集以及第二标签输入到初始上车点推荐模型以获得第二参考上车点的得分;步骤520,基于第二参考上车点的得分,对第二参考上车点进行排序而得到排名前X位的第二参考上车点的预测推荐结果;步骤530,根据排名前X位的第二参考上车点的预测推荐结果和每个第二历史订单对应的排名前X位的上车点的真实推荐结果,确定初始上车点推荐模型的评价指标;步骤540,根据评价指标判断是否将初始上车点推荐模型指定为目标上车点推荐模型。当评价指标满足一定条件时,可以将初始上车点模型指定为目标上车点模型。当评价指标不满足一定条件时,重新执行流程300,获取第一历史订单,提取每个第一历史订单对应的第一参考上车点对应的第一特征集,利用第一特征集训练初始上车点模型以更新初始上车点模型,对初始上车点模型进行验证以确定评价指标是否满足一定条件。
在一些实施例中,评价指标可以包括归一化折损累计增益(即NormalizedDiscounted cumulative gain,简称NDCG)、累计增益(即Cumulative Gain,简称CG)\折损的累计增益(即Discounted cumulative gain,简称DCG)或平均正确率(即Mean AveragePrecision,简称MAP)等。在一些实施例中,根据评价指标判断是否将初始上车点推荐模型指定为目标上车点推荐模型可以包括根据归一化折损累计增益(即NormalizedDiscounted cumulative gain,简称NDCG)判断是否将初始上车点推荐模型指定为目标上车点推荐模型。需要说明的是,归一化折损累计增益(即Normalized Discountedcumulative gain,简称NDCG)是一个是用于衡量和评价搜索结果算法或推荐算法的指标。
归一化折损累计增益与累计增益和折损的累计增益相关。累计增益CG的值cg(i)=2(label(i))-1,累计增益CG的值只考虑了相关性的程度,没有考虑位置。折损的累计增益DCG的值dcg(i)=(2label(i)-1)/log2(i+1),其中,其中label(i)表示处于第i位的排序结果的标签。折损的累计增益DCG的值不仅考虑了相关性的程度,也考虑了位置。在上述公式中label(i)表示被第二历史订单的第二标签标记的结果,即每个第二参考上车点与每个第二历史订单对应的实际上车点之间的距离是否小于上述预设距离的结果。计算归一化折损累计增益NDCG需要根据每次验证结果的DCG值dcg(query),以及理想的DCG值idea_dcg(query)来确定。
假定有10个候选上车点的排序,当前的排序的标签为0,0,0,1,1,0,1,1,0,0,理想的排序的标签应该是1,1,1,1,0,0,0,0,0,0。例如可以取排序的前5个进行计算NDCG@5,当前的排序的标签为0,0,0,1,1;理想的排序的标签应该是1,1,1,1,0。此时DCG值是将各个候选上车点的DCG值进行累加,则dcg(query)=∑dcg(i)=∑[(2label(i)-1)/log2(i+1)]。则每次验证结果的DCG值dcg(query)根据排序的标签0,0,0,1,1来计算,理想的DCG值idea_dcg(query)根据排序的标签1,1,1,1,0来计算。
计算归一化折损累计增益NDCG的值为:
ndcg(query)=dcg(query)/ideal_dcg(query)。
在步骤530中,验证单元661可以得到每个第二历史订单的排名前X位的第二参考上车点的预测推荐结果,验证单元661可以得到每个第二历史订单对应的排名前X位的上车点的真实推荐结果,通过预测推荐结果和真实推荐结果可以得到归一化折损累计增益。通过计算归一化折损累计增益,可以用来判断初始上车点推荐模型的精度,并依次为依据确定是否将初始上车点推荐模型指定为目标上车点推荐模型。
在一些实施例中,步骤540可以进一步包括:响应于归一化折损累计增益大于等于预设阈值,将初始上车点推荐模型指定为目标上车点推荐模型;以及,响应于归一化折损累计增益小于预设阈值,则重新执行训练步骤来继续训练该初始上车点推荐模型。在重新执行训练步骤来继续训练该初始上车点推荐模型的过程中,可以重新获取第一订单来对初始上车点推荐模型进行训练,重新获取的第一历史订单与上次获取的第一历史订单至少部分不同。也就是说,通过归一化累计增益与预设阈值进行对比,来验证初始上车点推荐模型是否达到预期的效果,当判断初始上车点推荐模型已经达到预期的效果,即可将初始上车点推荐模型指定为目标上车点推荐模型。在一个替代性实施例中,归一化累计增益是一个初始上车点推荐模型在经过多次训练步骤后会逐步递增的值,因此,也可以在归一化折损累计增益逐步增大的增大率小于预设值时,将初始上车点推荐模型指定为目标上车点推荐模型。
图6为根据本说明书的一些实施例的上车点推荐系统的模块图。如图6所示,上车点推荐系统600可以包括候选上车点确定模块610、特征集确定模块620、获取模块630、推荐上车点确定模块640、发送模块650和训练模块660。
候选上车点确定模块610可以用于基于用户的起始位置确定若干个候选上车点。在一些实施例中,用户的起始位置可以是用户实时的定位位置(即用户的当前位置)。例如,定位位置可以由在客户端中的定位设备(如GPS接收器)确定。在一些实施例中,用户的起始位置可以是用户通过客户端输入的位置。例如,用户输入位置可以是用户准备发单而输入的出发起点的位置。候选上车点确定模块610可以通过上文所述的召回算法来先确定若干个初选上车点,然后再从初选上车点中挑选出若干个候选上车点。
特征集确定模块620用于根据与起始位置相关联的历史订单确定候选上车点中每个候选上车点的特征集。在一些实施例中,特征集确定模块620可以根据用户的起始位置来确定与起始位置相关联的历史订单。在一些实施例中,特征集确定模块620可以根据与起始位置相关联的历史订单,确定候选上车点中每个候选上车点的特征集。在一些实施例中,特征集即可以包括每个候选上车点的特征。每个候选上车点的特征包括可以包括距离相关特征、时间相关特征、热度相关特征、位置相关特征、个性化特征、成本相关特征等局部热度。
获取模块630可以用于获取目标上车点推荐模型。在一些实施例中,在一些实施例中,目标上车点推荐模型训练后的上车点模型可以不定时地更新,例如定期或不定期,从而提高所使用的上车点推荐模型的准确性。当获取的训练后的上车点推荐模型的推荐准确度升高时,可以提高上车点推荐结果的准确度。
推荐上车点确定模块640可以用于使用目标上车点推荐模型,基于每个候选上车点的特征集,从候选上车点中确定与用户的起始位置相关联的推荐上车点。在一些实施例中,推荐上车点确定模块640可以使得每个候选上车点的特征集被输入目标上车点推荐模型中,并通过上车点推荐模型来从候选上车点中确定处与用户的起始位置相关联的推荐上车点。在一些实施例中,推荐上车点确定模块640可以进一步用于:利用目标上车点推荐模型以及特征集,计算每个候选上车点作为推荐上车点的得分;基于每个候选上车点作为推荐上车点的得分,对候选上车点进行排序以确定与用户起始位置相关联的推荐上车点。
发送模块650可以用于将推荐上车点发送至用户的终端。在一些实施例中,当用户准备发单时,用户的终端可以将用户的实起始位置发送给服务器,服务器在确定候选上车点后,发送模块650可以将服务器确定的候选上车点推荐给对应的用户的终端。
训练模块660可以用于训练上车点推荐模型。在一些实施例中,训练模块可以用于:获取多个第一历史订单;获取多个第一历史订单中每个第一历史订单对应的第一参考上车点的第一特征集,以及每个第一历史订单对应的第一标签;以及基于每个第一历史订单对应的第一标签以及第一参考上车点的第一特征集对初始模型进行训练,以得到初始上车点推荐模型;基于初始上车点推荐模型确定目标上车点推荐模型。每个第一历史订单对应的标签基于每个参考上车点与每个第一历史订单对应的实际上车点之间的距离是否小于预设距离确定。
在一些实施例中,训练模块包括验证单元,验证单元用于验证经训练模块训练后得到的初始上车点推荐模型。在一些实施例中,验证单元用于:获取多个第二历史订单;获取多个第二历史订单中每个第二历史订单对应的第二参考上车点的第二特征集,以及每个第二历史订单对应的第二标签;基于每个第二历史订单对应的第二标签以及第二参考上车点的第二特征集对初始上车点推荐模型进行验证,以得到目标上车点推荐模型。在一些实施例中,验证单元还用于:对于每个第二历史订单,将第二特征集以及第二标签输入到初始上车点推荐模型以获得第二参考上车点的得分;基于第二参考上车点的得分,对第二参考上车点进行排序而得到排名前X位的第二参考上车点的预测推荐结果;根据排名前X位的第二参考上车点的预测推荐结果和每个第二历史订单对应的排名前X位的上车点的真实推荐结果,确定归一化折损累计增益;根据归一化折损累计增益判断是否将初始上车点推荐模型指定为目标上车点推荐模型。在一些实施例中,验证单元还用于:响应于归一化折损累计增益大于等于预设阈值,将初始上车点推荐模型指定为目标上车点推荐模型。
应当理解,图6所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书一个或多个实施例的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于上车点推荐系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,特征集确定模块420还可以进一步包括历史拼车获取单元和特征获取单元。又例如获取模块630和推荐上车点确定模块640可以组合成单个模块,该单个模块可以同时用于执行使用目标上车点推荐模型确定推荐上车点的操作。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)基于用户的起始位置来确定候选上车点,使用与起始位置相关联的历史订单来确定每个候选上车点的特征集,并通过训练后的上车点推荐模型来从候选上车点中确定推荐上车点,可以提高推荐效率以及准确率,可以得到用户和司机都能够快速而方便地到达的推荐上车点;(2)基于每个第一历史订单对应的第一标签以及第一参考上车点的第一特征集对初始模型进行训练,得到的目标上车点推荐模型精度较高;(3)基于每个第二历史订单对应的第二标签以及第二参考上车点的第二特征集对初始上车点推荐模型进行验证,可以提高目标上车点推荐模型的精度;(4)引入归一化折损累计增益来判断上车点推荐模型的训练效果,可以进一步提高目标上车点推荐模型的精度;(5)基于每个候选上车点的局部热度、距离、步行成本、步行分、个性化分、顺路性分和总评分等特征来确定特征集,这些特征基于用户及历史订单中发单者的历史行为来确定,可以在确定推荐上车点的过程中提供有效参考。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、系统或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、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 (13)

1.一种上车点推荐方法,其特征在于,所述方法包括:
基于用户的起始位置确定若干个候选上车点;
根据与所述起始位置相关联的历史订单确定所述候选上车点中每个候选上车点的特征集;
获取目标上车点推荐模型;
使用所述目标上车点推荐模型,基于所述每个候选上车点的特征集,从所述候选上车点中确定与所述用户的起始位置相关联的推荐上车点;以及
将所述推荐上车点发送至所述用户的终端。
2.根据权利要求1所述的上车点推荐方法,其特征在于,所述使用所述目标上车点推荐模型,基于所述每个候选上车点的特征集,从所述候选上车点中确定推荐上车点包括:
利用所述目标上车点推荐模型以及所述特征集,计算所述每个候选上车点作为推荐上车点的得分;以及
基于所述每个候选上车点作为推荐上车点的得分,对所述候选上车点进行排序以确定与所述用户起始位置相关联的推荐上车点。
3.根据权利要求2所述的上车点推荐方法,其特征在于,所述目标上车点推荐模型的训练方法包括训练步骤,包括:
获取多个第一历史订单;
获取所述多个第一历史订单中每个第一历史订单对应的第一参考上车点的第一特征集,以及所述每个第一历史订单对应的第一标签;
基于所述每个第一历史订单对应的第一标签以及所述第一参考上车点的第一特征集对初始模型进行训练,以得到初始上车点推荐模型;以及
基于所述初始上车点推荐模型确定所述目标上车点推荐模型。
4.根据权利要求3所述的上车点推荐方法,其特征在于,所述每个第一历史订单对应的第一标签基于所述每个第一参考上车点与所述每个第一历史订单对应的实际上车点之间的距离是否小于预设距离确定。
5.根据权利要求3所述的上车点推荐方法,其特征在于,所述基于所述初始上车点推荐模型确定所述目标上车点推荐模型包括验证步骤:
获取多个第二历史订单;
获取所述多个第二历史订单中每个第二历史订单对应的第二参考上车点的第二特征集,以及所述每个第二历史订单对应的第二标签;以及
基于所述每个第二历史订单对应的第二标签以及所述第二参考上车点的第二特征集对所述初始上车点推荐模型进行验证,以得到所述目标上车点推荐模型。
6.根据权利要求5所述的上车点推荐方法,其特征在于,所述基于所述每个第二历史订单对应的第二标签以及所述第二参考上车点的第二特征集对所述初始上车点推荐模型进行验证,以得到所述目标上车点推荐模型包括:
对于所述每个第二历史订单,将所述第二特征集以及所述第二标签输入到所述初始上车点推荐模型以获得所述第二参考上车点的得分;
基于所述第二参考上车点的得分,对所述第二参考上车点进行排序而得到排名前X位的第二参考上车点的预测推荐结果;
根据所述排名前X位的第二参考上车点的预测推荐结果和所述每个第二历史订单对应的排名前X位的上车点的真实推荐结果,确定归一化折损累计增益;
根据所述归一化折损累计增益判断是否将所述初始上车点推荐模型指定为所述目标上车点推荐模型。
7.根据权利要求6所述的上车点推荐方法,其特征在于,所述根据所述归一化折损累计增益判断是否将所述初始上车点推荐模型指定为所述目标上车点推荐模型,包括:
响应于所述归一化折损累计增益大于等于预设阈值,将所述初始上车点推荐模型指定为所述目标上车点推荐模型。
8.根据权利要求1所述的上车点推荐方法,其特征在于,所述特征集中包括所述每个候选上车点的局部热度、距离、步行成本、个性化分、顺路性分和总评分中的至少一个,其中,
所述局部热度反映所述每个候选上车点在所述历史订单上被选择为上车点的次数;
所述距离反映所述用户的起始位置与所述每个候选上车点之间的距离;
所述个性化分反映所述用户在所述历史订单上对于在所述每个候选上车点上车的喜好程度;
所述顺路性分反映司机到所述每个候选上车点接驾的顺路程度以及所述用户步行到所述每个候选上车点上车的顺路程度;
所述步行成本反映所述用户从的起始位置步行到所述每个候选上车点的难易程度;以及
所述总评分反映司机和所述用户到所述每个候选上车点的便利程度。
9.根据权利要求8所述的上车点推荐方法,其特征在于,所述距离包括球面距离、步行距离、最短车行距离或车行距离中的至少一个,
所述球面距离为根据所述用户的起始位置和所述每个候选上车点的经纬度,利用地球球面的弧度计算出的所述起始位置与所述每个候选上车点之间的距离,
所述步行距离为所述用户的起始位置到所述每个候选上车点的预估步行距离,以及
所述车行距离为所述每个候选上车点到所述用户的设定终点的预估车行距离,所述最短车行距离为所述每个候选上车点到所述用户的设定终点的最短预估车行距离。
10.根据权利要求9所述的上车点推荐方法,其特征在于,所述局部热度能够由局部热度分定义;所述步行成本能够由步行分定义;所述步行成本根据所述局部热度、所述步行距离和所述球面距离来确定;所述个性化分根据所述步行分和个性化热度来确定,所述个性化热度反映所述用户在所述历史订单上对于在所述每个候选上车点上车的次数;所述顺路性分根据所述步行分、所述最短车行距离和所述车行距离来确定;所述总评分根据所述局部热度、所述局部热度分、所述步行分、所述个性化分和所述顺路性分来确定。
11.一种上车点推荐系统,其特征在于,所述系统包括:
候选上车点确定模块,用于基于用户的起始位置确定若干个候选上车点;
特征集确定模块,用于根据与所述起始位置相关联的历史订单确定所述候选上车点中每个候选上车点的特征集;
获取模块,用于获取目标上车点推荐模型;
推荐上车点确定模块,用于使用所述目标上车点推荐模型,基于所述每个候选上车点的特征集,从所述候选上车点中确定与所述用户的起始位置相关联的推荐上车点;以及
发送模块,用于将所述推荐上车点发送至所述用户的终端。
12.一种上车点推荐装置,所述装置包括处理器和存储器;所述存储器用于存储指令,其特征在于,所述指令被所述处理器执行时,所述装置实现如权利要求1~10中任一项所述方法对应的操作。
13.一种计算机可读存储介质,其特征在于,所述存储介质存储计算机指令,当计算机读取所述存储介质中的计算机执指令时,所述计算机执行如权利要求1~10中任一项所述方法。
CN202010798339.6A 2020-08-10 2020-08-10 一种上车点推荐方法及系统 Pending CN111931081A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010798339.6A CN111931081A (zh) 2020-08-10 2020-08-10 一种上车点推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010798339.6A CN111931081A (zh) 2020-08-10 2020-08-10 一种上车点推荐方法及系统

Publications (1)

Publication Number Publication Date
CN111931081A true CN111931081A (zh) 2020-11-13

Family

ID=73308170

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010798339.6A Pending CN111931081A (zh) 2020-08-10 2020-08-10 一种上车点推荐方法及系统

Country Status (1)

Country Link
CN (1) CN111931081A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734235A (zh) * 2021-01-11 2021-04-30 辽宁工程技术大学 基于综合评价的个性化乘车点推荐方法及系统
CN112785393A (zh) * 2021-02-08 2021-05-11 北京嘀嘀无限科技发展有限公司 一种位置推荐方法、装置及电子设备
CN112800338A (zh) * 2021-03-04 2021-05-14 北京嘀嘀无限科技发展有限公司 下车点的推荐方法、装置、电子设备和计算机程序产品
CN114510658A (zh) * 2022-02-10 2022-05-17 上海钧正网络科技有限公司 推荐上车点的确定方法、装置、服务器和终端设备
CN115935089A (zh) * 2023-02-06 2023-04-07 北京合思信息技术有限公司 一种基于rpa技术的上车点推荐优化方法和系统
WO2023109128A1 (zh) * 2021-12-15 2023-06-22 北京嘀嘀无限科技发展有限公司 一种上车点推荐方法、系统、电子设备、介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019227292A1 (en) * 2018-05-28 2019-12-05 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for recommending pick-up locations
CN111210036A (zh) * 2018-11-21 2020-05-29 北京嘀嘀无限科技发展有限公司 一种确定推荐上车点的方法和系统
CN111324824A (zh) * 2019-09-24 2020-06-23 北京嘀嘀无限科技发展有限公司 一种目的地推荐方法、其装置、电子设备及可读存储介质
CN111444340A (zh) * 2020-03-10 2020-07-24 腾讯科技(深圳)有限公司 文本分类和推荐方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019227292A1 (en) * 2018-05-28 2019-12-05 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for recommending pick-up locations
CN111210036A (zh) * 2018-11-21 2020-05-29 北京嘀嘀无限科技发展有限公司 一种确定推荐上车点的方法和系统
CN111324824A (zh) * 2019-09-24 2020-06-23 北京嘀嘀无限科技发展有限公司 一种目的地推荐方法、其装置、电子设备及可读存储介质
CN111444340A (zh) * 2020-03-10 2020-07-24 腾讯科技(深圳)有限公司 文本分类和推荐方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
康军;张凡;段宗涛;黄山;: "基于LightGBM的乘客候车路段推荐方法", 测控技术, no. 02 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734235A (zh) * 2021-01-11 2021-04-30 辽宁工程技术大学 基于综合评价的个性化乘车点推荐方法及系统
CN112785393A (zh) * 2021-02-08 2021-05-11 北京嘀嘀无限科技发展有限公司 一种位置推荐方法、装置及电子设备
CN112800338A (zh) * 2021-03-04 2021-05-14 北京嘀嘀无限科技发展有限公司 下车点的推荐方法、装置、电子设备和计算机程序产品
WO2023109128A1 (zh) * 2021-12-15 2023-06-22 北京嘀嘀无限科技发展有限公司 一种上车点推荐方法、系统、电子设备、介质及程序产品
CN114510658A (zh) * 2022-02-10 2022-05-17 上海钧正网络科技有限公司 推荐上车点的确定方法、装置、服务器和终端设备
CN115935089A (zh) * 2023-02-06 2023-04-07 北京合思信息技术有限公司 一种基于rpa技术的上车点推荐优化方法和系统

Similar Documents

Publication Publication Date Title
CN111931081A (zh) 一种上车点推荐方法及系统
TWI676783B (zh) 用於預估到達時間之方法及系統
US10689002B2 (en) System and method for determining safety score of driver
US20190120639A1 (en) Systems and methods for route planning
WO2019154398A1 (en) Systems and methods for recommending transportation services
CN109376311A (zh) 适用于多个共乘模型的驾驶员-乘车者匹配的系统、方法和装置
TW201741993A (zh) 確定運輸服務路線之系統及方法
WO2019219088A1 (en) Systems and methods for order allocation
CN110741225B (zh) 确定目标站点的系统和方法
JP6723721B2 (ja) 旅行プランナーのための旅行再ランキング
KR20180012794A (ko) 운송 서비스 요금을 결정하기 위한 방법 및 시스템
CN112868036A (zh) 位置推荐的系统和方法
CN107341166B (zh) 一种车载app的推荐方法及系统
CN111881368B (zh) 一种确定推荐上车点的方法和系统
CN110782648B (zh) 确定预计到达时间的系统和方法
CN111433795A (zh) 一种确定线上到线下服务的预估到达时间的系统和方法
CN110839346A (zh) 用于分配服务请求的系统和方法
CN111861643A (zh) 一种乘车位置的推荐方法、装置、电子设备及存储介质
US20230273040A1 (en) System and method of creating custom dynamic neighborhoods for individual drivers
CN112270427A (zh) 一种推荐上车点的方法和系统
CN111144603A (zh) 一种服务信息推送方法、装置、电子设备和存储介质
CN111932341A (zh) 一种确定拼车订单的方法和系统
CN105447185A (zh) 基于知识与位置的个性化旅游景点推荐方法
CN111859183A (zh) 一种上车点推荐方法、系统、装置及存储介质
CN112041858A (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