机器学习在美团配送系统的实践:用技术还原真实世界-笔记

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

本文为美团文章学习的笔记整理。

1. 美团“超脑”配送系统的由来

美团内部把配送的AI系统,简称为“超脑”配送系统。

2. 即时配送在全球快速发展

以外卖为依托,即时配送业务在全球范围内掀起了一波快速发展的浪潮,两个问题:

  • “懒”是人类的天性。平价、方便、快捷的服务是人类的普遍需求,尤其是在“吃”这个事情上,外卖成为了一种高频的刚需。
  • 外卖的商业模式完全可行。以美团外卖为例,2018年上半年整体收入160亿,同步增长90%。根据Uber公布的数据,Uber Eats在2018第一季度占整体营业的13%。

3. 即时配送的业务模型

即时配送,是一种配送时长1小时以内,平均配送时长约30分钟的快速配送业务。如此快速的配送时效,将传统的线上电商交易与线下物流配送(传统划分比较明确的两条业务)整合为统一整体,形成了用户、商户、骑手和平台互相交错的四元关系。

以外卖搜索和排序为例,在下午时段,在用户搜索和推荐中可以看到更多的商家,因为此时运力充分,可以提供更远距离的配送服务,不仅能更好满足用户的需求,提高商家的单量,而且能够增加骑手的收入。

业务模型

即时配送的核心指标是效率、成本、体验,这三者也形成了即时配送的商业模型。简单来说可以分为以下几步:

首先配送效率提升,让骑手在单位时间内配送更多订单,产生更多价值。然后配送成本下降,更高的效率,一方面让骑手收入增加,一方面也让订单平均成本下降。然后用户体验提升,低成本能够让用户(商户)以更低的价格享受更好的配送服务,从而保证更好的用户体验。进一步提升效率并形成循环,更好的用户体验,让更多用户(商户)聚集过来,提升规模和密度,进一步提升配送效率。

4. 美团“超脑”配送系统

美团“超脑”配送系统

美团“超脑”配送系统,包含以下几个方面:

  • 大数据处理和计算能力
    • 算法数据和计算平台:包括实时特征计算、离线数据处理、机器学习平台等。
  • 建立对世界深度感知
    • LBS系统:提供正确位置(用户/商户/骑手)以及两点之间正确的骑行导航。
    • 多传感器:提供室内定位以、精细化场景刻画、骑手运动状态识别
  • 正确理解和准确预测
    • 时间预估:提供所有配送环节时间的准确预估
    • 其他预估:销量预估、运力预估等
  • 完成复杂决策
    • 调度系统:多人多点实时调度系统,完成派单决策:谁来送?怎么送?
    • 定价系统:实时动态定价系统,完成定价决策:用户收多少钱?给骑手多少钱?
    • 规划系统:配送网络规划系统,完成规划决策:站点如何划分?运力如何运营?

5. 机器学习技术挑战

如何构建一个在真实物理世界运行的AI系统,是最大的挑战。具体到机器学习方向而言,挑战包括以下几个方面:

  • 精度足够高、粒度足够细
    • 时间要求:一方面是周期性变化,比如早午晚,工作假日,季节变化;一方面是分钟级的精细度,比如一个商圈单量和运力的实时变化。
    • 空间要求:一方面是不同商圈独有特性,比如CBD区域;一方面是要实现楼栋和楼层的精度,比如1楼和20楼,就是完全不同的配送难度。
    • 鲁棒性要求:处理各种不确定的能力,比如天气变化、交通变化等等。
  • 线下数据质量的巨大挑战
    • 大噪音:比如GPS定位漂移,尤其是在高楼附近,更不要说在室内GPS基本不可用。
    • 不完备:比如商家后厨数据、堂食数据、其他平台数据,都极难获得。
    • 高复杂:配送场景多样而且不稳定,随着时间、天气、路况等在不断变化。

6. 配送系统的核心参数ETA

ETA(Estimated Time of Arrival,时间送达预估)是配送系统中非常重要参数,与用户体验、配送成本有直接关系,而且会直接影响调度系统和定价系统的最终决策。

ETA

通过机器学习方法,将外卖配送几乎所有环节都进行了精准预估预测。

Note:
ETA关联了调度系统与定价系统,对所有时间环节都进行预测。

7. 精准到楼宇和楼层的预估:交付时长

交付时长是指骑手到达用户后,将外卖交付到用户手中并离开的时间,实际是需要考虑三维空间内计算(上楼-下楼)。交付时间精准预估,有两点重要的意义,首先是客观的衡量配送难度,给骑手合理补贴;其次,考虑对骑手身上后续订单的影响,防止调度不合理,导致其他订单超时。

交付时长

交付时长的目标是,做到楼宇和楼层的精准颗粒度,具体可以拆解为以下几步:

  1. 地址的精准解析(精确到楼宇/单元/楼层)
    • 地址精度需要在5级之上(4级:街道,5级:楼宇),国内拥有这个级别精细化数据的公司屈指可数。
    • 数据的安全级别很高,我们做了很多脱敏工作,做了各种数据保护与隔离,保证用户隐私和数据安全。
    • 地址信息的多种表达方式、各种变形,需要较强的NLU技术能力。
  2. 交付时长预估
    • 通过骑手轨迹进行“入客-离客”识别,并进行大量数据清洗工作。
    • 统计各个粒度的交付时长,通过树形模型实现快速搜索各个粒度的数据。
    • 因为预估精度是楼宇和楼层,数据很稀疏,很难直接进行统计,需要通过各种数据平滑和回归预估,处理数据稀疏和平滑的问题。
  3. 下游业务应用
    • 给调度和定价业务,提供楼宇+楼层维度的交付时长。从上图可以看到,在不同楼宇,不同楼层交付时长的区分度还是很明显的。
    • 尤其是楼层与交付时长并不是线性相关,还具体调研过骑手决策行为,发现骑手会考虑等电梯的时间,低楼层骑手倾向于走楼梯,高楼层则坐电梯。

