How to design a chatbot that can actually chat

Ulysse Bottello
UX for Bots
Published in
6 min readDec 5, 2017

Let’s face it, have you ever had a real conversation with a chatbot? An exchange that included a thread, not just a succession of questions. I will tell you how to design a chatbot… That can actually chat 😉

The promise of a chatbot rests on its conversational faculty. Except that today we’re dealing more with a robot than a real conversation with artificial intelligence.
And it is indeed technically complicated to automate a conversation, as the possibilities are great. Here we are not only talking about understanding the user’s intention but building a conversation that makes sense for the user. This is the famous thread of conversation that interests us.

Conversation is an art, at least that’s what my French ancestors say. So how can we do with the current state of the art of AI?

What we will see in this article 3 hacks to add a «je-ne-sais-quoi» to your chatbot that will make it more conversational — which will strengthen the link between them and your chatbot.

How to design a chatbot, step 1: Forget the buttons ☑️🙅

First prerequisite. Forget the buttons.

The goal here is to simulate a conversation that is human, which is almost incompatible with the button usage.
Think about it when you design your chatbot’s frame, the closed question flow is more like a form than a conversation.
Only use the buttons in certain situations, for example, if you can’t understand.

Take the example of a waiter in a restaurant. This one will ask you what you will please when ordering. The customer can then quote the exact dish he wants or he will open the conversation. He will seek advice from the waiter to be inspired or rely on his expertise to find the dish that best suits these personal tastes. Throughout the interaction, if the medium was a conversational interface, the buttons would have no place to replicate the experience. Except in very specific moments: as the choice of cooking meat if you have to stay in this use case there.

In a non-linear conversational experiment that uses NLP, you also have silos: these are the features of your chatbot. See them as funnels, let the user lead the dance. Then when he formalizes the intention of your feature, you enter the funnel.
This allows, first of all, to give the user the freedom (the chance from our point of view) to communicate a maximum of pieces of information from the beginning, so we can bypass the steps initially planned in the funnel.
In a second time, it allows you to be more flexible because the user can always switch from one feature to another. Or not having to respect the established order of your sequence for example. And if the user wants to choose his accompaniment before his main course? 😃

How to design a chatbot: remember

  • Use NLP to let the user formalize the starting point of the conversation
  • Delay as much as possible the use of buttons in the conversation

Bonus tip:

  • Anything that can be done via buttons must be done via the natural language. This is a good indicator of the maturity of a chatbot, so feel free to test this on your chatbot.

Step 2: Social talk ☀️❓

Another important part of how to design a chatbot appears trivial at first. Users also like a conversation to its lighter form, also called small talk, social talk or phatic communication.

This allows people who are conversing in social situations to get to know each other, on more informal topics.
And when the interlocutor is a robot, we will challenge his social intelligence. It’s a bit like our unconscious Turing test.
The best known personal assistants, Siri and Allo for example, know how to handle this kind of request because it is a reality: no matter what the robot has to offer, the user will want to push him in his limits with «off-script» questions.

Don’t be afraid, it’s a great opportunity to show the maturity of your chatbot. You will never be able to handle all the off-script requests — hence the interest to manage the misunderstanding of your chatbot — but you will be able to add as you go along the small talks that you will find in conversations with your users

To do this, use as a basis what the NLP platforms offer (the Dialogflow small talk agent, or the Recast.ai small talk template), and plan to monitor your misunderstandings to find improvements to the small talk of your chatbot. Have you to develop it «from scratch»? Take inspiration from these tools to know the basic small talk scope to cover.

How to design a chatbot: remember

  • Do not neglect the social intelligence of your chatbot, make sure to deal with the main issues at first.

Bonus tip:

  • Be pro-active, a small-talk should not block the conversation, feel free to redirect to a feature after answering the question.

Step 3: Contextualization 🤖💡

Welcome to the big leagues.

Contextualization is surely one of the most effective levers to amaze your users. We are at the beginning of an AI-powered discussion.

Contextualization allows you to modify a response based on a previous request.

Today we make sure to have answers that do not include open questions because it is sometimes difficult to answer. For example, many chatbots know how to answer a «How are you?» but how many will answer «I am very well, and you?» and will be able to distinguish a response from a new query.

At this point there are two situations: either you use a bot-builder and you will have a hard time going to this level of customization. Or you develop your own chatbot and you will have to create custom rules at times well to make sure that the message falls within an exception and not the default rule.

To identify where you need to add contextualization it’s quite simple: either you anticipate it with the copy (ex: «How are you?»). Or analyze the chatbot’s misunderstandings and note the message that precedes misunderstanding to see if there is a link, and therefore an opportunity to make a contextualized answer.

How to design a chatbot: remember

  • To build a first intelligent conversational experience, think about personalizing your answers according to the previous request.

Bonus tip:

  • Watch how other chatbots handle this. Answer a message, write down the answer, then talk about something else and re-write the first answer. Note if it has a difference and if it’s consistent. Repeat the process several times to verify that there are no «random» responses.

You are ready to make your chatbot a little more conversational.

Before thinking about the development part, I can only recommend that you start mapping the experience, using a flowchart app of your choice. I use Draw.io personally. Then prototype it, to get high fidelity look and feel of the chatbot. Botsociety is my weapon of choice.

Finally, keep in mind that we still have a little perspective on the use of this new medium, which has not yet met a mass adoption. Stay agile, and especially data-driven: your conversational UX will be on point!

«The real conversation leads to saying things we never thought about: we know where we are from, but we do not know where we are coming from.»

Have questions about how to design a chatbot? Leave a comment below!

--

--

Ulysse Bottello
UX for Bots

Design at @chatbotfactory, I design conversational assistants and AI-powered products.