趙鵬飛,李艷玲,林 民
內蒙古師范大學 計算機科學技術學院,呼和浩特010022
口語理解在人機對話系統任務中具有十分重要的作用。為了讓機器理解用戶的需求并進行反饋,口語理解通常利用三個模塊對用戶輸入內容進行分析,分別是領域識別、意圖識別和語義槽填充,其中,意圖識別的準確性能夠直接影響口語理解的性能。隨著智能人機對話系統應用的廣泛發展,例如Siri、Cortana以及智能教育系統和預訂票務系統,人們逐漸體會到了人機對話系統的便利性和實用性,對于其他新領域對話系統的需求也在增加。因此,開發新領域對話系統成為當前的研究熱點。在新領域開發過程中,通常很難獲得可直接用于模型訓練的數據和標簽,這導致了訓練新模型需要昂貴的代價。為了解決新領域數據不足的問題,目前通常的做法是利用遷移學習。
遷移學習能夠將源任務中的知識和信息最大化地遷移到目標任務中,解決目標任務的相關問題。近年來,遷移學習在圖像識別、目標檢測以及跨語言翻譯方面應用廣泛,并在實際領域發揮作用,比如醫學領域、物理領域等[1]。Wu等人[2]針對低分辨率圖像分類問題,提出利用源域高分辨率圖像和低分辨率圖像進行模型的預訓練,并將其嵌入目標任務的分類模型中,提升目標任務的分類性能。Chen等人[3]利用遷移學習的預訓練模型對神經網絡進行模塊微調,解決跨領域的醫學圖像分類問題。對抗網絡是實現遷移學習中領域適應的一種有效方法,膠囊網絡對于小樣本特征提取具有一定優勢。本文針對新領域人機對話系統中意圖識別訓練數據較少的問題,利用膠囊網絡改進領域對抗神經網絡解決訓練數據稀缺的意圖識別問題。
意圖識別問題其本質也屬于一種文本分類問題。楊志明等人[4-5]針對意圖文本較短以及卷積神經網絡(Convolutional Neural Network,CNN)不能充分學習到意圖特征表示和語義信息的問題,提出一種雙通道CNN算法,利用字級別詞向量輔助詞級別詞向量捕捉更深層次的語義信息,該方法對于解決意圖識別中的短文本問題具有一定效果。侯麗仙等人[6]針對意圖識別以及語義槽填充任務,采用一種增加門控機制、注意力機制以及條件隨機場約束條件的雙向長短時記憶網絡(Bidirectional Long Short Term Memory,BiLSTM)方法,該方法在航空信息領域數據集上取得了不錯的效果。劉嬌等人[7]針對意圖文本較短以及CNN中池化操作可能丟失特征信息的問題,采用一種改進膠囊網絡的意圖識別算法,該方法驗證了膠囊網絡在意圖文本特征提取方面的優勢。尹春勇等人[8]針對CNN丟失部分特征信息以及膠囊網絡準確度較低的問題,提出一種增加兩層CNN的膠囊網絡方法,通過對文本進行兩層卷積操作再利用膠囊網絡捕捉更深層次的特征信息。
遷移學習有基于實例的方法、基于網絡的方法以及基于領域適應的方法[1]。領域適應是遷移學習的重要實現方向,其目標是在源數據集上建立一個性能良好的神經網絡,并確保該神經網絡在目標數據集上也具有良好的性能。領域適應的實現方法中主要包括基于分布的領域適應和基于對抗的領域適應。Pan等人[9]提出一種基于遷移成分分析(Transfer Component Analysis,TCP)的邊緣分布領域適應方法,該方法利用最大平均差異(Maximum Mean Discrepancy,MMD)學習源域和目標域的數據映射。在此數據映射空間中,源域和目標域盡可能接近且相似,利用該特征空間完成源域到目標域的遷移。Zellinger等人[10]針對最大平均差異的高階特性,提出一種基于最大平均差異的中心矩陣差異算法,該方法通過高階矩陣差異進行匹配概率分布的中心矩陣,解決了最大平均差異存在的計算量大的問題,在遷移學習數據集上取得了一定的效果。Goodfellow等人[11]首次提出生成對抗網絡(Generative Adversarial Networks,GAN),首先利用生成器生成樣本,將生成樣本輸入到判別器與真實數據進行對抗訓練,目標是使生成器數據盡可能接近真實數據,判別器盡可能無法區別數據的真偽。Ajakan等人[12]針對目標域數據稀缺的問題,提出一種領域對抗神經網絡(Domain-Adversarial Neural Network,DANN)方法,該方法首次將對抗訓練引入遷移學習,通過對抗訓練,特征提取器能夠學習到源域和目標域的公共特征,即域不變特征,利用域不變特征對目標域進行分類。Ganin等人[13]利用領域對抗神經網絡解決了目標域數據稀缺的問題,領域對抗神經網絡在MNIST-M數據集上獲得了76.6%的準確率,驗證了對抗網絡的有效性。Daniel等人[14]針對目標語言數據稀缺的問題,利用領域對抗神經網絡完成了在文本方面的研究,在亞馬遜情感分類的跨領域適應任務中,該方法獲得了88.8%的準確率,在低資源語言無標記數據領域獲得了78.8%的準確率,上述實驗驗證了領域對抗網絡在文本方面的可行性。趙鵬飛等人[1]針對對話系統中新領域對話語料相對稀缺的相關問題,綜述了意圖識別的相關方法模型,提出未來對于解決新領域對話數據稀缺的意圖識別研究方向。
本文受文獻[7-8,11-12,14]的啟發,傳統領域判別器無法深層次提取不同領域的獨有意圖特征,導致領域判別器對源域和目標域的判別能力弱以及特征提取器的混淆能力差。為了提升領域的判別能力,利用膠囊網絡對領域判別器進行改進。使用膠囊網絡對輸入至領域判別器的源域和目標特征進行多次提取,深層次捕捉意圖文本特征,提取足夠多的領域特征信息,提升領域判別能力,保障領域適應的可靠性。通過該方法解決新領域人機對話系統中數據稀缺的意圖識別問題。
本方法的主要框架如圖1所示,主要包含五個部分:輸入層、特征提取器、意圖識別器、梯度反轉層和領域判別器。

