Question 1: Is there a way to add entities dynamically using python or any other language ? (Painful for manually creating entities for huge data)
Question 2: Rasa model utters correct responses only when user give’s exact question from training data and utters different responses if there is any little manipulation in same question? So how can I improve nlu confidence to recognize same intent( however the user ask’s question, Bot should provide exact response)
To your second question: The best way to improve nlu predictions on unseen data is to improve (add to) your training data, preferably from real user input. The more examples there are to learn from, the better the model will generalise. How many examples do you have for the intents you wish to improve?
To your first question - when you say “add entities” do you mean annotating entities in existing NLU data? Could you give an example?
@Yeshwanth_mandla
Your model would definitely benefit from more examples then - if you can source them from test users or using interactive learning, even better.
Short answer on the entities - no, you need to annotate them manually if you want them to be reliable.
Slightly longer answer: you could write a script to find and annotate some specific word or sequence of words, but then
you are assuming that that word/sequence of words should always be annotated as an entity, and will not vary (e.g. what about rasa_nlu or RASA Nlu?) and
you’ll still have to manually define which sequences should be annotated.
In my experience this is not worth it.
It sounds like you’re still early in the training data collection phase, I would recommend annotating your entities manually as you go.
@muralidharand
One way you can add alternative questions is using Interactive Learning. If you mean a way to do this automatically (without having a human write them) then no, that’s not possible with Rasa. It is best practice to generate training data from real conversations to prevent overfitting on training data that might not be representative of what real users say.
Thought of one more thing: If you have entities whose scope is well defined (e.g. employee names, currencies), you can also use lookup tables to improve entity extraction. You still need to annotate all your entities manually, but this should help the extractor pick them up better