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.
Oftentimes, brands have a passive approach to customer interactions. They only communicate with their audience once a consumer has contacted them first. A chatbot automatically sends a welcome notification when a person arrives on your website or social media profile making the user aware of your chatbots presence. This makes you seem more proactive, thus enhancing your brand's reputation and can even increase interactions, having a positive effect on your sales numbers, too.
As the above chart (source) illustrates, email click-rate has been steadily declining. Whilst open rates seem to be increasing - largely driven by mobile - the actual engagement from email is nosediving. Not only that, but it's becoming more and more difficult to even reach someone's email inbox; Google's move to separate out promotional emails into their 'promotions' tab and increasing problems of email deliverability have been top reasons behind this.
“HubSpot's GrowthBot is an all-in-one chatbot which helps marketers and sales people be more productive by providing access to relevant data and services using a conversational interface. With GrowthBot, marketers can get help creating content, researching competitors, and monitoring their analytics. Through Amazon Lex, we're adding sophisticated natural language processing capabilities that helps GrowthBot provide a more intuitive UI for our users. Amazon Lex lets us take advantage of advanced AI and machine learning without having to code the algorithms ourselves.”
As people research, they want the information they need as quickly as possible and are increasingly turning to voice search as the technology advances. Email inboxes have become more and more cluttered, so buyers have moved to social media to follow the brands they really care about. Ultimately, they now have the control — the ability to opt out, block, and unfollow any brand that betrays their trust.
World Environment Day 2019 is focusing on climate change, and more specifically air pollution, what causes it, and importantly, what we can do about it. Through a range of blogs and an in-depth look at current vocabulary on the topic, we highlight some of the words you may need to know to be able to take part in arguably one of the most important discussions of our time.
3. Now, since ours is a conversational AI bot, we need to keep track of the conversations happened thus far, to predict an appropriate response. For this purpose, we need a dictionary object that can be persisted with information about the current intent, current entities, persisted information that user would have provided to bot’s previous questions, bot’s previous action, results of the API call (if any). This information will constitute our input X, the feature vector. The target y, that the dialogue model is going to be trained upon will be ‘next_action’ (The next_action can simply be a one-hot encoded vector corresponding to each actions that we define in our training data).
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.
Intents: It is basically the action chatbot should perform when the user say something. For instance, intent can trigger same thing if user types “I want to order a red pair of shoes”, “Do you have red shoes? I want to order them” or “Show me some red pair of shoes”, all of these user’s text show trigger single command giving users options for Red pair of shoes.
Regardless of which type of classifier is used, the end-result is a response. Like a music box, there can be additional “movements” associated with the machinery. A response can make use of external information (like weather, a sports score, a web lookup, etc.) but this isn’t specific to chatbots, it’s just additional code. A response may reference specific “parts of speech” in the sentence, for example: a proper noun. Also the response (for an intent) can use conditional logic to provide different responses depending on the “state” of the conversation, this can be a random selection (to insert some ‘natural’ feeling).
Conversational bots can help a business’s customers with difficult transactions, plus collect data and give recommendations. For example, a conversational bot integrated to an airline’s website can answer questions regarding flight availability, rebook tickets, fees and suggest add-ons like hotels. Though a conversational bot may not be able to finish the exchanges, it could still be able to gather preliminary data and pass it on to the next available customer care agent. In both cases, the airline will save considerable time in its call center.
Another benefit is that your chatbot can store information on the types of questions it’s being asked. Not only does this make the chatbot better equipped to answer future questions and upsell additional products, it gives you a better understanding of what your customers need to know to close the deal. With this information, you’ll be better equipped to market more effectively to your customers in the future.
Each student learns and absorbs things at a different pace and requires a specific methodology of teaching. Consequently, one of the most powerful advantages of getting educated by a chatbot is its flexibility and ability to adapt to specific needs and requirements of a particular student. Chatbots can be used in a wide spectrum, be it teaching people how to build websites, learn a new language, or something more generic like teach children Math. Chatbots are capable of adapting to the speed at which each student is comfortable - without being too pushy and overwhelming.
However, chatbots are not just limited to answering queries and providing basic knowledge. They can work as an aid to the teacher/instructor by identifying spelling and grammatical mistakes with precision, checking homework, assigning projects, and, more importantly, keeping track of students' progress and achievements. A human can only do so much, whereas a bot has virtually an infinite capacity to store and analyse all data.
I've come across this challenge many times, which has made me very focused on adopting new channels that have potential at an early stage to reap the rewards. Just take video ads within Facebook as an example. We're currently at a point where video ads are reaching their peak; cost is still relatively low and engagement is high, but, like with most ad platforms, increased competition will drive up those prices and make it less and less viable for smaller companies (and larger ones) to invest in it.
Chatbots can strike up a conversation with any customer about any issue at any time of day. They engage in friendly interactions with customers. Besides, virtual assistants only give a bit of information at a time. This way they don’t tire customers with irrelevant and unnecessary information. Chatbots can maintain conversations and keep customers on your website longer.
When you have a desperate need for a java fix with minimal human interaction and effort, this bot has you covered. According to a demo led by Gerri Martin-Flickinger, the coffee chain's chief technology officer, the bot even understands complex orders with special requests, like "double upside down macchiato half decaf with room and a splash of cream in a grande cup."
“Today, chat isn’t yet being perceived as an engagement driver, but more of a customer service operation[…]” Horwitz writes for Chatbots Magazine. “Brands and marketers can start collecting data around the engagement and interaction of end users. Those that are successful could see higher brand recognition, turning user-level mobile moments into huge returns.”
The most widely used anti-bot technique is the use of CAPTCHA, which is a form of Turing test used to distinguish between a human user and a less-sophisticated AI-powered bot, by the use of graphically-encoded human-readable text. Examples of providers include Recaptcha, and commercial companies such as Minteye, Solve Media, and NuCaptcha. Captchas, however, are not foolproof in preventing bots as they can often be circumvented by computer character recognition, security holes, and even by outsourcing captcha solving to cheap laborers.
Through our preview journey in the past two years, we have learned a lot from interacting with thousands of customers undergoing digital transformation. We highlighted some of our customer stories (such as UPS, Equadex, and more) in our general availability announcement. This post covers conversational AI in a nutshell using Azure Bot Service and LUIS, what we’ve learned so far, and dive into the new capabilities. We will also show how easy it is to get started in building a conversational bot with natural language.
Simple chatbots work based on pre-written keywords that they understand. Each of these commands must be written by the developer separately using regular expressions or other forms of string analysis. If the user has asked a question without using a single keyword, the robot can not understand it and, as a rule, responds with messages like “sorry, I did not understand”.

