Step 1: Understand the Rasa Stack

The Rasa Stack is a set of open source machine learning tools for developers to create contextual AI assistants and chatbots:
  • Core = a chatbot framework with machine learning-based dialogue management
  • NLU = a library for natural language understanding with intent classification and entity extraction

NLU and Core are independent. You can use NLU without Core, and vice versa. We recommend using both.

Lets start with an example. Imagine you’ve built an AI assistant that makes doctor appointments. At the beggining of the conversation, you ask your user What are you looking for? and they respond with I need a GP in 94301. Now it is time for the Rasa Stack to get to work:

rasa stack
  1. NLU understands the user’s message based on your previous training data:
  • Intent classification: Interpreting meaning based on predefined intents (Example: I need a GP in 94301 is a find_doctor intent with 93% confidence)
  • Entity extraction: Recognizing structured data (Example: GP is a doctor_type and 94301 a zipcode)
  1. Core decides what happens next in this conversation. It’s machine learning-based dialogue management predicts the next best action based on the input from NLU, the conversation history and your training data. (Example: Core has a confidence of 87% that make_appointment is the next best action to confirm with the user if they want to change their primary contact information).