AG-DST论文笔记
Amendable Generation for Dialogue State Tracking
對話狀態追蹤的可修改生成
abstract
Recent dialogue state tracking tend to perform one-pass generation of the dialogue state based on the previous doalogue state
模型在當前輪次的錯誤很容易傳播到下一輪對話狀態的生成,錯誤傳播
論文提出新的可修改對話狀態的模型,模型分兩步生成:(1)根據當前輪次的對話和上一輪次的對話狀態生成當前輪次的原始對話狀態(2)修改第一步生成的原始對話狀態
目的是學習到更魯棒的對話狀態
Introduction
背景:從預定義曹植(OOV問題)–》從對話話語中去生成提取對話狀態(效率不高,需要針對對話歷史從頭到尾預測)-----利用上一輪的對話狀態代替對話歷史,因為對話狀態就是對話歷史的壓縮表示-----》編碼上一輪對話狀態和當前對話歷史,采用狀態預測和生成器去完成對話狀態追蹤(模型的準確率收到狀態預測器的限制)----------》將對話狀態的生成當做是因果模型,序列到序列。(編碼時采用了上一輪的對話狀態,存在錯誤傳播問題,缺乏修正錯誤的復核程序)-----》本文的模型
在訓練的過程中這種錯誤的對話狀很難修復,同時出現的次數較少,我們使用負采樣的工作。
Methodology
Basic Generation
問題定義:
表示共T輪的對話話語
表示第t輪的對話話語
表示第t輪的系統回復
表示第t輪的用戶話語
表示每一輪對話話語的對話狀態
表示第t輪的對話狀態,
表示第i個域槽
表示第i個域槽的相關槽值
使用**,**表示not mentioned 和 don‘t care域槽值
表示第t輪的對話話語
在第一階段的基本生成中,當前輪次的對話話語被特殊標記包裹,以表示對話話語的界限
并且使用分別添加在第t輪的系統回復和第t輪的用戶話語之前
表示第t輪的對話狀態,I表示在不同的領域中共有I個域槽
同時輸入時使用包裹對話狀態。
如上AG-DST的模塊概述圖,在第一階段中,輸入當前輪的對話話語和前一輪的對話狀態,從而生成原始對話狀態(Primitive DS)。公式如下:
在輸入時使用包裹整個輸入序列,以提示模型當前處于生成原始對話狀態階段
輸入時每一個字的嵌入是Position Embedding+Role Embedding+Segment Embedding,其中重點是
Position Embedding 用來區分每一個字的位置,
Role Embedding主要用來區分對話中的角色,
Segment Embedding 用來區別每一段的區別
Amending Generation
在修訂生成時,輸入當前的對話和第一階段生成的原始對話狀態
表示修訂新生成的對話狀態,在修正階段時,與基本生成模型共享參數。
使用包裹與基本生成進行區分
Negative Sampling
負采樣的目的促進生成過程的有效學習,提出這種策略,去主動挖掘模型中出錯的示例(生成錯誤的槽值、未能填充更新某些曹植),作者的做法是隨機的替換錯誤的槽值。
替換的部分是這個
Training Objective
Experiments
Datasets
使用的是MUZ 2.2,修復了2.1數據集中17.3%的注釋錯誤,使用MUZ2.0單域數據集
Implementation Details
論文的實驗可以使用很多大型預訓練生成模型,使用GPT-2,batchsize=6 在4張v100上,跑40epoch
Experimental Results
可以看到AG-DST sota了。
Analysis
Amending Generation
為了展示論文中的修正生成的效果,到底有沒有起作用,作者做了以上的實驗。不加負采樣的生成,是輸入第一階段的輸出,NS 的負采樣是隨機負采樣錯誤的槽值,NS+指的是啟發式負采樣,指交換域槽之間的相關的槽值(比如出發地和目的地的名稱類似的)
Visualization
展示兩個步驟的生成中Attention可視化,在基礎生成階段可以看到對于槽restaurant area和people的槽值分別是從上一輪的對話對話狀態和用戶話語中復制來的,但是對于restaurant-name在第一階段生成錯誤了,但是在第二階段根據原始對話狀態成功的將錯誤的對話狀態修改正確了。
Error Analysis
作者分析在一次性生成的DST 模型當中,存在三種錯誤(1)槽值不更新(2)槽值更新的不正確(3)相關槽值混淆
作者在MUZ2.2里對模型出現的錯誤類型進行統計,inconsistent annotation指的是數據集中的錯誤
Effect of Previous Dialogue State
主要是為了展示不同的輸入對模型的效果影響,第一行是使用全部的對話歷史,第二行是使用全部的對話歷史和上一輪的對話狀態,第三行是適用當前輪次的對話話語和上一輪的對話狀態。證明使用當前輪次的對話話語和上一輪的對話狀態與第二行比較幾乎不影響性能,也表明這樣的做法的有效性。
Effect of Pre-training
使用不同的預訓練模型進行測試
表明本論文方法對預訓練模型的DST的性能提升是有效果的
Effect of Special Tokens
進一步證明使用特殊符號的有效性
總結
以上是生活随笔為你收集整理的AG-DST论文笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: electron-vue 打包桌面应用程
- 下一篇: android热成像模块,Thermal