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.
Prashant Sridharan, Twitter’s global director of developer relations says: “I’ve seen a lot of hyperbole around bots as the new apps, but I don’t know if I believe that. I don’t think we’re going to see this mass exodus of people stopping building apps and going to build bots. I think they’re going to build bots in addition to the app that they have or the service they provide,” as reported by re/code.
The classic historic early chatbots are ELIZA (1966) and PARRY (1972).[5] More recent notable programs include A.L.I.C.E., Jabberwacky and D.U.D.E (Agence Nationale de la Recherche and CNRS 2006). While ELIZA and PARRY were used exclusively to simulate typed conversation, many chatbots now include functional features such as games and web searching abilities. In 1984, a book called The Policeman's Beard is Half Constructed was published, allegedly written by the chatbot Racter (though the program as released would not have been capable of doing so).[6]
The trained neural network is less code than an comparable algorithm but it requires a potentially large matrix of “weights”. In a relatively small sample, where the training sentences have 150 unique words and 30 classes this would be a matrix of 150x30. Imagine multiplying a matrix of this size 100,000 times to establish a sufficiently low error rate. This is where processing speed comes in.

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).
The main challenge is in teaching a chatbot to understand the language of your customers. In every business, customers express themselves differently and each group of a target audience speaks its own way. The language is influenced by advertising campaigns on the market, the political situation in the country, releases of new services and products from Google, Apple and Pepsi among others. The way people speak depends on their city, mood, weather and moon phase. An important role in the communication of the business with customers may have the release of the film Star Wars, for example. That’s why training a chatbot to understand correctly everything the user types requires a lot of efforts.

In a traditional application, the user interface (UI) consists of a series of screens, and 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 that screen provides navigation that leads to other screens for various functions like starting a new order, browsing products, or looking for help.
Simply put, chatbots are computer programs designed to have conversations with human users. Chances are you’ve interacted with one. They answer questions, guide you through a purchase, provide technical support, and can even teach you a new language. You can find them on devices, websites, text messages, and messaging apps—in other words, they’re everywhere.
This is a lot less complicated than it appears. Given a set of sentences, each belonging to a class, and a new input sentence, we can count the occurrence of each word in each class, account for its commonality and assign each class a score. Factoring for commonality is important: matching the word “it” is considerably less meaningful than a match for the word “cheese”. The class with the highest score is the one most likely to belong to the input sentence. This is a slight oversimplification as words need to be reduced to their stems, but you get the basic idea.
Derived from “chat robot”, "chatbots" allow for highly engaging, conversational experiences, through voice and text, that can be customized and used on mobile devices, web browsers, and on popular chat platforms such as Facebook Messenger, or Slack. With the advent of deep learning technologies such as text-to-speech, automatic speech recognition, and natural language processing, chatbots that simulate human conversation and dialogue can now be found in call center and customer service workflows, DevOps management, and as personal assistants.
All of these conversational technologies employ natural-language-recognition capabilities to discern what the user is saying, and other sophisticated intelligence tools to determine what he or she truly needs to know. These technologies are beginning to use machine learning to learn from interactions and improve the resulting recommendations and responses.

LV= also benefitted as a larger company. According to Hickman, “Over the (trial) period, the volume of calls from broker partners reduced by 91 per cent…that means is aLVin was able to provide a final answer in around 70 per cent of conversations with the user, and only 22 per cent of those conversations resulted in [needing] a chat with a real-life agent.”
Niki is a personal assistant that has been developed in India to perform an impressively wide variety of tasks, including booking taxis, buses, hotels, movies and events, paying utilities and recharging your phone, and even organizing laundry pickup and delivery. The application has proven to be a huge success across India and won the Deep Tech prize at the 2017 AWS Mobility Awards.
As VP of Coveo’s Platform line of business, Gauthier Robe oversees the company’s Intelligent Search Platform and roadmap, including Coveo Cloud, announced in June 2015. Gauthier is passionate about using technology to improve customers’ and people’s lives. He has over a decade of international experience in the high-tech industry and deep knowledge of Cloud Computing, electronics, IoT, and product management. Prior to Coveo, Gauthier worked for Amazon Web Services and held various positions in high-tech consulting firms, helping customers envision the future and achieve its potential. Gauthier resides in the Boston area and has an engineering degree from UCL & MIT. In his spare time, Gauthier enjoys tinkering with new technologies and connected devices.
Other companies explore ways they can use chatbots internally, for example for Customer Support, Human Resources, or even in Internet-of-Things (IoT) projects. Overstock.com, for one, has reportedly launched a chatbot named Mila to automate certain simple yet time-consuming processes when requesting for a sick leave.[31] Other large companies such as Lloyds Banking Group, Royal Bank of Scotland, Renault and Citroën are now using automated online assistants instead of call centres with humans to provide a first point of contact. A SaaS chatbot business ecosystem has been steadily growing since the F8 Conference when Facebook's Mark Zuckerberg unveiled that Messenger would allow chatbots into the app.[32] In large companies, like in hospitals and aviation organizations, IT architects are designing reference architectures for Intelligent Chatbots that are used to unlock and share knowledge and experience in the organization more efficiently, and reduce the errors in answers from expert service desks significantly.[33] These Intelligent Chatbots make use of all kinds of artificial intelligence like image moderation and natural language understanding (NLU), natural language generation (NLG), machine learning and deep learning.
×