圖1 模型框架圖Fig.1 Model structure diagram
本文針對新領域對話系統中意圖識別數據稀缺的問題,采用領域對抗神經網絡將源域特征遷移到目標域,解決目標域數據稀缺的問題。模型優化過程中,領域判別器需要盡可能正確區分特征的來源,而特征提取器則要盡可能讓領域判別器無法區分特征來源,因此兩個部分形成對抗訓練。通過這種方式使得特征提取器能夠學習到一個公共特征空間,即域不變特征。該特征具有兩個特點:(1)特征提取器利用該特征無法區分其來自源域或目標域;(2)目標域使用該特征可以進行意圖識別。由此可知,本文的主要思想是利用對抗網絡學習域不變特征。
另外,本文針對傳統對抗網絡中領域判別模塊無法更好地提取領域特征信息,降低了領域判別能力,從而限制了特征提取器領域混淆能力的問題,提出一種結合膠囊網絡的領域適應方法。通過對源域和目標域特征進行二次提取,充分提取意圖文本的深層次特征信息,捕捉不同領域的獨有特征,提高領域的判別能力,提升領域適應的可靠性,并且提升意圖識別器對目標域的意圖識別能力。
模型的訓練過程分為兩個階段:第一階段,由源域和目標域中少量已標注數據共同訓練意圖識別器,使意圖識別器具有良好的分類性能且對目標域有效;第二階段,由源域和目標域共同訓練領域判別器,使特征提取器能夠更好地學習域不變特征,領域判別器能夠很好地區分領域來源。通過兩個階段的共同訓練,目標域意圖文本利用特征提取器捕捉到具有域不變特征的信息表示,完成意圖識別任務。
輸入層的主要目的是對意圖文本進行向量化表示。中文數據集的數據預處理包括分詞以及去停用詞等,英文數據集的數據預處理包括大小寫轉換等。模型的輸入是長度為x的意圖文本,在此模塊中使用預訓練Word2Vec詞向量獲得每個詞的詞嵌入,并將其映射到高維向量空間得到K維詞向量表示,即(e1,e2,…,ex)。
特征提取器的主要作用是提取用戶的意圖文本特征,并且最大程度地將來自源域和目標域的特征信息進行混淆,使其所學習到的特征信息無法區分領域來源,即完成域不變特征的學習。特征提取器包括兩個階段的訓練,第一階段僅使用源域數據進行訓練,并將訓練后的特征表示輸入意圖識別器;第二階段數據由源域和目標域組成,并將訓練后的特征表示反饋給領域判別器。特征提取器利用卷積神經網絡對文本的句子進行特征提取,每個句子經過預處理構建成一個標準化的表示:s=?x×K,這里x代表標準化后句子的長度,K代表預訓練詞向量的維度。通過不同維度(i=[3,4,5])的濾波器對原始句子進行特征提取,如式(1)所示:

