How To Design A Chatbot Without Any Experience
When thinking of implementing a chatbot, incorporate into your thinking the notion of a conversational interface, Conversational AI.
But more than this, think of it as the birth of a digital employee which will spread throughout your organisation.
This sprawling of your digital persona will have two elements.
The first element is the audience will grow. The bot will service users externally, on various mediums. While simultaneously servicing users internally as a digital employee. The internal services will most probably start off as a knowledge base resource and from there grow into different parts of the organisation.
The first part of an organisation serviced internally by a digital assistant (aka digital employee) will most probably be to act as an access point for querying data and knowledge repositories.
This is an ideal use-case for a bot where a knowledge base can be searched and relevant information returned by the chatbot.
Another area is HR. Employees can use self-service to manage their leave, get policies & procedures, glean training information etc. When it comes to IT, service requests can be logged, status of previously logged issues can be checked and much more.
The second element will be the expansion of mediums. Examples of mediums are Twitter, SMS, Web Chat, Facebook Messenger and the like.
The Four Pillars of Conversation
While planning your digital conversation, it is of great importance to look at and study the nature of human-to-human conversations. Four distinct pillars emerge…
- Intent Discovery
- Continuity (Horizontally and Vertically)
- Directed Dialog
You can think of Google is the biggest intent discovery engine in the world.
With each search the primary objective of Google is to discovery your intent. And obviously, the more context you give, the more accurate is the intent discovery. Google can be seen as the biggest chatbot, having a single dialog turn.
Another example, when someone attends to a service-desk, and a customer walks up to the desk, the first action of the person at the desk is to discover the intent of the person who just walked up. Often we do not realize what a large part of our daily interactions are in essence intent discovery.
Misunderstandings are negated when the chatbot can discover and address the intent of the user accurately.
For all conversations we have as humans, we are engaging in one of two activities; we are either discovering context, or framing the context. The first is to receive context and the latter to transmit context. We attempt to establish context in order to further the conversation. We use the environment, the medium, the person and recent events to establish context for our human conversations.
One of the first objectives of your bot should be to establish context. The easiest way to do this is to identify the user, once the user is identified, context can be gleaned from systems like CRM, ERP, Billing and others. Context can also be gleaned from previous conversations, again this is often neglected; but as humans this is our main go-to resource for context.
Again, we also expect continuity in our human conversations, we expect our conversations to be asynchronous and multi-threaded.
When I have a conversation with you regarding a specific topic, both of us expect to further the conversation later the day from the point it was previously stopped.
Digital conversations must emulate this. Users must be able to have a asynchronous conversation with the chatbot. This can be defined as vertically continuous.
We also expect our human conversations to be continuous over different mediums. This can again be defined as horizontally continuous. When we speak in person, we expect to pickup the conversation later over the phone, and then messaging etc. The digital employee must be able to span across mediums and maintain continuity.
In any point in a conversation one of the parties is directing the dialog. To achieve the objective of the conversation, the chatbot needs to direct the dialog.
As unobtrusive as possible, the chatbot need to extract intent and entities from the user utterances. And from this information, the conversation needs to be directed.
Even if the chatbot does not have information which is 100% related to the intent, next-best information pertaining to the user can be volunteered by the chatbot in an effort to fulfill the intent.
Identify Your Domain
A chatbot is centered around a domain-specific topic. For example, you may have a travel app that performs booking of tickets, flights, hotels, and rental cars. Another app may provide content related to exercising, tracking fitness efforts and setting goals.
Identifying the domain helps you find words or phrases that are important to your domain.
It is only reserved for the big players like Google and Amazon Echo, to have a general chatbot or conversational interface. It is not practical to have a chatbot which starts with “Ask Me Anything”.
It helps when you chatbot introduces itself, and state the capability and use of the chatbot. For instance, “I can help you to book your next holiday”, or “I can help you find best eatery in town”.
Identify Your Intents
Think about the intents that are important to your application’s task.
Let’s take the example of a travel app, with functions to book a flight and check the weather at the user’s destination. You can define a Book Flight and Get Weather intents for these actions.
In a more complex app with more functions, you have more intents, and you should define them carefully so the intents aren’t too specific. For example, Book Flight and Book Hotel may need to be separate intents, but Book International Flight and Book Domestic Flight may be too similar.
It is a best practice to use only as many intents as you need to perform the functions of your app. If you define too many intents, it becomes harder to classify utterances correctly. If you define too few, they may be so general that they overlap.
If you don’t need to identify overall user intention, add all the example user utterances to the None intent. If your app grows into needing more intents, you can create them later.
Identify Your User Utterances
Once you have determined the intents, create 15 to 30 example utterances for each intent. To begin with, do not have fewer than this number or create too many utterances for each intent.
Each utterance should be different from the previous utterance. A good variety in the utterances includes overall word count, word choice, verb tense, and punctuation.
A good source of user utterances will the chat transcripts from agent chat conversations. If your organisation has a call center, call transcripts can be used.
Should speech analytics be in-place, so much the better. Speech analytics will furnish you with text transcripts from voice conversations which is an invaluable source of user utterances.
Identify your entities
In the example utterances, identify the entities you want extracted. To book a flight, you need information like the destination, date, airline, ticket category, and travel class. Create entities for these data types and then mark the entities in the example utterances because they are important for accomplishing an intent.
When you determine which entities to use in your app, keep in mind that there are different types of entities for capturing relationships between types of objects.
People respond well to personas, also to a graphic representation of a persona.
We anthropomorphize things by nature; cars, ships, other inanimate objects…and chatbots are certainty no different. User perception of the chatbot definitely affects how they engage and interact.
The profile image you select for your chatbot plays a big role. With the script, language and wording of your chatbot.
The most engaging profile image for your chatbot will be that with a persona, a face. This face should have a name, and also a way of speaking, a vocabulary which is consistent and relevant to the persona you want to establish. This is crucial, as this persona will grow, and in time be your most valuable employee, all be it digital.
A persona will grow in use, over multiple channels, in scope and functionality. Hence the importance of this foundation.
Hi, I'm Cobus... Currently I conceptualize, mock-up, wire-frame, prototype and develop final products. Primarily…