美團對話理解技術及實踐

智能客服是一種使用自然語言與用戶交互的人工智能系統,通過分析用戶意圖,以人性化的方式與用戶溝通,向用戶提供客戶服務。

本議題首先介紹美團智能客服的對話交互框架,然後就我們在其中意圖挖掘、意圖理解、情緒識別、對話管理等核心模塊中用到的機器學習算法進行詳細的介紹。

美團對話理解技術及實踐


美團點評的使命是 " 幫大家吃得更好,生活更好 " 。美團線上服務的 APP 涵蓋了生活服務方方面面,包括餐飲、外賣、打車、酒店業務等。2018 年全年美團的總交易金額達 5156.4 億元人民幣,同比增加 44.3%;2018 年美團單日外賣交易筆數超過 2100 萬筆。美團的各個 APP 上具有大量的客服信息類的數據,這也為工程師提供了很好的練兵場。

一、智能客服對話框架

美團對話理解技術及實踐


當用戶進入到客服界面時往往是帶著一個問題來的,那麼我們需要做的就是對這個問題進行理解,然後根據理解結果去請求相應服務,去解決用戶的問題。這裡面主要分為兩大塊,一方面是離線訓練和知識庫整理部分,另一部分是在線處理部分。

在在線部分,首先需要對問題進行基礎特徵的提取,比如:分詞、語義標籤抽取、情緒分析、NER 識別等;進而進入下面一層 - 意圖理解層,主要有問題領域分類、意圖識別和屬性抽取;意圖理解之後就進入到了對話管理這個階段,對話管理模塊主要包括兩個部分,狀態追蹤 ( DST ) 和對話決策,DST 根據上下文狀態明確當前用戶的領域和意圖,而對話決策模塊則根據用戶當前意圖決定後續動作;再之下是業務服務層,包括各業務的數據服務接口以及業務數據呈現樣式等。

二、意圖理解

美團對話理解技術及實踐


美團圍繞著生活服務有著許許多多場景和業務,針對客服服務而言,用戶可能是從單一的業務窗口進入到客服中,這時我們是知道該客服服務屬於哪個領域;用戶也有可能是從美團的綜合門戶入口進入到客服中,在這種情況下我們無法判斷用戶需要進行哪個業務領域方面的諮詢。

除此之外,在場景方面,主要涉及單輪 QA 和多輪 Task,針對一些簡單的問題,單輪的 QA 就可以解決,舉個例子:

U: 美團送餐時間

S: 用戶您好,能否配送是以商家營業時間為準的。如您所選的商家正在營業,便代表可以提供點餐及配送服務。

而大量複雜的業務通過單輪的 QA 是無法完成的,這時候就需要多輪對話,舉個例子:

如何成為美團商家?

美團對話理解技術及實踐


像這種就需要多輪的任務 Task 才能解決。

美團對話理解技術及實踐


由於美團涵蓋眾多的業務領域,所以當用戶提出一個問題時,我們首先要將這個問題進行領域分類,把它分到某個業務領域去,然後用業務知識去解決這個問題;領域明確後就是意圖分類,根據問題的不同類別,比如問答類的、閒聊類的等,採用的方式也會有所差異。接下來將對這兩個方面做詳細介紹。

2.1 領域分類

美團對話理解技術及實踐


針對領域分類任務,如上圖所示,我們首先會從不同的業務中收集大量的業務數據,作為基礎的訓練數據,雖然這些數據來自不同的業務,但是依然存在一些問題,主要有以下兩方面:

  • 標籤不準:用戶有可能會在某個業務對話中提問其它領域的問題;
  • 領域重疊:某些問題可能會在多個領域中出現。

所以,原始數據不能直接拿來作為訓練數據,必須要經過人工篩選和標註方可使用。 為了節約人力成本和提高迭代速度,我們採用了主動學習框架,模型的迭代主要分為如下幾步:

  1. 蒐集業務數據,為每條業務數據打上相應的業務標籤
  2. 對數據進行模型訓練
  3. 將上步訓練好的模型對樣本進行預測
  4. 標註人員對預測樣本進行標註,選出錯誤和難分開的樣本
  5. 返回第 2 步,對標註好的數據重新進行訓練


美團對話理解技術及實踐


我們同時也在不同的模型上測試領域分類效果,實踐中的各模型效果如上圖所示。 從結果中我們可以看出,BERT 的效果是非常高的,但是呢我們也會考慮模型在實際運行中的效率問題。 對於一個 15 個字左右的 query 來說,用 TextCNN 模型在 10ms 以內就可以解決,如果用 BERT 模型的話可能需要 70ms 左右,這個時間還是比較長的,當前實際上線的時候我們採用的是 TextCNN 模型。 這是 2014 年 Yoon Kim 提出的一種方法。

