A chatbot (also known as a talkbots, chatterbot, Bot, IM bot, interactive agent, or Artificial Conversational Entity) is a computer program or an artificial intelligence which conducts a conversation via auditory or textual methods.[1] Such programs are often designed to convincingly simulate how a human would behave as a conversational partner, thereby passing the Turing test. Chatbots are typically used in dialog systems for various practical purposes including customer service or information acquisition. Some chatterbots use sophisticated natural language processing systems, but many simpler systems scan for keywords within the input, then pull a reply with the most matching keywords, or the most similar wording pattern, from a database.

A chatbot is an artificial intelligence (AI) program that simulates interactive human conversation by using key pre-calculated user phrases and auditory or text-based signals. Chatbots are frequently used for basic customer service and marketing systems that frequent social networking hubs and instant messaging (IM) clients. They are also often included in operating systems as intelligent virtual assistants.

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.
1. AI-based: these ones really rely on training and are fairly complicated to set up. You train the chatbot to understand specific topics and tell your users which topics your chatbot can engage with. AI chatbots require all sorts of fall back and intent training. For example, let’s say you built a doctor chatbot (off the top of my head because I am working on one at the moment), it would have to understand that “i have a headache” and “got a headache” and “my head hurts” are the same intent. The user is free to engage and the chatbot has to pick things up.
Note that you can add more than one button under this card, so if the most common customer requests are your hours, location, phone number, or directions, create additional blocks with that information to return to the user. If you’re an online service-based business, you may want to include blocks in your buttons that give more information on a particular segment of your business.
2a : a computer program that performs automatic repetitive tasks : agent sense 5 Several shopping "bots" will track down prices for on-line merchandise from a variety of vendors.— Sam Vincent Meddis especially : one designed to perform a malicious action These bot programs churn away all day and night, prodding at millions of random IP addresses looking for holes to crawl through. — Jennifer Tanaka

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


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.
A virtual assistant is an app that comprehends natural, ordinary language voice commands and carries out tasks for the users. Well-known virtual assistants include Amazon Alexa, Apple’s Siri, Google Now and Microsoft’s Cortana. Also, virtual assistants are generally cloud-based programs so they need internet-connected devices and/or applications in order to work. Virtual assistants can perform tasks like adding calendar appointments, controlling and checking the status of a smart home, sending text messages, and getting directions.
The educators or class organizers can opt for chatbots to simplify daily routine tasks. Chatbots may serve as a helping hand to the teacher in dealing with the daily queries by allowing bots to answer the questions of students on a daily basis, or perhaps even check their homework. Eventually, they offer teachers more time to work with their students on a one-by-one basis.
Specialized conversational bots can be used to make professional tasks easier. For example, a conversational bot could be used to retrieve information faster compared to a manual lookup; simply ask, “What was the patient’s blood pressure in her May visit?” The conversational bot will answer instantly instead of the user perusing through manual or electronic records.
“Major shifts on large platforms should be seen as an opportunities for distribution. That said, we need to be careful not to judge the very early prototypes too harshly as the platforms are far from complete. I believe Facebook’s recent launch is the beginning of a new application platform for micro application experiences. The fundamental idea is that customers will interact with just enough UI, whether conversational and/or widgets, to be delighted by a service/brand with immediate access to a rich profile and without the complexities of installing a native app, all fueled by mature advertising products. It’s potentially a massive opportunity.” — Aaron Batalion, Partner at Lightspeed Venture Partners
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:
The classification score produced identifies the class with the highest term matches (accounting for commonality of words) but this has limitations. A score is not the same as a probability, a score tells us which intent is most like the sentence but not the likelihood of it being a match. Thus it is difficult to apply a threshold for which classification scores to accept or not. Having the highest score from this type of algorithm only provides a relative basis, it may still be an inherently weak classification. Also the algorithm doesn’t account for what a sentence is not, it only counts what it is like. You might say this approach doesn’t consider what makes a sentence not a given class.

