Sequential Dialogue Context Modeling for Spoken Language Understanding《口語理解的上下文構建》

摘要

口語理解(SLU)是面向目標的對話系統的重要組成部分,該系統將用戶的發言解析爲語義框架表示。傳統上,SLU不會利用對話系統之前的對話歷史,而上下文的歧義由下游組件來解決。在本文中,我們探索了在基於遞歸神經網絡(RNN)的語言理解系統中建模對話上下文的新穎方法。我們提出了順序對話編碼器網絡,該網絡允許按時間順序從對話歷史中編碼上下文。我們將我們提出的體系結構的性能與兩個上下文模型進行比較,一個僅使用前一個轉彎上下文,另一個在內存網絡中對對話上下文進行編碼,但在對話歷史中失去話語順序。多域對話數據集的實驗表明,提出的體系結構可降低語義幀錯誤率。

 

1 Introduction

 

面向目標的對話系統通過與用戶進行自然交互,幫助用戶完成任務,例如進行餐廳預訂或預訂航班。理解用戶話語並將其分解爲特定於任務的語義的能力是這些系統的關鍵要求。這是在口頭語言理解模塊中完成的,該模塊通常將用戶話語解析爲由域,意圖和位置組成的語義框架(Tur和De Mori,2011),然後可以由下游對話處理。
隨着對話系統支持的任務的複雜性增加,需要在用戶和代理之間增加來回交互。例如,飯店預訂任務可能要求用戶指定飯店名稱,日期,時間和預訂所需的人數。另外,根據預訂的可用性,用戶可能需要與代理協商日期,時間或任何其他屬性。這將解析對話上下文用戶話語的負擔放在了語言理解模塊上。當系統支持多個任務並且允許用戶在同一對話中跨越多個域的目標時,複雜性會進一步增加。自然語言的話語通常是模棱兩可的,以前的用戶和系統轉變所帶來的上下文可以幫助解決由於這些歧義而引起的錯誤。

 

圖1:遵循插槽值的IOB(從頭開始)表示後,對帶有插槽(S),域(D),意圖(I)註釋的話語(u2)的示例語義解析。
日誌系統組件。圖1中顯示了與餐廳預訂相關的查詢的示例語義框架。

 

 

在本文中,我們探索了在基於遞歸神經網絡(RNN)的口語語言理解系統中改善對話上下文建模的方法。 我們提出了一種新穎的模型架構,以改善對話上下文建模,從而在多域對話數據集。擬議的架構是分層遞歸編碼器(HRED)的擴展(Sordoni等,2015),在將查詢級別編碼與當前話語表示結合之前,將其饋入會話電平編碼器。我們將這種模型的性能與僅注入前一轉彎上下文的RNN標記器以及使用對話上下文的注意加權組合的單跳存儲網絡進行了比較(Chen等人,2016年; Weston等人。 ,2014)。此外,我們描述了一種對話重組技術,通過注入合成域開關來提高訓練數據集的複雜性,從而與測試數據集中的混合域對話更好地匹配。從原則上講,這是(Jia and Liang,2016)的多圈擴展。我們沒有引入和組合語法來綜合增強單回合文本,而是將單域對話會話合併爲多域對話以在培訓期間提供更豐富的上下文。

2 Related Work

