Dialogflow机器人框架和Rasa nlu机器人框架有什么区别?

29

Dialogflow机器人框架与Rasa nlu机器人框架的区别是什么?市场上还有其他支持NLP的开源框架吗?


我可以知道是什么类型的标志吗?我能得到专家的答案吗? - balaji
我标记了关闭这个问题,因为它主要会得到基于个人观点的答案,这在StackOverflow上是不被允许的。请务必阅读FAQ以了解一个好问题应该是什么样子的 :) - jbehrens94
4个回答

43

我认为我可以毫无偏见地回答这个问题,考虑到随着这两种服务的发展,答案会变得过时。

快速摘要版本:

Dialogflow是一个完整的封闭源代码产品,具有完全功能的API和图形Web界面。Rasa(NLU+Core)是开源Python库,需要稍微低级别的开发。两者都试图抽象出一些机器学习的难点,以构建聊天机器人。

截至撰写本文,以下是我的比较:

DialogFlow

  • 是创建聊天机器人的绝大部分工具。“绝大部分”意味着它几乎可以满足大多数聊天机器人的需求。
  • 特别是它可以处理意向和实体的分类。它使用所谓的上下文来处理对话。它允许使用Web钩子进行履行。
  • 对于聊天机器人而言,常见但却没有的一个功能是一些形式的最终用户管理。
  • 它有一个强大的API,允许您通过API或基于Web的界面定义实体/意向/等等。
  • 在被Google收购之前,它以API.ai为名。
  • 数据托管在云端,与API.ai的任何交互都需要云相关通信。
  • 不能在本地运行。

Rasa NLU+Core

  • 要接近Dialogflow的同等功能水平,您必须使用Rasa NLU和Rasa Core。 Rasa NLU处理项目/意向/实体,而Rasa Core处理对话和履行。
  • Rasa没有提供完整的开源GUI,大多数与NLU的交互都是JSON或Markdown格式。而且,Rasa Core需要直接的Python开发来定制您的机器人。
  • 也不直接提供任何用户信息管理。
  • Rasa团队不提供托管服务(至少不在其企业版之外),您将负责托管和因此拥有数据。
  • 可以在本地运行。

就其他开源框架而言,我认为目前大多数聊天机器人框架都是建立在各种开源工具上的,并加入了一些专有附加功能。因此,您始终可以从底层开源工具开始,例如MITIEspaCy

更新:

智能平台组(我是其中的成员)最近发布了一个介于Rasa NLU/Core和Dialogflow之间的产品,名为Articulate

Articulate是一个功能齐全的机器人框架,基于Rasa NLU,让您轻松构建自然语言代理。

  • 使用Rasa NLU进行理解和自定义上下文代码进行对话。这使其更接近于Dialogflow而不是Rasa Core。
  • 用于创建意图、实体和与代理交互的HTTP API。
  • 类似于Dialogflow的GUI,完全开源。
  • 数据和界面可以在云端或本地托管。

8

Dialogflow:

无需安装,立即开始使用

易于使用,非技术人员也可以构建机器人

封闭系统

基于Web的界面用于构建机器人

数据托管在云端

无法在您的服务器或本地部署

与Google Assistant、Skype、Slack、Fb Messenger等直接集成

Rasa:

需要安装多个组件

需要技术知识

开源,代码可在Github上获取

不提供界面,需编写JSON或Markdown文件

不提供托管(至少在免费版本中)

需要在您的服务器上进行部署

没有直接集成的功能

enter image description here

来源:https://www.kommunicate.io/blog/dialogflow-vs-rasa-which-one-to-choose/


4

最重要的区别是,Rasa的整个NLU、NLP和NLG都不是在后台处理的。它是开源的。你是老大。在Dialogflow的情况下,你拥有所有的功能,但每次对话交互发生时,它必须将数据发送到云服务。此外,一些服务提供商每天的对话数目有限制。

然而,Dialogflow无瑕疵,易于使用和建模。


2

什么是 IRecognizer?它是 MS Botframework 的一个组件吗?你能否再解释一下。 - Sumax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接