當前位置:
首頁 > 最新 > 攜程AI和推薦系統的雲化實踐

攜程AI和推薦系統的雲化實踐

嘉賓簡介

於磊,攜程公共BI,高級總監。畢於上海交通大學計算機科學與技術系,獲博士學位。2012年在蘇黎世聯邦理工大學訪學,師從 ACM fellow, Dr. Donald Kossman,從事高並發大數據架構研究。2013 年加入三星電子研究院,所帶團隊參與SVioce超大規模智能中心的相關演算法和架構研究。2015 年加入攜程,任基礎業務部公共BI團隊研發負責人,負責集團大數據平台、通用個性化平台、智能客服機器人、智能導購、小詩機、公司級數據倉庫、營銷投放演算法、廣告演算法等項目工作。

什麼樣的技術服務,難以雲化?

什麼樣的技術服務,難以雲化?答案很簡單,與業務耦合度高的服務,難以實現跨行業的雲化。比如像PaaS或Docker之類的,基本上和業務是完全脫耦的,相對來說雲生態和雲技術架構更容易建立,但類似個性化推薦、部分業務AI技術和業務就高度耦合了。雲化的難點是怎樣在技術上抽取業務共性、劃清平台和各類用戶之間的職責、技術上的邊界,同時提升模塊、數據、業務知識的復用和融合,從而為用戶構建產業群的「大」數據和「大」知識庫業務基礎優勢,促進相似產業的群簇聚集形成新的大業務閉環生態。

面向產業群簇,一方面,業務急需依賴於群簇全量的「大」數據和「大」的AI知識圖譜的上層服務,來直接驅動各自業務的優化與升級,乃至構建新的大業務生態體系;另一方面,這些服務需要兼容適用於數十個商業模式完全不同、架構各異的細分行業,因此雲化工作又勢在必行。業務高耦合度的服務產品的雲化工作,雖然一直是雲化技術的深海區,對架構、演算法、數據的雲架構工程設計能力提出了幾乎極限的挑戰,但攜程在這一塊還是做了很多創新性的工作。比如集團個性化平台,曾經面向100多個落地場景,年化收益2億多元,但只用了7.2個人力(包括服務、演算法、數據和產品),支持每天近3億次的調用,用1.3個人日可以完成1個場景的迭代或新場景上線,攜程的客服機器人平台也是如此,與業務高度耦合,但同時支持60多個事業部、20多個行業的相關線上業務,依靠的是對這些業務高度耦合的系統的深度架構優化,大量新技術的創新引入和架構的重構,實現了對服務平台的模塊化、復用化、配置化和對不同業務的兼容。

剛才吃飯的時候跟講師群聊,OTA跟傳統的電商還是有非常大的差異性:比如說亞馬遜、京東,有礦泉水,有服裝,有電器,手機之類的產品,類目數有上萬個,但是它們的客服流程、整個交易的流程,基本上都是通著這種標準化的方式來解決的。OTA(OnlineTravelAgent,在線旅行代理商)的話不一樣:比如說訂酒店和機票完全不一樣,用戶訴求也不一樣,機票、酒店和火車票的搜索、訂單流程、庫存體系和架構幾乎完全不一樣,所以一般來說,不同BU的系統是不同團隊相對獨立開發的,但傳統電商一般上萬個類目會共用一套系統。在攜程內部來說,我們公共大部分的一些技術服務產品,特別是對於一些人工智慧,還有一些個性化推薦,雖然是針對公司或集團內部的,但是實際是需要在技術層面支持對二三十個行業的兼容性和業務的自助化,但這些技術又是和業務高度耦合的,今天我們就是來探討怎麼來做高業務耦合系統的雲化工作。

Topic的主題會分為四個部分:

攜程AI實踐

AI雲化

集團個性化雲

旅遊技術的未來工作

攜程AI實踐(一):小詩機項目

我們先從一個「簡單」的AI系統來看,我們有一個攜程寫詩機器人,為了詩和遠方。這個項目主要是解決詩的問題:你上傳旅遊風景的照片,會幫你識別出來照片內容,再給用戶AI寫一首詞文達意的唐詩。

以下是人物的照片,雖然不擅長寫人物的系統,但攜程很多用戶也會用它來做文字版的美圖秀秀,拍攝一些照片,文字上幫你做「美顏」。

拍一張西湖的照片它可以識別出來,因為照片本身沒有太多的信息量,它只是一個太陽和水,AI會解析出來,幫你現場寫一首西湖的詩。

這個照片是在富士山拍的,因為天很晚了,所以也看不出來任何信息。系統通過後台景點知識庫掛出來一些季節的數據和時間的數據,包括當天的天氣情況,這張照的拍攝當天是下雪了,但是圖片上看不出來,因為圖片本身沒有這個信息量,是要基於知識庫來寫詩。

