Chatbot

October 16, 2019
By Botpress Team

“Chatbot” is the name given to a bot that can chat with a human.  A bot is a software version of a physical robot, i.e. software that is programmed to operate as some sort of agent to get a task done.

In the case of a chatbot, the bot is programmed to communicate with a human in a conversational way, i.e. also known as chatting.

Chatbots chat with humans via a chat application such as Whatsapp, Messenger, Twitter or Webchat.

The chatbot is programmed to understand natural language that is either written or spoken.  The current state of the technology allows the chatbot to understand one off commands very well but it struggles to “understand” and therefore participate in more complex dialogs.

To understand natural language chatbots are required to implement Natural Language Processing (NLP) algorithms.  These algorithms are trained on a large amount of text in a given language (such as on the whole of Wikipedia) and then use this training to work out whether two different phrases mean the same thing.  

NLP uses machine learning, specifically neural network algorithms to perform the task of understanding the language.

Chatbots can either understand text of speech.  For a chatbot to understand speech, they require additional functionality, such as speech to text translation.  This requires another set of machine learning algorithms to convert the spoken phrases into text so that they can be processed by the NLP algorithms in the normal way.

The most well-known chatbots are Alexa and Google Home.  These are voice-driven chatbots that can respond to a wide range of questions and commands.  Anyone who has used these devices can tell you however that their capabilities are limited and they are far from being able to participate in anything close to human dialog.

They do however demonstrate that chatbots can outperform humans in certain cases.  For example, it’s faster in many cases to ask these devices for information than to search for the information on a graphical interface.

While chatbots are only now surpassing human performance for these limited use cases, it is clear that this will become a very important software interface.  The reason is simple, as Gary Vee has noted, humans prioritize convenience and speed over everything else, and it will not be possible to beat a chatbot for convenience and speed.  

At the point that it is possible to converse with a chatbot in a similar way to a human (even within a restricted scope), it will be much more efficient to instruct the chatbot to do something than to do it yourself through a graphical interface.  

Imagine giving the following instruction to a chatbot:

“Book me a meeting with Tom tomorrow when there is a free slot in my calendar after 10 am and send him an Uber to pick him up for the meeting.”


This simple instruction would take a human at least a few minutes to organize but could be organized by a bot instantaneously delayed only by Tom’s delay in responding.

It is not hard to think of examples for all the functions chatbots will perform.  All you need to imagine for a given task is whether you could delegate it in a few words to a human personal assistant.

The top use case for chatbots currently is customer service.  The chatbot is trained to answer simple repetitive questions and escalate harder questions to human agents.

While people typically imagine chatbots as being AI-driven and intelligent, there are chatbots that are scripted.  These chatbots are completely mechanical.  At each step in the conversation, they give the user a limited number of options to choose from and then determine the next step by the option chosen.  The next step will also have a limited number of options for the user to choose, and so on.

Scripted chatbots can be very useful in some cases because they are very easy to use.  In fact, in some cases, scripted chatbots can be preferable to using a website even if the bot implements exactly the same choices as the website.  It’s easier to use than a website because it progresses step by step and is guided.  Even an easy to use website, on the other hand, offers the user many choices at the same time and the user needs to expend mental effort to click on the precise widgets they need.

Chatbots are set to become part of the fabric of life.  People will be able to speak to anything in their environment and any software they use.  That is not to say that chatbots will replace the graphical interface.  For the majority of tasks, especially complex tasks, the graphical interface will be better than a voice interface for many reasons, including that a graphical display is also a much better way of communicating information than the spoken word.

It will be possible to improve some graphical interfaces by adding voice capabilities.  It is also the case that a voice interface on its own will be better than a graphical interface for many use cases.

Chatbots are simple software agents that are destined to be used all the time on a daily basis by the majority of people.


Disclaimer: We encourage our blog authors to give their personal opinions.  The opinions expressed in this blog are therefore those of the authors. They do not necessarily reflect the opinions or views of Botpress as a company.