南京郵電大學(xué)計(jì)算機(jī)學(xué)院 鄭思露
人機(jī)對(duì)話意圖識(shí)別是自然語(yǔ)言處理領(lǐng)域的一個(gè)研究熱點(diǎn),通常是將對(duì)話轉(zhuǎn)錄為文本,通過(guò)對(duì)文本進(jìn)行分類實(shí)現(xiàn)對(duì)意圖的識(shí)別。針對(duì)人機(jī)對(duì)話中對(duì)話文本短導(dǎo)致缺少足夠的語(yǔ)境信息和因用戶說(shuō)話比較隨意導(dǎo)致意圖表達(dá)不清晰的問(wèn)題,提出一種基于ERNIE-BiLSTMCapsule(EBC)的意圖識(shí)別模型。模型以能夠依據(jù)不同上下文生成動(dòng)態(tài)生成詞向量的知識(shí)增強(qiáng)ERNIE作為詞嵌入模塊;并利用BiLSTM來(lái)捕捉意圖在上下文上的表達(dá);最后用膠囊網(wǎng)絡(luò)來(lái)有效地編碼文本意圖在不同維度與真實(shí)意圖標(biāo)簽之間的關(guān)系,提高文本分類能力。在CCKS意圖識(shí)別數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),驗(yàn)證了模型在準(zhǔn)確度和綜合準(zhǔn)確率F1有顯著提高。
隨著近年來(lái)深度學(xué)習(xí)的快速發(fā)展,人機(jī)對(duì)話系統(tǒng)也變得越來(lái)越智能化。人機(jī)對(duì)話系統(tǒng)主要由語(yǔ)音識(shí)別、口語(yǔ)理解、對(duì)話管理、對(duì)話生成、語(yǔ)音生成五部分組成,如圖1所示。其中語(yǔ)言識(shí)別是將對(duì)話轉(zhuǎn)成文本的形式;口語(yǔ)理解是識(shí)別出用戶的具體意圖;對(duì)話管理是根據(jù)對(duì)話歷史信息,決定此刻對(duì)用戶的反應(yīng);對(duì)話生成是生成機(jī)器反饋給用戶的內(nèi)容;語(yǔ)音生成則是將內(nèi)容以語(yǔ)音的形式反饋給用戶。其中口語(yǔ)理解至關(guān)重要,而用戶意圖識(shí)別的準(zhǔn)確性則直接影響整個(gè)對(duì)話系統(tǒng)的性能。
圖1 人機(jī)對(duì)話系統(tǒng)架構(gòu)Fig.1 Architecture of man-machine dialogue system
意圖識(shí)別是將對(duì)話文本歸類到預(yù)先設(shè)定好的類別中。相較于書面文本是具有完整、系統(tǒng)含義的一個(gè)句子或多個(gè)句子的組合,對(duì)話文本則相對(duì)較短而且在用戶在意圖的表達(dá)上也比較隨意,因此傳統(tǒng)的文本分類方法很難從中識(shí)別出用戶的具體意圖。
針對(duì)上述問(wèn)題,本文提出一種基于知識(shí)增強(qiáng)預(yù)訓(xùn)練模型的中文對(duì)話短文本意圖識(shí)別模型EBC。首先通過(guò)ERNIE預(yù)訓(xùn)練模型的嵌入得到文本的語(yǔ)義的增強(qiáng)表示;然后利用雙向長(zhǎng)短期記憶網(wǎng)絡(luò)提取意圖在對(duì)話中的分布情況;最后利用利用膠囊網(wǎng)絡(luò)的動(dòng)態(tài)路由去選擇意圖,從而實(shí)現(xiàn)口語(yǔ)文本的意圖識(shí)別。
近些年來(lái),隨著深度學(xué)習(xí)的迅猛發(fā)展,深度學(xué)習(xí)的方法被不斷地應(yīng)用在意圖識(shí)別上。Hashemi等[1]利用CNN進(jìn)行文本特征提取,通過(guò)提取意圖文本的局部特征來(lái)獲取意圖信息,并通過(guò)分類器識(shí)別出對(duì)應(yīng)的意圖。Wang Y[2]等利用LSTM、CNN和主題模型在提取特征上的優(yōu)點(diǎn)來(lái)構(gòu)建營(yíng)銷領(lǐng)域的意圖識(shí)別,相比于單個(gè)模型,聯(lián)合多種模型的優(yōu)點(diǎn)可以提高意圖識(shí)別的效果。Chen T[3]將同時(shí)考慮上下文意圖之間的關(guān)系并關(guān)注整個(gè)文本要表達(dá)的重點(diǎn),設(shè)計(jì)包含注意力和雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)的模型,在客車意圖查詢上取得了較大的進(jìn)步。上述網(wǎng)絡(luò)在文本表示階段均采用靜態(tài)詞向量,由于口語(yǔ)中存在一詞多義的現(xiàn)象,而靜態(tài)詞向量無(wú)法表示一詞多義,這會(huì)給整個(gè)網(wǎng)絡(luò)帶來(lái)一種錯(cuò)誤的信息,從而導(dǎo)致意圖識(shí)別效果難以有較大的提升。隨著以BERT為代表的預(yù)訓(xùn)練模型的提出,其在11項(xiàng)自然語(yǔ)言處理任務(wù)中均取得了最好的效果。Liu D等[4]利用BERT作為預(yù)訓(xùn)練模型,并使用BiLSTM構(gòu)建面向任務(wù)的人機(jī)對(duì)話的意圖檢測(cè)模型。針對(duì)BERT在MASK的對(duì)象是Word,百度提出ERNIE模型,對(duì)命名實(shí)體和短語(yǔ)做MASK操作,相比于對(duì)Word做MASK,ERNIE能捕捉到更多的語(yǔ)義信息。
Hinton在2017年提出的膠囊網(wǎng)絡(luò)已經(jīng)在圖像領(lǐng)域取得了很好的效果,膠囊網(wǎng)絡(luò)在圖像領(lǐng)域強(qiáng)調(diào)其網(wǎng)絡(luò)具有方向、大小等屬性的識(shí)別和內(nèi)部聯(lián)系的生成一樣,將膠囊網(wǎng)絡(luò)應(yīng)用在自然語(yǔ)言處理上,則可以解釋為從不同的角度將文本信息與類別進(jìn)行關(guān)聯(lián)。Zhao[5]等第一次將膠囊網(wǎng)絡(luò)應(yīng)用在文本分類中,其分類的效果要優(yōu)于CNN。 Xia[6]提出一種注意力機(jī)制和膠囊網(wǎng)絡(luò)結(jié)合意圖分類模型,該模型通過(guò)注意力機(jī)制提取意圖文本的語(yǔ)義特征,然后利用膠囊網(wǎng)絡(luò)的動(dòng)態(tài)路由機(jī)制對(duì)意圖進(jìn)行分類,并取得了不錯(cuò)的效果。Renkens[7]結(jié)合雙向循環(huán)神經(jīng)網(wǎng)絡(luò)和膠囊網(wǎng)絡(luò)對(duì)口語(yǔ)的意圖進(jìn)行了識(shí)別。Liu J[8]利用膠囊網(wǎng)絡(luò)對(duì)短文本的意圖識(shí)別進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明膠囊網(wǎng)絡(luò)在小型短文本數(shù)據(jù)集上的優(yōu)勢(shì)。膠囊網(wǎng)絡(luò)中利用了動(dòng)態(tài)路由進(jìn)行膠囊之間關(guān)系學(xué)習(xí),建立了特征之間的姿態(tài)關(guān)系,相比與卷積神經(jīng)網(wǎng)絡(luò),膠囊網(wǎng)絡(luò)在小數(shù)據(jù)集上的優(yōu)勢(shì)明顯。
ERNIE(Enhanced Representation through kNowledge IntEgration)是百度提出的語(yǔ)義表示模型,基于Transformer Encoder,相較于BERT,ERNIE通過(guò)建模海量數(shù)據(jù)中的詞、實(shí)體及實(shí)體關(guān)系,學(xué)習(xí)真實(shí)世界的語(yǔ)義知識(shí)。相較于BERT學(xué)習(xí)原始語(yǔ)言信號(hào),ERNIE直接對(duì)先驗(yàn)語(yǔ)義知識(shí)單元進(jìn)行建模,增強(qiáng)了模型語(yǔ)義表示能力。BERT模型MASK策略如圖2所示,ERNIE模型MASK的策略如圖3所示。
圖2 BERT MASK策略Fig.2 BERT MASK policy
圖3 ERNIE MASK策略Fig.3 ERNIE MASK policy
BERT在MASK時(shí)采用隨機(jī)策略,隨機(jī)選擇句子中的部分字,而ERNIE在MASK是通過(guò)識(shí)別出句子中的實(shí)體,將實(shí)體信息加入到詞向量的訓(xùn)練中。對(duì)比BERT的隨機(jī)策略,ERNIE的操作可以豐富詞向量的語(yǔ)義信息,提高詞向量的質(zhì)量。
膠囊網(wǎng)絡(luò)是Hinton提出的旨在用向量的輸入輸出取代標(biāo)量的輸入輸出。膠囊網(wǎng)絡(luò)主要包含三個(gè)部分,初始膠囊層、Squash壓縮激活函數(shù)、動(dòng)態(tài)路由。
一個(gè)膠囊是一個(gè)向量,而文本的輸入則是標(biāo)量,初始膠囊層的作用就是將一組標(biāo)量“加工”為一個(gè)個(gè)膠囊。每一個(gè)膠囊表示一個(gè)屬性,而膠囊的向量則表示這個(gè)屬性的“標(biāo)架”。相比于之前只用一個(gè)標(biāo)量表示有沒(méi)有某個(gè)屬性,現(xiàn)在用一個(gè)向量來(lái)表示,不僅表示有沒(méi)有,還表示“又什么樣的”。
在膠囊網(wǎng)絡(luò)里使用Squash壓縮激活函數(shù)來(lái)進(jìn)行特征選擇,公式如(1) 所示:
在膠囊網(wǎng)絡(luò)中膠囊的模長(zhǎng)能夠代表這個(gè)特征的概率,式(1)中Vj表示第j個(gè)膠囊的輸出將模長(zhǎng)變?yōu)?表示特征的“顯著程度”,模長(zhǎng)越長(zhǎng),這個(gè)特征越顯著。
在卷積神經(jīng)網(wǎng)絡(luò)中通過(guò)池化來(lái)提取特征,采用池化可以提取局部的顯著特征,但是池化會(huì)丟掉很多有用的信息,膠囊網(wǎng)絡(luò)中通過(guò)動(dòng)態(tài)路由來(lái)達(dá)到特征選擇的目的。動(dòng)態(tài)路由的過(guò)程如圖4所示:
圖4 Capsule的動(dòng)態(tài)路由Fig.4 Dynamic routing of Capsule
Capsule動(dòng)態(tài)路由偽代碼如算法1所示:
?
本節(jié)主要介紹EBC的整體結(jié)構(gòu)以及每一個(gè)部分的主要作用,EBC架構(gòu)如圖5所示。
圖5 EBC模型架構(gòu)Fig.5 EBC model architecture
首先,將對(duì)話文本轉(zhuǎn)換為ERNIE模型可以接收的形式,ERNIE模型會(huì)先對(duì)其進(jìn)行MASK,在MASK的時(shí)候會(huì)識(shí)別出文本中的實(shí)體信息,然后再將識(shí)別出的實(shí)體之間關(guān)系加入到雙向Transformer進(jìn)行動(dòng)態(tài)詞向量的訓(xùn)練,從而得到符合語(yǔ)境且含有實(shí)體信息的詞向量E。
然后將詞向量E輸入到BiLSTM中,其中LSTM的內(nèi)部結(jié)構(gòu)如圖6所示。
圖6 LSTM內(nèi)部結(jié)構(gòu)Fig.6 LSTM internal structure
其中Yt表示t時(shí)刻輸入詞,Ct-1表示內(nèi)部信息狀態(tài),ht-1表示t-1時(shí)刻輸出的隱藏狀態(tài),ft表示遺忘門,it表示記憶門,Ot表示輸出門。LSTM的計(jì)算過(guò)程可以概括為:通過(guò)對(duì)內(nèi)部信息遺忘和記憶新的信息使得對(duì)后續(xù)時(shí)刻計(jì)算有用的信息得以傳遞,而無(wú)用的信息被丟棄,并在每個(gè)時(shí)間步都會(huì)輸出隱藏狀態(tài),其中遺忘、記憶與輸出通過(guò)由上個(gè)時(shí)刻的隱層狀態(tài)和當(dāng)前輸入計(jì)算出來(lái)的遺忘門,記憶門,輸出門來(lái)控制。具體計(jì)算過(guò)程如式(2)-式(7)所示:
其中Wf、Wi、Wo為參數(shù)矩陣,bo、bc、bf、為偏置項(xiàng)為Sigmoid激活函數(shù),·表示矩陣乘法表示元素乘法。
而BiSLTM則是將前向LSTM的輸出和后向LSTM的輸出進(jìn)行拼接得到H。H不僅含有上文意圖對(duì)下文意圖的影響,也包含了下文意圖對(duì)上文意圖的影響。
最后將蘊(yùn)含了上下文意圖分布的特征H送入膠囊分類網(wǎng)絡(luò)中,膠囊網(wǎng)絡(luò)將意圖在不同維度上的特征看做是一個(gè)膠囊,并通過(guò)動(dòng)態(tài)路由機(jī)制來(lái)捕獲每個(gè)膠囊與意圖之間的關(guān)系,無(wú)需通過(guò)反向傳播的方式進(jìn)行更新。
本文在全國(guó)知識(shí)圖譜與語(yǔ)義計(jì)算大會(huì)技術(shù)評(píng)測(cè)任務(wù)2意圖識(shí)別數(shù)據(jù)集(CCKS2018)進(jìn)行實(shí)驗(yàn)。該數(shù)據(jù)集全部采自真實(shí)的對(duì)話情景,包括12000條有標(biāo)記的數(shù)據(jù),共有2類,其中有點(diǎn)歌的意圖7535條記錄、沒(méi)有點(diǎn)歌的意圖4465條記錄,按照訓(xùn)練集∶驗(yàn)證集∶測(cè)試集=8∶1∶1的比例分配。數(shù)據(jù)集分布如表1所示。
表1 數(shù)據(jù)集分布Tab.1 Data set distribution
本文對(duì)比常用的幾種經(jīng)典的模型,并選用準(zhǔn)確率(Precision)、召回率(Recall)和F1分?jǐn)?shù)(F1- score)作為模型的評(píng)價(jià)標(biāo)準(zhǔn)。各模型結(jié)果如表2所示。在表2中,本文所提的EBC模型在意圖識(shí)別任務(wù)上取得了88.48%的準(zhǔn)確率、88.29%的召回率以及88.35%的F1分?jǐn)?shù)。從中可以得出融合實(shí)體信息并捕獲上下文意圖的關(guān)系可以顯著提高意圖識(shí)別的準(zhǔn)確率。
表2 不同模型在CCKS數(shù)據(jù)集上效果 Tab.2 Effect of different models on CCKS dataset
從表2中還可以看出,僅使用ERNIE作為詞嵌入模塊,然后在接一個(gè)Softmax分類網(wǎng)絡(luò)所取得的效果,比在詞嵌入模塊使用靜態(tài)詞向量然后從不同角度對(duì)意圖的特征進(jìn)行提取所取得的效果要好不少。由此也能說(shuō)明,在詞嵌入模塊通過(guò)mask文本中的實(shí)體信息,并加入到雙向Transformer中進(jìn)行訓(xùn)練所獲得的動(dòng)態(tài)詞向量能夠很好地表示語(yǔ)義信息,也說(shuō)明一個(gè)好的文本表示對(duì)于意圖識(shí)別而言是重要的。
本文提出了一種基于EBC的意圖識(shí)別方法,口語(yǔ)有效解決口語(yǔ)理解中語(yǔ)境匱乏和意圖不清晰的問(wèn)題。并驗(yàn)證了在意圖識(shí)別任務(wù)中實(shí)體信息和上下文意圖之間關(guān)聯(lián)對(duì)于意圖效果的重要性。下一步將從意圖識(shí)別與語(yǔ)義槽填充兩者之間的關(guān)聯(lián)出發(fā),利用語(yǔ)義槽填充輔助提升意圖識(shí)別任務(wù)的效果。