ELIZA's key method of operation (copied by chatbot designers ever since) involves the recognition of cue words or phrases in the input, and the output of corresponding pre-prepared or pre-programmed responses that can move the conversation forward in an apparently meaningful way (e.g. by responding to any input that contains the word 'MOTHER' with 'TELL ME MORE ABOUT YOUR FAMILY'). Thus an illusion of understanding is generated, even though the processing involved has been merely superficial. ELIZA showed that such an illusion is surprisingly easy to generate, because human judges are so ready to give the benefit of the doubt when conversational responses are capable of being interpreted as "intelligent".
“Major shifts on large platforms should be seen as an opportunities for distribution. That said, we need to be careful not to judge the very early prototypes too harshly as the platforms are far from complete. I believe Facebook’s recent launch is the beginning of a new application platform for micro application experiences. The fundamental idea is that customers will interact with just enough UI, whether conversational and/or widgets, to be delighted by a service/brand with immediate access to a rich profile and without the complexities of installing a native app, all fueled by mature advertising products. It’s potentially a massive opportunity.” — Aaron Batalion, Partner at Lightspeed Venture Partners
Kunze recognises that chatbots are the vogue subject right now, saying: “We are in a hype cycle, and rising tides from entrants like Microsoft and Facebook have raised all ships. Pandorabots typically adds up to 2,000 developers monthly. In the past few weeks, we've seen a 275 percent spike in sign-ups, and an influx of interest from big, big brands.”
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.
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.
2. Flow-based: these work on user interaction with buttons and text. If you have used Matthew’s chatbot, that is a flow-based chatbot. The chatbot asks a question then offers options in the form of buttons (Matthew’s has a yes/no option). These are more limited, but you get the possibility of really driving down the conversation and making sure your users don’t stray off the path.

“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.”
“We believe that you don’t need to know how to program to build a bot, that’s what inspired us at Chatfuel a year ago when we started bot builder. We noticed bots becoming hyper-local, i.e. a bot for a soccer team to keep in touch with fans or a small art community bot. Bots are efficient and when you let anyone create them easily magic happens.” — Dmitrii Dumik, Founder of Chatfuel

Message generator component consists of several user defined templates (templates are nothing but sentences with some placeholders, as appropriate) that map to the action names. So depending on the action predicted by the dialogue manager, the respective template message is invoked. If the template requires some placeholder values to be filled up, those values are also passed by the dialogue manager to the generator. Then the appropriate message is displayed to the user and the bot goes into a wait mode listening for the user input.
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?”

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.

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


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.
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.
The evolution of artificial intelligence is now in full swing and chatbots are only a faint splash on a huge wave of progress. Today the number of users of messaging apps like WhatsApp, Slack, Skype and their analogs is skyrocketing, Facebook Messenger alone has more than 1.2 billion monthly users. With the spread of messengers, virtual chatterbots that imitate human conversations for solving various tasks are becoming increasingly in demand. Chinese WeChat bots can already set medical appointments, call a taxi, send money to friends, check in for a flight and many many other.
Through Knowledge Graph, Google search has already become amazingly good at understanding the context and meaning of your queries, and it is getting better at natural language queries. With its massive scale in data and years of working at the very hard problems of natural language processing, the company has a clear path to making Allo’s conversational commerce capabilities second to none.
Previous generations of chatbots were present on company websites, e.g. Ask Jenn from Alaska Airlines which debuted in 2008[20] or Expedia's virtual customer service agent which launched in 2011.[20] [21] The newer generation of chatbots includes IBM Watson-powered "Rocky", introduced in February 2017 by the New York City-based e-commerce company Rare Carat to provide information to prospective diamond buyers.[22] [23]
As IBM elaborates: “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.”

