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.
If you are looking for another paid platform, Beep Boop may be your next stop. It is a hosting platform that is designed for developers looking to make apps for Facebook Messenger and Slack specifically. First, set up your code using Github, the popular version control repository and Internet hosting service, then input it into the Beep Boop platform to link it with your Facebook Messenger or Slack application. The bots will then be able to interact with your customers with real-time chat and messaging.
These are just a few of the most inspirational chatbot startups from the last year, with numerous others around the globe currently receiving acclaim for how quickly and innovatively they are using AI to change the world. With development becoming more intuitive and accessible to people all over the world, we can expect to see more startups using new technology to solve old problems.
To be more specific, understand why the client wants to build a chatbot and what the customer wants their chatbot to do. Finding answers to this query will guide the designer to create conversations aimed at meeting end goals. When the designer knows why the chatbot is being built, they are better placed to design the conversation with the chatbot.
At this year’s I/O, Google announced its own Facebook Messenger competitor called Allo. Apart from some neat features around privacy and self-expression, the really interesting part of Allo is @google, the app’s AI digital assistant. Google’s assistant is interesting because the company has about a decades-long head start in machine learning applied to search, so its likely that Allo’s chatbot will be very useful. In fact, you could see Allo becoming the primary interface for interacting with Google search over time. This interaction model would more closely resemble Larry Page’s long-term vision for search, which goes far beyond the clumsy search query + results page model of today:
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.
If the success of WeChat in China is any sign, these utility bots are the future. Without ever leaving the messaging app, users can hail a taxi, video chat a friend, order food at a restaurant, and book their next vacation. In fact, WeChat has become so ingrained in society that a business would be considered obsolete without an integration. People who divide their time between China and the West complain that leaving this world behind is akin to stepping back in time.
To inspire the next generation of explorers, NASA reaches out to students in schools, community organizations, and public events. A star robotic ambassador is “Rov-E,” a close replica of real NASA Mars rovers. Through Amazon Lex, NASA staff can now easily navigate Rov-E via voice commands -- an effective conversational interface when speaking with large crowds. Multi-turn dialog management capability enables Rov-E "to talk,” answering students’ questions about Mars in an engaging way. Integration with AWS services allows Rov-E to connect and scale with various data sources to retrieve NASA’s Mars exploration information. 
For each kind of question, a unique pattern must be available in the database to provide a suitable response. With lots of combination on patterns, it creates a hierarchical structure. We use algorithms to reduce the classifiers and generate the more manageable structure. Computer scientists call it a “Reductionist” approach- in order to give a simplified solution, it reduces the problem.
With natural language processing (NLP), a bot can understand what a human is asking. The computer translates the natural language of a question into its own artificial language. It breaks down human inputs into coded units and uses algorithms to determine what is most likely being asked of it. From there, it determines the answer. Then, with natural language generation (NLG), it creates a response. NLG software allows the bot to construct and provide a response in the natural language format.
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.[35] 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. [36] In July 2016, Barclays Africa also launched a Facebook chatbot, making it the first bank to do so in Africa. [37]
I will not go into the details of extracting each feature value here. It can be referred from the documentation of rasa-core link that I provided above. So, assuming we extracted all the required feature values from the sample conversations in the required format, we can then train an AI model like LSTM followed by softmax to predict the next_action. Referring to the above figure, this is what the ‘dialogue management’ component does. Why LSTM is more appropriate? — As mentioned above, we want our model to be context aware and look back into the conversational history to predict the next_action. This is akin to a time-series model (pls see my other LSTM-Time series article) and hence can be best captured in the memory state of the LSTM model. The amount of conversational history we want to look back can be a configurable hyper-parameter to the model.
Les premières formes historiques de chatbots ont été utilisées sous forme d’agents virtuels mis à disposition sur les sites web et utilisant le plus souvent une image ou un avatar humain. Le terme de chatbot est désormais principalement utilisé pour désigner les chatbots proposés sur les réseaux sociaux et notamment les chatbots Facebook Messenger ou ceux intégrés au sein d’applications mobiles ou sites web. Appliqués au domaine des enceintes intelligentes et autres assistants intelligents, les chatbots peuvent devenir des voicebots.
Pop-culture references to Skynet and a forthcoming “war against the machines” are perhaps a little too common in articles about AI (including this one and Larry’s post about Google’s RankBrain tech), but they do raise somewhat uncomfortable questions about the unexpected side of developing increasingly sophisticated AI constructs – including seemingly harmless chatbots.
It’s not all doom and gloom for chatbots. Chatbots are a stopgap until virtual assistants are able to tackle all of our questions and concerns, regardless of the site or platform. Virtual assistants will eventually connect to everything in your digital life, from websites to IoT-enabled devices. Rather than going through different websites and speaking to various different chatbots, the virtual assistant will be the platform for finding the answers you need. If these assistants are doing such a good job, why would you even bother to use a branded chatbot? Realistically this won’t take place for sometime, due to the fragmentation of the marketplace.
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.
Indeed, this is one of the key benefits of chatbots – providing a 24/7/365 presence that can give prospects and customers access to information no matter when they need it. This, in turn, can result in cost-savings for companies that deploy chatbots, as they cut down on the labour-hours that would be required for staff to manage a direct messaging service every hour of the week.
The chatbot must rely on spoken or written communications to discover what the shopper or user wants and is limited to the messaging platform’s capabilities when it comes to responding to the shopper or user. This requires a much better understanding of natural language and intent. It also means that developers must write connections to several different platforms, again like Messenger or Slack, if the chatbot is to have the same potential reach as a website.
As AOL's David Shingy writes in Adweek, "The challenge [with chatbots] will be thinking about creative from a whole different view: Can we have creative that scales? That customizes itself? We find ourselves hurtling toward another handoff from man to machine -- what larger system of creative or complex storytelling structure can I design such that a machine can use it appropriately and effectively?"
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. utilises 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.
Chatbots can direct customers to a live agent if the AI can’t settle the matter. This lets human agents focus their efforts on the heavy lifting. AI chatbots also increase employee productivity. Globe Telecom automated their customer service via Messenger and saw impressive results. The company increased employee productivity by 3.5 times. And their customer satisfaction increased by 22 percent.

