賈 旭,彭 敏
(武漢大學(xué) 計(jì)算機(jī)學(xué)院,湖北 武漢 430072)
多領(lǐng)域口語(yǔ)語(yǔ)言理解(Multi-domain Spoken Language Understanding,MSLU)是對(duì)話系統(tǒng)的重要組成部分[1-3]。日常生活中常用的語(yǔ)音助手,如Siri等,都依靠語(yǔ)言理解模塊識(shí)別用戶的指令。MSLU任務(wù)主要包含兩個(gè)子任務(wù),分別是多意圖識(shí)別(Multi-intent Detection)和槽填充(Slot Filling)。其中,多意圖識(shí)別任務(wù)可以看作句子分類任務(wù),確定用戶對(duì)話的目標(biāo)。槽填充任務(wù)則看作序列標(biāo)注任務(wù),可以獲得語(yǔ)句中的重要信息。如表1所示,對(duì)話語(yǔ)句“我想吃烤鴨,全聚德在哪?電話是多少?”,對(duì)應(yīng)的意圖分別是Request.餐館.電話和Request.餐館.地址?!叭鄣隆狈謩e對(duì)應(yīng)槽“B-餐館.名稱I-餐館.名稱I-餐館.名稱”。
表1 多領(lǐng)域口語(yǔ)語(yǔ)言理解示例
意圖和槽之間存在很強(qiáng)的關(guān)聯(lián)性,現(xiàn)有方法通常采用聯(lián)合模型同時(shí)解決兩個(gè)任務(wù)[1-3]。早期的聯(lián)合模型通過共享編碼器,使用不同的意圖解碼器和槽解碼器完成意圖識(shí)別和槽填充任務(wù)。模型在反向傳播過程中,通過更新共享參數(shù)的形式,隱式實(shí)現(xiàn)聯(lián)合學(xué)習(xí)[4]。為了更好地利用意圖特征,部分工作基于槽門[5-6]和堆棧[7]形式,利用意圖信息指導(dǎo)槽填充任務(wù),提升了槽填充的準(zhǔn)確率。然而,這些方法僅利用了意圖信息提升槽填充任務(wù)的準(zhǔn)確率,在意圖識(shí)別任務(wù)中缺少對(duì)槽信息的引入[8]。因此,最近的模型通過交互模塊,建立意圖和槽之間的雙向關(guān)聯(lián),同時(shí)提升了模型在兩個(gè)任務(wù)上的表現(xiàn)[8-10]。在真實(shí)場(chǎng)景中的MSLU任務(wù),用戶的對(duì)話語(yǔ)句包含多個(gè)意圖[11]。面對(duì)多意圖識(shí)別的任務(wù),現(xiàn)有模型將其看作多標(biāo)簽分類任務(wù)。通過引入圖注意力網(wǎng)絡(luò)(Graph Attention Network,GAT)[12],模型能夠建模多意圖和槽之間的關(guān)聯(lián)特征,在多意圖識(shí)別任務(wù)中獲得了顯著的性能提升[13-14]。
盡管上述方法在MSLU任務(wù)中取得了很好的效果,但這些方法仍是將多領(lǐng)域任務(wù)看作單領(lǐng)域任務(wù)的堆疊,忽略了多領(lǐng)域任務(wù)中的領(lǐng)域關(guān)聯(lián)問題。一方面,現(xiàn)有研究只是將所有的意圖和槽看作完全獨(dú)立的標(biāo)簽,忽略了領(lǐng)域內(nèi)和領(lǐng)域間的細(xì)粒度關(guān)聯(lián)特征。如圖1所示,現(xiàn)有方法均無(wú)法建模圖中意圖和槽細(xì)粒度標(biāo)簽之間的關(guān)聯(lián)(圖1中虛線表示)。因?yàn)檫@些方法認(rèn)為意圖Request.餐館.電話和Request.餐館.地址是完全不同的兩個(gè)標(biāo)簽,忽略了兩者之間存在的領(lǐng)域關(guān)聯(lián)。另一方面,現(xiàn)有圖模型方法[10,13-14]在建模意圖和槽之間的關(guān)聯(lián)時(shí),只是粗糙地在預(yù)測(cè)的意圖和槽之間進(jìn)行連接,導(dǎo)致模型學(xué)習(xí)了冗余的錯(cuò)誤信息。
圖1 意圖和槽之間存在的細(xì)粒度關(guān)聯(lián)
針對(duì)上述問題,本文提出細(xì)粒度標(biāo)簽圖和領(lǐng)域相關(guān)圖的雙圖注意力聯(lián)合模型DualGAT(Dual Graph Attention Network)解決多領(lǐng)域口語(yǔ)語(yǔ)言理解任務(wù)。具體來(lái)說,細(xì)粒度標(biāo)簽圖建模意圖和槽標(biāo)簽切分后的細(xì)粒度特征,獲得標(biāo)簽和對(duì)話上下文之間更細(xì)粒度的關(guān)聯(lián)關(guān)系。領(lǐng)域相關(guān)圖利用意圖和槽之間的領(lǐng)域信息,僅建模領(lǐng)域內(nèi)的意圖和槽之間的關(guān)聯(lián),剔除了領(lǐng)域無(wú)關(guān)的冗余和錯(cuò)誤信息。同時(shí),本文優(yōu)化圖方法的建模過程,極大地提升了模型的訓(xùn)練速度。本文主要的貢獻(xiàn)如下:
(1) 提出雙圖注意力模型DualGAT,建模細(xì)粒度標(biāo)簽圖和領(lǐng)域相關(guān)圖注意力網(wǎng)絡(luò),捕獲MSLU任務(wù)中標(biāo)簽間的細(xì)粒度關(guān)聯(lián)關(guān)系。通過優(yōu)化圖模型的建模過程,提升模型訓(xùn)練速度。
(2) 本文在兩個(gè)公開的中文多領(lǐng)域?qū)υ挃?shù)據(jù)集CrossWOZ和RiSAWOZ上與現(xiàn)有模型進(jìn)行比較。實(shí)驗(yàn)結(jié)果表明,本文提出的模型在槽填充F1、意圖識(shí)別準(zhǔn)確率和句子準(zhǔn)確率上均顯著優(yōu)于現(xiàn)有模型。進(jìn)一步實(shí)驗(yàn)說明了本文模型各模塊的作用和計(jì)算效率,同時(shí)也說明本文模型與預(yù)訓(xùn)練語(yǔ)言模型有更好的兼容性。
本文通過構(gòu)建聯(lián)合模型和圖注意力網(wǎng)絡(luò)解決多領(lǐng)域口語(yǔ)語(yǔ)言理解任務(wù)中的多意圖識(shí)別和槽填充任務(wù),下面簡(jiǎn)要介紹現(xiàn)有工作如何通過聯(lián)合模型和圖模型解決意圖識(shí)別和槽填充任務(wù)。
口語(yǔ)語(yǔ)言理解任務(wù)的目的是根據(jù)用戶對(duì)話語(yǔ)句,識(shí)別用戶目標(biāo),并對(duì)語(yǔ)句中的重要信息進(jìn)行標(biāo)注[1-2]??谡Z(yǔ)語(yǔ)言理解任務(wù)包含兩個(gè)子任務(wù): 意圖識(shí)別和槽填充。其中,意圖識(shí)別可以看作句子分類任務(wù),識(shí)別用戶的意圖或目標(biāo)。槽填充可以看作序列標(biāo)注任務(wù),對(duì)語(yǔ)句中的內(nèi)容進(jìn)行標(biāo)注,不同的內(nèi)容用不同的槽進(jìn)行標(biāo)注[3-4]。因?yàn)橐鈭D和槽存在很強(qiáng)的關(guān)聯(lián)性,現(xiàn)有方法會(huì)采用基于編解碼框架的聯(lián)合模型,使用一個(gè)模型同時(shí)完成兩個(gè)任務(wù)。早期的工作通過意圖和槽解碼器共享編碼器參數(shù)的形式,隱式地聯(lián)合兩個(gè)任務(wù),同時(shí)提升了兩個(gè)任務(wù)的表現(xiàn)[15]。因?yàn)橄噍^于槽填充任務(wù),意圖識(shí)別的準(zhǔn)確率更高,所以部分工作開始顯式地利用預(yù)測(cè)出的意圖指導(dǎo)槽填充任務(wù)[5-6]。Goo等人[5]提出槽門模型,使用門機(jī)制將與槽相關(guān)的信息從預(yù)測(cè)的意圖中篩選出來(lái),提升了槽填充任務(wù)的表現(xiàn)。Qin等人[7]對(duì)語(yǔ)句中的每個(gè)詞分別預(yù)測(cè)意圖,再將每個(gè)詞預(yù)測(cè)出的意圖信息與槽信息拼接,顯著提升了模型在兩個(gè)任務(wù)上的表現(xiàn)。然而上述工作僅考慮了意圖到槽的單向連接,忽略了意圖與槽之間的雙向關(guān)系[16]。E等人[8]通過建模意圖和槽之間的雙向循環(huán)網(wǎng)絡(luò),在一定程度上解決了意圖和槽之間的雙向關(guān)聯(lián)問題。Qin等人[9]則利用自注意力機(jī)制,構(gòu)建交互模塊,使得意圖和槽之間的信息進(jìn)行交換,解決了意圖和槽之間的雙向關(guān)聯(lián)問題。為解決中文問題,Teng等人[17]和朱展標(biāo)等人[18]針對(duì)中文問題引入了中文字詞特征融合模塊,提升了模型在中文口語(yǔ)語(yǔ)言理解上的表現(xiàn)。
在真實(shí)場(chǎng)景中,用戶的對(duì)話通常橫跨多個(gè)領(lǐng)域,涉及多個(gè)意圖內(nèi)容[11]。目前主流的方法都是將多意圖識(shí)別看作多標(biāo)簽分類任務(wù)。不同于單意圖任務(wù)中意圖和槽之間一對(duì)多的關(guān)系,多意圖任務(wù)中需要考慮多對(duì)多的關(guān)聯(lián)關(guān)系。為了建模多意圖和槽之間的關(guān)聯(lián),Qin等人[13]建立了自適應(yīng)的意圖-槽交互圖,使用圖注意力網(wǎng)絡(luò)推理兩者之間的關(guān)聯(lián)關(guān)系。Zhu等人[10]在之前方法[7]的基礎(chǔ)上,建模了語(yǔ)句中的詞、對(duì)應(yīng)的意圖和槽之間的關(guān)聯(lián),并利用正則化優(yōu)化了圖結(jié)構(gòu),進(jìn)一步提升了圖模型的表現(xiàn)。針對(duì)圖方法推理速度慢的問題,Qin等人[14]使用非自回歸的方法建模了全局-局部圖,顯著提升了模型的計(jì)算效率。然而上述這些方法僅將多領(lǐng)域任務(wù)中的意圖和槽看作完全獨(dú)立的標(biāo)簽,忽略了標(biāo)簽之間的領(lǐng)域關(guān)聯(lián)關(guān)系。為此,本文提出雙圖注意力聯(lián)合模型,分別建模意圖和槽之間的細(xì)粒度關(guān)聯(lián)和領(lǐng)域關(guān)聯(lián),解決多領(lǐng)域任務(wù)中意圖和槽標(biāo)簽之間的關(guān)聯(lián)問題。
本節(jié)介紹細(xì)粒度標(biāo)簽圖和領(lǐng)域相關(guān)圖的雙圖注意力聯(lián)合模型DualGAT(Dual Graph Attention Network)解決多領(lǐng)域口語(yǔ)語(yǔ)言理解任務(wù),結(jié)構(gòu)如圖2所示。模型包括基于Top-k網(wǎng)絡(luò)的編解碼框架、細(xì)粒度標(biāo)簽圖和領(lǐng)域相關(guān)圖。首先,編碼器將用戶的語(yǔ)句編碼后分別輸入Top-k網(wǎng)絡(luò)和細(xì)粒度標(biāo)簽圖,Top-k網(wǎng)絡(luò)通過預(yù)測(cè)語(yǔ)句中的意圖個(gè)數(shù)完成多意圖識(shí)別任務(wù);模型將所有的意圖和槽切分為細(xì)粒度的分片,通過分片之間的關(guān)聯(lián)關(guān)系建模細(xì)粒度標(biāo)簽圖;領(lǐng)域相關(guān)圖通過將預(yù)測(cè)出的意圖及其對(duì)應(yīng)領(lǐng)域的槽進(jìn)行關(guān)聯(lián),減少領(lǐng)域無(wú)關(guān)的冗余或錯(cuò)誤信息。
圖2 DualGAT模型框架圖
本文模型以基于Top-k網(wǎng)絡(luò)的編解碼結(jié)構(gòu)為基礎(chǔ)框架,聯(lián)合解決多意圖識(shí)別和槽填充任務(wù)。不同于之前方法將多意圖識(shí)別看作多標(biāo)簽分類任務(wù),本文對(duì)Top-k網(wǎng)絡(luò)[19]進(jìn)行優(yōu)化,使用自注意力機(jī)制[20]提升模型預(yù)測(cè)意圖個(gè)數(shù)的準(zhǔn)確率。
給定用戶語(yǔ)句U=(w1,w2,…,wN),其中,wi表示第i個(gè)字,N表示語(yǔ)句長(zhǎng)度。使用雙向LSTM作為模型的編碼器,對(duì)用戶語(yǔ)句進(jìn)行編碼,獲得H=(h1,h2,…,hN)。H∈N×d,d表示隱狀態(tài)的維度。在解碼階段,使用單向LSTM作為意圖識(shí)別和槽填充的解碼器。在每個(gè)解碼t步,解碼狀態(tài)gt通過之前的解碼狀態(tài)gt-1和對(duì)齊的隱狀態(tài)ht計(jì)算得到。
其中,W1、b1、W2、b2表示可訓(xùn)練參數(shù),y表示意圖和槽輸出的概率。
在Top-k網(wǎng)絡(luò)中,同樣使用獨(dú)立的編碼器[19]獲得Hk∈N×d,并捕獲相互間的注意力權(quán)重。使用LSTM解碼后得到最終的意圖個(gè)數(shù)k,如式(4)所示。
其中,Q,K,V由Hk經(jīng)過線性變換得到。函數(shù)topk的詳細(xì)信息可參考Top-k網(wǎng)絡(luò)[19]。“||”表示拼接符號(hào)。
在多領(lǐng)域口語(yǔ)語(yǔ)言理解任務(wù)中,領(lǐng)域內(nèi)和領(lǐng)域間的意圖和槽存在許多細(xì)粒度的關(guān)聯(lián)關(guān)系。例如,B.餐館.名稱和B.餐館.推薦菜都屬于餐館領(lǐng)域,而B.餐館.名稱和B.景點(diǎn).名稱雖然不屬于同一領(lǐng)域,但都是關(guān)于名稱。之前的工作將這些不同的意圖和槽都看作完全相互獨(dú)立的標(biāo)簽,所以無(wú)法捕獲這些標(biāo)簽之間領(lǐng)域內(nèi)或領(lǐng)域間的細(xì)粒度關(guān)聯(lián)特征。本文通過建模細(xì)粒度標(biāo)簽圖,屬于同領(lǐng)域的標(biāo)簽均具有相同的領(lǐng)域分片節(jié)點(diǎn),如餐館節(jié)點(diǎn),通過捕獲語(yǔ)句上下文的語(yǔ)義,使這些標(biāo)簽具備餐館領(lǐng)域內(nèi)的特征。對(duì)領(lǐng)域不同的標(biāo)簽,若存在相同內(nèi)容的分片節(jié)點(diǎn),如名稱節(jié)點(diǎn),同樣通過捕獲語(yǔ)句上下文的語(yǔ)義,使這些標(biāo)簽均具備名稱的領(lǐng)域間特征。本文構(gòu)建細(xì)粒度標(biāo)簽圖GP=(VP,EP),其中V表示節(jié)點(diǎn),E表示邊。
對(duì)圖中的節(jié)點(diǎn),將意圖和槽進(jìn)行細(xì)粒度的切分,得到細(xì)粒度分片節(jié)點(diǎn)VP。其中,意圖和槽的細(xì)粒度分片節(jié)點(diǎn)并沒有進(jìn)一步區(qū)分,例如,意圖Request.餐館.電話和槽B-餐館.名稱切分后的分片節(jié)點(diǎn)是Request、B、餐館、電話和名稱。分片節(jié)點(diǎn)餐館在意圖和槽中具有相同的表達(dá)。相較于將意圖和槽切分后的節(jié)點(diǎn)建立兩個(gè)不同的圖,本文將所有節(jié)點(diǎn)建模在同一張細(xì)粒度標(biāo)簽圖內(nèi),能夠利用顯卡的并行能力,減少圖中重復(fù)節(jié)點(diǎn)的計(jì)算,提升模型效率。本文使用嵌入函數(shù)和線性層,對(duì)細(xì)粒度標(biāo)簽圖中的節(jié)點(diǎn)進(jìn)行初始化。HP=f(emb(VP)),其中,HP∈NP×d,Np表示圖中節(jié)點(diǎn)個(gè)數(shù)。為建模用戶語(yǔ)句和細(xì)粒度標(biāo)簽之間的關(guān)聯(lián)關(guān)系,本文將語(yǔ)句中的上下文同樣作為節(jié)點(diǎn)放入細(xì)粒度標(biāo)簽圖中。細(xì)粒度標(biāo)簽圖中的初始化節(jié)點(diǎn)表示為:
(5)
對(duì)圖中的邊,設(shè)計(jì)細(xì)粒度標(biāo)簽圖的連接矩陣為EP∈(N+NP)×(N+NP),主要包括三種類型的邊: ①細(xì)粒度分片之間的連接,將同屬于一個(gè)意圖或槽的兩個(gè)分片節(jié)點(diǎn)進(jìn)行連接,表示為其中或者和表示真實(shí)的意圖和槽,在圖2細(xì)粒度標(biāo)簽圖中用實(shí)線表示)。因?yàn)檫@種連接不會(huì)隨著對(duì)話語(yǔ)句產(chǎn)生變化,所以該過程僅初始化一次,無(wú)須重復(fù)計(jì)算,能夠提升模型的計(jì)算效率。②語(yǔ)句和細(xì)粒度意圖之間的連接。將語(yǔ)句中的第i個(gè)字節(jié)點(diǎn)與所有的細(xì)粒度意圖節(jié)點(diǎn)進(jìn)行連接,從而捕獲語(yǔ)句上下文中的語(yǔ)義信息和細(xì)粒度意圖之間的關(guān)聯(lián),表示為其中在圖2的細(xì)粒度標(biāo)簽圖中用黑色虛線表示)。語(yǔ)句與細(xì)粒度意圖之間關(guān)聯(lián)的輸出結(jié)果用表示。③語(yǔ)句和細(xì)粒度槽之間的連接。類似于②連接,將語(yǔ)句中的第i個(gè)字節(jié)點(diǎn)與所有的細(xì)粒度槽節(jié)點(diǎn)進(jìn)行連接,從而捕獲語(yǔ)句中上下文的語(yǔ)義信息和細(xì)粒度槽之間的關(guān)聯(lián),表示為其中在圖2的細(xì)粒度標(biāo)簽圖中用虛線表示)。語(yǔ)句與細(xì)粒度槽之間關(guān)聯(lián)的輸出結(jié)果用表示。細(xì)粒度標(biāo)簽圖的輸出和分別用來(lái)預(yù)測(cè)意圖和槽。
為建模多領(lǐng)域口語(yǔ)語(yǔ)言理解任務(wù)中預(yù)測(cè)出的多意圖和槽之間多對(duì)多的關(guān)聯(lián)關(guān)系,現(xiàn)有模型會(huì)建立意圖-槽圖[10,13-14],通過圖結(jié)構(gòu)建模兩者之間的關(guān)聯(lián)關(guān)系。但是因?yàn)檫@些模型將所有意圖和槽看作相互獨(dú)立的標(biāo)簽,所以只能粗糙地連接所有預(yù)測(cè)的意圖和槽。這不僅使得模型需要計(jì)算很多冗余的關(guān)聯(lián),而且錯(cuò)誤的意圖和槽之間的連接,會(huì)造成模型學(xué)習(xí)的注意力產(chǎn)生偏差。本文基于細(xì)粒度標(biāo)簽圖,通過意圖和槽之間的領(lǐng)域關(guān)聯(lián),構(gòu)建領(lǐng)域相關(guān)圖GR=(VR,ER)。將預(yù)測(cè)的意圖、槽和語(yǔ)句上下文均建模為圖中的節(jié)點(diǎn),因此領(lǐng)域相關(guān)圖包含NI+NS+N個(gè)節(jié)點(diǎn),其中NI和NS分別表示意圖和槽個(gè)數(shù)。遵循之前的方法[14]得到預(yù)測(cè)意圖嵌入EI∈NI×d和槽嵌入ES∈NS×d,對(duì)領(lǐng)域相關(guān)圖節(jié)點(diǎn)進(jìn)行初始化。領(lǐng)域相關(guān)圖的初始化節(jié)點(diǎn)表示為:
(6)
對(duì)圖中的邊,設(shè)計(jì)領(lǐng)域相關(guān)圖的連接矩陣為ER∈(N+NI+NS)×(N+NI+NS),主要包括三種類型的邊: ①意圖和槽的連接。意圖和槽之間存在很強(qiáng)的關(guān)聯(lián)性,在多領(lǐng)域任務(wù)中將領(lǐng)域關(guān)聯(lián)看作兩者之間重要的連接中介。因?yàn)閷⒂脩舻膶?duì)話限定于特定領(lǐng)域時(shí),語(yǔ)句的意圖和槽都是該領(lǐng)域?qū)?yīng)的意圖和槽。所以在領(lǐng)域相關(guān)圖中,僅將預(yù)測(cè)出的意圖和其所屬領(lǐng)域的槽相連。這不僅能減少意圖和槽之間的冗余連接,也能避免模型學(xué)習(xí)到錯(cuò)誤的特征,表示為其中表示第r個(gè)領(lǐng)域,在圖2領(lǐng)域相關(guān)圖中用實(shí)線表示)。②語(yǔ)句和意圖連接。將語(yǔ)句中的第i個(gè)字節(jié)點(diǎn)與預(yù)測(cè)得到的意圖進(jìn)行連接。表示為其中j∈yI,yI表示預(yù)測(cè)出的意圖,在圖2的領(lǐng)域相關(guān)圖中用虛線表示)。③語(yǔ)句和槽連接。類似于②連接,將語(yǔ)句中的第i個(gè)字節(jié)點(diǎn)與對(duì)應(yīng)領(lǐng)域的槽進(jìn)行連接,表示為其中在圖2的領(lǐng)域相關(guān)圖中用虛線表示)。構(gòu)建的領(lǐng)域相關(guān)圖中,節(jié)點(diǎn)之間的邊受到對(duì)應(yīng)領(lǐng)域的影響,所以相較之前的圖方法連接邊更少,有助于模型訓(xùn)練過程中的計(jì)算效率提升。
本文使用圖注意力網(wǎng)絡(luò)[12]對(duì)已構(gòu)建的圖進(jìn)行推理計(jì)算。本節(jié)闡述模型如何使用圖注意力網(wǎng)絡(luò)對(duì)已構(gòu)建的圖進(jìn)行計(jì)算。
其中,M表示頭數(shù),Ni表示第i個(gè)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)。a和W表示可訓(xùn)練參數(shù)。
在細(xì)粒度標(biāo)簽圖中,圖信息在第l層的聚合過程定義為:
(9)
L=LI+LS+Lk
(13)
本文在兩個(gè)公開的多領(lǐng)域中文對(duì)話數(shù)據(jù)集CrossWOZ-SLU[21]和RiSAWOZ-SLU[22]上對(duì)模型進(jìn)行驗(yàn)證。按照論文中提供的源碼得到語(yǔ)句、意圖和對(duì)應(yīng)的槽。不同的是,源碼中僅保留語(yǔ)句中的單意圖,本文將語(yǔ)句中包含的所有意圖都保留作為多意圖的樣本,同時(shí)剔除數(shù)據(jù)集中的系統(tǒng)對(duì)話和不包含槽值的語(yǔ)句。為與原數(shù)據(jù)集區(qū)分,本文將新數(shù)據(jù)集稱為CrossWOZ-MSLU和RiSAWOZ-MSLU(后續(xù)分別簡(jiǎn)寫為CrossWOZ和RiSAWOZ)。因?yàn)閿?shù)據(jù)集中的所有語(yǔ)句均來(lái)自人-人真實(shí)對(duì)話,所以比MixATIS[13]等連詞拼接的多意圖數(shù)據(jù)更自然,更貼近真實(shí)場(chǎng)景。數(shù)據(jù)集的統(tǒng)計(jì)結(jié)果如表2所示。CrossWOZ擁有更多的多意圖語(yǔ)句,多意圖語(yǔ)句占比超過20%,而且數(shù)據(jù)集樣本中句子的平均長(zhǎng)度更長(zhǎng)。RiSAWOZ則有更多的數(shù)據(jù)樣本,領(lǐng)域跨度更大,因此包含更多的意圖和槽的種類。
表2 CrossWOZ和RiSAWOZ數(shù)據(jù)統(tǒng)計(jì)
本文將DualGAT模型和以下模型進(jìn)行比較:
(1)Slot-GatedAtten[5]: 模型設(shè)計(jì)了一種槽門機(jī)制,通過槽門篩選與槽相關(guān)的意圖信息,指導(dǎo)模型完成槽填充任務(wù)。
(2)SF-IDNetwork[8]: 模型設(shè)計(jì)了ID和SF網(wǎng)絡(luò),通過循環(huán)機(jī)制將意圖和槽特征進(jìn)行交互。本文選擇ID-First模型。
(3)Stack-Propagation[7]: 模型預(yù)測(cè)字級(jí)別的意圖,再將預(yù)測(cè)的意圖表示與槽表示拼接。
(4)MIATIF[19]: 模型提出Top-k網(wǎng)絡(luò),通過預(yù)測(cè)語(yǔ)句中的意圖個(gè)數(shù)解決多意圖識(shí)別任務(wù)。
(5)MLWA[17]: 模型使用字級(jí)別和句子級(jí)別的詞適配器,將中文詞信息與字信息對(duì)齊,在中文口語(yǔ)語(yǔ)言理解中獲得了顯著的性能提升。
(6)AGIF[13]: 模型構(gòu)建意圖-槽圖結(jié)構(gòu)建立多意圖和槽之間的關(guān)聯(lián),解決多意圖問題。
(7)GL-GIN[14]: 模型提出全局和局部圖,建模多意圖和槽關(guān)聯(lián)。同時(shí),模型使用非自回歸的方法,提升了模型的訓(xùn)練速度。
(8)GAIR[10]: 模型提出建模候選意圖和槽之間的關(guān)聯(lián)圖,并利用真實(shí)樣本對(duì)圖建模過程進(jìn)行正則化,提升了模型在中文任務(wù)中的表現(xiàn)。
因?yàn)閿?shù)據(jù)集中包含多意圖,對(duì)于單意圖識(shí)別的模型,本文使用多標(biāo)簽分類方法[13]預(yù)測(cè)最后的意圖。本文使用槽F1、意圖準(zhǔn)確率、句準(zhǔn)確率分別評(píng)測(cè)槽填充、意圖識(shí)別和整個(gè)句子的模型表現(xiàn)。本文模型字嵌入的維度是64,編碼器和解碼器的隱單元分別是256和128。本文使用Adam優(yōu)化器優(yōu)化模型中的參數(shù)。Dropout為0.5。在所有對(duì)比模型中,多意圖識(shí)別的閾值均設(shè)置為0.5。
本文使用改進(jìn)的Top-k網(wǎng)絡(luò)預(yù)測(cè)語(yǔ)句中意圖的個(gè)數(shù),預(yù)測(cè)的準(zhǔn)確率在CrossWOZ和RiSAWOZ上分別超過98%和94%。表3展示了實(shí)驗(yàn)結(jié)果,本文得到以下結(jié)論:
表3 DualGAT和對(duì)比模型在2個(gè)數(shù)據(jù)集的表現(xiàn) (單位: %)
(1) 本文提出的DualGAT在兩個(gè)數(shù)據(jù)集上的性能全面超越了現(xiàn)有的模型,尤其是在意圖識(shí)別準(zhǔn)確率和句準(zhǔn)確率上。在對(duì)比模型中,MLWA因?yàn)槿诤狭酥形淖趾驮~特征,相較于其余模型獲得了最好的效果。在CrossWOZ數(shù)據(jù)集上,本文提出的DualGAT在槽F1和意圖準(zhǔn)確率上比MLWA提升了0.07%和2.7%,在RiSAWOZ數(shù)據(jù)集上則分別高了0.25%和3.1%。因?yàn)镈ualGAT能夠在細(xì)粒度標(biāo)簽圖和領(lǐng)域相關(guān)圖中學(xué)習(xí)到更多意圖和槽之間的關(guān)聯(lián)關(guān)系,因此模型在句準(zhǔn)確率上也提升很大,在2個(gè)數(shù)據(jù)集上分別提升了3.33%和2.55%。模型在槽F1上的提升較小,主要原因是中文對(duì)話中語(yǔ)句偏長(zhǎng),許多字不對(duì)應(yīng)具體的槽,使得模型不預(yù)測(cè)槽也能獲得較高的準(zhǔn)確率。
(2) 本文提出的模型與最新的圖模型GAIR相比獲得了顯著的性能提升。在CrossWOZ數(shù)據(jù)集上,DualGAT相比GAIR在3個(gè)指標(biāo)上分別提升了0.75%、3.49%和3.91%;而在領(lǐng)域更多的RiSAWOZ數(shù)據(jù)集上,則獲得了更明顯的3.44%、5.62%和6.97%的提升。這是因?yàn)樵贑rossWOZ數(shù)據(jù)集中,有超過20%的樣本具有多個(gè)意圖。而RiSAWOZ僅有8%左右的多樣本,反而擁有更多的領(lǐng)域、意圖和槽種類,所以能對(duì)多意圖建模的圖模型,在多領(lǐng)域任務(wù)中無(wú)法處理意圖和槽標(biāo)簽之間更細(xì)粒度的關(guān)聯(lián)關(guān)系,使得模型表現(xiàn)不佳。DualGAT的細(xì)粒度標(biāo)簽圖能夠建模多領(lǐng)域中的意圖和槽之間的關(guān)聯(lián),領(lǐng)域相關(guān)圖將無(wú)關(guān)的槽進(jìn)行了剔除,使得模型在多領(lǐng)域的數(shù)據(jù)集上獲得了更好的表現(xiàn)。
為了進(jìn)一步說明本文所提模型的有效性,本文對(duì)模型進(jìn)行了消融實(shí)驗(yàn),同時(shí)對(duì)模型與預(yù)訓(xùn)練語(yǔ)言模型的兼容性、可視化分析和計(jì)算效率進(jìn)行了研究。
3.4.1 消融實(shí)驗(yàn)
本節(jié)對(duì)DualGAT進(jìn)行了消融實(shí)驗(yàn),探索模型中提出的細(xì)粒度標(biāo)簽圖和領(lǐng)域相關(guān)圖的有效性,實(shí)驗(yàn)結(jié)果如表4所示。首先,將模型中的細(xì)粒度標(biāo)簽圖和領(lǐng)域相關(guān)圖均消去。通過觀察,模型在3個(gè)指標(biāo)上都出現(xiàn)顯著的性能下降,意圖準(zhǔn)確率和句準(zhǔn)確率下降最明顯。在CrossWOZ數(shù)據(jù)集上意圖準(zhǔn)確率下降3.17%,句準(zhǔn)確率下降3.7%;在RiSAWOZ數(shù)據(jù)集上分別是2.58%和3.71%。這表明本文提出的細(xì)粒度標(biāo)簽圖和領(lǐng)域相關(guān)圖在多領(lǐng)域任務(wù)中,能夠建模意圖和槽之間細(xì)粒度的關(guān)聯(lián)關(guān)系,當(dāng)去除雙圖注意力后,模型的下降最為明顯。
表4 消融實(shí)驗(yàn)結(jié)果 (單位: %)
其次,本文消去了模型中的細(xì)粒度標(biāo)簽圖。模型也出現(xiàn)了明顯的下降,在兩個(gè)數(shù)據(jù)集上句準(zhǔn)確率分別下降2.27%和2.61%。細(xì)粒度標(biāo)簽可以建立用戶對(duì)話語(yǔ)句中的上下文和意圖、槽細(xì)粒度分片標(biāo)簽之間的關(guān)聯(lián)特征。消去細(xì)粒度標(biāo)簽圖后,模型無(wú)法建立上下文語(yǔ)義和標(biāo)簽之間的細(xì)粒度關(guān)聯(lián),所以模型依然只能捕獲標(biāo)簽之間獨(dú)立的關(guān)聯(lián)。尤其在更多的領(lǐng)域、意圖和槽標(biāo)簽的RiSAWOZ數(shù)據(jù)集上,下降更為明顯,槽F1下降了4.03%,意圖準(zhǔn)確率下降了1.2%。
最后,本文替換了領(lǐng)域相關(guān)圖中預(yù)測(cè)意圖和槽之間的領(lǐng)域關(guān)聯(lián),改為預(yù)測(cè)意圖和所有槽之間全連接。在兩個(gè)數(shù)據(jù)集上句準(zhǔn)確率均下降了2.06%。替換全連接后,模型只能建立預(yù)測(cè)意圖和所有槽的連接,會(huì)導(dǎo)致模型很難捕獲正確的關(guān)聯(lián)關(guān)系,所以導(dǎo)致在兩個(gè)數(shù)據(jù)集的槽F1和意圖準(zhǔn)確率上均有明顯下降。
3.4.2 DualGAT與預(yù)訓(xùn)練模型兼容性
為了說明DualGAT與預(yù)訓(xùn)練模型的兼容性,本文用預(yù)訓(xùn)練語(yǔ)言模型[23]替換模型中的上下文編碼器,稱為BERT+DualGAT。在本文中,使用全詞掩碼的中文BERT(1)https://huggingface.co/hfl/chinese-roberta-wwm-ext。對(duì)比模型包括BERT和BERT+MLWA,如圖3所示。從結(jié)果中觀察到,BERT+MLWA的效果相較于BERT的表現(xiàn)提升很小。因?yàn)閮蓚€(gè)模型都是從語(yǔ)義角度增強(qiáng)了模型表現(xiàn),無(wú)法很好解決多領(lǐng)域任務(wù)中存在的挑戰(zhàn)。BERT+DualGAT獲得了最好的表現(xiàn),相較于BERT在兩個(gè)數(shù)據(jù)集的句準(zhǔn)確率上分別提升了3.28%和2.91%。這表明本文提出的模型能為BERT提供語(yǔ)義信息之外的特征,進(jìn)一步提升了預(yù)訓(xùn)練模型在多領(lǐng)域任務(wù)中的表現(xiàn)。
圖3 模型與預(yù)訓(xùn)練模型兼容性
最近ChatGPT在各項(xiàng)自然語(yǔ)言處理任務(wù)中均獲得了顯著的效果,并引起了學(xué)術(shù)界的廣泛關(guān)注?,F(xiàn)有研究[24]也利用ChatGPT對(duì)意圖識(shí)別和槽填充任務(wù)進(jìn)行了測(cè)試。本文利用該研究中的提示內(nèi)容,在CrossWOZ和RiSAWOZ數(shù)據(jù)集上進(jìn)行了測(cè)試,結(jié)果如圖3所示。從圖中看到,ChatGPT在兩個(gè)數(shù)據(jù)集上的表現(xiàn)均遠(yuǎn)低于現(xiàn)有方法,這與文獻(xiàn)[24]中的結(jié)果基本保持一致。通過對(duì)生成的錯(cuò)誤內(nèi)容進(jìn)行分析,本文發(fā)現(xiàn)ChatGPT無(wú)法完全理解用戶的語(yǔ)句,同時(shí)也會(huì)生成許多語(yǔ)句中不存在的槽值。因此當(dāng)前無(wú)法在下游任務(wù)進(jìn)行微調(diào)的通用語(yǔ)義理解的預(yù)訓(xùn)練語(yǔ)言模型,無(wú)法完全解決MSLU任務(wù)中的多意圖識(shí)別和槽填充問題。
3.4.3 可視化分析
為了進(jìn)一步說明細(xì)粒度標(biāo)簽圖和領(lǐng)域相關(guān)圖的有效性,本文將DualGAT、消去細(xì)粒度標(biāo)簽圖和消去領(lǐng)域相關(guān)圖的DualGAT的輸出結(jié)果進(jìn)行了可視化,如圖4所示。本文將“全聚德”看作整體,觀察輸出的意圖標(biāo)簽,標(biāo)簽和連接線的深淺表示注意力權(quán)重。DualGAT的輸出主要對(duì)應(yīng)意圖Request.餐館.地址和Request.餐館.電話。同時(shí),全聚德和標(biāo)簽餐館、地址和推薦菜之間也存在關(guān)聯(lián),這是因?yàn)榧?xì)粒度標(biāo)簽圖建立了“全聚德”與細(xì)粒度標(biāo)簽之間的關(guān)聯(lián)關(guān)系。為了進(jìn)一步驗(yàn)證,本文還輸出了“吃”的注意力權(quán)重(在圖4中用虛線表示),除了與對(duì)應(yīng)意圖之外,“吃”更關(guān)注餐館、名稱和推薦菜。因?yàn)椤俺浴苯?jīng)常會(huì)涉及餐館領(lǐng)域,后面會(huì)跟餐館的名稱或推薦菜,所以兩者之間存在很強(qiáng)的關(guān)聯(lián)性。作為對(duì)比,消去細(xì)粒度標(biāo)簽圖的結(jié)果顯示,“全聚德”更關(guān)注意圖中包含電話的標(biāo)簽。這是因?yàn)樯舷挛闹信c電話關(guān)聯(lián)更高,而模型沒有學(xué)習(xí)到“全聚德”對(duì)應(yīng)的細(xì)粒度標(biāo)簽的內(nèi)容,因此受到上下文影響后,注意力會(huì)分散。
因?yàn)镈ualGAT預(yù)測(cè)到準(zhǔn)確意圖后,根據(jù)領(lǐng)域相關(guān)圖,消除了“全聚德”與其余領(lǐng)域的關(guān)聯(lián),所以在槽識(shí)別中,模型更關(guān)注正確的槽標(biāo)簽。相反,消去領(lǐng)域相關(guān)圖的模型雖然也能夠預(yù)測(cè)出對(duì)應(yīng)的正確標(biāo)簽,但是由于沒有優(yōu)化意圖和槽之間的關(guān)聯(lián)關(guān)系,所以模型依然有較高的注意力在其他領(lǐng)域的標(biāo)簽上。
3.4.4 計(jì)算效率
在構(gòu)建細(xì)粒度標(biāo)簽圖和領(lǐng)域相關(guān)圖時(shí),本文學(xué)習(xí)GL-GIN[14],使用非自回歸的方法進(jìn)行建模,并優(yōu)化了建圖的過程,減少了冗余的連接計(jì)算,提升了模型的推理速度。為了比較本文的模型與其他圖模型的計(jì)算效率,在相同的系統(tǒng)環(huán)境下,使用相同的超參數(shù)統(tǒng)計(jì)了所有圖模型完成一次訓(xùn)練數(shù)據(jù)集訓(xùn)練所需的時(shí)間,如表5所示。實(shí)驗(yàn)結(jié)果表明,相較于最新的圖模型GAIR,DualGAT實(shí)現(xiàn)了33.1倍和14.0倍速度的提升。相較于同樣使用非自回歸方法的GL-GIN,本文提出的模型依然提速2.1倍和1.6倍。這說明將細(xì)粒度標(biāo)簽圖的構(gòu)建過程放在模型初始化階段,同時(shí)減少圖中的連接關(guān)系,提升了模型的運(yùn)算效率。
表5 圖模型計(jì)算效率對(duì)比
本文提出細(xì)粒度標(biāo)簽圖和領(lǐng)域相關(guān)圖的雙圖注意力聯(lián)合模型DualGAT(Dual Graph Attention Network)解決多領(lǐng)域口語(yǔ)語(yǔ)言理解任務(wù)。模型建模細(xì)粒度標(biāo)簽圖,捕獲意圖和槽之間的細(xì)粒度關(guān)聯(lián)。領(lǐng)域相關(guān)圖利用意圖和槽之間的領(lǐng)域關(guān)聯(lián)信息,過濾意圖和槽之間冗余和錯(cuò)誤的連接,提升模型的句準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明,本文提出的模型在兩個(gè)公開的中文數(shù)據(jù)集上相較于已有的模型,性能獲得了顯著提升,進(jìn)一步的實(shí)驗(yàn)說明了本文模型各模塊的作用和計(jì)算效率,同時(shí)也用實(shí)驗(yàn)說明本文模型與預(yù)訓(xùn)練語(yǔ)言模型有更好的兼容性。