Chat bots 101: A primer for app developers
Across the tech landscape, consumer retail companies like Amazon and Apple are converging on an emerging technology—the chat bot—and transforming it into the personal assistants we know as Alexa and Siri. Microsoft has joined the party with Cortana, and Google recently launched Allo, an instant-messaging virtual assistant app that provides weather and traffic updates, sports scores and flight itineraries.
With bots engaging with us in our living rooms or on our commutes, consumers are interacting with tech on a scale not seen before. So how can businesses leverage this tech—and our comfort in engaging with it—to create a better customer experience, increase brand loyalty and drive business goals?
Commercially available since the early 2000s, chat bots like SmarterChild were once widely deployed across instant messaging networks. They were limited by a rules-based approach to computer-human communication. These bots functioned on a script, responded only to specific commands and didn’t learn from their interaction with people. As such, they lacked the technical foundation to scale, particularly with the rise of mobile computing and the Internet of Things.
“Historically in the [bot] space, most vendors would use rules to determine what a user is saying,” says Brian Loveys, IBM Watson program director of product management and strategy. “Rules are brittle. The challenge with this approach is that it doesn’t take advantage of the data.”
Machine learning tools
Flash forward to today. Modern chat bots based on Watson technology use a more sophisticated approach known as machine learning, which enables bots to interact with users in a more personalized and natural manner—critical for customer engagement.
Machine learning systems understand natural language, not just commands. Unlike traditional chat bots, end users don’t have to be extremely specific when talking to an AI chat bot, which learns by analyzing massive amounts of unstructured data.
This is game-changing in terms of scaling customer engagement. For example, a smart chat bot can:
- Enable cognitive services that make interactions more human-like
- Empower your chat bot to find a suitable answer even when it hasn’t been trained on the question
- Interact instantly with users on popular messaging platforms
- Be flexible and versatile: developers can build one bot and easily deploy it anywhere – social media, SMS, mobile, web – even on robots
Developers looking to build a bot that improves customer engagement can use a variety of development tools. The challenge, however, lies in selecting a tool that offers the customization capabilities needed to build a chat bot suitable for the need, while still speeding time to market and making ongoing maintenance simple.
“That has been the tradeoff in almost all software, historically,” says IBM Watson Conversation service product manager Mitch Mason. “The easier something is to use, typically the less you can do with it. The harder it is to use, the more customizable it is.”
Chat bot development platforms are typically not much different. Tools can vary widely, with some aimed specifically at enterprise users with service desk roles, to highly customizable but complex development environments. The newest entrant to the market is IBM Watson Conversation, an easy-to-use graphical environment for creating virtual agents and bots for natural language interaction between users and customer service. (More on this below.)
Regardless of the tool, the end goal is to build something that can both listen and speak like we do.
Build a bot
“Natural language processing is the understanding of a sentence,” says Mason. To get a chat bot to this level means training it to take idiosyncratic human language (such as “What time do you open?”), glean meaning from the statement (the customer is asking for hours of operation) and then return a response.
There are a variety of ways to build that understanding. Watson Conversation, for example, uses machine learning techniques to build bots endowed with natural language processing.
Developers employ three elements within Watson Conversation instances: intents, entities and dialogs. An intent is something a chat user wants to do—change a password, check an order, or gripe about a product. An entity is the object of an intent—perhaps an online billing system the user wants to assign a new password to—that may change the chat bot’s response. (This video provides some great examples of entities and how they work.)
“Intents and entities together are the understanding,” says Mason. “It’s getting to the bottom of what the user wants to do.”
The final element in Watson Conversation’s natural language processing is the dialog. A dialog provides responses to the user based on the identified intents and entities, plus context from the application.
Once training is complete, Watson Conversation outputs a chat bot that can hold natural conversations with end users.
The bot revolution has begun
Just as Watson amazed the tech world in 2011 by defeating two of Jeopardy’s smartest champions, Watson Conversation is making it dramatically easier for developers to build AI-driven virtual agents. The need to improve customer engagement, coupled with explosive growth of interactive online channels, is driving demand for chat bots in the enterprise. Smarter, powerful, and easy-to-use development tools are enabling developers to build a new generation of cognitive bots that engage users in a more personalized and natural way.
You have many options when it comes to building a chat bot. Download this infographic to learn how the Conversation service, a.k.a. the Watson chat bot API, stacks up against the competition.
Build your own chatbot or virtual agent