Machine learning is the name of a set of techniques that fall within the field of artificial intelligence although there are opinions in favor of framing it within the field of statistics. In these techniques the computer learns through examples and learning is used to solve new cases that arise.
One of the most frequent uses of machine learning is to address natural language processing (NLP). In this field it is considered that NLP by machine learning is a complementary technique to the so-called computational linguistics. Both have the objective of analyzing natural language but while NLP does it statistically, computational linguistics does it by analyzing the structure of sentences.
These techniques are especially used in conversational bots (chatbots) since the interface of the chatbots does not have the elements that characterize the graphic interfaces (drop-down menus, buttons always available on the screen, dozens of options always accessible) to communicate with the user, but the interface is the conversation itself. To prevent the user from having to force their language and talk to the chatbot in the form of "commands" NLP techniques are used in such a way that the user tells the chatbot what he needs in the way he wants, and it is the chatbot who tries to translate the user's phrase into a script typical of software programs.
The plugin that we offer uses one of the statistical techniques to interpret the natural language of a user, specifically the technique called "Naive Bayes Classifier". This technique requires the definition of "classes", that is, concepts that interest the Bot and each of these classes must be "trained" with phrases that correspond to said class. Once trained these classes the classifier will be able to indicate the class to which corresponds what the user is saying.