Answering These Five Questions Will Help You Build A Better Chatbot

Answering These Five Questions Will Help You Build A Better Chatbot

You Need The Right Technology And The Right Design Judgement


In order to achieve an exceptional conversational experience, two key elements are required; the right technology and astute design judgement.

NLU & NLP technology are developing at a rapid pace and selecting technology is becoming both easy and hard. When it comes to technology for your organisation, there is most probably not going to be a single product to address all your conversational AI needs.

In all likelihood it will be a set of technologies; of which many are opensource and readily available; like spaCy for instance.

Example: Voice Enabled Chatbot

The other element, that of making the right design judgement, is equally important.

The challenge here is that design judgments may seem correct initially, but the design will be tested once the chatbot scales.

The methodology outlined below is used by the most successful conversational applications.

Your conversational interface or chatbot will either frustrate or delight users. If the use-case you select is unrealistic or not of help to the target audience the conversational interface will fail, regardless of of good the underlying technology is.

1. Is It Aligned With Real-World Interaction?

Conversational interfaces have the problem of absent affordances, or at least not visible to the user. With other interfaces there is a visual graphic interface to guide the user.

Example: Messenger Hosted Travel Bot

When a new medium is introduced the users need to find their way round the new environment discovering the existing and available affordances.

Loose patterns of behavior starts to evolve which is soon set in models of convention. These models of convention enforces certain design principles which is expected by the user.

These models work different with Conversational AI, as affordances are not visible.

Affordances are transactions which exist in the medium or user environment.

Aligning your chatbot with existing real world examples will allow users to perform the same transactions, or interactions.

With the only difference that the transactions and interactions are via a medium which is faster, with less friction and last but not least, conversational.

2. Does It Save Users Time?

A Conversational Interface (chatbot) should not be seen as merely another medium or channel which should be added. A menu driven experience or button interface cannot be hosted in a chat environment or application, thinking the job is done.

Example of Compound Queries from the User

Chatbots are unfortunately still seen by customers and users as an unnecessary impediment in order to get to an live agent.

So how can your chatbot save time? What distinct advantage does it have over conventional graphic interfaces?

The big advantage conversational interfaces present is compound queries. Due to the interface being unstructured, the user is free to enter their data as they see fit. The input can be a compound statement, where the user supplies all the relevant information in one dialog turn.

For Instance: “I need a flight from Cape Town to Maseru next week Tuesday for 3 people”. The chatbot should be able to detect the intent, and the different entities in one go. The intent can be seen as the verb, what is the intention of the user…wanting to book a flight.

The entities can be see as nouns, in this case being: Cape Town, Maseru, Tuesday, 3 People.

In this case for a user to express the above statement via a Graphic User Interface, it would take at least 5 clicks with some scrolling…

3. Is It Convenient For The User?

Convenience is a big factor, and conversational interfaces can be presented in two modes; text based or in voice. Voice is usually more utilized in private spaces, for instance in-car, or at home in the kitchen or bedroom.

Facebook Messenger Based Chatbot

Whenever we find ourselves in public spaces; open-plan offices, trains, restaurants etc. we switch to text.

The convenience of your interface should exist in the fact that the chatbot (conversational interface) is the luxury of ease in terms of access.

With digital assistants / Smart speakers (for instance Google Home, Amazon Alexa) your application (skill/action) can be ambient and existing in the user’s environment.

Think of this as living services; existing in the user’s environment.

With a chatbot (text based), the convenience is vested in the fact that your user is spending 90% of their screen-time in messaging applications.

The top downloaded applications for IOS and Android are messaing / social applications.

Hence the user does not have to switch applications or devices, but access your service in the environment they find themselves. Be it WhatsApp, Twitter, Messenger, SMS, RCS etc.

4. Does Your Chatbot Hit The Sweetspot?

Here is the challenge, your chatbot needs to be domain specific in order to be successful. We as mere mortals cannot build an “ask me anything” chatbot.

Narrow Domain Use-Case With Compound Queries

Hence a narrow domain approach needs to be followed, or use-case if you like. This narrow domain allows, and ensures, accurate machine learning models.

Yet, you need to ensure the functionality is broad enough so users find the interface useful with adequate tasks and intents covered.

5. Do You Have Adequate Training Data?

Your training data must cover the full range of expected functionality incorporated in the chatbot. Hence it should be not only possible, but practical for you to collect possible user utterances and intents.

You could employ crowd-sourcing techniques, but this can be a very tedious process.

Fake News Headline Generation — An approach like this might be helpful in creating variations on existing data.

The most convenient way of collecting training data is mining existing live agent conversation transcripts; which currently exist in most organizations.

This will be an accurate view into what customers want to have a conversation about, and also the language, slang and terminology they will most probably use.

If you rely on some expert thinking up or compiling possible user utterances, it is sure not to be adequate. Using existing customer conversations and dialog to some degree negate the danger of always following the scripted happy path in testing and prototyping.


In an upcoming story I will have a step-by-step tutorial on how to build a chatbot making use of Cisco’s MindMeld environment.