Chatbots are used in a variety of sectors and built for different purposes. There are retail bots designed to pick and order groceries, weather bots that give you weather forecast of the day or week, and simply friendly bots that just talk to people in need of a friend. The fintech sector also uses chatbots to make consumers’ inquiries and application for financial services easier. A small business lender in Montreal, Thinking Capital, uses a virtual assistant to provide customers with 24/7 assistance through the Facebook Messenger. A small business hoping to get a loan from the company need only answer key qualification questions asked by the bot in order to be deemed eligible to receive up to $300,000 in financing.
This reference architecture describes how to build an enterprise-grade conversational bot (chatbot) using the Azure Bot Framework. Each bot is different, but there are some common patterns, workflows, and technologies to be aware of. Especially for a bot to serve enterprise workloads, there are many design considerations beyond just the core functionality. This article covers the most essential design aspects, and introduces the tools needed to build a robust, secure, and actively learning bot.
Kik Messenger, which has 275 million registered users, recently announced a bot store. This includes one bot to send people Vine videos and another for getting makeup suggestions from Sephora. Twitter has had bots for years, like this bot that tweets about earthquakes as soon as they’re registered or a Domino’s bot that allows you to order a pizza by tweeting a pizza emoji.
In a particularly alarming example of unexpected consequences, the bots soon began to devise their own language – in a sense. After being online for a short time, researchers discovered that their bots had begun to deviate significantly from pre-programmed conversational pathways and were responding to users (and each other) in an increasingly strange way, ultimately creating their own language without any human input.
Businesses are no exception to this rule. As more and more users now expect and prefer chat as a primary mode of communication, we’ll begin to see more and more businesses leveraging conversational AI to achieve business goals—just as Gartner predicts. It’s not just for the customer; your business can reduce operational costs and scale operations as well.
“The chat space is sort of the last unpolluted space [on your phone],” said Sam Mandel, who works at the startup studio Betaworks and is also building a weather bot for Slack called Poncho. “It’s like the National Park of people’s online experience. Right now, the way people use chat services, it’s really a good private space that you control.” (That, of course, could quickly go sour if early implementations are too spammy or useless.)
Even if it sounds crazy, chatbots might even challenge apps and websites! An app requires space, it has to be downloaded. Websites take time to load and most of them are pretty slow. A bot works instantly. You type something, it replies. Another great thing about them is that they bypass user interface and completely change how customers interact with your business. People will navigate your content by using their natural language.
If it happens to be an API call / data retrieval, then the control flow handle will remain within the ‘dialogue management’ component that will further use/persist this information to predict the next_action, once again. The dialogue manager will update its current state based on this action and the retrieved results to make the next prediction. Once the next_action corresponds to responding to the user, then the ‘message generator’ component takes over.
Chatbots are gaining popularity. Numerous chatbots are being developed and launched on different chat platforms. There are multiple chatbot development platforms like Dialogflow, Chatfuel, Manychat, IBM Watson, Amazon Lex, Mircrosft Bot framework, etc are available using which you can easily create your chatbots. If you are new to chatbot development field and want to jump…
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.
Some brands already seem to be getting the balance right. A bot needs to capture a user's attention quickly and display a healthy curiosity about their new acquaintance, but too much curiosity can easily push them into creepy territory and turn people off. They have to display more than a basic knowledge of human conversational patterns, but they can't claim to be an actual human -- again, let's keep things from getting too creepy here.
One pertinent field of AI research is natural language processing. Usually, weak AI fields employ specialized software or programming languages created specifically for the narrow function required. For example, A.L.I.C.E. uses a markup language called AIML, which is specific to its function as a conversational agent, and has since been adopted by various other developers of, so called, Alicebots. Nevertheless, A.L.I.C.E. is still purely based on pattern matching techniques without any reasoning capabilities, the same technique ELIZA was using back in 1966. This is not strong AI, which would require sapience and logical reasoning abilities.