Messaging applications (like FB messenger, Whatsapp, Google Allo, Telegram and so on) are to be found everywhere and the digital citizen cannot survive without at least a couple of them. Though different types of instant messenger services have always been a great attraction of the Net, the widespread adoption of smartphones has made chat one of the most popular forms of communication. Millions of people use messaging apps worldwide and using a chat program has become second nature to most of us.
This popularity of messaging apps has profound implications for businesses. Many of their customers can be found on some of the popular messaging platforms and a business needs a channel to converse with its customers in real-time. This is where the concept of the chatbot, a program that you can converse with, comes into play.
A chatbot is a virtual user or virtual assistant for communicating via a messaging or chat application. The chatbot simulates a conversation with a human (either through text or speech) and to a human user, the bot will appear as one of the friends in his contact list. The human user simply talks to the bot as she would with a normal person. Generally, a chatbot is made to provide a particular service or for answering specific types of questions.
Chatbots help a business handle its customers in a personal and engaging way. Customers no longer have to call customer care or use email or read FAQs. Instead, they can simply invoke a chat application and obtain the relevant answer. With the help of new technologies like NLP and machine learning, we can now create chatbots that can respond to several queries with relevant and personalised answers. A business can plant its chatbot anywhere on the Net —on a web page, on a social networking service, on a Slack channel, on a mobile device etc.
Unlike traditional programs, where you need to issue commands, chatbots let you converse with them in a natural language. Of course, this throws up challenges to the chatbot developer. When you talk to a chatbot, you get the feeling that you are talking to a real human being with some kind of a personality. After a while, the chat user forgets that the chatbot is a program. This means when you build a chatbot many new things come into play.You have to take into account the emotional/sentimental aspects of the chat user too. Depending on the purpose of the chatbot, the intensity of this component varies. For instance, if the chatbot’s purpose is customer support you have to do extensive research into how a customer would react to certain words and answers. You have to make the chatbot appear as an actual support person.
However, there could be situations in which the questions from the user become more complicated and at this point, the bot should be able to pass on the task to a real human user. This transfer of the conversation to real customer service person should be as seamless as possible.
Dexter: A promising bot creation tool
Unlike in the past, making a chatbot is no more a specialised task. Anyone who can organise her thoughts and who has good writing skills can now create a bot. Many services that let you create chatbots (without any coding knowledge) are in place. One such bot platform worth a try is Dexter.
According to Dexter: “If you can write a story, you can build and launch a chatbot”. When you create a bot, you should imagine it as a dialogue between a bot user and the bot program. Depending on the type of the chatbot, you should think about the possible ways in which a human can ask a question and the answer to each of the possible questions. Here, the domain knowledge will come in handy. Once the script is ready, you can dive into the bot creation process.
The advantage of Dexter is that it lets you get started with the bot creation process in a matter of seconds with little technical skills. You need to know only a few commands. This means anyone with a knowledge of their domain and writing skills can build a bot.
To get started with Dexter, sign-up and log-in to the service, where you will find the landing page with a button labelled ‘New Bot’. To create a bot, click on this ‘New Bot’ button, give the bot a name, click ‘Next’, then pick the option ‘Blank Project’. You will find some default text on the screen that comes up, remove it completely and begin building your chat app.
The first thing one should remember is that the chatbot creation ultimately boils down to the creation of a purposeful dialogue between two characters: human (you/users) and a Bot. To differentiate the dialogue from each of these characters, we need to use two different symbols at the beginning of each dialogue.
Anything a human might ask starts with a plus (+) sign and the Bot’s response starts with a minus (-) sign. So, a human might say ‘hello’ and then the bot might respond ‘Hi, How are you?’. To build a bot that can do this Q&A, first write ‘+hello’ and then write ‘–Hi, How are you?’ And you will get the following screen:
The service lets you test the script right away by entering the user trigger (here, ‘hi’) at the message box available on the right side of the screen. For the testing purpose, Dexter offers a mobile-phone type testing interface (screenshot below) and this will help you obtain immediate feedback on the performance of your text.
This way you can easily create a bot that can answer different questions on a topic of your choice. Note: The trigger lines (lines with the plus symbol) should all be lowercase and should not contain any punctuation.
Of course, you cannot imagine all the possible questions that might come from a user and if the user types in a trigger that is not available on your trigger list, the bot will throw up an error. To prevent such instances from happening, you can use ‘*’, a catchall trigger and provide a default message for all the user triggers that the bot would not understand. And, if you have some answers for different triggers (like ‘helo’,’hi’,’morning’ etc), you can put all of them inside a bracket, separating each of them with a pipe symbol as shown below.
We have just touched upon the surface of the Dexter features. It supports several other commands that help us create more intense bots. In addition, Dexter provides the necessary interface to get our bot to different platforms on the Net (like Web, Slack, Twitter etc).