Most chatbot solutions use Supervised Machine Learning—where you have input variables (x), an output variable (y), and an algorithm is used to learn the mapping function from one to another.