Dialogflow bot框架与Rasa nlu bot框架有什么区别?市场上是否有其他任何支持NLP的开源框架?
我认为我可以毫无偏见地回答这个问题,因为随着两种服务的发展,加类的答案将过时。
Cliffnotes版本:
在撰写本文时,这是我的比较:
DialogFlow
是创建聊天机器人的主要工具。大多是完整的,这意味着它几乎可以满足大多数聊天机器人所需的一切。 具体来说,它可以处理意图和实体的分类。它使用所谓的上下文来处理对话。它允许Web挂钩实现。 聊天机器人通常不需要的一件事是某种形式的最终用户管理。 它具有可靠的API,可让您通过API或基于Web的界面定义实体/意图/等。 在被Google收购之前,以前称为API.ai。 数据托管在云中,并且与API.ai的任何交互都需要与云相关的通信。 无法在内部操作。
Rasa NLU +核心
要达到与Dialogflow相同的功能水平,您必须同时使用Rasa NLU和Rasa Core。 Rasa NLU处理项目/意图/实体,而Rasa Core处理对话和实现。 Rasa没有提供完整的开源GUI,因此大多数与NLU的交互都以JSON或markdown进行。而且Rasa Core需要直接进行python开发来自定义您的机器人。 还不直接提供任何类型的用户信息管理。 Rasa团队不提供托管(至少在其企业产品范围之外),您将负责托管并因此负责数据的所有权。 可在内部操作。
至于其他开放源代码框架,我想说的是,大多数聊天机器人框架目前很有可能是建立在各种开放源代码工具上,并带有一些专有的附加组件。因此,您始终可以从较低级别的开源工具(例如MITIE或spaCy)开始。
更新:
Smart Platform Group(我是其成员)最近在Rasa NLU / Core和Dialogflow之间发布了一个名为Articulate的产品。
使用Rasa NLU来理解和自定义基于对话框的上下文代码。这使它比Rasa Core更接近Dialogflow的工作方式。 HTTP API,用于创建意图,实体以及与代理进行交互。 GUI与Dialogflow类似,它是完全开源的。 数据和接口(interface)可以托管在云中或内部。