Clare.AI is a frontend assistant that provides modern online banking services. This virtual assistant combines machine learning algorithms with natural language processing. The Clare.AI algorithm is trained to respond to customer service FAQs, arrange appointments, conduct internal inquiries for IT and HR, and help customers control their finances via their favorite messaging apps (WhatsApp, Facebook, WeChat, etc.). It can even draw a chart showing customers how they’ve spent their money.
The upcoming TODA agents are good at one thing, and one thing only. As Facebook found out with the ambitious Project M, building general personal assistants that can help users in multiple tasks (cross-domain agents) is hard. Think awfully hard. Beyond the obvious increase in scope, knowledge, and vocabulary, there is no built-in data generator that feeds the hungry learning machine (sans an unlikely concerted effort to aggregate the data silos from multiple businesses). The jury is out whether the army of human agents that Project M employs can scale, even with Facebook’s kind of resources. In addition, cross-domain agents will probably need major advances in areas such as domain adaptation, transfer learning, dialog planning and management, reinforcement/apprenticeship learning, automatic dialog evaluation, etc.

These are hardly ideas of Hollywood’s science fiction. Even when the Starbucks bot can sound like Scarlett Johansson’s Samantha, the public will be unimpressed — we would prefer a real human interaction. Yet the public won’t have a choice; efficient task-oriented dialog agents will be the automatic vending machines and airport check-in kiosks of the near future.


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.
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.

The front-end app you develop will interact with an AI application. That AI application—usually a hosted service—is the component that interprets user data, directs the flow of the conversation and gathers the information needed for responses. You can then implement the business logic and any other components needed to enable conversations and deliver results.


Lack contextual awareness. Not everyone has all of the data that Google has – but chatbots today lack the awareness that we expect them to have. We assume that chatbot technology will know our IP address, browsing history, previous purchases, but that is just not the case today. I would argue that many chatbots even lack basic connection to other data silos to improve their ability to answer questions.
Its a chat-bot — For simplicity reasons in this article, it is assumed that the user will type in text and the bot would respond back with an appropriate message in the form of text (So, we will not be concerned with the aspects like ASR, speech recognition, speech to text, text to speech etc., Below architecture can anyways be enhanced with these components, as required).
For example, say you want to purchase a pair of shoes online from Nordstrom. You would have to browse their site and look around until you find the pair you wanted. Then you would add the pair to your cart to go through the motions of checking out. But in the case Nordstrom had a conversational bot, you would simply tell the bot what you’re looking for and get an instant answer. You would be able to search within an interface that actually learns what you like, even when you can’t coherently articulate it. And in the not-so-distant future, we’ll even have similar experiences when we visit the retail stores.

Back in April, National Geographic launched a Facebook Messenger bot to promote their new show about the theoretical physicist's work and personal life. Developed by 360i, the charismatic Einstein bot reintroduced audiences to the scientific figure in a more intimate setting, inviting them to learn about the lesser-known aspects of his life through a friendly, natural conversation with the man himself.
To get started, you can build your bot online using the Azure Bot Service, selecting from the available C# and Node.js templates. As your bot gets more sophisticated, however, you will need to create your bot locally then deploy it to the web. Choose an IDE, such as Visual Studio or Visual Studio Code, and a programming language. SDKs are available for the following languages:
The chatbot uses keywords that users type in the chat line and guesses what they may be looking for. For example, if you own a restaurant that has vegan options on the menu, you might program the word “vegan” into the bot. Then when users type in that word, the return message will include vegan options from the menu or point out the menu section that features these dishes.
However, if you’re trying to develop a sophisticated bot that can understand more than a couple of basic commands, you’re heading down a potentially complicated path. More elaborately coded bots respond to various forms of user questions and responses. The bots have typically been “trained” on databases of thousands of words, queries, or sentences so that they can learn to detect lexical similarity. A good e-commerce bot “knows” that trousers are a kind of pants (if you are in the US), though this is beyond the comprehension of a simple, untrained bot.

Back in April, National Geographic launched a Facebook Messenger bot to promote their new show about the theoretical physicist's work and personal life. Developed by 360i, the charismatic Einstein bot reintroduced audiences to the scientific figure in a more intimate setting, inviting them to learn about the lesser-known aspects of his life through a friendly, natural conversation with the man himself.

If AI struggles with fourth-grade science question answering, should AI be expected to hold an adult-level, open-ended chit-chat about politics, entertainment, and weather? It is thus encouraging to see that Microsoft’s Satya Nadella did not give up on Tay after its debacle, and Amazon’s Jeff Bezos is sponsoring an Alexa social chatbot competition. I love this below quote from Jeff:
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.

It didn’t take long, however, for Turing’s headaches to begin. The BabyQ bot drew the ire of Chinese officials by speaking ill of the Communist Party. In the exchange seen in the screenshot above, one user commented, “Long Live the Communist Party!” In response, BabyQ asked the user, “Do you think that such a corrupt and incompetent political regime can live forever?”
Chatbots are often used online and in messaging apps, but are also now included in many operating systems as intelligent virtual assistants, such as Siri for Apple products and Cortana for Windows. Dedicated chatbot appliances are also becoming increasingly common, such as Amazon's Alexa. These chatbots can perform a wide variety of functions based on user commands.
×