深度文本匹配在智能客服中的應用

深度文本匹配在智能客服中的應用

市場營銷燈泡詞雲。白色的辦公桌


目錄

一. 深度文本匹配的簡介

1. 文本匹配的價值

2. 深度文本匹配的優勢

3. 深度文本匹配的發展路線

二. 智能客服的簡介

1. 智能客服的應用背景

2. 智能客服的核心模塊

  • FAQ 庫的構建
  • 語義召回
  • 相似度模型
  • 模型更新

三. 深度文本匹配在智能客服中的應用

1. 為什麼使用深度文本匹配

2. 怎麼樣使用深度文本匹配

  • 深度文本匹配模型
  • 文本匹配引擎

3. 深度智能客服的效果評測

四. 參考

▌一、深度文本匹配的簡介

1. 文本匹配的價值

文本匹配是自然語言理解中的一個核心問題,它可以應用於大量的自然語言處理任務中,例如信息檢索、問答系統、複述問題、對話系統、機器翻譯等等。這些自然語言處理任務在很大程度上都可以抽象成文本匹配問題,比如信息檢索可以歸結為搜索詞和文檔資源的匹配,問答系統可以歸結為問題和候選答案的匹配,複述問題可以歸結為兩個同義句的匹配,對話系統可以歸結為前一句對話和回覆的匹配,機器翻譯則可以歸結為兩種語言的匹配。

2. 深度文本匹配的優勢

傳統的文本匹配技術如圖1中的 BoW、TFIDF、VSM等算法,主要解決詞彙層面的匹配問題,而實際上基於詞彙重合度的匹配算法存在著詞義侷限、結構侷限和知識侷限等問題。

  • 詞義侷限:的士和出租車雖然字面上不相似,但實為同一種交通工具;而蘋果在不同的語境下表示的東西不同,或為水果或為公司;
  • 結構侷限:機器學習和學習機器雖詞彙完全重合,但表達的意思不同;
  • 知識侷限:秦始皇打 Dota,這句話雖從詞法和句法上看均沒問題,但結合知識看這句話是不對的。


傳統的文本匹配模型需要基於大量的人工定義和抽取的特徵,而這些特徵總是根據特定的任務(信息檢索或者自動問答)人工設計的,因此傳統模型在一個任務上表現很好的特徵很難用到其他文本匹配任務上。而深度學習方法可以自動從原始數據中抽取特徵,省去了大量人工設計特徵的開銷。首先特徵的抽取過程是模型的一部分,根據訓練數據的不同,可以方便適配到各種文本匹配的任務當中;其次,深度文本匹配模型結合上詞向量的技術,更好地解決了詞義侷限問題;最後得益於神經網絡的層次化特性,深度文本匹配模型也能較好地建模短語匹配的結構性和文本匹配的層次性[1]。

3. 深度文本匹配的發展路線


深度文本匹配在智能客服中的應用


圖 1 深度文本匹配的發展路線


隨著深度學習在計算機視覺、語音識別和推薦系統領域中的成功運用,近年來有很多研究致力於將深度神經網絡模型應用於自然語言處理任務,以降低特徵工程的成本。最早將深度學習應用於文本匹配的是微軟 Redmond 研究院。2013年微軟 Redmond 研究院發表了 DSSM [2],當時 DSSM 在真實數據集上的效果超過了SOTA(State of the Art);為了彌補 DSSM 會丟失上下文的問題,2014年微軟又設計了CDSSM [3];2016年又相繼發表了 DSSM-LSTM, MV-DSSM。微軟的 DSSM 及相關係列模型是深度文本匹配模型中比較有影響力的,據瞭解百度、微信和阿里的搜索場景中都有使用。

其他比較有影響的模型有:2014年華為諾亞方舟實驗室提出的 ARC-I和ARC-II [4],2015年斯坦福的 Tree-LSTM [5],2016年 IBM 的 ABCNN [6],中科院的 MatchPyramid [7],2017年朱曉丹的 ESIM[8],2018 年騰訊 MIG 的多信道信息交叉模型 MIX [9]。