這個是輸入」郭德綱「三個字AI幫你寫詩。這個就完全是基於人物的知識圖譜來寫詩了。

這是在上海地區做的一個盲測,就是跟上海的專業詩人做的一個盲測,事先評委並不知道每一首詩是人寫的還是AI寫的。人機盲測,第3名,與上海地區詩人比略勝。

現在也可以寫絕句,律詩,寶塔詩,藏頭詩。也可檢索,用戶拍一張照片,AI檢索出與照片最貼合的古代的唐詩,以及它的年代和作者。

攜程AI實踐(二):客服機器人

另外一個人工智慧的應用,比較大的一塊,主要是客服機器人這一塊了。目前按會話級別來說,將近有80%的會話可以通過機器人來解決。在剩下的20%裡面,大部分是客服需要幫客人跟酒店或者航空公司人工爭取一些權益或者處理一些緊急事務,比如說因為用戶的問題,生病了或者臨時行程有變,攜程要幫客人去跟酒店、航司商量,幫客人爭取最大化的權益,已經支付的間夜今天是否可以不算費用,或者退掉。如果這個地方解決掉,總體可以達到94%。

主要演算法這一塊,也是通過深度學習的方法來解決的,包括一些命名實體的識別。包括用戶意圖的識別,CNN類似的方法,這些方法我們就不說了,這是LSTM+CNN的, 是標準Q匹配的問題,這是QA檢索的。biLSTM可以從forward和backward兩個方向獲取上下文信息,lCNN模型對平移、縮放等具有不變形,可以較好檢測出特徵區域,魯棒性好。最終,通過多組實驗比較,發現biLSTM+CNN離線效果最佳。

AI雲化的實踐

AI在攜程的落地,業務效果非常好,但是實際的最大的技術挑戰是雲化。攜程的每個事業部幾乎是完全不同的行業,和業務相關的IT技術架構也不同,其它的客服體系更是完全不一樣的,對口的技術、業務、產品本身就是拆分在各個事業部的各個團隊, 是非常獨立的團隊。這種情況下,我們怎麼保證它能夠支持集團內的60餘條業務線,其實就相當於20多個行業的60多個公司了。因此,做了一整套的類似的雲化方案,業內雖然有一些,但也沒有特別的成熟。包括各個事業部如何冷啟動,因為它的客服場景非常多的,即使針對一個事業部。比如說酒店,有售後的,有售前諮詢的,還有待會我們會看到的,到底選擇哪個酒店?或者選擇哪個城市的酒店?這一塊我們做了一個系統的雲化的運作,做了一些抽象,形成了包括語料標註。對這個客服機器人熟悉的同學也知道,我們會把人工訓練師和後台平台進行協調,所以對應的東西,我們會給人工訓練師,把每天應該做的事情,每周需要review的一些KPI的報告,雲化平台的數據和演算法會給他們列出來。包括標準Q(語料)庫的挖掘怎麼挖掘,對應的平台也會列出來。

這一塊是我們目前做的事情,包括業務管理的一些邏輯的雲化。我們業務管理流程,它的機票和酒店可能是完全不一樣的,在這種情況下怎麼通過雲化的平台,讓每條業務線的人工智慧訓練師在這個上面自助化地完成業務的編輯。

剛才提到的人工智慧,主要是兩塊東西,一個是小詩機,還有一個是客服機器人。對於攜程來說人工智慧是比較多的,我們也重新梳理和定位了一下攜程的人工智慧應該怎麼做?其實人工智慧是非常耗人力和物力財力的工作。即使非常小的功能,比如說反黃色的圖片,或者反政治敏感的圖片,也需要大量的人力跟物力,比如說需要標上百萬張的黃色圖片,或者是敏感圖片才能把功能實現。但這對業務線來說其實是非常小的功能點,做一個大的系統會涉及到非常多的功能點,在這種情況下怎麼把整個集團的人工智慧做起來,把這個業務線的人工智慧怎麼升級?我們也是採取類似谷歌李飛飛提出來的理念,做民主化的人工智慧。關於AI領域我們更加關注的是:「我們如何幫各個事業部,利用AI怎樣快速高效地提升OTA的用戶體驗?」,比如機票和火車票這樣的事業部的話,怎樣提升用戶體驗?我們也做了相應的領域內的集成,包括小詩機裡面,大量引入了包括BAT,Face++等公司和開源的AI力量,民主式、開放式推進攜程的AI進展。

我們在公共這一塊會統一的做一個接入平台。我們有一套系統地方法,建立了相對科學的方法的方法來做模型的評估、評測、標準化、及綜合的選型,比如圖片識別:就綜合了攜程自研,和BAT的API, 我們會綜合評估哪家都好,怎樣互補,從而為各個事業部提供業內最好的圖片識別。

