2

我正在尝试rasa-core通过 nlu 解释器创建简单的打印机支持聊天机器人,机器人应该获取打印机型号和打印机类型并发布问题。

我在插槽和实体中使用了打印机模型和打印机类型变量,但插槽没有从聊天字符串中填充。

请帮助我。

4

2 回答 2

2

例如,我们要设计简单的对话

User: I am Shivam
Bot:  Hello Shivam

在这里,我们必须name使用它进行提取和响应。

第 1 步:nlu.md文件中

## intent:told_name
- i am [shivam](name)
- my name is [shivam](name)
- hi, i am [shivam](name)

步骤 2domain.yml文件中

intents:
  - told_name

actions:
  - utter_greet

entities:
 - name

slots:
  name:
    type: text

templates:
  utter_greet:
  - text: "Hello {name}"
  - text: "Hello {name}, happy to meet you."

步骤 3stories.md文件中

# story_01
* told_name{"name": "Mayank"}
  - utter_greet

我认为,您在第 3 步中遗漏了一些东西

于 2019-03-02T04:33:19.757 回答
2

没有太多信息可以泄露,但如果我的插槽没有被正确填充,我会检查以下几件事:

  • NLU 是否正确解析实体?插槽通常由 NLU 实体填充。将您的文本直接发送到 NLU 并查看是否找到实体。
  • Entity 和 Slot 名称不一致?没有自定义编程的填充槽的默认方法期望槽名称与实体名称匹配。
  • 域信息中的槽定义是否正确?

如果您仍然遇到问题,我鼓励您创建问题或加入我们的gitter

于 2017-10-23T14:29:55.773 回答