How will this bot know what to respond to our users?
There are two main types of machine learning algorithms, supervised, and unsupervised. The most common one is the supervised machine learning. It means that we feed a learning algorithm with sets of questions and answers, and after some type of learning processing, the algorithm will produce a trained model that will be able to predict the best possible answers for any unique questions that we ask.
Here is a very basic example that describes the idea of supervised learning:
Let's say we have a dataset of houses that have the size of the house in sqft for a question and the price of every house for an answer. If you plot the data on the x and y axis, it may look something ...