美團對話理解技術及實踐


2.2 意圖分類

針對意圖分類,主要包括問答型意圖理解和任務型意圖理解兩個方面。

美團對話理解技術及實踐


這兩類問題有著各自的特點,針對問答類,我們採用檢索和相似度排序的策略,下圖是問答類的設計架構。

美團對話理解技術及實踐


針對任務型的意圖理解,我們採用規則和模型結合的方式,一種是通過規則的方式,比如上下文無關文法,另一種是採用模型訓練的方式。

上下文無關文法

美團對話理解技術及實踐


上圖就是其中一個例子,在工業界這種方式還是非常通用的,對於問題冷啟動,高頻出現的問題和常規的問題,採用規則的方式能夠很好的解決。

多任務學習模型

美團對話理解技術及實踐


模型部分我們把意圖分類和屬性抽取聯合建模,作為一個多任務學習 ( Multi-task Learning ) 任務,如上圖所示 ( 算法詳見 Zhang, Xiaodong 2016IJCAI ) 。雙向 LSTM 處理後,一方面會通過 softmax 分類輸出意圖多分類的結果 ( 右邊的 y^u );另外通過 CRF 層,標記每一個詞的槽位標籤。具體來說,對於 " 幫我找一家明天中午適合 10 人聚餐的川菜館 ",模型應該能識別出來它是屬於訂餐意圖,同時又能夠抽取出時間 " 明天中午 " 、人數 " 10 " 和口味菜系 " 川菜 " 等屬性信息。

2.3 對話狀態追蹤 ( DST )

美團對話理解技術及實踐


DST 解決的還是一個意圖的問題,根據當前上下文的環境或者狀態來明確當前用戶的確切意圖。

美團對話理解技術及實踐


上圖是我們當前的框架,這個 session context 為上下文信息,NLU 模塊的輸出信息可能是多個意圖,我們需要根據其他的一些信息,比如,訂單信息、門戶信息,入口信息等,結合 session context 去明確它是屬於哪個領域。

如果這個領域不能明確怎麼辦?我們的做法是會跟用戶進行一輪的澄清,反問用戶一次,來解決這個問題,也就是框架最左邊的 " domain 不明確進行澄清 " 邏輯。

領域一旦明確後,下一步會進入到意圖這一塊,我們要明確它當前是什麼意圖,當然接收到的 query 也面臨多意圖判斷的問題,同樣我們也可以去做澄清,澄清包括利用上下文信息判定,或者增加一輪與用戶的交互來澄清,如果明確則繼續下面的流程,這是我們整體的架構。

舉個栗子

如果接收到一個信息是 " 牛肉湯撒了 ",首選我們要判斷它是屬於哪個領域的,它是屬於外賣商家這個領域,接著判斷其意圖,對意圖進行澄清後得知意圖是 " 如何申請餐損 ",然後走餐損的流程。

美團對話理解技術及實踐


三、知識發現

3.1 人在迴路

客服的目的是為了解決用戶的問題,AI 在現有的 work flow 中節省人力,但是機器解決不了的事情還是要交給人來解決。所以在下圖中,我們一定要加一條轉人工的服務。另外我們利用無監督學習從日誌中挖掘出的知識點也需要人工 " 業務運營 " 來 check 。在整個環路里監督學習從知識庫中學習到的語義表示能力又可以提供給無監督學習使用,這個在下面會進一步提到。

美團對話理解技術及實踐


3.2 無監督學習在知識發現中應用

美團對話理解技術及實踐


無監督機器學習主要涉及兩個問題,一個是句子的語義表示,另一個就是如何做知識聚類。

在語義表示問題上,我們做了大量的試驗,在迭代的過程中,我們用到了 DSSM 模型、seq2seq 模型和 BERT 模型來做意圖的相似度計算,在這個過程中我們發現不同的模型有各自的特點,它可能抓住不同維度的特徵,在離線模型中我們用多個模型的拼接的方式來表示其語義向量。

美團對話理解技術及實踐


在知識點聚類這個問題上,我們採用用了最通用的 K-means 模型來做的。

美團對話理解技術及實踐


上面講到的是意圖和說法的挖掘,在實際業務中我們有大量的 Task 的問題。下圖呈現的是一個 " 如何申請餐損 " 的 Task 樹。

美團對話理解技術及實踐


當用戶的問題觸發 Task 後,Task 機器人根據和用戶的交流來獲取槽信息,調用不同 API 接口來獲取槽信息,進而回複用戶。上圖 " 如何申請餐損 " Task 需要明確的槽包括 " 配送方式 " 、" 餐損原因 " 、 " 申請狀態 “,其中 " 配送方式 " 和 " 餐損原因 " 是通過與用戶的交互來明確,” 申請狀態 " 則是通過請求後臺服務來明確。

