趙 寧,徐俊利,徐洋航,薛 超,譚乃瑜
(1.中移在線服務(wù)有限公司 人工智能與大數(shù)據(jù)應(yīng)用中心,河南 鄭州 450001;2.北京理工大學(xué) 計算機學(xué)院,北京 100081)
隨著計算機信息抽取技術(shù)的發(fā)展,如何從海量數(shù)據(jù)中挖掘有價值的信息成為人們關(guān)注的重點問題。尤其是在移動客服領(lǐng)域,如何利用機器學(xué)習、深度學(xué)習等技術(shù)從大量的客戶來電內(nèi)容中自動挖掘客戶來電的意圖信息,對于提高服務(wù)質(zhì)量、減少人工分析代價具有重要意義?,F(xiàn)有的語音搜索[1]、自動問答[2]等領(lǐng)域的意圖識別研究已取得較好成果,但是這些研究大都是針對特定的簡單場景進行意圖識別,且具有領(lǐng)域獨特性,并不能直接應(yīng)用于移動客服領(lǐng)域的意圖識別研究。目前針對移動客服領(lǐng)域的意圖識別研究很少,Xu等[3]基于移動客服領(lǐng)域的投訴工單數(shù)據(jù),構(gòu)建了移動客服領(lǐng)域投訴工單分類語料庫,為投訴工單分類研究提供了統(tǒng)一資源。徐俊利等[4]基于移動客服領(lǐng)域的投訴工單,結(jié)合K-means算法確定營銷工單分類標簽數(shù),構(gòu)建了營銷活動工單分類語料,并在自己構(gòu)建的語料基礎(chǔ)上,采用深度學(xué)習模型進行投訴工單的分類研究,F(xiàn)1值最高達67.70%。然而這些研究都是基于不包含語音轉(zhuǎn)寫錯誤的規(guī)范工單文本數(shù)據(jù),圖1是不含語音轉(zhuǎn)寫錯誤的規(guī)范文本樣例示意圖,尚沒有針對包含語音轉(zhuǎn)寫錯誤的不規(guī)范文本的客戶來電內(nèi)容進行意圖分析的相關(guān)研究,圖2是包含語音轉(zhuǎn)寫錯誤的不規(guī)范文本樣例。
圖1 不含語音轉(zhuǎn)寫錯誤的規(guī)范文本樣例
圖2 包含語音轉(zhuǎn)寫錯誤的不規(guī)范文本示例
客戶來電意圖識別是指識別出客戶來電內(nèi)容所屬的問題標簽類別,移動客服領(lǐng)域的客戶來電意圖標簽共有45種,例如“業(yè)務(wù)資費”。圖3是客戶來電意圖識別分類的一個樣例,從圖3可以看出,“我想問一下現(xiàn)在那個流量包的話有什么資費呀”是客戶來電內(nèi)容,“業(yè)務(wù)資費”是客戶來電意圖識別結(jié)果,表示客戶咨詢的是業(yè)務(wù)資費方面的信息。
圖3 客戶來電意圖識別分類樣例示意圖
現(xiàn)有客戶來電意圖分析大都采用人工統(tǒng)計分析方法,尚沒有采用機器學(xué)習等自動分類統(tǒng)計分析的方法,人工分析方式費時費力且準確率低??蛻魜黼娨鈭D識別是典型的多分類問題,目前對于分類問題,主要有基于規(guī)則和基于機器學(xué)習兩種方法?;谝?guī)則的方法是利用專家知識和上下文信息,人工制定規(guī)則進行意圖識別,這種方法簡單準確,但是可移植性和擴展性較差?;跈C器學(xué)習的方法將意圖識別看成一個分類任務(wù),根據(jù)上下文語境設(shè)計特征,學(xué)習輸入序列的淺層語義信息,達到識別客戶來電意圖的目的,該方法比基于規(guī)則的方法更具靈活性,常用的機器學(xué)習分類模型有K近鄰(K-nearest neighbors,KNN)[5]、樸素貝葉斯(naive bayes,NB)[6]、支持向量機(support vector machine,SVM)[7]等?;跈C器學(xué)習的方法雖提升了召回率,但是需要根據(jù)領(lǐng)域知識和經(jīng)驗,人工設(shè)計特征,并且特征表示均采用獨熱(one-hot)的高維稀疏表示方法,難以捕捉深層次的語義信息。
隨著深度學(xué)習技術(shù)的發(fā)展,深度學(xué)習模型在各種自然語言處理任務(wù)中得到應(yīng)用。深度學(xué)習模型不需要繁瑣的特征工程設(shè)計,能夠利用多層神經(jīng)網(wǎng)絡(luò)自動構(gòu)建和學(xué)習數(shù)據(jù)的深層次抽象特征表示,有效挖掘輸入序列的深層語義信息,在語義信息的表達上,深度學(xué)習模型比傳統(tǒng)機器學(xué)習方法更具優(yōu)勢。代表性的深度學(xué)習模型有卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)模型[8]和長短期記憶神經(jīng)網(wǎng)絡(luò)(long short term memory networks,LSTM)模型[9]。CNN模型能以連續(xù)的n個詞作為基本單位建立句子表示,從而捕捉到序列最明顯的特征,在多分類任務(wù)中比其他深度學(xué)習模型更具優(yōu)勢。LSTM模型通過獨特的“門”機制控制輸入序列信息的記憶和更新,從而自動挖掘文本內(nèi)容的深層語義信息。CNN和LSTM模型雖能夠?qū)W習到詞語或句子間的語義信息,但是特征提取能力稍弱,且無法考慮到不同詞語對句子影響程度不一致的問題。近年來,研究人員通過預(yù)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)作為語言模型,然后針對特定任務(wù)采用微調(diào)的方式取得了很好的效果。2018年Devlin等[10]提出了來自 Transformer 的雙向編碼器表示(bidirectional encoder representations from transformers,BERT)模型。BERT模型采用語義表示能力更強的雙向Transformers網(wǎng)絡(luò)結(jié)構(gòu)作為特征提取器,本質(zhì)上是學(xué)習自然語言處理領(lǐng)域最底層的語言表示模型,通過海量語料,聯(lián)合調(diào)節(jié)所有層中的左右上下文來預(yù)訓(xùn)練深度雙向表示,從而得到序列當前最全面的局部和全局特征表示,并應(yīng)用于各種分類任務(wù)中。
為學(xué)習更好的客戶來電內(nèi)容語義表示,挖掘更深層的語義信息,提高意圖識別的準確性,減少人工分析代價,本文基于移動客服領(lǐng)域的客戶來電內(nèi)容,分別采用基于傳統(tǒng)機器學(xué)習、基于單/多深度學(xué)習模型的方法(多深度學(xué)習模型是指基于CNN和BiLSTM模型的多種組合方式模型)、基于BERT和深度學(xué)習模型組合的方法進行客戶來電意圖識別分類研究。
本文的創(chuàng)新之處在于: ①采用基于機器學(xué)習方法、基于單/多深度學(xué)習模型的方法、基于BERT和深度學(xué)習模型組合的方法自動識別客戶來電意圖,減少人工分析代價。②創(chuàng)新性地將BERT和深度學(xué)習模型組合的方法應(yīng)用于移動客服領(lǐng)域的客戶來電意圖識別,有效提升了客戶來電意圖分類效果,準確率、召回率和F1值最高分別達到89.52%、83.31%和86.30%。
本文組織結(jié)構(gòu)如下: 第1節(jié)闡述了相關(guān)理論,分別從CNN、LSTM、BERT三個方面進行介紹;第2節(jié)介紹客戶來電意圖識別方法;第3節(jié)是客戶來電意圖識別實驗分析;第4節(jié)是結(jié)論與展望。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)最早由Hubel和Wiesel在研究貓視覺皮層細胞時提出[11]。CNN采用多隱層堆疊、每一層對上一層的輸出進行處理的機制,將初始的“低層”特征表示轉(zhuǎn)化成“高層”的特征表示來學(xué)習輸入序列的深層語義信息。CNN在語音識別、圖像分析等領(lǐng)域得到廣泛應(yīng)用。圖4是CNN示意圖,CNN模型的實現(xiàn)過程如下: 輸入信號與三個濾波器及偏置進行卷積,在C1層產(chǎn)生三個特征映射圖,然后對特征映射圖中每組的四個像素進行求和、加權(quán)值和偏置,通過一個激活函數(shù)Sigmoid得到三個S2層的特征映射圖。再對這些映射圖進行濾波,得到C3層。這個層級結(jié)構(gòu)再和S2一樣產(chǎn)生S4。最終將得到的向量輸入到隱層,在輸出層得到目標輸出。
圖4 CNN示意圖
LSTM是Hochreiter和Schmidhube在1997年為解決遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)的梯度彌散或消失的問題[12]而提出的。LSTM記憶單元能夠在學(xué)習過程中記住序列的歷史信息,捕獲整個序列的語義信息。信息的記憶和更新是由輸入門、遺忘門和輸出門來完成的。單向LSTM模型可以學(xué)習序列的歷史信息,但是不能學(xué)習序列的未來信息。為充分利用歷史信息和未來信息,更全面地挖掘序列的深層語義信息,生成更好的序列語義表示,人們提出了雙向LSTM(bi-directional long Short term memory,BiLSTM)[13]。BiLSTM使用兩個獨立的隱層單元雙向處理序列,以達到挖掘序列歷史和未來深層語義信息的目的。最后,兩個隱層的結(jié)果通過拼接方式被輸入到同一個輸出層。圖5是BiLSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),圖中方塊代表LSTM記憶單元,圓圈代表輸入序列。
圖5 BiLSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
(1)
其中,W表示權(quán)重矩陣,by表示偏置。
BERT模型的全稱是bidirectional encoder representations from transformers,BERT預(yù)訓(xùn)練語言模型是通過海量語料學(xué)習得到的,其本質(zhì)上是通過上下文計算字的向量表示,能夠表征字的多義性,增強了句子的語義表示能力。圖6是BERT和Transformer編碼單元結(jié)構(gòu)示意圖。為了融合字左右兩側(cè)的上下文信息,BERT采用雙向Transformer[14]作為特征提取器;該模型提出了“Masked語言模型”和“下一個句子預(yù)測”兩個任務(wù),分別捕捉詞級別和句子級別的語義表示,并進行聯(lián)合訓(xùn)練?!癕asked語言模型”采用遮住句子里某些詞語,讓編碼器預(yù)測這個詞語的原始詞匯的方式來訓(xùn)練深度雙向語言表示向量。
圖6 BERT和Transformer編碼單元結(jié)構(gòu)示意圖
BERT模型使用雙向Transformer編碼結(jié)構(gòu),Transformer采用自注意力機制對文本進行建模,如式(2)所示。
(2)
其中Q,K,V表示輸入字向量矩陣,dk表示輸入向量維度。首先,計算句子中每個詞對于這句話中所有詞的相互關(guān)系,通過詞語間的相互關(guān)系反映不同詞之間的關(guān)聯(lián)性及重要程度;然后,利用這些相互關(guān)系調(diào)整每個詞的重要性(權(quán)重),學(xué)習得到新的語義表征,該表征不僅包含詞本身,還包含了詞之間的關(guān)聯(lián)關(guān)系。相對于單純的詞向量,Transformer能夠?qū)W習到更加全局的語義表達。此外,Transformer還采用“多頭”模式來增大注意力單元的“表示子空間”,提高模型專注于不同位置的能力,如式(3)、式(4)所示。
針對自注意力機制不能抽取時序特征的問題,Transformer采用了位置嵌入的方式來添加時序特征,如式(5)、式(6)所示。
PE(pos,2i)=sin(pos/10 0002i/dmodel)
(5)
PE(pos,2i+i)=cos(pos/10 0002i/dmodel)
(6)
此外,Transformer編碼單元采用殘差網(wǎng)絡(luò)和層歸一化的方式來解決深度學(xué)習中的退化問題,如式(7)、式(8)所示,從而達到利用詞的上下文信息獲得更好語義表征的目的。
本文的客戶來電意圖識別研究包括基于傳統(tǒng)機器學(xué)習方法的客戶來電意圖識別、基于單/多深度學(xué)習模型的客戶來電意圖識別、基于BERT和深度學(xué)習模型組合的客戶來電意圖識別三個部分。圖7是客戶來電意圖識別框架,具體實現(xiàn)過程如下: 首先,對訓(xùn)練語料、測試語料進行分詞、去停用詞、訓(xùn)練詞向量等預(yù)處理;然后,分別基于傳統(tǒng)機器學(xué)習方法、基于單/多深度學(xué)習模型方法、基于BERT和深度學(xué)習模型組合方法訓(xùn)練客戶來電意圖識別模型;最后,輸入測試數(shù)據(jù),基于訓(xùn)練好的客戶來電意圖識別模型,輸出客戶來電意圖識別結(jié)果。
KNN是一種簡單有效的分類方法,該算法通過測量不同特征之間的距離來對測試數(shù)據(jù)進行分類。NB是一種基于概率論的分類方法,其基本思想是: 給定一個待測試樣例,基于后驗概率最大化來判斷測試樣例所屬的類別,即找出最大的條件概率對應(yīng)的類別。SVM的基本思想是: 以充分高的置信度對訓(xùn)練的數(shù)據(jù)進行正確劃分,學(xué)習得到最優(yōu)的分類超平面(即幾何間隔最大)。SVM中常使用的核函數(shù)有線性核函數(shù)、多項式核函數(shù)、高斯核函數(shù)等。KNN、NB、SVM能夠有效學(xué)習輸入數(shù)據(jù)的詞法特征,如詞頻-逆文檔頻率(term frequency-inverse document frequency,TF-IDF),并對測試數(shù)據(jù)進行分類。
基于傳統(tǒng)機器學(xué)習方法的客戶來電意圖識別過程包括預(yù)處理、特征提取、訓(xùn)練意圖識別分類模型和輸出測試結(jié)果四個過程。在預(yù)處理階段,分別對訓(xùn)練數(shù)據(jù)、測試數(shù)據(jù)進行分詞、去停用詞、去標點符號等預(yù)處理;在特征提取階段,分別提取詞頻(term frequency,TF)、逆文檔頻率(inverse document frequency,IDF)特征,并將TF和IDF相乘,得到TF-IDF特征。在訓(xùn)練意圖識別分類模型階段,使用KNN、NB、SVM分類模型,基于TF-IDF特征,分別訓(xùn)練基于KNN、基于NB、基于SVM的客戶來電意圖識別模型;在輸出測試結(jié)果階段,分別基于KNN、基于NB、基于SVM的客戶來電意圖識別模型,輸出測試數(shù)據(jù)的意圖識別結(jié)果。
2.2.1 基于單深度學(xué)習模型的客戶來電意圖識別
基于傳統(tǒng)機器學(xué)習模型的客戶來電意圖識別需要人工設(shè)計特征,并且特征表示均采用one-hot的高維稀疏表示方法,僅能捕捉到客戶來電內(nèi)容的淺層語義信息。深度學(xué)習模型由于無需特征工程設(shè)計,能夠通過多層神經(jīng)網(wǎng)絡(luò)自動構(gòu)建數(shù)據(jù)的深層抽象特征表示,達到挖掘深層語義信息的優(yōu)勢,因而得到廣泛應(yīng)用。本文分別利用CNN、LSTM和BiLSTM三種模型,進行基于單深度學(xué)習模型的客戶來電意圖識別研究。
基于單深度學(xué)習模型的客戶來電意圖識別包括基于CNN、基于LSTM、基于BiLSTM的客戶來電意圖識別三個部分。具體過程如下: 首先,給定輸入序列x={x0,x1,…,xt-1xt,…xn},將輸入詞序列轉(zhuǎn)換成低維、連續(xù)實值的表示形式,詞序列中每個詞xi的詞向量為xw∈Rd1,d1表示詞向量的維度,拼接每個詞的詞向量表示得到基于詞向量的輸入序列表示。然后,將得到的輸入序列表示分別輸入到CNN、LSTM、BiLSTM模型中,訓(xùn)練得到基于CNN、基于LSTM、基于BiLSTM的客戶來電意圖識別;最后,輸入測試數(shù)據(jù),基于訓(xùn)練好的客戶來電意圖識別分類模型,輸出客戶來電意圖識別效果。
2.2.2 基于多深度學(xué)習模型組合的客戶來電意圖識別
CNN模型能夠?qū)W習到局部區(qū)域最明顯的特征,LSTM模型使用門機制能夠自動學(xué)習輸入序列的深層語義信息,BiLSTM能夠?qū)W習歷史信息和未來信息,得到輸入序列更好的語義表示。不同深度學(xué)習模型的分類結(jié)果不同,為綜合利用不同深度學(xué)習模型的優(yōu)勢,進一步提高客戶來電意圖識別效果,本文采用深度學(xué)習模型3種組合方法,探究了CNN和BiLSTM模型多種組合方式的客戶來電意圖識別(簡稱基于多深度學(xué)習模型組合的客戶來電意圖識別),構(gòu)建基于多深度學(xué)習模型組合的客戶來電意圖識別系統(tǒng),如圖8所示。
圖8 基于多深度學(xué)習模型組合的客戶來電意圖識別系統(tǒng)
本文設(shè)計的基于多深度學(xué)習模型組合的客戶來電意圖識別系統(tǒng)包括: 基于CNN的語義表示客戶來電意圖識別系統(tǒng)(CNN+BiLSTM)、基于BiLSTM的語義表示客戶來電意圖識別系統(tǒng)(BiLSTM+CNN)、基于CNN和BiLSTM語義表示拼接的客戶來電意圖識別系統(tǒng)(CNN_BiLSTM)。
(1)CNN+BiLSTM: 如圖8(a)所示,首先,輸入客戶來電內(nèi)容,基于預(yù)訓(xùn)練好的詞向量,得到輸入序列的詞向量表示。然后,利用CNN模型學(xué)習輸入序列的語義信息,經(jīng)過卷積和最大池化操作得到基于CNN的語義表示。最后,將得到的語義表示,輸入到BiLSTM模型中,經(jīng)過Softmax分類后,得到客戶來電意圖識別結(jié)果。
(2)BiLSTM+CNN: 如圖8(b)所示,BiLSTM+CNN模型和CNN+BiLSTM原理類似,唯一不同的是: BiLSTM+CNN是利用BiLSTM模型獲得基于BiLSTM的語義表示,然后將得到的語義表示輸入到CNN中。
(3)CNN_BiLSTM: 如圖8(c)所示,首先將輸入客戶來電內(nèi)容映射到向量空間,得到詞向量表示形式的輸入序列;然后分別輸入到CNN和BiLSTM兩個模型中進行學(xué)習,得到基于CNN的語義表示和基于BiLSTM的語義表示;最后將兩個語義表示拼接,得到語義向量表示,并將其作為特征進行Softmax分類,最終得到意圖識別結(jié)果。
BERT模型能夠捕捉到該詞前面和后面單詞的信息,從而獲取上下文的語義,在大規(guī)模語料上能夠得到較好的句子語義表示,但是訓(xùn)練時間代價較大;而深度學(xué)習模型通過自動構(gòu)建句子的語義特征挖掘句子內(nèi)部的深層語義信息,訓(xùn)練速度較快。為了綜合利用BERT和深度學(xué)習模型的優(yōu)勢,本文采用層次深入遞進的方法構(gòu)建基于BERT的客戶來電意圖識別模型,通過三組實驗對比,說明BERT和深度學(xué)習模型的組合比單獨BERT模型的意圖識別效果好。具體過程如下: 首先,基于BERT模型進行客戶意圖識別研究,驗證單獨BERT模型的效果;然后,分別構(gòu)建BERT和單深度學(xué)習模型中最好的模型(BiLSTM)的組合模型(BERT+BiLSTM)、BERT和多深度學(xué)習模型中最好模型(CNN_BiLSTM)的組合模型(BERT+CNN_BiLSTM)進行客戶來電意圖識別。BERT在大規(guī)模語料中獲得的句子語義表示效果較好,因此本文首先采用BERT模型獲得句子的語義表示,然后將獲得的語義表示分別輸入到BiLSTM模型、基于 CNN 和BiLSTM 語義表示拼接(簡稱: CNN_BiLSTM)模型中,訓(xùn)練客戶來電意圖分類模型,最后進行客戶來電意圖識別研究的實驗分析,基于BERT和深度學(xué)習模型組合的客戶來電意圖識別系統(tǒng)框架示意圖如圖9所示。首先,輸入客戶來電內(nèi)容,對客戶來電語料進行預(yù)處理,得到BERT模型的輸入序列表示形式;然后基于BERT模型,學(xué)習得到基于BERT的語義表示;最后,分別將獲得的語義表示,輸入到BERT模型、BiLSTM和CNN_BiLSTM,構(gòu)建基于BERT的意圖識別(BERT)、基于BERT+BiLSTM的意圖識別(BERT+BiLSTM)、基于BERT+CNN_BiLSTM的意圖識別系統(tǒng)(BERT+CNN_BiLSTM)。三種模型的意圖識別方法如下:
圖9 BERT和深度學(xué)習模型組合示意圖
(1)BERT: 首先,構(gòu)建BERT模型的輸入序列表示,問題標簽和句子通過“Tab”鍵分開,對于每個單詞,BERT分別對單詞位置信息、對詞向量、對句子整體進行編碼,并將這三種向量結(jié)果進行拼接,構(gòu)建BERT的輸入序列表示;然后,BERT模型使用Transformer的編碼單元訓(xùn)練雙向特征,得到包含詞語間相關(guān)性等信息的深層語義表示;最后,將深層語義表示結(jié)果輸入到BERT分類模型中,得到意圖識別結(jié)果。
(2)BERT+BiLSTM: 首先,同BERT模型的方法,得到相關(guān)信息的深層語義表示;然后,將深層語義表示輸入到BiLSTM模型中,訓(xùn)練基于BERT+BiLSTM的意圖識別分類模型;最后,基于訓(xùn)練好的BERT+BiLSTM模型,輸入測試數(shù)據(jù),得到基于BERT+BiLSTM的意圖識別結(jié)果。
(3)BERT+CNN_BiLSTM: 首先,同BERT模型的方法,得到相關(guān)信息的深層語義表示;然后,分別將該語義表示輸入到CNN、BiLSTM模型中,訓(xùn)練基于BERT+CNN_BiLSTM的意圖識別分類模型;最后,基于訓(xùn)練好的BERT+CNN_BiLSTM模型,輸入測試數(shù)據(jù),得到基于BERT+CNN_BiLSTM的意圖識別結(jié)果。
本文在移動客服領(lǐng)域的客戶來電語料上進行意圖識別(即識別出客戶來電內(nèi)容中所投訴的問題標簽類別)實驗,表1是客戶來電語料統(tǒng)計信息表,可以看出:
表1 客戶來電語料統(tǒng)計信息表
(1)移動客服領(lǐng)域的客戶來電語料共有標注數(shù)據(jù)243 772句,每條標注數(shù)據(jù)包括客戶來電內(nèi)容和問題標簽類別,其中來電內(nèi)容和問題標簽之間用制表符“Tab”鍵隔開。本語料訓(xùn)練集有195 017句,有問題標簽句子有24 484句,占比12.55%;測試集有48 755句,有問題標簽句子數(shù)有5 997句,占比12.30%。
(2)句子平均詞數(shù)和有問題標簽句子平均詞數(shù)均在22~24之間,說明移動客服領(lǐng)域的客戶來電內(nèi)容普遍較短,具有領(lǐng)域獨特性。
我們首先使用包含語音轉(zhuǎn)寫錯誤信息的客戶來電數(shù)據(jù)進行實驗,對轉(zhuǎn)寫錯誤的文本進行如下預(yù)處理: ①針對語音轉(zhuǎn)寫錯誤問題進行了簡單的糾正,例如: 將“信號轉(zhuǎn)網(wǎng)”修正為“攜號轉(zhuǎn)網(wǎng)”、將“國學(xué)常”修正為“國學(xué)堂”等。②將語音轉(zhuǎn)文字后的文本轉(zhuǎn)化成句向量表征,形成統(tǒng)一的標準化數(shù)據(jù)向量格式輸入到模型中,挖掘客戶來電意圖信息。③對于不含問題的句子,本文統(tǒng)一歸為一類處理,標記為“other”類。④由于語料中涉及一句話多個標簽,因此我們將多標簽問題轉(zhuǎn)化為單標簽處理(即一句話保證只有一個問題標簽)。具體處理如下: 對于多標簽的句子,如圖10所示,我們采用分別復(fù)制的方法保證每個句子只有一個問題標簽類別,多標簽句子處理后的結(jié)果如圖11所示。
圖10 多標簽句子示例圖
圖11 多標簽句子轉(zhuǎn)換為單標簽后示例圖
(11)
其中,TP表示正確識別問題標簽的數(shù)量,F(xiàn)P表示被錯誤識別問題標簽的數(shù)量,F(xiàn)N表示模型沒有識別出的問題標簽數(shù)量。
表2是基于傳統(tǒng)機器學(xué)習方法的客戶來電意圖實驗結(jié)果。
表2 基于傳統(tǒng)機器學(xué)習方法實驗結(jié)果(%)
從表2可以看出:
(1)KNN、NB和SVM模型,意圖識別結(jié)果均達到了可接受的水平,其中,KNN模型的意圖識別效果最優(yōu),F(xiàn)1值達到81.95%。說明基于傳統(tǒng)機器學(xué)習方法能夠捕捉到客戶來電內(nèi)容的淺層語義信息,對于意圖識別是有效的。
(2)三種模型的效果較接近,說明相同的特征,不同的模型分類效果差異不大,性能最大差異僅有0.43%。
3.2.1 基于單深度學(xué)習模型的客戶來電意圖識別實驗分析
基于單深度學(xué)習模型的客戶來電意圖識別實驗結(jié)果如表3所示。
表3 基于單深度學(xué)習模型實驗結(jié)果(%)
從表3可以看出:
(1)CNN模型的意圖識別效果最好,F(xiàn)1值達到85.06%,分別比LSTM、BiLSTM模型高3.11%、2.65%。這可能是因為客戶來電的句子較短,而CNN模型能夠捕捉到局部區(qū)域最明顯的特征,在學(xué)習短序列語義信息方面較具優(yōu)勢。
(2)BiLSTM比LSTM模型的F1值高0.46%,這主要是因為BiLSTM能夠?qū)W習輸入序列的歷史信息和未來信息,而LSTM只能捕捉到前向序列的歷史信息。
(3)通過表2和表3可以看出,單深度學(xué)習模型的意圖識別效果均等于或高于傳統(tǒng)機器學(xué)習模型的識別效果。說明基于單深度學(xué)習模型的方法能夠挖掘客戶來電內(nèi)容的深層語義信息,效果較佳。例如“哦那我在那個客戶端上為啥查到了是總共二百四十分鐘通話呀因為您查的是您套餐里邊的查的沒有查詢到它贈送您的免費資源”。傳統(tǒng)機器學(xué)習最好的KNN模型分類的問題標簽為“賬戶信息”,而單深度學(xué)習模型的CNN分類結(jié)果為“營銷活動信息”,說明單深度學(xué)習模型能夠捕捉到句子最明顯的深層語義特點為“贈送您的免費資源”,從而得到正確的結(jié)果,而傳統(tǒng)機器學(xué)習模型僅能夠捕捉離散的淺層的語義信息,導(dǎo)致分類錯誤。
3.2.2 基于多深度學(xué)習模型組合的客戶來電意圖識別實驗分析
表4是基于多深度學(xué)習模型組合的客戶來電意圖識別實驗結(jié)果。
表4 基于多深度學(xué)習模型組合實驗結(jié)果(%)
根據(jù)表4可以得出如下結(jié)論:
(1)BiLSTM+CNN模型性能最差,F(xiàn)1值僅為82.36%,比CNN+BiLSTM、CNN_BiLSTM模型結(jié)果分別低2.34%、3.20%。說明先基于CNN模型得到的輸入序列隱層表示比先基于LSTM模型學(xué)習的隱層表示質(zhì)量高。
(2)CNN_BiLSTM模型F1值比CNN+BiLSTM模型高0.86%,這可能是因為CNN模型適合局部特征學(xué)習,而LSTM模型能夠捕捉整個序列的語義信息,采用CNN和BiLSTM模型語義表示拼接的方法能夠綜合利用兩個模型的優(yōu)勢,所以效果比兩種模型縱向組合的方法好。
(3)從表2、表3和表4可以看出,多深度學(xué)習模型組合實驗結(jié)果最高F1值達到85.56%,比最高的傳統(tǒng)機器學(xué)習模型、最高的單深度學(xué)習模型結(jié)果分別高3.61%、0.50%。說明相對于傳統(tǒng)機器學(xué)習模型和單深度學(xué)習模型,多深度學(xué)習模型組合的方法在客戶來電意圖識別方面效果最好。例如“我這個副卡就在我這個現(xiàn)在我打電話這個手機里裝著嘞現(xiàn)在這個我這個副卡也沒有信號”,CNN模型沒有學(xué)習到任何信息,判別為“other”,而多深度學(xué)習組合最好模型CNN_BiLSTM卻能捕捉到“副卡使用問題”這一深層語義信息,進而判別為“業(yè)務(wù)使用問題”,說明CNN_BiLSTM模型的組合能夠彌補單深度學(xué)習模型的不足,提高了分類效果。
表5是基于BERT和深度學(xué)習模型組合的實驗結(jié)果,可以看出:
表5 基于BERT和深度學(xué)習模型組合實驗結(jié)果(%)
(1)BERT、BERT+BiLSTM和BERT+CNN_BiLSTM三種模型均取得較好的結(jié)果,F(xiàn)1值最高達到86.30%。說明BERT模型能夠融合輸入序列詞語間相關(guān)性等深層語義信息,獲得更強的語義表征,其中BERT+CNN_BiLSTM在客戶來電意圖識別中效果最好,這可能是因為: 將BERT、CNN和BiLSTM三種模型進行組合,能夠綜合利用三種模型的優(yōu)勢,學(xué)習到更強的語義表示。
(2)BERT+BiLSTM模型比BERT、BERT+CNN_BiLSTM模型F1值分別低1.01%、1.27%??赡苁且驗? ①客戶來電內(nèi)容較短,而BiLSTM學(xué)習長序列的全局特征,如果直接將BERT模型學(xué)習的語義表示輸入到BiLSTM模型中,可能出現(xiàn)語義信息損失,導(dǎo)致性能下降。②CNN模型能夠捕捉局部語義特征,將BERT、CNN和BiLSTM三種模型融合,可以學(xué)習到全局和局部的有效特征,從而提高意圖識別結(jié)果。
(3)從表4和表5可以看出,BERT+CNN_BiLSTM模型F1值比CNN_BiLSTM高0.74%。說明融入自注意力機制和時序特征的BERT模型,比CNN_BiLSTM模型在意圖識別方面效果更好。例如“你幫我你幫我查一下我這個手機套餐是多多高嘞”,CNN_BiLSTM模型分類結(jié)果為“賬戶信息”,而BERT+CNN_BiLSTM能夠獲得更好的語義表示,從而能夠準確定位客戶的來電意圖是問手機套餐資費問題,所以分類結(jié)果為“業(yè)務(wù)資費”,說明通過聯(lián)合調(diào)節(jié)所有層中的上下文來預(yù)先訓(xùn)練深度雙向表示的BERT模型獲得的句子語義表示效果更佳。
(4)從表3和表5可以看出,單BERT模型比CNN、LSTM、BiLSTM模型F1值分別高0.98%、4.09%、3.63%;說明相對于CNN、LSTM和BiLSTM模型,BERT模型學(xué)習的語義表征能力更強。
識別移動客服領(lǐng)域客戶來電意圖對于客服人員進行投訴分析具有重要意義。為減少人工分析代價,提高意圖識別效果,本文基于移動客服領(lǐng)域客戶來電內(nèi)容,分別從基于傳統(tǒng)機器學(xué)習模型、基于單/多深度學(xué)習模型、基于BERT和深度學(xué)習模型組合三個方面,進行移動客服領(lǐng)域的客戶來電意圖識別研究實驗,實驗結(jié)果中F1值最高達到86.30%,表明本文提出的客戶來電意圖識別方法是有效的,不僅能夠自動對客戶來電內(nèi)容進行分類,減少人工分析代價,而且能夠有效提高意圖識別效果。
本文雖取得了較好的效果,但是BERT和深度學(xué)習模型組合方法較簡單,所以未來的重點工作是借鑒多模型融合思想,繼續(xù)探索BERT和深度學(xué)習模型的組合方法,進一步提升客戶來電意圖識別效果。