▌一、深度文本匹配的簡(jiǎn)介
1. 文本匹配的價(jià)值
文本匹配是自然語(yǔ)言理解中的一個(gè)核心問(wèn)題,它可以應(yīng)用于大量的自然語(yǔ)言處理任務(wù)中,例如信息檢索、問(wèn)答系統(tǒng)、復(fù)述問(wèn)題、對(duì)話(huà)系統(tǒng)、機(jī)器翻譯等等。這些自然語(yǔ)言處理任務(wù)在很大程度上都可以抽象成文本匹配問(wèn)題,比如信息檢索可以歸結(jié)為搜索詞和文檔資源的匹配,問(wèn)答系統(tǒng)可以歸結(jié)為問(wèn)題和候選答案的匹配,復(fù)述問(wèn)題可以歸結(jié)為兩個(gè)同義句的匹配,對(duì)話(huà)系統(tǒng)可以歸結(jié)為前一句對(duì)話(huà)和回復(fù)的匹配,機(jī)器翻譯則可以歸結(jié)為兩種語(yǔ)言的匹配。
2. 深度文本匹配的優(yōu)勢(shì)
傳統(tǒng)的文本匹配技術(shù)如圖1中的 BoW、TFIDF、VSM等算法,主要解決詞匯層面的匹配問(wèn)題,而實(shí)際上基于詞匯重合度的匹配算法存在著詞義局限、結(jié)構(gòu)局限和知識(shí)局限等問(wèn)題。
詞義局限:的士和出租車(chē)雖然字面上不相似,但實(shí)為同一種交通工具;而蘋(píng)果在不同的語(yǔ)境下表示的東西不同,或?yàn)樗驗(yàn)楣荆?/p>
結(jié)構(gòu)局限:機(jī)器學(xué)習(xí)和學(xué)習(xí)機(jī)器雖詞匯完全重合,但表達(dá)的意思不同;
知識(shí)局限:秦始皇打 Dota,這句話(huà)雖從詞法和句法上看均沒(méi)問(wèn)題,但結(jié)合知識(shí)看這句話(huà)是不對(duì)的。
傳統(tǒng)的文本匹配模型需要基于大量的人工定義和抽取的特征,而這些特征總是根據(jù)特定的任務(wù)(信息檢索或者自動(dòng)問(wèn)答)人工設(shè)計(jì)的,因此傳統(tǒng)模型在一個(gè)任務(wù)上表現(xiàn)很好的特征很難用到其他文本匹配任務(wù)上。而深度學(xué)習(xí)方法可以自動(dòng)從原始數(shù)據(jù)中抽取特征,省去了大量人工設(shè)計(jì)特征的開(kāi)銷(xiāo)。首先特征的抽取過(guò)程是模型的一部分,根據(jù)訓(xùn)練數(shù)據(jù)的不同,可以方便適配到各種文本匹配的任務(wù)當(dāng)中;其次,深度文本匹配模型結(jié)合上詞向量的技術(shù),更好地解決了詞義局限問(wèn)題;最后得益于神經(jīng)網(wǎng)絡(luò)的層次化特性,深度文本匹配模型也能較好地建模短語(yǔ)匹配的結(jié)構(gòu)性和文本匹配的層次性[1]。
3. 深度文本匹配的發(fā)展路線(xiàn)
圖 1 深度文本匹配的發(fā)展路線(xiàn)
隨著深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別和推薦系統(tǒng)領(lǐng)域中的成功運(yùn)用,近年來(lái)有很多研究致力于將深度神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于自然語(yǔ)言處理任務(wù),以降低特征工程的成本。最早將深度學(xué)習(xí)應(yīng)用于文本匹配的是微軟 Redmond 研究院。2013年微軟 Redmond 研究院發(fā)表了 DSSM [2],當(dāng)時(shí) DSSM 在真實(shí)數(shù)據(jù)集上的效果超過(guò)了SOTA(State of the Art);為了彌補(bǔ) DSSM 會(huì)丟失上下文的問(wèn)題,2014年微軟又設(shè)計(jì)了CDSSM [3];2016年又相繼發(fā)表了 DSSM-LSTM, MV-DSSM。微軟的 DSSM 及相關(guān)系列模型是深度文本匹配模型中比較有影響力的,據(jù)了解百度、微信和阿里的搜索場(chǎng)景中都有使用。
其他比較有影響的模型有:2014年華為諾亞方舟實(shí)驗(yàn)室提出的 ARC-I和ARC-II [4],2015年斯坦福的 Tree-LSTM [5],2016年 IBM 的 ABCNN [6],中科院的 MatchPyramid [7],2017年朱曉丹的 ESIM[8],2018 年騰訊 MIG 的多信道信息交叉模型 MIX [9]。
一般來(lái)說(shuō),深度文本匹配模型分為兩種類(lèi)型,表示型和交互型。表示型模型更側(cè)重對(duì)表示層的構(gòu)建,它會(huì)在表示層將文本轉(zhuǎn)換成唯一的一個(gè)整體表示向量。典型的網(wǎng)絡(luò)結(jié)構(gòu)有 DSSM、CDSMM 和 ARC-I。這種模型的核心問(wèn)題是得到的句子表示失去語(yǔ)義焦點(diǎn),容易發(fā)生語(yǔ)義偏移,詞的上下文重要性難以衡量。交互型模型摒棄后匹配的思路,假設(shè)全局的匹配度依賴(lài)于局部的匹配度,在輸入層就進(jìn)行詞語(yǔ)間的先匹配,并將匹配的結(jié)果作為灰度圖進(jìn)行后續(xù)的建模。典型的網(wǎng)絡(luò)結(jié)構(gòu)有 ARC-II、DeepMatch 和 MatchPyramid。它的優(yōu)勢(shì)是可以很好的把握語(yǔ)義焦點(diǎn),對(duì)上下文重要性合理建模。由于模型效果顯著,業(yè)界都在逐漸嘗試交互型的方法。

