April 4, 2018 | Written by: Anton McConville
Categorized: AI | InsurTech
Share this post:
With virtual assistants (VA) like Alexa from Amazon, Google’s Assistant, and Siri from Apple, it’s clear that human-to-machine conversation has become a genuine alternative to traditional user interfaces, and now they ready to tackle some meaningful tasks. Something that was seen as an awkward conversation with an inanimate object just a few years ago is now engrained into our daily lives. Asking your mobile or connected smart speaker’s virtual assistant to turn a light off or when is it going to rain seems as normal now as saying hello to your neighbor next door (or maybe even more normal). In fact, virtual assistants have progressed to the point where developers are now concerned about making them “too human,” so they remain somewhat machine-like and not scare their users.
Now, human-to-machine communication, or “bot”, for everyday requests and household questions is one thing, using a bot for meaningful customer service, such as with your insurance provider, is a completely different domain. The banking and financial services industry is in the midst of a virtual assistant banking disruption, while the insurance industry is not far behind. Starting with the younger generation, insurance customers are increasingly using these virtual agents, specifically chatbots, for their customer service demands.
At IBM, we are embracing this disruption by building Ana (short for Analytics). Ana is a natural-language, intelligent chatbot built with Watson Conversation. In this three part blog series, I discuss using Watson Conversation holistically in the context of the software design and engineering of a chatbot example. Providing a step-by-step process from design to implementation, in this series: I will:
- Introduce Watson Conversation
- Examine the data model and back-end software development using Node, Mongo and Passport
- Review design approach, strategy, front-end implementation and user experience considerations.
Most of all, I wanted to experiment with a chatbot that worked with personal data, accessed from a database. I have tried plenty of chatbot examples that responded with canned messages from a person’s questions and concerns, but I hadn’t come across any examples integrated with dynamic data from a database. I wanted to understand how well a bot could respond in such a case. I also wanted to get a feel for a chatbot designed around an authentic and useful scenario.
In North America, many employers offer healthcare benefits to their staff—for dental health, vision health and so on. I lost my glasses on a trip in Europe, and wondered if I had any vision benefit available (my plan offers some help towards glasses every couple of years). To find that out, I’d have to access the insurance company website, and dig around across multiply linked pages on my phone. That would have been time consuming and potentially frustrating. It also would have put a drain on my roaming data fees. I could have called the company and hung on the phone long distance while my call was queued for the next available operator. So in the face of these mundane and tedious tasks, I decided that a chatbot would be an ideal scenario to implement. My aim was to be able to type in ‘Hey, I lost my glasses,’ and have the bot respond to tell me about my plan of action within seconds.
Here’s a taste of how it works:
Try it for yourself at the Cloud Life Insurance conceptual site here. You’ll need to make a local account, so that it’s personalized—it just takes a moment to set up.
It’s clear is that design plays a big part in the process. Also, it is equally important to step back and start imagining a human dialog to develop a receptive set of interactions from the conversation service. The best place to learn how to build a chatbot dialog is from the resources on the Watson Conversation Service site. But I’ll go ahead and briefly talk about the components of the service here.
In modeling a conversation, Watson Conversation uses Intents, Entities and Dialog. Ana’s intents are all about an angle of conversation—greeting Ana, beginning to talk about a procedure, asking about coverage—broad ways of engaging on the subject of health benefits.
Here’s an expansion of the #claim procedure intents:
The entities section provides a richer vocabulary for describing aspects of the procedure:
Digging deeper into the procedures section, we see alternative words, or words related to aspects of procedures:
And finally the dialog uses the intents and entities as pivot points for directing a conversation. With the dialog tool, we anchor paths that will react to the intents and entities a person types into the chatbot.
We can sculpt some responses inside the dialog nodes so that the conversation service responds sensibly, or we can create the responses as skeletal frames that fill in information passed as a context object. Hopefully that offers an idea of the dialog we designed for Ana. You can import the dialog into your own Watson Conversation instance and explore it from ana.json.
In conclusion, Watson Conversation resources can guide you through learning the components and the dashboard visual tool. The tool integrates a handy conversational dialog area for testing as you design the conversation. There’s a deep relationship between data content and any user interface, and the same goes for chatbots. This blog post is intended to give an overview of a wider design and development approach for building a rich, data integrated cloud-based chatbot. I really like this quotation from “The King of Web Standards”, Jeffrey Zeldman:
“Content precedes design. Design in the absence of content is not design, it’s decoration.”
I can’t emphasize strongly enough how important it is to think about data content along with conversation design. In the next post we’ll look at the data model and dig into the cloud implementation that manages it.
Learn more about Watson Conversation
Build your own chatbot with Watson
Some other useful links:
Watson Conversation Developer Resources
IBM Bot Asset Exchange
Improve Your Chatbot Using Watson Conversation Chat Logs
Building Ana the insurance chatbot: Part 2 of 3 – Behind the scenes
Building Ana the insurance chatbot: Part 3 of 3 – Front end and UX design