論文精讀-Transferable Multi-Domain State Generator for Task-Oriented Dialogue Systems

ACL2019
文章簡介:
本文提出了一個(gè)可遷移多領(lǐng)域的的狀態(tài)生成器模型(transferable dialogue state generator关霸,TRADE)來實(shí)現(xiàn)任務(wù)型對話系統(tǒng)。在多領(lǐng)域(Multi-Domain)和zero-shot domain對話數(shù)據(jù)集中獲得了不錯(cuò)的表現(xiàn)欠啤。

原文
代碼
先驗(yàn)知識(shí):
對話系統(tǒng)任務(wù)綜述與POMDP對話系統(tǒng)
任務(wù)型對話系統(tǒng)公式建模&&實(shí)例說明
DST,Dialogue State Tracking
Zero-Shot Learning


目錄:

1.Introduction

2.TRADE Model

2.1 Utterance Encoder

2.2 State Generator

2.3 Slot Gate

2.4 Optimization

3.Unseen Domain DST

3.1 Zero-shot DST

3.2 Expanding DST for Few-shot Domain

4.Experiments

4.1 Dataset

4.2 Training Details

Multi-domain Joint Training
Domain Expanding

4.3 Results

Multi-domain Training
Zero-shot
Domain Expanding

5. Error Analysis

6. Related Work

Dialogue State Tracking
Zero/Few-Shot and Continual Learning

7. Conclusion


1.Introduction

DST,Dialogue State Tracking是任務(wù)型對話系統(tǒng)的核心組成部分刀诬,DST用來抽取用戶在對話中表現(xiàn)的意圖然后編碼為表示對話狀態(tài)的緊湊集合咽扇。常見的DST輸入An-1和Sn-1,輸出Sn陕壹。An為Action即系統(tǒng)收到用戶消息后做出的回復(fù)质欲,Sn={Gn,Un,Hn},Gn為當(dāng)前任務(wù)所有的槽(slot)糠馆,Un為{意圖(Intention對應(yīng)本文中領(lǐng)域domain)嘶伟,槽值對(slot-value pair)},Hn為聊天歷史即U和A的集合又碌。詳細(xì)見上方先驗(yàn)知識(shí)鏈接九昧。注本文中DST有些許差別見第二節(jié)中架構(gòu)描述绊袋。
傳統(tǒng)的State Tracking假定本體(ontology)已經(jīng)提前定義,即所有槽值對已知铸鹰。這樣DST就是一個(gè)分類問題了癌别,然而這有兩個(gè)問題:
1.在工業(yè)界應(yīng)用中,對話數(shù)據(jù)庫往往僅通過一個(gè)API提供給外界蹋笼,使得獲取全部槽位槽值似乎不可能完成展姐。
2.就算所有的本體存在,然而槽值取值范圍很大并且可變剖毯,比如餐廳的名稱可能有很多很多個(gè)诞仓。
所以這類神經(jīng)網(wǎng)絡(luò)分類DST在現(xiàn)實(shí)場景中應(yīng)用不多。
Budzianowski et al. (2018) 發(fā)布了一個(gè)多領(lǐng)域?qū)υ挃?shù)據(jù)集MultiWOZ速兔,給DST帶來了新的挑戰(zhàn)。


實(shí)線表示一段對話對應(yīng)一個(gè)領(lǐng)域(domain)活玲,虛線表示一段對話對應(yīng)數(shù)個(gè)領(lǐng)域涣狗,即需要在這些不同領(lǐng)域中填入槽值

如上圖所示,一個(gè)用戶可以以預(yù)訂餐廳開始舒憾,然后詢問附附近有什么好玩的地方镀钓,最后租出租車。在這種情況下镀迂,DST模型需要在每輪對話中決定對應(yīng)的領(lǐng)域丁溅,槽和槽值,這當(dāng)中有大量的本體組合探遵。
另外一個(gè)挑戰(zhàn)是多輪映射(multi-turn mapping)窟赏,對應(yīng)上圖中的虛線,實(shí)線為單輪映射箱季。單輪映射中場景:(領(lǐng)域涯穷,槽,槽值)三元組可以由單輪對話得出藏雏,在多輪映射中場景則需要由多輪對話才能得到拷况。比如途中Attraction中的area是在上一輪對話中得到的信息。
為了解決這些問題掘殴,DST模型需要在多個(gè)領(lǐng)域間共享追蹤到的知識(shí)赚瘦。有一些槽,比如說area奏寨,在多個(gè)領(lǐng)域中都會(huì)出現(xiàn)起意。為了讓模型能在未知領(lǐng)域中追蹤槽位,在不同領(lǐng)域間傳送知識(shí)是必要的服爷。我們期待DST模型可以在zero-shot 領(lǐng)域追蹤槽位杜恰。
本文提出的可遷移多領(lǐng)域的的狀態(tài)生成器模型(transferable dialogue state generator获诈,TRADE),目的是:
1.TRADE提出了基于上下文(context-enhanced)的slot gate和copy mechanism來追蹤對話歷史中提到的槽值心褐,以解決多輪映射問題舔涎。
2.通過各領(lǐng)域間共享參數(shù)并且不需要預(yù)定義的本體,TRADE可以在各領(lǐng)域間共享知識(shí)去追蹤未知的槽值逗爹。這在多領(lǐng)域DST中獲得了先進(jìn)的表現(xiàn)亡嫌。
3.TRADE可以實(shí)現(xiàn)zero-shot DST,如果未知領(lǐng)域有一些訓(xùn)練樣本掘而,TRADE可以適應(yīng)新的少樣本領(lǐng)域(few-shot domain)并且不忘記之前的領(lǐng)域挟冠。

