What is Rasa Stack?
The Rasa Stack is a set of open source machine learning tools for application developers to create contextual text, voice-based chat-bots and assistants e.g. Siri, Cortana, IBM Watson, Alexa etc.
In this tutorial below mention topics will be covered:
RASA Framework Overview.
RASA stack framework is a set of open source Machine Learning and AI tools for developers to build contextual text and voice-based chat-bots and assistants e.g. Siri, Cortana, IBM Watson, Alexa. The best part of RASA stack framework is that it is absolutely free. Bingo!. You can build and deploy your chatbot with minimal hassle.
Rasa stack framework provides two core library for bot development.
- Core – RASA Core is a Chat-bot framework with machine learning-based dialogue management.
- NLU – RASA NLU is a library for natural language understanding with intent classification and entity extraction.
The best feature of Rasa framework is the utilization of the power of Machine learning and AI in the domain of bots.
- Automate contextual conversations with deep learning instead of hand-crafted rules.
- Open source and fully customizable, designed to integrate with your existing IT landscape.
- Cutting-edge machine learning technology ensuring the best available customer experience.
This diagram shows the basic flow of how a RASA Core app responds to a message:
Rasa stacks process flow:
- The Interpreter received the message and convert it into a dictionary including the original text, the intent, and any entities that were found.
- A Tracker is an object which keeps track of conversation state.
- The policy receives the current state of the tracker and decided the next action to be taken.
- The chosen action is logged by the tracker and the response is sent to the User.
Let’s try to understand the working flow of Rasa framework with a simple chat-bot example.
- The user sends a request to book an appointment with a doctor. In-fact user also shares pin code, so after receiving the message NLU understands the user’s message and does intent classification based on your previous training data (i.e. NLU tries to understand user expectation based on previous experience).
- In the above example, NLU predicts the intent (i.e. to book GP) of the user with 93% confidence.
- Entity extraction: Recognizing structured data (Example: GP is a doctor_type and 94301 a Zipcode)
- Rasa Core decides then next course of action and predicts the next suitable response for the user. It uses machine learning-based dialogue management to predicts the user response based on NLU inputs (i.e. conversation history and training set inputs).
- Finally, NLU core sends predicted response to the user for further communicates.