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.
Automation will be central to the next phase of digital transformation, driving new levels of customer value such as faster delivery of products, higher quality and dependability, deeper personalization, and greater convenience. Last year, Forrester predicted that automation would reach a tipping point — altering the workforce, augmenting employees, and driving new levels of customer value. Since then, […]
Facebook Messenger chat bots are a way to communicate with the companies and services that you use directly through Messenger. The goal of chat bots is to minimize the time you would spend waiting on hold or sifting through automated phone menus. By using keywords and short phrases, you can get information and perform tasks all through the Messenger app. For example, you could use bots to purchase clothing, or check the weather by asking the bot questions. Bot selection is limited, but more are being added all the time. You can also interact with bots using the Facebook website.
When we open our news feed and find out about yet another AI breakthrough—IBM Watson, driverless cars, AlphaGo — the notion of TODA may feel decidedly anti-climatic. The reality is that the current AI is not quite 100% turnkey-ready for TODA. This will soon change due to two key factors: 1) businesses want it, and 2) businesses have abundant data, the fuel that the current state-of-the-art machine learning techniques need to make AI work.
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).
Malicious chatbots are frequently used to fill chat rooms with spam and advertisements, by mimicking human behavior and conversations or to entice people into revealing personal information, such as bank account numbers. They are commonly found on Yahoo! Messenger, Windows Live Messenger, AOL Instant Messenger and other instant messaging protocols. There has also been a published report of a chatbot used in a fake personal ad on a dating service's website.
I argued that it is super hard to scale a one-trick TODA into a general assistant that helps the user getting things done across multiple tasks. An intelligence assistant is arguably expected to hold an informal chit-chat with the user. It is this area where we are staring into perhaps the biggest challenge of AI. Observe how Samantha introduces herself to Joaquin Phoenix’s Ted in the clip below:
A chatbot (sometimes referred to as a chatterbot) is programming that simulates the conversation or "chatter" of a human being through text or voice interactions. Chatbot virtual assistants are increasingly being used to handle simple, look-up tasks in both business-to-consumer (B2C) and business-to-business (B2B) environments. The addition of chatbot assistants not only reduces overhead costs by making better use of support staff time, it also allows companies to provide a level of customer service during hours when live agents aren't available.
A malicious use of bots is the coordination and operation of an automated attack on networked computers, such as a denial-of-service attack by a botnet. Internet bots can also be used to commit click fraud and more recently have seen usage around MMORPG games as computer game bots. A spambot is an internet bot that attempts to spam large amounts of content on the Internet, usually adding advertising links. More than 94.2% of websites have experienced a bot attack.
[…] But how can simple code assimilate something as complex as speech in only the span of a handful of years? It took humans hundreds of generations to identify, compose and collate the English language. Chatbots have a one up on humans, because of the way they dissect the vast data given to them. Now that we have a grip on the basics, we’ll understand how chatbots work in the next series. […]
Perhaps the most important aspect of implementing a chatbot is selecting the right natural language processing (NLP) engine. If the user interacts with the bot through voice, for example, then the chatbot requires a speech recognition engine. Business owners also have to decide whether they want structured or unstructured conversations. Chatbots built for structured conversations are highly scripted, which simplifies programming but restricts the kinds of things that the users can ask.
As you roll out new features or bug fixes to your bot, it's best to use multiple deployment environments, such as staging and production. Using deployment slots from Azure DevOps allows you to do this with zero downtime. You can test your latest upgrades in the staging environment before swapping them to the production environment. In terms of handling load, App Service is designed to scale up or out manually or automatically. Because your bot is hosted in Microsoft's global datacenter infrastructure, the App Service SLA promises high availability.
There is a general worry that the bot can’t understand the intent of the customer. The bots are first trained with the actual data. Most companies that already have a chatbot must be having logs of conversations. Developers use that logs to analyze what customers are trying to ask and what does that mean. With a combination of Machine Learning models and tools built, developers match questions that customer asks and answers with the best suitable answer. For example: If a customer is asking “Where is my payment receipt?” and “I have not received a payment receipt”, mean the same thing. Developers strength is in training the models so that the chatbot is able to connect both of those questions to correct intent and as an output produces the correct answer. If there is no extensive data available, different APIs data can be used to train the chatbot.
Since 2016 when Facebook allows businesses to deliver automated customer support, e-commerce guidance, content and interactive experiences through chatbots, a large variety of chatbots for Facebook Messenger platform were developed. In 2016, Russia-based Tochka Bank launched the world's first Facebook bot for a range of financial services, in particularly including a possibility of making payments.  In July 2016, Barclays Africa also launched a Facebook chatbot, making it the first bank to do so in Africa.