周俊佐, 朱宗奎, 何正球, 陳文亮, 張 民
(蘇州大學 計算機科學與技術學院 人工智能研究院,江蘇 蘇州 215008)
近年來,隨著數字虛擬人技術、移動終端和語音識別處理的快速發展,人與計算機直接對話與問答的人機交互形式變得越來越重要.目前,許多數字虛擬人能逼真地朗讀出用戶給定的內容、理解用戶的查詢意圖、回答用戶信息查詢信息以及購物問題等等[1].國內外各個機構和組織紛紛開發了自己的人機對話系統,例如2011年蘋果公司推出的siri、2013 年科大訊飛的靈犀語音助手、2014 年微軟的cortana、2015 年百度的度秘和微軟的小冰以及最近谷歌提出的google assistant 等.它們有的屬于聊天機器人,注重于與用戶閑聊;有的屬于語音助手,注重于知識服務和事物的處理.在實驗室和市場環境的幫助下,這些系統都取得了巨大的進步.這些人機對話系統都包含意圖分類這一核心模塊.意圖分類是自然語言理解中的基礎任務.在人機對話領域中,通常的做法是,先將用戶語音通過語音識別技術轉換成文本,然后再通過意圖分類算法將其識別到相應類型下的具體意圖.這樣可以識別出用戶輸入到對話系統執行某個動作之間的一個映射關系,達到識別和理解用戶要表達的意圖.
盡管目前語音識別技術在書面語的識別上表現優異,但是在口語語音識別上,由于口語自身特性以及用戶口語隨意性的影響,很容易導致語音識別系統輸出錯誤,使得意圖分類系統無法正確理解用戶的意圖.這會導致對話系統無法正確回答用戶的問題,嚴重情況下,會使得人機自然對話被迫中斷.這些情況在很大程度上降低了人機對話的流暢度.伴隨著深入研究發現,人機交互過程中,對用戶進行正確意圖分析能夠有效提高人機交互的自然度[2,3].意圖分類應用范圍廣泛,從智能問答到對話系統,近幾年也逐漸成為研究熱點.
在人機對話過程中,我們通過意圖分類判斷用戶意圖,再觸發相應的業務類型.在本文的意圖分類數據上,意圖分類任務中,業務類型包括查詢類、辦理類和咨詢類這3 種,每個業務類型下還有多種不同的用戶意圖.表1 給出了一個例子,表示客服和用戶的語音對話記錄,其中,1 為客服語音文本,2 為客戶語音文本.

