What is a chatbot?
A chatbot is a tool which automates conversations between website visitors and companies. It’s based on the two parts: “chat” and “bot”.
The “chat” is the user interface which enables a (natural) dialog between the customer and the company. Typically, these interfaces enable the communication between humans (human-human dialog, also known as live chat).
The “bot” describes the automatization by software. Instead of operators, a machine processes the requests.
This results in human-machine communication. With the combination of chat and bot, we have a tool that’s always available for customer communication, is scalable, and provides consistent responses to all users.
Natural Language Processing
In recent years, chatbots have gained momentum. The technical background of chatbots is Natural Language Processing (NLP). A research field which is decades old.
The Wikipedia article about NLP is a good entry point to get a first overview of the topic.
We introduce the most important terms here:
Natural Language Understanding (NLU): NLU converts text (phrases) to a formal representation, which is processable by machines. It links natural language to semantics.
Natural Language Generation (NLG): Is the process of converting information from machines into human readable text.
Intent: An intent is the goal the user wants to reach with a given phrase. Multiple phrases can have the same user intention and therefore map to the same intent. Intents build the basis of semantics a chatbot can understand.
Entities: Entities are “objects” within phrases. These can be physical objects, like e.g. house, but also descriptive things, e.g. a color.
Core principles of an AI chatbot
AI chatbots enable the user to ask questions in their own natural language. From these phrases, chatbots predict user intention.
To do so, they are trained with example phrases and the corresponding intention. The AI learns a model for this prediction. This enables the AI to understand user intention, even for unseen phrases.
Given the intention, an AI chatbot can process tasks, ask for further information, and provide a response to the user. The response can be text, image, link or whatever is suitable for the given case.
An AI chatbot does not generate any responses itself. It must be guided by a human which provides content that the AI chatbot uses as response.
To improve the system, it requires real world training data. This is why while in use, real phrases should be labelled (assigning the intention) and the system retrained to improve over time.