論文名稱:Entity-Consistent End-to-end Task-Oriented Dialogue System with KB Retriever
1.端到端任務型對話系統
任務型對話系統可以用來幫助用戶完成訂購機票、餐廳預訂等業務,越來越受到研究者的關注。近幾年,由於序列到序列(sequence-to-sequence)模型和記憶網絡(memory-network)的強大建模能力,一些工作直接將任務型對話建模為端到端任務型對話任務。如圖一所示,輸入輸出定義如下:
圖1 InCar數據集的一個例子。上面為支撐該組對話的知識庫,下面為對應的對話內容。
端到端任務型對話系統可定義為:通過sequence-to-sequence模型讀入用戶的需求和配套的知識庫,直接生成系統的回覆,如圖2所示:
圖2 端到端任務型對話系統的流程圖
2.背景和動機
一些工作在端到端任務型對話系統中進行了探索。Eric [1] 等人第一次構建了InCar數據集,並提出了對於整個知識庫進行注意力操作,然後將對知識庫中的實體注意分值增廣到最終的生成概率分布中,從而使得整個模型能夠生成實體。Madotto [2] 等人第一次將記憶網絡引入到端到端任務型對話中,用它來存儲知識庫和歷史對話,來增強生成過程中與實體的交互。Wen[3]等人提出使用隱式的對話狀態來檢索相應的知識庫,從而在生成過程中複製選擇實體。
但是這些方法都聚焦在整個知識庫的選擇和注意上。往往會造成模型生成實體出現不一致的情況,如圖1所示:如果系統生成回覆中的POI是第四行的「Valero」,但是生成的Address又是第五行標紅的「899 Ames Ct」,這就是我們所說的實體不一致的情況,這極大的影響了任務型對話系統最後的任務成功完成度。
同時,我們觀察到,在任務型對話系統中,大部分回覆中的實體是可以由一行知識庫支撐,如圖3,4所示:
圖3 一行知識庫支撐回復案例
圖4 一行知識庫支撐回復案例
因此將該觀察融入到回復生成中,可以提升生成實體的一致性。我們在本文中,提出了一個兩步檢索知識庫的框架,第一步我們引入一個知識庫檢索模塊來檢索出最相關的知識庫行,在第二步中,我們使用注意力機制來對知識庫的列進行打分,最後採用複製(copy)機制,來將選中的實體融入到生成過程。在下面方法階段我們將詳細描述。
3.方法
3.1 基本的序列到序列模型
基本的序列到序列模型包括一個編碼器和一個基於注意力機制的解碼器,基本框架圖如圖5所示:
圖5 基本的序列到序列模型
編碼器:採用雙向LSTM將對話歷史進行編碼得到:
解碼器:使用注意力機制的解碼器,採用單向LSTM對每個時刻狀態進行解碼,公式如下:
3.2 知識庫行選擇
我們採用記憶網絡(memory-network)來建模知識庫的行選擇過程。
對話歷史表示:我們follow原始論文(Sukhbaatar等人,2015)[4] 的神經詞袋模型(BoW)來編碼對話歷史。
知識庫每一行的表示:一行中的每個實體採用詞向量表示,第行中的所有實體的詞向量之和來作為該行的表示。
基於記憶網絡的知識庫檢索器,建模過程如下:
其中i代表記憶網絡中第i個hop。得到a之後,我們可以將檢索結果表示為:其中計算過程如下,方便後面與挑選列的結果結合。
其中在檢索結果中, 表示第行和列的實體是否與最後的生成過程是相關的。總的定行示例圖如圖6所示:
圖6 檢索知識庫行示例圖
3.3 知識庫列選擇
我們採用注意力機制來挑選知識庫列:
其中是知識庫第j列的注意力分數, 是知識庫第j列的表頭詞向量表示。選擇過程如下所圖7所示:
圖7 檢索知識庫列示例圖
得到了知識庫列的分布,我們將之前的行選擇結果t與列選擇結果相乘得到我們的檢索結果:
最後我們將檢索結果融入到解碼器生成過程中,如圖8所示:
圖8 生成過程融入檢索知識過程
上圖的紅色部分代碼正常詞彙的生成過程,藍色部分代表檢索的知識結果。
4.訓練知識庫檢索器
因為前面提到,給定對話歷史和對應的知識庫,知識庫檢索器需要選擇一個最相關的知識庫行,但是該過程沒有標註數據。
於是我們提出兩種方法去訓練知識庫檢索器。
4.1 遠程監督
我們設計了一些啟發式規則來構造行的監督數據。在構造過程中,我們進一步假設一個任務型對話能夠由一行知識庫支撐。我們計算每一個知識庫行與整個對話系統的相似度分數。如果有單詞能夠匹配上,我們就將得分進行加1.最終挑選得分最大的那行,作為我們的監督信息。例子如下:
圖9 遠程監督例子(1)
圖10 遠程監督例子(2)
圖11 遠程監督例子(3)
4.2 Gumbel-Softmax
由於之前挑選行的過程會使用argmax的操作,造成整個框架不能進行端到端的訓練,於是我們在得到行檢索結果T的時候,使用Gumbel-softmax操作來使得整個過程可微分,替換公式如下:
5.實驗
5.1 數據集和評價指標
我們使用公開的InCar數據集,訓練、開發和測試集的劃分依照提出這個數據集的論文[2]進行,並且為了進一步檢驗我們框架的有效性,我們重新標註了Camrest數據集 [5]。我們將該數據集的每一個對話人工標註上它配套的知識庫,目前該標註數據集已經開源,地址為:https://github.com/yizhen20133868/Retriever-Dialogue。
我們follow前人工作,採用BLEU來衡量生成句子的流暢度,採用實體Micro-F1值來衡量系統檢索知識庫的能力。
5.2 主實驗結果
主實驗結果如表1所示:
表1 主實驗結果
我們對比了基線模型,可以發現:
(1)在表1第一個方框中,我們顯示了Eric等人報告的結果(帶*)。我們認為,他們的結果不能直接比較,因為他們的工作使用的是標準化形式的實體,這些實體不是基於真實實體來計算的。但是我們的兩種方法的框架在整體BLEU和Entity F方法上仍優於他們的模型的KV Net,這證明了我們框架的有效性。
(2)在表1的第二個方框中,我們可以看到我們的框架(遠程監督和Gumbel-Softmax訓練),擊敗了兩個數據集上的基線模型。在InCar數據集中,我們的Gumbel-Softmax模型與基線相比具有最高的BLEU,這表明我們的框架可以產生更多的流暢回復。特別是,在F1指標上,我們的框架在Navigate域上實現了2.5%的改進,在Weather域上實現了1.8%的改進,在Calendar域上實現了3.5%的改進。這表明我們的KB檢索器模塊和框架的有效性可以從KB中檢索更多正確的實體。在CamRest數據集中,也看到了相同的增長趨勢,進一步表明了我們框架的有效性。
(3)我們觀察到,用Gumbel-Softmax訓練的模型好於遠距離監督方法。我們歸功於KB檢索器和Seq2Seq模塊以端到端的方式進行微調,這可以優化KB檢索器並進一步促進對話的生成。
5.3 一行知識庫能夠支撐的回覆比例
我們分析了實驗的兩套數據集,發現95%的Navigate領域,80%的天氣領域和90%的Camrest數據集的生成回覆中的實體可以由一行知識庫支撐。這證明了我們一開始的假設。並且,我們研究了其餘20%的weather領域,發現大部分回復不能由知識庫的任意一行支撐,比如 「It ’s not rainy today」,知識庫實體中只有Sunny,如果我們把這種情況也認為是一行知識庫支撐,那麼比例能夠達到99%。
5.4 生成實體一致性
我們定義生成的回覆實體如果是來自相同的一行知識庫(由遠程監督自動得到的結果),就認為他們是一致的,所有模型的一致性結果如表2左半部分:
表2 實體一致性結果與人工評價
5.5 知識庫行數與生成一致性之間的相關性
為了進一步探討知識庫行數與回復實體一致性之間的相關性, 我們實驗了1到5行知識庫的回覆生成。一致性結果如圖12所示,我們可以看到隨著知識庫行數的增加,實體一致性在逐漸降低。這表明不相關的信息將損害對話生成的一致性。
圖12 知識庫行數與回復一致性關係
5.6 可視化
我們在生成實體「Alester Ave 200」的解碼位置上知識庫實體概率可視化。從圖13中,我們可以看到第4行和第1列具有生成200 Alester Ave的最高概率,這證明了首先選擇最相關的知識庫行然後進一步選擇知識庫列的有效性。
圖13 可視化結果
5.7 人工評價
我們最後還進行了人工評價,對生成的回覆correctness,fluency, and humanlikeness三個方面進行打分,結果如表2右半部分所示。我們可以看出結果與自動評價一致,尤其是在正確性指標上遠高於基線模型,證明我們框架的有效性。
6.結論
(1)我們首次在端到端任務型對話系統中研究實體一致性問題,並採用知識庫檢索器過濾不相關的知識庫,用來提高實體一致性。
(2)我們提出使用遠距離監督和Gumbel-Softmax方法來訓練知識庫檢索器。
(3)我們在兩個公開的任務的對話數據集上的實驗結果表明:提出的模型優於基線模型並產生了更多實體一致的回覆,這證明了我們模型的有效性。
參考文獻
[1] Mihail Eric, Lakshmi Krishnan, Francois Charette, and Christopher DManning. 2017. Key-value retrieval networks for task-oriented dialogue.
[2] Andrea Madotto, Chien-Sheng Wu, andPascale Fung. 2018. Mem2seq: Effectively incorporating knowledge bases intoend-to-end task-oriented dialog systems.
[3] Haoyang Wen, Yijia Liu, Wanxiang Che,Libo Qin, and Ting Liu. 2018. Sequence-to-sequence learning for task-orienteddialogue with dialogue state representation.
[4] Sainbayar Sukhbaatar, Jason Weston, RobFergus, et al. 2015. End-to-end memory networks.
[5] Tsung-Hsien Wen, David Vandyke, NikolaMrkˇsi´c, Milica Gasic, Lina M. Rojas Barahona, Pei-Hao Su, Stefan Ultes, andSteve Young. 2017b. A network-based end-to-end trainable task-oriented dialoguesystem.
本期編輯:馮梓嫻
本文轉載在公眾號:哈工大SCIR,作者哈工大SCIR
推薦閱讀
「原子」因果常識圖譜
Transformer詳解《attention is all your need》論文筆記
BERT源碼分析PART I
BERT源碼分析PART II
BERT源碼分析PART III
徵稿啟示| 讓更多的NLPer看到你的文章
AINLP-DBC GPU 雲伺服器租用平臺建立,價格足夠便宜
我們建了一個免費的知識星球:AINLP芝麻街,歡迎來玩,期待一個高質量的NLP問答社區
關於AINLP
AINLP 是一個有趣有AI的自然語言處理社區,專注於 AI、NLP、機器學習、深度學習、推薦算法等相關技術的分享,主題包括文本摘要、智能問答、聊天機器人、機器翻譯、自動生成、知識圖譜、預訓練模型、推薦系統、計算廣告、招聘信息、求職經驗分享等,歡迎關注!加技術交流群請添加AINLP君微信(id:AINLP2),備註工作/研究方向+加群目的。