一般來說,深度文本匹配模型分為兩種類型,表示型和交互型。表示型模型更側重對錶示層的構建,它會在表示層將文本轉換成唯一的一個整體表示向量。典型的網絡結構有 DSSM、CDSMM 和 ARC-I。這種模型的核心問題是得到的句子表示失去語義焦點,容易發生語義偏移,詞的上下文重要性難以衡量。交互型模型摒棄後匹配的思路,假設全局的匹配度依賴於局部的匹配度,在輸入層就進行詞語間的先匹配,並將匹配的結果作為灰度圖進行後續的建模。典型的網絡結構有 ARC-II、DeepMatch 和 MatchPyramid。它的優勢是可以很好的把握語義焦點,對上下文重要性合理建模。由於模型效果顯著,業界都在逐漸嘗試交互型的方法。


深度文本匹配在智能客服中的應用


圖 2 深度文本匹配模型的類型


▌二、智能客服的簡介

1. 智能客服的應用背景

由於人工客服在響應時間、服務時間和業務知識等方面的侷限性,有必要研發智能客服系統,使其通過智能化的手段來輔助人工客服為用戶服務。智能客服與人工客服的優劣勢對比如圖 4 所示。


深度文本匹配在智能客服中的應用


圖 3 智能客服與人工客服的優劣勢對比


2. 智能客服的核心模塊

智能客服的一般框架如圖 5 所示:當有 Query 請求時,首先對 Query 進行補全、解析和需求理解;其次,問題召回模塊通過精準召回、核心召回和語義召回從 FAQ 庫召回與 Query 相關的問題;接著,問題排序模塊通過 CTR 模型和相似度模型對召回的問題進行排序,選出 Top k 返回給用戶;最後,反饋系統記錄用戶的點擊行為等,對模型進行更新。具體哪些模型會被更新,與語義召回和相似度模型階段使用的算法有關。


深度文本匹配在智能客服中的應用


圖 4 智能客服的一般框架

在智能客服的框架中,最重要的模塊是 FAQ 庫的構建、語義召回、相似度模型和模型更新,它們性能的好壞對用戶的使用體驗有很大影響。

FAQ 庫的構建

對於重視用戶體驗的客服系統來說,FAQ 庫的構建是非常嚴格的,它的內容需要非常完整和標準,不能像聊天機器人那樣可以插科打諢。一般的做法是將積累的 FAQ ,或是將場景相關的設計文檔、PRD文檔中的相應內容整理成 FAQ,添加到 FAQ 庫中。日常的維護就是運營人員根據線上用戶的提問做總結,把相應的問題和答案加入 FAQ 庫。不難想像,隨著用戶量的增加,用戶的問題種類五花八門,問法多種多樣,這種維護方式肯定會給運營帶來很大的壓力,也會給用戶帶來糟糕的體驗。那麼,有沒有什麼自動或是半自動的方法可以解決新問題的挖掘和 FAQ 庫的更新?

一種理想的 FAQ 庫構建的流程應該是:從客服的直接對話出發,提取出與產品相關的問題,計算問題之間的距離,通過增量聚類的方法把用戶相似的問題聚到一起,最後由運營人員判斷新增的問題能否進入 FAQ 庫,同時將他們的反饋更新給文本匹配模型。


深度文本匹配在智能客服中的應用


圖 5 理想的FAQ 庫構建的流程


語義召回

當 FAQ 庫達到一定規模時,再讓用戶請求的 Query 與 FAQ 庫中的問題一一計算相似度是非常耗時的,而問題召回模塊可以通過某些算法只召回與請求 Query 相關的問題,減少問題相似度模型階段的複雜度。精準召回和核心召回是基於詞彙重合度的檢索方法,它們的侷限是不能召回那些 FAQ 庫中與請求 Query 無詞彙重合,但語義表達是一樣的問題,而語義召回可以解決此類問題。

相似度模型

相似度模型分別計算召回的相關問題與請求 Query 之間的相似度,作為排序模型的特徵之一。需要注意,此處的相似度模型不同於語義召回中的相似度計算,前者更靠近輸出端,對準確率要求高;後者對召回率要求高。因此,這兩個模塊在實現時使用的模型往往不同,在我們的文本匹配引擎中,語義召回使用的是基於表示型的深度文本匹配模型,相似度模型使用的是基於交互型的深度文本匹配模型和其他傳統文本匹配模型的混合模型。

