趙宇晴,向 陽
(同濟大學 計算機科學與技術系,上海 201800) (*通信作者電子郵箱shxiangyang@tongji.edu.cn)
基于分層編碼的深度增強學習對話生成
趙宇晴,向 陽*
(同濟大學 計算機科學與技術系,上海 201800) (*通信作者電子郵箱shxiangyang@tongji.edu.cn)
面向對話生成問題,提出一種構建對話生成模型的方法——基于分層編碼的深度增強學習對話模型(EHRED),用以解決當前標準序列到序列(seq2seq)結構采用最大似然函數作為目標函數所帶來的易生成通用回答的問題。該方法結合了分層編碼和增強學習技術,利用分層編碼來對多輪對話進行建模,在標準seq2seq的基礎上新增了中間層來加強對歷史對話語句的記憶,而后采用了語言模型來構建獎勵函數,進而用增強學習中的策略梯度方法代替原有的最大似然損失函數進行訓練。實驗結果表明EHRED能生成語義信息更豐富的回答,在標準的人工測評中,其效果優于當前廣泛采用的標準seq2seq循環神經網絡(RNN)模型5.7~11.1個百分點。
對話生成;深度增強學習;分層編碼;循環神經網絡;序列到序列
對話系統,也稱作交互式會話代理、虛擬代理或聊天機器人,其有著廣泛的應用場景,例如技術支持服務、語言學習工具、個人助理等[1-2],對話系統作為其中實現自然語言理解和體現機器智能的重要交互接口受到了廣泛關注。目前,如何讓機器與人類進行持續的、有意義的對話是對話生成領域待解決的重要問題之一[3],本文針對該問題進行了有效的實驗研究。
盡管基于循環神經網絡(Recurrent Neural Network, RNN)的序列到序列(sequence to sequence, seq2seq)模型[4]為對話生成帶來了諸多便利,并被廣泛應用,然而這類基于seq2seq的模型的實驗結果并不全都盡如人意,基于seq2seq的對話模型容易給出很多通用回答,比如“我不知道”(這句話可能在訓練集中出現多次),而真實場景下則希望對話是有意義的、信息豐富的,顯然“我不知道”并不是一個好的回答,它終結了此輪對話。為了探索解決這個問題的方法,使對話模型能夠與人類進行持續的、有意義的對話,本文提出一種基于分層編碼的深度增強學習對話模型(Enhanced Hierarchical Recurrent Encoder Decoder Model, EHRED)。首先,提出一種能夠存儲歷史信息的分層編碼對話模型;之后,再引入增強學習的方法,弱化標簽的作用,增強遠距離信息間的相互聯系;最后,通過實驗結果來證明其有效性。
自然語言對話系統的技術主要分為兩類,基于手寫規則的和基于數據驅動的。20世紀60年代著名的Eliza系統就是基于手寫規則的,能與用戶進行簡單的對話。然而基于規則的解決方案過于依賴精心設計的有限的對話參數或是一些手工模板,而模板又是領域敏感的,因此這類解決方案,如馬爾可夫決策過程(Markov Decision Process, MDP)[5-8]、部分可觀測馬爾可夫決策過程(Partially Observable Markov Decision Process, POMDP)[9-11]等通常被用來解決特定領域的任務,泛化能力和通用性較差,離復雜場景下的實用化還有很大距離。大數據時代為自然語言對話研究提供了一個新的機會,大量的對話數據可以從實際的場景中獲得,隨著深度神經網絡在越來越多的基于大量數據來進行訓練的任務中取得矚目的成果,基于數據驅動的方法成為研究的主流。起初深度學習僅在語音和圖像處理領域取得了巨大的成功,因為圖像和音頻數據天然可以編碼并存儲成稠密向量的形式,而自然語言處理則通常是將字詞轉成離散的單獨的稀疏向量,對特征的編碼是隨機的,沒有任何關聯信息。在Word2Vec出現之后,語言中的字詞得以轉化為計算機可以理解的、空間上相互關聯的稠密向量,深度學習開始在自然語言處理領域取得突破性進展。
基于數據驅動的方法又分為基于檢索的方式和基于生成的方式。基于檢索的方式將大量的單輪對話實例存儲在索引里,每一個實例由一個對話輸入和其所對應的回復組成。每輸入一個信息,檢索模塊從索引中檢索與其相關的信息和回復,并將最適合的回復返回,作為給出的回答。這種方式的優點是不會出現語法錯誤,但模式是通過檢索的方式給出索引庫中已有的回答,而符合自然語言處理宗旨的模式應該是通過結合之前的經驗進行思考以給出回答,因此受到廣泛關注的是基于生成的方式。
基于生成的方式將對話生成問題看作是一種“源到目標”的映射問題,直接從大量的訓練數據中學習從輸入信息到最終輸出之間的映射關系。Ritter等[12]首次將對話映射問題看成一個統計機器翻譯(Statistical Machine Translation, SMT)問題,雖然結果優于基于信息檢索的系統,然而其實驗結果也發現對話生成問題要比機器翻譯問題復雜得多,相對于機器翻譯,對話生成的回答更多樣化,和輸入的聯系也不那么緊密。Sutskever等[4]提出了一種通用的序列到序列的結構(seq2seq),并在對話任務上取得了超過基于SMT的系統的效果。之后越來越多的人在seq2seq的基礎上進行研究,基于數據驅動的深度學習方法在自然語言處理領域的研究越來越細致,然而深度學習雖然可以自動提取大量語言數據中的特征,但是對數據集中數據數量和質量的要求較高,如何從質量有限的數據集中盡可能地提取有用特征也是深度學習在自然語言處理領域面臨的困境之一。Vinyals等[13]首次采用編碼器來將輸入信息編碼成一個向量來代表輸入語句的語義,并依據這個向量來生成回答。Li等[14]提出了一種用計算輸入和回答之間的互信息量的方法來代替標準seq2seq中作為目標函數的最大似然估計函數,來減小通用回答出現的比例。Su等[15]先用有監督學習進行對話模型的訓練,然后用增強學習來改善其表現,其實驗結果證明增強學習能夠改善對話系統的表現。受到Su方法[15]的啟發,本文將seq2seq與增強學習的優勢結合起來,并引入分層思想,提出了一種基于分層編碼的深度增強學習對話生成的方法。
單輪對話是多輪對話的基礎。對話問題可以看作是序列到序列的映射問題,而循環神經網絡(RNN)可以很方便地處理從某一序列到另一序列的映射問題。2014年Sutskever等[4]提出了一種基于RNN的序列到序列映射模型seq2seq,并且取得了較好的實驗結果,從此seq2eq成為很多對話模型的基礎。
給定一系列輸入(x1,x2,…,xT),一個標準的RNN通過循環式(1)~(2)來計算一系列輸出(y1,y2,…,yT):
ht=sigm(Whxxt+Whhht-1)
(1)
yt=Wyhht
(2)
對于對話問題來說,輸入和輸出都是不定長的,seq2seq的處理方法是,用一個RNN(編碼器)來將輸入序列映射到一個固定維度的向量,用另一個RNN(譯碼器)來將這個向量映射為目標序列。通常采用RNN的一種變體長短期記憶網絡(Long Short-Term Memory,LSTM)[16]或其另一種變體門控循環單元(Gated Recurrent Unit, GRU)[17]替代RNN,來避免RNN自身結構難以處理遠距離信息間的相互聯系(即長期依賴,又名長期影響)的問題,為了方便敘述,以下涉及到RNN及其變體時均簡稱RNN。
如式(3)所示,seq2seq的目標是估計條件概率:
p(y1,y2,…,yT′|x1,x2,…,xT)=
(3)
其中:(x1,x2,…,xT)是輸入序列;(y1,y2,…,yT′)是對應的輸出序列,需要注意的是輸入和輸出序列的長度未必相同。RNN接受一個詞語的過程稱為一個時間步的操作,處理輸入序列(x1,x2,…,xT)的編碼器在最后一個時間步的隱含層狀態就是固定維度向量ν。每個p(yt|ν,y1,y2,…,yt-1)都由詞匯表中的所有單詞的softmax函數結果來表示。
本文針對多輪對話,對seq2seq對話模型進行了擴展,提出了一種分層編碼對話模型。Sordoni等[18]在2015年提出了一種分層編碼器-譯碼器結構模型HRED(Hierarchical Recurrent Encoder-Decoder),用于給出互聯網查詢建議,即通過用戶已經提交的查詢來預測用戶的下一個查詢。分層結構體現在用戶提交的查詢可以在兩個層面上分別被看作是兩種序列:每個查詢問題可以被看作是一系列詞語組成的序列,用戶之前提交的一系列查詢可以被看作是一系列語句組成的序列。利用這種分層思想,將對話也分為兩個層次進行建模,第一個層次是一次對話過程中所包含的若干語句,第二個層次是每個語句所包含的若干詞語,依此本文建立了一個基于分層編碼的對話生成模型,如圖1所示。
如圖1所示,基于HRED的對話模型包含三個RNN模塊:編碼器RNN、中間層RNN、譯碼器RNN,與標準seq2seq模型相比增加了一個中間層RNN。其中編碼器RNN、中間層RNN、譯碼器RNN均是一層含有若干個神經單元的循環神經網絡,如第2章所述,由循環神經網絡負責處理序列到序列的映射問題。
從圖1可知,輸入語句中每個詞語(U1,1,U1,2,…,U1,N1)的詞向量會被順次輸入到編碼器RNN里直至該輸入語句的結尾,此時編碼器中RNN神經網絡的最終的隱含層狀態就相當于將該輸入語句編碼成了一個“語句向量”,這個“語句向量”隨后將被輸入到中間層RNN。在編碼器RNN和中間層RNN順次處理完語句(U1,U2,…,Um)后,此時中間層RNN的隱含層狀態就包含了當前m個“語句向量”的信息,這個隱含層狀態將作為中間層RNN的輸出,輸入到譯碼器RNN中。譯碼器RNN接受經過編碼器RNN和中間層RNN編碼處理后的輸入語句(即中間層RNN最終的隱含層狀態的輸出)以及一個固定的初始詞語“GO”(“GO”沒有任何含義,只是為了符合神經網絡對輸入格式的要求),來生成輸出語句的第一個詞語,之后每個時間步都會接受前一時刻譯碼器所生成的詞語以及前一時刻譯碼器的隱含層狀態來生成當前時刻輸出語句的詞語,直至生成語句終止符“lt;EOSgt;”。需要注意的是譯碼器每生成一個詞語前都會接受中間層RNN最終的隱含層狀態輸出。

圖1 基于分層編碼的對話生成模型結構
中間層RNN相當于在對話者A和對話者B之間建立了相同的背景知識,比如話題知識和概念知識,這對于構建一個有效的對話系統來說至關重要。本文使用對話者A對話者B對話者A(A-B-A)的三輪對話形式來進行實驗,根據HRED的結構可知,HRED可被擴展用于N輪對話。需要注意的是,在一次A-B-A對話中,處理每個語句中的每個詞語時,編碼器RNN、中間層RNN、譯碼器RNN的參數是相同的,這樣有助于模型的訓練和泛化。
基于seq2seq結構的對話模型的實驗結果存在很多問題,最大的問題之一是seq2seq結構的對話模型傾向于給出通用回答,本文對該問題的原因給出了如下分析:
首先,seq2seq模型傾向于獲取局部特征,比如每個時間步作為輸入之一的前一時間步生成的詞語;而作為全局特征輸入的譯碼器隱含層狀態,在譯碼器生成第一個詞語之前是僅包含全部輸入語句信息的編碼器輸出,后來逐漸被譯碼器生成的新詞語稀釋(由于HRED中間層RNN的隱含層狀態每次都會被輸入譯碼器,所以HRED不存在這類稀釋問題)。訓練時每一時間步輸入譯碼器的詞語是訓練集中的真實(ground_truth)詞語,可以一定程度上確保譯碼器的隱含層狀態始終在接受正確的局部信息來生成下一個詞語。但是在預測時,譯碼器的隱含層狀態接受的是上一時間步的預測詞語,一旦預測詞語偏離了預期,譯碼器的隱含層狀態所包含的輸入語句信息不僅被稀釋,還被加入了噪聲,這樣一來之后的所有詞語的預測都會受到影響。
其次,從學習的角度來說,譯碼器的隱藏層狀態hm需要包含時間步m之前的所有信息,來生成下一個時間步的詞語(短期目標),同時在實際輸出軌跡的向量空間里占據一個位置來影響未來可能生成的若干個輸出詞語(長期目標),與此同時hm的狀態還不斷被新預測的詞語所稀釋。鑒于梯度消失效應[19],短期目標有著更大的影響,模型更傾向于實現短期目標而非長期目標,因此在訓練過程中模型參數更傾向于僅僅貪婪生成下一個詞語。
從概率角度分析,隨機變化僅在較低的層次注入(seq2seq結構中最后的softmax層),因此模型在訓練時便更傾向于獲取序列的局部特征,而非全局或長期特征,這是因為在低層次注入的隨機變化更傾向于符合近期獲取的觀察結果的規律,大大弱化了更久時間之前的觀察結果的影響或是對未來的觀察的影響。可以把隨機變化看作是向確定性成分添加的噪聲變量,如果這個噪聲變量在建立高層次表示這一步時就被注入,就可以視作覆蓋了序列的絕大部分,其效果可以等同于長期依賴,但在seq2seq架構里,噪聲變量僅在低層次表示中注入。
從損失函數的角度分析,假設seq2seq類的模型的目標語句是[w1,w2,…,wT],則訓練時的損失函數可以表示為式(4),訓練目標是最小化損失函數L的值:
L=-logp(w1,w2,…,wT)=