More and more businesses are choosing AI chatbots as part of their customer service team. There are several reasons for that. Chatbots can answer customers’ inquiries cheaply, quickly, in real-time. Another reason is the ease of installation of such chatbot: once you have a fine live chat app, it takes a couple of minutes to integrate a chatbot with it.
For every question or instruction input to the conversational bot, there must exist a specific pattern in the database to provide a suitable response. Where there are several combinations of patterns available, and a hierarchical pattern is created. In these cases, algorithms are used to reduce the classifiers and generate a structure that is more manageable. This is the “reductionist” approach—or, in other words, to have a simplified solution, it reduces the problem.
[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.
The plugin aspect to Chatfuel is one of the real bonuses. You can link up to all sorts of different services to add richer content to the conversations that you're having. This includes linking up to Twitter, Instagram and YouTube, as well as being able to request that the user share their location, serve video and audio content, and build out custom attributes that can be used to segment users based on their inputs. This last part is a killer feature.
There are different approaches and tools that you can use to develop a chatbot. Depending on the use case you want to address, some chatbot technologies are more appropriate than others. In order to achieve the desired results, the combination of different AI forms such as natural language processing, machine learning and semantic understanding may be the best option.
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:

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

In a traditional application, the user interface (UI) is a series of screens. 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 provide navigation that leads to other screens for various functions like starting a new order, browsing products, or looking for help.
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:
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.

Bots are also used to buy up good seats for concerts, particularly by ticket brokers who resell the tickets.[12] Bots are employed against entertainment event-ticketing sites. The bots are used by ticket brokers to unfairly obtain the best seats for themselves while depriving the general public of also having a chance to obtain the good seats. The bot runs through the purchase process and obtains better seats by pulling as many seats back as it can.


In other words, bots solve the thing we loathed about apps in the first place. You don't have to download something you'll never use again. It's been said most people stick to five apps. Those holy grail spots? They're increasingly being claimed by messaging apps. Today, messaging apps have over 5 billion monthly active users, and for the first time, people are using them more than social networks.
Like apps and websites, bots have a UI, but it is made up of dialogs, rather than screens. Dialogs help preserve your place within a conversation, prompt users when needed, and execute input validation. They are useful for managing multi-turn conversations and simple "forms-based" collections of information to accomplish activities such as booking a flight.

It takes bold visionaries and risk-takers to build future technologies into realities. In the field of chatbots, there are many companies across the globe working on this mission. Our mega list of artificial intelligence, machine learning, natural language processing, and chatbot companies, covers the top companies and startups who are innovating in this space.
“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.”
Being an early adopter of a new channel can provide enormous benefits, but that comes with equally high risks. This is amplified within marketplaces like Amazon. Early adopters within Amazon's marketplace were able to focus on building a solid base of reviews for their products - a primary ranking signal - which meant that they'd create huge barriers to entry for competitors (namely because they were always showing up in the search results before them).
This is the big one. We worked with one particular large publisher (can’t name names unfortunately, but hundreds of thousands of users) in two phases. We initially released a test phase that was sort of a “catch all”. Anyone could message a broad keyword to their bot and start a campaign. Although we had a huge number of users come in, engagement was relatively average (87% open rate and 27.05% click-through rate average over the course of the test). Drop off here was fairly high, about 3.14% of users had unsubscribed by the end of the test.
NanoRep is a customer service bot that guides customers throughout their entire journey. It handles any issues that may arise no matter if a customer wants to book a flight or track an order. NanoRep isn’t limited to predefined scripts, unlike many other customer service chatbots. And it delivers context-based answers. Its Contextual-Answers solution lets the chatbot provide real-time responses based on:
The sentiment analysis in machine learning uses language analytics to determine the attitude or emotional state of whom they are speaking to in any given situation. This has proven to be difficult for even the most advanced chatbot due to an inability to detect certain questions and comments from context. Developers are creating these bots to automate a wider range of processes in an increasingly human-like way and to continue to develop and learn over time.
A basic SMS service is available via GitHub to start building a bot which uses IBM’s BlueMix platform which hosts the Watson Conversation Services. A developer can import a workspace to setup a new service. This starts with a blank dashboard where a developer can import all the tools needed to run the conversation service. The services has a dialog flow – a series of options with yes/no answers that the service uses to work out what the user’s intent is, what entity it’s working on, how to respond and how to phrase the response in the best way for the user.
Eventually, a single chatbot could become your own personal assistant to take care of everything, whether it's calling you an Uber or setting up a meeting. Or, Facebook Messenger or another platform might let a bunch of individual chatbots to talk to you about whatever is relevant — a chatbot from Southwest Airlines could tell you your flight's delayed, another chatbot from FedEx could tell you your package is on the way, and so on.
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.
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.) 
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.

In a procedural conversation flow, you define the order of the questions and the bot will ask the questions in the order you defined. You can organize the questions into logical modules to keep the code centralized while staying focused on guiding the conversational. For example, you may design one module to contain the logic that helps the user browse for products and a separate module to contain the logic that helps the user create a new order.


More and more companies embrace chatbots to increase engagement with their audiences in the last few years. Especially for some industries including banking, insurance, and retail chatbots started to function as efficient interactive tools to increase customer satisfaction and cost-effectiveness. A study by Humley found out 43% of digital banking users are turning to chatbots – the increasing trend shows that banking customers consider the chatbot as an alternative channel to get instant information and solve their issues.


Context: When a NLU algorithm analyzes a sentence, it does not have the history of the user conversation. It means that if it receives the answer to a question it has just asked, it will not remember the question. For differentiating the phases during the chat conversation, it’s state should be stored. It can either be flags like “Ordering Pizza” or parameters like “Restaurant: ‘Dominos’”. With context, you can easily relate intents with no need to know what was the previous question.

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.
Message generator component consists of several user defined templates (templates are nothing but sentences with some placeholders, as appropriate) that map to the action names. So depending on the action predicted by the dialogue manager, the respective template message is invoked. If the template requires some placeholder values to be filled up, those values are also passed by the dialogue manager to the generator. Then the appropriate message is displayed to the user and the bot goes into a wait mode listening for the user input.
×