Table 1 An example of intention classification表1 一個意圖分類的例子
和大多的短文本分類任務不同,在人機對話意圖分類中,主要存在這樣一些問題.
?其一是受限于語音識別性能和用戶不同的口音、語義表達喜好和對網絡流行用語的使用程度導致的文本不規范問題,容易出現不規則特征詞和未登錄詞,導致文本表示方法不夠準確.
?其二是人類對話文本以寒暄和多輪詢問式對話為主,文本通常只包含極少實際有意義的詞語,導致內容具有特征稀疏性問題,增加了抽取有效特征的難度.
?其三是不同人的語言表達喜好和語義精簡能力有較大差異性,會造成文本長度分布不均勻,影響系統性能.
隨著文本表征和深度學習技術的發展,研究者對文本分類任務進行了大量的研究,提出了許多有效的模型.但是不同的模型各有優異,且在不同的語料上表現差異也較大,難以確定哪種模型最好.其中主要的原因在于,在不同語料甚至同一份語料上的文本長度分布和內容差異太大,而在模型設計上過于注重在短文本或者長文本上的單方面優化,導致模型的魯棒性不高[4-6].本文首先在本文的意圖分類數據上驗證了這些模型的有效性,分析各個模型的特點.為了進一步提高意圖分類性能,受啟發于GoogLeNet 的Inception 結構[7],我們提出一種混合模型網絡結構,綜合利用在長文本或短文本上表現優異的多個模型,提升網絡模型的整體效果,同時增加了魯棒性.在此基礎上,我們驗證了語言模型在意圖分類任務上的有效性,通過在混合模型網絡結構上增加了ELMo[8],系統性能得到進一步的提升,并在本文數據的公開評測上取得了最優的性能.
本文的主要貢獻包括:
(1)比較了多種分類模型在人機對話意圖分類任務上的性能,并分析了模型在不同條件下的表現;
(2)驗證了語言模型詞向量在意圖分類任務上的有效性;
(3)提出了一種新的混合神經網絡模型,并加入ELMo 進一步加強語義表示,取得目前最優性能.
本文第1 節對相關工作進行介紹.第2 節介紹本文提出的混合模型及其算法.第3 節通過實驗并進行實驗分析證明了該方法的有效性.最后總結本文工作,并提出了可改進的方面.
本文的研究工作主要涉及文本表示和意圖分類算法兩個方面.因此,本節將從這兩個角度來總結相關研究工作.
文本表示在早期的流行方法主要是One-Hot 獨熱編碼[9],但是這個方法會隨著語料與詞表的增大,導致特征空間過大,因此它有嚴重的數據稀疏問題.近年來,神經網絡和表征學習[10]帶來了解決數據稀疏性問題的新思路,主流做法主要將詞作為語義單元再通過詞向量訓練方法(如word2vec[11]、GloVe[12])來表示文本.長期以來,詞向量是自然語言處理領域的核心表征技術,但是它也有缺陷:詞向量只包含模型的第1 層先驗知識,網絡的其余部分依然需要從頭訓練,屬于表達性不足的淺層方法.伴隨著ULMFiT[13]、ELMo 及BERT[14]等語言模型的興起,我們看到了解決詞向量如語義消歧等語義問題的新方法.語言模型主要是將詞向量僅僅初始化模型第1 層的方式改為用分層表示的方式,并對模型進行預處理.它已被證明能夠為下游任務捕捉很多語言相關的屬性,例如層級關系、情感語義和長期依賴性關系等[8].為了驗證詞向量與語言模型在意圖分類任務上的差別與優劣,我們選擇word2vec 詞向量與ELMo 語言模型進行對比分析.
意圖分類問題屬于一種特殊的文本分類問題.文本分類算法目前大致經歷了傳統機器學習結合人工特征、深度學習算法與語言模型詞向量編碼表征這3 個階段.傳統的文本分類工作主要集中在特征工程、特征選擇和使用不同的機器學習算法模型這3 個方面上.比如,傳統的分類通常用稀疏詞法特征,或者其他人工特征表示文本,然后使用線性模型或者核模型分類[15].伴隨著神經網絡的興起,越來越多的研究表明,神經網絡的效果遠遠優于傳統方法.伴隨著數據與算力的增加,人工特征的方法成本過高,現有研究者較少用設計人工特征和過濾文本信息的方法對分類性能進行改善.
神經網絡的一大優勢是表述學習,可以自動從圖像、語音、文字抽取特征.結合使用循環神經網絡(recurrent neural network,簡稱RNN)或卷積神經網絡(convolutional neural network,簡稱CNN)[16]對文本信息建模分類.針對RNN 和CNN 不斷暴露的缺陷,學術界也有非常多的優化模型出現.
傳統的循環神經網絡在訓練過程中會隨著遞歸深度增加,誤差傳播會不斷增大或者減小,這被稱為梯度彌散[17]問題.Hochreiter 等人提出的長短時記憶(long short-term memory,簡稱LSTM)[18]結構與Cho 等人提出的門循環單元(gated recurrent unit,簡稱GRU)[19]結構是目前最受研究者青睞并且能夠有效地解決遞歸神經網絡梯度彌散的問題.
CNN 網絡在圖像識別領域上的成功是帶動神經網絡流行的重要因素之一,它也被大量使用在自然語言處理任務中.但是研究者發現,CNN 是一種空間不敏感的方法,在一定程度上受限于保存單詞的位置信息、語義信息、語法結構以及豐富的文本結構.特別是在意圖分類任務中,文本口語化且語音識別處理存在一定錯誤率,CNN 難以有效地對文本進行編碼.最近,Hinton 等人提出的Capsule 網絡[20]用神經元向量代替傳統神經網絡的單個神經元節點,以Dynamic Routing 的方式去訓練這種全新的神經網絡,有效地改善了上述方法的缺點.
注意力機制是近年十分成功的網絡,其最先應用于圖像領域[21],后逐步應用到自然語言處理領域,在情感分析[22]、機器翻譯[23]和問答領域[24]都有成功的應用.針對文本中句子的編碼,為了更好地突出長句子中的重點詞信息,我們也在意圖分類模型中混合該結構.
基于以上的研究工作,許多研究者在文本分類領域提出了許多優異的模型.我們選取了目前在各個語料上都有較好效果的幾個模型,并應用在意圖分類任務上作為對比方案.其中包括:Lai 等人提出的RCNN[5]模型,通過引入一個遞歸的卷積神經網絡來自動抽取特征再進行分類;等人提出的DPCNN[25]模型,通過深度CNN 抽取文本深度特征再進行分類;李超等人則提出了LSTM-MFCNN[6],通過不同窗口粒度的卷積核提取特征;Yang 等人提出的HAN[4]完全保留了文章的結構信息,首先進行句編碼,再進行全文編碼,基于Attention 結構,也有很強的解釋性.我們將這些優異模型作為我們的對比方案,并根據任務特點,對這些模型進行有針對的優化處理.
本節主要是在特征編碼和模型組合優化方向上對意圖分類進行研究,嘗試發掘適合意圖分類任務的分類模型.
圖1 所示為混合了Capsule、MFCNN 和Attention 這3 種優異網絡層的混合模型框架圖.網絡主要由詞編碼層、句子編碼層和混合特征抽取層組成.