理解用戶話語的任務通常分爲三項任務:域分類,意圖分類和空位填充(Tur and De Mori,2011)。大多數現代的口語理解方法都涉及在標記的訓練數據上訓練機器學習模型(Young,2002; Hahn等,2011; Wang等,2005等)。最近,基於遞歸神經網絡(RNN)的方法已被證明在口頭語言理解任務上表現出色(Mesnil等人,2015;Hakkani-Tütal,2016; Kurataetal。,2016等)。基於RNN的方法也已成功應用於其他任務,
對話系統,例如對話狀態跟蹤(Henderson,2015; Henderson等,2014; Perez和Liu,2016等),政策學習(Su等,2015)和系統響應生成(Wen等,2015)。 ,2015、2016等)。
同時,任務的聯合建模和上下文信號的添加已顯示出可以在幾種應用程序中獲得性能提升。研究表明,在聯合RNN模型中對域,意圖和時隙進行建模會降低總體幀錯誤率(Hakkani-Tür等人,2016)。意圖分類和語言建模的聯合建模顯示出在意圖識別方面的有希望的改進,特別是在存在嘈雜語音識別的情況下(Liu和Lane,2016年)。
同樣,從對話歷史中合併更多上下文的模型(Chen等人,2016)或從框架中合併語義上下文的模型(Dauphin等人,2014; Bapna等人,2017)傾向於在沒有上下文的情況下勝過模型。在口頭語言理解和相關任務上顯示出更大的推廣潛力。 (Dhingra等人,2016)通過將知識庫上下文納入他們的對話系統,顯示了信息對話代理人的績效提高。事實證明,使用對話上下文可以提高端到端對話(Bordes和Weston,2016)和下一個話語預測(Serban等,2015)的表現。
在接下來的幾節中,我們將介紹所提出的模型架構,數據集和對話重組方法。隨後是實驗結果和分析。

3 Model Architecture

我們比較了3種模型架構的編碼對話環境多域對話數據集的性能。 令對話爲系統話語和用戶話語的序列Dt ={u1,u2 ... ut},在時間步t處,我們嘗試輸出給定Dt的用戶話語ut的解析。 令任何話語uk爲{xk,xk ... xk}給定的標記序列。
1 2 NK
我們將模型分爲2個部分,
文本編碼器作用於Dt上,以ht = H(Dt)表示對話上下文,並使用標記器將對話上下文編碼爲ht,並將當前話語ut作爲輸入併產生 域,意圖和廣告位註釋作爲輸出。

3.1 Context Encoder Architectures

在本節中,我們描述了用於實驗的上下文編碼器的體系結構。 我們比較了3種不同架構的性能,這些架構編碼不同級別的對話上下文。

3.1.1 Previous Utterance Encoder

這是基線上下文編碼器體系結構。我們提供與以下內容相對應的嵌入:kens在以前的系統話語中,ut-1 ={xt-1,xt-1 ... xt-1},變成單個雙向1 2 nt-1具有門控循環單元(GRU)的RNN(BiRNN)層(Chung等,2014)和128個維度(每個方向64個)。 嵌入與標記器共享。 上下文編碼器GRU的最終狀態用作對話上下文

3.1.2 Memory Network

這種架構與(Chen et al。,2016)中描述的方法相同。 我們使用雙向GRU(BiGRU)編碼器使用128個維度(64英寸)將所有對話上下文話語{u1,u2 ... ut-1}編碼爲由{m1,m2,... mt-1}表示的存儲向量 每個方向)。 要將時間上下文添加到對話歷史話語中,我們將特殊的位置標記附加到每個話語上。

我們還使用另一個具有128個維度(每個方向64個)的BiGRU編碼器,將當前的發聲編碼爲c表示的上下文向量,如等式3所示。這在概念上如圖2所示。

令M爲矩陣mi給出的第i行。 我們獲得每個內存向量mi和上下文向量c之間的餘弦相似度。 這種相似性的softmax用作存儲器M上的注意力分佈,並且M的注意力加權總和用於生成對話上下文向量ht(公式4)。 從概念上講,這如圖3所示。

3.1.3 Sequential Dialogue Encoder Network

我們通過添加會話編碼器(Sordoni等人,2015)來增強上面描述的存儲網絡體系結構,該編碼器在時間上將當前話語編碼c(等式3)和存儲向量的聯合表示組合在一起。 ,{m1,m2 ... mt-1},(等式2)。
對於1≤k≤nk,我們將上下文向量c與每個內存向量mk組合在一起,方法是將它們串聯並通過前饋層(FF),以產生128維上下文編碼,用{g1,g2表示。 ..gt−1}(式5)

 

 