2.TRADE Model

模型架構(gòu)

模型由三部分組成:utterance encoder,slot gate, state generator。不同于之前的模型預(yù)測預(yù)定義本體的概率袍睡,TRADE直接生成槽值知染。 和Johnson et al. (2017) 基于多語言的神經(jīng)翻譯機(jī)相似,模型共享參數(shù)斑胜,state generator在生成每一個(gè)(領(lǐng)域控淡,槽)時(shí)都會(huì)有不同的起始標(biāo)記(start-of-sentence token)。
utterance encoder將輸入(Un:{意圖(Intention)止潘,槽值對(slot-value pair)})編碼為一個(gè)定長的向量掺炭。
slot gate通過一個(gè)三分類分類器來判定本輪對話中是否有任意的(領(lǐng)域,槽)被提及凭戴。
state generator挨個(gè)解碼所有輸入(領(lǐng)域涧狮,槽)的多路輸出并預(yù)測槽值。
注意這里的參數(shù)定義及模型架構(gòu)和上面先驗(yàn)知識(shí)中的定義有稍許不同么夫,X表示經(jīng)歷了T輪的對話歷史者冤,B表示每輪的對話狀態(tài)(dialogue state),B為(領(lǐng)域D档痪,槽S譬嚣,槽值Y)。有領(lǐng)域D有N個(gè)取值钞它,槽S有M個(gè)取值拜银,假設(shè)有J對可能的(領(lǐng)域,槽)對遭垛,Yj是第j對(領(lǐng)域尼桶,槽)的槽值。

2.1 Utterance Encoder

這里使用雙向GRU(Chung et al., 2014) 來編碼锯仪。
輸入為Xt為t輪的對話歷史:
X_t=[U_{t-l},R_{t-l},...U_t,R_t]\in\mathbb{R}^{|X_t| \times d_{emb}}為所有向量的拼接泵督。l代表考慮的前l(fā)輪對話。
編碼后的輸出為:
H_t=[h_1^{enc},...,h_{|X_t|}^{enc}]\in\mathbb{R}^{|X_t| \times d_{hdd}}

2.2 State Generator

為了生成槽值庶喜,我們需要copy mechanism小腊,一般有三種方式index-based copy (Vinyals et al., 2015), hardgated copy (Gulcehre et al., 2016; Madotto et al., 2018; Wu et al., 2019)救鲤,和soft-gated copy (See et al., 2017; McCann et al., 2018)。這里使用soft-gated copy來把詞匯分布和對話歷史分布結(jié)合為單個(gè)輸出分布秩冈。
使用GRU作為解碼器來預(yù)測每一個(gè)(領(lǐng)域本缠,槽)的槽值。把領(lǐng)域和槽的嵌入相加作為解碼器的第一個(gè)輸入入问,設(shè)第j對(領(lǐng)域丹锹,槽)的第k步解碼(可以看模型架構(gòu)圖中第一步解碼輸出Ashley,第二步解碼輸出Hotel因?yàn)椴壑悼赡苡啥鄠€(gè)詞組組成所以有k步解碼)輸出為h^{dec}_{jk}芬失。state generator使用可訓(xùn)練的嵌入E\in\mathbb{R}^{{|V|}\times d_{hdd}}h^{dec}_{jk}映射到P^{vocab}_{jk}楣黍,同時(shí)h^{dec}_{jk}也會(huì)被用來計(jì)算對話歷史attentionP^{history}_{jk}
總結(jié)一下棱烂,就是:

state generator輸入領(lǐng)域和槽的嵌入相加租漂,輸出小h。注意大H是Utterance Encoder的輸出

隨后根據(jù)上文提到的soft-gated copy結(jié)合兩個(gè)分布颊糜,最后的輸出為:
p為引入的對歷史對話的attention見下式

標(biāo)準(zhǔn)的attention窜锯,w為k步輸入(領(lǐng)域和槽的嵌入相加)

