南京郵電大學計算機學院 鄭思露
人機對話意圖識別是自然語言處理領域的一個研究熱點,通常是將對話轉錄為文本,通過對文本進行分類實現對意圖的識別。針對人機對話中對話文本短導致缺少足夠的語境信息和因用戶說話比較隨意導致意圖表達不清晰的問題,提出一種基于ERNIE-BiLSTMCapsule(EBC)的意圖識別模型。模型以能夠依據不同上下文生成動態生成詞向量的知識增強ERNIE作為詞嵌入模塊;并利用BiLSTM來捕捉意圖在上下文上的表達;最后用膠囊網絡來有效地編碼文本意圖在不同維度與真實意圖標簽之間的關系,提高文本分類能力。在CCKS意圖識別數據集上進行實驗,驗證了模型在準確度和綜合準確率F1有顯著提高。
隨著近年來深度學習的快速發展,人機對話系統也變得越來越智能化。人機對話系統主要由語音識別、口語理解、對話管理、對話生成、語音生成五部分組成,如圖1所示。其中語言識別是將對話轉成文本的形式;口語理解是識別出用戶的具體意圖;對話管理是根據對話歷史信息,決定此刻對用戶的反應;對話生成是生成機器反饋給用戶的內容;語音生成則是將內容以語音的形式反饋給用戶。其中口語理解至關重要,而用戶意圖識別的準確性則直接影響整個對話系統的性能。

圖1 人機對話系統架構Fig.1 Architecture of man-machine dialogue system
意圖識別是將對話文本歸類到預先設定好的類別中。相較于書面文本是具有完整、系統含義的一個句子或多個句子的組合,對話文本則相對較短而且在用戶在意圖的表達上也比較隨意,因此傳統的文本分類方法很難從中識別出用戶的具體意圖。
針對上述問題,本文提出一種基于知識增強預訓練模型的中文對話短文本意圖識別模型EBC。首先通過ERNIE預訓練模型的嵌入得到文本的語義的增強表示;然后利用雙向長短期記憶網絡提取意圖在對話中的分布情況;最后利用利用膠囊網絡的動態路由去選擇意圖,從而實現口語文本的意圖識別。
近些年來,隨著深度學習的迅猛發展,深度學習的方法被不斷地應用在意圖識別上。Hashemi等[1]利用CNN進行文本特征提取,通過提取意圖文本的局部特征來獲取意圖信息,并通過分類器識別出對應的意圖。Wang Y[2]等利用LSTM、CNN和主題模型在提取特征上的優點來構建營銷領域的意圖識別,相比于單個模型,聯合多種模型的優點可以提高意圖識別的效果。Chen T[3]將同時考慮上下文意圖之間的關系并關注整個文本要表達的重點,設計包含注意力和雙向長短時記憶網絡的模型,在客車意圖查詢上取得了較大的進步。上述網絡在文本表示階段均采用靜態詞向量,由于口語中存在一詞多義的現象,而靜態詞向量無法表示一詞多義,這會給整個網絡帶來一種錯誤的信息,從而導致意圖識別效果難以有較大的提升。隨著以BERT為代表的預訓練模型的提出,其在11項自然語言處理任務中均取得了最好的效果。Liu D等[4]利用BERT作為預訓練模型,并使用BiLSTM構建面向任務的人機對話的意圖檢測模型。針對BERT在MASK的對象是Word,百度提出ERNIE模型,對命名實體和短語做MASK操作,相比于對Word做MASK,ERNIE能捕捉到更多的語義信息。
Hinton在2017年提出的膠囊網絡已經在圖像領域取得了很好的效果,膠囊網絡在圖像領域強調其網絡具有方向、大小等屬性的識別和內部聯系的生成一樣,將膠囊網絡應用在自然語言處理上,則可以解釋為從不同的角度將文本信息與類別進行關聯。Zhao[5]等第一次將膠囊網絡應用在文本分類中,其分類的效果要優于CNN。 Xia[6]提出一種注意力機制和膠囊網絡結合意圖分類模型,該模型通過注意力機制提取意圖文本的語義特征,然后利用膠囊網絡的動態路由機制對意圖進行分類,并取得了不錯的效果。Renkens[7]結合雙向循環神經網絡和膠囊網絡對口語的意圖進行了識別。Liu J[8]利用膠囊網絡對短文本的意圖識別進行了實驗,實驗結果表明膠囊網絡在小型短文本數據集上的優勢。膠囊網絡中利用了動態路由進行膠囊之間關系學習,建立了特征之間的姿態關系,相比與卷積神經網絡,膠囊網絡在小數據集上的優勢明顯。
ERNIE(Enhanced Representation through kNowledge IntEgration)是百度提出的語義表示模型,基于Transformer Encoder,相較于BERT,ERNIE通過建模海量數據中的詞、實體及實體關系,學習真實世界的語義知識。相較于BERT學習原始語言信號,ERNIE直接對先驗語義知識單元進行建模,增強了模型語義表示能力。BERT模型MASK策略如圖2所示,ERNIE模型MASK的策略如圖3所示。

圖2 BERT MASK策略Fig.2 BERT MASK policy

