隨着數字化時代的到來,外賣市場近年來發展很是迅猛。對外賣物流系統而言,配送效率和用戶體驗相當重要。而實際配送過程是由配送員(騎手)最終完成的,所以,想要真正提高配送效率,不但要在智能調度系統(訂單指派、路徑規劃、ETA)上下功夫,還要不斷提高配送員的「附加」能力,讓他們越送越「熟」,越送越「順」,越送越「快」。以此爲出發點,美團點評研發團隊設計了騎手智能助手,全面提高騎手的各方面能力。html
在 1月份的AICon全球人工智能與機器學習技術大會上,美團點評配送人工智能方向負責人何仁清分享了《美團騎手智能助手的技術與實踐》。講解如何在使用環境複雜、用戶羣體多元化的狀況下,以智能耳機和語音交互爲載體,並經過大數據挖掘、機器學習、天然語言處理等技術,讓智能助手具有複雜場景精準識別、服務智能推送,智能引導、全語音操做等能力。最終在智能、安全、便捷、精準等多個維度上,全面提高騎手配送能力,從而提高整個配送效率和用戶體驗。如下系演講內容整理:算法
整體而言,物流業務是一個比較傳統的行業,可是隨着整個電商、移動互聯網和移動支付的興起,近些年整個物流行業實現了持續和高速的發展。安全
上圖系中國物流與採購聯合會在 2016年發佈的一個報告,調研數據代表,全國物流件數環比增加超過 50%,達到 300多億件。網絡
同時整個物流的費用佔比也很高,從圖中能夠看到,物流成本已經佔據 GDP的 15%。而在歐美國家以及日本,這個比例大概只有 8%~9%左右,因此中國的物流行業還有很大的優化空間。這也是不少公司大力投入去作物流行業的一個很重要的緣由:行業正處於高速發展階段,並且體驗、效率和成本方面都有巨大的優化空間,大有可爲。架構
下圖主要介紹了美團外賣如今的發展狀況:框架
美團外賣從2013年啓動,目前大概可以服務 2.5億用戶,已經覆蓋1300多個城市,可以爲 200多萬商戶提供服務,日峯值訂單超過 1800萬。美團外賣智能配送調度系統天天匹配50多萬外賣小哥,基於海量數據和人工智能算法,確保平均配送時長不超過 28分鐘。這也是目前世界上規模最大、複雜度最高的多人、多點實時智能配送調度系統。機器學習
咱們對美團配送的定位是:作成最大的即時配送平臺。佈局
相比傳統物流,即時配送包括如下幾個優點:學習
第一點,很是快。從商家發單,好比說一個外賣訂單,從下單到用戶收到,平均要在 30分鐘內能完成,最慢的也應該在一小時左右。快,是最重要的一個特色,快,也可以使整個服務的要求和服務質量獲得巨大提高。大數據
第二點,可以直接聯繫用戶和商戶。以前的物流基本是從商家接單,要通過不少環節,包括倉儲、運輸調度、人員配送等等,最後再送到用戶,中間幾經轉手,甚至由不一樣的公司配送,或者有不一樣的加盟商。可是即時配送直接將用戶和商戶聯繫起來,進而直接影響目標人羣,這是很大的一項價值。
第三點,可以承擔多種配送場景,不只僅能夠送外賣,還能夠送商超、生鮮等等,基本上全部的同城快件,均可以歸入其配送服務範圍。
整體來講,配送是一個很是複雜的業務,爲了可以便於你們理解,我把這個業務模型進一些抽象和簡化,能夠用下面這張圖來進行說明。
從本質上來說,配送主要是把用戶的配送需求和線下的各類運力(好比說騎手或車輛之類)進行匹配的過程。匹配分爲線下匹配和線上匹配,線下主要靠運營,線上就是咱們技術部門所構建一些系統。從這個層面而言,咱們要解決的主要是在這個需求和運力之間,如何實現最優匹配的問題。
這其實也是一個相對比較傳統的問題,像作廣告或者推薦,都會面臨這個問題,需求是要推薦的產品,供給是廣告位置,但位置並非無限多,如何在需求和供給之間達到最好的匹配,這自己就是效率優化問題,只不過廣告和推薦使用的 CTR預估,而物流中使用的方法更加複雜一些。
配送中的複雜性,具體來講有幾點:
這是一個NP-Hard問題,計算複雜度隨着規模呈指數級增長。好比是騎手身上 N個訂單的路徑規劃問題,或者是 M個訂單與 K個騎手的訂單分配問題,這兩個都是指數級複雜度,並且相互關聯。
這不可是一個多點取多點送問題,並且隨時有新訂單增長,具備很是強的實時計算要求,當一個新訂單生成後,須要在幾十毫秒內別完成調度運算,相比傳統物流中有幾十分鐘以上的計算時間,即時配送系統設計的難度要大得多。
配送場景很是複雜,涉及天氣、路況、騎手熟練程度、商家出餐速度等多達幾十個因素,極大增長了解空間的隨機性和複雜度,對配送算法的穩定性和適應力挑戰極大。
對美團配送來講,要完成這個任務,須要分爲大概三個層次,如上圖最右側所示。
第一層,物流基礎結構建設。包括在城市裏如何建設站點,如何配備人力,如何配備商家的供給狀況。這些基礎結構不但深入影響配送的規模、成本、效率,並且是物流管理和運營的基礎,好比加盟商管理、騎手運營等都需基於這個結構進行展開,所以這些基礎結構的做用很是重要,並且它們較難進行即時調整,很是考驗技術的長期預測和規劃能力。
第二層,供需匹配的動態均衡,經過訂價機制進行市場調節,包括幾個方面:一個是基礎訂價,好比一個定單來了,到底向用戶收多少錢,向商家收多少錢,給騎手多少補貼,這須要考慮不少因素,保證訂價的合理、公平。另外一個是供需平衡,當遇到惡劣天氣等突發狀況,經過動態調價方式,實時調節用戶需求和運力供給,保證整個系統的穩定與用戶體驗。
第三層,訂單和騎手的實時匹配,也就是派單,在訂單出現後在幾十毫秒內分配到一個最合適騎手,並完成多個訂單的路徑規劃。這是一個NP-Hard問題,並且因爲不斷有新訂單生成,須要實時計算,對並行計算引擎的要求很高。派單的優化目標是:提高總體配送的效率,並保證用戶體驗,是整個配送系統的核心模塊之一。
以上,主要是咱們對整個配送的理解,接下來說述如何使用技術手段來進行落地和實踐。
對於 AI問題來講,整個配送在AI問題中的分類應該是什麼樣?下圖給出了一個解釋。
咱們能夠從兩個維度來看AI問題。一個維度,是看機器與人工的對比,速度上是否是比人工更快,是否是比人工的效果更好。
另外一個維度是AI所發揮的做用。首先是否是可以感知世界,好比說如今作得圖像識別、語音識別以及OCR,都是像人同樣可以感知這個世界。其次是否是能作到認知,好比說了一句話,「今每天氣怎麼樣」,不但要把語音翻譯成文本,這裏講的是「天氣」這個實體,還有「今天」這些限定因素。第三就是要作決策,如今比較火的人工智能應用都在「如何作決策」這個層面,並且要作比人作更好的決策。一些表明性應用,好比智能助手,特別是輔助人進決策權的(聊天機器人會差一些),能夠幫你完成更好的任務;好比無人駕駛;好比在物流領域,如何分配訂單,並經過無人車或別的方式交付訂單;還有在遊戲和醫療裏面,AI輔助醫生作決策,在遊戲裏面,當用戶掉線時,遊戲AI能夠幫助用戶打怪升級。
能夠看到在配送層面,咱們會涉及智能助手、智慧物流、無人駕駛等多個維度,而爲了提高配送的總體智能化程度,咱們構建了本身的「美團配送 AI」,具體來講分爲兩大部分:
第一部分是信息化,也就是數據收集。舉個例子,要收集到什麼樣的數據?咱們要收集到一個商圈的數據,這個商圈可能要精細到小區和樓宇級別,一個樓在什麼地方,這個小區是否是讓騎手進來,同時還要收集天氣數據,好比風速、溫度,是否有霧霾,由於全部數據會影響到配送的效率,用戶下單狀況,好比今天霧霾,北京的外賣訂單量估計會上漲。
第二部分是智能化,也就是構建一整套智能化模塊,構成一個智能配送系統,覆蓋配送的各個環節。
爲了完成這個「美團配送 AI」的具備挑戰的目標,並考慮整個行業的長期發展,咱們在整我的工智能上的佈局以下:
首先是廣度方面的建設。咱們的目標是配送總體流程和環節進行 AI化,從用戶下單開始的每一個配送步驟都要覆蓋,爲此咱們總體技術方向的面很是廣,不但橫跨三個大學科,並且從預測、挖掘、訂價、規劃、調度和硬件等都要進行技術研究和業務落地。
其次是深度方面的建設。這不僅僅是指技術方面,好比基礎計算框架和模型研究等,還包括技術與配送業務的深度整合,好比配送仿真平臺建設,具有進行多配送場景的仿真能力,無需上線就可以對不一樣業務策略效果進行準確預估。同時還要結合行業狀況,提供行業的智能化解決方案,好比在騎手運營方面,更有效的騎手激勵和騎手留存的機制設計。
而美團外賣語音助手就屬於咱們在廣度和深度結合比較好的案例。接下來就和你們分享一下咱們在整個智能助手的實踐和設計過程當中,以及在整個物流業務中,如何將人工智能技術更好的落地的一些經驗。
咱們爲何要智能語音助手?騎手到底在什麼狀況下須要智能助手服務,整個服務裏面的關鍵是什麼?先解釋一下這個問題。如上圖所示,這個是整個騎手在配送過程當中遇到的一些環節,能夠分爲兩大部分。
第一部分是線上的決策,並且涉及的決策各式各樣。舉個例子,這個騎手有定單,要送到一個用戶那裏,他可能要作幾個決策,好比說要不要給用戶打電話,由於有些地方是不用打電話的,像住宅樓裏面,騎手有很大機率知道這個用戶應該在家裏的,不用打電話;有些必須打,好比寫字樓,由於騎手上不去,因此須要提早打電話讓用戶下來。
但須要提早多長時間呢?是提早一分鐘,兩分鐘,仍是五分鐘?這個問題很關鍵,若是打電話時間比較早,用戶就會提早下來,會形成用戶等待騎手的問題,用戶體驗很差,可能會有投訴。若是這個騎手很是保守,到樓下再打,但用戶住在 10層,那麼用戶下來包括等電梯的時間可能要須要 10分鐘,效率會變得很是低。
第二個部分是騎手操做過程,由於騎手會頻繁和手機交互。他要查看一個定單,步驟很是複雜,把手機拿出來,解鎖,打開 App,查看信息,作操做(好比說點擊完成),最後放回手機,大概須要五到六個過程。若是操做快,也須要 10到 20秒鐘。並且不少騎手是在騎行過程當中作這些操做的,這樣會很是危險。
總結一下,配送騎手遇到的困難能夠總結爲三個大的層面:
第一,任務複雜,須要作不少決策,不過複雜度會隨着騎手的熟練度有所變化。
第二,操做繁瑣,大概須要五到六個步驟,至少須要 10到20秒,或者更長時間。
第三,騎手在騎行過程當中操做手機很是危險。對於有50萬騎手的平臺,咱們必須考慮騎手在整個駕駛過程當中的安全。
基於這些考慮,咱們作了美團外賣語音助手,它的定位主要包括如下三點:
第一點就是要求安全,要作一套全流程的語音交互方案,配送過程當中的各個環節都能用語音操做,不須要騎手看手機,解放雙手,讓騎手更加安全。好比在行駛過程當中,有個定單過來了,系統問騎手要不要接單,只要經過指令回答,「是」或「否」,或者「OK」這種,整個過程就完成了;不須要像之前那樣的,把手機掏出來再進行操做,這個場景很是受騎手歡迎。
第二個,設計極簡的步驟,全部操做能在一到兩個步驟裏完成,第一個步驟是信息播報,第二個步驟經過語音命令完成操做,將原來的五到六個步驟,精簡到如今的一到兩個。
第三個,提供不少智能化服務。最典型的,剛纔說的騎手要去一個樓,用戶可能在 5樓,可能在4樓,這個用戶下來須要多長時間,作智能化推薦,根據用戶的地址信息,系統智能推薦打電話時機,固然還包括像導航之類的基礎功能。
上文的分析,基本上將咱們怎麼把智能語音助手在場景裏落地的最關鍵的點分析出來了。咱們要落地,最核心的就是要幫助騎手完成配送任務,而不是「聊天」或者「問答」。這就要求語音交互整個過程要很是便捷,同時也很是智能。
而咱們遇到的第一個挑戰,就是交互模式如何設計的問題。
如上圖所示,左側是通常的語音助手方案,須要喚醒、應答、請求和再應答四個步驟,可是並不符合配送場景的要求。首先,騎手所在的場景,噪音很大,好比風噪、汽車噪音以及商場噪音等等,喚醒比較難實現。其次,須要四個步驟,還要考慮騎手的工做狀態,這個操做過程太繁瑣。
那怎麼辦?咱們思考,是否能作到一套不須要喚醒的解決方案呢?答案很確定,能夠作!
第一點,咱們的數據很是多。包括騎手、用戶和商家,這些數據都是實時的,咱們可以瞭解比騎手多得多的全局配送信息。第二點,咱們能作到精準預測,利用機器學習、智能調度等技術,能夠對騎手下一個操做場景進行識別。
舉個例子,一個騎手身上可能有幾個訂單,他正在朝一個地方前進,經過場景分析,咱們知道他要給具體哪一個用戶配送,並且咱們能瞭解用戶在這個樓裏的幾層,下來大概須要幾分鐘,因此可以推算出來,大概在哪一個時間點提醒騎手打電話比較好。這樣咱們就能夠省略喚醒和應答流程,直接給騎手發提醒,騎手只要回答是或否夠能夠了。這樣設計才符合騎手線下的實際配送狀況,可以真正給騎手解決實際問題,纔可以真正稱之爲「智能」。
具體技術分爲幾個主要的部分。第一個部分是基礎設施,包括語音識別和語義理解,如今這方面開源的東西很是多,作通用的語音識別不是很難。
在咱們場景中,要解決各類環境噪音的問題,可能騎手並無說話,但旁邊有些噪音,車的噪音或者別的噪音,甚至路上正在放一個歌,都會被識別爲是騎手在說話,因此 VAD(靜音檢測)方面須要作不少工做。
另外一個基本的組件是NLU,天然語言理解。舉個例子,騎手要給尾號 6551打電話,首先系統要知道,騎手的意圖是要打電話,後面要調起打電話的操做;其次要知道打電話的對象是誰,是用戶,而不是商戶,這就要找出用戶信息;第三,要作檢測,好比騎手已經送完某個訂單,再打電話多是錯誤操做,須要提醒騎手。
即時配送場景是一個典型的時間序列問題。從上面的圖能夠看出,場景包含先後關聯,一個騎手歷史的行爲和決策會影響如今,同時如今的決策和行爲會影響將來,這是個典型的時間序列問題。
場景識別要解決的兩個主要目標,一個是事件預測,要知道下一時刻大概會發生什麼事情,好比騎手是否是已到商家,商家是否是已經出餐;另外一個是時機預測,將來要打電話,到底何時打更合適?
爲了更好的說明,舉個打電話的案例。
首先,要判斷是否須要打電話,若是在不須要的場景也頻繁提醒打電話,對騎手和用戶都是騷擾。上圖列舉了不一樣地址類型下騎手打電話的比例,能夠看到,像在企業和寫字樓裏面比例很高,可是住宅區就很低了,由於在住宅區,很大機率用戶都是在家的。
其次,要針對每個小區和樓宇類型,給一個合適的打電話時機,即提早多久打電話,對騎手和用戶是最好的體驗。打電話太早,用戶在樓下等騎手,體驗比較差。 打電話太晚,騎手在樓下等用戶,效率過低。咱們有精準的騎車軌跡數據,咱們知道針對每一棟樓、每一個小區,騎手在不一樣時刻打電話時會在樓下停留多久,因此能夠畫出一個曲線。合適的區間就在兩條紅線之間。
前兩個主要是大數據分析,最後要實時決策,哪一個訂單,什麼時刻須要打電話。這裏就要根據騎手的實時數據了,包括訂單狀態、軌跡狀態、環境狀況等等,結合前面的大數據分析進行實時的預測騎手下一個配送地點和配送任務,並在合適的時機經過語音助手給出提醒。
具體到實現方面,場景識別須要三方面的技術:騎手軌跡挖掘、機器學習和數據挖掘。
先介紹一下軌跡,咱們天天能有幾十億次的定位數據,進而能夠基於這些數據作不少事情。
第一,能夠精準知道 A、B兩點間最好的導航方式,相比第三方地圖,能夠挖掘到 A和 B間可能有可能有更好的騎行經過方式。
第二,光有軌跡數據還不夠,咱們還須要解決室內定位問題,室內 GPS定位已經不夠用了,須要新的技術體系。好比 WiFi定位,同時還須要設計硬件,好比在商家部署硬件,判斷騎手是否到店。
第三,傳感器的使用,不管在室內仍是在室內時候,咱們不但要知道騎手的精準定位,還要知道運動方式,好比是停留、步行、騎行,是爬樓仍是坐電梯,這些信息不但判斷騎手在到底作什麼。並且可以精細刻畫配送難度,在訂價和調度上很是有價值。
咱們能夠經過騎行軌跡來修正導航和定位。來看兩個例子。
第一個例子(左側)用戶在下單時定位的分佈,由於你們在室內下單,定位偏離是很是大的。但經過騎手軌跡的修正,實際上大概只有四個點,每一個點能夠認爲是這個這棟樓的一個門口,這大幅提高了用戶的定位精度,讓騎手配送更容易。
第二個例子(右側)經過騎手軌跡對 AB兩個點的騎行路徑進行修正,上圖中軌跡分析發現了更短路徑,穿太小區更節省時間;下圖中,原地圖導航要跨過中間過街天橋,但經過軌跡發現更多騎手是繞行經過,這才更符合真實的狀況。
下面介紹一些機器學習相關技術,主要是應用在各類時間預估層面。
只有高精度的 ETA(預計到達時間)預估,這樣才能更加準確的預測騎手行爲,咱們會作三個維度的精細預估,包括平面的配送時長、上下樓時長以及商家出餐時長。這樣才能比較全面和精細的刻畫騎手的配送過程。
爲此,咱們作了不少基礎工做,好比實時特徵平臺,機器學習平臺,包括深度學習在內模型等各類機器學習相關工做。同時咱們還會作比較精細的配送知識圖譜建設工做,好比精細化地址解析。
地址對配送來講是很是重要的信息,經過 NLP和地圖搜索的方法,解析成層次結構,對分析商圈、樓宇維度的畫像很是有幫助。咱們把一個地址分解爲四個層次,小區、樓號、單元號和樓層等。其中要解決不少實際問題,好比用戶填寫的信息徹底不標準、存在歧義等問題。
作了這些工做以後,能實際產生的效果仍是頗有意思的。咱們經過「上下樓時間」這個具體場景來進行分析。
第一張圖,是不一樣樓宇的上下樓時長,左側兩個是廈門的兩個樓宇的時間,右側兩個廈門平均值和全國的均值。能夠看到,不一樣樓宇的上下樓時長仍是存在很大差別,沒法簡單利用城市或者全國維度的均值進行替代。
第二張圖,是不一樣樓層的上下樓時間,從 B2開始到 8樓。有個頗有意思的是,上下樓時長與高度不是線性關係,大概在二樓、三樓和四樓時,相隔的時間很長,可是到了五樓、六樓、七樓,時間差就很小了。緣由很簡單,樓層較低時,騎手可能會選擇爬樓。高層則選擇乘電梯。不一樣樓層之間停留時間很短,越往上時間間隔越小。
第三張圖,是不一樣城市的上下樓時長分佈,最有意思的是黃色的線,也就是重慶的總體上下樓時長明顯偏長。由於重慶是山城,房子常常在半山腰上,與平原比起來其上下樓的難度固然更大。
上面總體介紹了語音助手依賴的場景識別技術,如今介紹一下語音助手的總體效果。首先語音助手提供了四個核心功能,包括定製耳機、語音交互、場景識別、智能引導等。
爲何要定製耳機呢?在騎手的使用環境中,須要克服不少噪音,很難經過軟件和程序去作,而必須經過硬件去作。因此咱們和廠商進行合做,定製去噪效果好的硬件。
第二個功能是語音交互,它能夠在派單、查詢、取餐、撥打電話等配送全流程中實現語音交互,騎手整個過程當中不須要看手機,只要耳機提醒就能夠完成智能配送。
第三個是智能引導功能,包括安全駕駛提醒,信息播報,任務地圖引導等,主要是讓騎手行駛更加安全,提供全面的信息服務,讓騎手配送更加方便和高效。
下圖是智能語音在線下推廣中的一些實際數據。
藍色的線是使用語音助手的騎手的操做次數,綠色的線是不使用的操做次數。能夠看到,操做次數明顯降低。可是尚未降爲 0,有兩個緣由:騎手在靜止狀態下,不須要使用語音助手;有些騎手的藍牙耳機尚未下發到位。再來看下一張圖:
左圖是騎手接單時間時長分佈,越往右騎手接單的時間越長,用戶體驗越差。綠色的線就是以前騎手手動接單的一個分佈,長尾狀況比較嚴重,經過語音接單,接單時長明顯向左側靠攏,總體接單時長明顯縮小,比較好的提高了用戶體驗。
右圖是騎手在用戶交付外賣所花費的時間的比例,橫軸是騎手在樓下等待用戶的時長,越往右,騎手在樓下等用戶的時間越長。經過語音的提醒後,能夠明顯下降騎手長時間等待的狀況,節省了大量騎手的時間。
總結一下,語音識別和語音助手在實際落地過程當中面臨不少挑戰,並且大多和場景有關係,場景識別很是重要,甚至比語音識別更爲重要。
由於語音識別如今已是比較通用的技術了,並且有不少專業廠商提供服務,硬件也是如此,進行定製化相對比較容易。所以目前作一個軟硬件結合的語音助手,從基礎技術來說都不是問題,想作一個 DEMO並不會存在太大的技術障礙。
反而在具體的業務中,如何結合業務場景,把語音助手落地,纔是咱們須要真正考慮的。也就是說,如何將語音助手從「能用」作到「好用」,再作到讓用戶「願意用」,這些纔是將來語音助手面對的真正挑戰。
語音識別和語音助手在實際落地過程當中有不少挑戰,並且和場景有關係,場景識別比較重要的,甚至比語音識別更爲重要,由於語音識別如今已是比較通用的技術了,如何結合業務場景,把語音助手落地、用好,多是將來一段時間的挑戰。
爲了實現配送的全面智能化,美團點評在其中作了大量工做和嘗試,這裏不僅僅是要作好機器學習,還包括如何進行更好的實時運籌優化、實時空間數據挖掘以及人機交互等多個方面的技術內容。
仁清,美團點評配送算法策略方向負責人。2016年加入美團點評,負責美團配送業務的算法總體方向。包括智能調度系統,智能網絡規劃系統、機器學習平臺、配送仿真平臺等,全面支持美團專送、快送、跑腿等多個業務方向發展。加入美團點評前,曾任百度鳳巢團隊 T9 架構師,從事搜索廣告 NLP、數據挖掘、檢索技術方向研究。
對咱們團隊感興趣,能夠關注咱們的專欄。 美團點評外賣配送團隊,歡迎大數據、算法、機器等領域優秀人才加入。簡歷請投遞至:sunbiqi#meituan.com
原文地址:tech.meituan.com/herenqing_a…