其中,f代表非線性激活函數,W代表濾波器,b代表偏置項,i代表濾波器的窗口大小。
模型的第一階段為意圖識別器的訓練,整個階段由輸入層、特征提取器和意圖識別器構成。通過將源域意圖文本所獲取到的特征表示輸入到意圖識別器中進行模型訓練。在訓練過程中,將目標域中少量已標注數據加入源域中共同訓練,提升模型對目標域的有效性和對意圖的識別能力。模型訓練結構如圖2所示。

圖2 意圖識別器訓練網絡Fig.2 Intent detection training network
通過全連接層將特征提取器中所獲取的特征表示進行展開,將特征表示轉換成一個長度為||C||的向量,其中C表示意圖類別的個數。通過softmax激活函數計算每個意圖類別的概率,如式(2):

其中,h表示特征提取器所捕捉到的特征信息,y表示源域意圖中每個意圖類別的概率。意圖識別器的損失函數為交叉熵損失函數,如式(3)所示:

其中,xi表示源域和少量目標域的輸入;Gf表示特征提取器;Gy表示意圖識別器;yi表示源域的意圖標簽,其中包含了少量目標域的意圖類別。
傳統的反向傳播過程會同時優化兩個部分,無法實現特征提取器和領域判別器的對抗訓練過程。因此,將梯度反轉層引入特征提取器和領域判別器之間,目的是將判別器傳入提取器的梯度進行反向,從而實現兩個部分對抗訓練的效果。
2014年,Ganin等人[13]首次將梯度反轉層引入到神經網絡中,利用梯度反轉層實現對抗訓練,解決領域適應問題。梯度反轉層主要包括兩部分內容:前向傳播和反向傳播。前向傳播時,只對特征表示做線性轉換而不改變特征表示的內容,如式(4)所示;反向傳播是將傳入本層的誤差乘以一個負值,使得特征提取器和領域判別器的訓練效果相反,實現對抗訓練,如式(5)所示:

領域判別器的作用是盡可能正確區分特征來自于源域或者目標域。普通卷積神經網絡無法深層次提取特定領域的意圖特征且容易造成特征丟失問題,導致其對源域和目標域的判別能力下降。為了提升領域判別器的判別能力,本文利用膠囊網絡對其進行改進,通過對源域和目標域的特征信息進行多次學習,深層次捕獲源域和目標域的特征信息,學習更加豐富的特征表達。而且,利用膠囊網絡能夠提取用來區分源域和目標域的獨有特征,提升模型的判別能力,為實現領域適應提供保障。模型的第二階段為領域判別器的訓練,整個階段由輸入層、特征提取器、梯度反轉層和領域判別器構成。領域判別器的結構為膠囊網絡,如圖3所示。

圖3 基于膠囊網絡的領域判別器Fig.3 Domain discriminator based on capsule network
膠囊網絡分為三層:卷積層、膠囊層以及領域膠囊層。卷積層對源域和目標域的特征表示進行特征提取,充分捕捉意圖文本中的特征信息。膠囊層主要將卷積層的輸出作為輸入并生成一組膠囊單元,即將卷積層所獲得的特征表示用膠囊單元進行封裝。本質上,每個膠囊單元來自于卷積層的特征加權和。為了獲得膠囊單元,采用d種W=?1×m濾波器對卷積層的輸出進行加權和,通過膠囊層獲得(x-n+1)×d的膠囊單元,如式(6)所示:

其中,Ac:c+1表示卷積層的輸出,W表示濾波器,b表示偏置項,f表示激活函數。
同時,采用z個濾波器進行特征提取,獲得句子的特征圖表示,Z=?(x-n+1)×z×d。
領域膠囊層主要由領域膠囊組成。源域和目標域均由上層d個主要膠囊產生的矢量作為此層輸入,輸出源域和目標域的膠囊類別,其主要的膠囊變換由動態路由算法進行操作。
動態路由算法完成上層膠囊到下層膠囊的轉換,其輸入由膠囊層的輸出提供,其輸出為領域膠囊單元,圖4表示動態路由算法的轉換過程。

