Introduction to Rasa
Video
Rasa is a tool to help you build task oriented dialogue systems. When we say "task oriented" we mean that the user wants to accomplish something. When we say "dialogue system" we're talking about automated systems in a two way conversation. That means that we're talking about assistants that can talk back to the user, to help them achieve the task they're interested in.
The core of building a Rasa assistant is providing examples that your system learns from. That way, Rasa can attempt to generalise patterns in your data. We built Rasa to be highly customizable and support everything from hobby projects to complex enterprise systems.
The goal of this series of videos is to show you everything you need to know to start building your own assistants with Rasa.
Two Systems
In general there are two mechanisms inside of Rasa that drive the Conversational AI.
NLU
NLU stands for natural language understanding. In the context of Rasa we're usually talking about the part of the system that accepts raw text that goes in and machine-readable information that goes out. That usually means that it's the part that accepts text and can turn it into intents and entities.
This can be rule based, in which case we may be using a Regex or it can be based on a neural network. Rasa comes with a neural network architecture, called DIET, that sorts texts into intents and entities based on examples it's been provided.
Rule based approach tend to be more lightweight and require more domain knowledge to get right. Neural approaches tend to require more training data and compute power but they're very good at handling thigns they haven't seen before.
Dialogue Policies
When we talk about Dialogue Policies we're referring to the part of the system that predicts the next action to take. The next action isn't just determined based on the current intent, we typically need to know about the entire conversation so far.
Policies can again be based on rules or on neural methods. Rasa allows you to define your own lightweight rules to define what needs to happen. But in order to allow for generalization Rasa also provides a neural network called TED that picks the next best turn based on the conversation so far and all the conversations that it trained on.
At Rasa we recommend using both rule-based approaches and neural methods in tandem.
How to make Conversations Work
The Rasa approach is flexible, but it works better the more high-quality data you have. That means that you'll want to manually review and annotate conversations as you're building your assistant. You should spend enough time to correct any errors your assistant makes in a conversation such that your assistant can learn it's mistakes.
We call this process of working "Conversation-Driven Development".
A Rasa assistant can make use of both approaches, but the neural methods are at the core of the framework.
Links
Exercises
Try to answer the following questions to test your knowledge.
- What's the difference between the NLU system in Rasa and the Policy system in Rasa?
- What are the practical differences between rule-based methods and neural methods?