这是经过数个月的调查与更新,所做的2020年聊天机器人框架对比。本表整理了10个知名的Chatbot框架,几乎涵盖时下Chatbot所有的Feature;经过一轮基本的验证后,针对模糊之处再深入使用,借此得到详尽的对比。10月做了一次修正与更新,为了将数据集成到博客的AI专栏上,也克服网志呈现表格的问题,在此分享给各位业界先进与同好。
| Type | Feature | Description | Microsoft | Xiao-i Robot | 小i机器人 | IBM | DYDU | SAP | Flow XO | Meya | Gupshup | Hubspot | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dialogflow | AzureBot | iBot Enterprise / Pro |
iBot International / Express |
Watson | DYDU | Recast.ai | Flow XO | Meya | Gupshup | Hubspot | |||
| Operation & appearance | Code-free backend | 通过后端接口拖拉流程图就能创建chatbot,不须写程序 | √ | × | √ | √ | √ | √ | √ | √ | × | √ | √ |
| Structure & logic | Knowledge-independent assistant | knowledge(skills)的编辑与assistant的创建彼此独立 | × | √ | × | × | √ | √ | √ | × | × | × | × |
| Bots collaboration | 可以定义一系列彼此knowledge不相关的bot,然后通过组合bot来构建一个assistant的整体输出 | × | × | × | √ | × | √ | √ | √ | √ | √ | √ | |
| FAQ-based intent | 支持FAQ格式的intent与答案,而每个intent的答案是固定的 | √ | √ | √ | √ | × | × | × | × | × | × | × | |
| Multi-language | Multi-language | 支持多语言对话 | √ | √ | √ | √ | √ | √ | √ | × | √ | × | × |
| Auto-language detection | 系统自动侦测语言,用户不需自行选择 | √ | √ | × | √ | × | √ | √ | × | √ | × | × | |
| Pre-build content | Knowledge | 预置常用的一般或行业知识,允许客户快速构建chatbot | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| Knowledge edit | Intent — intent conflict resolution | 利用AI技术侦测人工填写intent/user samples时产生的错误和冲突 | × | × | √ | × | √ | × | √ | × | × | × | × |
| Intent — utterance | 对某个intent编辑不同的问法(扩展问) | √ | √ | √ | √ | √ | √ | √ | × | × | × | √ | |
| Entity — my entity | 可自行定义entity(例如通过同义词) | √ | √ | √ | √ | √ | √ | √ | × | × | × | × | |
| 系统可自动推荐同义词 | √ | × | × | √ | √ | × | × | × | × | × | |||
| Multi-turn Dialog | 若问句信息不足,系统可以反问用户(多轮对话) | √ | √ | √(ibot ui) | √ (scene) | √(5) | √ | √ | √ | √ | √ | √ | |
| × (workflow) | √(50) | ||||||||||||
| Dialog — slots | 系统可自动截取与填充槽位 | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | |
| Dialog — disambiguation | 当用户的问句匹配到dialog中2个以上的intent节点时,assistant会请用户决定正确的intent | × | √ | × | √ | × | × | × | × | × | × | ||
| Dialog — 意图推荐 | 当用户的问题超出服务范围,或无法识别意图时,系统可以推荐相关的意图给用户 | × | √ | √ | √ | × | √ | × | × | × | × | × | |
| Dialog — multi slots filling | 对intent缺失的多个信息,进行一次性的提问,让用户可以一次补充所有信息,而非逐条询问与回复 | √ | √ | × | √ | × | × | × | × | × | × | ||
| Dialog — multi reply | 对同一intent有多种回答,让系统可以随机选择,产生更自然的对话效果 | √ | √ | √ | √ | × | √ | √ | × | √ | √ | ||
| Dialog — Digression | 允许用户在dialog中,进行话题(node)的切换,例如从某个流程节点跳转到另一节点,并允许跳回等。 | × | √ | √ | × | √ | √ | √ | √ | √ | √ | × | |
| Dialog — interruptions | 可让用户在对话中暂时讨论不同的主题,然后再返回原来的主题 | × | √ | √ | × | × | √ | × | √ (quit keyword) | × | × | × | |
| Knowledge map | 显示不同knowledge之间的关系和联系 | × | √ | √ | × | √ | × | × | × | × | × | ||
| Answer – variable | 提供特定参数,让系统获取相关信息,如用户名、IP、URL等内容,也可以直接用variable的形式添加在答案中。 | √ | √ | × | × | √ | √ | √ | √ | × | √ | ||
| Sentiment | 允许系统对正反及不同程度的情感状态,做出对应的回应 | × | × | × | × | √ | √ | × | × | × | × | ||
| Import/export | 支持knowledge导出及导入 | √ | √ | √ | √ | √ | √ | × | × | × | × | × | |
| Dashboard | Analytics dashboard | 提供报表让客户进行数据分析 | √ | √ | √ | √ | √ (7 D) | √ | √ | √ (2 WK) | √ (30 D) | √ | √ |
| √ (30/90 D) | √ (3 M) | √ (increase) | |||||||||||
| Testing | Tester | 提供测次问句的各种工具 | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
| Batch test | 支持问句的批量测试 | × | √ | √ | × | × | × | × | × | × | × | ||
| Improve | Deep learning model | 支持深度类神经网络模型 | √ | √ | √ | √ | √ | × | √ | × | × | × | × |
| Active learning | 从日志中收集待确认的对话,经客户确认后学习到知识中 | √ | √ | √ | √ | √ | √ | √ | × | × | × | × | |
| Intent recommendation | 根据已有的对话数据推荐意图,从而实现更快地训练 | × | √ | √ | √ | √ | × | × | × | × | × | ||
| Integration | Custom plug-in | 可以客制化集成其他API | √ | √ | √ | × | √ | √ | √ | √ | √ | √ | × |
| Preview link | 可提供预览chatbot的链接 | √ | √ | √ | × | √ | √ | √ | √ | × | × | × | |
| Service desk integrations | 支持无缝转人工服务 | √ | √ | √ | × | √ | × | √ | √ | √ | √ | √ | |
| Versioning | 允许对assistant的编辑结果,进行版本控管 | √ | √ | × | √ | × | √ | × | × | × | × | ||
| Authorization | Access control | 可以允许添加访问人员和管理相应的权限 | × | √ | √ | √ | × | √ | × | × | × | × | √ |
| Search skill | 支持通过搜索非结构化数据来扩展assistant的knowledge | √ | √ | √ | × | √ | × | × | × | × | × | × | |
| Data | Log data across instances | 将正式环境中的insights集成到开发环境中 | × | √ | √ | × | √ | √ | × | × | × | × | × |
| Data isolation | × | × | √ | √ | × | × | × | × | × | × | |||
| Service | SLA 99.9% | 服务等级协议达到99.9%的可用时间 | × | √ | × | × | √ | × | × | × | × | × | × |
| Mail subscription | 支持通过邮件订阅comments等数据 | × | × | × | × | √ | × | × | × | × | × | ||
| Survey | 可设立问卷调查模板(对内部或外部调查) | × | × | √ | × | × | √ | × | × | × | × | × | |
| 对话预处理 | 通过缺省的对话匹配规则,可快速自订简单的场景 | × | √ | × | × | √ | × | × | × | × | × | ||
| Matching strictness | 可调整匹配的阈值 | × | √ | × | × | × | √ | × | × | × | × | ||
| 定时任务 | 支持知识和词的定时同步 | × | √ | × | × | √ | × | × | × | × | × | ||
| 前后缀处理 | 可自动忽略位于句首或句末的特定词语或短句 | × | √ | × | × | × | × | × | × | × | |||
| 停用词 | 可自动忽略句中任意位置的特定词语 | × | √ | × | × | × | × | × | × | × | × | ||
| Table QA | 可动态加载结构化数据,并通过自然语言交互,转换成SQL语句,对数据库进行查找 | × | √ | × | × | × | × | × | × | × | × | ||
| 质检 | 自动分析交互日志,将可能的错误应答的对话,提供给维运人员审核 | × | √ | × | × | × | × | × | × | × | |||
| 地区维度 | 根据用户所在地区给出不同答复 | × | √ | × | × | √ | × | × | × | × | × | ||
| 知识编辑锁 | 一位编辑人员操作某个知识时,系统将锁定该知识群组,使其他人员无法编辑,借此防止冲突的产生 | × | √ | × | × | × | × | × | × | × | × |
