Conversational Assistance / Bots for SAP Hybris Marketing Cloud – BLOG 1
1. Introduction + Outlook/Outline
1.1 Motivation & Introduction
Bots are the new black, everyone wants to build one. Bots are even already positioned of being an essential way to let users interact with organizations. It is expected that bots speak the same language and can answer questions – whatever this means.
So, the basic idea is straight forward; bots allow users to interact with applications that before either have not been accessible or required the user opening a dedicated app to work with. So, adding bots is expected to provide more efficient customer communication.
Unfortunately finding a reasonable business case (besides the often-used customer support bot), selecting the right communication channel, and bot technology is usually not that easy as expected at the beginning.
In this series of blogs I will introduce the topic and show some early lessons learned from the perspective and business domain of SAP Hybris Marketing Cloud. With that, the blog unfortunately is not yet able to provide an out-of-the-box solution that can be implemented for productive scenarios. It rather aims to scratch the areas which need to be carefully considered.
In this first blog of the “Bots @ SAP Hybris Marketing Cloud” series, we continue to talk about bot’s channels, underlying concepts, and available technologies/products. At the end, we will also give you an outlook of what is coming next in the upcoming blogs.
1.2 Channels: Assistants (Alexa/Google Home/Siri), Messenger (Telegram)
Choosing the right channel has got much more difficult than it was 6 months ago. Where that time the channel usually was built on top of an existing messenger platform, nowadays the hype is with home assistants such as Amazon Alexa or Google Home.
Until now we dealt with chatbots which help us while navigating on different internet websites. They popup at the bottom of the page and provide us a limited support; they only answer to standard and certainly predefined and static questions. Conversations Platforms like Facebook Messenger, Telegram, Slack have also provided solid APIs to build robust chat bots. The first interactions with them are attractive, but as soon as we dive into a specific context with different questions they become less efficient and sometimes cannot answer anymore.
Home Assistants are like chat bots but two fundamental differences are that they are equipped with speakers and microphones. This means you can ask questions and they will answer, and that they are connected with an “artificial intelligence” component, which is the “brain of the assistant”. AI / machine learning drastically affects the tech specifications of a chat bot. Think of it as a learning process of children. Their brains keep on evolving based on the data and analysis so that they can make smarter decisions.
Although Messenger platforms like Facebook Messenger, Slack are trying to introduce AI machine learning functionalities in their APIs. People find less tiring to speak with the voice than to write, but as soon as few people are in the same room it’s become embarrassing to practice those voice interactions.
Machine learning and natural language understanding (NLU) is evolving quickly and made quite some progress over the last couple of years. But still, automated support via chatbots is not yet there in a way that it can be used in larger business contexts.
Therefore, a human intersection is necessary for every successful customer care bot. There are many ways humans and bots can work together to increase the performance of every customer service team. Chatbots offer the promise of frictionless access to goods, services and information, but creating effective bots can be deceptively tricky.
Bots are developed to work on various assistants like Amazon Alexa or Google Home and on messenger application like Telegram or Facebook Messenger.
The flip side of the opportunity to interact with users in a seamless, natural way is that user expectations can be prohibitively high. Bots need to be smart and provide greater convenience than apps. (TechCrunch)
The good news is that the belief that bots must master human language or replace apps to succeed is false. Bots will engage with consumers in new ways that combine the strengths of humans and machines to allow both structured and unstructured information to be exchanged naturally and efficiently.
This year, many of us let a stranger into our homes and ended up loving it. The focus here is, of course, about voice-activated artificial-intelligence assistants. The success of Amazon’s Alexa, the launch of Google’s Home, all demonstrate that conversational interfaces, which have been predicted few years ago would be a breakthrough technology in the next years.
Amazon’s Echo smart speaker, which is a conduit for the company’s Alexa AI assistant, is officially available in few countries. Meanwhile, Google launched its own competitor in the shape of Home. Powered by the search company’s Assistant AI, the small speaker received praise for its smarts, which seem to outstrip those of Amazon’s offering. On another side, there are assistants like Apple Siri. Alexa and Siri both answered, but only Alexa got it technically right. Apple is preparing to rebuild Siri and take the fight to Amazon and Google.
Chat bots are not a new thing, but have started to be more widely discovered. Their success has fundamentally changed in the way people interact with the Internet. In this blog, I will focus on Amazon Alexa and Telegram Messenger.
1.3 1.3 Concepts: NLP, Intents
Conversational agents need to understand what the user wants to do (the intent, ex. buy something) and collect a series of information about it to perform an action. At every interaction, based on the history (the state) and the current user input, agents should either request information, ask for confirmation or perform action. Natural Language APIs provide a good way to get started with single interactions (ex. Question-answer, command-action). But when you move to conversations, most of the logic, including managing the state and changing the actions based on it, needs to be implemented by the developer, often in a rigid way. APIs are good for building MVPs (Modern Viable Products) but have several drawbacks (Context and history not used by the algorithms, poor failure management, no dialogue optimization, no way to factor in expert knowledge, lower accuracy) that may hinder user experience.
To build a good conversational interface, we need to look beyond a simple search by a substring or regular expressions that we usually use while dealing with strings. The task of understanding spoken language and free text conversation in plain English or in another language is not as straightforward as it might seem at first glance.
An intent represents a mapping between what a user says and what action should be taken by the software. Intents represent the core concept in building the conversational UI in chat systems, so the first thing that we can do with the incoming message from the user is to understand its Intent. Along with the Intent, it’s necessary to extract the parameters of actions from the phrase. Parameters, also called entities, often belong to a type. Examples of entity types that are commonly supported in language understanding systems are: Location, Date time, Number, Enum (predefined list of named things), Contact, Distance, Duration… Any intent classification code can make errors of two types. True positives: the user doesn’t express an intent, but the chatbot identifies an intent. False positives: the user expresses an intent, but the chatbot doesn’t find it. The bot needs a preprocessing NLP pipeline to handle typical errors. It may include these step: Spellcheck, splitting into sentences, splitting into words, lemmatizing words, Find concepts/synonyms … To implement a service which will solve those different problem, an expertise in the NLP area is required. It’s why Cloud provided solutions are preferred over writing in-house solutions.
1.4 1.4 Technologies/Products: API.ai, Alexa, IBM Watson,
The focus of public APIs is understanding the intent and extracting the entities, with some support for managing the conversation. All APIs need to be trained by the developer before being able to determine intent and entities. Developers provides examples of user input, then say what was the intent of the user highlight and tag words represent entities. After few dozens of examples, the algorithms should be able to provide significant results on inputs that are (very) like the examples. Most of the training is done with web-based interfaces and sometimes there are some pre-trained models for frequent use cases (ex. Weather, calendar, email, etc.). IBM provides a set of text understanding APIs under IBM Watson Developer Cloud. There is no single API that does intent and entity recognition in a single call, this is inconvenient since you must build your own pipeline with multiple API calls to extract all the information you need and it’s harder to link entities to intents.
Api.ai was created by a team who had built a personal assistant app for major mobile platforms with speech and text-enabled conversation. Indeed, the service provides all the features you might expect from a decent conversational platform including support of Intents, Entities, Actions with parameters, Contexts, Speech to Text and Text to Speech capabilities, along with machine learning that works silently and trains your model.
1.5 1.5 Outlook/Outline
Many marketplaces offer tools that allow prospective customers to communicate with sellers to ask them questions, but as the landscape of online reviews shows, most customers simply don’t, while those that do frequently encounter language, time zone, availability or other barriers that prevent them from getting answers to their questions. This raises the fascinating question of whether automated assistant bots can come to the rescue to restore the human curation and assistance of brick-and-mortar (refers to a physical presence of an organization or business in a building or other structure) stores to the online world? Could those technologies help companies like SAP to increase their customer service and converts visitors to new customers?