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.

In so many ways I think chatbots are only just getting started – their potential is much underestimated at present. A big challenge is for chatbots mature so that they do more than is possible as a result of content entry wizards. If your content is created with a few easy clicks, it is unlikely to be much inspiration to anyone – and to date, despite much work in the field, the ability to emulated the creative open ended nature of real intellingence has seen only very partial success.
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.

Utility bots solve a user's problem, whatever that may be, via a user-prompted transaction. The most obvious example is a shopping bot, such as one that helps you order flowers or buy a new jacket. According to a recent HubSpot Research study, 47% of shoppers are open to buying items from a bot. But utility bots are not limited to making purchases. A utility bot could automatically book meetings by scanning your emails or notify you of the payment subscriptions you forgot you were signed up for.
"From Russia With Love" (PDF). Retrieved 2007-12-09. Psychologist and Scientific American: Mind contributing editor Robert Epstein reports how he was initially fooled by a chatterbot posing as an attractive girl in a personal ad he answered on a dating website. In the ad, the girl portrayed herself as being in Southern California and then soon revealed, in poor English, that she was actually in Russia. He became suspicious after a couple of months of email exchanges, sent her an email test of gibberish, and she still replied in general terms. The dating website is not named. Scientific American: Mind, October–November 2007, page 16–17, "From Russia With Love: How I got fooled (and somewhat humiliated) by a computer". Also available online.
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.
ETL. The bot relies on information and knowledge extracted from the raw data by an ETL process in the backend. This data might be structured (SQL database), semi-structured (CRM system, FAQs), or unstructured (Word documents, PDFs, web logs). An ETL subsystem extracts the data on a fixed schedule. The content is transformed and enriched, then loaded into an intermediary data store, such as Cosmos DB or Azure Blob Storage.
Chatbots have come a long way since then. They are built on AI technologies, including deep learning, natural language processing and  machine learning algorithms, and require massive amounts of data. The more an end user interacts with the bot, the better voice recognition becomes at predicting what the appropriate response is when communicating with an end user.
An AI-powered chatbot is a smarter version of a chatbot (a machine that has the ability to communicate with humans via text or audio). It uses natural language processing (NLP) and machine learning (ML) to get a better understanding of the intent of humans it interacts with. Also, its purpose is to provide a natural, as near human-level communication as possible.
Some bots communicate with other users of Internet-based services, via instant messaging (IM), Internet Relay Chat (IRC), or another web interface such as Facebook Bots and Twitterbots. These chatterbots may allow people to ask questions in plain English and then formulate a proper response. These bots can often handle many tasks, including reporting weather, zip-code information, sports scores, converting currency or other units, etc.[citation needed] Others are used for entertainment, such as SmarterChild on AOL Instant Messenger and MSN Messenger.
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.
A toolkit can be integral to getting started in building chatbots, so insert, BotKit. It gives a helping hand to developers making bots for Facebook Messenger, Slack, Twilio, and more. This BotKit can be used to create clever, conversational applications which map out the way that real humans speak. This essential detail differentiates from some of its other chatbot toolkit counterparts.

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”.
Using chatbot builder platforms. You can create a chatbot with the help of services providing all the necessary features and integrations. It can be a good choice for an in-house chatbot serving your team. This option is associated with some disadvantages, including the limited configuration and the dependence on the service. Some popular platforms for building chatbots are:
Your bot can use other AI services to further enrich the user experience. The Cognitive Services suite of pre-built AI services (which includes LUIS and QnA Maker) has services for vision, speech, language, search, and location. You can quickly add functionality such as language translation, spell checking, sentiment analysis, OCR, location awareness, and content moderation. These services can be wired up as middleware modules in your bot to interact more naturally and intelligently with the user.
It’s best to have very specific intents, so that you’re clear what your user wants to do, but to have broad entities – so that the intent can apply in many places. For example, changing a password is a common activity (a narrow intent), where you change your password might be many different places (broad entities). The context then personalises the conversation based on what it knows about the user, what they’re trying to achieve, and where they’re trying to do that.

Respect the conversational UI. The full interaction should take place natively within the app. The goal is to recognize the user's intent and provide the right content with minimum user input. Every question asked should bring the user closer to the answer they want. If you need so much information that you're playing a game of 20 Questions, then switch to a form and deliver the content another way.
“There is hope that consumers will be keen on experimenting with bots to make things happen for them. It used to be like that in the mobile app world 4+ years ago. When somebody told you back then… ‘I have built an app for X’… You most likely would give it a try. Now, nobody does this. It is probably too late to build an app company as an indie developer. But with bots… consumers’ attention spans are hopefully going to be wide open/receptive again!” — Niko Bonatsos, Managing Director at General Catalyst
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.

