Chatbot with Personality

Creating a personality for a COVID chatbot: more than just transmitting data

Matthieu Scherer
Empathic Labs
6 min readJul 15, 2020

--

Nowadays, chatbots can replace a human agent for any simple tasks like giving information about a product or allowing a customer to order a pizza.

Chatbots are playing an increasingly important role in the way we search for information on the Internet and, through their interaction mechanisms, they are helping to go beyond the simple search engine. By providing a set of dedicated and framed functionalities, they help to keep the context of the conversation and guide users to the information they need.

So far, nothing more special than what we expect from a chatbot but, without wanting to mislead users, the chatbots we use on a daily basis could have a more developed personality so that interactions with users are more than just an exchange of data.

This is CovidBot, what can I do for you?

CovidBot is a chatbot able to provide information on the spread of Covid19 in Switzerland. Using different APIs for retrieving online information and built-in algorithms the chatbot proposes several functionalities. It can give statistical data on the number of people who tested positive or negative, hospitalized, in intensive care, ventilated, discharged or deceased.

Covidbot giving some statistics about Covid19 in Switzerland

To differentiate it from a simple online search, we also gave it a personality and the ability to make recommendations to protect ourselves, give information about quarantine, about the virus and its symptoms, share news related to Covid19, a self-assessment algorithm to allow ourselves to check regarding symptoms or the possibility to be infected and actions to take in such case.

Example of Covid-19 self-assessment (French version)

CovidBot was developed using DialogFlow from Google and Chatbotstrap to improve the training data.

We gave it some special features and a personality so that it is more than just about transmitting information.

CovidBot keeps the context of the conversations so it can concatenate a series of questions and answers to retrieve all the inputs required for each function. In the case of the self-assessment algorithm, it records all the answers and computes them all together to arrive at the most appropriate solution.

Choose the right personality for your chatbot

Most of the time, the user experience is diminished because of the bot’s simple answers or its lack of understanding when the conversation is too far away from the bot’s purpose. Moreover, chatbots with a simple use are not meant to convey emotion and user experience is further reduced. To prevent such situations, it is possible to make your bot look more intelligent and to give it a personality using NLU and a bit of coding to make it more appealing to the users.

It is important to think about the personality you want to give to your bot. It needs to fit its purpose. The movie “Inside Out” was a source of inspiration: we gave our chatbot one of the emotions depicted in this movie. A real person is made up of a mixture of emotions but, for a bot, it does not require to get to that level of complexity to be appealing so we chose to use only one emotion. Thus, to soften the transmission of information and to make it more than just data, we gave to our bot a grumpy personality.

Small Talk — Grumpy personality (French version)

Bringing humor while dealing with sensitive topic

It is not easy to be humorous when dealing with a sensitive subject. Humor should not hurt the users but bring them to a different state of mind to perceive the information.

We have chosen a grumpy personality, in order to lighten the tone without making the situation anodyne and to allow for more than just conveying information.

User: Good morning!

CovidBot: Hello, keep your distance! Use “help” or “info” to know the things I can do for you … but don’t get any closer!

Provide more answers

Trying to have a conversation with your bot and always getting the same answer from it will quickly annoy your users. So, to avoid frustrating users, your chatbot needs to be able to give different answers for the same question or when it does not understand a question. Dialogflow allows you to do that. You can set a list of answers for the same question and a random answer will be selected from this list. This functionality can be extended in the fulfillment to add a bit more complexity in the repeated answering, taking into account frequency of the questions and context. You can even create random events triggered when the user executes a certain action (like asking too many questions).

Don’t ask it too much questions or it will get mad and won’t answer you!

How to improve it?

For this type of application the objective is not to create a perfect human representation. Users need to know that they are interacting with a machine but by adding some context awareness and emotions we can make the interactions more meaningful.

The chatbot training is really important because the main objective is to be able to understand the interactions with your users and to be able to provide them with the requested information. However, it is also necessary to translate the information sent to the user so that the user doesn’t feel as if they are just doing an online search. It is necessary to convey this information in a form more suited to a conversation with a person by using, for example, humor to convey an emotion and not just information.

In order to improve the interaction between the chatbot and the users it is therefore necessary to clearly define the context, the type of relationship desired with the users and to give the chatbot a personality that allows the appropriate emotions or feelings to be conveyed.

Furthermore, the user experience could be improved by using simple features such as calling a user by his or her name to give more personalized conversation.

Photo by Volodymyr Hryshchenko on Unsplash

Another field to introduce is the user’s emotions detection, based on his written sentences to improve the interaction by allowing the chatbot to provide the user with the most appropriate response (Top Five Emotion / Sentiment Analysis APIs for understanding user sentiment trends). This functionality would be really interesting in the context of applications such as CovidBot because we could detect a critical situation where the user needs psychological advice and propose the appropriate support services.

Photo by Dimitri Karastelev on Unsplash

Many opportunities and technologies are emerging to support this new situation that we are all living those days with the Covid-19. This situation has brought us quicker and deeper into the digital world, the virtual communications and the online services.

The new revolution is here.., let’s put emotion to it!

To know more about chatbots, here are more Empathic Labs articles:

Authors:

Antonio Gonzalez and Matthieu Scherer

--

--