外界曾经嘲笑百度外卖“别人在做人工智能,百度在送外卖”。
对此,李彦宏在2016云计算战略大会上专门解释,百度外卖其实也很人工智能:“比如同样的商家订单,先配送后配送,时间路线规划等等,都有人工智能的技术,涉及机器学习的问题。”
然而厂长的解释,又被媒体们拿来当标题,好像人工智能用在送外卖上很low。
1月11日,阿里云在大数据平台数加一周年分享会上透露,阿里云已同饿了么合作研发出人工智能ET新的调度引擎,正全面推行到外卖送餐领域。
ET是阿里云旗下的人工智能,优势在于对全局的洞察和实时决策上。此前已在交通、空管、货运等领域担任调度员工作。
此前,外卖订单的调度,主要依靠人力。然而每天中午和晚上的饭点,对人类调度员来说都是巨大的挑战。阿里云方面以上海商城路配送站为例,一个调度员每6秒钟就要调度1单,他需要考虑骑手已有订单量、路线熟悉度等,显然,人类的智商在这里已经不够用了。
正如清华教授Dr.魏坤琳表示,人类擅长感知和运动,恰恰不擅长逻辑和运算为代表的抽象思维能力。机器却似乎恰恰相反,不擅长感知和运动,却擅长处理海量的逻辑与计算。
因此可以说,外卖订单调度这种任务,已经完全不适合人类。但对人工智能则非常擅长处理。
饿了么跟阿里云联合研发,用人工智能送外卖
订单调度的目的其实很简单,通过精准的匹配,将平均配送时长尽可能缩短,人工智能如何处理这个过程?据阿里云算法工程师王金明介绍,大概分为三步:
第一步是预估餐厅出餐时间。
这指的是从餐厅确认接到用户的订单(派单员报单或者系统直接推单)到餐厅准备好餐品的时间。项目组需要跟饿了么业务人员、运营人员、调度员、骑手沟通,设计出合适的特征和模型,保证预估时间的准确性。王金明表示,目前模型能将预测的出餐时间误差控制在5分钟之内。
一般来说,餐厅出餐等待时间占到了整个送餐时间的三分之一。准确预估出餐时间是可以减少骑手等待时间,同时也不希望骑手太晚才来取外卖,目的是提高骑手效率又保证饭菜没冷掉。
第二步是预估骑手送餐地等待时间。
骑手送餐地(POI,Point of Information,信息点)等待时间是指从骑手进入送餐地范围到骑手确认送餐成功后的时间间隔,送餐地可能涵盖商圈、写字楼、学校等,不同的送餐地骑手需要等待的时间不同。
例如,有些60多层的写字楼,骑手等待电梯的时间可能要高达10分钟之上,系统需要根据历史数据,准确预测每一个送餐地骑手需等待的时间,才能给做骑手最优的路线规划,并保障已背订单不超时。
要想计算骑手的送餐路程时间,ET还需要知道每个骑手在不同区域、不同天气下的送餐速度。但餐送到了,顾客并不一定会立刻来取。顾客可能需要等三部电梯才能下来。这些ET都需要计算在内。
最后一步是订单分配和路线规划,需要用到只能调度引擎。
智能调度引擎需要具备新单聚包、新包分配及骑手路径规划等功能。新单聚包是指针对源源不断的订单流,将相似订单(时空相似)打包作为一次派发的工作包。如果途中有新的订单,ET会将配送站新的订单插入到每个骑手已有的任务中,重新规划一轮最短配送路径,对比哪个骑手新增时间最短,以选择合适的骑手配送,将路线推送到骑手APP端。
了解上述过程之后之外,智能调度引擎如果想要计算准确,需要知道需要知道每家餐厅的出餐速度、每个骑手各自的骑行速度、送餐地是否需要长时间等电梯。
此外,机器还会将特殊的情况考虑在内,比如如果顾客点了个火锅,会自动识为大单,将锁定某一个骑手专门完成配送。比如每逢恶劣天气,外卖订单通常会大涨,餐厅出餐速度和骑手骑行速度都也会受到影响,研发团队为此内置了恶劣天气的算法模型。
不过,人工智能也是会出错的。阿里云人工智能科学家闵万里介绍,在最近的一次测试中,联合研发小组发现有2个配送站点出现严重超时问题,2个站点均在成都。原来是因为当地民众喜欢早、中餐一起吃,高峰从11点开始了。习惯了北上广节奏的人工智能到成都就懵逼了。
据闵万里介绍,ET之前就做过四份调度员的工作,包括在广州白云机场调度1000多架飞机;在广州通过观察路面车辆调度红绿灯;给车货匹配公司运满满调度货车;很久之前给快的打车分配订单。