本文是用機器學習打造聊天機器人系列的第二篇,有助我們先了解下聊天機器人的相關概念,
什么是聊天機器人?
聊天機器人是一個程式,該程式會回應人類的話,其載體可以是一個網頁、一個桌面應用、一個app,
人類使用文字或者語音的方式和其交流,其同樣以文字或者語音的方式反饋給人類,
如果為這樣的程式套上一個音箱外表,就是智能音箱;套上一個動物外表,就是機器寵物;套上一個高仿真妹子外表,就是機器人伴侶~,它可以全天24小時和你不間斷的聊天,心甘情愿聽你想說的話,心甘情愿說你想聽的話,
聊天機器人有哪些常見的套路?
基于硬編碼:
預設定一套規則邏輯,遇到某關鍵字就從一組回復中隨機挑選一個出來進行回復,比如網上有這樣一個思路:

其優點是實作簡單,頗有些四兩撥千斤的意思,缺點是容易翻車,比如遇到下面的情況:

基于模板:
預設定一系列問題模板,比如xxx怎么樣?xxx什么時候上映?等,匹配到模板后,將xxx提取出來到知識圖譜中查詢出答案,該方法的優點是對于同樣的問式只需要準備一類模板,比如“xxx怎么樣?“,”xxx什么時候上映?”中的xxx可以匹配任何電影的名字,缺點是要為每個問式實作一個對應的查詢邏輯,
一問一答:
預設定一系列問答對,直接根據用戶的提問找到對應的意圖分類,比如問的是電影領域還是電腦領域等,然后根據問題,通過語意理解演算法匹配到當前領域下的一系列問題,回傳得分最高的問題的答案,該方法的優點是回復可控,精準,缺點是需要大量的問答對,
基于生成:
不預設任何問題模板或者問答對,根據預訓練好的序列模型,自動從問題生成對應的答案,該方法無需提前準備語料,但是生成的句子的語法往往會有錯誤且不可控(有時候會說出一些意想不到的話,比如不文明,反人類或者政治敏感的話) ,
本系列中,我們將基于第三種方法,也就是"一問一答"的方式打造一款聊天機器人,
下一篇《用機器學習打造聊天機器人(三) 設計篇》將介紹我們打造聊天機器人的思路,
ok,本篇就這么多內容啦~,感謝閱讀O(∩_∩)O,
本博客內容來自公眾號“程式員一一滌生”,歡迎掃碼關注 o(∩_∩)o

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/57276.html
標籤:其他