在這個環節中我們需要做的就是輔助運營人員構建 Task 類的知識。

我們根據用戶的日誌數據提取相應意圖,然後根據意圖共現,回覆共現去挖掘,當一個用戶問了一個問題之後還會提問哪些問題,當用戶收到反饋之後還會反問哪些問題。根據這些去構建 Task 子樹,離線構建好之後交給運營的同學,運營同學審核通過之後就可以上線了。

四、情緒識別

4.1 背景介紹

客服熱線是我們公司對外服務的重要交流通道,在售前、售中和售後的各個環節中發揮著重要作用,為用戶提供意見處理、資料管理、技術支持等多項服務。然而目前客服熱線在運營過程中還存在一些痛點,如客服人工坐席的服務水平參差導致客戶的體驗存在差異,另外個別客戶還存在動機複雜等問題。因此如何利用技術提升客服熱線的服務水平、檢測熱線中可能的風險是目前需要解決的一個問題。 本項目對客服熱線中的語音數據進行挖掘與分析,通過量化用戶的情緒能量值,實現對用戶情緒狀態 ( 是否激動、情感傾向等 ) 的追蹤,並且在客戶情緒超過設定閾值時提供預警信息,以便相關人員和應急措施的及時介入,從而為相關業務部門提供運營數據支撐和智力支持,最終提升客服熱線的服務質量和服務效率。

4.2 特徵提取

美團對話理解技術及實踐


FTT:短時傅里葉變換

每幀語音都對應於一個頻譜 ( 通過短時 FFT 計算 ),頻譜表示頻率與能量的關係。

梅爾濾波:實驗觀測發現人耳就像一個濾波器組一樣,它只關注某些特定的頻率分量 ( 人的聽覺對頻率是有選擇性的 ) 。也就說,它只讓某些頻率的信號通過,而壓根就直接無視它不想感知的某些頻率信號。

4.3 模型選擇

特徵處理完成之後就是採用哪種模型來進行訓練。

美團對話理解技術及實踐


在迭代中我們採用過傳統的機器學習模型,比如 LR、SVM 模型,神經網絡模型,和一些預訓練好的模型,在這個裡面我們遇到的一個挑戰就是,一個情緒是不是激動的標籤是針對整個通話記錄標註的,但是用戶在通話的過程中,不是一直的激動,而是在某個通話階段情緒激動,而一個標籤無法體現出到底是那一部分激動,是全程激動,還是部分激動,還是全程平靜的,其實這個裡面就涉及到一個弱標籤的學習,如下圖所示。

美團對話理解技術及實踐


這是 19 年提出的一個算法,在實際應用中效果不錯,感興趣的同學可以根據信息去查找。

在實際的效果上,各個模型的表現如下:

MFCC + LSTM < MFCC + CNN < VGGish + ferture level attention < VGGish + decision level attention

五、展望

  • 多輪上下文建模,意圖理解
  • 讓用戶做選擇題,做意圖預判,意圖推薦
  • 語音與文本多模態,弱標記學習,情緒風險識別
  • 對話歷史的話題抽取及切割,話術推薦,坐席助理

以上是當前我們正在開展及探索的智能客服理解部分的內容,從 ToC 的用戶側,以及 ToB 的坐席助理側兩方面來優化整個客服閉環。

作者介紹:

江會星博士,美團點評搜索與 NLP 部 NLP 中心的研究員,智能客服團隊負責人,主要負責美團智能客服業務及對話平臺的建設。曾在阿里達摩院語音實驗室從事智能語音對話交互方向研究,主要負責主導的產品有斑馬智行語音交互系統、YunOS 語音助理等。

團隊介紹

美團點評搜索與 NLP 部 NLP 中心秉承 " 讓機器理解人類語言,讓機器與人自然對話,用數據打造知識大腦 " 的信條,致力於建設世界一流的自然語言處理核心技術和服務能力,打造智能客服對話平臺,打造自然語言處理平臺及知識圖譜 ( 美團大腦 ),助力美團業務場景智能化轉型,提升美團科技水平和品牌影響力。

當前我們在 NLP 多個方向,包括但不限於意圖理解,對話交互,意圖推薦,風險識別,知識圖譜等崗位招聘算法及工程崗位,Base 北京、上海兩地。歡迎加入我們團隊,簡歷請投遞至郵箱:

[email protected]

本文來自 DataFun 社區

原文鏈接

https://mp.weixin.qq.com/s/UH7r3oh4M4_qkqtIE1dGPw


分享到:


相關文章: