孫立茹 余華云
摘要:隨著深度學(xué)習(xí)算法的發(fā)展,聊天機(jī)器人也迎來了發(fā)展的黃金時(shí)期,本文主要研究的是生成式聊天機(jī)器人,這種方式區(qū)別于檢索式的聊天機(jī)器人,使得聊天機(jī)器人的遷移性與泛化性更佳。具有非常廣闊的應(yīng)用場景。本文首先對生成式聊天機(jī)器人領(lǐng)域主流框架進(jìn)行實(shí)驗(yàn),在此基礎(chǔ)上加入attention注意力模型機(jī)制來提高生成效果,為了避免大量的無意義的安全回復(fù),又采用強(qiáng)化學(xué)習(xí)評估對話的未來獎勵,保證對話的自然流暢。
關(guān)鍵詞:深度學(xué)習(xí);聊天機(jī)器人;強(qiáng)化學(xué)習(xí)
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)23-0227-02
聊天機(jī)器人思想出現(xiàn)是從20世紀(jì)70年代,當(dāng)時(shí)稱為專家系統(tǒng),由龐大的知識庫構(gòu)建而成。隨著2015年人工智能技術(shù)的飛速發(fā)展,把深度學(xué)習(xí)模型應(yīng)用到自然語言處理領(lǐng)域取得了很好的效果,成為近幾年來了熱門研究方向。聊天機(jī)器人分為兩種方式,檢索和生成兩種方式。生成式聊天機(jī)器人與原來的檢索不同,是指在人與機(jī)器進(jìn)行對話時(shí),機(jī)器自動組織語言回復(fù)。聊天機(jī)器人在未來有廣闊的應(yīng)用前景。但是目前聊天對話有很多不完善的地方,比如對話過程中容易產(chǎn)生安全回答,前后信息不一致以及容易使聊天陷入僵局等情況。在文章中我們會簡單介紹生成式聊天機(jī)器人中所涉及的幾種算法。
1 基于RNN的seq2seq模型
目前在深度學(xué)習(xí)模型中,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)在自然語言處理領(lǐng)域中應(yīng)用越來越廣。但是因?yàn)镽NN有一定局限性,一些學(xué)者在原來模型的基礎(chǔ)上進(jìn)行了改進(jìn),也就是LSTM和GRU模型。在對話模型中,我們需要對輸入的文本進(jìn)行處理,輸入的文本信息轉(zhuǎn)化成向量形式是最常見的方法,以向量形式輸入到所選的深度模型中進(jìn)行訓(xùn)練。在對話任務(wù)中,所選用的框架是seq2seq模型,這個(gè)框架一開始在自然語言處理領(lǐng)域中的翻譯系統(tǒng)上取得了較好的效果,在聊天機(jī)器人的對話模型中,也取得了比較好的效果。Bahdanau等人后來在原來的深度框架模型上添加了attention機(jī)制,解決了循環(huán)神經(jīng)網(wǎng)絡(luò)中信息丟失的問題。
1.1 聊天機(jī)器人中的關(guān)鍵算法
在研究聊天機(jī)器人對話中,我們首先需要對輸入的文本信息進(jìn)行處理。一般是做向量化處理也就是將文本內(nèi)容上下文信息用向量來表示。將文本信息轉(zhuǎn)化成向量格式有兩種方法:一種是文本分布式,另一種是文本向量空間模型(VSM)。詞嵌入(Word Embedding)屬于文本分布式中的一個(gè)方法也是文本處理的主流方式,指將文本信息映射到向量中,根據(jù)向量間的距離判斷詞語是否相近。
RNN主要解決的是序列問題,也就是當(dāng)前的輸出不僅與當(dāng)前時(shí)刻的輸入有關(guān)還與前一時(shí)刻的輸出有關(guān),這就構(gòu)成了前后詞之間的關(guān)聯(lián)。所以非常適合來解決文本處理的問題。但是RNN網(wǎng)絡(luò)也存在諸多難以解決的問題,比如說數(shù)據(jù)集太大,訓(xùn)練難度會增加,容易產(chǎn)生的梯度消失和梯度爆炸的問題。在此基礎(chǔ)上一些學(xué)者設(shè)計(jì)出了RNN兩個(gè)變種LSTM(Long Short Term Memory Network) 和GRU(Gated Recurrent Unit Network)。
LSTM和GRU與RNN的不同在于神經(jīng)網(wǎng)絡(luò)層中隱藏層設(shè)計(jì)的不同,因?yàn)長STM帶有記憶特性,所以能解決RNN中的長距離問題。另外GRU在隱藏層上做出了改進(jìn),主要是對前面狀態(tài)中信息進(jìn)行加權(quán)計(jì)算,離當(dāng)前時(shí)刻越近的信息權(quán)值越大。另外在訓(xùn)練過程中,為了減少數(shù)據(jù)量少而引起的過擬合,所以在模型中引入了Drop out機(jī)制。Drop out指在訓(xùn)練過程中,去掉神經(jīng)網(wǎng)絡(luò)單元中某些單元,簡化模型的結(jié)構(gòu),進(jìn)而可以增強(qiáng)模型的泛化能力
1.2 seq2seq 模型框架
seq2seq模型也稱為序列到序列模型,因?yàn)樵诜g系統(tǒng)中取得了不錯的效果,隨后應(yīng)用到聊天機(jī)器人中。seq2seq模型有兩部分構(gòu)成:編碼器和解碼器,引入到聊天機(jī)器人任務(wù)中,定義編碼器對應(yīng)的是問句,解碼器對應(yīng)的是回復(fù)的語句。
從理論上講seq2seq模型表現(xiàn)很好,但是在實(shí)際場景中訓(xùn)練數(shù)據(jù)效果不好。Bahdanau等人把注意力機(jī)制運(yùn)用到了對話生成中,對于循環(huán)神經(jīng)網(wǎng)絡(luò)中隨時(shí)間增長信息丟失的問題有了很好的解決方法,也提升了整個(gè)系統(tǒng)的效果。attention機(jī)制思想是編碼器中輸入詞映射到解碼器中對每個(gè)詞都是有影響的,只是概率分布不同。
2 基于深度強(qiáng)化學(xué)習(xí)的對話模型
Alphago證實(shí)了強(qiáng)化學(xué)習(xí)技術(shù)的成功,也推動了強(qiáng)化學(xué)習(xí)技術(shù)在自然語言處理領(lǐng)域的發(fā)展。強(qiáng)化學(xué)習(xí)中智能體與環(huán)境進(jìn)行交互,根據(jù)系統(tǒng)提前定義的獎勵函數(shù)來判定智能體的行為是否合適。系統(tǒng)會給出一定的獎勵或懲罰,最終目標(biāo)是獎勵函數(shù)最大化。
2.1 獎勵函數(shù)簡介
在智能聊天機(jī)器人對話系統(tǒng)中,強(qiáng)化學(xué)習(xí)模型所代表的含義是利用兩個(gè)機(jī)器人不斷的對話來模擬智能體與環(huán)境的交互過程,最后訓(xùn)練出我們想要的效果。馬爾科夫決策過程包括動作,狀態(tài),策略,獎勵函數(shù)等幾個(gè)要素。其中獎勵函數(shù)作為目標(biāo)函數(shù)是最重要的因素。當(dāng)每次都出現(xiàn)無意義的回答時(shí),我們將給出懲罰。最后我們希望對話過程中所給的回答是有效的,并且在生成的語句中更多的是有意義的回復(fù),保證對話的流暢性。
我們可以自由設(shè)定聊天機(jī)器人中的獎勵函數(shù),第一個(gè)獎勵函數(shù)可以定義為讓對話產(chǎn)生新的信息。第二個(gè)獎勵函數(shù)設(shè)定為問題與答案的相關(guān)度。第三個(gè)獎勵函數(shù)設(shè)定為回答的語句中帶有情緒的詞語。第四個(gè)獎勵函數(shù)設(shè)定為回答文本中不帶有尷尬的詞語出現(xiàn),避免聊天陷入僵局。最后對幾個(gè)獎勵函數(shù)進(jìn)行加權(quán)求和,獎勵函數(shù)最大時(shí)對應(yīng)的模型就是我們想要的模型。
3 總結(jié)
本文介紹了生成式聊天機(jī)器人中的主流算法模型,通過對算法的優(yōu)化希望與聊天機(jī)器人對話語句更加的自然順暢。我們首先介紹循環(huán)神經(jīng)網(wǎng)絡(luò),然后簡單說明seq2seq模型與attention機(jī)制的思想。由于聊天機(jī)器人經(jīng)常給出一些安全回復(fù),容易使對話陷入僵局,因此后來把強(qiáng)化學(xué)習(xí)算法引入到聊天機(jī)器人對話生成中。在一定程度上可以提升對話的流暢性。在未來的發(fā)展中,我們希望聊天機(jī)器人還擁有自己的情商,使生成語句更加自然順暢并保持前后一致。
參考文獻(xiàn):
[1] Vinyals O, Le Q. A neural conversational model[J].arXiv preprint arXiv:1506.05869,2015.
[2] Guo H. Generating text with deep reinforcement learning[J].arXiv preprint arXiv:1510.09202,2015.
[3] Li J,Monroe W,Ritter A, et al. Deep reinforcement learning for dialogue generation[J].arXiv preprint arXiv:1606.01541,2016.
[4] Van Hasselt H,Guez A, Silver D. Deep Reinforcement Learning with Double Q-Learning[C]//AAAI.2016:2094-2100.
[5] Cuayahuitl H. Simpleds: A simple deep reinforcement learning dialogue system[M]//Dialogues with Social Robots. Springer Singapore, 2017:109-118
[6] Lison P. Model-based bayesian reinforcement learning for dialogue management[J]. arXiv preprint arXiv:1304.1819,2013.
[7] 曹東巖.基于強(qiáng)化學(xué)習(xí)的開放領(lǐng)域聊天機(jī)器人對話生成算法[D].哈爾濱:哈爾濱工業(yè)大學(xué),2017.
【通聯(lián)編輯:唐一東】