Architecture of a chatbot - how to organize and fetch possibilities?
When Building AI and ML for you Chatbot, you basically have 2 options:


You can use a 3rd party tool which will take care of the
AI/Conversational part of the Chatbot.
You can make your own using Machine Learning.Overwhelming, but quite
a few developers are choosing to go this route and many companies
are trying to democratize Machine Learning.


You can build your own NLP(Natural Language Processing) by using Machine Learning. One of the first things to consider will be the type of model you want to build. 

Using an NLP/NLU Platforms: Natural Language Processing (NLP) and Natural Language Understanding (NLU) platforms attempt to solve the problem by parsing language into entities, intents and a few other categories. Different NLP platforms may have different names however the essence is moreso the same.

Categories:


Agents correspond to applications. Once you train and test an agent,
you can integrate it with your app or device.
Entities: represent concepts that are often specific to a domain as a
way of mapping natural language phrases to canonical phrases that
capture their meaning.
Intents represent a mapping between what a user says and what action
should be taken by your software.
Actions correspond to the steps your application will take when
specific intents are triggered by user inputs. An action may have
parameters for specifying detailed information about it.
Contexts are strings that represent the current context of the user
expression. This is useful for differentiating phrases which might be
vague and have different meaning depending on what was spoken
previously.


NLP Platforms:


API
WIT
LUIS
Microsoft Bot Connector


Reference :


NLP &amp; Machine Learning Tutorial
Chatbot AI Tutorials
Machine Learning in a Year
Neural Networks for Machine Learning
You Too Can Become a Machine Learning Rock Star!