聊天机器人
# 背景:
已有一个聊天的app,需要添加一个客服机器人. 回复用户提出的疑问。
# 我的需求:
- 可以管理对应的词库管理. 可以添加/修改对应的内容
- 最好具有NLP功能.
- 最好提供http接口, 或者sdk接口.
- 文档稍微完善一点。
- 最好可以本地部署,不要第三方的服务商提供的接口。
# 实现
基于规则的简单聊天机器人。 如: 微信自动回复数据库设计思路 (opens new window)
具有高级AI,ML和NLP功能的机器人。
# 第三方服务商
问答系统和对话系统-KBQA和对话系统综述 (opens new window)
里面有好多第三方服务商,提供了restApi。无需自建,但是缺点就是贵。
阿里云、各大云厂商基本都有这些机器人。
# Pandorabots
不支持本地化,是第三服务商
# Microsoft Bot Framework (opens new window)
微软的机器人服务,不支持本地存储,支持文本部署,sdk多语言支持.
# wit.ai
是免费的,但是打不开。
# Dialogflow
Dialogflow由Google的机器学习提供支持,但是打不开.
# 开源框架
# Botpress (opens new window)
# 优点,功能强大
- 有页面提供
- 模拟器/调式器
- 语义词语矫正功能
- 编排
- 可选规则还NLP
- 有语库管理
- 提供restApi去集成聊天
- docker部署,部署简单. 基于js编写
- 用于扩展功能的ts-SDK 和代码编辑器
# 缺点:
好像没有RestApi 文档, 只能去页面操作词库??
没有多语言的sdk支持,只有ts
# 参考资料
一键部署 botpress windows和linux 傻瓜式安装智能对话机器人 chatbot (opens new window)
# Botkit (opens new window)
# 优点:
- 基于node使用,类似于插件。 可以整合到现有的node系统。
- 具有Botkit 内容管理系统
- js编写的系统。
# 缺点:
- 这个是基于规则做的机器人. 没有高级的NLP内容
- 这个就是一个基础的数据传递,其他的NLP都是需要整合其他系统的。
# 参考资料:
使用Botkit和Rasa NLU构建智能聊天机器人 (opens new window)
# Rasa (opens new window)
# 优点
有管理内容
有丰富的http-api接口,可以接入. (https://rasa.com/docs/rasa/pages/http-api)
支持NLP, 也支持规则的消息.
有第三的web系统进行扩展 Botfront (opens new window)
但是他是基于Rasa项目做了一些修改。
rasa-ui
python写的 有python
# 缺点
- 官网没有对应的web页面
- 没有cms管理系统,没有单独的拆开。
# Rasa UI (opens new window)
- 不维护了,功能不是很全面。
- Rasa UI 是 Rasa 框架的前端
# 参考资料
用于改进和调试 Rasa 开源机器学习模型的可视化和助手 (opens new window)
RASA 对话管理系统DEMO (opens new window)
Rasa 聊天机器人框架使用 (opens new window)
Rasa 入坑指南二:基于 Rasa 构建天气查询机器人 (opens new window)
[开源智能聊天机器人rasa以及前端rasa-ui开发部署记录 (opens new window)](https://www.cnblogs.com/jindao3691/p/15102370.html)
功能丰富的 Rasa 和 Botfront 聊天小部件 (opens new window)
# ChatterBot
这是一个闲聊系统,Python语言,基于检索方式,不适用于基于任务的对话系统。 也就是说简单对话系统,没有分析意图的用法.
# 优点:
- 名气很大,出来的很早
- 支持java的jdk,官网集成django了,
- 各种jdk集成项目中特别简单。
- 资料多,特别是demo、项目实战多。
# 缺点
- 官网没有提供rest-api 文档.
# 参考资料
Java ChatterBot类代码示例 (opens new window)
ChatterBot使用 Flask 的Web 实现。 (opens new window)
利用 EasyWeChat 和 ChatterBot 简单搭建一个公众号「自动回复机器人」 (opens new window)
用chatterbot从零开始创建一个聊天机器人(二) (opens new window)
使用chatterbot构建自己的中文chat(闲聊)机器人 (opens new window)
做一个基于 chatterbot 的聊天机器人 (opens new window)
chatterbot Django Rest (opens new window)
使用fastapi实现一个简单的rest接口结合chatterbot实现聊天机器人接口 (opens new window)
# 语料库
用于训练中英文对话系统的语料库 (opens new window)
小黄鸡-中文公开聊天语料库 (opens new window)
# 参考资料
问答系统和对话系统-KBQA和对话系统综述 (opens new window)