(4)

(5)
這就造成預測的是不相關的,或是通用的回答。為了探索解決這個問題的方法,使對話模型能夠與人類進行可持續的、有意義的對話,本文引入了增強學習的方法來訓練新的目標函數。
根據第3章描述的分層編碼模型結構可知,對話生成是一個序列決策問題,每個時間步依據譯碼器上一時間步生成的詞語和對話歷史信息來順序生成下一個詞語。而增強學習的本質就是解決序列決策(Sequential Decision Making, SDM)問題,它可以針對一系列變化的環境狀態,輸出一系列對應的行動,并在這些行動完成后得到獎勵。增強學習的目標是根據環境狀態、行動和獎勵,學習出最佳的策略,并以最終結果為目標,不能只看某個行動當下帶來的利益,還要看到這個行動未來能帶來的價值,以獲得最大的累計收益作為最好的結果來進行策略的學習。
增強學習不像無監督學習那樣完全沒有學習目標,也不像監督學習那樣有著非常明確的目標(標簽)(基于RNN的seq2seq模型屬于監督學習),增強學習沒有標簽來告訴算法在某種情況下應該做出什么樣的行為,只有做出一系列行為后反饋回來的累計獎勵,并通過這個累計獎勵的信號來判斷當前行為的好與壞。增強學習面對的輸入一般是變化的、不明確的,與監督學習中獨立同分布的輸入不同,增強學習不需要正確的輸入/標簽對,甚至可能不存在絕對正確的標簽,增強學習通過不斷的試錯、反饋、學習來尋找最優策略。
增強學習強調在探索未知的環境(Exploration)和利用現有知識(Exploitation)之間找到平衡。Exploitation指根據已知的信息來最大化累計獎勵,Exploration則會放棄一些已知的獎勵信息,而且嘗試一些新的選擇。因為在某種環境狀態下,算法可能已經學習到如何選擇動作來讓獎勵較大,但并不是每次都會作出同樣的選擇,也許另一個沒有嘗試過的動作會讓最終的累計獎勵更大,Exploration強調更多地探索環境狀態信息。
結合4.1節的描述可知,增強學習的算法特點天然地補充了seq2seq有監督對話模型傾向于受短期利益影響而非考慮長期利益、從而容易陷入次優解的缺陷。
增強學習已經有幾十年的歷史,但是直到最近幾年深度學習技術的突破,增強學習才有了比較大的進展。用神經網絡來替代增強學習中的值函數和策略函數,使之變成價值網絡和策略網絡,從而使連續動作狀態問題可解,是深度增強學習的基本思想。
標準的增強學習配置是一個智能體在一系列離散時間步中與環境ε進行交互。在每個時間步t,智能體接受狀態st,并根據策略π,在動作空間A里選擇一個動作at,之后智能體會獲得狀態st+1和一個即時回報rt,直到智能體到達一個終止狀態然后重新開始下一回合。如式(6)所示,累計回報Rt是t時刻起所獲得的全部即時回報之和,其中γ∈(0,1]為折扣系數。
(6)
在基于HRED的對話生成模型中,動作a為生成對話語句U3的某個詞語U3,N3,狀態s為t時刻譯碼器隱藏層狀態,策略π可以被看作是整個編碼器-中間層-譯碼器,由其中的所有參數來定義。對話模型的目標是在每個狀態st都能獲得最大的累計回報Rt。


