世界數據挖掘領域頂級學術會議KDD2019繼續在美國阿拉斯加州安克雷奇市舉行。本次KDD大會首次採用雙盲評審制,共吸引了全球範圍內約1879篇論文投遞。其中,Applied Data Science track收到約 700 篇論文投稿,最終45篇被接收為Oral論文,100篇被接收為Poster論文;而Research track 共收到了 1179 篇投稿,最終111篇被接收為Oral論文,63篇被接收為Poster論文。
今年,滴滴共有三篇Oral論文入選KDD2019,研究內容涵蓋基於深度學習方法自動化地生成工單摘要、基於深度強化學習與半馬爾科夫決策過程進行智能派單及模仿學習和GAN在環境重構的探索。
本文是對滴滴AI Labs團隊Oral論文《Automatic Dialogue Summary Generation for Customer Service》的詳細解讀,在這篇論文中,滴滴基於輔助要點序列提出了Leader-Writer網絡來幫助解決客服工單摘要生成問題,能讓客服工單摘要的自動化生成更具完整性、邏輯性與正確性。
一、研究背景
滴滴的客服每天需要處理大量的用戶進線。客服人員在解答或處理用戶問題的時候,需要按照以下流程嚴格執行:1) 了解用戶問題與訴求;2) 提供解決方案或者安撫用戶情緒;3) 記錄工單摘要。
工單摘要對於滴滴客服系統非常重要,它有兩個目的:
當工單在內部流轉,被其他客服處理的時候,工單摘要可以輔助客服來快速了解用戶問題、解決方案、以及用戶反饋等信息,進而調整自己的服務策略;質檢人員會檢查工單摘要,評估客服提供的方案是否有效,用戶是否認可,進而來判斷客服的服務質量。在自動化工單摘要系統上線前,工單摘要主要由客服手工撰寫,耗費客服大量的時間。而客服每日解決的用戶進線量很大,這導致大量客服資源的佔用;另外,手工撰寫的工單摘要存在標準不統一、錯詞漏句等情況,錯誤或者不規範的工單摘要會給使用工單摘要的其他客服人員的工作帶來負面影響。
本文主要研究如何利用深度學習方法,自動化的生成工單摘要,提高客服工作效率,進而節約客服資源。
二、問題挑戰
相對於一般的文本摘要問題,客服工單摘要有其特殊性。我們需要保證工單摘要滿足以下三個條件:
完整性:即工單摘要需要包括所有的要點;一般情況下,摘要至少要包括用戶問題描述、解決方案、用戶反饋這幾個要點。在一些場景下,還需要包括用戶聯繫方式、反饋時效等要點。邏輯性:即工單摘要中的要點需要按正確的邏輯順序組織起來。工單摘要應該先記錄用戶問題,再記錄解決方案,最後記錄用戶反饋以及後續跟進策略等。順序不正確會導致摘要難以讓人理解。正確性:即工單摘要中的核心要點需要保證是正確的,例如用戶反饋部分中的」認可解決方案」與「不認可解決方案「。由於兩者從文本相似度很高,利用End-to-End方案學習效果通常比較差。目前的抽取式和生成式的文本摘要方案均不能很好的解決這些問題;針對以上挑戰我們提出了自己的解決方案。
三、解決方案
我們提出利用輔助要點序列(Auxiliary key point sequence)來解決以上這些挑戰。要點(key point)是工單摘要中一個片段的主題,例如「問題描述」。我們通過人工總結工單摘要,整理得到滴滴場景下51個要點;詳見表1
表1:滴滴場景下的工單摘要要點(部分)
我們利用規則,從人工撰寫的工單摘要中抽取出摘要中的要點。一個摘要中的所有要點構成了要點序列(Key point sequence)。如果一個摘要在要點序列上是完整的、有邏輯的、且正確的,那麼對應的工單摘要則是完整的、有邏輯的、且正確的。同時,為了更好的區分「用戶認可」和「用戶不認可」這種文本相似度高的要點,我們將對立的要點記為兩個不同的要點。
我們將工單摘要生成問題建模成一個多任務學習問題。首先模型根據對話信息生成要點序列;然後再利用對話信息和生成的要點序列生成每個要點對應的子摘要;最後根據要點序列中的邏輯拼接子摘要即可獲得完整的工單摘要。整個流程如圖1所示。
圖1:解決方案示意圖
通過引入輔助要點序列,可以帶來如下好處:
模型通過對輔助要點序列的學習,可保證生成的工單摘要的完整性、邏輯性與正確性,保證工單摘要的質量;輔助要點序列的詞典集合小(滴滴場景下為51),序列長度一般較短(不超過10),容易生成準確的要點序列;生成每個要點的子摘要,其長度也要顯著短於完整摘要,可提高摘要的質量。
Leader-Writer網絡
基於輔助要點序列,我們提出了Leader-Writer網絡來解決工單摘要生成問題。具體而言,Leader-Writer網絡具有層次化對話編碼器 (Hierarchical Transformer Encoder),要點序列生成網絡 (Leader-net) 和子摘要生成器 (Writer-net),並基於要點序列生成和子摘要序列生成的交叉熵損失和強化學習損失函數進行聯合訓練。圖2是模型網絡結構圖,接下來分模塊介紹其實現過程。
圖2:Leader-Writer網絡架構圖
1. 層次化對話編碼網絡(Hierarchical Transformer Encoder)
層次化對話編碼器包括詞級別(token-level)和句子級別(utterance-level)的編碼器,詞級別的編碼器通過Transformer編碼每一句對話中的單詞的embedding進行編碼並通過注意力機制(attention)聚合得到每句話的表示;句子級別的編碼器也是一個Transformer編碼器,通過編碼聚合的句子表示,獲取上下文相關的句子表示,並作為解碼部分中對話信息的表示。這裡句子級別的編碼器引入了相對位置embedding,相對於傳統Transformer模型採用的絕對位置embedding使整體效果提升。
2. 要點序列生成網絡(Leader-net)
要點序列生成器(Leader)是一個標準的Transformer解碼器,以要點序列做為監督信息,根據對話信息解碼要點序列。在損失函數中,我們同時考慮了交叉熵損失和自我批判的(self-critical)[1] 的強化學習損失。
3. 子摘要生成網絡(Writer-net)
子摘要生成器(Writer)則是考慮指針機制(Pointer-generator)的Transformer解碼器。通過指針機制,子摘要生成器可以拷貝原始對話中的部分信息,例如數字和電話號碼等。需要注意的是,由於模型中採用了層次化編碼器對對話進行編碼,在指針機制中,為了保證能選擇到對話中的詞,需要考慮層細化的指針機制。要點序列中的不同位置可能具有相同的要點,例如「問題描述 -> 解決方案 -> 不認可 -> 解決方案 –> 認可」中,兩個「解決方案」對應的子摘要內容不同。為了解決該問題,我們採用要點序列生成器的解碼狀態作為子摘要生成器的解碼起始狀態。基於多任務學習的設置,我們獨立了考慮了要點序列生成和子摘要生成的損失。
4. 訓練與預測
在訓練階段,Leader-Writer模型利用要點序列與對應的子摘要做為監督信息,學習模型參數。在預測階段,Leader-Writer模型首先根據對話信息生成要點序列,然後根據要點序列的每個要點的解碼狀態生成最後的子摘要,最後拼接摘要後,獲取最後的工單摘要。
四、實驗與結果
我們對比了一系列的基於深度神經網絡的文本摘要方案,包括:
基於LSTM的Seq2seq的文本摘要模型[2] ;基於LSTM+ Attention的文本摘要模型[3] ;基於Transformer的文本摘要模型[4] ;基於Pointer-Generator的文本摘要模型[5] ;以及基於Hierarchical Transformer的文本摘要模型。同時我們也實現了Leader-writer模型的三個變種,包括:
Hierarchical Encoder+Leader-net+Writer-net的網絡架構(不考慮強化學習損失,Writer-net不引入Pointer Generator機制);Hierarchical Encoder+Leader-net+Pointer Writer-net的網絡架構(不考慮強化學習損失);Hierarchical Encoder+Leader-net+Pointer Writer-net+Self-critical loss的網絡架構。通過實驗,我們的Leader-Writer網絡在工單摘要生成上取得了比目前領先方法更好的效果,同時我們生成的摘要在完整性和邏輯性上比對比方法效果更好;而在核心要點上的正確性,我們的方法在準確性上也優於對比方法。針對具有複雜邏輯的對話內容(即更長的要點序列),我們的方法也在總體摘要效果和完整性、邏輯性和正確性上遠遠優於對比方法的效果。
論文全文:https://www.kdd.org/kdd2019/accepted-papers/view/automatic-dialogue-summary-generation-for-customer-service
在最新一期的雷鋒網AI 研習社 大講堂上,滴滴 AI Labs技術團隊也為我們帶來了相應的詳細解讀分享。詳情可 掃碼 觀看回放視頻!