基於注意力的循環神經網路模型用於聯合意圖推測和槽位填充

近期,基於注意力的編碼器-解碼器(encoder-decoder)神經網路模型在機器翻譯和語音識別方面表現出極大潛力。在這篇論文中,研究者探索不同的方法將對齊(alignment information)信息與編碼器-解碼器框架相結合,並進一步提議將注意力機制引入基於對齊的RNN模型。所提出的獨立任務模型在基準ATIS任務中,實現了有史以來最低的意圖推測錯誤率和最高的槽位填充F1分數。而聯合訓練模型則表現出了更明顯的優勢。

作者:Bing Liu,Lan Lane.

1、引言

自然語言理解(SLU)系統是口語對話系統的關鍵組成部分。典型來說,SLU系統涉及從自然語言詢問中識別說話者的意圖和提取語義構成,這兩項任務常被稱為意圖識別和槽位填充。

意圖識別和槽位填充通常是分別進行的。意圖推測可以理解為語義表達分類的問題,比較流行的分類方法有例如支持向量機(SVMs)和深度神經網路。槽位填充可以理解為序列標註任務。解決序列標註問題流行的方法包括最大熵馬爾可夫模型(MEMMs),條件隨機場(CRFs)以及循環神經網路(RNNs)。也有文獻中提出針對意圖推測和槽位填充的聯合模型,這樣的聯合模型簡化了SLU系統,因為這樣只需要訓練一個模型結果就能很好的完成兩個任務。

近期,encoder-decoder神經網路模型已經成功的應用在許多序列標註學習問題上,譬如機器翻譯和語音識別。在encoder-decoder背後的核心是,將輸入序列編碼成密集向量,然後使用這個向量來生成相應的輸出序列。引入注意力機制是的解碼器-編碼器結構能夠學習同時排列和解碼。

在這篇論文中,我們將調查一個SLU模型怎樣才能從序列模型的強建模能力中獲益。基於注意力的encoder-decoder模型能夠在沒有給出排列信息的情況下匹配不同長度的序列。然而在槽位填充中,排列信息是明確的,因此基於序列的RNN模型常常能夠表現出色。我們要研究結合基於注意力的方法和基於排列的方法,尤其是我們想要探索,在encoder-decoder模型里怎樣才能最好的應用序列信息進行槽位填充。另一方面,從encoder-decoder結構中引入注意力機制後,基於排列的RNN槽位填充模型能否得到進一步改善。最後,我們想要調查,在這種方案中,槽位填充和意圖推測怎麼聯合建模。

論文以下部分就是這樣展開的。在第二部分,我們介紹使用RNN槽位填充和使用encoder-decoder模型來進行序列學習的背景。第三部分,我們描述將意圖推測和槽位填充聯合建模的兩種方法。第四部分討論ATIS基準測試的實驗設置和結果。第五部分總結全文。

2.背景

2.1 RNN槽位填充

槽位填充可以理解為一個序列標註的問題,我們訓練範例{(x^((n)),y^((n)) ):n=1,……,N},然後我們想要識別學到一個函數f∶x→y,這個函數能夠匹配輸入序列x和相應的標籤序列y。在槽位填充中,輸入序列和標籤序列長度相同,因此排列是準確的。

表1:ATIS語料樣本及其意圖和槽位注釋

RNNs已經廣泛應用於許多序列建模問題中【6】【13】。槽位填充的每一個時間點上,RNN讀取詞語作為輸入,並在考慮所有來自輸入和輸出的可用信息之後,預測它相應的槽位標籤。訓練以下模型來發現可能性最大的最佳參數Θ。

這裡x代表輸入此序列,y_1^(t-1)代表上一個時間點t的輸出標註序列。在參考過程中,我們想要給x找到最佳標籤序列y,例如:

2.2 RNN encoder-decoder

RNN encoder-decoder框架首先引入在【10】 和【14】中。Encoder 和decoder是兩個分開的RNN。編碼器讀取輸入序列(x_1,……,x_T)並轉化成向量C,這個向量將源序列的所有信息編碼,再用encoder生成目標輸出序列。解碼器這樣定義輸出序列的可能性:

