Considering we had 'chatbots' powered by Bayesian probabilities for medical triage and diagnosis in the 80s, why are we stuck clicking yes and no buttons on Facebook Messenger today? Is that not a massive step backward?
Well, it is, and it kind of isn’t.
Since we started making these things years ago, there has always been two main types of chatbot. Rule-based (basically scripts) and AI-powered. Some also live in the middle, a little bit of both; they are less exacting than rule-based but not as natural as AI-powered.
The AI elephant in the corner
People across the chatbot industry tend to refer to artificial intelligence (AI) in a horribly generic way. They throw the term around without thought... after all, it is FOTM, everyone spam it quickkkkkkkk...
In the context of chatbots, if I use the term AI, I will almost always be referring to two subset technologies called natural language processing (NLP) and natural language understanding (NLU).
NLU is a sub-technology of NLP which is concerned with labeling and dealing with unstructured data, where NLP is more about understanding those pesky humans.
Users do not care about your fancy Bayesian neural network, algorithms or how much data is in your corpus. They just want to get to the goal of the conversation as quickly as possible.
Putting it into practice
Our CTO has a beautiful mentality to his coding and work.
He strives to make everything look as simple and easy as he possibly can for users. If a user does not need to see an option, button, widget, chart, menu or similar, then don’t show it to them. It is a bit like the swan analogy, graceful and majestic on the surface, with all the hard work and activity going on underneath, out of sight.
An excellent example for a chatbot is when a user is asked a direct question with a low number of potential answers:
"Does your rocket ship intend to fly 10,000, 50,000 or 100,000 miles?"
In this example, for whatever reason, there are only three possible responses to that question. Should I leave the user to type the answer manually (and use NLP to link it to the response), or, if the interface allows it, should the chatbot present them three buttons?
Or, here’s the kicker, should it do both?
Some might be interacting with the chatbot via their mobile phone; it might be easier for them to click a button with their thumb rather than type. Some might be on a desktop, hitting 5-6 keys may be more comfortable than moving their hand across to the mouse. Others might be on voice via Alexa and can’t see any buttons at all.
You see, the best chatbot AI is one that, above all else, provides a seamless interaction.
If your chatbot was only going to live on Facebook Messenger, then the best chatbot AI may have been no AI at all. If it were an Alexa skill, then the best chatbot AI would have been the most accurate NLP you can deliver.
Uh oh, what if one user clicks a button and the other user types something? Do I disable text input? (I am looking at you, Facebook Messenger, and all your script bots). Do I force people to use one over the other?
Nope, none of that, you offer the best option: choice.
In this example, choice and ease-to-use came by presenting buttons and being prepared to use NLP to understand input (without the user knowing). As a little Brucie Bonus, it means your chatbot is already much more ubiquitous for use across other platforms...
So, in short.
The best chatbot AI is whatever AI is needed to give the user the best experience and get them to the end goal as soon as possible. This may include no AI at all.