Fig.1 Architecture of the proposed hybrid network圖1 本文采用的混合模型框架
詞編碼層適用于任何詞向量訓練方法,本文分別討論了word2vec 和ELMo 方法.我們首先對語料分詞,然后分別使用word2vec 和ELMo 預訓練方式生成對應的向量詞典與語言模型權重.word2vec 通過查表方式獲得對應語義詞的向量表示作為該層輸出;ELMo 則通過查表的輸出與語言模型輸出相結合的方式作為該層輸出.
我們把句子中的詞經過詞編碼層獲得對應語義詞向量;再經過一個隨機Dropout[26]層,防止模型過擬合;最終得到了本層的輸入特征.在LSTM-MFCNN 模型中,句子編碼使用單向LSTM 網絡.在HAN 模型中,句子編碼使用單層雙向GRU 網絡.而根據經驗和研究結果表明,在大部分任務上,雙向RNN 模型優于單向,兩層類RNN結構效果一般優于單層類RNN 結構.因此,我們選擇使用雙向LSTM 加上雙向GRU 結構對句子進行編碼.圖2所示為我們的句子編碼層結構.

Fig.2 Structure of sentence encoding layer圖2 句子編碼層結構
假設LSTM 層和GRU 層的隱藏層單元分別為h1,h2,它們控制對特征編碼的輸出維度.對網絡任意t時刻LSTM(?)函數表示如下:

其中,⊙為按元素乘法操作,σ表示sigmoid 函數,tanh 表示雙曲正切函數,xt為t時刻的輸入,為輸入門,為遺忘門,為輸出門,為隱藏單元狀態,為記憶細胞單元狀態.經過雙向LSTM 編碼,獲得第t個詞的LSTM 編碼全局信息,其中,⊕為拼接操作,為前向LSTM 表示,為后向LSTM表示.LSTM 層后的GRU(?)函數表示如下:

