一種相對完善的聊天機器人框架


目錄

1. 背景介紹

2. 框架介紹

3. 參考文獻


背景介紹

早在1966年,MIT開發的基於關鍵詞匹配和人工編寫規則的ELIZA[1]取的了讓人欣喜的結果,之後很多年基於檢索式的聊天機器人一些嘗試取得了很大的進展,尤其1998年的ALICE通過AIML的模板匹配取得了很好的成果。
不過近幾年來,隨着神經網絡尤其是深度神經網絡的不斷髮展,人們在語音識別、機器翻譯等方面取得了突飛猛進的成果。很多人開始把神經網絡技術應用在生成聊天機器人中,chatbot也吸引了很多人的關注。

框架介紹

以往的聊天機器人多是基於特定領域型的對話系統或者問答系統,文獻[2]中提出了在開放域以數據驅動爲主的兩種方式,基於檢索系統和基於生成系統的方式,並提出了一種可行的結合方式,通過實驗驗證證實了這種結合方法的優勢。

1、文獻[2]中的框架介紹

  • 基於檢索的對話系統
    首先,建立一個相對數量很大的問答數據庫,然後,檢索系統通過對用戶問題的檢索獲取相應的答案。

  • 基於生成的對話系統
    生成對話系統是通過對大量語料的訓練,得出語言模型,在用戶輸入問題之後根據之前訓練好的語言模型生成相應的答案。

對話模型

                            (基於檢索和生成的對話系統框架)
該框架過程簡要描述如下:
1)當用戶輸入會話q之後,優先查找問答數據庫,得到候選答案r*;
2)將用戶的會話q和1)中得到的答案r*一起輸入biseq2seq模型,得到候選答案r+;
3)通過對r*和r+的重排序得到q的最終輸出結果。

2、 基於以上框架的小補充
如果以上框架在對r* 和r+的比較之後,如果最終輸出結果是r* ,那麼系統不做調整,如果最終輸出結果是r+,那麼可以將r+的結果添加到問答數據庫中,更新q*對應的答案,這樣以後或許會使檢索的效果更好(生成模型有一些尚未很好解決的問題,比如RNN的一些缺點)。

3、 該框架存在的問題
上述框架,從實驗的角度來看,二者的結合確實比單一的檢索或者生成的效果要好,但是目前在實際的應用中並沒有得到很好的實現。

其中,主要原因有兩個方面:
第一,創建基於檢索情況下高質量的問答數據庫難度很大,如果在開放域,那將是更加的困難。只有創建基礎的日常對話數據庫或者針對某一些領域的數據庫,其可行性較高。
第二,現有的生成模型並不是萬能的,由於模型自身的弱點和自然語言自身的一些特性,使得尚未能夠得到一種比較好的生成模型,能夠有效的實現對話交流。

4、 如何讓框架在中文chatbot中切實有效

未來chatbot定會像語音識別和機器翻譯一樣取得耀眼的進步,同時會在身邊得到很好的應用,而這主要將依託基於生成技術的發展。
在英語中基於生成模型的chatbot已經取得了很好的成果,但是中文由於語言本身的應用難度,並不能夠通過現有技術的結合取得實效性進展。中文聊天機器人應該從基本的NLP技術入手,解決比如像中文分詞、對象抽取和句子量化表示等基本問題,實現效果可能將會更好。如果一味的借鑑英語的現有技術而不考慮漢語語言本身的情況,可能中文chatbot在應用中還爲之尚早。

首先,應該完善基礎對話數據庫的建設,這一步賦予20%的權重;
其次,從中文自身的特點出發,研究一套適用用於生成模型表示的詞、句方式,讓中文chatbot生成模型真正適合中文,這一步賦予50%權重;
最後,讓對話數據庫和生成模型變爲一種實時的動態結合的方式,通過實際的測試不斷更新數據庫優化生成模型,這一步賦予30%權重。

參考文獻

[1] 聊天機器人最新研究進展 鏈接
[2] Two are Better than One: An Ensemble of Retrieval- and Generation-Based Dialog Systems,pdf

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章