Automating Customer Interactions with IBM Watson Conversation and Bluemix
Virtual agents and chatbots can significantly optimize the operations of customer service departments. Trained to answer questions frequently asked by end users, they help organizations to automate a variety of customer interactions, engaging team members only in complex situations.
In this post, we explain how to work with the Watson Conversation service in Bluemix for creating chatbots.
Overview of Watson Conversation
You can easily find and create the Conversation service in the IBM Bluemix catalog.
The service provides users a special tool for training chatbots. In the Workspaces section, you can find the list of learned domains for your chatbots.
Watson Conversation dashboard
If you open a workspace, you will be able to see three tabs:
- Intents. The list of learned and programmed actions.
- Entities. The list of subjects that Watson will recognize during conversation.
- Dialog. The tool for modeling the schema of a dialog. It allows you to specify sequences of questions and typical answers on these questions.
Intents in a sample Watson Conversation workspace
You can also export all your configurations to JSON files, as well as make requests to the Conversation service using the REST API provided by IBM Watson.
To better understand the capabilities of Conversation, let’s take a look at our five-minute “Hello, World” chatbot.
The goal was to train the chatbot to use a few sentences for turning lights on and off. To do this, we defined two intents: turn on and turn off. We also included a number of words that may be used as synonyms and need to be recognized in a user’s text.
Intents for our “Hello, World” chatbot
Then, we defined the light entity, specifying words that describe light in English.
After that, we provided Watson Conversation with the set of rules on how to answer questions that include the above intents and entity.
Sample dialog schema for the demo application
For debugging purposes, you can use the embedded chat, trying out different combinations of sentences and investigating how Watson Conversation responds to your requests.
Watson Conversation chat
When the model is ready, you can start testing it in your application. For this purpose, the service provides a special REST API.
Testing the chatbot with the Watson Conversation REST API
You can find the Watson Conversation JSON model used in this tutorial here.
We did not experience any difficulties when creating our demo chatbot with Watson Conversation. All components—API, services, and UI—seemed to be consistent and simple to use.
With the Bluemix services based on IBM Watson, it is now possible to automate domains that were not possible to automate before. In particular, the Conversation service allows you to create natural dialogs using virtual agents and bots, reducing the pressure on customer service teams.
- Analyzing Customer Feedback Emotions with IBM Watson and Bluemix OpenWhisk
- Using Spark Streaming, Apache Kafka, and Object Storage for Stream Processing on Bluemix
- Data Stream Processing on IBM Bluemix: Streaming Analytics, Apache Spark, and BigInsights
About the author
Ilya Drabenia is a Technical Lead at Altoros. He has broad experience in building software architectures, including design and development of complex solutions. Ilya is passionate about microservices, domain-driven design, as well as scalable and parallel algorithms. He also holds an MS degree in Computer Science. See his profile on GitHub.
For the next parts of this series, subscribe to our blog or follow @altoros.