I have a chatbot that uses DF to match the user query to the intent. The backend is built in Python and the frontend in React.js, everything works fine. However, I would like to return a top 3 matches when the confidence is under a certain threshold, say 0.7. As is my understanding this is not possible in DF, so I'm looking for other options. Via this post I found Rasa as it is open source and would be pretty straightforward to implement as it had a simple tutorial as to how to migrate from DF.
So, when I follow the tutorial I get the error message Path 'data' doesn't contain valid NLU data in it. Please verify the data format. The NLU model training will be skipped now.
when doing the rasa train nlu
step.
I found that a common problem is that the 'responses' in the exported json files doesn't exist and adding 'responses' = []
to the json would solve the issue, but in my case I still get the same error. I think this is the case because i dont have responses in my intents but i link the intent to a database from where i get my response.
Is there a way to use the training examples and the intent name and train a Rasa nlu model, or does anybody have a script to convert the DF json files to rasa's yaml file format? (the rasa convert script also returned the same error)
Or is there another, easier way to obtain the top 3 intent matches that I could try?