對話論文總結

CopperDong發表於2018-07-08

這是NIPS2017的文章。【有開原始碼,memory網路的程式碼,可以借鑑這篇文章】 
對話系統主要分成兩類:基於任務的對話系統,閒聊式的對話系統。End2end(+attention+memory)的方式,使得對話系統不需要規則,並且效能超過基於規則的方式。但是還沒有文章就個性化的對話系統,展開工作。將個性化的資訊+對話系統,用多工的方式訓練。 
資料庫:基於bAbI dialog dataset (2016)擴充套件 -> ParlAI framework(2017)。對話是更加simulator產生(基於KB + personality)。詢問餐廳的四個屬性,使用API得到目標餐館。有5個任務,用水平線分割。在增加了一個任務:對於使用者屬性的判斷。 
任務1:關鍵詞抓取,總共有4個屬性需要確認,rot通過詢問,獲取所有4個屬性,產生API call. 
任務2:使用者update API call 
任務3:展示搜尋結果 
任務4:提供確切資訊,包括地址等【增加了新的屬性,根據使用者屬性返回相應資訊】 
任務5:結合任務1-4,完成對話任務 
這裡寫圖片描述
原先的rob有15種對話模型,我們增加了6種新的個性化對話模式(male/female, young/middle-aged/old)。對於6種情感屬性,都有各種的vocabulary,年齡越高,單詞越正式,越準確。在相同的年齡和性別間,單詞也有重疊。建立有重疊的6個屬性,而不是6種單獨模式。 
目標:基於餐館知識庫knowledge base (KB)+ personality,來訂酒店 
參考網頁:https://github.com/chaitjo/personalized-dialog 
相關工作:將說話人資訊整合到seq2seq中,說話人資訊是根據說話人的歷史對話資訊得到,比如他的tweets。但是我們的區別是:開放領域-》基於任務的對話;壓縮使用者資訊-》自定義使用者屬性。 
比較了3種模型:Supervised Embeddings (supervised-embedding/), Memory Networks (MemN2N/) and Memory Networks with split-memory architecure (MemN2N-modified/) 
Supervised Embeddings就是比較輸入和輸出響應的距離。用SGD減少margin ranking loss的損失。把原先的問題轉化為檢索問題。 
Memory Networks,把對話歷史資訊和使用者屬性儲存到一個memory網路中,可以作為end-to-end baseline。使用者的attention關注,可以視覺化。 
Split Memory Architecture,將原始memory分成兩部分:profile attributes and conversation 
history。 
這裡寫圖片描述

實驗結果(個性化定製): 
這裡寫圖片描述

他這是對已有的答案進行打分,而不是生成一個完整的句子。

這裡寫圖片描述
這是Bengio拿了大獎的論文,共40頁。 
Related work: 人工->人工+機器->全機器,系統先用大量的資料訓練,然後用於真實世界的互動, 然後機器可以從開放領域中學習相關的規則和狀態。相當於一種online 更新的機制。 
作者提出,ensemble-based ML system,之前很多模型都採用過。模型框圖如下: 
這裡寫圖片描述
ASR confidences: 對一句話進行打分,分數太低,要求使用者重新將一遍 
Dialogue history: 所有之前對話的歷史以及當前使用者的utterance作為輸入 
Response model: 多種對話模型,產生候選相應集和 
Has priority response: 是否有先驗,For example, for the question “What is your name?”, the response “I am an Alexa Prize socialbot” is a priority response 
Response selection policy: 對所有響應打分,選擇分數比較高的

模型細節: 
Response model: 系統中用了22種模型,簡直是open-source interaction的綜述。

這裡寫圖片描述
【1】 template-based models 
a) Alicebot www.alicebot.org (2009) 
由template組成,同時輸出confidence score,用於string-based rules判斷回覆是不是一個正確的句子。 
這裡寫圖片描述
b) Elizabot https://gist.github.com/bebraw/273706 
從一堆模版中選擇結果,採用問題的方式作為相應,促使使用者進行回覆 
c) Initiatorbot 
作為對話的發起者,例如”What did you do today?”,或者從一個fact開始,Did you know 
that …? 
Facts和BoWFactGenerator model中的一致。如果initiatorbot在前兩輪中啟用,那麼就不啟用了,返回“”空響應。 
d) Storybot 
輸出short fiction story,故事是從www.english-for-students.com這裡找的。 
只有在使用者要故事的時候,啟用。

【2】 基於知識庫的問答系統(KB) 
a) Evibot www.evi.com 
b) BoWMovies 
搜尋電影,各種電影的API,如果找演員,用wikipedia的api 
【3】 Retrieval-based Neural Networks(基於檢索的神經網路) 
a) VHRED models 
由多個VHRED models組成, VHRED model是一種sequence-to-sequence models with Gaussian latent variables trained as variational auto-encoders(VAE)。 
首先選擇K個候選相應,利用當前歷史對話和資料庫中歷史對話,計算TF-IDF Glove(https://nlp.stanford.edu/projects/glove)word embedding相似度。選取具有最高對數似然概率的response。 
不同模型關注不同的topic: 
b) SkipThought Vector Models 
c) Dual Encoder Models 
d) Bag-of-words Retrieval Models 
【4】 Retrieval-based Logistic Regression 
… 
這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述


相關文章