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

2021-07-24 13:39:03 字數 1636 閱讀 9570

1. 背景介紹

2. 框架介紹

3. 參考文獻

不過近幾年來,隨著神經網路尤其是深度神經網路的不斷發展,人們在語音識別、機器翻譯等方面取得了突飛猛進的成果。很多人開始把神經網路技術應用在生成聊天機械人中,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

微軟聊天機械人框架(Bot Framework)

微軟聊天機械人框架 bot framework 讓你的服務可以建立並連線人工智慧機械人,通過它你的服務能夠與使用者自由聊天,方式可以是打字 簡訊,skype slack office 365郵件以及其他流行的服務等。聊天機械人正在迅速成為我們數字生活的一部分,他們已經成為繼 和移動之後又一種重要的與...

我的extjs聊天機械人

這幾天對聊天機械人感興趣,看看網上幾個吹得響的,也是常答非所問,自己研究了幾天,也出來乙個有模有樣的,這幾天不斷改進演算法,機械人出生第五天了,目前實現 1.查詢全國各地天氣,郵碼,區號,計算算式 2.自動分詞 4.今天時間,明天星期幾等,會在客戶端自動計算結果應答 6.以上都失敗,會自動找打哈哈的...

物件導向的聊天機械人

using system using system.collections.generic using system.linq using system.text namespace 聊天機械人 物件導向 class person public int age public int fullleve...