Offer your customers an alternative experience in their communication, make exchanges more fun, answer a need for constant reactivity, ... Here are some examples of using a Chatbot. But in fact, what is a Chatbot? And why are we talking more and more about it?
Analysis by Louis Tinant a Scrum Master at Agile Partner.
"Chatbot", "conversational agent", "Bot" ... All these are certainly familiar to you, probably have you used these terms before, but what is really behind them?
A Chatbot is a computer program that simulates a human conversation, vocally or by text. In recent years, they have gained popularity, especially with the emergence of voice assistants such as Siri (Apple) or Alexa (Amazon). But to understand how we got here, let's focus on the pioneers of these new virtual companions.
Image already added
Image already added
The idea that a machine could reproduce a human conversation was initially theorized by Alan Turing, British mathematician and cryptologist, in 1950.
He thus set up a test based on the ability of the machine to imitate a human conversation.
This test, called "Turing test" is about a human which is asking a series of questions to a computer and to another human.
If at the end of the allotted time, it is not possible to distinguish the machine answers from the human answers, it means that the computer passes the Turing test.
In the mid-1960s, a little over ten years after the theory of the Turing test, the spiritual father of the "Chatbot" was born. Joseph Weizenbaum, a professor at MIT, wrote the computer program ELIZA, which consists of simulating an interview with a Rogerian- psychotherapist (therapy focused on repetition and empathy).
At that time, ELIZA was a revolution. However, it was impossible for the bot to create a complete conversation, he was content to relaunch his conversations without creating useful answers. Then followed many chatbots (PARRY, JABBERWACKY, ALICE, ...). Despite the notorious developments in the field, none of them managed to pass the Turing test.
It was not until 2014 to see the first Bot "pass" the test. Called Eugene Goostman, this computer program simulates a conversation with a 13-year-old child.
He manages to fool some of his users over a period of 5 minutes.
However, the victory over the test is still criticized, the scientific community says that a machine will be able to actually pass the test when it will work without time limit.
Until this day, no machine is yet able to pass the Turing test. No artificial intelligence is able to deceive a user in the long run. But the scientific world continues to work on these assistants, it continues to confront us with these "intelligent" machines.
These chatbots are increasingly being deployed by companies to help their associates and customers on more and more varied and accurate topics.
We will see that creating and deploying a chatbot is not as complicated as it seems, having a virtual assistant offers a set of benefits in its approach and interactions and everything is done to make our work easier.
Today, there are many ways to create a Chatbot, some are easier to understand, others are more complete. It's all about what we want to do and how much complexity we want to make our assistant evolve.
Chatbots are usually associated with artificial intelligence (AI). It is true that the use of the latter brings a lot of features and interactions, but it does not mean that Chatbot and AI are inseparable. Those who are the most advanced use AI and language processing for a more advanced and complete conversational exchange, but nothing prevents the bot from having a "guided" exchange.
For example, many chatbots offer answers already written and thus offer the user a conversation oriented by a list of choices available to him.
It is therefore much simpler to create a complex dialogue tree, the routing is not linearly through the predefined answers but automatically adapts according to the responses entered by the user.
So, there are several ways to create a Chatbot, create a support interface with multiple choice structured messages or let the possibility to "communicate" more freely with the machine, each method offers its advantages according to needs and complexity desired with the bot.
There are many ways to create a Chatbot, many solutions exist on the Internet to easily make and host a simple conversational assistant. In this case, these are platforms that do not require any programming knowledge. Just drag and drop the desired features before linking the Bot to a messaging channel (Facebook, Twitter, Telegram, ...)
But what interests us here is more complex, it's about creating a Bot from A to Z, manage the entries, the loops of messages or the recognition of writing, add a vocal assistant, manage the data in a base, ... In short, to personalize our assistant.
To do this, there are Frameworks to create a complex Chatbot relatively easily.
These Frameworks are like toolboxes containing everything needed for development. There are several, but the best known and most common are probably "Amazon Lex", "Google Dialogflow" and "Microsoft Bot Framework".
They all offer the same functionality and a similar integration, the choice of one compared to the other will be mainly based on the ecosystem related to this Framework. Thus, a developer accustomed to working on the Azure interface will tend to choose "Microsoft Bot Framework".
Another factor that may also influence this choice and the wizard for which the Bot can be developed. For example, "Lex" is best for the voice assistant Alexa, "Dialogflow" for Google Assistant and "Microsoft Bot Framework" for Cortana.
As we can see in the image above (integration of a Bot developed via "Microsoft Bot Framework" on the Azure platform), the integration of a bot on a discussion channel is very easy. Just connect to the corresponding ecosystem and create a link to the chosen application. It is thus very simple to broadcast the bot on any messaging application.
Creating a conversational assistant within a company offers many benefits. With the emergence of social networks and messaging applications (Messenger, Whatsapp, ...), developing a Chatbot for one or more of these platforms offers increased visibility compared to a "traditional" application, a large portion of smartphone users have access one of these channels. Deploying the company's services directly to them avoids the development of a third-party application for companies and their download for the user. Most companies have developed their Bot in order to offer and distribute their services more easily.
Using a Chatbot also allows the company to provide automated and instant answers to its customers. Thus, companies using these services save response time for their customers. Even if the Chatbot is not able to answer all the questions asked, it can still "filter" the requests of users to redirect them to the appropriate services (take their customer number, know the service to which to be redirected, ...). In addition, the use of such component can facilitate support for some basic queries, loss of a password, updating of personal information, request for product information, status of an order in progress, all these requests can now be provided 7 days a week, 24 hours a day.
If the conversation or request requires a more precise approach, it is also possible to use the Chatbot as an introduction to the customer's approach before being redirected to a company employee.
In conclusion, it turns out that the development of a Chatbot offers many advantages. It is a booming technology, many companies have embarked on the development of these conversational agents and the growing number of these agents is fostering their emergence.
Nevertheless, we are only at the beginning of this communication mode, the arrival of vocal assistants and artificial intelligence will undoubtedly allow greater freedom in the exchanges between humans and machines.
Chatbots are an innovative way of interacting with users. We have everything to gain by innovating and developing new ways of communicating and offering our services.
Our development team (our Agile Software Factory) can help you develop your chatbot!