I hope that this question has not been asked before. I searched on github and this forum, but did not find anything.
I am currently using RASA open source in order to create a conversational bot for teaching skills. I have a very restricted list of intents on the domain.yml file, and a lot more different intents only defined in the nlu.yml file.
However, RASA never complains about this, and predicts the intents correctly, even if they are not defined in the domain file. So I was wondering: is there a negative effect of this that I could not have thought about before? Or is RASA simply very smart and deduces the content of the domain file itself?
Thanks for your time, and this awesome product also that works just fine!
Thank you for your question! It would be really helpful if you could share your domain and nlu yaml files so we can see the example that you use and your test case.
version: "2.0"
nlu:
- intent: greet
examples: |
- hey
- hello
- how are you?
- good morning
- good afternoon
- intent: stop
examples: |
- Can we stop here please?
- It would be nice to end the session here
- Exit
- Quit
- I'd like to leave
- I want to quit
- I'd like to exit
- intent: goodbye
examples: |
- See you
- Bye
- See you later
- Catch you later
- Have a nice day
- intent: ask
examples: |
- How are you today?
- How are you feeling?
- What is your mood today?
- intent: get_score
examples: |
- What is my score?
- Can you give me my score?
- Can I get my score please?
- How many points do I have?
- What are my points?
domain file:
version: '2.0'
session_config:
session_expiration_time: 60
carry_over_slots_to_new_session: false
intents:
- greet
- stop
- goodbye
- out_of_scope
- affirm
- deny
- mood_happy
- mood_unhappy
entities:
score
responses:
utter_default:
- text: Sorry, not sure what to do. Can you rephrase?
utter_stop:
- text: Well, it was good talking with you. See you next time!
utter_greet:
- text: Hello, and welcome to my home.
utter_goodbye:
- text: See you soon!
utter_out_of_scope:
- text: Let's talk about that later.
utter_deny:
- text: I' sorry to hear that. Can I help you?
utter_explain:
- text: Interesting, tell me more
- text: Okay, carry on.
- text: Inspiring, thank you. Go ahead.
utter_ask:
- text: I'm in a great mood today
utter_score:
- text: You have {score} points.
actions:
# All the actions that come here...
forms:
# Some forms also
Here, one can see that I do not define the intent ask_score in my domain file, but it is detected anyway
So this is actually great, but I was only wondering what was actualy happening.
Also, I train my model by sending these nlu data via the API.