What is RASA?
An open source framework used to build customized chatbots
Components of RASA:
Rasa NLU
Rasa Core
RASA NLU:
It helps the chatbot to interpret and understand user question
Example: User's Question, ‘Are you a human?’
RASA NLU helps bot to understand the question
Rasa Core:
It decides the action to be performed by bot.
Also, it makes the bot to learn continuously and improves the prediction response for next intent.
Example: RASA core helps bot to answer user's question
'No, I am not a human. I am Bot made with RASA'
![](/files/3601/0ld7n5TtRt6r0H7juEP3Pg/llqZ1j0ORocI7-rX8-h2Bd_H8VeDbtghQtSsKovUwSgFzoeIBI16AcCyhoYM/RASAComponents.jpg)
Why RASA?
Easy to customize and flexible
Interactive learning
How to install RASA:
https://rasa.com/docs/rasa/installation/environment-set-up/#!
Nomenclatures in RASA:
1. Intent:
It gives the intention of the input provided by user
Example:
a. User's Input: ‘Hi’ or ‘Hello’ or ‘Good morning’
Here ‘Intent’ is ‘Greet’ ------> User is greeting the bot
b. User's Input: ‘Yes’ or ‘Correct’ or ‘Y’ or ‘Accept’
Here 'Intent’ is ‘Accept’ --------> (User is providing his acceptance)
2. Entities:
It is a piece of information that can be extracted from a user's input.
Example:
a. User's Input: ‘I want to fly from Chennai to Delhi’
Here the ‘Entity’ is ‘City’ --------> Chennai & Delhi
b. User's Input: ‘Show me an Indian restaurant’
Here the ‘Entity’ is ‘Cuisine’ --------> Indian
3. Slots:
It is a memory of a bot which is used to store input provided by user
Example:
To play a game 'Rock, Paper & Scissors', user choice's will be saved.
slots:
choice:
type: categorical
values:
- rock
- paper
- scissors
In above code, 'choice' is a 'slot' in which one of the values will be stored.
4. Actions & Responses:
It is a response from bot for an intent
Example:
a. For intent ‘Greet’, bot's response is ‘Hey’, ‘Hello’, ‘Hi’ or ‘Good Morning’
b. For intent ‘Goodbye’, bot's response is ‘Have a nice day’, ‘See you later’ or ‘Bye’
5. Stories:
These are sample interaction between the user and bot.
Usually, stories are defined in terms of intent captured and actions performed.
Example:
Story: play game
Steps:
Intent: Greet ---- > User's Intent
Action: Greet ---- > Bot's Response
Action: Ask ‘Do you want to play’ ---- > Bot's Response
Intent: Get the input from user ‘y’ or ‘n’ ---- > User's Intent
Action: Play game ---- > Bot's Response
6. Domain:
It defines all the intents, entities, slots, responses and actions that bot should know.
Steps to create a bot:
Initialize the project
Define Stories
Define Intents
Define Actions
Define Domain
Train Model
Want to create a new bot which plays Rock Paper & Scissor with you? See below video
Conclusion:
This blog gives an definitions of basic terminologies in RASA. However, this is not an end. So, Happy Learning!!!!