Reputation: 1242
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
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