最終的梯度是▽θlogπ(at|st;θ)(Rt-bt(st)),其中bt(st)是從累計回報中學習得到的基線,通常將一個學習到的價值函數估計來用作基線,即bt(st)≈Vπ(st);用來衡量策略梯度的數量Rt-bt可以被看作是狀態st下動作at的優勢估計,即A(at,st)=Q(at,st)-V(st),其中Rt是Qπ(at,st)的估計,而動作價值Q(a,s)=E[Rt|st=s,a]是在策略π下在狀態s下選擇動作a后所期望得到的累計回報;bt是Vπ(st)的估計,Vπ(st)=E[Rt|st=s]是在策略π下狀態s的價值,即從狀態s開始遵循策略π所期望得到的累計回報。其中價值函數Vπ(st)和動作價值函數Qπ(at,st)均采用深度神經網絡來描述,即bt(st)和Rt均采用深度神經網絡來逼近,其中深度神經網絡的結構如第3章構建的基于分層編碼的對話模型所示。
該基于分層編碼的深度增強學習對話生成模型(EHRED)的算法偽代碼見算法1。
算法1 EHRED模型算法。
設θ為策略網絡參數矩陣;θv為價值網絡參數矩陣。
t=1
whiletlt;Tmax
dθ=0, dθv=0
tstart=t
獲取環境st(上一時刻的隱藏層狀態)
whileat-1≠EOS andt-tstartlt;tmax
at=π(st,θ)
獲取獎勵rt
獲取新的環境狀態st+1
t=t+1
fori=t-1,t-2, …,tstartdo:
R=ri+γR
dθ=dθ+▽θlogπ(si,θ)(R-V(si,θv))
dθv=dθv+?(R-V(si,θv))2/?θv
使用dθ和dθv更新θ和θv
EHRED模型首先對標準seq2seq增加了中間層來記憶歷史信息,每次譯碼輸出之前都會接受未被譯碼器輸出稀釋的、完整記錄了所有歷史信息的中間層的隱含層狀態輸出,即每次預測下一個詞語前都會接受之前的背景知識;而且由于增強學習考慮的是累積回報,所以訓練時一個詞語的生成會受到之后生成的詞語的影響。綜上所述該模型對于對話的長期影響進行了充分考慮。
本次實驗的數據集來源是opensubtitle 電影字幕語料庫,這是一個開源免費的語料庫。電影字幕包含的話題非常寬泛,而且通常都是兩個或非常有限的人數之間進行長時間的、上下文關聯性強的交流互動,并且由于其公映的特殊性而很少有拼寫或語法錯誤,采用一個電影字幕數據集無疑是構建開域對話系統的正確選擇之一。
本文所構建的深度網絡模型的目標函數是一個非凸函數,而梯度下降算法無法有效解決非凸問題,模型可能陷入局部最優解。為了更好地訓練模型使其接近全局最優解,采用了預訓練的方法,即在訓練深度增強網絡之前,先訓練目標函數為普通交叉熵的深度神經網絡模型,然后將該訓練好的模型參數作為待訓練的深度增強網絡的初始化參數;并引入relu激活函數、dropout技術等深度網絡訓練時所使用的技巧(tricks)。本次預訓練從opensubtitle語料庫中抽取了400萬條對話語句來作為訓練集和測試集,在現有的實驗條件下(一塊GPU)平均每次訓練時間約為7 d。
深度網絡訓練過程不可能不采用梯度下降算法,而傳統的隨機梯度下降法(Stochastic Gradient Descent, SGD)在誤差反向傳播過程中會存在收斂過慢或在最優點附近震蕩而不收斂的問題,為了更好地訓練神經網絡,本次優化算法采用了均方根傳播(Root Mean Square Propagation, RMSProp)算法,RMSProp是一種自適應的算法,可以在迭代過程中自適應地減小學習速率,先采用較高的學習速率以便快速收斂到最優值附近,然后采用較低的學習速率逐漸穩定地收斂到最優值。為了防止過擬合,每50個epoch進行一次評估,設定當損失函數值是前一時刻的損失函數值的3倍時停止訓練(early stopping)。
每次訓練時通過觀察policy network和value network的損失函數值是否不再降低來判斷模型是否已經收斂,并根據最終穩定下來的損失函數值的大小來調試確定最佳參數。本次深度增強模型的訓練從opensubtitle語料庫中抽取了40萬條對話語句作為訓練集和測試集,在與預訓練同等實驗條件下(一塊GPU),平均每次的訓練時間約為2 d。EHRED和HRED的編碼器層、中間層、譯碼器層以及RNN[4]的編碼器層、譯碼器層均采用250個LSTM神經單元。詞向量采用Word2Vec工具進行初始化,詞向量的維數定為200。
評估對話系統是比較困難的,較為常見的評估指標如BLEU[20]等一直以來都存在爭議,即它們是否能夠真正地衡量回答的質量,正如前面所說,對話系統的目標并不僅僅是預測概率最大的回答,而是應該充分考慮長期影響,生成上下文有意義的、語義信息豐富的、讓人感到有交互感的回答。因此本次實驗采用同文獻[3]相同的人工測評方法。
將EHRED、HRED和RNN[4]對同一輸入所分別預測的輸出語句進行人工測評,來判斷哪種模型的輸出語句更好,表1中的數值分別代表三種不同評價所占的比例。從如表1所示的人工測評結果可看出:融合了增強學習方法的EHRED的效果較傳統RNN模型來說有很大提升,與沒有融合增強學習方法的HRED相比,效果也有一定的提高,說明HRED的中間層和增強學習的獎勵函數方法對于對話中長期影響的建模起到了一定作用,使得對話效果有了提升,更符合人類的對話習慣。

