User message. Once authenticated, the user sends a message to the bot. The bot reads the message and routes it to a natural language understanding service such as LUIS. This step gets the intents (what the user wants to do) and entities (what things the user is interested in). The bot then builds a query that it passes to a service that serves information, such as Azure Search for document retrieval, QnA Maker for FAQs, or a custom knowledge base. The bot uses these results to construct a response. To give the best result for a given query, the bot might make several back-and-forth calls to these remote services.
Online chatbots save time and efforts by automating customer support. Gartner forecasts that by 2020, over 85% of customer interactions will be handled without a human. However, the opportunites provided by chatbot systems go far beyond giving responses to customers’ inquiries. They are also used for other business tasks, like collecting information about users, helping to organize meetings and reducing overhead costs. There is no wonder that size of the chatbot market is growing exponentially.
One of the first stepping stones to this future are AI-powered messaging solutions, or conversational bots. A conversational bot is a computer program that works automatically and is skilled in communicating through various digital media—including intelligent virtual agents, organizations' apps, organizations' websites, social platforms and messenger platforms. Users can interact with such bots, using voice or text, to access information, complete tasks or execute transactions.
Chatbots are predicted to be progressively present in businesses and will automate tasks that do not require skill-based talents. Companies are getting smarter with touchpoints and customer service now comes in the form of instant messenger, as well as phone calls. IBM recently predicted that 85% of customer service enquiries will be handled by AI as early as 2020. The call centre workers may be particularly at risk from AI.
Closed domain chatbots focus on a specific knowledge domain, and these bots may fail to answer questions in other knowledge domains. For example, a restaurant booking conversational bot will be able to take your reservation, but may not respond to a question about the price of an air ticket. A user could hypothetically attempt to take the conversation elsewhere, however, closed domain chatbots are not required, nor often programmed to handle such cases.
Chatbots can have varying levels of complexity and can be stateless or stateful. A stateless chatbot approaches each conversation as if it was interacting with a new user. In contrast, a stateful chatbot is able to review past interactions and frame new responses in context. Adding a chatbot to a company's service or sales department requires low or no coding; today, a number of chatbot service providers that allow developers to build conversational user interfaces for third-party business applications.
Chatfuel is a platform that lets you build your own Chatbot for Messenger (and Telegram) for free. The only limit is if you pass more than 100,000 conversations per month, but for most businesses that won't be an issue. No understanding of code is required and it has a simple drag-and-drop interface. Think Wix/Squarespace for bots (side note: I have zero affiliation with Chatfuel).
A chatbot that functions through machine learning has an artificial neural network inspired by the neural nodes of the human brain. The bot is programmed to self-learn as it is introduced to new dialogues and words. In effect, as a chatbot receives new voice or textual dialogues, the number of inquiries that it can reply and the accuracy of each response it gives increases. Facebook has a machine learning chatbot that creates a platform for companies to interact with their consumers through the Facebook Messenger application. Using the Messenger bot, users can buy shoes from Spring, order a ride from Uber, and have election conversations with the New York Times which used the Messenger bot to cover the 2016 presidential election between Hilary Clinton and Donald Trump. If a user asked the New York Times through his/her app a question like “What’s new today?” or “What do the polls say?” the bot would reply to the request.
When one dialog invokes another, the Bot Builder adds the new dialog to the top of the dialog stack. The dialog that is on top of the stack is in control of the conversation. Every new message sent by the user will be subject to processing by that dialog until it either closes or redirects to another dialog. When a dialog closes, it's removed from the stack, and the previous dialog in the stack assumes control of the conversation.
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.
[In] artificial intelligence ... machines are made to behave in wondrous ways, often sufficient to dazzle even the most experienced observer. But once a particular program is unmasked, once its inner workings are explained ... its magic crumbles away; it stands revealed as a mere collection of procedures ... The observer says to himself "I could have written that". With that thought he moves the program in question from the shelf marked "intelligent", to that reserved for curios ... The object of this paper is to cause just such a re-evaluation of the program about to be "explained". Few programs ever needed it more.