用机器学习打造聊天机器人(五) 接入篇

本文是用机器学习打造聊天机器人系列的第五篇,在特性介绍中提到过,我们采用非侵入式设计,通过几个简单的 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。

posted @ 2019-12-20 17:41  程序员一一涤生  阅读(981)  评论(0编辑  收藏  举报