表1 EHRED、HRED和RNN的人工測評結果比較 %
由于在同樣的對話情境下有很多種不相同的、但是都合理的回答,所以考慮Top10的有效率更能反映出模型的效果。和大多數文獻[4]一樣,本次實驗用beam search來得到模型最優的前10個輸出結果。如表2所示,當輸出語句被人為判定為有意義時,輸出語句有效,表中的比率是有意義的輸出語句占總體輸出語句的百分比。由表2可看出,EHRED的效果明顯要高于傳統RNN模型,尤其是在考慮Top10時,說明EHRED能給出更多樣性的合理的回答,從而證明了基于層次編碼的增強學習模型的有效性。

表2 EHRED和RNN的Top1和Top10有效率比較 %

表3 EHRED模型實驗結果實例
表3展示了一些實驗結果的實例,其中Reference(U1,U2)一欄的內容是一輪對話中的前兩句,Response一欄的內容是與之對應的各個模型預測輸出的結果,其中EHRED這一行的內容是EHRED模型預測輸出的結果,RNN這一行的內容是RNN模型預測輸出的結果,TARGET這一行的內容是訓練集中原有的目標語句。從表3中的實例可以看到,RNN傾向于給出“我不知道”“好”這種通用回答,而EHRED則可以給出語義更為豐富的回答。
本文介紹了如何將標準seq2seq改進為層次模型HRED應用于多輪對話系統,來加強對歷史信息的記憶;詳細分析了標準seq2seq中長期目標的缺失和損失函數的缺點;闡明了如何用增強學習的策略梯度方法代替標準 seq2seq中的損失函數來彌補其對長期影響的建模的缺失從而提升對話質量。
當前的EHRED對話模型采用了bi_gram語言模型來構建獎勵函數,未來可以圍繞“好的對話應該由哪些因素來定義”這一思考,用語義邏輯更強的方式來構建獎勵函數,以期取得更優的結果。
References)
[1] YOUNG S, GASIC M, THOMSON B, et al. POMDP-based statistical spoken dialog systems: a review [J]. Proceedings of the IEEE, 2013, 101(5): 1160-1179.
[2] SHAWAR B A, ATWELL E. Chatbots: are they really useful? Journal for Language Technology amp; Computational Linguistics, 2007, 22(1) :29-49.
[3] LI J, MONROE W, RITTER A, et al. Deep reinforcement learning for dialogue generation [EB/OL]. [2017- 01- 10]. https://arxiv.org/pdf/1606.01541.pdf.
[4] SUTSKEVER I, VINYALS O, LE Q V. Sequence to sequence learning with neural networks [C]// NIPS 2014: Proceedings of the 27th International Conference on Neural Information Processing Systems. Cambridge: MIT Press, 2014: 3104-3112.
[5] LEVIN E, PIERACCINI R, ECKERT W. Learning dialogue strategies within the Markov decision process framework [C]// Proceedings of the 1997 IEEE Workshop on Automatic Speech Recognition and Understanding. Piscataway, NJ: IEEE, 1997: 72-79.
[6] LEVIN E, PIERACCINI R, ECKERT W. A stochastic model of human-machine interaction for learning dialog strategies [J]. IEEE Transactions on Speech and Audio Processing, 2000, 8(1): 11-23.
[7] WALKER A, PRASAD R, STENT A. A trainable generator for recommendations in multimodal dialog [EB/OL]. [2017- 01- 10]. https://pdfs.semanticscholar.org/3385/397d3be400c3f4a6f79f9c47 e67e50333b45.pdf.
[8] PIERACCINI R, SUENDERMANN D, DAYANIDHI K, et al. Are we there yet? Research in commercial spoken dialog systems [C]// TSD 2009: Proceedings of the 12th International Conference on Text, Speech and Dialogue. Berlin: Springer, 2009: 3-13.
[9] YOUNG S, GASIC M, KEIZER S, et al. The hidden information state model: a practical framework for POMDP-based spoken dialogue management [J]. Computer Speech amp; Language, 2010, 24(2): 150-174.
[10] GASIC M, BRESLIN C, HENDERSON M, et al. POMDP-based dialogue manager adaptation to extended domains [C]// SIGdial 2013: Proceedings of the 14th Annual SIGdial Meeting on Discourse and Dialogue. Metz, France: [s.n.], 2013: 214-222.
[11] GASIC M, KIM D, TSIAKOULIS P, et al. Incremental on-line adaptation of POMDP-based dialogue managers to extended domains [EB/OL]. [2017- 01- 10]. https://pdfs.semanticscholar.org/6719/ef93142d64a69b52c916f9ee132b5339d9d1.pdf.
[12] RITTER A, CHERRY C, DOLAN W B. Data-driven response generation in social media [C]// EMNLP 2011: Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA, USA: Association for Computational Linguistics, 2011: 583-593.
[13] VINYALS O, LE Q. A neural conversational model [EB/OL]. [2017- 01- 10]. https://arxiv.org/pdf/1506.05869.pdf.
[14] LI J, GALLEY M, BROCKETT C, et al. A diversity-promoting objective function for neural conversation models [EB/OL]. [2017- 01- 10]. https://arxiv.org/pdf/1510.03055.pdf.
[15] SU P-H, GASIC M, MRKSIC N, et al. Continuously learning neural dialogue management [EB/OL]. [2017- 01- 10]. https://arxiv.org/pdf/1606.02689.pdf.
[16] HOCHREITER S, SCHMIDHUBER J. Long short-term memory [EB/OL]. [2017- 01- 10]. http://www.bioinf.jku.at/publications/older/2604.pdf.
[17] CHO K, VAN MERRIENBOER B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[EB/OL]. [2017- 01- 10]. https://arxiv.org/pdf/1406.1078.pdf.
[18] SORDONI A, BENGIO Y, VAHABI H, et al. A hierarchical recurrent encoder-decoder for generative context-aware query suggestion [C]// CIKM 2015: Proceedings of the 24th ACM International on Conference on Information and Knowledge Management. New York: ACM, 2015: 553-562.
[19] HOCHREITER S, SCHMIDHUBER J. LSTM can solve hard long time lag problems [EB/OL]. [2017- 01- 10]. http://www.bioinf.jku.at/publications/older/3004.pdf.
[20] PAPINENI K, ROUKOS S, WARD T, et al. BLEU: a method for automatic evaluation of machine translation [C]// ACL 2002: Proceedings of the 40th Annual Meeting on Association for Computational Linguistics. Stroudsburg, PA, USA: Association for Computational Linguistics, 2002: 311-318.
[21] TIEDEMANN J. News from OPUS — a collection of multilingual parallel corpora with tools and interfaces[EB/OL]. [2017- 01- 10]. http://stp.lingfil.uu.se/~joerg/published/ranlp-V.pdf.
[22] AMEIXA D, COHEUR L, FIALHO P, et al. Luke, I am your father: dealing with out-of-domain requests by using movies subtitles [C]// IVA 2014: Proceedings of the 14th International Conference on Intelligent Virtual Agents. Berlin: Springer, 2014: 13-21.
[23] BENGIO Y. Practical recommendations for gradient-based training of deep architectures [M]// MONTAVON G, ORR G B, MüLLER K-R. Neural Networks: Tricks of the Trade. 2nd ed. Berlin: Springer, 2012: 437-478.
[24] GASIC M, BRESLIN C, HENDERSON M, et al. Online policy optimisation of Bayesian spoken dialogue systems via human interaction [C]// Proceedings of the 2013 IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway, NJ: IEEE, 2013: 8367-8371.
[25] SHANG L, LU Z, LI H. Neural responding machine for short-text conversation [EB/OL]. [2017- 01- 10]. https://arxiv.org/pdf/1503.02364.pdf.
[26] SINGH S, LITMAN D, KEARNS M, et al. Optimizing dialogue management with reinforcement learning: experiments with the NJFun system [J]. Journal of Artificial Intelligence Research, 2002, 16(1): 105-133.
[27] BAHDANAU D, CHO K H, BENGIO Y. Neural machine translation by jointly learning to align and translate [EB/OL]. [2017- 01- 10]. https://arxiv.org/pdf/1409.0473.pdf.
[28] RANZATO M A, CHOPRA S, AULI M, et al. Sequence level training with recurrent neural networks [EB/OL]. [2017- 01- 10]. https://arxiv.org/pdf/1511.06732.pdf.
Dialoggenerationbasedonhierarchicalencodinganddeepreinforcementlearning
ZHAO Yuqing, XIANG Yang*
(DepartmentofComputerScienceandTechnology,TongjiUniversity,Shanghai201800,China)
Aiming at dialog generation problem, a dialog generation model based on hierarchical encoding and deep reinforcement learning, namely Enhanced Hierarchical Recurrent Encoder-Decoder (EHRED) was proposed to solve the problem that standard sequence to sequence (seq2seq) architectures are more likely to raise highly generic responses due to the Maximum Likelihood Estimate (MLE) loss function. A multi-round dialog model was built by hierarchical structure, and a hierarchical layer was added to enhance the memory of history dialog based on the standard seq2seq architecture, and then a language model was used to build reward function, replacing traditional MLE loss function with policy gradient method in deep reinforcement learning for training. Experimental results show that EHRED can generate responses with richer semantic information and improve by 5.7-11.1 percentage points in standard manual evaluation compared with the widely used traditional standard seq2seq Recurrent Neural Network (RNN) dialog generation model.
dialog generation; deep reinforcement learning; hierarchical encoding; recurrent neural network; sequence to sequence (seq2seq)
2017- 04- 28;
2017- 06- 14。
國家自然科學基金資助項目(71571136);國家973計劃項目(2014CB340404);上海市科委基礎研究項目(16JC1403000)。
趙宇晴(1995—),女,遼寧盤錦人,碩士研究生,主要研究方向:自然語言處理、深度學習; 向陽(1962—),男,重慶人,教授,博士,主要研究方向:管理信息系統、云計算、語義計算、大數據挖掘。
1001- 9081(2017)10- 2813- 06
10.11772/j.issn.1001- 9081.2017.10.2813
TP183
A
This work is partially supported by the National Natural Science Foundation of China (71571136), the National Basic Research Program (973 Program) of China (2014CB340404), the Shanghai Municipal Science and Technology Research Project (16JC1403000).
ZHAOYuqing, born in 1995, M. S. candidate. Her research interests include natural language processing, deep learning.
XIANGYang, born in 1962, Ph. D., professor. His research interests include management information system, cloud computing, semantic computing, big-data mining.