This is the big one. We worked with one particular large publisher (can’t name names unfortunately, but hundreds of thousands of users) in two phases. We initially released a test phase that was sort of a “catch all”. Anyone could message a broad keyword to their bot and start a campaign. Although we had a huge number of users come in, engagement was relatively average (87% open rate and 27.05% click-through rate average over the course of the test). Drop off here was fairly high, about 3.14% of users had unsubscribed by the end of the test.
Having a conversation with a computer might have seemed like science fiction even a few years ago. But now, most of us already use chatbots for a variety of tasks. For example, as end users, we ask the virtual assistant on our smartphones to find a local restaurant and provide directions. Or, we use an online banking chatbot for help with a loan application.
The chatbot uses keywords that users type in the chat line and guesses what they may be looking for. For example, if you own a restaurant that has vegan options on the menu, you might program the word “vegan” into the bot. Then when users type in that word, the return message will include vegan options from the menu or point out the menu section that features these dishes.
You can structure these modules to flow in any way you like, ranging from free form to sequential. The Bot Framework SDK provides several libraries that allows you to construct any conversational flow your bot needs. For example, the prompts library allows you to ask users for input, the waterfall library allows you to define a sequence of question/answer pair, the dialog control library allows you to modularized your conversational flow logic, etc. All of these libraries are tied together through a dialogs object. Let's take a closer look at how modules are implemented as dialogs to design and manage conversation flows and see how that flow is similar to the traditional application flow.
No one wants to download another restaurant app and put in their credit-card information just to order. Livingston sees an opportunity in being able to come into a restaurant, scan a code, and have the restaurant bot appear in the chat. And instead of typing out all the food a person wants, the person should be able to, for example, easily order the same thing as last time and charge it to the same card.
A chatbot works in a couple of ways: set guidelines and machine learning. A chatbot that functions with a set of guidelines in place is limited in its conversation. It can only respond to a set number of requests and vocabulary, and is only as intelligent as its programming code. An example of a limited bot is an automated banking bot that asks the caller some questions to understand what the caller wants done. The bot would make a command like “Please tell me what I can do for you by saying account balances, account transfer, or bill payment.” If the customer responds with "credit card balance," the bot would not understand the request and would proceed to either repeat the command or transfer the caller to a human assistant.
It won’t be an easy march though once we get to the nitty-gritty details. For example, I heard through the grapevine that when Starbucks looked at the voice data they collected from customer orders, they found that there are a few millions unique ways to order. (For those in the field, I’m talking about unique user utterances.) This is to be expected given the wild combinations of latte vs mocha, dairy vs soy, grande vs trenta, extra-hot vs iced, room vs no-room, for here vs to-go, snack variety, spoken accent diversity, etc. The AI practitioner will soon curse all these dimensions before taking a deep learning breath and getting to work. I feel though that given practically unlimited data, deep learning is now good enough to overcome this problem, and it is only a matter of couple of years until we see these TODA solutions deployed. One technique to watch is Generative Adversarial Nets (GAN). Roughly speaking, GAN engages itself in an iterative game of counterfeiting real stuffs, getting caught by the police neural network, improving counterfeiting skill, and rinse-and-repeating until it can pass as your Starbucks’ order-taking person, given enough data and iterations.
However, since Magic simply connects you with human operators who carry our your requests, the service does not leverage AI to automate its processes, and thus the service is expensive and thus may lack mainstream potential. The company recently launched a premium service called Magic+ which gets you higher level service for $100 per hour, indicating that it sees its market among business executives and other wealthy customers.
In a traditional application, the user interface (UI) is a series of screens. A single app or website can use one or more screens as needed to exchange information with the user. Most applications start with a main screen where users initially land and provide navigation that leads to other screens for various functions like starting a new order, browsing products, or looking for help.
If AI struggles with fourth-grade science question answering, should AI be expected to hold an adult-level, open-ended chit-chat about politics, entertainment, and weather? It is thus encouraging to see that Microsoft’s Satya Nadella did not give up on Tay after its debacle, and Amazon’s Jeff Bezos is sponsoring an Alexa social chatbot competition. I love this below quote from Jeff:
In this article, we shed a spotlight on 7 real-world chatbots/virtual assistants across industries that are in action and reaping value for their parent companies. From streamlined operations and saved human productivity to increased customer engagement, the following examples are worth a read if you’ve ever considered leveraging chatbot technology for your business (or are curious about the possibilities).