由公式(2)可以看到,即使詞語沒有在詞匯表中本模型可以生成芭析。(怎么看出來的?)

2.3 Slot Gate

在多領(lǐng)域的DST任務(wù)中,有大量的(領(lǐng)域吞瞪,槽)對馁启。因此在當(dāng)前輪對話t預(yù)測領(lǐng)域和槽是一個(gè)很大的挑戰(zhàn)。
slot gate的作用是把Utterance Encoder輸出的Ht映射到包含ptr,none,dontcare的三類芍秆。對于每一個(gè)(領(lǐng)域惯疙,槽)對,如果gate預(yù)測none或dontcare妖啥,則忽視2.2節(jié)中最后輸出的槽值而是填入"not-mentioned"和"does not care"霉颠。若gate預(yù)測ptr,則填入State Generator得到的槽值荆虱。


slot gate

c見公式(3)蒿偎。

2.4 Optimization

State Generator和Slot Gate都需要訓(xùn)練(Utterance Encoder按照2.1節(jié)的意思應(yīng)該是之前別人有的直接用)。


slot gate的交叉熵?fù)p失

State Generator的交叉熵?fù)p失

|Yj|代表了槽值輸出詞組的長度怀读,即解碼中的k步诉位。J為(領(lǐng)域,槽)對個(gè)數(shù)菜枷。


總損失

權(quán)重為超參數(shù)苍糠。

3.Unseen Domain DST

本節(jié)聚焦TRADE在zero-shot transferring和few-shot domain expanding上的表現(xiàn)。zero-shot的情況下我們假設(shè)在新的領(lǐng)域沒有訓(xùn)練數(shù)據(jù)啤誊,在few-shot情況下只有1%的數(shù)據(jù)(20到30個(gè)對話)岳瞭。

3.1 Zero-shot DST

如果之前在別的領(lǐng)域中學(xué)習(xí)(訓(xùn)練)過拥娄,DST可以在新的領(lǐng)域中直接追蹤到這些槽 。舉例就是如果在"火車"領(lǐng)域?qū)W習(xí)過"出發(fā)"槽瞳筏,那在"出租車"領(lǐng)域就能追到到"出發(fā)"槽稚瘾。DST輸入對話歷史X,領(lǐng)域D乏矾,槽S孟抗,輸出槽S對于的槽值。訓(xùn)練樣本(X,D_{source},S_{source},Y_{source}^{value})钻心,測試時(shí)(X,D_{target},S_{target},Y_{target}^{value})凄硼。對于新領(lǐng)域Dtarget,Zero-shot DST需要在未使用任何D_{target}訓(xùn)練樣本的情況下輸出正確的的槽值捷沸。若D_{target}中的槽S_{target}在之前訓(xùn)練的領(lǐng)域D中未出現(xiàn)過摊沉,則這項(xiàng)任務(wù)非常艱巨。

3.2 Expanding DST for Few-shot Domain

few-shot的情況下只有少量的(X,D_{target},S_{target},Y_{target}^{value})訓(xùn)練樣本痒给。模型few-shot domain expansion的能力有兩個(gè)好處:
1.在少量數(shù)據(jù)下可以適應(yīng)新的領(lǐng)域并且獲得不錯(cuò)的表現(xiàn)说墨。
2.不需要重新訓(xùn)練,因?yàn)樵谛碌念I(lǐng)域中之前的數(shù)據(jù)并不可靠并且重新訓(xùn)練非常費(fèi)時(shí)苍柏。
可以在沒有約束的情況下直接微調(diào)尼斧,也可以使用兩個(gè)帶約束的微調(diào)訓(xùn)練方法:elastic weight consolidation (EWC) (Kirkpatrick et al., 2017) 和 gradient episodic memory (GEM) (Lopez-Paz et al., 2017) 。

4.Experiments

4.1 Dataset

Multi-domainWizard-of-Oz(Budzianowskietal., 2018) (MultiWOZ) 是目前最大的人與人對話語料庫试吁。其涉及7個(gè)領(lǐng)域棺棵,包含8438個(gè)多輪對話平均每個(gè)對話有13.68輪。與WOZ (Wen et al., 2017) 和DSTC2 (Henderson etal.,2014a)不同熄捍,這兩個(gè)數(shù)據(jù)集只包含了10個(gè)不到的槽和幾百個(gè)槽值烛恤。而MultiWOZ有30個(gè)(領(lǐng)域,槽)對并有超過4500個(gè)可能的槽值余耽。我們訓(xùn)練時(shí)只用到(restaurant, hotel, attraction, taxi, train) 五個(gè)領(lǐng)域缚柏,因?yàn)榱硗鈨蓚€(gè)(hospital, police) 對話太少了。


MultiWOZ五個(gè)領(lǐng)域的情況

4.2 Training Details

Multi-domain Joint Training