其中 y_1^(t-1)代表t前一個時間點的預計輸出序列。與用RNN模型進行序列標註相比,RNN encoder-decoder模型能夠逐一匹配不同長度的序列。在源序列和目標序列之間沒有明確的排列。隨後引入的注意力機制使得encoder-decoder模型在學習微對齊的同時還能夠解碼。

3 推薦方法

在這一部分,我們首先闡述將排列信息併入encoder-decoder結構來進行槽位填充和意圖推測的方法。接下來,描述我們所提議的模型怎樣將encoder-decoder結構中的注意力機制引進到基於排列的RNN模型。

3.1 有排列輸入的encoder-decoder模型

圖2展示了聯合意圖推測和槽位填充的encoder-decoder模型。對於編碼,我們使用了一個雙向RNN。雙向RNN已經成功應用於語音識別【15】和自然語言理解【16】中。我們使用LSTM作為基本的循環網路神經組件,因為與簡單RNN相比,它能更好的為長期依存關係建模。

在槽位填充的過程中,我們想把一個詞序列x(x=x1,x2……xt)匹配到與相應的槽位序列標註y(y=y1,y2………yt)。雙向RNN可以從正反兩個方向來讀取源序列。正向RNN根據詞序列的原本順序來讀取它,並在每一個時間點上生成一個隱藏狀態fhi。與此類似的,反向RNN以相反的順序讀取詞序列,並生成一個隱藏狀態(〖bh〗_T,……,〖bh〗_1) 在每一個時間點i上的最終隱藏狀態hi是正向狀態fhi和反向狀態bhi的串聯h_i=[〖fh〗_i,〖bh〗_i ]

正反兩向encoder RNN的最後一個狀態承載了整個源序列的信息。我們利用【12】中的方法,使用反向encoder RNN的最後一個狀態來計算encoder RNN 的起始解碼隱藏狀態。解碼器是一個不定向RNN。同樣,我們使用一個LSTM cell(不知道cell這裡怎麼翻譯)作為基本的RNN單元,在每一個解碼時間點i處,使用上一個時間點的解碼狀態s_(i-1),上一個釋放出的標註y_(i-1),權衡解碼隱藏狀態h_i,以及背景向量c_i可計算出解碼狀態s_i:

圖2:無排列輸入的(a)有排列輸入的(b)有排列輸入和注意力機制的(c)encoder-decoder模型的聯合意圖推測和槽位填充。Encoder 是一個雙向RNN。反向encoder RNN的最後隱藏狀態用來為 decoder RNN的初始狀態賦值。

這裡背景向量通過h=(h_1,……,h_T)【12】時編碼狀態的加權總和來計算:

以及

一個正反饋的神經網路。在每一個解碼時間點,準確排列的輸入就是解碼狀態hi。背景向量ci為decoder提供了更多的信息,也可以看成是連續的權衡過的特徵(h_1,……,h_T)的 打包。

為了給意圖推測和槽位填充聯合建模,我們加入一個decoder來做意圖推測(或者意圖分類),與槽位填充共用一個encoder。在模型訓練過程中,兩個decoder所需要的反過來傳播到encoder中。意圖decoder僅生成一個輸出,就是句子的意圖分類,因此不需要排列。意圖解碼狀態是共用的起始解碼狀態s_0的函數,它解碼整個詞序列和背景向量c_intent的信息,也就是意圖decoder所注意到的原序列信息部分。

3.2 基於注意力的RNN模型

圖3展示了聯合意圖推測和槽位填充的基於注意力的RNN模型。Encoder-decoder模型中所使用的注意力機制,激發了將注意力機制引入基於排列的RNN序列標註模型這一想法。在雙向RNN序列標註中,每個時間點的隱藏狀態承載了整個序列的信息,但是信息在正反向轉播中可能會逐漸丟失。因此,在預測槽位標註時,不應僅僅使用每個時間點上排列的隱藏狀態h_i,我們應當看看背景向量c_i是否可以提供更多的支撐信息,尤其是那些必需卻沒有被隱藏狀態完全捕捉到的長期依存信息。

