[論文整理] Improving Multi-turn Dialogue Modelling with Utterance ReWriter

CHEN TSU PEI
NLP-trend-and-review
6 min readOct 31, 2019

摘要

近來的發展已經能夠很好的處理單輪對話(single-turn dialogue modeling),但對於多輪對話(multi-turn dialogue modeling)還是差強人意,其中一個原因為多輪對話中有許多指代(coreference)還有省略(information omission)的出現,讓機器難以單從單輪對話中理解語句,在這篇論文中,作者提出用重寫句子的方法,在句子進到模型被處理前,當作預處理來還原這些指代用字及省略的資訊

本篇論文被節錄在ACL, 2019中,由Hui Su(Pattern Recognition Center, Wechat AI, Tencent Inc, China)等人所提出的

圖片擷取自:Improving Multi-turn Dialogue Modelling with Utterance ReWriter

介紹

在中文和日文中,特別容易出現指代及省略的現象,在之前的研究中顯示,在中文的多輪對話情境下大約70%的句子(utterance)都存在指代或資訊省略,若要使機器能理解這些語句,需要對整體的對話有深層的了解。此模型和相似的研究比較,有model-agnostic的優點,能輕易地被整合進其他的對話系統中,對記憶體的負擔也較小,系統不必存下對話紀錄(history),因為歷史資訊會被反映在重寫的語句中。此篇論文主要使用了Pointer Network(Vinyals et al., 2015)Transformer(Vaswani et al., 2017)的方法,實驗結果在coreference resolution和information completion兩項目的F1 score都達到了超過0.85的成績

Coreference Resolution

作者在這邊,主要回顧了一下過去做Coreference Resolution的各種方法

主要有:

  1. Traditional Approaches. Identify all pronouns and entities + Clustering algorithms
  2. End-to-end neural coreference resolution system(Lee et al., 2017): Computationally inefficient
  3. Tranfomer adopted with self-attention machanism(Vaswani et al., 2017): Problems to distinguish multiple coreferences

方法(2)雖然達到了SOTA的成績(註:在AllenNLP以及Huggingface上已經有實現),但根據本篇作者指出,效能上的負擔無法使用在現實世界中的對話系統上,而方法(3)使用了Transformer,並且是屬於非監督式(unsupervised),不過同時有多種指代結果時,並不能很好地找到指代的對象,在本篇論文中,加入了使用監督方法(supervised way)來解決多種指代結果的問題

模型

圖片擷取自:Improving Multi-turn Dialogue Modelling with Utterance ReWriter

模型的部分主要承襲Transformer的Encoder-Decoder架構,在Decoder的後面再加上一層Pointer Network的機制,直接擷取input中重複的部分,這邊我就不贅述模型公式的部分,有興趣的讀者可以直接到論文中看

Encoder

Encoder的部分和Transformer的架構大致相同,只不過輸入的部分結合了WE(Word Embeddings), PE(Positional Embeddings), TE(Turn Embeddings),TE是使用來區別每一輪對話的

Decoder

每個Decoder Block一樣由三層組合,第一層為本身的Multi-head Attention,第二層為Encoder-Decoder Multihead Attention,比較特別的是,這邊將歷史紀錄(H)及目標語句(Un)分開做Attention,再接起來(concatenate)輸入到第三層,一樣是FNN

Output Distribution

最後,我們希望能夠判斷要從歷史紀錄H複製字,還是從原本句子Un複製字,所以再引進soft gating weight λ來決定,關於這件事,推薦可以參考台大李宏毅教授的Pointer Network,相信看完會更了解

圖片擷取自:Improving Multi-turn Dialogue Modelling with Utterance ReWriter

評估

Accuracy of Generation

  1. 使用BLEU, ROUGE, EM三種方法評估語句生成的好壞
  2. 在正樣本(positive samples)中達到了55.84%的EM,負樣本(negative samples)中達到了98.14%的EM

Coreference Resolution

評估重寫語句(rewritten utterance)是否包含正確的指代對象,作者提出的Ptr — λ達到了0.92的F1score

Information Completion

評估重寫語句(rewritten utterance)是否包含被省略的資訊,本輪文的模型達到了0.86的F1score,此外還額外加入人工判斷語句的流暢度(fluency),達到了4.9/5與人類的4.94/5已非常接近

結論

這篇論文主要提出了一種預處理的方法來還原指代和省略,再經由一般的對話處理,除了在多輪對話這樣的情境中相當重要,對於其他NLP任務,類似的情況也容易造成判斷錯誤,因此使用在別的Tasks上也應該有幫助

Reference

1.Pointer Network(Vinyals et al., 2015)

2. Transformer(Vaswani et al., 2017)

3. Retrieve and Refine: Improved Sequence Generation Models For Dialogue

4. End-to-end Neural Coreference Resolution(Lee et al. 2017)

--

--

CHEN TSU PEI
NLP-trend-and-review

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