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.
A chatbot (sometimes referred to as a chatterbot) is programming that simulates the conversation or "chatter" of a human being through text or voice interactions. Chatbot virtual assistants are increasingly being used to handle simple, look-up tasks in both business-to-consumer (B2C) and business-to-business (B2B) environments. The addition of chatbot assistants not only reduces overhead costs by making better use of support staff time, it also allows companies to provide a level of customer service during hours when live agents aren't available.
According to this study by Petter Bae Brandtzaeg, “the real buzz about this technology did not start before the spring of 2016. Two reasons for the sudden and renewed interest in chatbots were [number one] massive advances in artificial intelligence (AI) and a major usage shift from online social networksto mobile messaging applications such as Facebook Messenger, Telegram, Slack, Kik, and Viber.”
This means our questions must fit with the programming they have been given.  Using our weather bot as an example once more, the question ‘Will it rain tomorrow’ could be answered easily. However if the programming is not there, the question ‘Will I need a brolly tomorrow’ may cause the chatbot to respond with a ‘I am sorry, I didn’t understand the question’ type response.

Three main reasons are often cited for this reluctance: the first is the human side—they think users will be reluctant to engage with a bot. The other two have more to do with bots’ expected performance: there is skepticism that bots will be able to appropriately incorporate history and context to create personalized experiences and believe they won’t be able to adequately understand human input.
The process of building a chatbot can be divided into two main tasks: understanding the user's intent and producing the correct answer. The first task involves understanding the user input. In order to properly understand a user input in a free text form, a Natural Language Processing Engine can be used.[36] The second task may involve different approaches depending on the type of the response that the chatbot will generate.
One of the more talked about integrations has been Taco Bell‘s announcement that it is working on a Slackbot (appropriately named Tacobot) which will not only take your Gordita Supreme order but will do it with the same “witty personality you’d expect from Taco Bell.” Consumer demand for such a service remains to be seen, but it hints at the potential for brands to leverage Slack’s platform and growing audience.
“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.”
Dialogflow is a very robust platform for developing chatbots. One of the strongest reasons of using Dialogflow is its powerful Natural Language Understanding (NLU). You can build highly interactive chatbot as NLP of Dialogflow excels in intent classification and entity detection. It also offers integration with many chat platforms like Google Assistant, Facebook Messenger, Telegram,…
Die Herausforderung bei der Programmierung eines Chatbots liegt in der sinnvollen Zusammenstellung der Erkennungen. Präzise Erkennungen für spezielle Fragen werden dabei ergänzt durch globale Erkennungen, die sich nur auf ein Wort beziehen und als Fallback dienen können (der Bot erkennt grob das Thema, aber nicht die genaue Frage). Manche Chatbot-Programme unterstützen die Entwicklung dabei über Priorisierungsränge, die einzelnen Antworten zuzuordnen sind. Zur Programmierung eines Chatbots werden meist Entwicklungsumgebungen verwendet, die es erlauben, Fragen zu kategorisieren, Antworten zu priorisieren und Erkennungen zu verwalten[5][6]. Dabei lassen manche auch die Gestaltung eines Gesprächskontexts zu, der auf Erkennungen und möglichen Folgeerkennungen basiert („Möchten Sie mehr darüber erfahren?“). Ist die Wissensbasis aufgebaut, wird der Bot in möglichst vielen Trainingsgesprächen mit Nutzern der Zielgruppe optimiert[7]. Fehlerhafte Erkennungen, Erkennungslücken und fehlende Antworten lassen sich so erkennen[8]. Meist bietet die Entwicklungsumgebung Analysewerkzeuge, um die Gesprächsprotokolle effizient auswerten zu können[9]. Ein guter Chatbot erreicht auf diese Weise eine mittlere Erkennungsrate von mehr als 70 % der Fragen. Er wird damit von den meisten Nutzern als unterhaltsamer Gegenpart akzeptiert.
Think about the possibilities: all developers regardless of expertise in data science able to build conversational AI that can enrich and expand the reach of applications to audiences across a myriad of conversational channels. The app will be able to understand natural language, reason about content and take intelligent actions. Bringing intelligent agents to developers and organizations that do not have expertise in data science is disruptive to the way humans interact with computers in their daily life and the way enterprises run their businesses with their customers and employees.
“I believe the dreamers come first, and the builders come second. A lot of the dreamers are science fiction authors, they’re artists…They invent these ideas, and they get catalogued as impossible. And we find out later, well, maybe it’s not impossible. Things that seem impossible if we work them the right way for long enough, sometimes for multiple generations, they become possible.”
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).
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.
How far are we from building systems with commonsense? One often-heard answer is: not in the near future, while the realistic answer is: we don’t know. Last year, I spent some time trying to build a system that can do better than an information retrieval baseline in taking fourth-grade science exam (which still has a ways to go to gain a passing score of 65%). I failed hard. Here’s an example to get a sense of the difficulty of these questions.
“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
Companies use internet bots to increase online engagement and streamline communication. Companies often use bots to cut down on cost, instead of employing people to communicate with consumers, companies have developed new ways to be efficient. These chatbots are used to answer customers' questions. For example, Domino's has developed a chatbot that can take orders via Facebook Messenger. Chatbots allow companies to allocate their employees' time to more important things.[10]
Jabberwacky learns new responses and context based on real-time user interactions, rather than being driven from a static database. Some more recent chatbots also combine real-time learning with evolutionary algorithms that optimise their ability to communicate based on each conversation held. Still, there is currently no general purpose conversational artificial intelligence, and some software developers focus on the practical aspect, information retrieval.