Explore Courses Blog Tutorials Interview Questions
0 votes
in AI and Deep Learning by (50.2k points)

I tried to understand about rasa from the official documentation of Rasa core and Rasa nlu but not able to deduce much. What I am able to understand is

Rasa Core is used to guide the flow of conversation while Rasa nlu is to understand and process the text to extract information (entities)

Second thing, there are examples to build a chatbot in Rasa core as well as Rasa nlu both can be used to build chatbot but couldn't understand what's the difference in two approaches and when to follow which one.

Could you please help me to understand in a better way.

1 Answer

0 votes
by (108k points)

In simple language, the Rasa Core handles the conversation flow, utterances, actions, and Rasa NLU extract entities and intents.

Rasa NLU: It's the interpreter who understands the input. Basically figures out entities and labels the intent.

Rasa Core: It does the rest of the work you want your bot to do. The flow of conversation is the most important thing.

eg: You say "Hello" to the bot. Rasa NLU will understand the input's intent as a 'greeting' and Rasa Core will tell the bot to reply with a greeting.

About your second question:

The first example shows the entire workflow to create the bot, it shows how to set up the domain and the stories. Those are features from Rasa Core. At item 2 on this example (called Define an interpreter) the author explicitly said he is making use of Rasa NLU as the interpreter (but you could be even using another entity extractor framework).

The second example (the Rasa NLU one) shows how to train the entity and intent extractor only. You don't have any information about domains and stories, no information about the conversational flow, it is a pure NLU example (even though he is using the default run method from Rasa Core to run the bot).

Hope this helps!

Browse Categories