優(yōu)化器選擇Adam碟贾,batchsize為32币喧,學(xué)習(xí)率[0.001,0.0001] 0.2的衰減,公式(7)中權(quán)重超參都設(shè)置為1袱耽,嵌入向量由拼接 Glove(Pennington et al., 2014)和單詞級嵌入(Hashimoto et al., 2016)初始化嵌入維度為400粱锐。解碼器用了貪婪搜索(注sequence2sequence的輸出Beam Search用的比較多)。同時(shí)為了加強(qiáng)模型泛化能力 utterance encoder 加入了word dropout(和drop out類似隨機(jī)屏蔽掉幾個(gè)詞扛邑,出處 Bowman et al. (2016))怜浅。

Domain Expanding

加入3.2中的EWC,GEM微調(diào)。

4.3 Results

這里有兩個(gè)評價(jià)指標(biāo),共同目標(biāo)準(zhǔn)確率(joint goal accuracy)和槽準(zhǔn)確率(slot accuracy)恶座。前者要求DST輸出的第t輪對話狀態(tài)(dialogue state)Bt=(領(lǐng)域搀暑,槽,槽值)和標(biāo)簽完全一致跨琳,即這一輪中每一個(gè)槽值都預(yù)測正確才算這一輪正確自点,而后者只計(jì)算(領(lǐng)域,槽脉让,槽值)三元組的準(zhǔn)確率桂敛。

Multi-domain Training

本文和四個(gè)base-line做了比較, MDBT (Ramadan et al., 2018), GLAD (Zhong et al., 2018), GCE (Nouri and Hosseini-Asl, 2018), 和 SpanPtr (Xu and Hu, 2018)溅潜,結(jié)果如下:


最高的joint goal accuracy

槽嵌入余弦相似度矩陣

可以看到擁有相近槽值的槽嵌入相似度高(顏色深)术唬,比如destination和departure對于的槽值都是城市名,people和stay槽值都是數(shù)字滚澜。

Zero-shot
左列代表只在當(dāng)前領(lǐng)域的樣本訓(xùn)練粗仓,右邊表示沒有在當(dāng)前領(lǐng)域樣本訓(xùn)練

可以看到只有taxi領(lǐng)域的Zero-shot最接近左列,作者的解釋是因?yàn)閠axi領(lǐng)域的四個(gè)槽槽值都相似设捐。

Domain Expanding
在四個(gè)領(lǐng)域上訓(xùn)練借浊,隨后再新的領(lǐng)域上測試

可以看到fine-tune的方式,往往比重新訓(xùn)練(training 1% new domain)效果好萝招。

5. Error Analysis

多領(lǐng)域訓(xùn)練蚂斤,橫軸是錯(cuò)誤率,可以看到name系列錯(cuò)誤率最高因?yàn)槊Q的取值太多了

Zero-shot下的錯(cuò)誤分析槐沼,橫軸為正確率曙蒸,可以看到book day,area母赵,price range,book people這類可以很好的被遷移學(xué)習(xí)到具滴。而像parking凹嘲,stars這種只出現(xiàn)在hotel這一個(gè)領(lǐng)域里的槽可以說是無法被預(yù)測出槽值

6. Related Work

Dialogue State Tracking
Zero/Few-Shot and Continual Learning

7. Conclusion

將來會(huì)加強(qiáng)meta learning在多領(lǐng)域DST中的應(yīng)用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末构韵,一起剝皮案震驚了整個(gè)濱河市周蹭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌疲恢,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異泪喊,居然都是意外死亡伪很,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宛畦,“玉大人瘸洛,你說我怎么就攤上這事〈魏停” “怎么了反肋?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長踏施。 經(jīng)常有香客問我石蔗,道長,這世上最難降的妖魔是什么畅形? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任养距,我火速辦了婚禮,結(jié)果婚禮上束亏,老公的妹妹穿的比我還像新娘铃在。我一直安慰自己,他們只是感情好碍遍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布定铜。 她就那樣靜靜地躺著,像睡著了一般怕敬。 火紅的嫁衣襯著肌膚如雪揣炕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天东跪,我揣著相機(jī)與錄音畸陡,去河邊找鬼。 笑死虽填,一個(gè)胖子當(dāng)著我的面吹牛丁恭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播斋日,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼牲览,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了恶守?” 一聲冷哼從身側(cè)響起第献,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎兔港,沒想到半個(gè)月后庸毫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡衫樊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年飒赃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,688評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡盒揉,死狀恐怖晋被,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情刚盈,我是刑警寧澤羡洛,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站藕漱,受9級特大地震影響欲侮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜肋联,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一威蕉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧橄仍,春花似錦韧涨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至宪哩,卻和暖如春娩贷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锁孟。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工彬祖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人品抽。 一個(gè)月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓储笑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親圆恤。 傳聞我的和親對象是個(gè)殘疾皇子突倍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評論 2 353