圖 2 深度文本匹配模型的類(lèi)型
▌二、智能客服的簡(jiǎn)介
1. 智能客服的應(yīng)用背景
由于人工客服在響應(yīng)時(shí)間、服務(wù)時(shí)間和業(yè)務(wù)知識(shí)等方面的局限性,有必要研發(fā)智能客服系統(tǒng),使其通過(guò)智能化的手段來(lái)輔助人工客服為用戶(hù)服務(wù)。智能客服與人工客服的優(yōu)劣勢(shì)對(duì)比如圖 4 所示。
圖 3 智能客服與人工客服的優(yōu)劣勢(shì)對(duì)比
2. 智能客服的核心模塊
智能客服的一般框架如圖 5 所示:當(dāng)有 Query 請(qǐng)求時(shí),首先對(duì) Query 進(jìn)行補(bǔ)全、解析和需求理解;其次,問(wèn)題召回模塊通過(guò)精準(zhǔn)召回、核心召回和語(yǔ)義召回從 FAQ 庫(kù)召回與 Query 相關(guān)的問(wèn)題;接著,問(wèn)題排序模塊通過(guò) CTR 模型和相似度模型對(duì)召回的問(wèn)題進(jìn)行排序,選出 Top k 返回給用戶(hù);最后,反饋系統(tǒng)記錄用戶(hù)的點(diǎn)擊行為等,對(duì)模型進(jìn)行更新。具體哪些模型會(huì)被更新,與語(yǔ)義召回和相似度模型階段使用的算法有關(guān)。
圖 4 智能客服的一般框架
在智能客服的框架中,最重要的模塊是 FAQ 庫(kù)的構(gòu)建、語(yǔ)義召回、相似度模型和模型更新,它們性能的好壞對(duì)用戶(hù)的使用體驗(yàn)有很大影響。
FAQ 庫(kù)的構(gòu)建
對(duì)于重視用戶(hù)體驗(yàn)的客服系統(tǒng)來(lái)說(shuō),F(xiàn)AQ 庫(kù)的構(gòu)建是非常嚴(yán)格的,它的內(nèi)容需要非常完整和標(biāo)準(zhǔn),不能像聊天機(jī)器人那樣可以插科打諢。一般的做法是將積累的 FAQ ,或是將場(chǎng)景相關(guān)的設(shè)計(jì)文檔、PRD文檔中的相應(yīng)內(nèi)容整理成 FAQ,添加到 FAQ 庫(kù)中。日常的維護(hù)就是運(yùn)營(yíng)人員根據(jù)線(xiàn)上用戶(hù)的提問(wèn)做總結(jié),把相應(yīng)的問(wèn)題和答案加入 FAQ 庫(kù)。不難想像,隨著用戶(hù)量的增加,用戶(hù)的問(wèn)題種類(lèi)五花八門(mén),問(wèn)法多種多樣,這種維護(hù)方式肯定會(huì)給運(yùn)營(yíng)帶來(lái)很大的壓力,也會(huì)給用戶(hù)帶來(lái)糟糕的體驗(yàn)。那么,有沒(méi)有什么自動(dòng)或是半自動(dòng)的方法可以解決新問(wèn)題的挖掘和 FAQ 庫(kù)的更新?
一種理想的 FAQ 庫(kù)構(gòu)建的流程應(yīng)該是:從客服的直接對(duì)話(huà)出發(fā),提取出與產(chǎn)品相關(guān)的問(wèn)題,計(jì)算問(wèn)題之間的距離,通過(guò)增量聚類(lèi)的方法把用戶(hù)相似的問(wèn)題聚到一起,最后由運(yùn)營(yíng)人員判斷新增的問(wèn)題能否進(jìn)入 FAQ 庫(kù),同時(shí)將他們的反饋更新給文本匹配模型。
圖 5 理想的FAQ 庫(kù)構(gòu)建的流程
語(yǔ)義召回
當(dāng) FAQ 庫(kù)達(dá)到一定規(guī)模時(shí),再讓用戶(hù)請(qǐng)求的 Query 與 FAQ 庫(kù)中的問(wèn)題一一計(jì)算相似度是非常耗時(shí)的,而問(wèn)題召回模塊可以通過(guò)某些算法只召回與請(qǐng)求 Query 相關(guān)的問(wèn)題,減少問(wèn)題相似度模型階段的復(fù)雜度。精準(zhǔn)召回和核心召回是基于詞匯重合度的檢索方法,它們的局限是不能召回那些 FAQ 庫(kù)中與請(qǐng)求 Query 無(wú)詞匯重合,但語(yǔ)義表達(dá)是一樣的問(wèn)題,而語(yǔ)義召回可以解決此類(lèi)問(wèn)題。
相似度模型
相似度模型分別計(jì)算召回的相關(guān)問(wèn)題與請(qǐng)求 Query 之間的相似度,作為排序模型的特征之一。需要注意,此處的相似度模型不同于語(yǔ)義召回中的相似度計(jì)算,前者更靠近輸出端,對(duì)準(zhǔn)確率要求高;后者對(duì)召回率要求高。因此,這兩個(gè)模塊在實(shí)現(xiàn)時(shí)使用的模型往往不同,在我們的文本匹配引擎中,語(yǔ)義召回使用的是基于表示型的深度文本匹配模型,相似度模型使用的是基于交互型的深度文本匹配模型和其他傳統(tǒng)文本匹配模型的混合模型。
模型更新
智能客服投入線(xiàn)上使用后,用戶(hù) query 可能與某些模型的訓(xùn)練數(shù)據(jù)分布不一致,導(dǎo)致智能客服的響應(yīng)不理想。因此,十分有必要從收集到的用戶(hù)行為數(shù)據(jù)中挖掘相關(guān)知識(shí),并更新相關(guān)模型。
▌三、深度文本匹配在智能客服中的應(yīng)用
1. 為什么使用深度文本匹配
問(wèn)題聚類(lèi)、語(yǔ)義召回和相似度模型都可以歸結(jié)為文本匹配問(wèn)題。傳統(tǒng)智能客服在這些模塊中使用的是傳統(tǒng)文本匹配方法,不可避免地會(huì)遇到詞義局限、結(jié)構(gòu)局限和知識(shí)局限等問(wèn)題;加上傳統(tǒng)文本匹配方法多是無(wú)監(jiān)督的學(xué)習(xí)方法,那么由這些方法訓(xùn)練的模型就無(wú)法利用運(yùn)營(yíng)人員的反饋和用戶(hù)的點(diǎn)擊行為等知識(shí)。然而,使用深度文本匹配的方法則可以有效地解決這些弊端。具體改進(jìn)方面如圖 6 所示。

