NLP - Natural Language Processing is the use of grammar and syntax to identify the different word types within the structure of a sentence. Eg - find the verbs, nouns, pronouns, adjectives, etc. Few developers will write their own “engine” and one assumes there are several public ones from places like MIT and Berkeley. Meanwhile most independent chatbot development uses some kind of NLP engine - homemade or borrowed from the public domain.
Starting with an engine (that translates unstructured text into structured words) there will be different chatbot development tools built on top the engine. Some chatbots require NLU (natural language understanding). I am not aware of what is available in the public domain for this.
I think NLP as a waste of time. You can go straight to NLU and have the same problems to solve whether the input is unstructured or structured.