這是我們集團AI雲(Ctrip Brain)平台,大家可以看一下,包括各個模塊的功能。有廣告的一些演算法,也有傳統圖片的一些東西,文字的一些AI,語音的等等。

常見的功能,比如說景點的分類,傳遞一個照片,知道這個照片裡面有哪些東西,然後再來寫詩。實際上在OTA網站上這個東西非常有用,比如說我要做一個春季的營銷活動,需要把類似所有春天的照片聚合起來。整個小詩機的人工智慧的話,會拆解開來,提供給各個業務線使用。

這是人工智慧的,客服這一塊我們總結一下。客服這塊是跟業務高度耦合的,這種情況下我們把整個客服系統還有演算法層面進行抽象,抽象出來以後變成各個功能模塊支持各條業務線的人工智慧訓練師的工作,保證我上新的業務線的時候,對於我們整個技術棧的同學來說,它的成本儘可能為零。上新的業務線的工作是通過自助化的平台來支持人工智慧訓練師,這部分人非常懂業務的,對於技術的同學,特別是對公共技術的同學,反而對業務的東西不是很了解,對一些機票能不能退,對能不能改簽不了解,我們做的就是怎麼支持這些業務的同學,在平台上把這個事幹掉。

集團個性化雲平台

另外跟業務耦合度比較高的就是個性化這一塊。因為我們同時要推二三十種業務線的產品,它的推薦邏輯也是完全不一樣的,它的原始數據用戶行為數據都是完全不一樣的。在這種情況下我們也構建了相應的集團統一的推薦系統。現在落地了100個場景,年化營收2.1億元,目前也接入和很多深度學習的方法。

智能目的地決策,用戶決定去哪兒玩的話,決策周期會比電商或者傳統互聯網公司好很多。比如說我們統計的結果,用戶如果要去國內游的話,平均會做21天的決策,如果去東南亞的話,會做40天的綜合決策,460次的訪問。比如說用戶選擇了東南亞,可以決策:兒子喜歡玩沙灘;老公喜歡玩戶外運動;老婆喜歡shopping。合起來我們會做景點推薦,這樣興趣會合起來,我們會做一些推薦,我們會告訴他價格去哪兒便宜?因為旅遊市場跟電商不太一樣,旅遊市場隨著季節的變化,每天的價格指數變化比較大,這種情況我們會給它做一個大數據,還有人工智慧個性化的決策。

這樣的一個決策,決策好以後看價格曲線的變化情況,包括機票酒店的綜合價格指數。這邊會推薦你哪一天去,用戶選擇一個大概的時間範圍,比如說下個月想出去玩沙灘,我的老公想出去玩戶外運動,綜合把這些景點推出來,建議下個月哪一天去最便宜。對應的價格趨勢圖,主要是做這樣的一個工作,線上也取得比較好的效果。

這是行中場景的推薦,用戶一旦到哪個地方會推薦包括吃住游的東西。這是對應做的聚合頁。

整個推薦系統,剛才看的是產品落地的形式。看一下它的架構怎麼做的。我們把事業部的數據進行一個聚合。我們會採用一個虛擬的「標品」,把用戶行為和訂單數據標準化,然後再來做推薦。

在架構上我們採取了這個模式,我們底層這一塊,白顏色的這些東西。大部分的引擎,包括整個迴流的閉環,以及離線、在線計算的引擎,我們在集團統一做一套,會集中化進行迭代。上面黃顏色的框,主要是針對某個場景,我們做一些配置化的東西。

實際我們還在進一步做一些事情,我們會把它變成一個完全的雲化的,讓產品經理來配它,我們把整個在線離線組織好變成模塊化以後,我們業務的使用方,在這個界面上可以做自己的配置。可以進行一些組合,比如說用瀏覽歷史做一些推薦,這些都可以進行一些配置。

旅遊科技的未來

對於未來的探索,我們可以看一下。從數據來看移動網民佔比已經達到95.1%,遠遠超過一些國家的寬頻用戶佔比。對於中國來說,移動互聯網的紅利已經到頭了。

各個互聯網公司也在提出人工智慧的互聯網,這一塊我們也在做探索。我們目前主要做的是產品諮詢機器人,導遊機器人。目前落地的有APP、微信,還有智能音響,還有OTA的一些實體機器人,包括給你的酒店房間送水的,或者在博物館內,甚至景區內,以及車展。因為目前來說車展的人工智慧升級換代非常快,我們希望在這一塊做積極的切入。對於攜程來說更關注下面的這些,我們希望這些引擎在各個硬體的終端做一個低成本的切入,通過低成本落入的這些智能終端,我們再來滲透OTA相關的一些場景,這是目前對應的一些東西。

