Chatbots overview
One of the many trending topics of 2017 was AI-driven chatbots. There are various opinions on the subject, ranging from completely useless stuff, to an absolutely brilliant idea, but one thing is hard to question: chatbots open up new ways for people to communicate with computers which are much more human-like and natural than the old-style interfaces that we are all used to.
At its core, a chatbot is a computer program that uses natural language to communicate with other parties (humans or other computer programs) in a form of dialogue. There could be lots of different forms of such a scenario, namely one chatbot talking to a user, or many bots talking to each other, and so on. For example, there might be a technical support bot that can answer free-text questions from users. However, usually chatbots share common properties of a dialogue interaction (the user asks a question, but the chatbot can ask clarifying questions to get the missing information) and a free...