Rasa核心与Rasa nlu之间的区别

Dar*_*dow 21 nlp artificial-intelligence chatbot rasa-nlu rasa-core

我试图从Rasa核心Rasa nlu的官方文档中了解rasa 但不能推断太多.我能理解的是

Rasa核心用于指导对话流,而Rasa nlu是理解并处理文本以提取信息(实体)

第二件事,有一些例子可以在Rasa核心中构建chatbot 以及Rasa nlu都可以用来构建chatbot但是无法理解两种方法的区别以及何时关注哪一种.

能帮助我更好地理解你吗?

Tri*_*nca 20

你做对了.两者合作但他们有不同的目标.简单来说,Rasa Core处理会话流,话语,动作和Rasa NLU提取实体和意图.

关于你的第二个问题:

第一个示例显示了创建机器人的整个工作流程,它显示了如何设置域和故事.这些是Rasa Core的功能,而不是Rasa NLU.在这个例子的第2项(称为定义解释器)上,作者明确表示他正在使用Rasa NLU作为解释器(但你甚至可以使用另一个实体提取器框架).

第二个示例(Rasa NLU one)显示了如何仅训练实体和意图提取器.您没有关于域和故事的任何信息,没有关于会话流的信息,它是纯粹的NLU示例(即使他使用Rasa Core中的默认运行方法来运行机器人).

当我开始学习Rasa时,有点难以理解开发机器人的概念.但是当你开始编码时,它变得清晰了.无论您使用哪个平台,NLU都将处理实体和意图,而会话流将是其他的.

甚至可以使用一个库来处理机器人的核心,另一个库来处理NLU.

我想要注意的是,与用于构建机器人核心的大多数工具不同,Rasa Core使用机器学习来更好地概括对话流程.您可以使用可能的会话路径的数据集,并训练核心来概括它,而不是为对话中的每个可能节点编写代码.这是一个非常酷和强大的功能:)

希望能帮助到你.

  • @AntonIva - 你需要两者来构建一个成熟的聊天机器人应用程序,因为它需要两个部分:了解用户想要说什么(Rasa NLU - 实体和意图提取),然后根据上下文信息对其进行适当的操作谈话(Rasa Core). (3认同)

小智 5

对于初学者来说,这是一个非常通俗的描述:Rasa NLU 是理解输入的解释器。基本上,它找出实体并标记意图。
Rasa Core 会完成您希望机器人完成的其余工作,其中对话流程是最重要的。

例如,您对机器人说“你好”。Rasa NLU 会将输入的意图理解为问候语,而 Rasa Core 将告诉机器人以问候语进行回复。
如果您训练您的机器人,回复将是问候语,也可能是其他任何内容。