“Bot” is a hilariously over-simplified buzzword. Let’s fix that.
The bots are coming. And they will be everywhere, like Facebook Messenger where they’ll be deployed to 900mm+ users. Some will deliver you tacos. Some will go on racist tirades. But here’s the thing: not all bots are created equal. While “bot” is a great over-arching term for a collection of happenings all boiling down to a trend, I think there needs to be a bit more clarity on what these things are and what they’re expected to do.
To start, here’s how Wikipedia defines it broadly:
In computer science, a software agent is a computer program that acts for a user or other program in a relationship of agency, which derives from the Latin agere (to do): an agreement to act on one’s behalf. Such “action on behalf of” implies the authority to decide which, if any, action is appropriate. Agents are colloquially known as bots, from robot.
So in its most basic form, a “bot” is a bit of software that makes something happen. The most recent surge of use of the term mostly has to do with something Wikipedia calls a “chatterbot” which is now colloquially referred to as a “chatbot.” There’s basically just a computer program that can converse, presumably like a human.
A chatterbot (also known as a talkbot, chatbot, Bot, chatterbox, Artificial Conversational Entity) is a computer program which conducts a conversation via auditory or textual methods.
Now that we’ve got that bit of background, let’s dive into the various subtypes of the “chatbot” that we’ve seen in recent months.
The scripted bot is a bot that will converse with a person based entirely off of a pre-programmed script. They use a decision tree model and depending on how the customer interfaces with it, might also employ a dialog tree to craft structured responses.
Sometimes a scripted bot may use natural language processing to be able to parse words that could fulfill an answer to a question in their script. By focusing the range of possibilities we’re able to use NLP more effectively through creating a smaller dictionary the software would need to understand. That means that if you’re building a scripted bot to handle travel and accommodations, you could focus what you “teach” that bot or program the script to recognize words relating to travel, rather than an endless possibility of words.
One example of this nature of bots are those being built by Assist, who I’m working with as a Product Advisor. (I’ve been so damned interested in the space lately that I had to get my hands dirty.) In Zuckerberg’s F8 Keynote he showed off 1-800-Flowers on Messenger, whose experience Assist is powering. The flower ordering experience works entirely off a decision tree and script. Customers can navigate quickly through a series of options that allows them to purchase arrangements so much faster than using the web or an app. The underlying bot never deviates from the script, but the customer’s expectations are narrowed by the scope of what’s possible with it. That helps ensure a high quality user experience.
Now, obviously people will be people and deviate from the “script.” When that does happen, the experience is seamlessly handed off to a customer service agent sitting in front of a terminal. They’re then able to handle any sort of customer support they might need.
The scripted bot is the most simplistic of the chatbots, but arguably all that many businesses will really need.
While this is probably the most talked about possibility, the reality of the artificially intelligent bot is still a little ways away. The promise is this: an AI bot should be able to handle just about everything you’re able to throw at it. One added wrinkle in how these will be built is whether it needs to pass the “Turing test”—a test created by the brilliant computer scientist Alan Turing in the 1950’s to judge whether or not an artificial intelligence is indistinguishable from a human. If you want to see for yourself what this is all about, check out the movie Ex Machina. It’s pretty awesome.
In my opinion it’s not actually that important for an AI bot to pass the Turing test. As long as the bot can fulfill the requests of the user, it doesn’t yet matter whether or not the end user can’t tell if they’re talking to a human or not. We’re still a long way away from a bot that can pass the test most of the time, but a few years ago one did actually stump 33% of its testers.
While the prospect and potential of AI bots is massive, they’re simply not practical for a while longer. There have been major strides with artificial intelligence lately, especially given the advancements in deep learning, but scope is still a big question.
Imagine that you had to learn all words and uses of the words of an entire language. And then with all of those words, all potential combinations of the words and their meaning. That’s essentially what we’d ask of an open-possibility AI bot. By paring down the expectations of the bot, and perhaps reigning in the scope of what it does, we’re able to get a much better experience. An AI bot that you’re able to converse with about which movie to see would likely be much more effective and useful currently, than a bot that you could “ask anything” of.
While many are trying to build a truly artificially intelligent bot, there are major milestones that are yet to be solved, leading us to the necessity of next kind of bot.
Seemingly the most popular approach to bots right now (or at least the most media-covered one) is the agent-assisted bot. Essentially this is one where an AI is in use as the first-to-respond entity, falling back on a person (or agent as well call them) if the AI doesn’t know how to respond effectively.
Some examples of this type of bot would be Facebook’s M, Fin, and Clara. The goal of the agent-assisted bot is to try and fulfill requests using the AI as often as possible, and only when absolutely necessary fall back on an agent to handle the request. Once the request is in the hands of an agent though, the goal is to then teach the AI how better to respond, or at least understand the request. Over time one assumes that the AI will get better and better, eventually reducing the dependency for people to respond altogether.
While this definitely feels like a “best of both worlds” approach, and makes for a really great way to ensure customer satisfaction, there’s no doubt this approach can be expensive.
I’ve seen some folks ask some extremely complex things of these bots, to test their limits. It’s quite clear in most of these cases that agents are taking over for the AI due to the request’s complex nature. Something like “find me an around-the-world trip that’s the least expensive, has the fewest layovers, and hits seven of the best countries for architectural sights” would be a breeze for a well-trained AI but would otherwise take quite a while for a human agent to fulfil. Yet because we’re still not there in terms of the AI, people are performing these tasks currently.
There’s an added wrinkle in this prospect too…what happens when the bot needs to talk to a third party? Imagine you asked a bot “why is my mobile phone bill so high?” One might assume the AI can handle that request, discovering the root causes of a pricey invoice, but one more question and it might have an issue: “Can you remove the international data coverage from my plan?” You’re expecting the bot to handle this request, but what if there’s no direct API connection between the bot and the mobile service provider? Then it’s time for human interaction…the AI will likely need to enlist the help of an agent to hop on the phone with that company.
It really feels like there’s a big race going on right now with companies trying to build the best of these kinds of bots. But whoever “completes” their AI faster, or at least dramatically reduces their dependencies on humans, will ensure a better experience. It will be better, faster, cheaper, and that company will win (at least for whatever space they’re targeting).
Are there more?
Honestly this is all that I’ve come up with so far in terms of how to distinguish the bots, and how we might talk about them. If another type of bot comes to mind please respond to this post and I’d be happy to recommend it.
I’m excited to see how this space unfolds. In the time that I’ve been working with Assist it’s been clear that the whole industry is looking to bots as the next big wave of computing…first it was the web, then apps, now bots and messaging. Last year I wrote a highly speculative piece on what it might be like for Apple to develop a conversational UI-driven messaging experience. Today Facebook announced their own, and it was damn close to what I’d proposed. By adding bots into the mix here we’re bound to see all kinds of amazing possibilities.
Bots are here. And it’s exciting.