這些上下文編碼作爲令牌級別的輸入饋入會話編碼器,該編碼器是一個128維BiGRU層。 會話編碼器的最終狀態表示對話上下文編碼ht(等式6)。

3.2 Tagger Architecture

對於我們所有的實驗,我們都使用堆疊式BiRNN標記器來聯合建模域分類,意圖分類和時隙填充,類似於(Hakkani-Tür等人,2016)中描述的方法。 我們將與當前話語標記相對應的學習到的256維嵌入嵌入到標記器中。
第一RNN層使用等式7中具有256維(每個方向128個)的GRU單元。將令牌嵌入饋送到第一RNN層的令牌級別輸入中,以生成令牌級別輸出o1 = {o1,o12 ... o1nt}。

第二層使用256個維度(兩個維度均爲128個)的長期短期內存(LSTM)(Hochreiter和Schmidhuber,1997)。 我們使用基於LSTM的第二層,因爲它提高了所有體系結構驗證集上的時隙填充性能。 我們將dropout應用於兩層的輸出。 用等式8的對話編碼ht初始化第二個標記器層的前向和後向LSTM的初始狀態。將第一個RNN層o1的令牌級別輸出作爲輸入饋入第二個RNN 生成令牌級別輸出o2 = {o21,o2 ... o2nt}和最終狀態s2。

第二層的最終狀態s2用作域和意圖分類的分類層的輸入。

第二層的令牌級別輸出o2用作輸出IOB插槽標籤的softmax層的輸入。 對於具有N個插槽的域,這將導致softmax層具有2N +1個維度。

The architecture is depicted in Figure 5.

4 Dataset

我們將多輪對話的會話集中到三個任務上:購買電影票,尋找餐廳和在餐廳預訂桌子。我們的數據收集過程包括兩個步驟:(i)基於模擬用戶的交互作用和基於規則的對話策略,生成包括對話行爲和廣告位的用戶-代理交互。 (ii)使用衆包平臺引出與所產生互動的語義相吻合的自然語言話語。
我們的對話系統的語言理解模塊的目標是將每個用戶的話語映射到可以由下游組件處理的基於框架的語義。可以在附錄中找到描述數據集中存在的意圖和槽位的表。
我們使用基於隨機議程的用戶模擬器(Schatzmann等,2007; Shah等,2016)與基於規則的系統策略相互作用。用戶目標是根據表示用戶約束的插槽元組指定的。可能未指定某些約束,在這種情況下,用戶對這些插槽的值無動於衷。在任何給定的回合上,模擬器都基於(i)用戶目標和議程(包括仍需要指定的廣告位),(ii)隨機選擇的用戶個人資料( -手術/攻擊性,詳細/簡潔等),以及(iii)以前的使用者和系統操作。基於選擇的用戶對話行爲,基於規則的策略可能會進行後端調用,以查詢餐廳或電影的可用性。基於用戶行爲和後端響應,系統基於手動設計的基於規則的策略以對話行爲或對話行爲的組合進行響應。然後,將這些產生的交互作用翻譯成其自然語言對應物,然後發送給羣衆工作者,以解釋自然語言的人機對話。
模擬器和策略也得到了擴展,可以處理跨越不同領域的多個目標。在此設置中,模擬器的用戶目標將包括多個任務,並且廣告位值可以以之前的任務爲條件,例如,模擬器將要求在“電影之後”預訂餐桌,或搜索餐廳”靠近劇院”。該模擬器支持的插槽組在表1中列出。我們收集了1319個用於餐廳預訂的對話,976個用於查找餐廳的對話和1048個用於購買電影票的對話。所有單域數據集均爲
用於訓練。多域模擬器用於收集467個對話進行培訓,50個對話進行驗證以及273個測試集。由於自然語言對話是已知對話和廣告位組合的解釋版本,因此會自動標記它們。這些標籤由專家註釋者驗證,缺少註釋的轉彎由專家手動註釋。

 

 

 

