Chatbots: The road to user engagement for containers
2017 is the year of AI. But setting up AI sounds intimidating, right? For us, AI also sounded like a fun challenge. Here’s the road we took to use AI to drive customer engagement.
First, let us introduce Containerbot, an AI-driven chatbot:
AI tech engages large user bases
Containerbot lives inside a Slack channel, where he answers questions from a large user base. Today, that channel has over 1200 users, one of the most active in IBM. Those users are busy trying to learn and use an IBM offering called IBM Cloud Container Service. Since the DevOps team for that offering can’t quickly respond to such a large user base, Containerbot is there to respond, 24×7.
Caption: Containerbot responds to a question in Slack
How does Containerbot know what to say? This chatbot uses Watson Conversation to “hear” and respond with authoritative answers. He has authority and credibility because we trained him with the official documentation for IBM Cloud Container Service (more on training in just a moment).
With Watson Conversation, we had a proof-of-concept up in an afternoon. Even with very little setup, its chatbot was responding to questions we hadn’t exactly typed in. We were hooked, so our next step was to dig in and get our chatbot app running in Slack.
Training Containerbot: Be prepared to be amazed by AI tech
So, how do you train a chatbot? Using Watson Conversation, we defined entities and intents that we used to build out a conversation tree. The easiest way to explain entities and intents is by using something that the majority of us are very familiar with – 90’s TV shows:
Intents are general categorizations of the types of questions a user might ask. The more broad your intent is, the easier it is to narrow in when creating entities. Entities are really keywords to help Watson narrow in on an answer. You use a combination of intents and entities when creating a dialog to help Watson have an understanding of how a user might ask a question:
Watson Conversation has the ability to understand natural language and match the answer you’ve given, to the question they’ve asked, even if the questions that are asked, are not written exactly as they are in the intents section:
Because Containerbot is connected to slack, questions come in pretty frequently. We can use those questions to help train Watson with more specific answers – all within the Watson Conversation GUI. If Watson is consistently getting a question wrong, it helps us to make the entities and intents more or lessspecific.
Implementation of the bot on containers
But how do you keep him up and running? We are a small team of 3 people (two content designers and our developer) who wanted to prove that chatbots could be a fun way to provide customers with realtime answers, not a full development team. We picked IBM Cloud Container Service. The easy setup, scalability, and reliability of the service made it a no brainer. The users who interact with the bot also appreciate that it is running on the same technology on which they work.
Pro tip: When you host your app in IBM Cloud Container Service, its always good to have at least three worker nodes. We started with one, but having the extra nodes meant that the app could handle the fluctuations in traffic. Starting from the beginning with high availability in mind is important.
You too could make a chatbot! By combining Watson Conversation and IBM Cloud Container Service you can have 24/7 customer engagement for your teams.
A follow-on blog from our developer Carlton Semple will describe how Containerbot is evolving–getting smarter and faster.