本論文由騰訊AI Lab主導,與哈爾濱工業大學合做完成。做者提出了一種多階段的對話回覆生成框架。該方法刪除了生成的回覆中可能致使不一致的詞語,並在此基礎上重寫,以生成高質量而且與人物屬性一致的回覆。如下爲論文的詳細解讀。架構
Generate, Delete and Rewrite: A Three-Stage Framework for Improving Persona Consistency of Dialogue Generation框架
在對話過程當中,人類說出的話會很天然的與本身的基本屬性一致,但對於對話機器人來講,保證生成的對話與本身的屬性一致仍然是一項很困難的任務。爲解決此問題,研究者們提出了基於人物屬性的對話生成任務。該任務經過在對話生成模型中顯式的加入人物屬性文原本解決角色特徵不一致問題。儘管現有的基於角色信息的對話模型在生成回覆方面取得了必定的效果,可是它們的單階段解碼框架仍然很難避免不一致的角色詞的生成。好比,給定的模型角色文本是「I live in California」,而模型生成的回覆是「I am in Colorado」。學習
做者指出,致使上述不一致現象的一個重要緣由在於從對話輸入到回覆的語義映射以及屬性信息的融合須要模型同時完成。傳統的單階段對話生成模型可以較好的學習到前一種映射關係,而模型在這種映射過程當中學到的語言模型每每會和特定的屬性信息產生不一致。所以,在這項工做中,做者在單階段對話生成模型(Generate)的基礎上,進一步引入了刪除(Delete)和重寫(Rewrite)兩個階段,來提升生成回覆的屬性信息一致性。在該方法中,模型首先生成一個完整的原型回覆,而後經過mask的方式刪除可能致使不一致的詞語,最後在刪除後的原型回覆上再次進行生成,即重寫,獲得最終的回覆。總結起來,GDR模型的流程以下圖中的例子所示。編碼
與三個階段相對應,GDR模型也由三個主要模塊構成:1)原型回覆生成器G。該模塊將人物屬性文本和對話query做爲輸入,生成一個原型回覆以供進一步處理。它採用編碼器-解碼器架構,編碼器和解碼器均採用Transformer做爲基本單元;2) 一致性匹配模型D。該模型用於檢測和刪除原型回覆中可能致使人物屬性不一致的詞語。該模型在DNLI數據集上以天然語言推理的方式訓練;3) 原型回覆重寫器R。重寫器學習將原型回覆改寫爲更一致的對話回覆。和G相似,它也是一個Transformer解碼器,區別在於它以人物屬性文本和刪除後的原型回覆做爲輸入,而非對話query。這一點保證了R可以更專一於學習融合角色信息。模型的總體結構以下圖所示。spa
爲了驗證GDR的有效性,做者在PersonaChat數據集上進行了實驗。在評價指標方面,同時使用了人工評價和客觀指標,來比較不一樣模型的人物屬性一致性和回覆質量。爲了更好的評價不一樣模型的人物屬性一致性,做者引入了兩個基於分類器模型的指標 和 ,將分類器判斷爲一致的回覆比例做爲人物屬性一致性的客觀度量。DIIN模型基於RNN結構,BERT模型基於Transformer結構,對比兩種模型的分類結果有助於消除不一樣結構之間的傾向性。主要的實驗結果如表1所示。能夠看到,GDR模型在角色一致性上優於全部基線模型。同時,在語言模型的困惑度(ppl)方面,GDR達到了最低的16.7,顯著優於已有的全部模型,代表GDR模型在生成回覆的用詞上更加接近真實的回覆。設計
表1 GDR和基線模型的人工評價(左)和客觀指標(右)結果orm
此外,做者對比了不一樣模型生成的回覆質量,並進一步分析了不一樣模塊對GDR最終結果的貢獻。做者發現D對於提升人物屬性一致性貢獻最大,而R則進一步下降了語言模型的困惑度。總之,這項研究工做爲設計個性化的對話系統提供了一種全新的多階段的思路。blog