The Essential Chatbot Glossary (for Non-Geeks)
I remember when I first started reading about cryptocurrencies. I did what I often do when I investigate a new topic, I fired up Reddit and started browsing.
What. The. Heck.
I was back-and-forth on Google every other word. So much to learn. So much I didn't understand.
Then, it hit me. Most non-geeks (and, most likely, a few semi-geeks) must feel the same with chatbots. So, I thought to myself, let's save everyone's time and compile a handy chatbot glossary.
I have organised it in alphabetical order. If you feel like something is missing, feel free to ping me on Twitter. I will keep this up to date.
Last updated on Jan 31, 2019.
The key chatbot terms you must know
Artificial intelligence (AI)
Artificial intelligence, or AI, is an all-encompassing field. It is a huge topic, one I couldn't dream of covering in this article. To keep this approachable by non-geeks, I'll keep it simple.
Artificial intelligence is intelligence demonstrated by machines (as opposed to us humans or animals, which is called natural intelligence).
AI has sort of become a buzzword in our industry for a simple reason: anything can be labelled as 'AI'. Even the most simple flow chatbot with a tiny tiny bit of NLU is, technically, powered by AI. So, don't get fooled by the term being thrown around.
AI is the overarching discipline. Below AI, you will find everything from NLU to machine learning.
An autoresponder is a message that is automatically triggered when a user sends their first message, or specific keyword, to the bot.
Facebook have implemented an autoresponder feature to Messenger about a year ago. If you've ever messaged your favourite local restaurant and got an instant reply, chances are it was an autoresponder.
A broadcast is a message sent to your entire list of chatbot users.
If you have used any email marketing provider before, you have most likely already broadcasted an email. The same principals apply to your chatbot. Through using a messaging platform like ubisend, you can draft and broadcast a list-wide message across multiple channels.
Whenever talking about broadcasts, I can't help but remember this gem from Mailchimp!
A channel, also sometimes referred to as a platform, is where the chatbot lives. Nowadays, chatbots can live on almost any channel where two-way conversation can happen.
At ubisend, we've can build bots across 28 different channels including Facebook Messenger, Telegram, website widget, slack and more.
A chatbot is a computer program you can talk to. You can engage in a conversation with a chatbot using a text or voice interface. Some, but not all, chatbots use a form of artificial intelligence.
To some people's surprise, here at ubisend, we're not fond of the term 'chatbot'. The main reason is it has become a bit buzz-y (anyone with an account on a DIY chatbot platform can be a 'chatbot builder') and it is a very narrow-focused term (chatbots sound like a funny, albeit useless, bit of software you can 'chat' with).
Instead, we like conversational agent, or in a broader sense, conversational software.
A compulsory input is a piece of information the chatbot user has to enter before they can move on to the next stage. Until they have provided that piece of information, the chatbot could remain stuck -- effectively waiting in an infinite loop.
In the building phase of a chatbot, we will define which inputs are compulsory and which are option (see optional input). This is key to provide the best user experience possible.
Some examples of compulsory inputs:
- Order tracking number. A support chatbot cannot help users with their order tracking questions until it knows which order it needs to work on.
- Employee ID. An HR chatbot may have to confirm the credentials or personal details of the employee before it can release potentially sensitive information.
- Date of birth. A sales chatbot may have to confirm the user's date of birth before authorising payments.
And so on.
Conversational UI, which stands for user interface, is everything surrounding words. It's the design of the chat interface, the buttons, the widget, the images, the message templates.
UI is not a new term. The novelty, here, is the fact it all has to do with conversations. Beyond the idea of designing a static interface (i.e. website), designers now have to think about elements as part of an active, happening-right-now conversation.
Read our article 'What is Conversational UI' for more.
Conversational UX, which stands for user experience, refers to the experience of interacting with the bot. The jury is still out on whether this includes visuals (buttons, images, etc.) or not. If so, this would mean conversation UI is a sub-set of conversational UX.
We're not going to debate this, though, so, for now, just remember conversational UX as the experience of conversing with the bot.
Which words does it use? It is speedy or does it delay between each sentence? Does the bot use swear words? Emojis? What is the persona, the brand and experience of using the bot?
There's lots more to read about conversational UX.
An entity is a variable that compliments or modifies the intent. It is a snippet of information the chatbot needs to understand in order to serve the correct answer.
If you talk to a restaurant chatbot and ask 'What are your opening hours on Thursday?', Thursday is an entity. You are referring to a specific day, not asking a general question.
Chatbots are made of features. We believe there's a clear split in types of chatbot features: core and niche.
Core features are things like NLP, small talk, or a custom dashboard. In our opinion, a chatbot without this set of core features is, well, not really a chatbot.
Niche features are advanced bits of technology put into the chatbot to make it perform better, achieve our client's goals, and more. They are things like machine learning, APIs, custom integrations, etc.
Flow-based chatbot (also rule-based)
A flow-based, or rule-based, chatbot is a chatbot that is powered by a simple (or complex) decision tree. It doesn't use any AI, it simply drives its users through the tree by inviting them to click on buttons or use very specific keywords. It's like a chatbot-webform.
Flow-based chatbots were all the rage about a year ago, and are still very much present. Big (and free) chatbot building platforms have contributed to the widespread of this type of chatbots.
Learn more about flow-based chatbots.
This is something we, at ubisend, often talk about. A human fallback is a feature that allows a user to request or access a human -- at any time.
We believe, sometimes, humans want to talk to humans and every chatbot should facilitate this need. As such, we always build a human fallback feature into every bot we develop.
It can look very simple. For instance, an easy-to-access button that says 'Get me a human' that, when clicked, a message is fired to a human in this organisation, asking them to take over the conversation.
We also often add sentences similar to 'get me a human' as part of the chatbot's language. When a user utters these words, woosh, bring in the humans!
As all our chatbots have a human fallback feature, we need a way for these humans to get involved and take over the conversation.
This is what a human takeover is.
As part of the ubisend platform (which we ship with every build), there is a human takeover section where employees behind the bot can log in, access the conversations, and take over conversations in real-time.
Once they engage in the conversation, the bot automatically steps aside and pauses all automated interactions with that particular user, until the staff member turns it back on.
An intent refers to what the user's utterance means. It derives from the word intention, which makes it easier to remember what it means.
From a chatbot building point of view, an intent is something the chatbot must be able to respond to. A typical chatbot will be built on a series of intents, along with an understanding of how it needs to respond to them.
If you talk to a restaurant chatbot and ask 'What are your opening hours?', the intent is wanting to know opening hours.
Machine learning (ML)
Machine learning, or ML, is the artificial intelligence field that focuses on making machines learn. I guess the clue was in the title huh.
The key word here is 'learning'. Machine learning is about finding ways to make machines do something better over time by learning. Learning can be done by looking at past mistakes, inputting more data, brute force, and more.
As you can imagine, ML is an extremely complex technological field. It is a world of algorithms, data categorisation, regression theorems, neural networks and many more crazy geeky things we won't talk about here.
In a chatbot environment, ML is often used to power parts of a chatbot's abilities. We will use ML, for instance, to improve a chatbot's ability to answer complex user queries over time. We may use ML to train a recommendation engine that users query when talking to the bot.
Learn more about machine learning with Yufeng.
Natural language processing (NLP)
Natural language processing is a subset field of artificial intelligence. Natural language processing is an overarching and quite complex technology that encompasses many subsets such as natural language understanding (NLU, see below).
NLP is everything that relates to a machine understanding what a human has input. To do that, an NLP engine will use many tools like NLU, summarising algorithms, sentiment analysis, tokenization, and more.
Some chatbot development agencies (but not us!) solely rely on a master NLP engine, powered by one of the big tech companies (Google, Facebook, Amazon). This kinda sucks for the client, as it means all their juicy data is just going to the big boys.
Learn more about NLP with kdnuggets.
Natural language processing provider (NLP provider)
A natural language processing (NLP) provider is a platform with built-in NLP features. Most NLP-powered chatbots you encounter are using one of three of the most well-known NLP providers:
There are two reasons for this. The first is all three of the platforms above are free (or very cheap) to use. The second is, building your own NLP engine is hard.
At ubisend, we have our own natural language engine, meaning we are our own NLP provider. Because that's how we roll (and we work with big clients who don't want their data sent to Amazon/Google/FB!
Natural language understanding (NLU)
Natural language understanding is a subset field of natural language processing. NLU and NLP are often confused because they are so close in meaning. Often, you will see one used for the other and vice versa -- so beware.
NLU is the very specific part of the NLP engine that examines an utterance and extracts its entities and intent. In more layman's terms, NLU is what allows a machine to understand what a user is saying.
When it comes to chatbots, think of NLU as the process that reads human language and recognises the different parts of the text, to split it out into the correct intent and entities.
An option input is a piece of information the chatbot user can give that is not crucial to the conversation. It is the opposite of a compulsory input (see Compulsory input).
In most chatbots, an optional input is used as a sort of filter. It's easier to understand what they are through an example.
Let's say you are a laptop manufacturer. You are releasing a chatbot that will help your customers find and purchase a new battery for their precious laptop.
The user's journey through your chatbot is pretty simple. They fire up the chat, ask about purchasing a new battery, and the chatbot asks them a few questions about the laptop they have (model, year, geographical location, etc.)
In this conversation, for the chatbot to recommend the right battery to the user, it needs to know a few details. For instance, the laptop model is a must-know (compulsory input). The chatbot cannot continue and offer a battery option without this piece of information.
However, the geographical location of the user could be an optional input. If the user wants to say they are from the UK, this can be used as a filter to only show the batteries with a three pin plug. But if the user doesn't give that information, the chatbot can still recommend very relevant options just based on the laptop model alone.
Push and pull are terms often used to differentiate chatbots to more common marketing channels such as email.
A push message is a message 'forced' onto the user. Most, if not all, email marketing can be considered as push emailing. Though you may be subscribed to a newsletter, you have not requested it to come in at the very moment it drops in your inbox. The company 'pushed' that email to you.
A pull message is the exact opposite. It is a message sent to a user as a response to their request. If you message a chatbot and ask 'What time do you open today?', and receive an instant reply, that message you've just received is a pull message.
Chatbots can do both push and pull messaging, though their power, of course, resides in the pull side of things (being available when your user wants you).
When a chatbot developer talks about training, she is talking about improving the chatbot's capability to handle queries.
The process of training a chatbot can differ from one organisation to the other. It can be as simple as going through the backlog of user input and improving the intent matching. Or it can be as complex as injecting a completely new model with a fresh data set to the chatbot's corpus.
The one thing to remember is, training is never over. A chatbot can always be better, handle queries better, understand more, faster, more accurately.
An utterance is anything someone using a chatbot says to it. Some people (including me) refer to it as user input, mostly because it sounds less geeky.
If you talk to a restaurant chatbot and ask 'What are your opening hours?', that entire sentence is an utterance.
More obscure chatbot vocabulary?
You're at the bottom of the list... for now. We will edit, update, and pile things on here as we go. Don't forget to reach out if you feel anything is missing (or not very clear).