【发布时间】:2021-08-31 05:00:21
【问题描述】:
假设我在 Rasa 中创建了一个名为“yearlybill”的插槽。
我将不得不写:
slots:
yearlybill:
type: float
min_value: 0
所以我的问题是,当我想在我的意图中使用这些插槽时,我是否也必须将其作为一个实体明确提及?还是那个选项?
【问题讨论】:
标签: rasa-nlu rasa rasa-core rasa-x rasa-sdk
假设我在 Rasa 中创建了一个名为“yearlybill”的插槽。
我将不得不写:
slots:
yearlybill:
type: float
min_value: 0
所以我的问题是,当我想在我的意图中使用这些插槽时,我是否也必须将其作为一个实体明确提及?还是那个选项?
【问题讨论】:
标签: rasa-nlu rasa rasa-core rasa-x rasa-sdk
让我们从一些背景开始。
一个槽应该被视为一个长期记忆槽。您可以通过自定义操作手动将信息存储在其中,而无需实体。
entity 是您希望提取以供以后使用的用户消息的子字符串。常见的实体是名称、日期和产品 ID。将实体存储在插槽中是很常见的,但您不必这样做。您还可以检测实体并让自定义操作从跟踪器中检索该信息。
您可以在不定义实体的情况下定义一个槽。如果您打算使用自定义操作从用户的文本中获取槽值,那么从技术上讲,您不需要实体。不过,这不是一种常见的模式。通常,您希望使用特定的实体检测模型来获取实体,以便之后可以将其存储在插槽中。这就是为什么经常看到包含插槽和实体定义的domain.yml 文件的原因。
【讨论】: