[論文整理] Improving Open-Domain Dialogue Systems via Multi-Turn Incomplete Utterance Restoration

CHEN TSU PEI
NLP-trend-and-review
4 min readNov 18, 2019

介紹

今天來分享騰訊 AI Lab在EMNLP上的一篇論文,主要針對使用者在使用對話系統(dialogue system)的時候,常常會有省略的情況,而根據先前的研究(Reghu et al., 2015; Kumar and Joshi, 2017)顯示,當我們把這些資訊還原後,能夠更好地理解使用者的意圖(intent)

主要方法

這篇論文主要使用了以下方法

1. Seq2Seq & Attention mechanism
2. Pointer Generative Network
3. BERT

Seq2Seq採取的是Encoder-Decoder加上Attention的版本,而Pointer Generative Network則是(Abigail et al., 2017)這篇論文,官方也有一篇詳細解說的部落格文章,建議可以好好了解一下Pointer Network

作者基於這些方法提出了Pick and Combine的模型,利用BERT模型先提取出被省略的字,將提取出的這些字加在原始語句後方,再透過Pointer Generative Network去還原產生最後的輸出,可參考下圖

來源: Improving Open-Domain Dialogue Systems via Multi-Turn Incomplete Utterance Restoration

疑問點

在將BERT由前面的Context所提取的「被省略字(omitted word)」加到原語句後方這個動作,而上圖中是加入輸出的標籤,但根據文章內容感覺是加上被提取的字眼

> the combine stage is straightforward. The selected omitted words are appended to the input sequence as extra guidance(節錄自論文中3.2 Combine)

這個部分有點模糊,但理論上我認為應是加上被提取的字,因為這樣才能夠被PGN所複製

資料集

騰訊有提供此論文使用的資料集,是目前網路上相當稀有的中文多輪對話的資料,這邊可以下載

一個樣本包含8個項目

- (1)~(4)為上下文
- (5)為目標句子,也就是可能發生省略的句子
- (6)為回應(5)的一個句子,在我們訓練過程沒有實際作用,當作參考用
- (7)為一個0或1的數字,表示(5)是否有省略發生
- (8)為還原(5)的句子,只有當(7)為1的時候才會有值

以下是一些資料的截圖範例

資料來源:騰訊AI Lab

實驗

這篇論文中,採取人工檢驗的方式分別對(a)還原句子的品質 (b)還原句子後在單輪對話回應的品質 (c)還原句子後在多輪對話回應的品質 做評價,下圖是(c)的截圖,可以看出使用了還原(restoration)後大幅改善體驗,可以看出單純使用Attention機制,由於會有OOV跟Repetition的問題,在PTR中解決這個問題,而PAC(本模型)表示在restoration中,因為極度不平均的機率,原本句子(5)有100%的字都會出現在還原句子(8),而上下文(1~4)只會有大約17.7%,因此主要朝這點改善

來源: Improving Open-Domain Dialogue Systems via Multi-Turn Incomplete Utterance Restoration

--

--

CHEN TSU PEI
NLP-trend-and-review

這邊停止更新了!麻煩移駕到https://tsupei.github.io,有持續更新更多NLP的文章唷!