Consumers really don’t like your chatbot. It’s not exactly a relationship built to last — a few clicks here, a few sentences there — but Forrester Analytics data shows us very clearly that, to consumers, your chatbot isn’t exactly “swipe right” material. That’s unfortunate, because using a chatbot for customer service can be incredibly effective when done […]


For as long as I can remember, email has been a fundamentally important channel for a large majority of businesses. The ability to market products directly through a channel that scales up to an incredibly high ceiling is very attractive. The only problem is that it's costing more and more money to acquire email addresses from potential customers, and the engagement from email is getting worse and worse.

This machine learning algorithm, known as neural networks, consists of different layers for analyzing and learning data. Inspired by the human brain, each layer is consists of its own artificial neurons that are interconnected and responsive to one another. Each connection is weighted by previous learning patterns or events and with each input of data, more "learning" takes place.
This machine learning algorithm, known as neural networks, consists of different layers for analyzing and learning data. Inspired by the human brain, each layer is consists of its own artificial neurons that are interconnected and responsive to one another. Each connection is weighted by previous learning patterns or events and with each input of data, more "learning" takes place.
Not integrated. This goes hand-in-hand with the contextual knowledge, but chatbots often suffer from “death by data silo” where their access to data is limited. If a chatbot is “chatting with” a customer, they not only need to access the contextual data of their customer but also have access to every place where the answer to the customer’s question may reside. Product documentation site, customer community, different websites are all places where that answer can be.

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.


