本文是用機器學習打造聊天機器人系列的第五篇,在特性介紹中提到過,我們采用非侵入式設計,通過幾個簡單的 API 就可以接入聊天機器人到其他項目中,下面來看看具體步驟。
接入步驟
- 提供符合要求的領域問答語料的 txt 文件,按照意圖類型划 分成不同的txt文件,替換本引擎自帶的txt語料文件,txt語料文件示例如下:
可以看到,閑聊的語料文件以QA_talk-開頭,業務類的以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。