A chatbot is a software component interacting with its users through a conversation. This conversation can be very simple, consisting of a chatbot question followed by the user’s response, formulated through a messaging system, and framed by the use of menus and lists. It can also be very complex and built on questions formulated as freely as possible in natural language and combining several threads of conversation. The responses of the bot are then varied and adapted to the questions. These bot types use advanced artificial intelligence techniques for natural language processing, language generation, and speech recognition.
The conversation can also implement in addition to the text, graphic elements in the case where the exchange channel supports it. With some messaging platform, we can then use buttons, menus to guide the user’s answers but also images, carousels to present information more suited to a visual than textual rendering.
A chatbot or conversational agent is therefore a human-machine interface module built on the paradigm of the conversation. It is a sequential exchange made of questions emitted by the user and answers returned by the chatbot.
An important and distinctive feature of a conversational agent is its exchange channel; that is, the medium used to support the conversation with its user. They can be classified as follows:
- Messaging (facebook messenger, slack, Teams, Skype, etc.)
- Integrated Messaging to a site
- Mobile apps
- Vocal assistants (Google Home, Amazon Alexa, etc.)
- Robots (pepper, nao, buddy, etc.)
- Interactives terminals
As much to mention it immediately, the vocal feature brings its lot of complexity because by getting closer to the free natural language, it adds a layer of speech recognition necessary to transform the sound into a character string usable by a computer. This transformation then brings recognition errors that can complicate the understanding of the sentence stated by the user. This point is particularly present when using terms or acronyms specific to a trade or a task and without equivalent as a word of the language used for the conversation.
History of chatbot
Before getting into the heart of the subject, let’s take a look at the past to see that talking to a computer is an old dream of a computer scientist. Science fiction has staged this subject for a long time as evidenced by Robby, the robot appeared in the 1952 movie Forbidden Planet. He became a cult figure of the cinema of that time and had many features that are still unaffordable today like to speak 187 languages and dialects.
Ten years later, Joseph Weizenbaum is developing ELIZA, a program that can simulate the responses of a roger psychotherapist in a conversation with one of his patients. This method of psychotherapy lends itself well to this kind of simulation, because the psychologist simply bounces on key terms stated by the patient, or if he does not find, relaunch the conversation on one of these key themes (family, work, friends, etc.) that are the essence of life. ELIZA strives to make her speaker speak more than she speaks herself. It was a success and some interlocutors found comfort in being able to “talk” to ELIZA even though he did not pass the Turing test.
This test established by Alan Turing in the 50′ s is somehow the test of artificial intelligence. To succeed in this test, a computer program must be indistinguishable from a human being during a conversation. The test protocol consists of a member of the jury who, through a messaging system, exchanges with an interlocutor who can be human or machine. At the end of the conversation, he must judge and decide whether he has conversed with a human. Since 1991, the Loebner Award has been an annual competition to reward the best conversational agent in his attempt to pass the Turing test.
ALICE, the successor of ELIZA won 3 times this prize in the early 2000s without being able to pass the Turing test. He introduced, however, AIML, a description language for the description rules of a conversation, a sort of specification of a chatbot’s speech.
In 2014, at a competition at the Royal Society of London, the Eugene Goostman program, which simulates a 13-year-old Ukrainian teenager, managed to deceive 33% of the jury in a 5-minute conversation. Even if the test is not fully achieved, this is a sign of the significant progress made in the fields of speech recognition and language comprehension. Thus in 2018, programs from Microsoft and Alibaba score better than humans on the Stanford reading test.
Since 2011 and the introduction by Apple of its assistant Siri in its iPhones, the market for voice assistants, home assistant, and conversational agents have been increasingly successful. IBM’s Watson, Amazon’s Alexa, Google Home, Cortana, etc. were invited in our daily life.
In 2016, Facebook recognizing the growing interest of this technology has opened Messenger as a platform for mainstream bots. Many brands have since created their bot to reach the gigantic potential offered by Facebook subscribers.
Slack meanwhile is focused on corporate social networks or professional chatbots. Slacks put forward the concept of chatops which aims to gather in a messaging platform all useful tools for a software development team. The conversations are stored and constitute the memory of the project, to which Slack gives access via search tools. Some tasks using traditional development tools (Jenkins, etc.) are automated from conversational agents integrated into teams.
For over a year, Microsoft with Teams brings a strong competitor to Slack and combines with the entire Office 365 suite as well as Cognitive services accessible from Azure.
Today there is an explosion in the Cloud to provide natural language bots (Luis, Microsoft Bot Framework, DialogFlow, wit.ai, and other * .ai that joins the new wave of Artificial Intelligence) and connect to major messaging platforms.
Use cases of chatbot
It is not a question here of making a complete list of the uses of a chatbot but rather to illustrate the subject. We can globally separate this use into three broad categories:
- Personal Business Assistant
- Personal Coach
Ordering your shopping by conversing rather than manipulating a graphical interface can easily fit into our daily activities. What could be simpler than saying “Ok Google, add eggs and milk to my shopping list” and then ask him “Run the order from my shopping list” and wait for confirmation that my order is ready to be picked up in stores?
Bots invade the sites of major brands to allow you to order a train ticket, check the arrival times in real-time, order a taxi, have news of the latest promotions, etc. These bots must adapt themselves to a very varied public population but generally on a very restricted subject (purchase of train ticket, schedules for the SNCF (the French train company) and are accessible on Internet site or public messaging platform like Facebook Messenger which is, in this case, a must. They have the advantage of being available 24 hours a day and being able to be a first-level customer service always accessible.
Personal Business Assistant
These bots come to assist company employees by unloading them from repetitive tasks with low added value. They help to increase employee productivity. They are found in the areas of human resources, sales marketing or administration, and even in the code development where GitHub popularizes the DevOps management through chatbot under the term chatOps. They can tackle meeting setup tasks, product sales recommendations, and more. These are bots dedicated to a smaller population and focused on a coherent set of tasks. Their action can be easily inserted into a business workflow.
Personal coaches assist you in support of sports activities for maintaining good health or to help you manage your budget. They are usually deployed in a smartphone in order to be permanently accessible. Various studies show that the conversational interaction mode obtains good results for the perseverance of the users in the coached activities (sport, weight loss, etc.).
GUI vs CUI
The main difference between GUI (Graphical User Interface) and CUI (Conversational User Interface) is that in the case of GUIs, the user must comply with the language of the computer whereas, for CUI, it is the computer that invites itself into the oldest mean of communication between men. The conversational user interfaces seem more affordable for users but they hide pitfalls:
- The waiting and disillusionment in this form of exchange can be strong because, for the moment, the Turing test is not reached by any of the conversational agents developed so far.
- You cannot exchange every form of data through a conversation: table, long list, image, etc. remain visual. We must, therefore, be careful to limit the use of the conversation for the exchanges for which it is better adapted.
- For the moment, a general artificial intelligence that can comprehend all the potential subjects that a human can approach is out of reach. As a result, a chatbot can be effective but in a narrowly targeted domain. It is a kind of paradox because natural language is a horizontal mean of communication, transverse to any field, whereas the current capacities of the chatbots limit them vertically to some targeted domains.
The benefits are, however, very real:
- The use of natural language is well received by the users and makes it possible to reach populations having difficulties for using the computers (old people, young children, blind people, etc.).
- The addition of voice recognition then frees the eyes and provides richer and more relevant multimodal human-machine interfaces in their interactions with users. This use of the voice is even essential in certain contexts (vehicle driving, etc.).
- This is an essential ability for robots in order to welcome and to advise customers as they increase their ‘humanity’.
In general, we can say that for the moment, a CUI is adapted, if the user has a relatively good idea of what he is looking for. In this context, a customer service built on the paradigm of conversation can save the resource that matters most to the customer: time.
On the other hand, if the user does not know what he wants, it may be better to offer him a graphical interface displaying a set of possibilities in which he can choose. The equivalent of the menu bar does not really exist in a conversational interface especially if it is vocal.