▌一、深度文本匹配的簡介
1. 文本匹配的價值
文本匹配是自然語言理解中的一個核心問題,它可以應(yīng)用于大量的自然語言處理任務(wù)中,例如信息檢索、問答系統(tǒng)、復(fù)述問題、對話系統(tǒng)、機器翻譯等等。這些自然語言處理任務(wù)在很大程度上都可以抽象成文本匹配問題,比如信息檢索可以歸結(jié)為搜索詞和文檔資源的匹配,問答系統(tǒng)可以歸結(jié)為問題和候選答案的匹配,復(fù)述問題可以歸結(jié)為兩個同義句的匹配,對話系統(tǒng)可以歸結(jié)為前一句對話和回復(fù)的匹配,機器翻譯則可以歸結(jié)為兩種語言的匹配。
2. 深度文本匹配的優(yōu)勢
傳統(tǒng)的文本匹配技術(shù)如圖1中的 BoW、TFIDF、VSM等算法,主要解決詞匯層面的匹配問題,而實際上基于詞匯重合度的匹配算法存在著詞義局限、結(jié)構(gòu)局限和知識局限等問題。
詞義局限:的士和出租車雖然字面上不相似,但實為同一種交通工具;而蘋果在不同的語境下表示的東西不同,或為水果或為公司;
結(jié)構(gòu)局限:機器學(xué)習(xí)和學(xué)習(xí)機器雖詞匯完全重合,但表達的意思不同;
知識局限:秦始皇打 Dota,這句話雖從詞法和句法上看均沒問題,但結(jié)合知識看這句話是不對的。
傳統(tǒng)的文本匹配模型需要基于大量的人工定義和抽取的特征,而這些特征總是根據(jù)特定的任務(wù)(信息檢索或者自動問答)人工設(shè)計的,因此傳統(tǒng)模型在一個任務(wù)上表現(xiàn)很好的特征很難用到其他文本匹配任務(wù)上。而深度學(xué)習(xí)方法可以自動從原始數(shù)據(jù)中抽取特征,省去了大量人工設(shè)計特征的開銷。首先特征的抽取過程是模型的一部分,根據(jù)訓(xùn)練數(shù)據(jù)的不同,可以方便適配到各種文本匹配的任務(wù)當(dāng)中;其次,深度文本匹配模型結(jié)合上詞向量的技術(shù),更好地解決了詞義局限問題;最后得益于神經(jīng)網(wǎng)絡(luò)的層次化特性,深度文本匹配模型也能較好地建模短語匹配的結(jié)構(gòu)性和文本匹配的層次性[1]。
3. 深度文本匹配的發(fā)展路線
圖 1 深度文本匹配的發(fā)展路線
隨著深度學(xué)習(xí)在計算機視覺、語音識別和推薦系統(tǒng)領(lǐng)域中的成功運用,近年來有很多研究致力于將深度神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于自然語言處理任務(wù),以降低特征工程的成本。最早將深度學(xué)習(xí)應(yīng)用于文本匹配的是微軟 Redmond 研究院。2013年微軟 Redmond 研究院發(fā)表了 DSSM [2],當(dāng)時 DSSM 在真實數(shù)據(jù)集上的效果超過了SOTA(State of the Art);為了彌補 DSSM 會丟失上下文的問題,2014年微軟又設(shè)計了CDSSM [3];2016年又相繼發(fā)表了 DSSM-LSTM, MV-DSSM。微軟的 DSSM 及相關(guān)系列模型是深度文本匹配模型中比較有影響力的,據(jù)了解百度、微信和阿里的搜索場景中都有使用。
其他比較有影響的模型有:2014年華為諾亞方舟實驗室提出的 ARC-I和ARC-II [4],2015年斯坦福的 Tree-LSTM [5],2016年 IBM 的 ABCNN [6],中科院的 MatchPyramid [7],2017年朱曉丹的 ESIM[8],2018 年騰訊 MIG 的多信道信息交叉模型 MIX [9]。
一般來說,深度文本匹配模型分為兩種類型,表示型和交互型。表示型模型更側(cè)重對表示層的構(gòu)建,它會在表示層將文本轉(zhuǎn)換成唯一的一個整體表示向量。典型的網(wǎng)絡(luò)結(jié)構(gòu)有 DSSM、CDSMM 和 ARC-I。這種模型的核心問題是得到的句子表示失去語義焦點,容易發(fā)生語義偏移,詞的上下文重要性難以衡量。交互型模型摒棄后匹配的思路,假設(shè)全局的匹配度依賴于局部的匹配度,在輸入層就進行詞語間的先匹配,并將匹配的結(jié)果作為灰度圖進行后續(xù)的建模。典型的網(wǎng)絡(luò)結(jié)構(gòu)有 ARC-II、DeepMatch 和 MatchPyramid。它的優(yōu)勢是可以很好的把握語義焦點,對上下文重要性合理建模。由于模型效果顯著,業(yè)界都在逐漸嘗試交互型的方法。
圖 2 深度文本匹配模型的類型
▌二、智能客服的簡介
1. 智能客服的應(yīng)用背景
由于人工客服在響應(yīng)時間、服務(wù)時間和業(yè)務(wù)知識等方面的局限性,有必要研發(fā)智能客服系統(tǒng),使其通過智能化的手段來輔助人工客服為用戶服務(wù)。智能客服與人工客服的優(yōu)劣勢對比如圖 4 所示。
圖 3 智能客服與人工客服的優(yōu)劣勢對比
2. 智能客服的核心模塊
智能客服的一般框架如圖 5 所示:當(dāng)有 Query 請求時,首先對 Query 進行補全、解析和需求理解;其次,問題召回模塊通過精準召回、核心召回和語義召回從 FAQ 庫召回與 Query 相關(guān)的問題;接著,問題排序模塊通過 CTR 模型和相似度模型對召回的問題進行排序,選出 Top k 返回給用戶;最后,反饋系統(tǒng)記錄用戶的點擊行為等,對模型進行更新。具體哪些模型會被更新,與語義召回和相似度模型階段使用的算法有關(guān)。
圖 4 智能客服的一般框架
在智能客服的框架中,最重要的模塊是 FAQ 庫的構(gòu)建、語義召回、相似度模型和模型更新,它們性能的好壞對用戶的使用體驗有很大影響。
FAQ 庫的構(gòu)建
對于重視用戶體驗的客服系統(tǒng)來說,F(xiàn)AQ 庫的構(gòu)建是非常嚴格的,它的內(nèi)容需要非常完整和標準,不能像聊天機器人那樣可以插科打諢。一般的做法是將積累的 FAQ ,或是將場景相關(guān)的設(shè)計文檔、PRD文檔中的相應(yīng)內(nèi)容整理成 FAQ,添加到 FAQ 庫中。日常的維護就是運營人員根據(jù)線上用戶的提問做總結(jié),把相應(yīng)的問題和答案加入 FAQ 庫。不難想像,隨著用戶量的增加,用戶的問題種類五花八門,問法多種多樣,這種維護方式肯定會給運營帶來很大的壓力,也會給用戶帶來糟糕的體驗。那么,有沒有什么自動或是半自動的方法可以解決新問題的挖掘和 FAQ 庫的更新?
一種理想的 FAQ 庫構(gòu)建的流程應(yīng)該是:從客服的直接對話出發(fā),提取出與產(chǎn)品相關(guān)的問題,計算問題之間的距離,通過增量聚類的方法把用戶相似的問題聚到一起,最后由運營人員判斷新增的問題能否進入 FAQ 庫,同時將他們的反饋更新給文本匹配模型。
圖 5 理想的FAQ 庫構(gòu)建的流程
語義召回
當(dāng) FAQ 庫達到一定規(guī)模時,再讓用戶請求的 Query 與 FAQ 庫中的問題一一計算相似度是非常耗時的,而問題召回模塊可以通過某些算法只召回與請求 Query 相關(guān)的問題,減少問題相似度模型階段的復(fù)雜度。精準召回和核心召回是基于詞匯重合度的檢索方法,它們的局限是不能召回那些 FAQ 庫中與請求 Query 無詞匯重合,但語義表達是一樣的問題,而語義召回可以解決此類問題。
相似度模型
相似度模型分別計算召回的相關(guān)問題與請求 Query 之間的相似度,作為排序模型的特征之一。需要注意,此處的相似度模型不同于語義召回中的相似度計算,前者更靠近輸出端,對準確率要求高;后者對召回率要求高。因此,這兩個模塊在實現(xiàn)時使用的模型往往不同,在我們的文本匹配引擎中,語義召回使用的是基于表示型的深度文本匹配模型,相似度模型使用的是基于交互型的深度文本匹配模型和其他傳統(tǒng)文本匹配模型的混合模型。
模型更新
智能客服投入線上使用后,用戶 query 可能與某些模型的訓(xùn)練數(shù)據(jù)分布不一致,導(dǎo)致智能客服的響應(yīng)不理想。因此,十分有必要從收集到的用戶行為數(shù)據(jù)中挖掘相關(guān)知識,并更新相關(guān)模型。
▌三、深度文本匹配在智能客服中的應(yīng)用
1. 為什么使用深度文本匹配
問題聚類、語義召回和相似度模型都可以歸結(jié)為文本匹配問題。傳統(tǒng)智能客服在這些模塊中使用的是傳統(tǒng)文本匹配方法,不可避免地會遇到詞義局限、結(jié)構(gòu)局限和知識局限等問題;加上傳統(tǒng)文本匹配方法多是無監(jiān)督的學(xué)習(xí)方法,那么由這些方法訓(xùn)練的模型就無法利用運營人員的反饋和用戶的點擊行為等知識。然而,使用深度文本匹配的方法則可以有效地解決這些弊端。具體改進方面如圖 6 所示。
圖 6 深度文本匹配對傳統(tǒng)智能客服的改進
2. 怎么樣使用深度文本匹配
我們曾在智能客服的不同領(lǐng)域中嘗試過多種深度文本匹配方法,通過業(yè)務(wù)場景推動技術(shù)演進的方式,逐淅形成了一套成熟的文本匹配引擎。我們的文本匹配引擎除了使用傳統(tǒng)的機器學(xué)習(xí)模型(如話題匹配模型、詞匹配模型、VSM等)外,還使用了基于表示型和基于交互型的深度文本匹配模型。
深度文本匹配模型
Representation-based Model
表示型的深度文本匹配模型能抽出句子主成分,將文本序列轉(zhuǎn)換為向量,因此,在問題聚類模塊,我們使用表示型的深度文本匹配模型對挖掘的問題和 FAQ 庫的問題做預(yù)處理,方便后續(xù)增量聚類模塊的計算;在語義召回模塊,我們使用表示型的深度文本匹配模型對 FAQ 庫的問題做向量化處理,并建立索引,方便問題召回模塊增加對用戶 query 的召回。另外,我們使用基于 Bi-LSTM 的表示型模型以捕獲句子內(nèi)的長依賴關(guān)系。模型結(jié)構(gòu)如圖 7 所示。
圖 7 基于 Bi-LSTM 的表示型模型
我們在相似度模型模塊使用了基于交互型的深度文本匹配模型 MatchPyramid,其原因有三點:
第一點,表示型的深度文本匹配模型對句子表示時容易失去語義焦點和發(fā)生語義偏移,而交互型的深度文本匹配模型不存在這種問題,它能很好地把握語義焦點,對上下文重要性進行合理建模。
第二點,在語義召回階段,用戶 query 與召回問題間的語義相似度會作為排序模型的特征之一,同樣地,相似度模型階段,用戶 query 與召回問題間的另一種語義相似度也會作為排序模型的特征之一。
第三點,相似度模型需要實時計算,用戶每請求一次,相似度模型就需要計算 n 個句對的相似度,n 是問題召回的個數(shù)。而序列型的神經(jīng)網(wǎng)絡(luò)不能并行計算,因此我們選擇了網(wǎng)絡(luò)結(jié)構(gòu)是 CNN 的 MatchPyramid 模型。模型結(jié)構(gòu)如圖 8 所示。
圖 8 An overview of MatchPyramid on Text Matching
文本匹配引擎
由于自然語言的多樣性,文本匹配問題不是某個單一模型就能解決的,它涉及到的是算法框架的問題。每個模型都有獨到之處,如何利用不同模型的優(yōu)點去做集成,是任何文本匹配引擎都需要解決的問題。我們的文本匹配引擎融合了傳統(tǒng)文本匹配模型和深度文本匹配模型,具體的框架如圖 9 所示。
圖 9 文本匹配引擎的框架
3. 深度智能客服的效果評測
應(yīng)用上述的文本匹配引擎后,我們?yōu)槟称嚬鹃_發(fā)的智能客服系統(tǒng),在測試集上的 precision 達到了 97%;與某壽險公司合作完成的智能客服,其 precision 比 baseline 高出 10 個點。除此之外,在對話系統(tǒng)的音樂領(lǐng)域中,使用深度文本匹配引擎替代模糊匹配后,整體 precision 提高了 10 個點;在通用領(lǐng)域的測試集上,我們的文本匹配引擎也與百度的 SimNet 表現(xiàn)不相上下。
-
計算機視覺
+關(guān)注
關(guān)注
8文章
1699瀏覽量
46056 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8430瀏覽量
132858 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5511瀏覽量
121356
原文標題:深度文本匹配在智能客服中的應(yīng)用
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論