圖 6 深度文本匹配對(duì)傳統(tǒng)智能客服的改進(jìn)
2. 怎么樣使用深度文本匹配
我們?cè)谥悄芸头牟煌I(lǐng)域中嘗試過(guò)多種深度文本匹配方法,通過(guò)業(yè)務(wù)場(chǎng)景推動(dòng)技術(shù)演進(jìn)的方式,逐淅形成了一套成熟的文本匹配引擎。我們的文本匹配引擎除了使用傳統(tǒng)的機(jī)器學(xué)習(xí)模型(如話(huà)題匹配模型、詞匹配模型、VSM等)外,還使用了基于表示型和基于交互型的深度文本匹配模型。
深度文本匹配模型
Representation-based Model
表示型的深度文本匹配模型能抽出句子主成分,將文本序列轉(zhuǎn)換為向量,因此,在問(wèn)題聚類(lèi)模塊,我們使用表示型的深度文本匹配模型對(duì)挖掘的問(wèn)題和 FAQ 庫(kù)的問(wèn)題做預(yù)處理,方便后續(xù)增量聚類(lèi)模塊的計(jì)算;在語(yǔ)義召回模塊,我們使用表示型的深度文本匹配模型對(duì) FAQ 庫(kù)的問(wèn)題做向量化處理,并建立索引,方便問(wèn)題召回模塊增加對(duì)用戶(hù) query 的召回。另外,我們使用基于 Bi-LSTM 的表示型模型以捕獲句子內(nèi)的長(zhǎng)依賴(lài)關(guān)系。模型結(jié)構(gòu)如圖 7 所示。
圖 7 基于 Bi-LSTM 的表示型模型
我們?cè)谙嗨贫饶P湍K使用了基于交互型的深度文本匹配模型 MatchPyramid,其原因有三點(diǎn):
第一點(diǎn),表示型的深度文本匹配模型對(duì)句子表示時(shí)容易失去語(yǔ)義焦點(diǎn)和發(fā)生語(yǔ)義偏移,而交互型的深度文本匹配模型不存在這種問(wèn)題,它能很好地把握語(yǔ)義焦點(diǎn),對(duì)上下文重要性進(jìn)行合理建模。
第二點(diǎn),在語(yǔ)義召回階段,用戶(hù) query 與召回問(wèn)題間的語(yǔ)義相似度會(huì)作為排序模型的特征之一,同樣地,相似度模型階段,用戶(hù) query 與召回問(wèn)題間的另一種語(yǔ)義相似度也會(huì)作為排序模型的特征之一。
第三點(diǎn),相似度模型需要實(shí)時(shí)計(jì)算,用戶(hù)每請(qǐng)求一次,相似度模型就需要計(jì)算 n 個(gè)句對(duì)的相似度,n 是問(wèn)題召回的個(gè)數(shù)。而序列型的神經(jīng)網(wǎng)絡(luò)不能并行計(jì)算,因此我們選擇了網(wǎng)絡(luò)結(jié)構(gòu)是 CNN 的 MatchPyramid 模型。模型結(jié)構(gòu)如圖 8 所示。

