0

假设我在 Rasa 中创建了一个名为“yearlybill”的插槽。

我将不得不写:

slots:
  yearlybill:
    type: float
    min_value: 0

所以我的问题是,当我想在我的意图中使用这些插槽时,我是否也必须将它作为一个实体明确提及?还是那个选项?

4

1 回答 1

1

让我们从一些背景开始。

插槽应被视为长期记忆插槽。您可以通过自定义操作手动将信息存储在其中,而无需实体。

实体是您要提取以供以后使用的用户消息的子字符串。常见的实体是名称、日期和产品 ID。将实体存储在插槽中是很常见的,但您不必这样做。您还可以检测实体并让自定义操作从跟踪器中检索该信息。

可以在不定义实体的情况下定义插槽。如果您打算使用自定义操作从用户的文本中获取槽值,那么从技术上讲,您不需要实体。不过,这不是一种常见的模式。通常,您希望使用特定的实体检测模型来获取实体,以便之后可以将其存储在插槽中。这就是为什么经常看到domain.yml包含插槽和实体定义的文件的原因。

于 2021-09-10T07:25:25.487 回答