"From Russia With Love" (PDF). Retrieved 2007-12-09. Psychologist and Scientific American: Mind contributing editor Robert Epstein reports how he was initially fooled by a chatterbot posing as an attractive girl in a personal ad he answered on a dating website. In the ad, the girl portrayed herself as being in Southern California and then soon revealed, in poor English, that she was actually in Russia. He became suspicious after a couple of months of email exchanges, sent her an email test of gibberish, and she still replied in general terms. The dating website is not named. Scientific American: Mind, October–November 2007, page 16–17, "From Russia With Love: How I got fooled (and somewhat humiliated) by a computer". Also available online.


Once your bot is running in production, you will need a DevOps team to keep it that way. Continually monitor the system to ensure the bot operates at peak performance. Use the logs sent to Application Insights or Cosmos DB to create monitoring dashboards, either using Application Insights itself, Power BI, or a custom web app dashboard. Send alerts to the DevOps team if critical errors occur or performance falls below an acceptable threshold.
Through Amazon’s developer platform for the Echo (called Alexa Skills), developers can develop “skills” for Alexa which enable her to carry out new types of tasks. Examples of skills include playing music from your Spotify library, adding events to your Google Calendar, or querying your credit card balance with Capital One — you can even ask Alexa to “open Dominoes and place my Easy Order” and have pizza delivered without even picking up your smartphone. Now that’s conversational commerce in action.

If your interaction with a conversational bot is through a specific menu (where you interact through buttons but the bot does not understand natural language input), chances are you are talking to a bot with structured questions and responses. This type of bot is usually applied on messenger platforms for marketing purposes. They are great at conducting surveys, generating leads, and sending daily content pieces or newsletters.
Smart chatbots rely on artificial intelligence when they communicate with users. Instead of pre-prepared answers, the robot responds with adequate suggestions on the topic. In addition, all the words said by the customers are recorded for later processing. However, the Forrester report “The State of Chatbots” points out that artificial intelligence is not a magic and is not yet ready to produce marvelous experiences for users on its own. On the contrary, it requires a huge work:
Natural Language Processing (NLP) is the technological process in which computers derive meaning from natural human inputs. NLP-Based Conversational Bots are machine learning bots that exploit the power of artificial intelligence, which gives them a “learning brain.” These types of conversational bots have the ability to understand natural language, and do not require specific instructions to respond to questions as observed in types of chatbots such as Scripted and Structured Conversational Bots.
Artificial neural networks, invented in the 1940’s, are a way of calculating an output from an input (a classification) using weighted connections (“synapses”) that are calculated from repeated iterations through training data. Each pass through the training data alters the weights such that the neural network produces the output with greater “accuracy” (lower error rate).
Training a chatbot happens at much faster and larger scale than you teach a human. Humans Customer Service Representatives are given manuals and have them read it and understand. While the Customer Support Chatbot is fed with thousands of conversation logs and from those logs, the chatbot is able to understand what type of question requires what type of answers.

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.


As with many 'organic' channels, the relative reach of your audience tends to decline over time due to a variety of factors. In email's case, it can be the over-exposure to marketing emails and moves from email providers to filter out promotional content; with other channels it can be the platform itself. Back in 2014 I wrote about how "Facebook's Likes Don't Matter Anymore" in relation to the declining organic reach of Facebook pages. Last year alone the organic reach of publishers on Facebook fell by a further 52%.
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.
1. Define the goals. What should your chatbot do? Clearly indicate the list of functions your chatbot needs to perform. 2. Choose a channel to interact with your customers. Be where your clients prefer to communicate — your website, mobile app, Facebook Messenger, WhatsApp or other messaging platform. 3. Choose the way of creation. There are two of them: using readymade chat bot software or building a custom bot from scratch. 4. Create, customize and launch. Describe the algorithm of its actions, develop a database of answers and test the work of the chatbot. Double check everything before showing your creation to potential customers.
A chatbot is a computer program that simulates human conversation through voice commands or text chats or both. Chatbot, short for chatterbot, is an Artificial Intelligence (AI) feature that can be embedded and used through any major messaging applications. There are a number of synonyms for chatbot, including "talkbot," "bot," "IM bot," "interactive agent" or "artificial conversation entity."
×