本文分享的這篇paper是旨在訓練一個data driven open-domain的bot,在生成response的時候不僅僅考慮user message(query),而且考慮past history作為context。paper的題目是A Neural Network Approach to Context-Sensitive Generation of Conversational Responses,作者來自蒙特利爾大學、喬治亞理工、facebook和微軟研究院,本文最早發於2015年6月。
開放域的端到端response生成在今年已經不是什麼新鮮事了,各種複雜的網路,考慮各種各樣的資訊,然而在去年的這個時候,本文就提出了一種data driven的解決方案,是一篇有開創性的paper。
bot的幾大核心問題,包括:
1、response generation(或者selection)
2、dialogue state tracking
3、user modeling
不管是開域的還是閉域的bot都需要解決好以上三個問題才能做出一個高質量的bot。本文針對的問題是第一個,用的思路也是現在看來比較自然的一種,用語言模型來生成response。
考慮history utterances的responses生成問題,先定義一些引數,m表示message(query),c表示context,r表示response。本文要解決的其實是下面這個問題:
1、Tripled Language Model
將c,m,r作為一句話來理解,給定c和m之後,不斷地生成r的內容。這個模型存在一個比較嚴重的問題是c如果過長的話,用BPTT訓練不了RNNLM。(其實換作LSTM或者GRU單元就會好很多。)
2、Dynamic-Context Generative Model I
將c和m用詞袋模型表示,然後拼接起來,作為輸入,通過一個簡單的FNN,得到輸出,即c和m vector representation。
3、Dynamic-Context Generative Model II
與2不同的地方在於,將c和m單獨作為輸入,通過一個簡單的FNN,得到c和m的vector representation。
這篇paper針對的問題很有意義,history information的建模對於bot在解決實際工程應用的時候意義重大,會讓你的bot看起來更加的智慧,和分析了使用者日誌的web應用會帶來更好的服務是一個道理。本文的將具體的context包含到了模型中,在真正應用的時候,離線系統根據user conversation logs build一個user profile會更加實用,因為確實不可能把所有的history都丟到模型中一起來算。