Note:
交付时长是一个特别精细的工作,从美团的文章来看,交付时长非常重要,还有一篇单独的文章来介绍这个工作。

8. 配送中最重要的数据之一:地图

ETA

配送地图的目标可以概括为以下两点:

  • 正确的位置
    • 实时部分:骑手实时位置。
    • 静态部分:用户和商户准确的地址和位置。
  • 正确的导航
    • 两点之间正确的距离和路线。
    • 突发情况的快速反应(封路、限行)。

在即时配送业务中,骑行地图的重要性非常之高,同时很多问题确实非常具有行业特色,通过驾车地图的技术无法很有效的解决。

Note:
地图是一个非常庞大的业务,需要有充足的资源再考虑。

9. 基于签到数据的位置校正:交付点

目前主要问题:用户位置信息有很多错误,比如:

  • 用户选择错误,在订单发送到配送系统的时候,需要做一次用户坐标纠正,引导骑手到达正确的位置。
  • POI数据不精细,用户选择了比较粗的位置信息。现实中在一个小区里面,找到一个具体xx栋楼还是非常困难的。造成这种原因,一方面可能是用户选择不精细,还有一种可能,就是地图上没有具体楼栋的POI信息。

在实际配送中,会要求骑手在完成交付后进行签到,这样就会积累大量的上报数据,对于后续进行精细化挖掘非常有帮助。这其中蕴含着极高的价值,具体来说有三方面:

  • 数据量大
    • 每天几千万订单,几十亿的轨迹数据。
    • 可以充分覆盖每一个小区/楼栋/单元门。
  • 维度多样
    • 除了骑手签到和轨迹数据,我们还有大量的用户、商户和地图数据。
    • 多种数据维度可以交叉验证,有效避免数据的噪音,提高挖掘结果精度。
  • 数据完备
    • 在局部(用户和商户)数据足够稠密,置信度比较高。

Note:
要求骑手完成订单签到是一种非常棒的操作,可以收集完整的订单信息(订单完成时间),修正用户位置。

10. 交付点挖掘的技术实战:挑战

在数据挖掘实际过程中,整个挖掘过程,分为以下几个步骤:(1)基于地址分组;(2)数据去噪;(3)数据聚合;(4)置信度打分。其中主要技术挑战,主要在各种场景中保证数据挖掘质量和覆盖率,具体来说主要有三个挑战:

  • 数据去噪
    • 数据噪音来源比较多样,包括GPS的漂移、骑手误操作、违规操作等各种。一方面是针对噪音原因进行特殊处理(比如一些作弊行为),另一方面要充分发挥数据密度和数据量的优势,在保证尽量去除Outlier后,依然保持可观的数据量。能够同时使用其他维度的数据进行验证,也是非常重要的,甚至可以说数据多样性和正交性,决定了我们能做事情的上限。
  • 数据聚合
    • 不同区域的楼宇密度完全不一样,具有极强的Local属性,使用常规聚类方法,比较难做到参数统一,需要找到一种不过分依赖样本集合大小,以及对去噪不敏感的聚类算法。
  • 重名问题
    • 这个属于POI融合的一个子问题,判断两个POI信息是否应该合并。这个在用户地址中比较常见,用户提供的地址信息一样,但实际是两个地方。这种情况下,我们的处理原则是一方面要求纠正后坐标更符合骑手签到情况,另一方面新坐标的签到数据要足够稠密。

交付点挖掘的技术实战:效果

目前效果上看还是非常明显的。包括几个方面:

  • 骑手交付距离明显降低
  • 单元门级别的高精度位置
  • 目前的问题以及后续的优化点
    如何提升其作为POI挖掘和发现手段的准确率?这里面有很多优化点,比如去重(交付点-位置信息的一一映射),POI信息补全和更新。
    如何扩大数据渠道并做到信息整合?目前主要渠道还是骑手签到和轨迹数据,这个明显有更大的想象空间,毕竟每天在全国大街小巷,有几十万骑手在进行配送,除了前面(以及后面)提到的通过手机被动采集的数据,让骑手主动采集数据,也是不错的建设思路。只不过想要做好的话,需要建立一个相对闭环数据系统,包括上报、采集、清洗、加工、监控等等。

Note:
这是一个很精细的工作,初期不太用考虑。

11. 更精细化的配送场景识别:感知

地图技术,只能解决在室外场景的位置和导航问题。但配送在商家侧(到店、取餐)和用户侧(到客、交付)两个场景中,其实是发生在室内环境。在室内的骑手位置是在哪里、在做什么以及用户和商家在做什么,如果了解这些,就能解决很多实际问题。

问题

“情景感知”具体方向:

情景感知

情景感知的目标就是做到场景的精细刻画(上图的上半部分),包含两个方面工作:

  1. 配送节点的精确刻画
    在ETA预估中已经展示过一些,不过之前主要还是基于骑手上报数据,这显然无法做到很高精确,必须引入更客观的数据进行描述。目前,我们选择的是WIFI和蓝牙的地理围栏技术作为主要辅助。
  2. 配送过程的精确刻画
    骑手在配送过程中经常会切换方式,比如可能某个小区不让骑电动车,那骑手必须步行,再比如骑手在商家发生长时间驻留,那应该是发生了等餐的情况(用户侧同理)。目前,选择使用基于传感器的运动状态识别作为主要辅助。

Note:
这是属于一个锦上添花的功能,初期不太用考虑。

Reference

  1. 机器学习在美团配送系统的实践:用技术还原真实世界
如果有收获,可以请我喝杯咖啡!