圖3 ERNIE MASK策略Fig.3 ERNIE MASK policy
BERT在MASK時采用隨機策略,隨機選擇句子中的部分字,而ERNIE在MASK是通過識別出句子中的實體,將實體信息加入到詞向量的訓練中。對比BERT的隨機策略,ERNIE的操作可以豐富詞向量的語義信息,提高詞向量的質量。
膠囊網絡是Hinton提出的旨在用向量的輸入輸出取代標量的輸入輸出。膠囊網絡主要包含三個部分,初始膠囊層、Squash壓縮激活函數、動態路由。
一個膠囊是一個向量,而文本的輸入則是標量,初始膠囊層的作用就是將一組標量“加工”為一個個膠囊。每一個膠囊表示一個屬性,而膠囊的向量則表示這個屬性的“標架”。相比于之前只用一個標量表示有沒有某個屬性,現在用一個向量來表示,不僅表示有沒有,還表示“又什么樣的”。
在膠囊網絡里使用Squash壓縮激活函數來進行特征選擇,公式如(1) 所示:

在膠囊網絡中膠囊的模長能夠代表這個特征的概率,式(1)中Vj表示第j個膠囊的輸出將模長變為1表示特征的“顯著程度”,模長越長,這個特征越顯著。
在卷積神經網絡中通過池化來提取特征,采用池化可以提取局部的顯著特征,但是池化會丟掉很多有用的信息,膠囊網絡中通過動態路由來達到特征選擇的目的。動態路由的過程如圖4所示:

圖4 Capsule的動態路由Fig.4 Dynamic routing of Capsule
Capsule動態路由偽代碼如算法1所示:

?
本節主要介紹EBC的整體結構以及每一個部分的主要作用,EBC架構如圖5所示。

圖5 EBC模型架構Fig.5 EBC model architecture
首先,將對話文本轉換為ERNIE模型可以接收的形式,ERNIE模型會先對其進行MASK,在MASK的時候會識別出文本中的實體信息,然后再將識別出的實體之間關系加入到雙向Transformer進行動態詞向量的訓練,從而得到符合語境且含有實體信息的詞向量E。
然后將詞向量E輸入到BiLSTM中,其中LSTM的內部結構如圖6所示。

圖6 LSTM內部結構Fig.6 LSTM internal structure
其中Yt表示t時刻輸入詞,Ct-1表示內部信息狀態,ht-1表示t-1時刻輸出的隱藏狀態,ft表示遺忘門,it表示記憶門,Ot表示輸出門。LSTM的計算過程可以概括為:通過對內部信息遺忘和記憶新的信息使得對后續時刻計算有用的信息得以傳遞,而無用的信息被丟棄,并在每個時間步都會輸出隱藏狀態,其中遺忘、記憶與輸出通過由上個時刻的隱層狀態和當前輸入計算出來的遺忘門,記憶門,輸出門來控制。具體計算過程如式(2)-式(7)所示:
其中Wf、Wi、Wo為參數矩陣,bo、bc、bf、為偏置項為Sigmoid激活函數,·表示矩陣乘法表示元素乘法。

而BiSLTM則是將前向LSTM的輸出和后向LSTM的輸出進行拼接得到H。H不僅含有上文意圖對下文意圖的影響,也包含了下文意圖對上文意圖的影響。
最后將蘊含了上下文意圖分布的特征H送入膠囊分類網絡中,膠囊網絡將意圖在不同維度上的特征看做是一個膠囊,并通過動態路由機制來捕獲每個膠囊與意圖之間的關系,無需通過反向傳播的方式進行更新。
本文在全國知識圖譜與語義計算大會技術評測任務2意圖識別數據集(CCKS2018)進行實驗。該數據集全部采自真實的對話情景,包括12000條有標記的數據,共有2類,其中有點歌的意圖7535條記錄、沒有點歌的意圖4465條記錄,按照訓練集∶驗證集∶測試集=8∶1∶1的比例分配。數據集分布如表1所示。

表1 數據集分布Tab.1 Data set distribution
本文對比常用的幾種經典的模型,并選用準確率(Precision)、召回率(Recall)和F1分數(F1- score)作為模型的評價標準。各模型結果如表2所示。在表2中,本文所提的EBC模型在意圖識別任務上取得了88.48%的準確率、88.29%的召回率以及88.35%的F1分數。從中可以得出融合實體信息并捕獲上下文意圖的關系可以顯著提高意圖識別的準確率。

表2 不同模型在CCKS數據集上效果 Tab.2 Effect of different models on CCKS dataset
從表2中還可以看出,僅使用ERNIE作為詞嵌入模塊,然后在接一個Softmax分類網絡所取得的效果,比在詞嵌入模塊使用靜態詞向量然后從不同角度對意圖的特征進行提取所取得的效果要好不少。由此也能說明,在詞嵌入模塊通過mask文本中的實體信息,并加入到雙向Transformer中進行訓練所獲得的動態詞向量能夠很好地表示語義信息,也說明一個好的文本表示對于意圖識別而言是重要的。
本文提出了一種基于EBC的意圖識別方法,口語有效解決口語理解中語境匱乏和意圖不清晰的問題。并驗證了在意圖識別任務中實體信息和上下文意圖之間關聯對于意圖效果的重要性。下一步將從意圖識別與語義槽填充兩者之間的關聯出發,利用語義槽填充輔助提升意圖識別任務的效果。