圖4 基于動態路由的膠囊轉換Fig.4 Capsule conversion based on dynamic routing
在動態路由算法中,對bij進行初始化并獲得初始化的耦合系數cij,即膠囊間轉換權重,如式(7)、(8)所示:

其中,i表示當前層膠囊單元,j表示下層膠囊單元。
上層膠囊ui通過權重Wi獲得預測向量uj|i,如式(9);利用初始化的膠囊權重以獲得膠囊輸出sj,如式(10);通過激活函數Squashing對sj進行處理獲得下層的膠囊輸出vj,如式(11);通過預測向量uj|i和膠囊輸出vj進一步更新膠囊權重cij。已有實驗表明[7],迭代次數為3時,可以獲得最好的權重值表示。

領域判別器損失函數為Margin損失函數,如式(12)所示,該損失函數類似于交叉熵損失函數,其對每個表示領域類別的膠囊分別給出單獨邊緣損失函數。

其中,xi表示源域和目標域的輸入,Gf表示特征提取器,Gd表示領域判別器,di表示領域標簽,c表示領域類別,Tc表示領域類別的指示函數,||vj||表示領域類別膠囊的輸出概率,m+為上界,通常設置為0.9,m-為下界,通常設置為0.1。模型的總體優化損失由意圖識別器分類損失以及領域判別器膠囊損失構成,如公式(13)所示:

其中,yi表示源域和少量目標域的意圖標簽,di表示領域標簽。
本次實驗采用的數據集包括:SNIP-NLU[15](英文)、ATIS航空領域人機對話系統語料[16](中文)、SMP中文人機對話評測語料以及團隊擴充語料[17](中文)。數據集示例及介紹如表1所示。

表1 數據集示例及介紹Table 1 Dataset example and introduction
本次實驗中文數據集利用維基百科的預訓練word2vec詞向量,其中,中文詞向量28維,英文詞向量300維,利用word2vec詞向量對用戶的輸入文本進行向量化表示。
意圖識別任務本質上屬于文本分類任務。通常使用準確率、精確率以及F1值對模型的性能進行評價[1]。在本實驗中也使用上述評價標準。
從相關的領域適應文獻中選取具有代表性的相關方法與本實驗方法進行對比實驗。對比方法如下:其一,Tzeng等人[18]提出一種深度領域混淆方法(DDC);其二,利用膠囊網絡改進深度混淆方法中的強分類機制模型方法(DDC+Capsule);其三,Ganin等人[13]提出的一種領域對抗神經網絡方法(DANN)。對比實驗中所有的源域數據數量以及目標域已標注數據數量均一致,實驗設置和詞向量維度均一致。
對比實驗在源域選擇英文數據集B、R、W、M,目標域選擇P,并將目標域中500個已標注樣本加入源域中共同訓練意圖識別器。實驗結果如表2所示。

表2 在不同領域判別器下模型的準確率Table 2 Accuracy of model on different discriminator
結果表明,利用膠囊網絡改進領域對抗神經網絡中的領域判別器的實驗方法,在同樣的測試樣本取得了88.3%的準確率,改進后的模型相比于原始模型分別提升了0.072、0.054、0.031。實驗表明,通過膠囊網絡對源域和目標域的意圖特征進行再次提取,保存了句子中的多種特征。通過膠囊間的動態路由轉換,對句子中所包含特征進行進一步的聚類表示,充分學習了源域和目標域的意圖文本的大多數信息,包括語義、語序以及方向等,更深層次的捕捉領域間的獨有特征表示,進一步提升了領域判別器對源域和目標域的判別能力,提高了模型的領域適應能力,對目標域的意圖識別準確率具有一定效果。
為了盡可能模擬目標域包含不同數量已標注樣本對意圖識別準確率的影響,將目標域中不同數量的已標注樣本加入源域共同訓練意圖識別器進行實驗分析。實際應用中標注大量數據的代價是十分昂貴的,因此,本實驗僅使用少量已標注數據,在實際應用過程中,標記少量數據相對容易。在SNIP-NLU英文數據集中選取上述四個領域作為源域,目標域選擇另外一個領域。從目標域中選取M={100,200,300,400,500}作為目標域的已標注數據量,目標域測試數據選取1 000個數據樣本進行評測,在此模型上做了5個任務。實驗結果如表3所示。