圖3:聯合意圖推測和槽位填充的基於注意力的RNN模型。雙向RNN模型從正反兩個方向讀取源序列。正向RNN為槽位標籤依存建模。每一個時間點上,使用串聯的正反向隱藏狀態來預測槽位標籤。如果注意力機制被激活,背景向量ci還可提供部分輸入序列的信息,與該時間點的排列隱藏狀態hi一起用於槽位標籤預測。

在我們所推薦的模型中,雙向RNN(BiRNN)從正反兩向讀取源序列。我們使用LSTM cell作為基本的RNN單元。正向RNN為槽位標籤依存建模。與上文所描述的encoder-decoder結構中的編碼模式相類似,每個時間點上的隱藏狀態hi是正向狀態〖fh〗_i和反向狀態〖bh〗_i,h_i=[〖fh〗_(i,) 〖bh〗_i ]的串聯。每一個隱藏狀態hi包括整個輸入詞序列的信息,同時強烈聚焦在時間點i處圍繞該詞的部分。然後,隱藏狀態hi與背景向量ci相結合生成標籤分配,其中背景向量ci 通過RNN隱藏狀態h=(h_1,……,h_T)的權重平均數來計算。

為了給意圖推測和槽位填充聯合建模,我們再次使用雙向RNN的計算過的隱藏狀態h來生成意圖分類。如果沒有注意力機制,我們通過邏輯回歸,在隱藏狀態h上使用無時間限制的意圖池,來實現意圖分類。如果注意力機制被激活,我們則使用無時間限制的隱藏狀態h的加權平均數。

與使用準確排列的輸入的基於注意力的encoder-decoder模型相比,基於注意力的RNN模型更有計算效率。在模型訓練期間,encoder-decoder槽位填充模型讀取輸入序列兩次,而基於注意力的RNN模型僅僅讀取輸入序列一次。

4、實驗

4.1 數據

ATIS(航空旅行信息系統)數據集在SLU研究中應用廣泛。該數據集包括人們預定航班的音頻錄音。在本文中,我們跟隨【6】【7】【9】【19】中的ATIS語料庫 設置。 訓練集包括來自ATIS-2和ATIS-3的語料庫的4978個對話信息。測試集包括來自ATIS-3 NOV93和DEC94數據集的893個對話。共計有127個不同的槽位標籤和16個不同的意圖類別。我們使用F1打分來評估系統在槽位填充上的表現,使用分類錯誤率來評估其在意圖推測上的表現。

我們還得到在【9】和【20】中使用的另一個ATIS語料庫來做SLU評估。這個語料庫包括5138個表達,它們的意圖和槽位標註都已經注釋出來了。總共有110個不同的槽位標籤和21個意圖類別。我們使用與【9】和【20】中同樣的10倍交叉驗證設置。

4.2 訓練步驟

實驗使用LSTM cell作為基本的RNN單元。我們的LSTM安裝是根據【21】中的設計。根據數據集的大小,我們將LSTM cell中的單元數設置為128,默認忘記 gate bias設置為1。在我們所提出的方法中,我們僅使用單層LSTM,然後通過堆疊LSTM層來深化模型進行之後的研究。

128個辭彙嵌入隨機啟動,並在每次16個的小批量訓練中表現良好。在規範化模型訓練中,無循環連接中使用了0.5的脫試率【21】。梯度坡的最大模設置為5.我們根據【23】中所建議的參數設置使用了Adam最優方法。

4.3 獨立訓練模型結果:槽位填充

我們首先報告獨立任務訓練模型的結果。表1顯示了我們所推薦的結構的槽位填充F1得分。表2將我們所推薦的模型在槽位填充上的表現和之前報道的結果進行了對比。

表1:獨立任務訓練模型的ATIS槽位填充結果

