天天看點

智能機器人在滴滴出行場景的技術探索

智能機器人在滴滴出行場景的技術探索

本次分享是在2019年 AI 科學前沿大會上的分享,主要介紹智能對話機器人在滴滴出行場景中的技術探索,主要内容為:

  • 單輪問答
  • 多輪對話
  • 整體架構

▌單輪問答

單輪問答指識别使用者問題,并給出相應答案。這種場景下的目标是做到識别準确,盡量了解使用者問題,給出合适的答案。

智能機器人在滴滴出行場景的技術探索

開發過程中的難點和挑戰:

  • 資料:标注資料少,這是 NLP 領域的痛點問題,因為标注成本相對較高;
  • 業務:業務線比較多,我們目前支援滴滴場景下的業務線有10多個,會導緻資料标注的問題更突出,資料量少的業務,可标注的資料更少。
  • 語言:使用者的表達方式靈活多樣,即同一個語義有多種表達方式。

針對上述問題,我們想了一些辦法,分析了滴滴場景下和其他智能客服的差別,比如快車和專車業務線,都是由不同模型來支援的,但是快車和專車業務其實是非常相似的,經過統計分析,二者知識點重複率接近一半。我們考慮是否可以把大業務線的資料遷移到小的業務線,但是當我們細看資料的時候,發現還是不一樣的,因為不同業務場景下的相似問,還是有差別的,比如業務獨有的知識,不能直接用在其他業務線上。

智能機器人在滴滴出行場景的技術探索

為了解決這些問題,我們一直在想資料如何更好的去遷移,減少資料的标注量。提出了類似 Multi-Task 多任務學習的架構,因為我們有不同的業務線,如果不考慮 Multi-Task 結構的話,每個業務線會有一個模型。有了 Multi-Task 之後,可以多個業務線共享一個語義模型,讓模型的泛化能力更強,為了解決不能直接映射的問題,每個業務線還有獨立的模型在後面,優化各自的目标。語義模型可以有任意模型,我們嘗試過 CNN、LSTM、Transformer、Bert 等。

智能機器人在滴滴出行場景的技術探索

上圖為我們加上 Multi-Task 之後的一些實驗結果,包括 CNN、LSTM、Transformer、Bert,其中,橙色和藍色為 Top1 準确率,灰色和黃色為 Top3 準确率,橙色為模型本身的結果,藍色為模型+Multi-Task 之後的結果,從結果上看,CNN+Multi-Task 後有一定的提升,從這一點上看 Multi-Task 還是有幫助的,進而我們做了更多的實驗,比如 Bert+Multi-task 的 Top1 準确率相比于 CNN 有了顯著的提升,在本身沒有增加新的成本的情況下,提升顯著,為什麼加了 Multi-Task 後結果這麼好呢?我們發現,新的模型特征抽取的能力比較強,但是也存在一些特點,需要足夠的資料,才能讓模型發揮出能力,我們看四個 Multi-task 模型對比(藍色),給了充足的資料後,效果提升明顯。效果好是不是因為模型好就可以了?也不是,其實如果單獨業務線,同樣的資料下,從圖中不使用 Multi-task 模型結果(橙色)的對比可以看出 CNN 的效果反而更好。原因是在資料不充足的情況下,複雜的模型參數更多,容易引起過拟合。

智能機器人在滴滴出行場景的技術探索

除了分類的結構,我們也嘗試了搜尋+語義比對+排序的架構,主要是用來做情緒安撫,思路是把候選的問答對語料,通過搜尋、生成式模型得到候選,然後經過粗排,粗排是用文本相關性的分數來計算,最後交給多輪對話深度比對模型,主要參考了去年這篇的論文:Modeling Multi-turn Conversation with Deep Utterance Aggregation ,DUA 的特點是除了計算目前的對話,還會把上下文模組化進來,重新考慮。比如情緒回複,如果是一個負向語句,如果單看這句話,它的回複可能是非常通用的,但是結合上下文,比如有的司機聽不到單了,然後他會回複一些負面語句,這時我們的回複是針對聽單場景的安撫。

智能機器人在滴滴出行場景的技術探索

除此之外,我們還有些離線的工作:

模型訓練:如上圖,為 Multi-Task 整體的一個效果,我們建立了一個每天模型自動更新的 pipeline,包括自動測試、自動上線。剛剛也提過了,資料很重要,我們會标注新的資料,來解決新的問題的出現,是以我們采用的是主動學習 Active Learning 的思想,去對邊界樣本進行采樣,這樣标注效率會更高,構模組化型訓練及線上服務的閉環,來達到每天模型更新的效果,讓新的知識、新的問題,更快的更新到我們的服務上來。讓機器人有了自我學習進化的能力。

資料标注:其實在現有的标注語料中,還存在噪音,準确率沒有那麼高。我們通過聚類的方式,把已經标注的語料聚類,這時有些樣本是偏離聚類中心的,然後把偏離的樣本通過人工檢查,如果真的錯了,就可以把噪音删除,如果是對的則保留。

