上百個業務場景,語義匹配技術在攜程智能客服中的應用
Kun Wang,攜程資深算法工程師,專注於智能客服機器人相關 NLP 算法研究。
一、背景介紹
隨着 AI 技術在各個領域的廣泛應用,人機交互技術愈發成熟。包括電商、銀行、電信等在內的很多領域開始建設智能客服的交互能力,爲客人提供智能化自助服務,同時爲客服人員的工作提供智能輔助。攜程集團依靠強大的客服團隊爲國內外旅行者的出行提供了優質的服務保障,持續提升智能客服的交互能力,提高客服人員的生產效率顯得尤爲重要。
在攜程智能客服的 AI 能力建設中,我們以百萬級的對話數據爲驅動力,利用深度學習算法解決用戶問題,滿足客戶個性化的需求,致力於提升 “猜你所想,答你所問” 的算法能力。
攜程智能客服已經在攜程上百個業務場景提供了面向客人服務的客戶端,以及面向客服員工問答的輔助客服端。用戶進入智能客服對話頁面,機器人小遊會和客人進行對話,根據用戶輸入的內容,基於 AI 算法能力和底層知識庫,回答用戶的問題。本文主要介紹語義匹配技術在智能客服的語義理解和問答方面的實際應用。
二、問題分析
客服機器人使用的問答數據是業務運營的領域知識庫,其中常見的標準問題及答案是知識庫的數據基礎。客服機器人通過對比分析用戶話術和標準問題的相關性,通過排序後選擇最可能的答案。這本質上是 NLP(自然語言處理)領域的語義匹配問題,QA 匹配模型作爲一種基礎模型,對匹配準確性要求較高。
現階段的語義匹配技術經歷了從詞彙匹配到詞義匹配,再到句義匹配的發展階段。傳統的 BM25 算法統計詞粒度特徵並計算相關性排序,需要維護大量的詞庫才能提供可靠的統計計算結果。詞袋模型(Bag-of-Word)算法通過將句子映射到高維空間表示整體的語義,但缺點是詞表維度高,存在很大的稀疏性。PLSA 和 LDA 爲代表的概率模型將文本映射到低維的連續空間上,在潛在語義空間上計算語義相似性的同時,提供了主題建模能力,雖然解決了高維表示的稀疏性問題,但匹配效果未必能超過經典的詞彙匹配算法。
隨着神經網絡的發展,端到端的深度學習算法逐漸被應用到各個領域。基於神經網絡訓練的詞向量模型,如 Word2vec、Glove 等被用來解決語義匹配問題,低維稠密的詞向量可以更好的表示詞彙的詞義信息和一定的上下文相關性信息。
爲了進一步解決短語、句子級別的語義匹配問題,以 DSSM 爲典型代表的神經網絡匹配模型被提出。按照句子建模的方式不同,一種是句子之間獨立建模,無交互的匹配模型,如基於全連接層的 DSSM、基於 LSTM 建模的 Siamese 網絡等。這種網絡架構的優勢是,可以實現句子級別的文本語義表示,後置的文本相似度匹配運算比較靈活,大多數是餘弦相似度運算,但缺點是文本相似度計算中缺乏交互性,沒有充分建模和學習文本對之間的關係。
另外一種是有交互的匹配模型,如基於矩陣匹配的層次化匹配模型 MatchPyramid[1]、基於交互注意力機制的 ESIM 模型 [2] 等,在這些模型的架構中,可以從文本對之間的詞彙級別、句子級別等不同層面建模和學習相關性信息,但這種模型主要建模句對關係,並行處理能力差。雖然神經網絡架構的變種很多,但大多數以全連接、CNN、LSTM 等網絡爲編碼器。
自 2018 年開始,注意力機制被廣泛應用到自然語言處理的多項任務中,注意力機制可以充分的學習文本的上下文語義信息,並對這些信息的相關程度進行加權,從而區分文本中每個字詞在語義理解過程中的重要程度。如圖 1 所示,Self Attention 機制通過對自身實現注意力加權學習句子中各個詞彙的語義相關性。以 Self Attention 爲基礎的 Transformer 架構 [3] 實現了以 Attention 運算代替傳統神經網絡的變革。而隨着 Transformer 架構的提出,以其爲單元模塊的預訓練模型在衆多 NLP 任務上均取得了 SOAT 的效果。預訓練語言模型通過在大規模的無標註文本數據上進行自監督訓練,學習到豐富的通用知識,隨後在特定的下游任務上利用少量標註數據進行微調訓練,即可獲得的不錯的效果,如 BERT、GPT、XLNET 等。
圖 1 Self Attention 注意力加權計算過程
2018 年 10 月份開源的 BERT 模型 [4] 是最經典的預訓練語言模型。基本結構如圖 2 所示,BERT 模型以 Transformer 爲基礎,由多層的 Transformer-Encoder 組成了雙向注意力編碼的語言模型。BERT 模型在 GLUE 的各項任務上長期佔據榜首位置,其中包括推斷句對關係的語義匹配任務。此外,多語言預訓練模型的研究改變了依賴機器翻譯的自然語言理解,對於跨語種的知識遷移具有很大的幫助。
圖 2 BERT 及 Transformer 網絡結構圖
三、語義匹配技術應用
語義匹配問題有兩種框架:分類和排序。如圖 3 所示,分類的方法是對用戶輸入做 softmax 多分類,將其歸屬到特定的類別。而排序問題是將用戶輸入與候選 SQ(業務維護的 FAQ 知識庫)進行對比學習,衡量之間的相關度。按照訓練方式的不同,分爲 point-wise、pair-wise 和 list-wise 三種類型。其中 point-wise 和 pair-wise 應用最廣泛。
圖 3 語義匹配模型框架圖
四、多階段語義匹配
在智能客服機器人的服務過程中,我們以單輪交互的 QA 模型爲基礎,用戶的輸入(UQ)會經過匹配召回和點擊精排的多個階段,反饋給用戶最可能想問的問題及答案,整體的計算流程如圖 4 所示,其中匹配召回和點擊精排階段是本文介紹的重點。
圖 4 多階段語義匹配計算流程圖
4.1 匹配召回
在匹配召回階段,我們將語義匹配問題轉化爲對標準 SQ 的排序問題,通過 pairwise 的訓練方式,學習兩兩之間的排序關係,訓練的目標是最大化正例樣本對 (UQ ,SQ+) 和負例樣本對 (UQ ,SQ-) 之間的距離,如公式:
其中,sim(∙) 是一種距離度量方法,一般採用的是餘弦相似度。
這種基於排序的模型結構如圖所示,其中 Encoder 表示提取句義特徵的編碼器,可以從原始的文本輸入映射到低維的稠密向量表示。一般的 Encoder 採用的是 CNN 或者 RNN 的網絡模型。
隨着 BERT 模型興起後,BERT 強大的學習能力和遷移學習能力,使得我們嘗試將其嵌入到算法框架中。考慮到 BERT 模型的複雜度和線上推斷速度的要求,我們沒有采用 BERT 原生的 point-wise 訓練方式,改爲採用以 BERT 模型作爲 Encoder 編碼器,相比於 LSTM 等基礎網絡能夠顯著提升召回準確率。
4.2 點擊精排
匹配召回能夠對知識庫中的全量候選標準 SQ 給出一個排序結果,如果直接將這個排序結果反饋給用戶,對於知識庫中存在語義很接近但存在細微差別的 SQ 難以給出一個最優的排序結果。如何利用好線上日誌的用戶反饋,對於難區分的樣本給出正確的判斷,是非常重要的。
因此,我們引入了點擊重排序的精排範式,採用線上用戶真實的點擊反饋數據,訓練一個強的排序模型,對語義相近的樣本進行對比區分。在這一階段,我們更加關注用戶問題和候選標準問題之間的細粒度相關性,因此採用 ESIM 模型這種基於注意力機制進行細粒度語義交互的語義匹配模型。如圖 5 所示,ESIM 有兩個 LSTM 編碼層和一個注意力層組成。注意力層對兩個輸入文本的各個 token 進行相關性計算,並經過 softmax 後得到相似度權重。這種交互可以從更細的粒度學習到樣本對之間的共性和差異。
圖 5 ESIM 模型架構圖
從全量候選知識庫中召回 Top-K 個標準 SQ 之後,通過構造 K 個句對樣本,由點擊重排序模型統一給出精排分數,之後作爲線上預測的最終依據。
五、多語言遷移學習
全球存在數千種語言,分屬於不同的語言體系。在攜程的 IBU 國際化業務中,目前支持 19 種主要語種。一個語種上訓練好的語言模型在另一個語種上幾乎完全無效,導致很多標註語料嚴重不足難以取得良好的效果,因此需要跨語種的 NLP 研究。在攜程國際化業務的開展中,我們非常注重多語言的語義理解能力,實現了預訓練和遷移學習在小語種業務上的技術落地。
多語言預訓練模型預訓練階段採用多個語種的數據一起訓練,各個語言共用一套公共的模型參數。如谷歌開源的多語言 BERT、Facebook 開源的 XLM、T5 等模型。以多語言 BERT 模型爲例,其訓練數據是維基百科的 100 種語言數據,採用多語言 BERT 的 wordpiece 分詞方法,共形成了 110k 的多語言詞表。在多語種的 XNLI 數據集上取得良好的效果。
在攜程多語言的業務中,不同語種之間的數據存在較大的不均衡性,存在一些小語種只有少量的標註樣本,甚至無標註樣本的冷啓動場景。在這種情況下,利用好多語言 BERT 模型的遷移能力可以節省很大的人工標註成本。利用多語言 BERT 模型在標註語料充足的語言線上訓練語義匹配模型,如中文、英語,然後在目標語線的任務數據上進行微調,如日語、泰語等。
以日語語言線冷啓動場景爲例,利用英語語言線的標註數據訓練的 Siamese BERT 模型,在未使用日語數據微調的情況下,仍能取得 60% 以上的匹配準確率。再使用少量的日語線標註樣本微調後,模型效果又可以提升 20%。
六、KBQA
對於特定場景下用戶的精細化信息諮詢,我們結合 NLU 模塊明確用戶諮詢意圖,提取關鍵信息槽位(Slot),通過 KBQA 的推理能力提供精確答案。
智能客服通常可以分爲閒聊 Bot、單輪問答的 QA Bot 和多輪問答的 Task Bot。單輪問答利用 QA 模型給出匹配結果,多輪問答由 NLU 模塊處理用戶問題,確定意圖(intent)和抽取槽位(slot)DM 模塊控制會話流程並給出最終答案。
但是通常情況下,單輪問答僅依靠語義匹配技術難以覆蓋全部的用戶問題。舉例說明,用戶諮詢 “酒店到 XX 景點有多遠?”,我們難以枚舉全部的景點並配置問答數據,這種需要部分推理和查詢的精確問題可以使用 KBQA 來解決。其中 NLU 模塊需要確定用戶的問題是否是 KBQA 可以解決的類型,其次需要抽取該問題類型的相關槽位,從而才能結合槽位屬性去查詢知識庫和推理計算。
6.1 意圖識別
意圖實際上可以看作是用戶問題的抽象,其本質上是和之前提到的標準 SQ 是等價的。在調研分析中發現,售前用戶有很多會進入客服頁面諮詢酒店的相關信息,如酒店的位置、周邊商場、景點美食、交通出行等。如用戶輸入 “酒店到外灘景點有多遠?”,這個問題屬於用戶諮詢“酒店到某 POI 的距離” 這個標準意圖類別,利用現有業務線數據訓練的召回模型僅能定位到知識庫中配置的 “酒店附近交通” 這個標準 SQ,難以繼續精確到更細粒度的意圖子類。
考慮到以繼續新增標準 SQ 的形式並不能枚舉用戶所有的信息諮詢問題,但可以在現有 “酒店附近交通” 下面再拆分成更細粒度的意圖子類。如果採用分類模型去預測用戶的意圖,很多時候會因爲業務的變化導致數據和模型的頻繁變更。因此,我們繼續採用語義匹配的排序方式實現意圖識別,在保證業務意圖匹配準確率的同時,支持業務意圖的動態變更。此外,擴展新意圖的同時,並不能提供大量標註樣本用於訓練,所以適應於小樣本學習的匹配模型更適合我們的 KBQA 場景。
圖 6 意圖識別匹配模型框架
如圖 6 所示,意圖識別模型採用的是學術界比較新穎的 Induction Network 模型 [5],這是在經典 Match Network 基礎上演變而來的匹配架構。在訓練過程中,每個意圖類別 i,僅需要 N 條(20 條 - 200 條)的標註樣本,選取 K 條樣本經過 Encoder 模塊編碼得到句向量表示,之後由動態路由模塊歸納得到該類別的向量表示。用戶 query 經過句向量編碼後得到,會和每個計算相似度,最後計算分類的交叉熵損失函數。在線上推理過程中,各個意圖類別的向量可以預先計算和動態更新,僅需對用戶 query 做實時編碼和意圖類別的相似度計算。
6.2 槽位提取
意圖識別能夠讓機器人理解用戶問題的主幹,而細節理解則由槽位抽取模塊完成。用戶問題中的 “外灘” 是一個經典 POI,只有確定了該 POI 的座標,我們才能計算推理酒店到該 POI 的距離,並給用戶推薦出行方式。發現用戶 query 中的實體詞彙並能夠鏈接到知識庫信息,是槽位抽取模塊的主要工作。
圖 7 NER 模型框架
對於用戶問題中描述準確的詞彙以及常見的別名表述,都可以通過詞典和規則的方法識別出正確的結果。但對於複雜實體的識別則需要 NER 模型來完成。我們將 ALBERT+BiLSTM+CRF 的模型應用到詞槽抽取任務中,NER 模型的整體框架如圖 7 所示,用戶 query 會先經過 ALBERT 和 BiLSTM 的特徵編碼層,獲得每個 token 的向量表示,softmax 層將映射到標註類別標籤上,得到初步標註結果,CRF 層以作爲輸入,通過維特比算法爲每個 token 都重新被打上一個標註類別(B、I、O)。CRF 層需要根據場景定製標註類別,但 Albert 的編碼能力具有通用性。既保留了語言模型在少樣本或零樣本情況下強大的遷移學習能力,又能夠在線上有一個更快的推理速度。
七、總結
文章首先介紹了攜程智能客服機器人的背景,並從問題分析、語義匹配技術應用等方面詳細介紹了 NLP 領域的語義匹配技術在攜程智能客服場景中的實踐。涵蓋了語義匹配技術從統計機器學習到深度學習的演變過程,闡述了召回 + 精排序的語義匹配計算範式,介紹了我們在多語種遷移學習場景的實踐,以及利用 KBQA 解決售前問題的探索。
未來的智能客服機器人還將繼續推進更多場景的技術落地,並能夠實現多語言方向的進一步拓展,實現文本、語音、圖像等多模態的發展。以數據驅動、技術賦能、業務落地的生產方式,讓智能客服機器人更加智能化、人性化,爲客服人員提供更多技術支持,爲用戶提供更好的服務體驗。
參考文獻
【1】Liang P , Lan Y , Guo J , et al. Text Matching as Image Recognition. 2016.
【2】Chen Q , Zhu X , Ling Z , et al. Enhanced LSTM for Natural Language Inference[C]// Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2016.
【3】Vaswani A , Shazeer N , Parmar N , et al. Attention Is All You Need[J]. arXiv, 2017.
【4】Devlin J , Chang M W , Lee K , et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding[J]. 2018.
【5】Geng R , Li B , Li Y , et al. Induction Networks for Few-Shot Text Classification[J]. 2019.
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/6FSJGC0QEYzN8olD5xOQ3g