胡光敏,姜 黎
(湘潭大學(xué)物理與光電工程學(xué)院,湖南湘潭 411100)
口語(yǔ)理解技術(shù)(Natural Language Understanding,NLU)是任務(wù)型對(duì)話系統(tǒng)的重要組件,旨在構(gòu)建一個(gè)語(yǔ)義框架模型檢測(cè)用戶意圖,以及對(duì)用戶的輸入進(jìn)行語(yǔ)義成分分析。如表1 所示,給定一個(gè)與電影相關(guān)的話語(yǔ)“watch suspense movie ”作為輸入,話語(yǔ)中的每個(gè)單詞都有不同槽值,并且具有一個(gè)針對(duì)整個(gè)話語(yǔ)的特定意圖。
槽填充通常可視為序列標(biāo)注任務(wù),輸入序列為x=(x1,x2,…,xT),則輸出對(duì)應(yīng)槽標(biāo)簽序列常用的槽填充方法包括CNN[1]、LSTM[2]、attention-based CNN[3]。意圖可視為一個(gè)文本分類任務(wù),輸入序列為x則輸出對(duì)應(yīng)的意圖標(biāo)簽yi。常用的意圖分類方法包括CNN[4]、deep LSTM[5]、encoder-labeler deep LSTM[6]。
Table 1 An example of user query and semantic framework表1 用戶查詢及語(yǔ)義框架示例
由于槽值往往與意圖類別關(guān)系緊密,因此提出了槽填充與意圖識(shí)別共同建模的方法[7]。Xu 等[8]采用triangular-CRF 和CNN 共同建模,將意圖識(shí)別與槽填充任務(wù)進(jìn)行聯(lián)合訓(xùn)練。但在實(shí)際應(yīng)用中,人們通常更關(guān)注于槽和意圖聯(lián)合準(zhǔn)確率,于是Hakkani-Tur 等[9]將槽和意圖聯(lián)合準(zhǔn)確率加入模型進(jìn)行聯(lián)合訓(xùn)練。與此同時(shí),注意力機(jī)制的提出有效增強(qiáng)了文本上下文向量之間的關(guān)聯(lián)[10]。注意力機(jī)制是按照序列結(jié)構(gòu),利用模型提供的精確焦點(diǎn),從序列中學(xué)習(xí)每一個(gè)元素的重要程度。Liu 等[11]提出基于注意力機(jī)制的RNN模型,該方法僅通過(guò)損失函數(shù)將意圖與槽進(jìn)行關(guān)聯(lián),但不能有效將兩者信息進(jìn)行融合,于是Goo 等[12]提出Slot-Gat?ed 模型,Slot-Gated 模型可利用上下文注意力機(jī)制顯式地建模槽值與意圖的關(guān)系。同時(shí)為解決數(shù)據(jù)稀疏性問(wèn)題,提出采用自監(jiān)督訓(xùn)練的通用語(yǔ)言表示模型,例如ELMO[13]和BERT[14]。通過(guò)預(yù)訓(xùn)練詞嵌入模型對(duì)NLP 任務(wù)進(jìn)行微調(diào),從而達(dá)到更好的效果。Chen 等[15]將BERT 模型用于聯(lián)合意圖檢測(cè)與槽填充任務(wù),該方法相比針對(duì)特定任務(wù)的帶注釋數(shù)據(jù)訓(xùn)練,改進(jìn)效果十分顯著。
傳統(tǒng)的Slot-Gated 模型旨在將意圖特征融入槽位識(shí)別中,但未能將文本標(biāo)簽信息作為模型先驗(yàn)知識(shí)傳入模型參與訓(xùn)練。而在模型中加入預(yù)訓(xùn)練詞向量模型又會(huì)極大地增加模型占用內(nèi)存大小,不利于在硬件中嵌入模型。通過(guò)加入先驗(yàn)知識(shí),使模型獲得更好的語(yǔ)義理解,如在語(yǔ)義關(guān)系抽取模型中對(duì)輸入序列加入文本位置信息[16],以及在情感分析任務(wù)中融入情感符號(hào)信息[17]。本文提出一種新方法來(lái)提升意圖準(zhǔn)確率和意圖與槽填充聯(lián)合準(zhǔn)確率。首先采用預(yù)訓(xùn)練詞向量模型對(duì)標(biāo)簽信息進(jìn)行編碼,且不參與訓(xùn)練,其次將編碼的標(biāo)簽信息作為先驗(yàn)知識(shí),通過(guò)構(gòu)建的注意力機(jī)制融入模型參與訓(xùn)練。
本節(jié)首先說(shuō)明雙向長(zhǎng)短期記憶(Bidirectional Long Short-Term Memory,BLSTM)模型,然后介紹本文提出的新方法,即意圖列表查詢機(jī)制,最后介紹意圖與槽的自注意力機(jī)制以及門控槽模型。模型架構(gòu)如圖1 所示,有兩種不同模型,一種是基于意圖列表查詢機(jī)制的意圖關(guān)注門控槽模型,另一種是基于意圖列表查詢機(jī)制的全局關(guān)注門控槽模型。
Fig.1 Architecture of the gated slot model based on the intent list query mechanism圖1 基于意圖列表查詢機(jī)制的門控槽模型整體架構(gòu)
雙向長(zhǎng)短期記憶模型的提出是為了更好地對(duì)序列化數(shù)據(jù)進(jìn)行表達(dá)。對(duì)于許多序列化數(shù)據(jù),如聲音和文本數(shù)據(jù),其上下文之間存在密切關(guān)聯(lián)?;镜腖STM 模型不能有效結(jié)合數(shù)據(jù)前后向信息,因此本文采用雙向長(zhǎng)短期記憶模型。
本節(jié)介紹意圖列表查詢機(jī)制,意圖列表查詢機(jī)制總體架構(gòu)如下:首先通過(guò)預(yù)訓(xùn)練詞向量模型提取意圖標(biāo)簽信息,其次通過(guò)構(gòu)建的注意力機(jī)制顯示建模標(biāo)簽與隱向量hT的關(guān)系。從訓(xùn)練集中提取出所有意圖類別后,將BERTBase 預(yù)訓(xùn)練詞向量導(dǎo)入bert-as-service 服務(wù)中,并通過(guò)bert-as-service 服務(wù)編碼出各類意圖的詞向量表示。
傳入模型的先驗(yàn)知識(shí)為通過(guò)bert-as-service 服務(wù)構(gòu)建的意圖詞向量矩陣D,詞向量矩陣D 參數(shù)固定且不參與訓(xùn)練。隱向量h 通過(guò)注意力機(jī)制從意圖矩陣中學(xué)習(xí)到每一個(gè)意圖的重要程度,并按照其重要程度對(duì)信息進(jìn)行融合。
基于意圖列表構(gòu)建的注意力機(jī)制如下:式(1)表示隱向量基于查詢矩陣中各項(xiàng)意圖相乘的積,求出fd后,需將fd最后兩維向量進(jìn)行展平處理,從而將意圖與文本向量的結(jié)合信息整合在同一維度中;式(2)表示通過(guò)softmax 求出hT與各項(xiàng)意圖的相關(guān)度。其中,tanh 為激活函數(shù),Wd為可學(xué)習(xí)的意圖列表注意力權(quán)重,hT為隱向量,D 為意圖查詢矩陣。
式(3)為聯(lián)合各項(xiàng)意圖向量的加權(quán)特征,具體公式如下:
本節(jié)介紹Slot-Gated 機(jī)制,Slot-Gated 模型引入一個(gè)額外的門機(jī)制,利用上下文注意力機(jī)制建模槽值與意圖的關(guān)系,從而提升槽填充的性能。首先組合槽上下文向量和意圖上下文向量cI,Slot Gate 示意圖如圖2 所示。
Fig.2 Illustration of the Slot Gate圖2 Slot Gate 示意圖
其中,v、W 分別是可訓(xùn)練的矩陣向量。對(duì)同一時(shí)間步中的元素進(jìn)行求和,g 可看作聯(lián)合上下文向量的加權(quán)特征。
以上提出一種僅專注于意圖的縫隙內(nèi)控模型,組合隱向量h和意圖上下文向量,通過(guò)時(shí)隙門求得g。
為評(píng)價(jià)所提出方法的有效性,本文采用基準(zhǔn)數(shù)據(jù)集ATIS(航空旅行信息系統(tǒng))[18]與數(shù)據(jù)集Snips[19]進(jìn)行對(duì)比實(shí)驗(yàn)。ATIS 數(shù)據(jù)集中訓(xùn)練集、驗(yàn)證集及測(cè)試集分別包含4 478、500 和893 條話語(yǔ),并具有120 個(gè)槽標(biāo)簽和21 個(gè)意圖標(biāo)簽。與ATIS 相比,Snips 數(shù)據(jù)集詞匯量更大,且語(yǔ)義環(huán)境更為復(fù)雜。Snips 數(shù)據(jù)集中訓(xùn)練集、驗(yàn)證集及測(cè)試集分別包含13 084、700 和700 條話語(yǔ),并具有72 個(gè)槽標(biāo)簽和7 個(gè)意圖標(biāo)簽。各數(shù)據(jù)集統(tǒng)計(jì)結(jié)果如表2 所示。
Table 2 Statistics of ATIS and Snips datasets表2 各數(shù)據(jù)集統(tǒng)計(jì)結(jié)果
所有實(shí)驗(yàn)在Linux 系統(tǒng)的tensorflow1.14 環(huán)境下進(jìn)行,設(shè)置批次大小為32、隱藏向量大小為64,損失函數(shù)采用交叉熵?fù)p失函數(shù),優(yōu)化器為Adam[20],損失函數(shù)采用聯(lián)合優(yōu)化損失函數(shù),迭代訓(xùn)練100 次。
實(shí)驗(yàn)中除在意圖識(shí)別模塊中加入意圖列表查詢機(jī)制外,其他參數(shù)設(shè)置和模型搭建與原Slot-Gated 模型相同,該方法排除了其他因素對(duì)本實(shí)驗(yàn)的干擾。本文使用F1 得分評(píng)估插槽填充性能,使用準(zhǔn)確率評(píng)估意圖識(shí)別和語(yǔ)義框架的整體性能。在ATIS 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如圖3、圖4 所示(彩圖掃OSID 碼可見(jiàn),下同)。圖3 展示了全局關(guān)注和僅意圖關(guān)注模型在ATIS 數(shù)據(jù)集上的損失值,圖4 為全局關(guān)注和僅意圖關(guān)注模型在ATIS 數(shù)據(jù)集上槽值的F1 得分,以及意圖準(zhǔn)確率和意圖與槽聯(lián)合準(zhǔn)確率。
Fig.3 Loss value of the proposed model on ATIS圖3 本文模型在ATIS 上的損失值
Fig.4 Performance of the proposed model on ATIS圖4 本文模型在ATIS 上的性能
為了說(shuō)明模型的有效性,在Snips 數(shù)據(jù)集上對(duì)模型進(jìn)行測(cè)試,實(shí)驗(yàn)結(jié)果如圖5、圖6 所示。
Fig.5 Loss value of the proposed model on Snip圖5 本文模型在Snip 上的損失值
Fig.6 Performance of the proposed model on Snips圖6 本文模型在Snips 上的性能
Slot-Gated 原文獻(xiàn)中提出的各項(xiàng)指標(biāo)為前20 輪的平均值,所展示的模型效果并未達(dá)到Slot-Gated 模型的最佳效果。本文實(shí)驗(yàn)進(jìn)行100 輪次訓(xùn)練,將Slot-Gated 模型與本文方法的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,如表3 所示。
Table 3 Performance of NLU on ATIS and Snips datasets表3 NLU 在ATIS 與Snips 數(shù)據(jù)集上的性能
從表3 可以看出,針對(duì)ATIS 數(shù)據(jù)集,采用全局注意機(jī)制,意圖準(zhǔn)確率和意圖與槽聯(lián)合準(zhǔn)確率分別提升了1.1%和1.5%;僅采用意圖注意機(jī)制,意圖準(zhǔn)確率和意圖與槽聯(lián)合準(zhǔn)確率分別提升了0.9%和1.2%。在Snips 數(shù)據(jù)集上,由于意圖種類較少且訓(xùn)練數(shù)據(jù)充足,意圖分類任務(wù)較為簡(jiǎn)單,模型能很好地?cái)M合數(shù)據(jù),加入列表查詢機(jī)制未對(duì)模型產(chǎn)生明顯改善效果。針對(duì)Snips 數(shù)據(jù)集,采用全局注意機(jī)制,意圖準(zhǔn)確率和意圖與槽聯(lián)合準(zhǔn)確率分別提升了0.1% 和0.3%;僅采用意圖注意機(jī)制,意圖準(zhǔn)確率和意圖與槽聯(lián)合準(zhǔn)確率分別提升了0.3%和0.4%。實(shí)驗(yàn)結(jié)果表明,在Slot-Gated 模型中加入基于意圖的列表查詢機(jī)制對(duì)意圖識(shí)別以及意圖與槽聯(lián)合準(zhǔn)確率的提升具有積極意義。
本文通過(guò)構(gòu)建意圖列表查詢機(jī)制,給予模型在意圖領(lǐng)域的先驗(yàn)知識(shí)。通過(guò)注意力機(jī)制將意圖先驗(yàn)知識(shí)與輸入句向量?jī)烧哌M(jìn)行有效關(guān)聯(lián),并傳入后續(xù)的意圖識(shí)別網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以實(shí)現(xiàn)更好的語(yǔ)義理解,從而提升模型意圖識(shí)別以及意圖與槽聯(lián)合準(zhǔn)確率。相比Slot-Gated 模型,本文方法在意圖識(shí)別以及意圖與槽聯(lián)合準(zhǔn)確率上均有所提升,并驗(yàn)證了將標(biāo)簽轉(zhuǎn)換為先驗(yàn)知識(shí)對(duì)模型具有積極意義。當(dāng)然本文方法在原模型的基礎(chǔ)上增加了參數(shù)量,會(huì)耗費(fèi)更多計(jì)算和存儲(chǔ)成本。在今后的研究中,將致力于將先驗(yàn)知識(shí)與模型進(jìn)行更有效融合,以提高神經(jīng)網(wǎng)絡(luò)的可解釋性。