Photo by Thúy Lâm on Unsplash

General Guidelines For Chatbot Scripts

Defining The Way Your Chatbot Speaks To Users

Cobus Greyling
5 min readJul 17, 2020

--

Introduction

The script is the wording used in the speech bubbles you use to speak back to your user; the person your interface is having a conversation with.

Conversational Components In WhatApp is Sparse Compared to Messenger

It is often said that the dialogue elements used, with the dialogue flow, can make or brake your chatbot.

The decision to use active or passive voice, or to what extend, to personalize the content.

Also, should the bot be anthropomorphized, and what should the persona be, the gender etc…

Conversational Components

To what degree will conversational components be available in the medium of choice.

These are often also referred to as affordances.

If elements exist within the medium; like buttons, menus, carousels or galleries… these can be used to facilitate the conversation.

Each node of the dialogue needs to move the conversation forward and ultimately to fulfill the intent of the user. Tone, personality and bot vocabulary should be aligned with with target audience.

In general the idea is to have the conversation as unstructured and conversation like as possible; in other words, text based. When the conversation does not progress and ambiguity is detected from the user, introduce structure to the conversation.

The availability and type of conversational components again depends on the medium.

For instance, the scope of ambiguity can be defined with a few buttons to allow the user to disambiguate and help the conversation along. Once traction is gained, the conversation can be unstructured.

https://www.dictionary.com/browse/disambiguate

Ambiguity is when we hear something which is said, which is open for more than one interpretation. Instead of just going off on a tangent which is not intended by the utterance, I perform the act of disambiguation; by asking a follow-up question. This is simply put, removing ambiguity from a statement or dialog.

Ambiguity makes sentences confusing. For example, “I saw my friend John with binoculars”. This this mean John was carrying a pair of binoculars? Or, I could only see John by using a pair of binoculars?

IBM Watson Assistant Example of Disambiguation Between Dialog Nodes

Hence, I need to perform disambiguation, and ask for clarification.

A chatbot encounters the same issue, where the user’s utterance is ambiguous and instead of the chatbot going off on one assumed intent, it could ask the user to clarify their input.

The chatbot can present a few options based on a certain context; this can be used by the user to select and confirm the most appropriate option.

Just to illustrate how effective we as humans are to disambiguate and detect subtle nuances, have a look at the following two sentences:

  • A drop of water on my mobile phone.
  • I drop my mobile phone in the water.

These two sentences have vastly different meanings, and compared to each other there is no real ambiguity, but for a conversational interface this will be hard to detect and separate.

Jargon

The field in which your chatbot will be deployed to contains a host of jargon, industry specific terms and perhaps technical wording.

Ensure your target audience understands these words and terms. And more importantly, that it is applicable to them. The use of an external focus group can be advantageous.

General Guidelines for Scripts

Don’t make your dialogues too long.

You want to limit the amount of dialog turns in reaching the point where the user feels she/he is gaining traction in terms of execution. Text based conversation, as opposed to voice based conversation, has the distinct advantageous that is not ephemeral. It does not evaporate like voice. But this can lead to the notion of making your dialogues too long.

You should not ask too many questions.

Even-though your chatbot will most probably serve a very narrow domain, it does not mean it should be deep. Attempt to identify your user, and use existing customer data, CRM information, previous orders to create a possible initial context for the conversation.

Creating Multiple Script Options per Node, and setting it to Random or Sequential is an Option which is Available.

Don’t ask too many questions.

If you are not smart about extracting your entities from the conversation, you will be prone to asking a vast amount of questions.

The key is to make use of contextual entity extraction. This uses the premise that no information shared by the user should be wasted. All pieces of information should be collected from the user. This is a key to truly making your conversational interface effective.

The catbot should rally be very efficient in making use of the data supplied by the user. If the chatbot does not interpret data entered, it will move past that dialog and re-prompt the user data already entered.

Conclusion

Suffice to say the holy grail of chatbots is to mimic and align with a natural, human-to-human conversation as much as possible. And to add to this, when designing the conversational flow for a chatbot, we often forget about what elements are part and parcel of true human like conversation.

Digression is a big part of human conversation, along with disambiguation of course. Disambiguation negates to some extent the danger of fallback proliferation where the dialog is not really taken forward.

With disambiguation a bouquet of truly related and contextual options are presented to the user to choose from which is sure to advance the conversation.

And finally, probably the worse thing you can do is present a set of options which is not related to the current context. Or a set of options which is predefined and finite which reoccurs continually.

Contextual awareness is key in all elements of a chatbot.

--

--

Cobus Greyling

I explore and write about all things at the intersection of AI & language; LLMs/NLP/NLU, Chat/Voicebots, CCAI. www.cobusgreyling.com