I have designed a chatbot system in which we allow users to create their entities and intents (using phrases). At runtime the user input is matched against all the training phrases to derive at the intent that should be processed. I want to understand where and what is the role of a NLU engine over her.
A chatbot often contains 3 components, Natural Language Understanding, Dialog Management, and Natural Language Generator.