滴滴
地图数据:POI 信息和路网信息
地图数据分层标记
地图数据可以分为两个层次:一是高清地图,二是标清地图。除了自动驾驶小范围在探索高清地图外,绝大部分应用都是基于标清地图。标清地图数据主要包括 POI(Point of Interest)信息和路网信息。POI 信息也称为起终点信息,涵盖楼栋、小区地址、小区各个门所在位置、商业/普通住宅等信息,更深入一点,还可以涵盖地图上用户点评、打卡等图片和视频内容。
路网信息则是指从 A 点到 B 点所经过的道路条数、宽度、车道、限速、坡状、拐弯与否、交规细则、通行时间段限制等信息。它没有统一的规范,但行业内一般为每一个小路段附带 400 个左右的属性信息。路口、立交桥等特殊地点的信息更为复杂,或将包含更多的 3D 属性信息等等。
数据采集
一方面,出行场景天然会产生大量的连续、优质的轨迹数据,此外滴滴还可以与合作伙伴进行合作,获取补充的地图数据。另一方面,还可以基于司乘用户每天上报的数十万量级的路况事件来挖掘数据。其中,80-90%地图数据都是自动化挖掘的。数据挖掘方式大致分以下几类:
-
以 POI 信息为例,滴滴通过分析大量的司乘上下车行为信息来进行 POI 生命周期的挖掘。如突然发现没有人打车去一个热门的 POI,通过分析信息数据,可能发现这个 POI 已经关门或搬迁,这便是数据挖掘得来的结论。
-
通过分析网约车的轨迹信息,运用大数据技术进行散点信息融合,也能够挖掘出更多的数据。虽然滴滴平台上单台车提供的信息密度、图像质量等跟正规的采集车有较大差距,但网约车总数量大,行车记录仪图像也更加丰富,每天的轨迹里程可以达到几亿公里的级别,蕴涵的信息熵更大。
地理时空信息精修
地理时空技术对出行平台而言非常重要,交易级地图对数据的要求也格外高。滴滴地图将地理时空信息分为数据生态层、数据层与引擎层。在数据生态层,除了滴滴本身积累的海量出行大数据,还包含很多行业合作伙伴为滴滴地图提供的丰富的天气、电子眼等数据信息,而数据层则存在于“数据生态层”之上,包含挖掘能力和数据生产能力。
泛挖掘能力有三大方面:一是轨迹挖掘,滴滴通过数据挖掘技术来自动化发现物理世界的变化,如一个主路或繁华道路在高峰时段 10 分钟内车流量骤降,运用数据挖掘技术构筑的“异常点检测”模型可以发现这个问题,自动化将结果推送到线上引擎;二是司乘上报挖掘,在滴滴的体系里,司乘每天的上报量极高;三是图像挖掘,为了安全以及司乘纠纷处置、管控等因素,行车记录仪覆盖了滴滴网约车 50%的订单,借助 AI 技术可以对行车记录仪对外摄像头的场景数据进行图像挖掘。
在数据生产能力方面,滴滴拥有巨大的数据生产平台,大部分数据可实现自动化生产,但在一部分复杂场景,还需要人工的介入。引擎层则在“数据层”之上,主要包括地理信息检索引擎、路径规划引擎与定位引擎等等。
业务数据分级响应
在内部地图数据建设体系中,如果某些点或某些路段用户使用频繁,绝对不允许出错,滴滴地图就会把这些数据划分为最高等级的数据,其余的数据层次和重要性会依次类推。最高层的要求是“立刻响应、立刻修正、立刻编辑、立刻生效”,如此一来,数据生产便完全由业务体验导向。
地图引擎
滴滴地图提供针对发单时的定位、上车推荐点,发单后的智能派单、调度、路径规划和预估到达时间,行程中的导航、安全保护、躲避拥堵和计费等能力,这背后离不开地理信息检索引擎、路径规划引擎、定位引擎、ETA、导航引擎、上下车引擎、推荐引擎这七大技术引擎的支撑。
-
地理信息检索引擎:基于大数据和 AI 技术,为用户提供精确的地理信息查询匹配。其中,Query 改写和分析模块,利用 HMM、CRF、NMT 等机器学习技术,实现了包含纠错、省略、同义、归一化、成分识别、意图识别等模块,全方位的用户输入能力的语义理解能力;索引召回,实现分词、别名、英文、区域、跨城、深度召回等多源召回策略,同时基于适合出行场景的相关性深度模型,保证召回质量;POI 排序,基于海量出行数据挖掘出距离、相关性、热度、个性化等多维特征,通过 LTR 实现智能排序引擎,确保用户体验。
-
路径规划引擎:基于精准的路网时空拓扑数据和海量的用户轨迹数据,利用深度学习和强化学习等技术,智能生成多条高质量的路线,路线会按照安全、用户偏航、行驶时间、距离等因素综合排序,给出综合性能最好的路线。此外,乘客可以根据路线选择功能选择自己期望的路线。
-
智能定位引擎:基于滴滴的大数据优势,结合 AI 技术,为司乘两端提供全时域精准、稳定的位置服务。在乘客端,建立了基于 CNN 端到端的网络定位技术,显著提升室内定位精度。在司机端,融合 AI 与传统航位推算及融合定位技术,建立了一套云边一体的智能定位解决方案。
-
ETA:利用地图时空数据和海量出行大数据、AI 进行有效地特征学习和模型预测。模型对海量真实出行轨迹、路网拥堵数据、不同天气道路路况等特征进行自动学习,精准预估到达时间(ETA)。到达时间信息可以辅助用户做出行决策,也是路线排序选择的重要特征之一。
-
导航引擎:封装和保护几何数据的拓扑关系和导引数据,对上层提供路线分析、拓扑分析、引导信息等功能。针对复杂的道路拓扑,智能化的给予用户关键的道路驾驶提示,包括路口放大图、引导信息和语音播报等,帮助司机对道路拓扑和通行状况有更好的认识。
-
上下车点引擎:基于海量的司乘出行数据以及地理空间数据,利用时空表示学习和深度推荐技术构建精准的出行上下车位置推荐,结合场景化的上下车引导,帮助司乘顺利安全碰面、准确送达目的地,降低司乘的沟通成本,提升出行效率。
目的地推荐引擎:基于用户历史出行数据和 AI 技术,滴滴地图建立了一套出行场景下的目的地预测方案。能基于高斯分布与冯米赛斯分布建立目的地概率统计连续特征,基于用户目的地时间与位置坐标建立多维度离散统计特征。通过 Tree 模型和 Embedding 更好地结合低维强特征与高维弱特征。Fusion 层进一步提高 FM 和 DNN 模型的融合效果,为用户精准推荐目的地,帮助用户更快出行。
ETA
地理时空信息与大数据、AI 技术有效地结合和交叉,可应用于网约车预估到达时间(ETA)。原本 ETA 是通过数学公式来构建,从 A 点到 B 点分多少路段,预测每个路段时间,进行加和,然后给出总路程时间,每一段的路程时间是基于当时获得的实时路况信息来估计。
而滴滴采用 AI 和大数据技术,将滴滴订单作为样本,样本特征涵盖道路的静态属性(如三车道、四车道、五车道、限速、拐弯、红绿灯)和动态特征(涵盖出发时间、行驶道路上的车流量、通行速度、路况等级等)。滴滴将这些静态和动态的特征构建成大规模的稀疏学习问题,应用工业界广泛使用的大规模样本特征,取得了较好的效果,其第一版机器学习模型比传统做法准确率提升 7%-8%。而随着模型的持续迭代,2018 年滴滴地图已经率先将深度学习技术应用于 ETA 计算,MAPE 测算指标误差(MAPE 值)进一步降至 10.5%。在滴滴尚未入局之前,行业内的 ETA 误差在 20%左右,其他地图厂商在使用 AI 算法以后也将误差降至 14%左右。
路线规划引擎
在路线规划上,以网约车使用 GNSS 轨迹点作为行程依据为例,由于 GNSS 轨迹点会受到很多因素的影响,如天气、高楼遮挡、电气折射等,将造成一定的偏移和误差。如何更加精准地给出计费里程?滴滴地图以路网数据为先验知识,采用序列深度模型,做状态转移的判断和推测,来提升滴滴平台提升计费里程的准确性。
而在路径规划上,路线规划引擎包含“路线生成引擎”和“路线决策引擎”。其中“路线生成引擎”主要由“图算法路线生成器”与“强化学习生成器”两部分组成。“图算法路线生成器”由实时、高效的单权值“图论算法”构成。而“强化学习生成器”则建构在一个完全真实的全程式的道路情况之上,它将城市里每一分、每一秒、每一条道路的通行状况作为 state,action 则是每一个决策,比如路口左转、右转或直行,而 reward 则通过生成路线的时间、价格、里程、通行采纳率来综合给出。
“强化学习生成器”还面临比较大的计算效率问题:当前滴滴地图每天进行数百亿次路径规划调用,因此需要对强化学习的计算效率做优化,保证每一步搜索效率是最大的。滴滴地图在物理世界的地图上,利用多条候选路线的交叉、合并和重组,生成一个高效简洁的“子路网”,并在“子路网”上利用强化学习搜索出新的路线。
最后,路线决策引擎会考虑时间、里程、价格和“路线热度”、用户偏好等维度,通过“效用函数”来评估路线价值,并且考虑到了不同的业务场景,比如网约车、出租车或自驾导航等,以及不同的业务类型,比如专车或快车等,以期给用户最优解。
效果指标
如何评估路径规划与 ETA 的完成效果?在滴滴地图中,MAPE、零通话率、定点率等重要的效果指标就变得非常重要。MAPE:ETA 的测算指标,滴滴地图 ETA 当前可以达到平均误差比例在 10.5%左右,也就是一个小时的行程,平均偏差在 6 分钟左右。
零通话率:这是一个非常有体感的指标。在 4 年前,滴滴八成的订单都需要乘客给司机打电话反复确认位置,才能完成司机和乘客的顺利会面,现在只有两成以上的订单需要如此操作。司乘定位更精准,由于碰不到面而打电话的情况就非常少了。尽力实现零通话率,可以让用户体验更佳。
定点率:评估为乘客推荐上下车点准确率的重要技术指标。当平台推荐的上车/下车位置与乘客实际上车/下车位置的距离小于某个阈值(例如 30m),我们称为上车/下车定点。接送驾系统的更新迭代带来司乘碰面难度的持续下降,直接体现在上下车点定点率的持续提升。