What is a Chatbot?
A chatbot is a computer program that allows a machine to imitate human conversation through text, speech, touch or gesture.
Different chatbots have varying degree of intelligence. A basic chatbot can be a solution to answering FAQs, while chatbots built using some current bot frameworks might offer more services like placing order, time slotting, making simple transactions etc. But the AI chatbots steal the limelight as they are the ones that have the intelligence and capability that can deliver trailblazing services that various industries are looking for.
NOTE: In this blog the words bots and chatbots are used interchangeably.
Before we move further with chatbots let us take a look at its history.
Though chatbots have gained popularity recently, the idea of chatbots are as old as computing itself. Chatbot is a short form for the term “chatterbot,” which was coined by inventor Michael Loren Mauldin in 1994. He developed the prototype of the chatterbot "Julia" in 1994. This prototype version was refined and developed in 1997 and a stand-alone virtual person called Sylvie, was beta-tested to the public. It was well received by public and after several versions, the Verbally Enhanced Software Robot—or, Verbot was deployed in the year 2000.
You would be surprised to know that the first ever chatbot was created when the term chatterbot was not even coined. Yes, the very first chatbot was ELIZA created by Joseph Weizenbaum at MIT in 1966. ELIZA was designed to imitate a therapist. To Weizenbaum's
surprise many people who got to interact with ELIZA (including his own assistant) developed feelings for it, so much so that they refused to believe it wasn't a machine. ELIZA is considered to be the first program to pass the Turing test ( a test of machine's ability to portray intelligent behaviour similar to humans). It laid the foundation for modern day chatbots. After ELIZA a number of chatbots have been created some of the more prominent ones are:
PARRY (1972), created by Kenneth Colby
Jabberwacky (1988) created by Rollo Carpenter, the chatbot was designed to “simulate natural human chat in an interesting, entertaining and humorous manner”, or to simply act like Jabberwacky from the book "Alice in wonderland",
A.L.I.C.E. (Artificial Linguistic Internet Computer Entity) (1995),
Elbot (2000) created by Fred Roberts and Artificial Solutions, it uses sarcasm, witty remarks and irony to entertain humans.
Smarterchild (2001) created by Robert Hoffer, Timothy Kay and Peter Levitan, it was considered a precursor to Apple’s Siri and Samsung’s S Voice.
Mitsuku (2005) created by Steve Worswick, it impersonates a teenage female from England and can play games and do magic as well.
More recent and developed chatbots which we are familiar with are IBM Watson (2006), Siri (2010), Google Now (2012), Alexa (2015), Cortana (2015) etc.
Why are chatbots important?
In recent years with the advent of technology, a large number of services are available to everyone globally. This makes the businesses data heavy. Keeping track of such a large database and providing the relevant solution in time is not humanly possible.
Walking the way through complicated menus isn’t the fast and effortless user experience needs to be delivered by businesses today. Also, consumers don't want to be restricted in availing services due to the limitations of an organisation. They want to have an interface with technology across a wide number of channels.
This is where chatbots come in. They can perform several tasks quickly and more efficiently than their human counterparts. For example checking the weather, ordering a pizza or hiring cabs can be done more efficiently with chatbots. Chatbots lets customers to simply ask for whatever they need, across multiple channels, wherever they are, night or day. Moreover, businesses can use chatbots to automate tasks such as inventory ordering and management. They can be used to provide enhanced customer services.
How do they work?
Chatbots work by analysing the intent of a user's request to provide relevant solutions.
If voice is used instead of a text to communicate with a chatbot, it first converts the voice input into text form using Automatic Speech Recognition (ASR) technology and then after processing the text it delivers the solution. The solution can be in any form: text, voice ( by using Text To Speech (TTS) tools, gesture or it can be indicated by completion of a task.
We all know that machines can only understand binary language i.e. combinations of 1 and 0. Therefore, to interpret the texts in the right sense the chatbots make use of several methods of classification which are as follows:
Natural Language Processing (NLP) It is a branch of artificial intelligence that helps chatbot to understand, interpret and manipulate human language. It converts the user input into sentences and words. It also processes the text through a series of techniques, for example, converting it all to lowercase or correcting spelling mistakes before determining if the word is an adjective or verb. Natural Language Processing (NLP) comprises of the below steps:
Tokenization –The NLP filters set of words in the form of tokens.
Sentiment Analysis –The bot interprets the user responses to align with their emotions.
Normalization –It checks the typo errors that can alter the meaning of the user query.
Entity Recognition –The bot looks for different categories of information required.
Dependency Parsing –The chatbot searches for common phrases that users want to convey.
Natural Language Understanding (NLU) It is a subtopic of natural-language processing in artificial intelligence that deals with machine reading comprehension. It helps the chatbot to understand what the user is trying to say using language objects such as lexicons, synonyms and themes. These objects are used in algorithms to produce dialogue flows that tell the chatbot how to respond. NLU is the process of converting the input text into structured data that can be worked upon by the machines to produce results. It follows three main concepts: entities, context, and expectations. Entities – represents the sub units of a request which may contain key information. Common examples of entities include locations, names of organisations, and prices. Context – when a natural language understanding algorithm identifies the request and it has no historical backdrop of conversation, it will not be able to recall the request to give the response. Therefore, an algorithm components designed to learn from sequences is used to provide a context. Sentences are sequences in the sense that order matters and that each word is used in the context of the other words. Thus, understanding a sentence properly involves understanding how each word relates to others. Expectations – chatbot must be able to fulfil the customer expectations when they make a request or ask a query customer say sends an inquiry.
Natural Language Generation (NLG) It is a sub unit of artificial intelligence. It is a software process that automatically transforms data into plain-English content. It enables the chatbot to analyse data repositories, including integrated back-end systems and third-party databases, to use that information in creating a meaningful response. .
Types of Chatbots
There are a lot of chatbots around these days. They come in different shapes and sizes and can serve a variety of purposes. They can be broadly classified into two categories:
Linguistic Based (Rule-Based) Chatbots
These types of chatbots are created based on a certain prewritten set of rules. These set of rules follows a basic 'if' and 'then' logic. These are the most common types of bots, which are widely used. These types of chatbots are used in cases where the questions and their answers are known in advance and to automate them to check the quality of a system based on several tests . These can be fine-tuned to serve a specific purpose. They can be programmed (using NLP) to analyse the order of words and synonyms in a question and to respond with the same answers to questions that carries similar meaning.
The drawback of these types of chatbots is that they can be very rigid and works well only if the input is specific and corresponding to their set of rules. They are slow to develop and are highly labour-intensive. Also, they are not able to mimic human conversations well enough.
One example of this type of chatbot can be seen on this website as well, in the bottom right corner of the screen where an icon says "we are here!"
Machine learning (AI Chatbots)
These types of chatbots make use of artificial intelligence and are more complex. They tend to produce response by analysing data and making predictions. They are more conversational, personalised, interactive and spontaneous. They are closer to mimicking human conversation, and with enough time and data they grow more aware and are able to understand the context of input sentences. They can make predictions to give a customized experience to users. It learns from patterns and past experiences.
The drawback of such type of chatbots is that they require a tremendous amount of data and hours of training to perform even a simple task. It requires highly skilled people to work on such bots. In case something goes wrong with the model it can be very troublesome to rectify it. These are not cost-effective and thus are not relevant to many industries.
There is also a rise in Hybrid chatbots that use both the linguistic and the machine learning approach to overcome the drawbacks of both.
Apart from the above mentioned categories we can also classify chatbots based on functionality and usage, let us discuss them:
Menu/Button based chatbot: It is one of the simplest form of chatbots. It has some predefined options available. Users just have to choose from the available options. It is quite straightforward to use such chatbots. If your query is not present in the predefined options then the chatbot won't be able to help you. It is constrained to certain question-answers only.
Keyword recognition based chatbot: It is more advanced than the type mentioned above as it utilises NLP to give a better service. When a user asks a question, the question is analysed using NLP, it is matched against keywords and a suitable response is delivered. They don't work well when a lot of similar questions are asked which causes keyword redundancy.
Contextual Chatbot: These types of chatbots overcome the drawback of the previous mentioned types as they utilise artificial intelligence to find the context behind the questions instead of jumping to predetermined answers. It stores up unique searches from various users and will refer to this information to provide an apt response in future. In simple words these chatbots remembers previous conversations and provides answers keeping them in mind to offer a better service. They are smart and have the ability to self-improve.
Voice-based chatbot: The name is self-explanatory. These types of chatbots take voice of the user as an input rather than typed inputs.
Service chatbot: These types of chatbots are service oriented. They ask questions regarding the user's needs and provides necessary information. These are popular in service based industries for example airlines, customer support etc.
Social messaging chatbot: These types of chatbots can be integrated with social media platforms like Facebook Messenger, Whatsapp, Telegram etc. They enable users to clarify their doubts specific to a social media platform. They help in reducing the efforts required by the users.
The above mentioned types are just a few examples. The chatbots can also be classified in a lot of other categories.
Moreover, when we are discussing the types of chatbots we should also take a look at one more set of categorization which is based on the ethical use of chatbots: the GOOD and the BAD chatbots. While there are so many positive aspects of having chatbots around there are also a few negative ones.
The bots which are used for the benefit of mankind are termed as good bots.
A few examples of it are: Chatbots, Crawlers, Transactional bots, Informational bots, Entertainment bots: Art bots, Game bots etc.
Whereas the bots used for causing harm are termed as bad bots.
A few examples of it are: Hackers, Spammers, Scrapers, Impersonators.
As a matter of fact, we can't really say that the bots are bad because it is us humans that program the bots to act in a certain way. One of the main drawback that comes from the introduction of bots in the industries is that more people are losing their jobs.
With the advancement of technology the day isn't far when we will have a companion like Jarvis from The Iron Man.
For any guidance on above mentioned topics, feel free to contact us on firstname.lastname@example.org.