圖 8 An overview of MatchPyramid on Text Matching
文本匹配引擎
由于自然語(yǔ)言的多樣性,文本匹配問(wèn)題不是某個(gè)單一模型就能解決的,它涉及到的是算法框架的問(wèn)題。每個(gè)模型都有獨(dú)到之處,如何利用不同模型的優(yōu)點(diǎn)去做集成,是任何文本匹配引擎都需要解決的問(wèn)題。我們的文本匹配引擎融合了傳統(tǒng)文本匹配模型和深度文本匹配模型,具體的框架如圖 9 所示。

圖 9 文本匹配引擎的框架
3. 深度智能客服的效果評(píng)測(cè)
應(yīng)用上述的文本匹配引擎后,我們?yōu)槟称?chē)公司開(kāi)發(fā)的智能客服系統(tǒng),在測(cè)試集上的 precision 達(dá)到了 97%;與某壽險(xiǎn)公司合作完成的智能客服,其 precision 比 baseline 高出 10 個(gè)點(diǎn)。除此之外,在對(duì)話(huà)系統(tǒng)的音樂(lè)領(lǐng)域中,使用深度文本匹配引擎替代模糊匹配后,整體 precision 提高了 10 個(gè)點(diǎn);在通用領(lǐng)域的測(cè)試集上,我們的文本匹配引擎也與百度的 SimNet 表現(xiàn)不相上下。
-
計(jì)算機(jī)視覺(jué)
+關(guān)注
關(guān)注
9文章
1715瀏覽量
47712 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
67文章
8562瀏覽量
137208 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5604瀏覽量
124615
原文標(biāo)題:深度文本匹配在智能客服中的應(yīng)用
文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
【智能檢測(cè)】基于AI深度學(xué)習(xí)與飛拍技術(shù)的影像測(cè)量系統(tǒng):實(shí)現(xiàn)高效精準(zhǔn)的全自動(dòng)光學(xué)檢測(cè)與智能制造數(shù)據(jù)閉環(huán)
Linux Shell文本處理神器合集:15個(gè)工具+實(shí)戰(zhàn)例子,效率直接翻倍
探索LTC6602:高性能雙匹配濾波器的卓越之選
電子工程師必看:LTC6605-10雙匹配10MHz濾波器深度剖析
詳解DBC的Signal與JSON文本結(jié)合
燧原科技與浩瀚深度簽署戰(zhàn)略合作協(xié)議
如何為EliteSiC匹配柵極驅(qū)動(dòng)器
深度學(xué)習(xí)對(duì)工業(yè)物聯(lián)網(wǎng)有哪些幫助
自動(dòng)駕駛中Transformer大模型會(huì)取代深度學(xué)習(xí)嗎?
毫米之間定成?。篜CB背鉆深度設(shè)計(jì)與生產(chǎn)如何精準(zhǔn)把控
飛書(shū)富文本組件庫(kù)RichTextVista開(kāi)源
飛書(shū)開(kāi)源“RTV”富文本組件 重塑鴻蒙應(yīng)用富文本渲染體驗(yàn)
雙工不匹配如何修復(fù)它
存儲(chǔ)示波器的存儲(chǔ)深度對(duì)信號(hào)分析有什么影響?
基于LockAI視覺(jué)識(shí)別模塊:C++多模板匹配
深度文本匹配的簡(jiǎn)介,深度文本匹配在智能客服中的應(yīng)用
評(píng)論