Logging. Log user conversations with the bot, including the underlying performance metrics and any errors. These logs will prove invaluable for debugging issues, understanding user interactions, and improving the system. Different data stores might be appropriate for different types of logs. For example, consider Application Insights for web logs, Cosmos DB for conversations, and Azure Storage for large payloads. See Write directly to Azure Storage.

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.
Creating a comprehensive conversational flow chart will feel like the greatest hurdle of the process, but know it's just the beginning. It's the commitment to tweaking and improving in the months and years following that makes a great bot. As Clara de Soto, cofounder of Reply.ai, told VentureBeat, "You're never just 'building a bot' so much as launching a 'conversational strategy' — one that's constantly evolving and being optimized based on how users are actually interacting with it."
IBM estimates that 265 billion customer support tickets and calls are made globally every year, resulting in $1.3 trillion in customer service costs. IBM also referenced a Chatbots Magazine figure purporting that implementing customer service AI solutions, such as chatbots, into service workflows can reduce a business’ spend on customer service by 30 percent.
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.

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.

“I’ve seen a lot of hyperbole around bots as the new apps, but I don’t know if I believe that,” said Prashant Sridharan, Twitter’s global director of developer relations. “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.”
Ursprünglich rein textbasiert, haben sich Chatbots durch immer stärker werdende Spracherkennung und Sprachsynthese weiterentwickelt und bieten neben reinen Textdialogen auch vollständig gesprochene Dialoge oder einen Mix aus beidem an. Zusätzlich können auch weitere Medien genutzt werden, beispielsweise Bilder und Videos. Gerade mit der starken Nutzung von mobilen Endgeräten (Smartphones, Wearables) wird diese Möglichkeit der Nutzung von Chatbots weiter zunehmen (Stand: Nov. 2016).[10] Mit fortschreitender Verbesserung sind Chatbots dabei nicht nur auf wenige eingegrenzte Themenbereiche (Wettervorhersage, Nachrichten usw.) begrenzt, sondern ermöglichen erweiterte Dialoge und Dienstleistungen für den Nutzer. Diese entwickeln sich so zu Intelligenten Persönlichen Assistenten.
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.

Conversational bots “live” online and give customers a familiar experience, similar to engaging an employee or a live agent, and they can offer that experience in higher volumes. Conversational bots offer scaling—or the capability to perform equally well under an expanding workload—in ways that human can’t, assisting businesses to reach customers in a way they couldn’t before. For one, businesses have created 24/7/365 online presence through conversational bots.
Chatbots succeed when a clear understanding of user intent drives development of both the chatbot logic and the end-user interaction. As part of your scoping process, define the intentions of potential users. What goals will they express in their input? For example, will users want to buy an airline ticket, figure out whether a medical procedure is covered by their insurance plan or determine whether they need to bring their computer in for repair? 
Social networking bots are sets of algorithms that take on the duties of repetitive sets of instructions in order to establish a service or connection among social networking users. Various designs of networking bots vary from chat bots, algorithms designed to converse with a human user, to social bots, algorithms designed to mimic human behaviors to converse with behavioral patterns similar to that of a human user. The history of social botting can be traced back to Alan Turing in the 1950s and his vision of designing sets of instructional code that passes the Turing test. From 1964 to 1966, ELIZA, a natural language processing computer program created by Joseph Weizenbaum, is an early indicator of artificial intelligence algorithms that inspired computer programmers to design tasked programs that can match behavior patterns to their sets of instruction. As a result, natural language processing has become an influencing factor to the development of artificial intelligence and social bots as innovative technological advancements are made alongside the progression of the mass spreading of information and thought on social media websites.

Cheyer explains Viv like this. Imagine you need to pick up a bottle of wine that goes well with lasagna on the way to your brother's house. If you wanted to do that yourself, you'd need to determine which wine goes well with lasagna (search #1) then find a wine store that carries it (search #2) that is on the way to your brother's house (search #3). Once you have that figured out, you have to calculate what time you need to leave to stop at the wine store on the way (search #4) and still make it to his house on time.
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).
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.
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.

Interestingly, the as-yet unnamed conversational agent is currently an open-source project, meaning that anyone can contribute to the development of the bot’s codebase. The project is still in its earlier stages, but has great potential to help scientists, researchers, and care teams better understand how Alzheimer’s disease affects the brain. A Russian version of the bot is already available, and an English version is expected at some point this year.
The term "ChatterBot" was originally coined by Michael Mauldin (creator of the first Verbot, Julia) in 1994 to describe these conversational programs. Today, most chatbots are either accessed via virtual assistants such as Google Assistant and Amazon Alexa, via messaging apps such as Facebook Messenger or WeChat, or via individual organizations' apps and websites.[2] [3] Chatbots can be classified into usage categories such as conversational commerce (e-commerce via chat), analytics, communication, customer support, design, developer tools, education, entertainment, finance, food, games, health, HR, marketing, news, personal, productivity, shopping, social, sports, travel and utilities.[4]

There are various search engines for bots, such as Chatbottle, Botlist and Thereisabotforthat, for example, helping developers to inform users about the launch of new talkbots. These sites also provide a ranking of bots by various parameters: the number of votes, user statistics, platforms, categories (travel, productivity, social interaction, e-commerce, entertainment, news, etc.). They feature more than three and a half thousand bots for Facebook Messenger, Slack, Skype and Kik.
The process of building, testing and deploying chatbots can be done on cloud-based chatbot development platforms[51] offered by cloud Platform as a Service (PaaS) providers such as Oracle Cloud Platform Yekaliva[47][28] and IBM Watson.[52][53][54] These cloud platforms provide Natural Language Processing, Artificial Intelligence and Mobile Backend as a Service for chatbot development.