▌多輪對話

智能機器人在滴滴出行場景的技術探索

在出行場景下,存在倆大類的問題,一類是咨詢了問題,比如使用者需要咨詢一些政策、規則等資訊;還有一類是尋求解決的,這兩類問題,單輪問答都很難解決使用者問題,為此我們提出了多輪對話。

1. 整體架構

智能機器人在滴滴出行場景的技術探索

我們可以看下這個例子,比如有乘客回報,司機繞路,如果是單輪的話,隻能給一個答案,而我們現在可以通過互動的方式來引導使用者去選擇訂單,選擇訂單之後,我們可以直接調用背景的接口服務能力,去判斷是否繞路了,如果真實存在,我們就會直接在機器人裡把多收的費用返還給乘客,提升了使用者體驗。

具體的方法:将傳統的多輪對話,多輪互動,引入滴滴客服機器人。主要包括幾大子產品:

① 語言了解

  • 意圖識别,知識點的識别,明确問的問題是什麼
  • 屬性抽取,可以了解為選擇訂單,日期等等

② 對話管理

  • 對話狀态跟蹤:結合目前語義了解的結果,并結合曆史對話,上下文綜合來看,得到對話的狀态(Act 和 slot)
  • 對話政策:給定對話狀态,選擇對應的動作,目前主要采用狀态機的方式,并嘗試強化學習對話政策

③ 語言生成

  • 有了動作之後,我們就需要生成使用者可以了解的語言。

以上是多輪對話的整體架構。

2. 語言了解

智能機器人在滴滴出行場景的技術探索

意圖識别:

我們采用的模型為 BERT + Multi-Task Learning

槽位抽取:

我們主要是基于規則和模型結合的方法,如選訂單的元件,模型如 BILSTM + CRF 模型, 來對槽位資訊進行抽取。

3. 對話管理

智能機器人在滴滴出行場景的技術探索

這個剛剛有介紹過,右圖為狀态機,基于規則配置,左圖為我們在研發的強化學習模型,它需要一個使用者的模拟器來模拟使用者,抽樣使用者目标,根據目标和機器人去互動,從互動中生成經驗,再根據經驗進行學習,達到自動學習的效果,而不是像右邊狀态機,是由領域内的專家來配置的。

4. 智能反問

智能機器人在滴滴出行場景的技術探索

如果使用者表達的意圖不清晰,無法精确定位問題的時候,我們采用了智能反問技術:

  • 圖譜查詢:通過圖譜去查詢,得到相關聯的知識點。
  • 反問引導:産品形式上,在這個例子中,我們會引導使用者,會問使用者是實時單還是預約單,使用者隻要選擇之後,會給使用者推送一個更具體的、有針對性的答案。

5. 閑聊-寒暄

智能機器人在滴滴出行場景的技術探索

機器人裡都會涉及到閑聊,比如“你好”,“謝謝”之類的。針對這些問題做的工作有:

分類模型、檢索比對等,專家編寫的答案,現在我們在探索的是生成模型,讓答案更靈活。

▌機器人架構

智能機器人在滴滴出行場景的技術探索

我們整體看下機器人的架構:使用者的請求來了之後,将“查詢”和“上下文”作為輸入去查詢 frontend,frontend 作為機器人的中控,也會包括一些業務邏輯,然後通過ranker子產品做分發和選擇,下面有問答型、任務型、多輪對話型、閑聊型、圖譜型等,綜合的做一個仲裁去選擇,給到使用者一個最終的答案。

智能機器人在滴滴出行場景的技術探索

最後講一下智能客服的整體架構:

産品:我們支援的業務,包括智能客服(計程車、快車、專車等一系列業務)、司機助手、國際化客服等。

這就是我們整體的架構,這就是我今天要分享的内容,謝謝大家。

智能機器人在滴滴出行場景的技術探索

嘉賓介紹

熊超,滴滴AI Labs 智能對話團隊負責人。2010年畢業于北京航空航天大學模式識别與智能系統專業。畢業後加入騰訊從事搜尋廣告算法政策研發工作。2013年加入阿裡巴巴從事智能人機互動方向。2017年加入滴滴,組建智能客服算法團隊,主要研究方向為多輪對話,問答,智能輔助,強化學習和智能推薦。擔任頂級期刊和學術會議,如TKDE,KDD等審稿人。多項智能客服領域技術專利發明人,專利覆寫多輪對話、問答、閑聊、智能預測等。

——END——

關于 DataFun:

DataFun 定位于最實用的資料智能平台,主要形式為線下的深度沙龍、線上的内容整理。希望将工業界專家在各自場景下的實踐經驗,通過 DataFun 的平台傳播和擴散,對即将或已經開始相關嘗試的同學有啟發和借鑒。

DataFun 的願景是:為大資料、人工智能從業者和愛好者打造一個分享、交流、學習、成長的平台,讓資料科學領域的知識和經驗更好的傳播和落地産生價值。