Arti Berde
Arti Berde

Reputation: 1242

What is the difference between rasa core and botkit framework in terms of flow of conversation?

I am learning bot development using rasa. I took simple banking system use-case in that. Below is short flow:

I want to apply for loan
                Home loan   Car Loan   Personal Loan

**User comes again after some days**

                Hey, you inquired about the loan previously, what is the status?
Bought from another bank
                    Which bank?
Axis Bank
                    What interest rate did you buy the loan at?
5%

Suppose user asked "I want to apply for a loan" so I can classify intent and extract entity and accordingly reply to the user. But if the user said "Axis Bank", how should I keep track for which question he replied as "Axis Bank" and what will my next question or answer be?

I searched for "How to keep track of conversation state?"

I came across [https://github.com/RasaHQ/rasa_nlu/issues/303][1] this link In that they mention

I don't think that should be part of RASA's goal IMO: NLU is by itself a very large and complex topic to handle. But you can use a specific framework for that like botkit.

But in rasa-core there is a slot option (Information to keep track of during a conversation (e.g. a users age))

In below link mention Difference between Rasa core and Rasa nlu

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

Could somebody help me understand the difference between rasa-core and botkit in terms of the flow of conversation?

Upvotes: 4

Views: 2711

Answers (1)

Ed Y
Ed Y

Reputation: 143

RASA and botkit aren't the only options, you of course also have (to name but a few developer friendly options) IBM Watson, MS Bot Framework (or botbuilder as they call it now), of which v4 is being developed in Open Source.

What makes RASA Core stand out is it learns what to do next based on the intent and current state of the conversation. With the others, you are expected to script the flow (or you have to build a data structure that can hold the flow which others can populate).

Which way you would go depends on how much conversational data you already have and how complex your bot will be. For a simple bot, it would be quicker to use a scripted flow. It's when it gets big that your script bot will be difficult to scale.

This are a couple of good articles that I read when I was learning about RASA. https://medium.com/rasa-blog/a-new-approach-to-conversational-software-2e64a5d05f2a

https://medium.com/@harjun1601/building-a-chatbot-with-botkit-and-rasa-a18aa4d69ebb

Upvotes: 8

Related Questions