外界曾經嘲笑百度外賣“別人在做
人工智能,百度在送外賣”。
對此,李彥宏在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多架飛機;在廣州通過觀察路面車輛調度紅綠燈;給車貨匹配公司運滿滿調度貨車;很久之前給快的打車分配訂單。