nlu.yml 意图配置
所有的意图都必须在nlu.yml配置文件中定义,如
- intent: bot_challenge
examples: |
- 你是谁?
- 你是人类吗?
- 我在和机器人说话吗?
这是一个询问“你是谁”的意图。
rules.yml 规则配置
意图定义完成后,需要定义当用户表明这个意图后,机器人需要做的动作,就需要在rules.yml中配置
- rule: Say 'I am a bot' anytime the user challenges
steps:
- intent: bot_challenge
- action: utter_iamabot
在这里可以看到我们为bot_challenge这个意图,定义了对应的action为utter_iamabot。
domain.yml 领域配置
领域(domain)定义了对话机器人需要知道的所有信息,包括意图(intent)、实体(entity)、词槽(slot)、动作(action)、表单(form)和回复(response)
前面我们定义的意图bot_challenge,和action:utter_iamabot需要在domain.yml中配置。
intents:
- greet
- goodbye
- affirm
- deny
- mood_great
- mood_unhappy
- bot_challenge
responses:
utter_greet:
- text: "你好,有什么可以帮你?"
utter_iamabot:
- text: "我是一个机器人."
这是最简单的用法,当用户问到“你是谁”时,执行对应action,utter_iamabot是以utter_开头的动作,在Rasa中,utter_开头的动作默认找response中相同名称进行回复。