用機器學習打造聊天機器人(二) 概念篇

本文是用機器學習打造聊天機器人系列的第二篇,有助咱們先了解下聊天機器人的相關概念。程序員

什麼是聊天機器人?

聊天機器人是一個程序,該程序會迴應人類的話,其載體能夠是一個網頁、一個桌面應用、一個app。
人類使用文字或者語音的方式和其交流,其一樣以文字或者語音的方式反饋給人類。
若是爲這樣的程序套上一個音箱外表,就是智能音箱;套上一個動物外表,就是機器寵物;套上一個高仿真妹子外表,就是機器人伴侶~,它能夠全天24小時和你不間斷的聊天,心甘情願聽你想說的話,心甘情願說你想聽的話。算法

聊天機器人有哪些常見的套路?

基於硬編碼:

預設定一套規則邏輯,遇到某關鍵字就從一組回覆中隨機挑選一個出來進行回覆。好比網上有這樣一個思路:

其優勢是實現簡單,很有些四兩撥千斤的意思,缺點是容易翻車,好比遇到下面的狀況:
app

基於模板:

預設定一系列問題模板,好比xxx怎麼樣?xxx何時上映?等,匹配到模板後,將xxx提取出來到知識圖譜中查詢出答案。該方法的優勢是對於一樣的問式只須要準備一類模板,好比「xxx怎麼樣?「,」xxx何時上映?」中的xxx能夠匹配任何電影的名字,缺點是要爲每一個問式實現一個對應的查詢邏輯。機器學習

一問一答:

預設定一系列問答對,直接根據用戶的提問找到對應的意圖分類,好比問的是電影領域仍是電腦領域等,而後根據問題,經過語義理解算法匹配到當前領域下的一系列問題,返回得分最高的問題的答案。該方法的優勢是回覆可控,精準,缺點是須要大量的問答對。學習

基於生成:

不預設任何問題模板或者問答對,根據預訓練好的序列模型,自動從問題生成對應的答案。該方法無需提早準備語料,可是生成的句子的語法每每會有錯誤且不可控(有時候會說出一些意想不到的話,好比不文明,反人類或者政治敏感的話) 。編碼

本系列中,咱們將基於第三種方法,也就是"一問一答"的方式打造一款聊天機器人。設計

下一篇《用機器學習打造聊天機器人(三) 設計篇》將介紹咱們打造聊天機器人的思路。blog

ok,本篇就這麼多內容啦~,感謝閱讀O(∩_∩)O。博客

本博客內容來自公衆號「程序員一一滌生」,歡迎掃碼關注 o(∩_∩)o模板

相關文章
相關標籤/搜索