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.
ELIZA's key method of operation (copied by chatbot designers ever since) involves the recognition of clue 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".
Telegram launched its bot API in 2015, and launched version 2.0 of its platform in April 2016, adding support for bots to send rich media and access geolocation services. As with Kik, Telegram’s bots feel spartan and lack compelling features at this point, but that could change over time. Telegram has also yet to add payment features, so there are not yet any shopping-related bots on the platform.
Previous generations of chatbots were present on company websites, e.g. Ask Jenn from Alaska Airlines which debuted in 2008 or Expedia's virtual customer service agent which launched in 2011.  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. 
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.”
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
Like most of the Applications, the Chatbot is also connected to the Database. The knowledge base or the database of information is used to feed the chatbot with the information needed to give a suitable response to the user. Data of user’s activities and whether or not your chatbot was able to match their questions, is captured in the data store. NLP translates human language into information with a combination of patterns and text that can be mapped in the real time to find applicable responses.
“Utility gets something done following a prompt. At a higher level the more entertainment-related chatbots are able to answer all questions and get things done. Siri and Cortana you can have small talk with, as well as getting things done, so they are much harder to build. They took years and years of giant company’s efforts. Different companies that don’t have those resources, like Facebook, will build more constrained utility bots.”
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.
In our work at ZipfWorks building and scaling intelligent shopping platforms and applications, we pay close attention to emerging trends impacting digital commerce such as chatbots and mobile commerce. As this nascent trend towards a more conversational commerce ecosystem unfolds at a dizzying pace, we felt it would be useful to take a step back and look at the major initiatives and forces shaping this trend and compiled them here in this report. We’ve applied some of these concepts in our current project Dealspotr, to help more shoppers save more money through intelligent use of technology and social product design.
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,…
Multinational Naive Bayes is the classic algorithm for text classification and NLP. For an instance, let’s assume a set of sentences are given which are belonging to a particular class. With new input sentence, each word is counted for its occurrence and is accounted for its commonality and each class is assigned a score. The highest scored class is the most likely to be associated with the input sentence.
Malicious chatbots are frequently used to fill chat rooms with spam and advertisements, by mimicking human behaviour and conversations or to entice people into revealing personal information, such as bank account numbers. They are commonly found on Yahoo! Messenger, Windows Live Messenger, AOL Instant Messenger and other instant messaging protocols. There has also been a published report of a chatbot used in a fake personal ad on a dating service's website.
Interface designers have come to appreciate that humans' readiness to interpret computer output as genuinely conversational—even when it is actually based on rather simple pattern-matching—can be exploited for useful purposes. Most people prefer to engage with programs that are human-like, and this gives chatbot-style techniques a potentially useful role in interactive systems that need to elicit information from users, as long as that information is relatively straightforward and falls into predictable categories. Thus, for example, online help systems can usefully employ chatbot techniques to identify the area of help that users require, potentially providing a "friendlier" interface than a more formal search or menu system. This sort of usage holds the prospect of moving chatbot technology from Weizenbaum's "shelf ... reserved for curios" to that marked "genuinely useful computational methods".