模型更新

智能客服投入線上使用後,用戶 query 可能與某些模型的訓練數據分佈不一致,導致智能客服的響應不理想。因此,十分有必要從收集到的用戶行為數據中挖掘相關知識,並更新相關模型。

▌三、深度文本匹配在智能客服中的應用

1. 為什麼使用深度文本匹配

問題聚類、語義召回和相似度模型都可以歸結為文本匹配問題。傳統智能客服在這些模塊中使用的是傳統文本匹配方法,不可避免地會遇到詞義侷限、結構侷限和知識侷限等問題;加上傳統文本匹配方法多是無監督的學習方法,那麼由這些方法訓練的模型就無法利用運營人員的反饋和用戶的點擊行為等知識。然而,使用深度文本匹配的方法則可以有效地解決這些弊端。具體改進方面如圖 6 所示。


深度文本匹配在智能客服中的應用


圖 6 深度文本匹配對傳統智能客服的改進


2. 怎麼樣使用深度文本匹配

我們曾在智能客服的不同領域中嘗試過多種深度文本匹配方法,通過業務場景推動技術演進的方式,逐淅形成了一套成熟的文本匹配引擎。我們的文本匹配引擎除了使用傳統的機器學習模型(如話題匹配模型、詞匹配模型、VSM等)外,還使用了基於表示型和基於交互型的深度文本匹配模型。

深度文本匹配模型

  • Representation-based Model


表示型的深度文本匹配模型能抽出句子主成分,將文本序列轉換為向量,因此,在問題聚類模塊,我們使用表示型的深度文本匹配模型對挖掘的問題和 FAQ 庫的問題做預處理,方便後續增量聚類模塊的計算;在語義召回模塊,我們使用表示型的深度文本匹配模型對 FAQ 庫的問題做向量化處理,並建立索引,方便問題召回模塊增加對用戶 query 的召回。另外,我們使用基於 Bi-LSTM 的表示型模型以捕獲句子內的長依賴關係。模型結構如圖 7 所示。


深度文本匹配在智能客服中的應用


圖 7 基於 Bi-LSTM 的表示型模型


  • Iteraction-based Model


我們在相似度模型模塊使用了基於交互型的深度文本匹配模型 MatchPyramid,其原因有三點:

  • 第一點,表示型的深度文本匹配模型對句子表示時容易失去語義焦點和發生語義偏移,而交互型的深度文本匹配模型不存在這種問題,它能很好地把握語義焦點,對上下文重要性進行合理建模。


  • 第二點,在語義召回階段,用戶 query 與召回問題間的語義相似度會作為排序模型的特徵之一,同樣地,相似度模型階段,用戶 query 與召回問題間的另一種語義相似度也會作為排序模型的特徵之一。


  • 第三點,相似度模型需要實時計算,用戶每請求一次,相似度模型就需要計算 n 個句對的相似度,n 是問題召回的個數。而序列型的神經網絡不能並行計算,因此我們選擇了網絡結構是 CNN 的 MatchPyramid 模型。模型結構如圖 8 所示。


深度文本匹配在智能客服中的應用


圖 8 An overview of MatchPyramid on Text Matching


文本匹配引擎

由於自然語言的多樣性,文本匹配問題不是某個單一模型就能解決的,它涉及到的是算法框架的問題。每個模型都有獨到之處,如何利用不同模型的優點去做集成,是任何文本匹配引擎都需要解決的問題。我們的文本匹配引擎融合了傳統文本匹配模型和深度文本匹配模型,具體的框架如圖 9 所示。


深度文本匹配在智能客服中的應用


圖 9 文本匹配引擎的框架


3. 深度智能客服的效果評測

應用上述的文本匹配引擎後,我們為某汽車公司開發的智能客服系統,在測試集上的 precision 達到了 97%;與某壽險公司合作完成的智能客服,其 precision 比 baseline 高出 10 個點。除此之外,在對話系統的音樂領域中,使用深度文本匹配引擎替代模糊匹配後,整體 precision 提高了 10 個點;在通用領域的測試集上,我們的文本匹配引擎也與百度的 SimNet 表現不相上下。

商業用途請與作者聯繫!


分享到:


相關文章: