論文研讀:基于統計重加權的方法減少通用回復
會議名稱:EMNLP2018
文章題目:Towards Less Generic Responses in Neural Conversation Models: A Statistical Re-weighting Method
原文鏈接:https://link.zhihu.com/?target=https%3A//www.paperweekly.site/papers/2440
一句話概括: 針對開放對話領域的對話多對多關系并且產生通用回復的問題,文章在損失項中引入權重的概念,降低通用回復權重,降低過短或者過長陳述句的權重,
論文背景
????神經生成模型在機器翻譯中的成功應用,即神經機器翻譯(Neural Machine Translation, NMT),激發了研究人員對于神經對話模型的熱情,目前最常用的框架為Seq2Seq模型,其通常通過極大似然法,最大化回復的概率得到輸出結果,但在上述任務中會存在一些問題,其中最嚴重的的一個是模型經常會產生一個通用的回復(例如,我不知道),而不是一個有意義的特定回答,
????在開放領域的對話中,我們經常發現對于一個輸入\(x\),會得到若干意思不一致,但是同樣可以接受的回答,如問“你吃飯了嗎”,回復“還沒”,“不餓”,“剛吃完”,“不急”等等都可以被接受,因此對于\(x\)到\(y\)通常是一個一對多甚至多對多的關系,如下圖所示:

????作者通過這些觀察,提出了一種統計重加權的損失函式,減少通用回復,
論文方法
????考慮對于語料庫\(C\),其對于樣本\((\mathbf{x,y})\),損失函式為:
\[l(\mathbf{x,y},\theta)=-\sum_{t=1}^{T'}logp(y_t|\mathbf{x,y}_{[t-1];}\theta) \]
????全樣本集的損失函式為:
\[L(C,\theta)=\sum_{(\mathbf{x,y})\in C}l(\mathbf{x,y},\theta) \]
????考慮通用回復出現在很多\(\mathbf{x}\)對應的回復中,因此,如果我們對于\(\mathbf{x}\)的兩個回復中,如果某個回復比另一個更加通用,他們會具有相同的損失項(根據公式1),公式2中會包含大量通用回復,導致模型陷入區域最優,即模型更加傾向于產生通用回復,
????基于上述觀察,但是我們應該提高通用回復的損失,降低不通用回復的損失,于是提出下面的損失函式:
\[l_w(\mathbf{x,y},\theta)=w(\mathbf{y|x},\theta)l(\mathbf{x,y},\theta) \]
????在這里,\(w(\mathbf{y|x},\theta)\)作為一個權重,取值范圍為\((0,1]\),對于樣本集\(C\)上的Batch,將其損失函式歸一化為:
\[L(\mathbb{B},\theta)=\frac{\sum_{\mathbf{x,y\in{\mathbb{B}}}}l_w(\mathbf{x,y},\theta)}{\sum_{\mathbf{x,y\in{\mathbb{B}}}}w(\mathbf{y|x})} \]
????對于回復,作者總結了兩個公共的屬性:
????1. 經常出現在訓練語料庫中的回復模式往往是通用的,在這里,模式指的是整個句子或n-gram,可以通過回復之間的相似性來描述,
????2. 特別長或者特別短的回復都應該避免,太長包含太多特定資訊,太短通用回復
????因此作者設計了權重:
\[w(\mathbf{y|x},R,C)= \frac{\Phi(\mathbf{y}) }{max_{r\in R}\{\Phi(r)\}} \]
????其中\(\Phi(\mathbf{y})\)指:
\[\Phi(\mathbf{y})=\alpha\varepsilon(\mathbf{y})+\beta\mathfrak{F}(\mathbf{y}) \]
????\(\varepsilon(\mathbf{y})\)為:
\[\varepsilon(\mathbf{y})=e^{-af\mathbf{(y)}} \]
????\(\mathfrak{F}(\mathbf{y})\)為:
\[\mathfrak{F}(\mathbf{y})=e^{-c||\mathbf{y}|-|\mathbf{\hat{y}}||} \]
這里\(f(\mathbf{y})\)是回復\(\mathbf{y}\)在所有回復中的出現頻次,\(\hat y\)為所有回復的平均長度,\(\{\alpha,\beta,a,c\}\)均為超引數,
實驗結果
????作者從社交網站爬取了700萬對話作為實驗,用500作為測驗,對句子通順度,句子相關性,可接受度等方面進行評測,同時對權重的多重設計的有效性進行了評測(只使用頻次RWE,長度RWF,都是用RWEF等)結果如下:

????另外作者利用10萬測驗集統計了常用通用回復的頻次,明顯看到通用回復變少,

個人總結
????個人覺得方法還是很有啟發性的,通過改變權重,樣本原本的分布,以此來達到減少通用回復的目的,
????但是模型需要顧慮:權重改變改變了樣本的分布,這種改變是否合理?噪聲點是否因此被放大?在\(i.i.d\)條件下,人們通用回復說得多是否代表通用回復占比本來就高,這樣改變的對話系統是否不符合對話方式?(如在原文中,舉例“孟記普洱茶專營店一貼”,通用回復為“我也想喝”,而文章中的模型為“我喜歡喝茶”,是否前者更符合,后者更突兀?)
????但是這篇文章依舊非常具有啟發性,感謝騰訊AILAB,武漢大學,蘇州大學的大牛們,
本文由飛劍客原創,如需轉載,請聯系私信聯系知乎:@AndyChanCD
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/67698.html
標籤:其他