Another option is to integrate your own custom AI service. This approach is more complex, but gives you complete flexibility in terms of the machine learning algorithm, training, and model. For example, you could implement your own topic modeling and use algorithm such as LDA to find similar or relevant documents. A good approach is to expose your custom AI solution as a web service endpoint, and call the endpoint from the core bot logic. The web service could be hosted in App Service or in a cluster of VMs. Azure Machine Learning provides a number of services and libraries to assist you in training and deploying your models.

…utilizing chat, messaging, or other natural language interfaces (i.e. voice) to interact with people, brands, or services and bots that heretofore have had no real place in the bidirectional, asynchronous messaging context. The net result is that you and I will be talking to brands and companies over Facebook Messenger, WhatsApp, Telegram, Slack, and elsewhere before year’s end, and will find it normal.

If you’re a B2B marketer, you’re likely already familiar with how important it is to properly nurture leads. After all, not all leads are created equal, and getting leads in front of the right sales reps at the right time is much easier said than done. When clients are considering a purchase, especially those that come at a higher cost, they require a great deal of information and detail before committing to a purchase.
ALICE – which stands for Artificial Linguistic Internet Computer Entity, an acronym that could have been lifted straight out of an episode of The X-Files – was developed and launched by creator Dr. Richard Wallace way back in the dark days of the early Internet in 1995. (As you can see in the image above, the website’s aesthetic remains virtually unchanged since that time, a powerful reminder of how far web design has come.) 
The chatbot is trained to translate the input data into a desired output value. When given this data, it analyzes and forms context to point to the relevant data to react to spoken or written prompts. Looking into deep learning within AI, the machine discovers new patterns in the data without any prior information or training, then extracts and stores the pattern.

These are one of the major tools applied in machine learning. They are brain-inspired processing tools that actually replicate how humans learn. And now that we’ve successfully replicated the way we learn, these systems are capable of taking that processing power to a level where even greater volumes of more complex data can be understood by the machine.

Die meisten Chatbots greifen auf eine vorgefertigte Datenbank, die sog. Wissensdatenbank mit Antworten und Erkennungsmustern, zurück. Das Programm zerlegt die eingegebene Frage zuerst in Einzelteile und verarbeitet diese nach vorgegebenen Regeln. Dabei können Schreibweisen harmonisiert (Groß- und Kleinschreibung, Umlaute etc.), Satzzeichen interpretiert und Tippfehler ausgeglichen werden (Preprocessing). Im zweiten Schritt erfolgt dann die eigentliche Erkennung der Frage. Diese wird üblicherweise über Erkennungsmuster gelöst, manche Chatbots erlauben darüber hinaus die Verschachtelung verschiedener Mustererkennungen über sogenannte Makros. Wird eine zur Frage passende Antwort erkannt, kann diese noch angepasst werden (beispielsweise können skriptgesteuert berechnete Daten eingefügt werden – „In Ulm sind es heute 37 °C.“). Diesen Vorgang nennt man Postprocessing. Die daraus entstandene Antwort wird dann ausgegeben. Moderne kommerzielle Chatbot-Programme erlauben darüber hinaus den direkten Zugriff auf die gesamte Verarbeitung über eingebaute Skriptsprachen und Programmierschnittstellen.
Not integrated. This goes hand-in-hand with the contextual knowledge, but chatbots often suffer from “death by data silo” where their access to data is limited. If a chatbot is “chatting with” a customer, they not only need to access the contextual data of their customer but also have access to every place where the answer to the customer’s question may reside. Product documentation site, customer community, different websites are all places where that answer can be.

[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.[8]
×