表1第一行是3.1中所描述的各種encoder-decoder模型的結果。不出所料,純粹基於注意力而不用準確排列信息的模型槽位填充表現不佳。讓模型從訓練數據中識別排列信息似乎並不合適。第2行和第3行分別展現了使用準確排列輸入的無注意力機制的encoder-decoder模型的得分,以及基於注意力機制的encoder-decoder模型的得分。

基於注意力機制的模型不管是在平均分還是最佳得分上,都比無注意力機制的模型稍勝一籌。通過調查模型所學習到的注意力機制,我們發現注意力權重更傾向於在源序列的詞與詞之間平均分布。在有一些案例中,我們觀察到(圖4)decoder在輸入序列中注意到了一些細微難見的注意力(圖4),這可能在一定程度上解釋了當時模型表現的提升。

圖4:例句中最後一個詞「noon」的槽位標籤預測時推測注意力的說明。較暗的陰影部分表示更高的注意力權重。當詞語「noon」作為排列好的輸入餵給模型時,注意力機制試圖從輸入詞序列中發現其他的支撐信息來進行標籤預測。

表1 中的第二行是3.2部分所描述的雙向RNN的測試結果。和上一行的結果相類似,我們觀察到,使用了注意力機制的模型的F1得分有微弱提升。背景向量對槽位標註的作用不太明顯。似乎對於這種長度的序列來說(這個ATIS語料庫句子平均長度是11),雙向RNN所生成的隱藏狀態hi已經足以為槽位標註預測所需的大部分信息編碼。

表2將我們的槽位填充模型和此前的方法進行對比。我們的兩個模型結構都比此前的模型的最佳F1得分要高。

表2:與此前途經的對比。獨立訓練模型在ATIS槽位填充上的表現結果。

4.4 獨立訓練模型結果:意圖推測

表3將我們的意圖模型意圖分類錯誤率和此前的方法相對比。我們所推薦的模型的意圖錯誤率比之其最佳水平仍大幅度勝出。基於注意力的encoder-decoder意圖模型比雙向RNN模型表現更佳。這也許應該歸功於編碼器所傳遞的序列層級信息和解碼RNN非線性的附加層。

表3:與此前方法的對比。獨立訓練模型在ATIS意圖推測上的表現

4.5 聯合模型結果

圖4對比了我們所訓練的模型和此前報道的模型在意圖推測和槽位填充上的表現。如圖所示,與獨立訓練模型相比,使用encoder-decoder結構的聯合訓練模型在槽位填充上顯示了0.09%的絕對提升,在意圖推測上顯示了0.45%的絕對提升(23.8%的相對提升)。基於注意力的RNN模型似乎能夠更多的從聯合訓練中受益。我們的兩種聯合訓練途徑的表現都優於其他聯合訓練模型的最佳表現。

表4 :與此前途經的對比。聯合訓練模型在ATIS槽位填充和意圖推測上的表現。

為了進一步檢驗我們的聯合訓練模型的表現,我們將我們所提議的模型應用於更多的ATIS數據中,並用10倍交叉檢驗法來評估,如圖【9】和【20】所示。encoder-decoder模型和基於注意力的RNN模型的表現都令人充滿希望。

表5:使用十倍交叉檢驗法後聯合訓練模型在更多的ATIS語料庫上的測試表現

5、結論

在這篇論文中,我們探索了在基於注意力的encoder-decoder神經網路模型中使用準確排列信息的策略。並進一步提出了一個基於注意力的雙向RNN模型用於聯合意圖推測和槽位填充。使用一個聯合模型來進行兩項SLU任務簡化了對話系統,因為只需要訓練和部署一個模型。我們的獨立訓練模型在基準問題測試ATIS任務中的意圖推測和槽位填充上,獲得了目前業界已知的最佳成績。我們所推薦的聯合訓練模型進一步提高了獨立訓練模型的推測準確率和槽位填充的F1得分。

推薦閱讀:

【deeplearning.ai】深度學習(9):自然語言處理
嶺回歸-嶺回歸
Bag of Word
第二節 自然語言處理的框架與流程
RNN基本模型匯總(deeplearning.ai)

TAG:自然語言處理 |