5 Dialogue Recombination

 

如前一節所述,我們在大量的單域對話數據集和少量的多域對話中訓練模型。 然後,在由多域對話組成的測試集上評估這些模型,其中用戶嘗試實現跨越多個域的多個目標。 這導致分佈漂移,可能導致性能下降。 爲了應對訓練測試數據分佈中的這種漂移,我們採用了一種對話重組方案,可以從單域訓練數據集中生成多域對話。重組方法背後的關鍵思想是旨在實現不同任務的子對話的條件獨立性(Grosz和Sidner,1986)。 我們利用任務意圖或表示用戶試圖執行的主要任務切換的意圖的存在,因爲它們是對話重點切換的有力指示。 根據先前對話上下文中的這些意圖,我們利用子對話的獨立性來生成具有多域上下文的合成對話。 重組過程如下:
假設對話d被定義爲一系列轉彎和相應的語義標籤(域,意圖和位置註釋){(td1,fd1),(td2,fd2),...(tdnd,fdnd}。 重新組合了由數據集1和數據集2的對話組成的數據集,對於(數據集1,數據集2)域數據集的每個組合,我們重複以下步驟10000次。從三單

•分別從數據集1和數據集2採樣對話x和y。
•在y中找到標有任務意圖的第一個用戶話語。 讓它變成l。
•隨機抽取圖x中的插入點。 讓它變成k。

•The new recombined dialogue is {(tx1, fx1), ...(txk, fxk), (tyl, fyl),...(tyny , fyny )}.

表2中描述了使用上述過程生成的示例對話。由於在沒有先前上下文的情況下,這些對話變得模棱兩可或令人困惑,因此我們將對話x的內容丟棄到重組對話中插入點(回合k)之後。 。 從某種意義上說,我們的方法是部分對話重組的一種。

6 Experiments

我們在上述數據集上比較了域分類,意圖分類和時隙填充性能,以及編碼器-解碼器,存儲網絡和順序對話編碼器網絡的總體幀錯誤率。 SLU系統的幀錯誤率是發話的百分比,在該發話中,SLU系統做出錯誤的預測,即對域,意圖或時隙中的任何一個進行錯誤的預測。
我們使用RMSProp訓練了所有3個模型,進行了100000個訓練步驟,批量大小爲100。我們從0.0003的學習率開始,學習率每3000步下降了0.95。 如果漸變規範的大小超過2.5,則會對其進行裁剪。 所有模型和優化超參數均基於網格搜索進行選擇,以最大程度地減少驗證設置幀錯誤率

 

  表4:來自測試集的對話,帶有帶有重組數據(ED + DR)的編碼解碼器的預測,帶有重組數據(MN + DR)的內存網絡和帶有對話重組(SDEN + DR)的順序對話編碼器網絡。 在對話中被斜體顯示爲詞彙量不足或被特殊標記代替。 對話歷史記錄右側的列詳細說明了注意力分佈。 對於SDEN + DR,我們使用會話GRU狀態的變化幅度作爲注意力分佈的代理。 如果歷史填充的關注度不爲零,則關注度權重之和可能不會爲1。

我們限制模型詞彙表僅包含在訓練集中出現超過10次的令牌,以防止過度適合訓練集實體。 數字被特殊的“#”標記代替,以便更好地泛化到看不見的數字。 對話歷史記錄被填充爲40種語音,用於批處理。 我們在表3中報告了包含和不包含重組數據集的結果。

7 Results

僅在先前的轉彎上下文中訓練的編碼器解碼器模型在幾乎所有度量上均表現最差,而與是否存在重組數據無關。這可能是由於對話中說話的表現較差所致,在這種情況下,僅上一個轉彎上下文不足以準確識別域,在某些情況下還不能準確確定說話的意圖和位置。
在沒有重組數據的情況下,內存網絡是性能最佳的模型,這表明
即使只有少量的多域數據可用,該模型也能夠有效地編碼其他上下文以提高所有任務的性能。
在沒有重組數據的情況下,順序對話編碼器網絡的性能比存儲網絡稍差。可以通過模型過度擬合到訓練期間看到的單個域上下文,以及無法在多域設置中有效利用上下文來說明這一點。在重新組合對話的情況下,其性能優於所有其他實現。
除了增加對話環境中的噪音外,在訓練集中添加重新組合的對話會增加訓練數據的平均轉彎長度,使其更接近於測試對話。從本質上講,我們的擴充方法是將(Jia和Liang,2016)中描述的數據重組擴展到對話。我們假設合成上下文的存在對模型具有類似正則化的影響。 (Jia and Liang,2016)觀察到了類似的效果,其中使用更長的合成增強話語進行訓練可以在更簡單的測試集上提高語義解析性能。觀察結果也證明了這一點,即隨着模型複雜度的增加,通過添加重組數據而獲得的性能改進也會增加。

 

表5:來自測試集的對話,其中包含帶有重組數據的編碼解碼器(ED + DR),帶有重組數據的存儲網絡(MN + DR)和帶有對話重組的順序對話編碼器網絡(SDEN + DR)的預測。 對話中已被斜體顯示的令牌超出了詞彙量或被特殊令牌取代。 對話歷史記錄右側的列詳細說明了注意力分佈。 對於SDEN + DR,我們使用會話GRU狀態的變化幅度作爲注意力分佈的代理。 如果歷史填充的關注度不爲零,則關注度權重之和可能不會爲1。

8 Discussion and Conclusions

表4展示了測試集中的示例對話,以及所有3個模型的金色和模型註釋。我們觀察到,編碼器解碼器(ED)和順序對話編碼器網絡(SDEN)能夠成功識別域,意圖和插槽,而內存網絡(MN)無法識別電影名稱。
從注意力分佈來看,我們注意到MN的注意力非常分散,而SDEN專注於最近的最後2種話語,這些話語直接確定了最終用戶話語的域和電影版位的存在。 ED還能夠從先前的話語上下文中識別出最終用戶話語中電影的存在。
表5顯示了另一個示例,其中SDEN模型的性能優於MN和ED。僅限於前一個話語ED不能正確識別用戶話語的範圍。 MN模型將重點放在承擔任務意圖的話語上,從而正確地識別了域,但是它無法在用戶話語中識別出餐廳的存在。這突顯了它無法結合多種歷史話語的背景。另一方面,正如在最後兩種話語上的注意力分佈所表明的那樣,儘管存在多個語音提示,SDEN還是能夠成功地將對話中的上下文組合起來,從而從用戶話語中正確識別域名和餐廳名稱。語外標記。上面的兩個示例表明,在多個歷史記錄對補充信息進行編碼的場景中,SDEN的性能更好,這些信息可能有助於解釋用戶的話語。通常情況下,在面向目標的自然對話中,幾個任務和子任務進入和離開了對話的焦點(Grosz,1979)。
另一方面,我們還觀察到,在沒有重新組合數據的情況下,SDEN的性能明顯較差。由於其複雜的體系結構和更大的參數集,SDEN在低數據場景中易於過擬合。
在本文中,我們收集了面向目標的人機對話的多域數據集,並分析和比較了多種基於神經網絡的模型體系結構的SLU性能,這些體系結構可以對不同數量的上下文進行編碼。我們的實驗表明,通過對話對更多的上下文進行編碼,並使模型能夠按順序組合上下文信息,可以降低總體幀錯誤率。我們還引入了一種數據增強方案,以在更豐富的上下文中生成更長的對話,並憑經驗證明,它可以提高多種模型體系結構的性能。

 

 

 

 

 

 

 

 

 

 

發佈了60 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章