Building Ana the insurance chatbot: Part 1 of 3 – Getting starting with Watson Conversation and IBM Cloud

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.

Watson Conversation

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

See also:

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

Digital Designer & Developer | IBM Bluemix

More InsurTech stories

How can insurers stay relevant when insurance ceases to be mandatory?

Insurance and insurers have been around for millennia, with modern insurance starting in the U.K. more than 300 years ago. For much of this time, incumbent insurers have been protected from competition by four big barriers: regulation, the law of large numbers, the trust nature of insurance, and, last but not least, the inertia of […]

Continue reading

How digitalization of life insurance will transform a static industry

Life insurers have a big problem: Younger adults are not buying life insurance. Despite year-over-year population and GDP growth, the number of U.S. residents under 45 who applied for life insurance in 2018 fell 2.7 percent from the previous year, according to the nonprofit group MIB. Insurers have turned to emerging markets such as India […]

Continue reading

“Technology and the Future of Work” at Distribution Conference for Financial Services

The term shifting sands is usually used to emphasize that something changes frequently, making it difficult to deal with and thus make plans. But the need for change also can lead to great opportunity. The theme for this year’s 2019 Distribution Conference for Financial Services – “Shifting Sands: Find Your Footing” seems perfect for conveying […]

Continue reading