隨著神經網絡的發展,研究者提出了許多不同的網絡層.其中,注意力機制已經被成功運用于各種自然語言與圖像任務中,并取得優異的效果[21].針對CNN 固定窗口的缺點,研究人員提出了類似于n-gram 特征提取的多粒度卷積核神經網絡層[6].從另一個角度,Hinton 提出了一種新的向量輸入(vector-in)與向量輸出(vector-out)的傳遞方案Capsule[20].這種方案在分類任務上具有很好的性能表現與解釋性.
2.4.1 注意力機制模型注意力機制受啟發于人類觀察事物過程中的視覺注意力機制,人類觀察圖像總是注意在局部上而不是看到圖像上的每個位置.與此類似,在閱讀長文本時,人們通常不會關注全文,而是結合自身認識捕捉文本中重要的局部信息,以便快速分析內容.本文采用標準的注意力機制,從句子編碼層的輸出中提取對句子作用較大的特征,通過對特征自動加權的方法,可以有效地從長文本中捕捉到的重要的特征信息.對X∈?L×K,其中,L為最大語義詞數,K為特征維度.計算公式如下:

其中,W∈?K×A,b∈?L×A,V∈?A×1表示網絡中需要訓練的參數,A為超參數.該層最終輸出為Q1.
2.4.2 多粒度卷積核神經網絡(MFCNN)模型在文本分類任務中,傳統CNN 的隱藏層只使用單一粒度的卷積核.MFCNN 提出了在單粒度上擴展成多個粒度卷積核的方法,通過不同的卷積域,抽取句子中不同位置的n-gram 特征.假設X∈?L×K表示輸入的句子,L為句長,K為特征維度.xi∈?K對應于句子中第i個詞的K維特征.卷積操作卷積核為Wh∈?h×K,h為卷積核窗口大小,作用于句子上抽取新的特征.傳統的CNN 使用固定窗口值的多個卷積核,假設為H,則CNN 單個卷積核生成的特征ci表示為

其中,?為內積操作,f為激活函數,i=1,…,L+1-H,b∈?為偏差項.卷積核對句子{X1:H+1,X2:H+1,…,XL-H+1:L}生成特征如下:

再使用max-pooling 提取特征:

為了減輕因為卷積層參數誤差造成的估計均值偏移,我們在公式(6)的基礎上額外加入mean-pooling,即

其中,⊕為拼接操作.MFCNN 使用多個窗口卷積核,對窗口大小a=1,…,B的卷積核,抽取特征為

最終得到輸出Q3.這是單個卷積核的工作流程,在實驗中,我們使用的卷積核個數為m1.MFCNN 的主要步驟是卷積與池化.我們通過不同寬度的卷積核在整個句子上滑動,每個卷積核都能得到n個激活值.CNN 更多的是關注關鍵詞對應的特征,因此容易丟失結構化信息,不注意子結構之間的關系,難以發現長文本中的依存轉折等復雜的關系.其優點是可以從不同的n-gram 級別中抽取不同的特征,然后通過池化層提取出激活值中最重要的特征,為后級分類器提供分類依據.在短文本上效果卓越.
2.4.3 Capsule 模型
Capsule 將標量輸入與標量輸出特征替換成向量輸入與向量輸出特征,并用動態路由算法代替反向傳播算法.在自然語言處理中,可以用以表征如單詞的長度、本地順序或者語義等特征,改善CNN 在表征上的局限性.我們假設capsules 數量為m,d為capsule 維度.我們在capsules 的第1 層中用寬度為c的卷積核Wc∈?c×K對上一層的表示X∈?L×K進行卷積操作.其中,L為句長,K為上一層句子表示的向量維度,卷積核個數為|m×d|,所有卷積核結果為

其中,f為激活函數,p=1,…,L+1-c,b∈?為偏差項.然后,通過reshape 操作分發給各個capsule:

其中,i=1,…,m,j=1,…,d.其他層capsules 的所有輸入sj為的加權和:

我們的向量輸出與hinton 的不同在于,我們只對模長進行了歸一化處理:

其中,耦合系數cij由算法1 給出的動態路由算法決定.
算法1.動態路由算法.

最后,我們對Capsule 得到的vj∈?L×m×d做一次壓縮操作,得到Q2∈?L×|m×d|作為capsule 網絡層的輸出.
Softmax 預測層通過混合層我們得到文本最終的特征表示,通過映射得到總的類別得分:

