《Do Neural Dialog Systems Use the Conversation History Effectively? An Empirical Study》
https://zhuanlan.zhihu.com/p/73723782
請(qǐng)復(fù)制粘貼到markdown 查看器查看!
Do Neural Dialog Systems Use the Conversation History Effectively? An Empirical Study
ACL2019
Chinnadhurai Sankar, Sandeep Subramanian, Christopher Pal, Sarath Chandar, [Yoshua Bengio]
https://arxiv.org/abs/1906.01603
abstract
神經(jīng)網(wǎng)絡(luò)生成模型在構(gòu)建對(duì)話 agent 方面越來越流行,這種方法可以靈活的適應(yīng)多個(gè) domain,且需要很少的領(lǐng)域?qū)<腋深A(yù)。這些系統(tǒng)一個(gè)被大家經(jīng)常指出的問題就是他們很少有效的去使用獲得的對(duì)話歷史。這篇文章中,作者使用一種方法去理解模型是怎樣利用對(duì)話歷史的,這個(gè)方法是先是人工給文本引進(jìn) unnatural 改變或者是擾動(dòng),再去觀察模型對(duì)這些改變的敏感度。作者在 4 個(gè)對(duì)論對(duì)話數(shù)據(jù)集上進(jìn)行 10 種不同擾動(dòng)的實(shí)驗(yàn),發(fā)現(xiàn)通常使用的基于 RNN 和 transformer 的 seq2seq 模型對(duì)于大多數(shù)擾動(dòng)都是不敏感的。再者,作者開源了代碼,認(rèn)為這將會(huì)是一個(gè)檢驗(yàn)對(duì)話系統(tǒng)的有用工具。
introduction
人們猜測(cè)是因?yàn)椴荒芎芎玫睦脤?duì)話歷史,所以模型經(jīng)常沒有辦法產(chǎn)生對(duì)話主題相關(guān)的句子,比方說回應(yīng)一些諸如 “謝謝”,“好的” 這些無(wú)關(guān)緊要的話。實(shí)驗(yàn)的一個(gè)核心的前提(思想)是說,如果這個(gè)模型對(duì)認(rèn)為造成的文本內(nèi)容的改變(擾動(dòng))不敏感,那就是說它沒有非常大程度的利用這段內(nèi)容。作者發(fā)現(xiàn):
- recurrent and transformer-based seq2seq models 對(duì)于實(shí)驗(yàn)中的大多數(shù)種類的擾動(dòng)都不敏感
- 甚至在 randomly shuffling or reversing words within every utterance in the conversation history 這種極大的變化的情況下,二者都不是特別敏感
- recurrent model 對(duì)于對(duì)話歷史中每個(gè) utterance 的先后順序很敏感,這意味著他可以比 transformer 更好的模擬對(duì)話動(dòng)態(tài)。
experiment setup
作者將給定對(duì)話歷史生成恰當(dāng)回復(fù)的問題演變?yōu)橐粋€(gè) conditional language modeling problem. 要學(xué)習(xí)一種條件概率分布 $P_\theta (y|x)$ ,其中 $y$ 是給定對(duì)話歷史 $x$ 應(yīng)該出現(xiàn)的合理的回復(fù)。對(duì)話歷史由一系列 utterance $\bold{x_1}, \bold{x_2}, ... \bold{x_n}$ 表示,其中每個(gè) $\bold{x_i}$ 由一系列單詞 $x_{i_1}, x_{i_2}, ...x_{i_k} $ 組成,回復(fù) $y$ (utterance)同理由 $y_{i_1}, y_{i_2}, ...y_{i_k}$ 組成。至此,完整的條件概率表示為:
$$
P_{\theta}(y|x) = \prod^n_{i = 1} P_{\theta}(y_i|y_{<i},\bold{x_1}, \bold{x_2}, ... \bold{x_n})
$$
工作的關(guān)鍵是研究當(dāng)我們?nèi)斯さ母蓴_對(duì)話歷史 $\bold{x_1}, \bold{x_2}, ... \bold{x_n}$ 時(shí),學(xué)到的概率分布會(huì)有怎么樣的行為。作者通過觀察在這些變化下 per-token 的 perplexity (困惑度) 增加了多少來測(cè)量這姓行為。如果增加量很小,那么我們就可以總結(jié)出 $\bold{x_1}, \bold{x_2}, ... \bold{x_n}$ 的順序?qū)τ谀P筒皇呛苤匾K械哪P陀?xùn)練的時(shí)候都不加入擾動(dòng),敏感度只在測(cè)試的時(shí)候被測(cè)試。
1. datasets
四個(gè)多輪對(duì)話數(shù)據(jù)集
- bAbI dialog : 任務(wù)導(dǎo)向多輪數(shù)據(jù)集,五個(gè)預(yù)定飯店的任務(wù),復(fù)雜度依次增加。實(shí)驗(yàn)使用任務(wù)5,因?yàn)檫@個(gè)是最難的,它包括 1000 個(gè)對(duì)話,每個(gè)對(duì)話平均有 13 個(gè) user utterance。
- Persona Chat : 開放域?qū)υ挃?shù)據(jù)集,兩個(gè)人被隨機(jī)安排兩個(gè)角色進(jìn)行對(duì)話產(chǎn)生。10.9$k$ 個(gè)對(duì)話,平均每個(gè)對(duì)話 14.8 輪。
- Dailydialog : 收集每天日常的對(duì)話,涉及多個(gè)主題。13$k$ dialogs / 7.9 turns
- MutualFriends : 多輪 goal-oriented,兩個(gè)agents 必須去發(fā)現(xiàn)他們的朋友中誰(shuí)是二者共有的。11$k$ / 11.41 utterances。
2. types of perturbations
每種擾動(dòng)都獨(dú)立的執(zhí)行
- utterance-level perturbations : 1) $ \mathcal{Shuf}$ : 隨機(jī)打亂對(duì)話歷史中的 utterances。2) $\mathcal{Rev}$ : 每個(gè) utterance 保持不變,但對(duì)話歷史對(duì)話順序顛倒。3) $\mathcal{Drop}$ : 完全丟掉某個(gè) utterance。4) $\mathcal{Truncate}$ 縮減對(duì)話歷史,只留下最近的 k 個(gè)utterances。
- word-level perturbations : 1) $\mathcal{word-shuffle}$ 2) $\mathcal{reverse}$ 3) $\mathcal{word-drop}$ : 丟掉 30% 的 words 4) $\mathcal{noun-drop}$ : 丟掉所有的名詞。5) $\mathcal{verb-drop}$
3. models
所有的數(shù)據(jù)加載,模型實(shí)現(xiàn),和評(píng)估的過程都在 ParlAI 架構(gòu)實(shí)現(xiàn)的。模型的所有超參數(shù)也都是和那個(gè)平臺(tái)一樣。
- recurrent models : seq2seq_LSTM
- transformer : 300 維 embeddings and hidden states
實(shí)驗(yàn)中的模型可能不是試驗(yàn)中所用的數(shù)據(jù)集上表現(xiàn)最優(yōu)的模型,作者仍然相信這些模型至少可以像一個(gè)baseline 一樣具有普適性普遍的使用。在這篇文章中,作者訓(xùn)練10輪就停止為了去保存最好的模型(?)。
results & discussion
表 2 第二列展示了在測(cè)試集上不同模型的困惑度,后邊幾列是不同的擾動(dòng)造成的困惑度的 increase;圖一展示了僅僅摘取最近 k 句話作為對(duì)話歷史時(shí)模型困惑度的改變。
作者有如下發(fā)現(xiàn):
- 在大多數(shù)情況下模型在困惑度上只有很小的改變,甚至當(dāng)改變非常明顯時(shí)也變化不大,這意味著模型使用的信息只是提供給他們的信息中很少一部分。
- transformer 對(duì)詞序的變化不敏感,這意味著他們能學(xué)習(xí)詞袋表示
- 注意力機(jī)制的使用使得模型使用更多的來自于對(duì)話早期的信息(當(dāng)只使用一句話時(shí)困惑度增加的非常劇烈)
- 盡管 transformer 模型收斂更快且有著更低的困惑度,但是他們似乎不能捕捉到對(duì)話歷史中的動(dòng)態(tài)變化且對(duì)擾動(dòng)不是很敏感,相對(duì)于recurrent 模型來說。
conclusion
本文研究生成神經(jīng)對(duì)話系統(tǒng)在其所依賴的對(duì)話歷史中綜合引入擾動(dòng)時(shí)的行為。我們發(fā)現(xiàn),即使對(duì)對(duì)話歷史進(jìn)行劇烈的、非自然的修改,recurrent and transformer-based seq2seq models 也沒有顯著的變化。我們還發(fā)現(xiàn)了 recurrent and transformer-based seq2seq models 在利用對(duì)話歷史的方式上的細(xì)微區(qū)別。通過開源代碼,我們相信這種通過引入擾動(dòng)來研究模型行為的例子將成為一個(gè)有用的診斷工具。
轉(zhuǎn)載于:https://www.cnblogs.com/forPrometheus-jun/p/11177804.html
總結(jié)
以上是生活随笔為你收集整理的《Do Neural Dialog Systems Use the Conversation History Effectively? An Empirical Study》的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python3基础 if __name
- 下一篇: 纪念第一次青海湖之行泡汤