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.
While messaging and voice interfaces are central components, they fit into a larger picture of increasing infusion of technology into our daily lives, which in turn is unlocking new potential for brand-to-consumer interaction. The fact is, technology overall is becoming more deeply woven into our lives, and the entire ecosystem is enjoying tighter cohesion through the increasing availability and sophistication of APIs. Smart companies are finding new and innovative touch points with consumers that are contextual, relevant, highly personal, and yes, conversational. Commerce is becoming not only more conversational but more ubiquitous and seamlessly integrated into our lives, and the way we interact with brands will be forever changed as a result.
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.
Chatbots can direct customers to a live agent if the AI can’t settle the matter. This lets human agents focus their efforts on the heavy lifting. AI chatbots also increase employee productivity. Globe Telecom automated their customer service via Messenger and saw impressive results. The company increased employee productivity by 3.5 times. And their customer satisfaction increased by 22 percent.
Poor user experience. The bottom line: chatbots frustrate your customers if you are viewing them as a replacement for humans. Do not ever, ever try to pass of a chatbot as a human. If your chatbot suffers from any of the issues above, you’re probably creating a poor customer experience overall and an angry phone call to a poor unsuspecting call center rep.
A rapidly growing, benign, form of internet bot is the chatbot. From 2016, when Facebook Messenger allowed developers to place chatbots on their platform, there has been an exponential growth of their use on that forum alone. 30,000 bots were created for Messenger in the first six months, rising to 100,000 by September 2017. Avi Ben Ezra, CTO of SnatchBot, told Forbes that evidence from the use of their chatbot building platform pointed to a near future saving of millions of hours of human labour as 'live chat' on websites was replaced with bots.
The most widely used anti-bot technique is the use of CAPTCHA, which is a form of Turing test used to distinguish between a human user and a less-sophisticated AI-powered bot, by the use of graphically-encoded human-readable text. Examples of providers include Recaptcha, and commercial companies such as Minteye, Solve Media, and NuCaptcha. Captchas, however, are not foolproof in preventing bots as they can often be circumvented by computer character recognition, security holes, and even by outsourcing captcha solving to cheap laborers.
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.
The goal of intent-based bots is to solve user queries on a one to one basis. With each question answered it can adapt to the user behavior. The more data the bots receive, the more intelligent they become. Great examples of intent-based bots are Siri, Google Assistant, and Amazon Alexa. The bot has the ability to extract contextual information such as location, and state information like chat history, to suggest appropriate solutions in a specific situation.
The process of building, testing and deploying chatbots can be done on cloud-based chatbot development platforms offered by cloud Platform as a Service (PaaS) providers such as Oracle Cloud Platform Yekaliva and IBM Watson. These cloud platforms provide Natural Language Processing, Artificial Intelligence and Mobile Backend as a Service for chatbot development.
To keep chatbots up to speed with changing company products and services, traditional chatbot development platforms require ongoing maintenance. This can either be in the form of an ongoing service provider or for larger enterprises in the form of an in-house chatbot training team. To eliminate these costs, some startups are experimenting with Artificial Intelligence to develop self-learning chatbots, particularly in Customer Service applications.
Whilst the payout wasn't huge within the early days of Amazon, those who got in early are now seeing huge rewards, with 38% of shoppers starting their buying journey within Amazon (source), making it the number one retail search engine. Some studies are suggesting that Amazon is responsible for 80% of e-commerce growth for publicly traded web retailers (source).
Simply put, chatbots are computer programs designed to have conversations with human users. Chances are you’ve interacted with one. They answer questions, guide you through a purchase, provide technical support, and can even teach you a new language. You can find them on devices, websites, text messages, and messaging apps—in other words, they’re everywhere.
Say you want to build a bot that tells the current temperature. The dialog for the bot only needs coding to recognize and report the requested location and temperature. To do this, the bot needs to pull data from the API of the local weather service, based on the user’s location, and to send that data back to the user—basically, a few lines of templatable code and you’re done.
Next, identify the data sources that will enable the bot to interact intelligently with users. As mentioned earlier, these data sources could contain structured, semi-structured, or unstructured data sets. When you're getting started, a good approach is to make a one-off copy of the data to a central store, such as Cosmos DB or Azure Storage. As you progress, you should create an automated data ingestion pipeline to keep this data current. Options for an automated ingestion pipeline include Data Factory, Functions, and Logic Apps. Depending on the data stores and the schemas, you might use a combination of these approaches.
One of the most thriving eLearning innovations is the chatbot technology. Chatbots work on the principle of interacting with users in a human-like manner. These intelligent bots are often deployed as virtual assistants. The best example would be Google Allo - an intelligent messaging app packed with Google Assistant that interacts with the user by texting back and replying to queries. This app supports both voice and text queries.
Simplified and scripted. Chatbot technology is being tacked on to the broader AI message, and while it’s important to note that machine learning will help chatbots get better at understand and responding to questions, it’s not going to make them the conversationalists we dream them to be. No matter what the marketing says, chatbots are entirely scripted. User says x, chatbot responds y.
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.
An ecommerce website’s user interface is an important part of the overall application. It has amazing product pictures for shoppers to look at. It has an advanced search tool to help the shopper locate products. It has lovely buttons users can click to add products to the shopping cart. And it has forms for entering payment information or an address.
Closed domain chatbots focus on a specific knowledge domain, and these bots may fail to answer questions in other knowledge domains. For example, a restaurant booking conversational bot will be able to take your reservation, but may not respond to a question about the price of an air ticket. A user could hypothetically attempt to take the conversation elsewhere, however, closed domain chatbots are not required, nor often programmed to handle such cases.
Just last month, Google launched its latest Google Assistant. To help readers get a better glimpse of the redesign, Google’s Scott Huffman explained: “Since the Assistant can do so many things, we’re introducing a new way to talk about them. We’re them Actions. Actions include features built by Google—like directions on Google Maps—and those that come from developers, publishers, and other third parties, like working out with Fitbit Coach.”
The advancement in technology has opened gates for the innovative and efficient solutions to cater the needs of students by developing applications that can serve as a personalized learning resource. Moreover, these automated applications can potentially help instructors and teachers in saving up a lot of time by offering individual attention to each student.
I will not go into the details of extracting each feature value here. It can be referred from the documentation of rasa-core link that I provided above. So, assuming we extracted all the required feature values from the sample conversations in the required format, we can then train an AI model like LSTM followed by softmax to predict the next_action. Referring to the above figure, this is what the ‘dialogue management’ component does. Why LSTM is more appropriate? — As mentioned above, we want our model to be context aware and look back into the conversational history to predict the next_action. This is akin to a time-series model (pls see my other LSTM-Time series article) and hence can be best captured in the memory state of the LSTM model. The amount of conversational history we want to look back can be a configurable hyper-parameter to the model.
When one dialog invokes another, the Bot Builder adds the new dialog to the top of the dialog stack. The dialog that is on top of the stack is in control of the conversation. Every new message sent by the user will be subject to processing by that dialog until it either closes or redirects to another dialog. When a dialog closes, it's removed from the stack, and the previous dialog in the stack assumes control of the conversation.
This importance is reinforced by Jacqueline Payne, Customer Support Manager at Paperclip Digital, who says ‘Customer service isn’t a buzzword. But too many businesses treat it like it is. As a viable avenue from which to lower customer acquisition costs and cultivate a loyal customer base, chat bots can play a pivotal role in driving business growth.’
This is a lot less complicated than it appears. Given a set of sentences, each belonging to a class, and a new input sentence, we can count the occurrence of each word in each class, account for its commonality and assign each class a score. Factoring for commonality is important: matching the word “it” is considerably less meaningful than a match for the word “cheese”. The class with the highest score is the one most likely to belong to the input sentence. This is a slight oversimplification as words need to be reduced to their stems, but you get the basic idea.
Message generator component consists of several user defined templates (templates are nothing but sentences with some placeholders, as appropriate) that map to the action names. So depending on the action predicted by the dialogue manager, the respective template message is invoked. If the template requires some placeholder values to be filled up, those values are also passed by the dialogue manager to the generator. Then the appropriate message is displayed to the user and the bot goes into a wait mode listening for the user input.
It’s best to have very specific intents, so that you’re clear what your user wants to do, but to have broad entities – so that the intent can apply in many places. For example, changing a password is a common activity (a narrow intent), where you change your password might be many different places (broad entities). The context then personalises the conversation based on what it knows about the user, what they’re trying to achieve, and where they’re trying to do that.
Aside from being practical and time-convenient, chatbots guarantee a huge reduction in support costs. According to IBM, the influence of chatbots on CRM is staggering. They provide a 99 percent improvement rate in response times, therefore, cutting resolution from 38 hours to five minutes. Also, they caused a massive drop in cost per query from $15-$200 (human agents) to $1 (virtual agents). Finally, virtual agents can take up an average of 30,000+ consumers per month.
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.