其中,L為句長,Kf為最終特征維度,N為類別數.各個類別的概率為

其中,si表示S中第i類得分.我們使用交叉熵損失函數,訓練的目標是最小化損失函數:

通過小批量隨機梯度下降反向傳播算法更新權重,其中,yi表示正確分類結果.
本節先介紹實驗數據,然后介紹實驗設置與評價方法,最后介紹實驗結果與分析.實驗中比較的模型包括Yang 等人提出的HAN[4]、Lai 等人提出的RCNN[5]、等人提出的DPCNN[25]、李超等人提出的LSTMMFCNN[6]以及本文提出的混合模型.
本文實驗數據來自于CCL 2018-Task1:中國移動客服領域用戶意圖分類評測賽事(http://www.cips-cl.org/static/CCL2018/call-evaluation.html)初復賽數據語料,屬于客服領域對話文本,我們可以將其視為含有若干對話句的段落.該數據共有兩個省份的真實數據集,由于不同省份的標注規范與質量的差別,官方將其分為數據集A與數據集B.每個數據集為2 萬條真實客服對話標注數據,我們將其隨機打亂,通過8:1:1 比例劃分,分別分為訓練、開發和測試集.除此之外,還有5 萬條真實客服對話未標注數據,我們將其與相應訓練集合并,用以訓練Word2Vec 和ELMo 詞向量.對于類別標簽,我們將業務類型與用戶意圖合并,合并后數據集共有35 種類別.表2給出了業務類型與用戶意圖的種類.

Table 2 Type of business and user intent表2 業務類型種類與用戶意圖種類
由于文本內容長度對分類效果有一定的影響,因此我們對極少數較長文本進行截斷,截斷后文本最大長度為所有文本長度占比為95%的數值.考慮到RNN 隱藏層初始化為0 的冷啟動問題,我們對于長度不足的文本,在句首補齊占位符.表3 和表4 分別給出了數據集A和數據集B的相關統計信息.

Table 3 Statistics of dataset A表3 數據集A 統計數據

Table 4 Statistics of dataset B表4 數據集B 統計數據
詞編碼層以詞作為語義單元,以各自的訓練集和5 萬條未標注數據作為預訓練語料.設置最大段長為600,Word2Vec 維度為300,窗口為5,最小詞頻為5.ELMo 采用原論文默認參數[8],數據集A上迭代80 100 個batch,混亂度(preplexity)為7.991;數據集B上迭代82 000 個batch,混亂度為8.423.句子編碼層LSTM 與GRU 隱藏層h1,h2為128 與100.多粒度卷積核神經網絡層卷積核窗口大小為1、2、3、4,卷積核個數m1為64.膠囊網絡層設置m為10,d為16.注意力層設置A為300.
官方評價指標為

其中,|A|代表預測集總數;|G1|代表一級類別正確識別總數;|G1∩G2|表示一級類別正確情況下,二級類別正確識別總數.因為在不同任務中,層級類別權重的不確定性會導致官方評價指標有一定的局限性,因此,我們選擇更有泛化意義的準確率評價指標:

其中,|A|代表預測集總數,|G∩A|代表預測集與合并標簽完全匹配的結果總數.
在本節中,我們在數據集A和B上分別進行實驗.我們共有Baseline、Single、Hybrid 和Hybrid ELMo 這4種實驗組,實驗中如沒有特殊說明,則表示采用Word2Vec 詞向量.其中,+Capsule 表示在Baseline 中加入Capsule層,+Attention 在Baseline 中加入Attention 層,+MFCNN 在Baseline 中加入MFCNN 層,+ELMo 替換Word2vec詞向量為ELMo 詞向量.表5 給出了我們的所有模型的實驗結果.從實驗結果可以看出:
?通過Single 組看出,在意圖任務上,MFCNN 遜色于capsule,證明了向量輸出優于標量輸出方法.
?對比Hybrid 與Single 組實驗結果,在word2vec 詞向量上,任意混合優異網絡層的網絡,在兩個數據集上都能達到很好的效果,說明了混合模型的有效性.
?對比Hybrid ELMo 與Hybrid 組實驗結果,我們驗證了語言模型詞向量在意圖任務上的有效性.在同樣的模型上,語言模型在數據集A和數據集B上能夠分別取得2.0%和2.2%的性能提升,并能結合混合模型取得目前最佳的效果.

Table 5 Result of experiment表5 實驗結果
為了進一步驗證混合模型的魯棒性和有效性,我們將官方數據集A和官方數據集B的測試集按照長度從短到長排序,按比例為3:4:3 劃分成短、中、長文本.使用不同的模型依次對其進行對比實驗,實驗結果見表6,圖3是對應的直方圖.

Table 6 Intention classification score of long,medium and short text表6 長、中、短文本意圖分類得分結果

Fig.3 Intention classification score of long,medium and short text圖3 長、中、短文本意圖分類得分結果
從實驗結果可以看出:
?3 種網絡的性能都滿足短文本>中文本>長文本;
?在短文本上,性能滿足Capsule>MFCNN>Attention;
?在中文本上,3 種模型效果持平;
?在長文本上,性能滿足Attention>Capsule>MFCNN.
MFCNN 主要是在單窗口大小卷積核CNN 模型的基礎上增加不同卷積核窗口,類似于對不同n-gram 的特征提取.而每個卷積核都是為了抽取出文本中和卷積核窗口大小相等的最重要的特征,因此,MFCNN 幾乎不受非重要詞特征的影響,所以在文本較短的語料上效果優異.但是其缺點在于難以考慮到詞之間的關聯和不同詞特征的重要程度,從而在文本較長的語料上效果基本不如Attention 網絡.Capsule 在自然語言處理中可以用以表征如單詞長度、本地順序或者語義等特征,改善CNN 在局部表征上的局限性,在中等長度文本上有優異表現.三者相互合作具有一定的bagging[27]效果.避免混合模型在短文本和長文本的極端情況下可能出現的性能劇烈波動情況,從而增強混合模型的魯棒性和性能.
我們將本文提出的方法與其他先進的方法進行了對比,結果見表7.其中,Hybrid 對應表5 中Hybrid 組最佳模型,Hybrid ELMo 對應表5 中Hybrid ELMo 組最佳模型.通過對比看出,我們的Hybrid 模型能取得了相對于其他模型更好的效果.相對于最優的HAN 模型,在數據集A和數據集B上分別有0.95%和1.65%的性能提升,證明了混合模型的有效性.同時,結合語言模型詞向量在兩個數據集上相對于HAN 模型取得了2.95%和3.85%的性能提升.我們最終將所有表現優異的模型進行融合[28],獲得了表8 中官方評分Rank 1 的成績.

Table 7 Comparison with other methods表7 與其他方法的對比

Table 8 Official ranking表8 官方排名
本文提出一種混合神經網絡層的模型,結合MFCNN 和Capsule 在短文本特征處理和Attention 在長文本特征處理上的優勢,混合使用Capsule、Attention 與MFCNN 層.在此基礎上,結合語言模型詞向量ELMo,將語言模型擁有的語義挖掘能力應用到混合網絡中.實驗結果表明,本文提出的新模型對客服領域的意圖分類有較好的性能表現,并在CCL 2018 中國移動客服領域用戶意圖分類評測任務中取得第1 名.
本文使用的神經網絡層和特征編碼詞向量還有一定的局限性,我們準備從下述幾個方面進行改進.
(1)探究更多、更好的短文本和長文本處理優異模型的結合方式.
(2)在特征編碼詞向量上,在語義單元上可以考慮字級別特征以及字級別與詞級別的結合.
(3)我們也可以使用遷移學習,比如通過百度百科或者維基百科語料來預訓練語言模型,再通過相應的訓練語料進行微調(finetune).
(4)最近提出的語言模型BERT[14],其效果在多個任務上優于ELMo,在后續的研究中,我們也會主要對其進行嘗試.