李 實(shí),孫鎮(zhèn)鵬
東北林業(yè)大學(xué)信息與計(jì)算機(jī)工程學(xué)院,哈爾濱 150040
目前現(xiàn)實(shí)生活中的人機(jī)交互方式主要以人機(jī)對話為主,如蘋果Siri、谷歌Home等。人機(jī)對話中的口語理解(spoken language understanding,SLU)是整個對話系統(tǒng)中的關(guān)鍵組成部分,其準(zhǔn)確性將直接影響著對話系統(tǒng)的性能。
意圖識別(intent detection)和語義槽填充(slot filling)是口語理解中的兩個主要任務(wù)[1]。意圖識別的目的是根據(jù)用戶輸入的話語推斷出話語中對應(yīng)的意圖[1],根據(jù)用戶的意圖將話語劃分為先前定義的意圖類別,可以看作預(yù)測意圖標(biāo)簽的分類任務(wù)。意圖是用戶的意愿,包含用戶在對話中表達(dá)的行為信息,一般由“動詞+名詞”組成。
語義槽填充旨在為用戶輸入話語的每個單詞識別并標(biāo)注特定領(lǐng)域關(guān)鍵詞的屬性值,屬于序列標(biāo)記任務(wù)[2]。語義槽填充的屬性標(biāo)注方法采用BⅠO(beginning,inside,outside)標(biāo)注策略,其中“B”表示屬于同一種槽類型短語的開始單詞,“Ⅰ”表示屬于同一種槽類型短語的后續(xù)單詞,“O”標(biāo)記無關(guān)詞匯。這兩個任務(wù)的目的是將用戶所輸入的話語轉(zhuǎn)化為計(jì)算機(jī)能夠理解的形式并形成如表1所示的語義框架[3]。由于這兩個任務(wù)有密切的聯(lián)系,考慮意圖和語義槽之間的關(guān)系能共同提升兩個任務(wù)的性能,例如在表1 的語句中,如果識別出用戶的意圖是播放音樂,那么“最長的電影”的語義槽標(biāo)簽就會被預(yù)測為“B-音樂名”而不是電影名。因此現(xiàn)在主流的口語理解系統(tǒng)中采用聯(lián)合模型來建模兩個任務(wù)的相關(guān)性。
表1 口語理解語義框架Table 1 Spoken language comprehension semantic framework
在現(xiàn)實(shí)生活中,用戶通常在一句話語中表達(dá)多個意圖。Gangadharaiah 等人[4]在亞馬遜數(shù)據(jù)集中發(fā)現(xiàn)用戶的話語表達(dá)往往不只有一個意圖,其中52%的示例含有多個意圖,所以口語理解中多意圖識別(Multi-Ⅰntent Detection)的研究越發(fā)重要。然而,現(xiàn)有的多意圖識別聯(lián)合建模的研究較少,大部分模型只能對單一意圖進(jìn)行識別,無法同時理解用戶語句中的多個意圖,或未能充分利用多個意圖信息與語義槽之間的關(guān)聯(lián)關(guān)系。
目前多意圖識別存在的問題大致有:(1)數(shù)據(jù)來源匱乏[1]。在實(shí)際的意圖識別的研究過程中,帶標(biāo)注的文本較少,獲取也十分困難,給多意圖識別的研究和發(fā)展帶來了阻礙。(2)用戶表達(dá)的不規(guī)范性。用戶的對話文本一般具有表達(dá)口語化、指代關(guān)系多、內(nèi)容省略等特點(diǎn),這就加大了意圖識別的難度。(3)意圖的隱含性。隱式意圖指用戶沒有明確自己的意圖需求,需要通過分析用戶的潛在意圖來推理用戶的真實(shí)意圖[2],這也給多意圖識別的研究帶來了挑戰(zhàn)。因此如何對針對口語短文本進(jìn)行多個意圖的識別并與語意槽填充任務(wù)進(jìn)行聯(lián)合訓(xùn)練是一個難點(diǎn)。
針對上述問題,本文提出了引入標(biāo)簽信息的意圖-語義槽雙向交互的圖注意力網(wǎng)絡(luò)模型(label attention bidirectional interaction model,Label Bi-Ⅰnteraction)來建立兩個任務(wù)的雙向關(guān)聯(lián),自適應(yīng)的學(xué)習(xí)多個意圖與語義槽之間的關(guān)系,使得模型可以整合話語中的多個意圖信息引導(dǎo)相關(guān)的語義槽填充,利用語義槽信息促進(jìn)意圖更好地識別,彌補(bǔ)現(xiàn)有聯(lián)合模型中兩個任務(wù)關(guān)聯(lián)信息未能充分利用的不足,增強(qiáng)兩個任務(wù)的交互性。同時考慮到多標(biāo)簽分類任務(wù)(multi-label,ML)與多意圖識別任務(wù)的相似性,借鑒多標(biāo)簽分類任務(wù)中引入標(biāo)簽信息的方法[5]將意圖和語義槽標(biāo)簽的信息和語句上下文隱藏狀態(tài)進(jìn)行融合,建立標(biāo)簽與話語上下文之間的關(guān)系,從而提高了意圖識別與語義槽填充的準(zhǔn)確率,使模型更好地識別用戶話語中的多個意圖。
傳統(tǒng)口語理解任務(wù)的管道方法(pipeline method)獨(dú)立建模意圖識別和語意槽填充兩個任務(wù)。意圖識別可以看作預(yù)測意圖標(biāo)簽的分類任務(wù),挖掘用戶在語句中表達(dá)的意圖,許多句子分類方法被用于意圖識別[2]。傳統(tǒng)的機(jī)器學(xué)習(xí)模型有樸素貝葉斯模型(naive Bayesian model,NBM)[6]、支持向量機(jī)(support vector machines,SVM)[7]、Adaboost[8]等。神經(jīng)網(wǎng)絡(luò)興起后,一些基于深度學(xué)習(xí)模型的研究也取得了不俗的效果,主要的有卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)以及循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)及其變體。Xu 和Sarikaya[9]利用CNN[10]提取5-gram 特征并應(yīng)用最大池化獲得單詞表示;Ravuri 和Stolcke[11]成功地將RNN 和長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)[12]應(yīng)用于意圖識別任務(wù),這表明序列特征有利于意圖識別任務(wù);Xia等人[13]采用基于膠囊[14]的神經(jīng)網(wǎng)絡(luò)[15]對意圖識別分類進(jìn)行研究。
語義槽填充可以看作序列標(biāo)記任務(wù),旨在得到用戶話語中的語義槽和其對應(yīng)的值[2]。序列標(biāo)注領(lǐng)域中常用的機(jī)器學(xué)習(xí)模型有隱馬爾科夫(hidden markov model,HMM)[16]、最大熵馬爾科夫(maximum entropy Markov model,MEMM)[17]、條件隨機(jī)場(conditional random fields,CRF)[18]等。深度學(xué)習(xí)中常用的長短期記憶網(wǎng)絡(luò)(LSTM)[19]和門控制循環(huán)單元(gate recurrent unit,GRU)[20]模型也取得了不錯的效果。例如,Yao等人[21]采用RNN語言模型RNN-LMs 來預(yù)測語義槽標(biāo)簽,隨后又提出了一種用于槽填充任務(wù)的LSTM 框架[22];Mesnil 等人[23]研究了幾種RNN 架構(gòu),包括Elman RNN、Jordan RNN 及其用于SLU 的版本;Liu 和Lane[24]提出使用采樣方法對插槽標(biāo)簽依賴關(guān)系進(jìn)行建模,通過將采樣的輸出標(biāo)簽(真實(shí)或預(yù)測)反饋給序列狀態(tài);Kurata等人[25]利用來自編碼器的句子級信息來提高語義槽填充任務(wù)的性能。目前學(xué)術(shù)界的主流做法是將神經(jīng)網(wǎng)絡(luò)自動提取特征與機(jī)器學(xué)習(xí)計(jì)算聯(lián)合概率相結(jié)合,如Bi-LSTM+CRF 的模型等[26-29]。
由于意圖識別和語意槽填充兩個任務(wù)有密切的聯(lián)系,單意圖口語理解系統(tǒng)中采用聯(lián)合模型來建模兩個任務(wù)的相關(guān)性以提升口語理解任務(wù)的準(zhǔn)確率。為此,Zhang 等人[30]基于多任務(wù)學(xué)習(xí)框架提出了一個聯(lián)合模型;Liu 等人[31]提出了一個基于注意力的RNN 模型,應(yīng)用了一個聯(lián)合損失函數(shù)來隱式地連接兩個任務(wù);Hakkani-Tür 等人[29]引入了一個RNN-LSTM 模型。但上述研究沒有建立意圖和語義槽之間的顯式關(guān)系,他們只是通過共享參數(shù)來模擬意圖和語義槽之間的關(guān)系。隨后Goo等人[32]提出了一種語義槽門控模型,該模型將意圖信息顯式地應(yīng)用于語義槽填充任務(wù)并取得了優(yōu)異的性能;Qin 等人[33]提出了一種新的堆棧傳播框架來執(zhí)行Token級的意圖識別并指導(dǎo)語義槽填充。上述模型都取得了很好的性能,但以前的大多數(shù)工作只關(guān)注簡單的單一意圖場景,他們的模型是基于每一個話語只有一個意圖的假設(shè)進(jìn)行訓(xùn)練。
隨著研究的深入發(fā)現(xiàn),用戶通常在一句話語中表達(dá)多個意圖。針對多意圖識別任務(wù),Xu 等人[34]采用對數(shù)線性模型并利用不同意圖組合之間的共享意圖信息進(jìn)行多意圖識別,但是針對大量的意圖組合則會出現(xiàn)數(shù)據(jù)稀疏問題;Kim等人[35]提出一種基于單意圖標(biāo)記訓(xùn)練數(shù)據(jù)的多意圖識別系統(tǒng),他將句子看作三種類型,單意圖語句、帶連詞的多意圖語句和不帶連詞的多意圖語句,然后采用兩階段法,但限定只能識別兩種意圖;Yang等人[36]將用戶意圖文本進(jìn)行依存句法分析確定是否包含多種意圖,利用詞頻-逆文檔頻率(term frequency-inverse document frequency,TF-ⅠDF)和訓(xùn)練好的詞向量計(jì)算矩陣距離確定意圖的數(shù)量,將句法特征和卷積神經(jīng)網(wǎng)絡(luò)(CNN)結(jié)合進(jìn)行意圖分類,最終判別用戶的多種意圖,該方法在多種類別的多意圖識別任務(wù)中取得不錯的效果,但是依賴于句法結(jié)構(gòu)特征;Liu等人[37]采用膠囊網(wǎng)絡(luò)(capsule network)構(gòu)造基于單意圖標(biāo)記的多意圖分類器對用戶表達(dá)的多種意圖進(jìn)行識別。但上述工作主要研究如何識別多個意圖,沒有考慮多個意圖和語義槽的關(guān)系進(jìn)行聯(lián)合建模。
多意圖口語理解的聯(lián)合建模與之前單意圖的口語理解模型利用話語中單一意圖來指導(dǎo)槽填充的方法[32-33]不同,多意圖口語理解面臨一個獨(dú)特的挑戰(zhàn),即如何有效地結(jié)合多個意圖信息來引導(dǎo)槽預(yù)測。Gangadharaiah等人[4]首先探索了具有語義槽門控機(jī)制的多任務(wù)框架;Wang等人[38]提出了一種雙向模型考慮意圖與語義槽的交叉影響;文獻(xiàn)[39]提出了一種SF-ⅠD網(wǎng)絡(luò),為意圖識別和語義槽填充建立直接連接,使兩者相互促進(jìn)。他們的模型通過簡單地將意圖上下文向量視為多個意圖信息來合并意圖信息,雖然這是合并多個意圖信息的直接方法,但每個槽位都由相同的意圖信息引導(dǎo),沒有為槽填充提供細(xì)粒度的意圖信息集合。針對上述問題,Qin等人[40]提出了一種自適應(yīng)交互網(wǎng)絡(luò),以實(shí)現(xiàn)多意圖信息對槽填充進(jìn)行Token級的細(xì)粒度引導(dǎo),隨后又進(jìn)一步提出了一種用于聯(lián)合多意圖檢測和語義槽填充的非自回歸框架[41],其中局部槽位感知圖交互層每個語義槽隱藏狀態(tài)彼此連接,以明確地建模語義槽位依賴性,以緩解由于非自回歸方式導(dǎo)致的不協(xié)調(diào)語義槽問題并引入全局意圖-語義槽圖交互層來執(zhí)行句子級意圖和語義槽交互。但上述模型在多意圖識別任務(wù)中沒有利用語義槽的信息,直接的雙向連接仍未建立,實(shí)際上意圖信息和語義槽信息之間具有高度相關(guān)性,可以相互促進(jìn)。
為了增強(qiáng)意圖識別和語義槽填充兩個任務(wù)的相互關(guān)聯(lián)性,本文提出了引入標(biāo)簽信息的意圖與語義槽雙向交互模型,模型框架如圖1 所示,該模型由一個共享的編碼器(2.1節(jié))、意圖和語義槽的標(biāo)簽信息注意力層(2.2節(jié))、意圖-語義槽雙向交互的圖注意力層(2.3節(jié)),以及用于意圖識別和語義槽填充的解碼器(2.4節(jié))組成。
圖1 模型總體框架Fig.1 General framework of model
模型采用BiLSTM 對輸入序列X={x1,x2,…,xn}進(jìn)行話語的時序和上下文信息建模,經(jīng)過BiLSTM編碼話語可以結(jié)合時序特征和上下文信息。第一層LSTM前向從x1到xn讀取話語,第二層LSTM 后向從xn到x1讀取話語,通過反復(fù)應(yīng)用得到含有整個話語的時序特征和上下文信息的隱藏狀態(tài)其中n是token的數(shù)量,φemb表示嵌入函數(shù)。同理將意圖標(biāo)簽Ilabel和語義槽標(biāo)簽Slabel輸入BiLSTM 編碼器得到意圖和語義槽標(biāo)簽的隱藏狀態(tài)HIlabel和HSlabel。
多意圖話語可能由一個或多個意圖標(biāo)簽標(biāo)記,并且話語中的每個單詞對每個標(biāo)簽的貢獻(xiàn)度不同。因此,為了得到與標(biāo)簽相關(guān)的單詞文本表示,本文設(shè)計(jì)了標(biāo)簽注意力機(jī)制(label attention layer)將意圖和語義槽的標(biāo)簽信息與話語輸入的上下文信息進(jìn)行融合,使模型除了學(xué)習(xí)到話語的上下文信息外,還能學(xué)習(xí)到上下文與標(biāo)簽之間的關(guān)系,具體方式如圖1(b)所示。
共享編碼層得到的Hw作為Query矩陣,Hvlab(elv∈{IorS},I代表意圖,S代表語義槽)作為Key 和Value矩陣,經(jīng)過注意力層交互后得到A={a1,a2,…,an} 后,與上下文隱藏層狀態(tài)Hw進(jìn)行拼接得到包含標(biāo)簽關(guān)系的意圖表示和語義槽表示HS=一起送入意圖-語義槽圖交互層建立雙向交互。
本文提出的意圖-語義槽圖交互層采用圖注意網(wǎng)絡(luò)(graph attention network,GAT)[42]建立意圖和語義槽信息之間的雙向交互,使模型自適應(yīng)地將多個意圖信息與語義槽雙向關(guān)聯(lián),使用多個意圖信息來引導(dǎo)語義槽位的填充,同時也利用語義槽值的信息來幫助多個意圖的識別。因?yàn)閳D注意力網(wǎng)絡(luò)可以融合模型中的圖結(jié)構(gòu)信息和節(jié)點(diǎn)特征,GAT的掩碼自注意力(masked self-attention)層能促使節(jié)點(diǎn)關(guān)注相鄰節(jié)點(diǎn)的特征并學(xué)習(xí)不同的注意力權(quán)重,可以自動獲取當(dāng)前節(jié)點(diǎn)與其鄰接節(jié)點(diǎn)之間的重要性和相關(guān)性。
對于具有N個節(jié)點(diǎn)的給定圖,單層GAT 獲取初始節(jié)點(diǎn)特征作為輸入,旨在生成更多抽象的表示作為其輸出。GAT的注意力機(jī)制可以總結(jié)為:
其中,Ni是圖中節(jié)點(diǎn)i(包括i)的一階鄰居節(jié)點(diǎn),Wh∈RF′×F和a∈R2F′是可訓(xùn)練的權(quán)重矩陣,αij是歸一化注意力權(quán)重,表示每個h?j對h?i的重要性,σ代表非線性激活函數(shù)。GAT通過mask attention將圖結(jié)構(gòu)注入機(jī)制,即GAT只計(jì)算節(jié)點(diǎn)j∈Ni的f(h?i,h?j)。為了使自注意力的學(xué)習(xí)過程更加穩(wěn)定,將上述機(jī)制擴(kuò)展為采用Vaswani 等人[43]的多頭注意力:
其中,是由第k個函數(shù)fk計(jì)算的歸一化注意力權(quán)重,||是連接操作,K是注意力機(jī)制的數(shù)量。因此,輸出將由中間層的K×F′特征組成,最后的預(yù)測層將采用平均法得到最終的預(yù)測結(jié)果。
本文通過構(gòu)建意圖-語義槽的雙向交互層以實(shí)現(xiàn)句子層面的意圖和token 級語義槽的互動,所有預(yù)測的多個意圖和語義槽都被連接起來,連接類型如圖1(c)所示,圖G的具體構(gòu)建方式如下:
節(jié)點(diǎn):對意圖和語義槽位之間的進(jìn)行token 級交互建模,在圖中模型有n+m個節(jié)點(diǎn),其中n是序列長度,m是意圖標(biāo)簽的數(shù)量。語義槽token 特征的輸入為,輸入的意圖特征為,其中是一個可訓(xùn)練的嵌入矩陣。語義槽和意圖節(jié)點(diǎn)的第一層狀態(tài)向量是
圖G邊的構(gòu)建有三種類型的連接:
意圖-意圖連接。仿照Qin[40]的做法,將所有的意圖節(jié)點(diǎn)相互連接起來,以模擬每個意圖之間的關(guān)系,因?yàn)樗鼈兌急磉_(dá)了同一個語句的意圖。
語義槽-語義槽連接。構(gòu)建了語義槽位之間的連接,每個槽節(jié)點(diǎn)都連接到其前后的槽節(jié)點(diǎn),以進(jìn)一步建模語義槽的相關(guān)性,納入雙向的上下文信息。
意圖-語義槽連接。由于意圖和語義槽高度相關(guān),構(gòu)建了意圖-語義槽位連接來模擬這兩個任務(wù)之間的交互。其中,每個語義槽連接所有預(yù)測的多個意圖,以自動捕捉相關(guān)的意圖信息。
GAT信息聚合層的聚合過程可以表述為:
其中,GS和GI是頂點(diǎn)集,分別表示連接的語義槽和意圖。促使每個token捕獲相應(yīng)的相關(guān)意圖信息。采用圖注意網(wǎng)絡(luò)來模擬意圖和語義槽在標(biāo)記層面的交互。表示第l層圖中的節(jié)點(diǎn)i,該圖由t時間步長的解碼器狀態(tài)節(jié)點(diǎn)和意圖節(jié)點(diǎn)組成。是第l層中的隱藏狀態(tài)表示。為了更好地利用多個意圖信息,語義槽位隱藏狀態(tài)節(jié)點(diǎn)直接與所有意圖節(jié)點(diǎn)相連,第l層中的節(jié)點(diǎn)表示的計(jì)算為:
其中,Ni代表節(jié)點(diǎn)i的一階鄰居,所有節(jié)點(diǎn)表征的更新過程可由公式(3)~(8)計(jì)算。通過L層自適應(yīng)意圖-語義槽的圖交互,得到了t時間步長的最終的隱狀態(tài)表示,它可以自適應(yīng)地捕獲token級的重要意圖信息。用于意圖識別和語義槽的預(yù)測。
語義槽填充任務(wù)的計(jì)算公式為:
其中,為話語中第t個單詞預(yù)測的語義槽標(biāo)簽。
意圖識別任務(wù)的計(jì)算公式為:
其中,Wi、Wc是可訓(xùn)練的參數(shù)矩陣,σ代表sigmoid 激活函數(shù),是話語的意圖輸出,n是單個意圖標(biāo)簽的數(shù)量。因?yàn)楸疚氖嵌嘁鈭D識別任務(wù),最終的多個意圖I={I1,I2,…,Im} 由預(yù)測值大于閾值tI的意圖構(gòu)成,其中0 <tI<1.0。
本文采用聯(lián)合訓(xùn)練來優(yōu)化更新意圖識別和語義槽填充兩個任務(wù)的參數(shù),聯(lián)合訓(xùn)練的公式為:
其中,、分別為意圖和語義槽的真實(shí)標(biāo)簽,NI是單個意圖標(biāo)簽的數(shù)量,NS是語義槽標(biāo)簽的數(shù)量,n是話語中的單詞數(shù),最終的聯(lián)合損失公式為:
其中,α是超參數(shù),通過聯(lián)合損失函數(shù)可以對兩個任務(wù)聯(lián)合優(yōu)化,進(jìn)一步減少誤差。
本文在Qin 等人[40]提供的多意圖數(shù)據(jù)集MixSNⅠPS和MixATⅠS上進(jìn)行了實(shí)驗(yàn)。MixSNⅠPS數(shù)據(jù)集由SNⅠPS數(shù)據(jù)集構(gòu)建,其中數(shù)據(jù)來自Snips 個人語音助手,使用and 等連詞連接具有不同意圖的句子,最后得到用于訓(xùn)練的45 000個話語,驗(yàn)證的2 500個話語和測試的2 500個話語。類似地,從ATⅠS 數(shù)據(jù)集構(gòu)建另一個多意圖數(shù)據(jù)集MixATⅠS,ATⅠS數(shù)據(jù)集由預(yù)訂航班用戶的音頻記錄組成,得到用于訓(xùn)練的18 000個話語,驗(yàn)證的1 000個話語和測試的1 000 個話語。在這兩個數(shù)據(jù)集中,包含1、2、3個意圖的話語的比率為[0.3,0.5,0.2],數(shù)據(jù)集劃分情況詳見表2。
表2 用戶話語劃分情況Table 2 User utterances division
實(shí)驗(yàn)采用Adam(adaptive moment estimation)來優(yōu)化本文模型中的參數(shù),實(shí)驗(yàn)設(shè)置的超參數(shù)如表3所示。
表3 模型超參數(shù)Table 3 Model hyperparameters
表中,batch size 為單次迭代訓(xùn)練批處理樣本的個數(shù),L2 regularization 為L2 正則化參數(shù),learning rate 為模型學(xué)習(xí)率,dropout rate 為參數(shù)丟棄率,GAT layers number 為圖交互層數(shù),self-attentive hidden units 為自注意力隱藏層單元數(shù),LSTM hidden units 為Bi-LSTM隱藏層單元數(shù),α為聯(lián)合損失函數(shù)中的超參數(shù),tI為判別多個意圖的閾值。MixSNⅠPS 的epoch 周期為100,MixATⅠS 的epoch 周期為200。對于所有實(shí)驗(yàn),選擇在驗(yàn)證集上效果最好的模型,然后在測試集上對其進(jìn)行評估,實(shí)驗(yàn)均在Tesla V100上進(jìn)行。
本文與以往的意圖識別和語義槽填充聯(lián)合模型進(jìn)行了比較。為了使單意圖SLU 基線可以處理多意圖話語,遵循Joint Multiple ⅠD-SF[4]中的方法將它們識別的單個多意圖標(biāo)簽用#連接起來,以獲得以進(jìn)行公平比較,將更改后的模型命名為串聯(lián)版本。(1)Attention BiRNN[31]:提出了一種基于對齊的RNN和注意力機(jī)制,它隱式地學(xué)習(xí)了意圖和語義槽之間的關(guān)系。(2)Slot-Gated Atten[32]:提出了一個槽門聯(lián)合模型來明確考慮槽填充和意圖檢測之間的相關(guān)性。(3)Bi-Model[38]:提出了Bi-Model 來考慮意圖檢測和槽填充之間的交叉影響。(4)SF-ⅠD Network[39]:提出了一個SF-ⅠD Network模型,為槽填充和意圖識別建立直接連接,以幫助它們相互促進(jìn)。(5)Stack-Propagation[33]:提出了Stack-Propagation 的聯(lián)合模型來捕獲意圖語義知識并進(jìn)行Token 級的意圖識別以進(jìn)一步緩解錯誤傳播。(6)Joint Multiple ⅠD-SF[4]:采用了一種多任務(wù)框架,該框架具有用于多意圖識別和槽填充的Slot-gated 機(jī)制。(7)AGⅠF[40]:提出了一種用于聯(lián)合多意圖識別和語義槽填充的自適應(yīng)Graph-Ⅰnteractive框架,該框架提取了用于Token 級槽填充的意圖信息。(8)GL-GⅠN[41]:提出了聯(lián)合多意圖識別和語義槽填充的非自回歸方法,加快了模型的解碼時間,并使用語義槽的局部交互圖處理非自回歸方法帶來的不協(xié)調(diào)的語義槽問題。
本文使用F1分?jǐn)?shù)評估語義槽填充的性能,使用準(zhǔn)確度評估意圖識別的性能,使用總體準(zhǔn)確度評估話語級語義框架解析的性能,總體準(zhǔn)確度代表句子中意圖和語義槽都被正確預(yù)測的句子的比例。實(shí)驗(yàn)結(jié)果如表4 所示:與GL-GⅠN 相比,本文模型在MixATⅠS 和MixSNⅠPS數(shù)據(jù)集上,語義槽填充的F1 值分別提高了1.3、0.7 個百分點(diǎn),意圖識別準(zhǔn)確率分別增長了2.4、0.7個百分點(diǎn),語句級的總準(zhǔn)確率分別實(shí)現(xiàn)了1.6、1.0 個百分點(diǎn)的提升。這表明提出的融合標(biāo)簽信息的意圖-語義槽交互圖可以更好地捕捉意圖和語義槽之間的相關(guān)性,使兩個任務(wù)可以相互促進(jìn),從而提高SLU性能。
表4 實(shí)驗(yàn)結(jié)果對比Table 4 Experimental results comparison
此外,本文還對比了模型的時間性能,根據(jù)表4 可以看到本文模型在性能提升的同時并沒有花費(fèi)更多的時間成本。時間復(fù)雜度列中,H表示隱藏層的特征維度,F(xiàn)表示原始的特征維度,F(xiàn)′表示輸出的特征維度,m表示SF-ⅠD網(wǎng)絡(luò)[39]迭代次數(shù),n表示GAT層數(shù),|V|代表圖中的頂點(diǎn)數(shù),|E|代表圖中的邊數(shù)。如表4所示,盡管本文模型在兩個數(shù)據(jù)集上都取得了性能的提升,但兩個數(shù)據(jù)集上的準(zhǔn)確度和F1 值差異較大,MixSNⅠPS 數(shù)據(jù)集上的結(jié)果明顯高于MixATⅠS 數(shù)據(jù)集,主要原因有以下兩方面:(1)MixATⅠS數(shù)據(jù)集中的話語屬于同一領(lǐng)域且意圖類型的劃分更細(xì)粒度化,意圖之間的相似程度較高,這就導(dǎo)致模型在識別意圖時更難判斷意圖的數(shù)量及預(yù)測意圖標(biāo)簽。而MixSNⅠPS數(shù)據(jù)集語料跨多領(lǐng)域,意圖的相似程度相對較低,模型更容易區(qū)分并識別多個意圖,因此在MixSNⅠPS 上多意圖識別任務(wù)的準(zhǔn)確度更高。(2)MixSNⅠPS數(shù)據(jù)集的語義槽標(biāo)簽比MixATⅠS 數(shù)據(jù)集少且話語樣本數(shù)量遠(yuǎn)大于MixATⅠS數(shù)據(jù)集,這樣模型在語義槽填充任務(wù)中能更好地學(xué)習(xí)到語義槽值的相關(guān)信息,因此在MixSNⅠPS 上語義槽填充任務(wù)的F1值更高??傮w準(zhǔn)確度評價(jià)指標(biāo)由多意圖識別和語義槽填充兩個任務(wù)的預(yù)測結(jié)果的計(jì)算得出,因此同樣受上述兩個原因的影響,在兩個數(shù)據(jù)集上呈現(xiàn)出性能的差異。
意圖識別與語義槽填充任務(wù)是緊密關(guān)聯(lián)的,兩個任務(wù)的信息進(jìn)行雙向交互可以相互促進(jìn)。如圖2所示,模型成功預(yù)測出話語意圖為“BookTicket”和“GetWeather”時,可以引導(dǎo)語義槽識別Beijing 作為目的地城市或是查詢天氣的城市的槽值進(jìn)行填充。同理,Harbin的槽值既可能是出發(fā)地也有可能是目的地,當(dāng)模型正確識別Harbin的槽值為出發(fā)地可以消除歧義,一定程度上也能幫助意圖的預(yù)測。下面通過消融實(shí)驗(yàn)分析三個部分的對模型的影響,消融實(shí)驗(yàn)結(jié)果詳見表5。
圖2 意圖與語義槽關(guān)聯(lián)性示例Fig.2 Ⅰntent and semantic slot association
表5 消融實(shí)驗(yàn)Table 5 Ablation experiments單位:%
3.4.1 標(biāo)簽信息的影響
如表5 所示,本文首先去掉模型的標(biāo)簽注意力層,命名為without label attention layer,將Bi-LSTM 層得到的上下文語義信息直接輸入到圖注意力網(wǎng)絡(luò)交互層。這表示模型只能從用戶輸入的語句得到語義信息,不能學(xué)習(xí)到意圖和語義槽標(biāo)簽與上下文之間的關(guān)系。通過實(shí)驗(yàn)結(jié)果可以觀察到語義槽填充和意圖識別的性能均出現(xiàn)下降,這表明本文提出的學(xué)習(xí)意圖和語義槽標(biāo)簽與話語上下文之間的關(guān)系對兩項(xiàng)任務(wù)有正向的影響。
3.4.2 意圖-語義槽雙向交互的影響
為探究意圖和語義槽信息之間的雙向交互對實(shí)驗(yàn)結(jié)果的影響,實(shí)驗(yàn)分為兩部分進(jìn)行。首先刪除意圖到語義槽之間的信息流,將其命名為without intent to slot,只保留語義槽到意圖之間的信息流以模擬意圖和語義槽之間沒有進(jìn)行雙向交互的情況。從表5 的實(shí)驗(yàn)結(jié)果來看,意圖識別的準(zhǔn)確率出現(xiàn)小幅下降而語義槽填充的F1值有明顯下降。
類似的,再刪除語義槽到意圖的信息流,將其命名為without slot to intent,可以看到此時語義槽填充的F1 值小幅下降,意圖識別的準(zhǔn)確率明顯下降。這表示本文模型建立的雙向交互機(jī)制能夠使這兩項(xiàng)任務(wù)相互增強(qiáng),且對于兩項(xiàng)任務(wù)的性能同時有正向的影響。
3.4.3 不同意圖數(shù)量的對比試驗(yàn)
本文分別設(shè)置了意圖數(shù)量為1~3 時的對比實(shí)驗(yàn)以探究模型在不同意圖數(shù)量下的效果。如表6所示,實(shí)驗(yàn)結(jié)果表明,隨著意圖數(shù)量的增多,模型效果逐漸降低。在只有1個意圖時,模型不需要判斷意圖的數(shù)量且只需預(yù)測1個意圖標(biāo)簽,多意圖識別任務(wù)與傳統(tǒng)的單意圖識別任務(wù)相似,因此三項(xiàng)評價(jià)指標(biāo)均為最高。意圖數(shù)量為2時最接近包含所有意圖的主實(shí)驗(yàn)結(jié)果,因?yàn)閿?shù)據(jù)集中2 個意圖的話語數(shù)量占比最多,并且難度較識別3 個意圖低。意圖數(shù)量為3時,可以觀察到除語義槽填充的F1值外的兩項(xiàng)指標(biāo)出現(xiàn)了顯著降低,這是因?yàn)橐鈭D數(shù)量增多加大了判斷意圖數(shù)量和預(yù)測意圖標(biāo)簽的難度,同時數(shù)據(jù)集中3個意圖的話語樣本占比較低,模型在訓(xùn)練時學(xué)習(xí)到的信息較少,所以意圖識別和總體準(zhǔn)確度明顯下降。而語義槽填充任務(wù)為話語中單詞的序列標(biāo)注任務(wù),話語意圖的數(shù)量對其影響較小,因此語義槽填充的F1值下降幅度較小。
表6 意圖數(shù)量的對比實(shí)驗(yàn)Table 6 Comparative experiments on number of intents單位:%
本文的模型首先引入了意圖和語義槽的標(biāo)簽信息,將兩個任務(wù)的標(biāo)簽信息與上下文信息進(jìn)行融合,同時構(gòu)建了一種意圖-語義槽雙向交互的圖注意力網(wǎng)絡(luò),使模型既可以利用多個意圖信息來引導(dǎo)語義槽的填充,也可以利用語義槽值的信息來幫助意圖的識別,從而提高意圖識別與語義槽填充的準(zhǔn)確率,能夠更好地識別用戶話語中的多個意圖。實(shí)驗(yàn)結(jié)果表明,模型在兩個多意圖數(shù)據(jù)集上的達(dá)到了最好的效果。
雖然本文的研究在多意圖識別與語義槽填充任務(wù)聯(lián)合建模上取得了一定的進(jìn)展,但是在多意圖識別任務(wù)上還有許多值得探究的地方:(1)本文主要基于已有的單意圖數(shù)據(jù)集整理的多意圖測試集進(jìn)行研究,因此對于多意圖數(shù)據(jù)樣本稀缺的問題,后續(xù)考慮采用零樣本學(xué)習(xí)實(shí)現(xiàn)多意圖識別任務(wù)。(2)在意圖和語義槽識別任務(wù)中,由于用戶話語可能會有語義歧義、代詞省略等歧義現(xiàn)象,因此針對用戶口語的不確定性如何利用結(jié)合事實(shí)性知識進(jìn)行邏輯推理,或?qū)㈩I(lǐng)域知識和事實(shí)性知識圖譜加入模型以消除歧義、指代等問題以提升整個對話系統(tǒng)的魯棒性是下一步的探索方向。