by Lisa Michaud, NLP Architect, Tobias Goebel, Director of Emerging Technologies, & Bill Gay, Director, Self Service, Agent & Desktop Experience
This is the first of a three-part series on the essential steps necessary to build a successful and effective customer service chatbot.
So, you want to build a chatbot, great. You’re not alone. There are more than 34,000 chatbots on Facebook Messenger alone, and many of these are already built by and for brands. Increasingly, they are helping customers answer questions and solve issues on their own as well as taking work off of the shoulders of contact center agents. But even though you’re not too late to the game, you might be asking yourself: Where to begin?
The following instructions are designed to guide you through the vital steps necessary to build a customer service chatbot from scratch. It will show you how to find the right use case, design both the message understanding and the message (response) generation side of the bot, pick the right tools and approaches for testing, and deploying your bot. This is not meant as an exhaustive guide, but should help you get started with the planning and thought process around your own chatbot.
- Determine the role of the bot and set goals
Before you start anything, identify what you want your bot to do and be specific. Identify all required features and address the implementation tasks. Doing this upfront will lead to a robust chatbot and ideally one that can deal with the majority of topics your contact center handles today, including strategies on how to handle unknown answers to questions.
To start, consider a modest goal that matches your customer service philosophy. Is the initial plan to provide great responses to a limited set of questions with high confidence or to handle a broader base of topics to satisfy customer needs? Eventually, both goals can be met but there will be learning and refining which will happen once a chatbot is available for your customers to use.
Let’s begin with a simple (and friendly) bot whose purpose is solely to route questions to proper live staff. This is the equivalent of a contact center agent’s first day in your contact center – both will be able to handle more inquiries over time. Start collecting customer data without answering any questions.
* Identify the top 5 to 10 items that customers want to know about. Limiting the topics allows for finer tuning of the bot to understand the subject better which in turn allows answers with higher confidence.
* Construct Frequently Asked Questions responses (FAQs). These are normally 10 to 25 topics and answers with short text responses along with follow up links as needed which contains additional details and information. However, note that the chat medium demands a more conversational approach, so make sure responses are less regurgitation of long explanations, and more chat.
* Match the chatbot to your existing voice self-service platform capabilities. Recreating well-defined and understood topics creates consistency across all modalities for your customers.
* Identify the transactional use cases beyond merely informational ones. This would be for creating a more fully functional bot that manages all types of the business tasks your staff handles today, such as providing detailed order status or handling appointment reminders.
* No matter which direction is decided upon to get started, it is important that the bot-customer transcript be provided to the agent so they have context to help the customer and provide a higher touch experience. ~Bill
- Evaluate and pick a channel
Text-based chatbots can live on any communication channel that can carry a dialog, whether that’s a traditional mobile carrier channel (SMS, USSD), a messaging app (Facebook Messenger, WeChat, Kik, Line, Viber), certain social networks like Twitter, or chat embedded on a website. If you are considering adding a conversational experience to your existing mobile app, ask this question: does this experience add enough new value that it justifies the investment? App fatigue is starting to reduce app download and engagement rates and can have a like-effect on the use of in-app chat.
Whatever channel you prefer, make sure it offers an open API so that bots can be programmatically embedded. That is not yet the case for some of the messaging apps such as WhatsApp (as of February, 2017).
The channel you choose can be one you already engage customers on, or it could be completely new to you. The latter has the advantage that it wouldn’t conflict or compete with any existing programs in your organization, and you can start fresh. Oftentimes, launching pilot implementations is easier on a new channel vs. one you already use. ~Tobias
- Create the Conversational Architecture
Chatbots, especially those answering frequently asked customer questions, are a different type of User Interface than a traditional Graphical UI (GUI) such as a website or a mobile app. GUIs restrict the possible user interaction to a finite set of options that the designer can easily cater for. Conversational UIs (CUIs) are open-ended by design: the customer can send any text, and human language is known for allowing infinite ways to say the same thing with different words. Chatbots are about a continuous conversation allowing for any number of turns taken between the bot and the user. They are story- or flow-based, where all previous interactions are always visible to both interlocutors, and linguistic constructs such as pronouns (“and what is the price of that”) or ellipses (incomplete sentences such as “yes, but on the aisle please”) require you to maintain context so that that messages can be resolved using information previously provided.
What this means for your chatbot design is that user messages can never be analyzed in complete isolation – they are part of a conversation. As a first design step, you therefore want to create a Conversational Architecture. This is similar to an Information Architecture for a GUI, which puts the website content into a hierarchy of web pages (a site map). If the basis for your bot is an existing set of answers to FAQs, typically exposed on your website today, you would take this set of answers and consider which follow-up questions a user might have based on a particular bot response. E.g., consider the following dialog:
User: “I am interested in self-service for my contact center”
Bot: “Aspect offers CXP, a platform to build omni-channel self-service experiences on.”
User: “How is that priced?”
Without knowing that we are now in the context of Aspect CXP, the bot cannot provide an answer to this question. The Conversational Architecture tells the bot developer which context to consider in which step of the overall dialog. ~Tobias
Watch this space next week for Part II of this series as we discuss designing dialog flows, storyboards, integrations and more.