How to replatform Endeca rules to Solr
Apr 07, 2020 • 8 min read
Apr 07, 2020 • 8 min read
For many years, chatbots have been quietly moving from the screens of sci-fi movies to commercial applications. Companies like Google, Amazon, Apple, IBM, and Microsoft, along with an ever-increasing array of AI startups, have been gradually perfecting Conversational User Interfaces (CUIs) that allow people to interact with computers in natural language. In 2011, Apple’s Siri become the first mass-market chatbot application to be widely distributed, as part of iOS. It captured the imagination of millions of consumers and showed that practical AI applications had a place in everyday life. Then — Wham! — in the holiday season of 2016, the Echo became Amazon’s best-selling consumer product, thus signaling that the era of CUIs had finally arrived in a big way.
The implications of CUIs are vast and far-reaching, offering entirely new and exciting ways to make technology more accessible and useful to humans — and it is no surprise that the retailers are jumping on the opportunity. Chatbot applications can transform the relationship between the consumers and their favorite brands, revolutionize customer service, recommend relevant products and services, improve conversion and otherwise enrich all facets of shopping experience.
In this blog post, we’ll take a look at some of the specific opportunities for chatbots in retail and survey the most relevant technologies used to build chatbot applications.
Let’s start with some definitions. A CUI is a Conversational User Interface, which represents an alternative to the GUI, or Graphical User Interface between humans and machines. A CUI can be text-based, voice-based or a hybrid that has both voice and graphical elements. Chatbots are CUI-based systems that provide human-like responses to customer questions and commands. They can use text, voice or both to communicate. Here are a few things chatbots can do for a business:
A Venturebeat article in September, 2016 said 63.9% of customers want businesses to communicate via Instant Messaging and 50.6% expect businesses to be reachable 24/7. The potential value of welcoming customers on chat channels was estimated by a Twitter team study that said, "When a customer Tweets at a business and receives a response, they are willing to spend 3–20% more on an average priced item from that business in the future" — and they’re 30% more likely to recommend that business to others, too.
Are chatbots Artificial Intelligence (AI)?
In 1950, Alan Turing developed a test to determine whether or not a machine can exhibit an intelligent behavior by being able to hold a natural language conversation with a human in which a human is “fooled” and unable to distinguish if he is talking to machine or another human.
Chatbots apparently do just that — provide humans with a conversational experience through a business application known as a Conversational Agent, which is sometimes called a Dialog System. However, for most practical business applications it is not necessary to make a Conversational Agent so smart that it can “fool” humans into thinking they are talking to another human. In fact, most chatbots today are rather limited in their range of conversations, and thus cannot be considered AIs according to the Turing test.
In other words, the consumer is often aware that he is talking to a bot, not a human being, but as long as the customer is getting the information he needs, that’s OK!
What all good chatbot solutions have in common is that they meet several common requirements, such as the ability to:
Chatbots unquestionably will continue to become increasingly intelligent, eventually blurring the line between the quality of the experience delivered by a human and one delivered by a bot.
KLM: Text-based chatbot provides booking confirmation, check-in notification, boarding pass and flight status updates, etc.
H&M: Chatbot is a sales assistant for mobile devices. It holds basic conversations in the form of question-answer sequences based on a standard browsing behaviors (what kind of product to buy, what size etc). Check this video to see it in action.
Macy’s: In-store help; sales assistant on mobile device.
Sephora: Sales assistant for mobile devices, powered by Gupshup.
Domino’s Pizza: Customer support with quick replies, powered by Conversable. Again, the “conversations” are rather simple — watch this video.
Commercial Bank of Dubai: A sort-of FAQ, virtual assistant called “ask Sara.”
Today, chatbot technology penetration for retail business is still rather limited. These applications can broadly be considered experimental, 1st generation systems.
Interestingly enough, although Amazon and Microsoft own rather advanced rival conversational technologies, Amazon Echo and Zo, respectively, neither company is using them for their own customer service
Yet despite the low adoption of CUIs up to 2016, interest in the technology is immense and most retailers are working on next-generation systems in their labs.
The conceptual chatbot architecture looks like this:
Behind the CUI, different chatbot architectures are employed to solve different problem. A good way to understand what drives the specific architecture of each chatbot is to map a chatbot's capabilities to the complexity of tasks it is trying to solve.
One key aspect of complexity is the chatbot’s flexibility, based on how it can keep up a conversation that reflects:
The second key aspect of a chatbot is the robustness of its ability to reliably satisfy the user’s needs. The more consistent the chatbot’s success rate in satisfying the customer, the more useful it is for commercial applications.
Ideally, chatbots are both flexible and robust. Unfortunately, today’s technology usually requires a tradeoff between the two. Robust chatbot applications are usually inflexible; able to operate in a narrow context of conversation topics, require strict definition of context and respond well to structured queries with limited vocabulary only. On the other hand, highly flexible systems are typically more experimental than commercial, used for research, demonstrations or entertainment purposes.
It is pretty clear that today, robustness trumps flexibility. In other words, it is more practical to create chatbots with less flexibility, but higher robustness.
We can plot some of the more popular chatbot technologies on a two-dimensional plane in terms of their flexibility/robustness like this: Explanation of terms used in the illustration above
Rule-based (or FSM-based) — “If user says, ‘system do this,’ it then goes there” logic. The result is pretty simple trees (or graphs) of possible user journeys. Minimum flexibility.
Ontology/frame based — the conversation goal is described as a network of slots which have to be filled. Slots might be filled in a different order, and several slots might be filled in a single user interaction.
Deep learning-backed— based on neural networks (many topologies), which simply speaking “know” many dialogs and try to map the actual dialog to dialog it knows.
Predefined user input— user choices and actions are provided by a chatbot.
Keyword-based commands— specific keywords are extracted from a natural phrase using simple text processing techniques like lowercasing, stemming and substring matching.
Intent recognition— a command (intent) and its parameters (entities) are extracted from a natural phrase by leveraging machine learning
The conceptual architecture of a chatbot application consists of a channel connector that communicates with customers over different channels; a dialog manager that runs individual conversations and initiates actions at the customer’s request; a conversational scenario designer that allows it to create and modify conversation scenarios; and, finally, inter-conversation memory that allows it to maintain the long-term context during an extended conversation.
Companies interested in developing a chatbot should implement these basic building blocks and integrate them based on the application domain. The design and implementation should be heavily influenced by the trade-off between flexibility and robustness we have discussed above.
At this writing, chatbots are niche business applications that only implement simple use cases. But this is just the beginning, and the new ways of building AI applications and new user Interfaces are actively emerging and gaining traction. Recent research discussed in this article at IBM developerWorks and this one at EagerEyes conclude that a successful chatbot should focus on a simple, well-implemented use case. Since well-defined user input is more effective than free-form queries, this distinction is crucial when designing a successful chatbot.
A final thought for this post: a well-designed chatbot should help users understand the bot’s capabilities, thus helping them them accept the bot and to use it more effectively to achieve their objectives — which is not only a worthwhile business goal, but a giant step toward the holy grail of customer service: true artificial intelligence.