Chatbots, as their name suggests, are a combination of chats and bots.
By bots, we mean software designed to automate actions. Bots have been around us for quite some time; for example, they are used in phone support systems and even video games.
As chats are a communication between two or more people, chatbots are a computer program designed to "simulate" conversation with human users.
The interaction between users and the machine is using text, voice, graphical interfaces or graphical widgets.
“How can a chatbot understand us?”
In general, they are based on Natural Language Processing (NLP), a field of Artificial Intelligence that studies the interaction that takes place between people, using written and spoken language, and computer systems.
Artificial intelligence (AI) allows Chatbots to be flexible in terms of the user input they can accept. AI also allows them to improve the more that they are used.
However, there exists another type of chatbots, where there's no need to add the complexity of AI. These are Scripted Chatbots.
Today, most chatbots are either accessed via virtual assistants, via messaging apps such as Facebook Messenger or WeChat, or via individual organizations' apps and websites. Chats are used in many fields, such as customer support, education, entertainment, finance, food, games, health, travel, etc, etc.