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.
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. 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. Fehlerhafte Erkennungen, Erkennungslücken und fehlende Antworten lassen sich so erkennen. Meist bietet die Entwicklungsumgebung Analysewerkzeuge, um die Gesprächsprotokolle effizient auswerten zu können. 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.
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.”
“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.”
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.
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.
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.
Even if it sounds crazy, chatbots might even challenge apps and websites! An app requires space, it has to be downloaded. Websites take time to load and most of them are pretty slow. A bot works instantly. You type something, it replies. Another great thing about them is that they bypass user interface and completely change how customers interact with your business. People will navigate your content by using their natural language.
“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
In one particularly striking example of how this rather limited bot has made a major impact, U-Report sent a poll to users in Liberia about whether teachers were coercing students into sex in exchange for better grades. Approximately 86% of the 13,000 Liberian children U-Report polled responded that their teachers were engaged in this despicable practice, which resulted in a collaborative project between UNICEF and Liberia’s Minister of Education to put an end to it.
But, as any human knows, no question or statement in a conversation really has a limited number of potential responses. There is an infinite number of ways to combine the finite number of words in a human language to say something. Real conversation requires creativity, spontaneity, and inference. Right now, those traits are still the realm of humans alone. There is still a gamut of work to finish in order to make bots as person-centric as Rogerian therapists, but bots and their creators are getting closer every day.
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).
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.
We then ran a second test with a very specific topic aimed at answering very specific questions that a small segment of their audience was interested in. There, the engagement was much higher (97% open rate, 52% click-through rate on average over the duration of the test). Interestingly, drop-off went wayyy down there. At the end of this test, only 0.29% of the users had unsubscribed.
How: this involves creating a basic content block within Chatfuel that has a discount code within it. Instead of giving all users of the bot the same experience, you can direct them through to specific parts of the conversation (or 'blocks'). Using the direct link to your content block, you'll be able to create CTAs on your website that direct people straight into Messenger to get a discount code (more info here).
To envision the future of chatbots/virtual assistants, we need to take a quick trip down memory lane. Remember Clippy? Love him or hate him, he’s ingrained in our memory as the little assistant who couldn’t (sorry, Clippy.). But someday, this paper clip could be the chosen one. Imagine with me if you will a support agent speaking with a customer over the phone, or even chat support. Clippy could be listening in, reviewing the questions the customer is posing, and proactively providing relevant content to the support agent. Instead of digging around from system to system, good ‘ole Clippy would have their back, saving them the trouble of hunting down relevant information needed for the task at hand.
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.
The chatbot must rely on spoken or written communications to discover what the shopper or user wants and is limited to the messaging platform’s capabilities when it comes to responding to the shopper or user. This requires a much better understanding of natural language and intent. It also means that developers must write connections to several different platforms, again like Messenger or Slack, if the chatbot is to have the same potential reach as a website.
A very common request that we get is people want to practice conversation, said Duolingo's co-founder and CEO, Luis von Ahn. The company originally tried pairing up non-native speakers with native speakers for practice sessions, but according to von Ahn, "about three-quarters of the people we try it with are very embarrassed to speak in a foreign language with another person."
Chatbots could be used as weapons on the social networks such as Twitter or Facebook. An entity or individuals could design create a countless number of chatbots to harass people. They could even try to track how successful their harassment is by using machine-learning-based methods to sharpen their strategies and counteract harassment detection tools.