30

我试图从官方文档中了解Rasa coreRasa NLU之间的区别,但我不太了解。我的理解是,Rasa core 是用来引导对话的流程的,而 Rasa NLU 是用来处理文本提取信息(实体)的。

有在Rasa 核心Rasa NLU中构建聊天机器人的示例。我不明白这两种方法的区别是什么,以及何时采用一种方法而不是另一种方法。

你能帮我更好地理解这一点吗?

4

5 回答 5

31

你答对了。两者一起工作,但他们有不同的目标。简单来说,Rasa Core 处理对话流、话语、动作和 Rasa NLU 提取实体和意图。

关于你的第二个问题:

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

第二个例子(Rasa NLU 之一)展示了如何只训练实体和意图提取器。你没有关于领域和故事的任何信息,没有关于对话流的信息,这是一个纯粹的 NLU 示例(即使他使用 Rasa Core 的默认运行方法来运行机器人)。

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

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

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

希望能帮助到你。

于 2017-12-14T17:59:48.170 回答
3

简单来说,Rasa NLU 使用 NLP(自然语言处理)来理解你告诉机器人的内容。

它理解您所说的并将其与您定义的某些意图相匹配。

另一方面,Rasa Core 处理对话流。故事降价文件列出了他们的意图和操作。

因此,当 NLU 给出意图时,Core 会执行与其对应的动作,而机器人会回复该动作。

于 2019-06-07T08:46:28.823 回答
2

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

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

于 2019-03-05T08:12:33.993 回答
1

@trinca 的回答是正确的。我只是改述一下要点

第二件事,有在 Rasa 核心中构建聊天机器人的示例以及 Rasa nlu 都可用于构建聊天机器人,但无法理解两种方法的区别以及何时遵循哪一种方法。

不,NLU/Core 不是不同的方法,而是对话管理器引擎的不同组件。

  1. RASA NLU 是一个意图/实体分类器

    你离线训练分类器,带有一些带有相关意图(和实体)标签的例句。

    之后,在运行时,您向分类器提交一个传入的句子,并且您将返回一个意图标签和与该意图相关的可能实体列表,作为分类的结果。

  2. RASA Core 是一个(概率)对话管理器

    它决定/猜测聊天机器人对话的下一个可能“状态”(同样只是一个意图)。它通过 RASA 的专长离线训练:“故事”。这些是可能的意图序列,遵循开发人员在训练阶段提交的对话示例。

    之后,在运行时,RASA 核心,当用户提交一个句子(因此相应的意图猜测之前提到的 NLU 组件)它猜测会话的“可能”下一个状态(意图)。

笔记:

IMMO,您不能仅使用许多竞争对手提出的 NLU(意图分类器)组件作为构建机器人的“解决方案”来构建聊天机器人),因为仅使用意图分类器(NLU),您就可以管理“无状态”对话(没有任何对话背景的单轮截击)。

与其他提到的框架(这些通常只是通道网关/意图分类器)相比,最终 RASA 是赢家,因为对话管理器组件和设计/开发对话的故事方式,没有硬编码规则(如果/那么) .

于 2020-04-30T15:38:49.700 回答
0

拉萨核心:

Rasa Core 是 Rasa 中处理对话管理的组件。对话管理负责记录对话上下文并相应地选择下一步操作。

拉萨 NLU:

Rasa NLU 负责意图识别和实体提取。

例子

例如,如果用户输入的是 What's the weather like tomorrow in New York?,Rasa NLU 需要提取用户的意图是询问天气,以及对应的实体名称和类型,例如,日期是明天,地点是纽约。

于 2021-10-26T04:55:06.053 回答