對於這一塊,我們也需要做一些相應的技術儲備,包括我們知識圖譜的構建。這個知識圖譜與傳統的搜索引擎的知識圖譜不大一樣。搜索引擎的知識圖譜絕大部分通過簡單的圖資料庫就可以解決了。對於OTA我們也在思考這個問題,因為對於電商來說,其實不光是攜程,特別是OTA企業來說,知識圖譜構建會是非常複雜的過程。我也呼籲一下,能夠有哪個雲計算公司能幫我們把知識圖譜的把底層架構能建地非常齊備的話,對於OTA公司可能是非常有用的,在此之前,我們只能自研這樣的開源infra框架。一旦向AI互聯網升級,對這種需求非常大,實際沒有哪一種計算機的存儲技術完全支持這樣的知識圖譜,因為傳統的知識圖譜類似於KV的工作,比如說姚明的夫人是誰,姚明的丈母娘是誰?對於某一個城市的話,我要排序的東西,比如說衛生條件最好的,或者跟某一個景區最近的,幾個條件組合起來,會做這樣的工作。比如說我要離景區最近的酒店,知識圖譜相對來說會說非常的複雜。對於OTA,對於電商來說需要做的工作非常多,不能用一個完全透明的方式在一個存儲系統上來建,可能需要多個系統,我們現在是非常混雜的東西,有ES(ElasticSearch),有KV(Redis+HBase),還有類似圖資料庫的東西,很複雜。對於電商來說,或者對於OTA來說開發這樣的東西,成本很高。這個時候我們怎麼能夠合起來呢?我們也是願意跟各個雲計算的大佬們一起來探討。

我們可以看一下這個(播放視頻)主要就是純語音的對話,基於類似於文字或者H5文字的對話,這是做的一些試驗,怎麼通過語音的方式完成OTA產品的網購。這個場景是酒店,下單的是南京的一家酒店,中間過程當中會做一些挑選,比如說時間、目的地,早餐是否好處,交通是否方便。這樣的一個人機交互,會做類似的諮詢,比如說這個酒店在不在停車場?因為自駕游嘛,附近有什麼好玩的景點,最後完成了酒店的下單。這是我們目前正在做的東西。它是完全基於麥克風陣列的方式。

Q&A

提問:AI雲各個業務線會排人工的訓練師,這些人有技能要求嗎?

於磊:人工訓練師,不是說AI的,是針對人工客服,目前來說主要是售後客服這一塊的訓練師。是這樣的,目前基於現有的人工智慧發展的技術來說,還遠遠達不到把業務規則寫進去,還需要人工訓練師的訓練,訓練師的工作分幾部分:第一部分就是業務上的邏輯,比如說機票能不能退?其實是多方業務因素所造成的,比如說航空公司願意不願意?當前機票屬於什麼狀態?或者飛機已經飛走了你現在來說退機票。人工訓練師把業務邏輯梳理出來。用戶提前回答的問題,有可能中間會有一個概括,還沒有達到非常滿意的水平,這時候人工訓練師會來做一個糾正,通過統計學,剛才說的自動化的界面,一些大數據或者演算法,幫人工智慧訓練師把這些問題、ROI最大的問題挑出來,比如說用戶問到同樣一個問題,如果大部分人還會打電話,或者會找人工,如果這樣的概率比較大,問題會列出來,並排序,對用戶體驗影響最大的,讓人工訓練師優先處理。人工訓練師主要是做這個工作的。

提問:你們會不會推出和處理器相關的?或者國內的晶元廠商合作?

於磊:這一塊我想說一下,對於人工智慧來說,其實人工智慧還是區別於傳統的infra層的雲技術,因為對於以前操作系統級別的虛擬機來說,相對來說比較簡單,客戶的技術人員只需要是畢業一二年的學生,改改配置,兩三個小時都可以搞定、用起來。但AI不一樣,目前如果只提供GPU,或者AI的計算、AI的存儲資源是遠遠不夠的,類似於BAT這樣的大公司或者AI專業公司,他們是有能力在AI計算資源或平台上面建網路的,服務的是雲用戶是已經有非常大的AI技術和人力的實力了。即便有非常好的一個模型了,上線一個非常簡單的功能,還是可能需要很多的訓練標註工作,這一塊對於人工智慧的應用方來說,其實成本很大的,技術層面這些網路怎麼組合起來,又不是一個簡單的事情。特別是到了今年,今年是一個關鍵時間點,如果做人工智慧的團隊,明顯就會發現今年的人工智慧的人才已經非常的難招聘了,對於非AI的公司,發展AI已經不是光有錢就可以建起來的,薪資開的再高招不到人。我們目前是API的形式,可能也是在現階段AI雲領域最為可行的一種方式。當然,面對一些自身的人工智慧這一塊技術非常強或人力非常多的用戶,也有很多的訓練數據,也可以把雲服務的層級降下來,但目前應該不是AI雲的主力市場。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Go中國 的精彩文章:

beego開源之路

TAG:Go中國 |