I have been hitting a road block in trying to create a chatbot with Rasa that scales and generalizes well.
I have two functionalities and a few extra intents (bot challenge, abilities, unsupported etc).
I started creating the bot without forms and FormActions. I ended up with 35 stories, but it got confused between the two core functions. I rewrote many of the stories to add form actions, but it didn’t really solve my problem. After a few rounds of interactive learning I am at 54 stories and there are still problems in some cases with following the right path. Moreover, I have to test many examples each time since after adding new stories to fix some problems, previously functioning examples stop working.
I need to find a more successful way of creating story data that generalizes well if I want to move from 2 functionalities to tens of functions.
I’m currently using Rasa OSS 1.10 and since adding forms didn’t help and I had a very unpleasant experience with 2.0 when trying it, I’m hesitant to use doing all the migration to 2.0 and using rules.
One problem comes in when interrupting the form of the prediction.
In action_retrieve_prediction and action_retrieve_description the product number is checked against a list of correct values. In case it is not valid, a list of options is given to the user. Following this route lead to many of the confusion between the actions afterwards. Would you advise against such a feature?
Thank you again @Ghostvv for answering, and sorry for taking so long to respond. What I meant is that if the bot gives the menu after the the user asks for it or it is determined that it is not a valid product number, the bot sometimes continues with the wrong action.