用機器學習打造聊天機器人(五) 接入篇
- 2019 年 12 月 16 日
- 筆記
本文是用機器學習打造聊天機器人系列的第五篇,在特性介紹中提到過,我們採用非侵入式設計,通過幾個簡單的 API 就可以接入聊天機器人到其他項目中,下面來看看具體步驟。
接入步驟
- 提供符合要求的領域問答語料的 txt 文件,按照意圖類型劃 分成不同的txt文件,替換本引擎自帶的txt語料文件,txt語料文件示例如下:
可以看到,閑聊的語料文件以QAtalk-開頭,業務類的以QA_sf開頭,內容的格式就如圖中所示,每個問題佔一行,每個回答佔一行。
- 我們可以參考介面說明中的介面在自己的項目中開發自己的聊天介面或者直接使用本系列文章提供的聊天Demo頁面。
介面說明
- 回復介面 用於接收用戶的提問。 POST : replier/ask 參數: {"q":"你什麼星座呀?"} 響應: (1)如果只有一個匹配項,就直接放在"a"中做為答案: { "a": "雙魚?~", "c": "QA_talk" } (2)如果有多個匹配項,就放在"q_a_guess"中: { "c": "QA_sf_withdrawal_cargo", "q_a_guess":[ "問題1?","回答1",0.95, "問題2?","回答2",0.85, ] }
- 標註介面 本介面會讓 SkyAAE 學習接收到的問答,下次問類似問題的時 候,就會給出此次學到的答案。用戶標註一般分為添加新答案、 修訂答案、標註最佳答案,這三類都可以調用該介面來實現。 POST : kbqa_sf/qac/record 參數:(q:問題;a:答案;c:類別) [ {"q": "xxx", "a": "xxx", "c": "xxx"}, {"q": "xx", "a": "xx", "c": "xx"}] 響應: "success"
- 獲取可選類別 GET : qac/all_classify 參數:無。 響應: [ {"code": "QA_sf_xx1","text": "xx1"}, {"code": "QA_sf_xx2","text": "xx2"},…]
- 在線學習介面 GET : qac/learn/batch 參數:無。 響應: 學習成功,返回:"success"; 沒有需要學習的內容,返回:"nothing"
本篇介紹了聊天機器人的接入方法,下一篇將對程式碼中用到的相關演算法的原理做一個簡單的介紹,有助於更好的理解聊天機器人的運行機制。
ok,本篇就這麼多內容啦~,感謝閱讀O(∩_∩)O。