Two trends — the exploding popularity of mobile messaging apps and advances in artificial intelligence — are coinciding to enable a new generation of tools that enable brands to communicate with customers in powerful new ways at reduced cost. Retailers and technology firms are experimenting with chatbots, powered by a combination of machine learning, natural language processing, and live operators, to provide customer service, sales support, and other commerce-related functions.
This machine learning algorithm, known as neural networks, consists of different layers for analyzing and learning data. Inspired by the human brain, each layer is consists of its own artificial neurons that are interconnected and responsive to one another. Each connection is weighted by previous learning patterns or events and with each input of data, more "learning" takes place.

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.
There are a bunch of e-commerce stores taking advantage of chatbots as well. One example that I was playing with was from Fynd that enables you to ask for specific products and they'll display them to you directly within Messenger. What's more, Facebook even allows you to make payments via Messenger bots, opening up a whole world of possibility to e-commerce stores.
If you ask any marketing expert, customer engagement is simply about talking to the customer and reeling them in when the time’s right. This means being there for the user whenever they look for you throughout their lifecycle and therein lies the trick: How can you be sure you’re there at all times and especially when it matters most to the customer?
The bot itself is only part of a larger system that provides it with the latest data and ensures its proper operation. All of these other Azure resources — data orchestration services such as Data Factory, storage services such as Cosmos DB, and so forth — must be deployed. Azure Resource Manager provides a consistent management layer that you can access through the Azure portal, PowerShell, or the Azure CLI. For speed and consistency, it's best to automate your deployment using one of these approaches.

Search for the bot you want to add. At the time of this writing, there are about a dozen bots available, with more being added every day. Chat bots are available for customer service, news, ordering, and more, depending on the company that releases it. For example, you could get news from the CNN bot and order flowers from the 1-800-flowers bot. The process for finding a bot varies depending on your device:[1]
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.

Once the chatbot is ready and is live interacting with customers, smart feedback loops can be implemented. During the conversation when customers ask a question, chatbot smartly give them a couple of answers by providing different options like “Did you mean a,b or c”. That way customers themselves matches the questions with actual possible intents and that information can be used to retrain the machine learning model, hence improving the chatbot’s accuracy.
Open domain chatbots tends to talk about general topics and give appropriate responses. In other words, the knowledge domain is receptive to a wider pool of knowledge. However, these bots are difficult to perfect because language is so versatile. Conversations on social media sites such as Twitter and Reddit are typically considered open domain — they can go in virtually any direction. Furthermore, the whole context around a query requires common sense to understand many new topics properly, which is even harder for computers to grasp.
Many expect Facebook to roll out a bot store of some kind at its annual F8 conference for software developers this week, which means these bots may soon operate inside Messenger, its messaging app. It has already started testing a virtual assistant bot called “M,” but the product is only available for a few people and still primarily powered by humans.
How can our business leverage technology to better and more often engage younger audiences with our products and services? H&M is one of several retailers experimenting with and leveraging chatbots as a  mobile marketing opportunity – according to a report by Accenture, 32 percent of the world (a large portion of the population 29 years old and younger) uses social media daily and 80 percent of that time is via mobile.
In a particularly alarming example of unexpected consequences, the bots soon began to devise their own language – in a sense. After being online for a short time, researchers discovered that their bots had begun to deviate significantly from pre-programmed conversational pathways and were responding to users (and each other) in an increasingly strange way, ultimately creating their own language without any human input.

In sales, chatbots are being used to assist consumers shopping online, either by answering noncomplex product questions or providing helpful information that the consumer could later search for, including shipping price and availability. Chatbots are also used in service departments, assisting service agents in answering repetitive requests. Once a conversation gets too complex for a chatbot, it will be transferred to a human service agent .
In the early 90’s, the Turing test, which allows determining the possibility of thinking by computers, was developed. It consists in the following. A person talks to both the person and the computer. The goal is to find out who his interlocutor is — a person or a machine. This test is carried out in our days and many conversational programs have coped with it successfully.

A chatbot (also known as a spy, conversational bot, chatterbot, interactive agent, conversational interface, Conversational AI, talkbot or artificial spy 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 chatbots use sophisticated natural language processing systems, but many simpler ones scan for keywords within the input, then pull a reply with the most matching keywords, or the most similar wording pattern, from a database.