表3 不同已標注目標域下模型在1 000個樣本的準確率Table 3 Accuracy of model in 1 000 samples under different target domains and labeled data
實驗表明,排除部分噪聲數據外,總體模型準確率隨著已標注數據量的增加而增加。目標域已標注數據量僅為100的情況下,通過源域和目標域的意圖樣本對抗訓練,在目標域數據下可以取得平均85.1%的準確率,目標域已標注數據量為500時,可以獲得平均92.7%的準確率。可以看到,隨著目標域已標注數據量的增加,每增加100個已標注數據樣本,模型可以取得平均0.015的提升,總體平均準確率達到88.9%,驗證了該方法的有效性。
另外,噪聲數據的存在影響了模型的總體提升走向。如圖5所示,隨著目標域數據量的增加,每個任務均有不符合總體趨勢的情況。從表2中可以看到,當源域選擇為B、W、P、M,目標域選擇為B時,在已標注數據為300的情況下,測試結果出現了下降的情況。通過對相關數據集和網絡結構的分析,原因主要是:其一,在數據集P中包含了一些“想要播放音樂”的相關表述,與數據集B中“想要預訂餐廳”存在一定的相似性,造成意圖混淆,導致準確率下降。其二,數據量較少的問題,導致多輪迭代后造成過擬合現象對實驗結果造成影響。通過分析,模型性能變化的最主要原因是在英文數據集中不同領域存在文本信息的交叉情況,即領域間文本表述相似度高。

圖5 準確率隨標注數據量的變化曲線Fig.5 Change curve of accuracy rate with amount of labeled data
中文領域人機對話系統的意圖識別任務中,中文意圖識別數據集更為稀缺。因此,利用結合膠囊網絡的對抗意圖識別方法解決中文領域意圖識別任務尤為重要。
為了解決上述問題,本實驗中文數據采用ATIS航空領域人機對話系統語料、SMP2020中文人機對話評測語料以及擴充語料,其中ATIS數據集作為源域,SMP2020中的單個領域作為目標域進行中文數據下的遷移訓練,模型結果如表4所示。表4結果表明,意圖識別器在源域上的準確率可以達到90.6%,使用性能優良的意圖識別器在中文目標域數據集上也可以獲得平均83.3%的準確率。可以得到結論,利用膠囊網絡改進的領域對抗神經網絡方法能夠在一定程度解決中文領域意圖識別任務訓練數據稀缺的問題。

表4 模型在中文數據集下的準確率Table 4 Accuracy of model on Chinese dataset
本文主要針對新領域對話系統中訓練語料稀缺的問題進行意圖識別方法研究。利用膠囊網絡改進領域對抗神經網絡,通過梯度反轉層的對抗訓練完成領域自適應,從而完成知識遷移。膠囊網絡在數據量較少領域的訓練結果較好,且其獨有的膠囊長度代表了其類別概率,可以很好地獲取意圖文本特征,提升領域判別能力。實驗結果表明,結合膠囊網絡的領域對抗神經網絡可以很好地學習源域和目標域的域不變特征,目標域數據可以利用源域所訓練的分類器獲得不錯的效果,驗證了領域適應在意圖識別的可應用性。為將來利用遷移學習研究新領域人機對話系統奠定了一定的基礎。
本文雖然在一定程度上對遷移學習的意圖識別問題取得了進展,但就意圖識別任務本身還有許多值得研究的問題:(1)針對多意圖識別,有時用戶的輸入文本不可能總包含單一意圖,可能包含多種意圖類別,而本文主要基于單意圖識別任務進行研究,后續將針對多意圖識別問題進行研究。(2)針對網絡模型,對特征提取器以及膠囊網絡架構進行改進優化,減少模型參數,提升訓練速度和模型效果。(3)針對未知意圖類別。新領域對話系統具有數據稀缺的特點,而意圖類別通常由人工預先定義,這樣可能造成新領域中部分文本的意圖在已知意圖類別中不存在,即存在意圖類別不完善的情況。后續將對未知意圖進行研究。