Hi, I am looking for a solution for the following project: I want to create a chatbot based on a decision tree. The user should be recommended the right product from a product catalog on the basis of specific questions (nodes in the decision tree). Every product has constraints.
My first attempt was to define a story for each individual path in the decision tree. Basically it worked well, but it is not intelligent enough because the order of the questions cannot be changed. The user may already answer a question at the beginning that will be asked in the tree much later. The order of the questions should therefore not be fixed. It should also be possible for the user to answer several questions in one text so that questions can be skipped.
So my next thought was “Rasa forms”. The constraints can be specified via the required_slots. The order is no longer fixed. Unfortunately, I have not found a good solution either, because various questions are not necessary on certain paths and do not make any sense. The required_slots would have to be somehow dynamic and I would have to be able to break out of the form-loop at the right moment when a target product fits.
These considerations have been worrying me for days and I don’t see a good solution at the moment. That’s why I’m asking here.
So it should be a conversational AI that intelligently asks as few questions as necessary based on a decision tree and gives the user the product that fits the requirements.