Communication has been the essence of life from the beginning of times. With the evolution of technology, mode and style of communication have also evolved.
In the early days, conversations were restricted to verbal and textual interaction between humans. These interactions are usually guided by emotions, context, and awareness of the previous conversation. With the advent of computers, interactions have now expanded to include machines i.e. human-machine interactions. The transition from a command-based interface to a graphical user interface (GUI) to a conversational user interface (CUI) was natural, need-based and this transition made communication easier.
With CUI, came chatbots which could interact with the users in a natural language. Further enhancements using Artificial Intelligence and NLP capabilities enabled a chatbot to understand user utterance in the natural language and derive the task from the user utterance as well extract the information required to successfully execute the task.
What are Conversational Bots
A Chatbot can be defined as a virtual assistant that acts as an intelligent intermediary between people, digital systems and Internet-enabled things. It replaces the traditional graphical user interfaces (GUIs) of an application or website with a “Conversational User Interface”. It is a paradigm shift from the earlier communications achieved either by entering syntax-specific commands or clicking icons.
Chatbots can be designed to chat with people through a mix of natural language-based conversations, and responses can come in the form of buttons, calendars or other widgets that accelerate the speed with which a person can respond.
One of the first stepping stones to this future are AI-powered messaging solutions or conversational bots. A conversational bot is a computer program that works automatically and is skilled in communicating through various digital media—including intelligent virtual agents, organizations’ apps, organizations’ websites, social platforms, and messenger platforms. Users can interact with such bots, using voice or text, to access information, complete tasks or execute transactions.
So what makes the Conversation Bots so special? This in a nutshell:
What are Intents & Entities
Every Conversational Bot faces three challenges:
- Understanding what the user wants – Intent Detection
- Extracting the required information from the user to accomplish what the user wants – Entity Extraction
- Accomplishing the user wants – Conversation/Dialog Flow.
Whatever user says is considered as an Utterance. It is the task of the Conversational Bot to extract from this user Utterance the Intent and the Entities essential to carry a conversation. For the rest of this article, we will consider the following user utterance: “I want to fly to London this weekend”
An Intent is the user’s intention. It usually comes in the form of a verb or noun within the user utterance. From the above user utterance, a conversational bot will understand the user intent as “want to fly” and will trigger the corresponding dialog task.
Entities are pieces of data or information that the Bot requires to complete the task as identified in the user Intent. There can be multiple entities in various formats that are required by the Bot. These can be as a part of user utterance or the Bot needs to prompt the user for the entity values. For example in the above user utterance, “London” and “this weekend” form the values for the entities Destination and Travel Date respectively. As you can notice, the “Source” entity value is missing and the Bot needs to prompt the user for the same.
How to build Intelligent Bots
Bots aren’t smart by default. They are made capable of showing some level of artificial intelligence by leveraging technologies like machine learning, big data, natural language processing, etc. A chatbot is intelligent when it becomes aware of user needs, understands the user perspective or context and responds according to the user’s mood or emotion. Its intelligence is what gives the chatbot the ability to handle any scenario of a conversation with ease.
The key for a conversational bot to understand humans is its ability to identify the intentions of humans and extract relevant information from the user utterance and map the relevant action/task against that utterance. NLP (Natural language processing) is the science of extracting the intention(Intent) of text and relevant information(Entity) from the text.
Managing dialogs to keep track of multiple conversation threads, remembering the context and responding to the user tone or sentiment helps in giving the much needed humane touch to the conversation and at the same time serving the user with accurate and appropriate responses.
Another aspect that helps build an intelligent Bot is having a Knowledge Base. This gives the Bot an ability to respond to frequently asked questions that return static responses. Building Knowledge Collection is an attempt to represent entities, ideas, and events, with all their interdependent properties and relations, according to a system of categories. This structured categorization of data will aid the Bot in answering user queries effectively and with ease.