by Lisa Michaud, NLP Architect, Tobias Goebel, Director of Emerging Technologies, & Bill Gay, Director, Self Service, Agent & Desktop Experience
This is the second of a three-part series on the essential steps necessary to build a successful and effective customer service chatbot. Part I is available here.
4. Design dialog flows and storyboards.
While creating the Conversational Architecture is an exercise to help you organize your content and start thinking about the best ways to word the bot’s answers, the dialog flow goes into all the detail needed for your developer to implement the bot.
In the dialog flow design, you will want to show representations of what the bot will say at each step. However, the detailed message design should happen outside of the flow diagrams, as you will want to design variations of the same message for frequently occurring dialog steps. This is a technique called random prompting, where you make the bot use wording variations to essentially say the same thing. This will make the whole experience less robotic and more human-like, something we should strive for in bot design. As an example, consider designing multiple ways of saying “Not sure I got that, can you rephrase please?”, since so-called “NoMatches” (i.e. the bot cannot find a match of the customer message against its rules) can occur frequently, especially in the early stages of your bot project. ~Tobias
5. Design the integrations
Integrations can be as varied as the applications you want to automate. Are there already current integrations and/or data that can be used to support the customer experience with your bot? If you already have an integration with your existing self-service platforms (web or voice) to some of your systems, the same integrations may be re-used for chatbot purposes. For example, if your IVR application already verifies your customer and can provide order status information, then most likely the integration can be re-used for your chatbot.
New bot self-service concepts however may require new integrations. Current software packages, technologies, and databases generally have robust connections that can provide a wealth of detail required for the bot to function.
Accessing customer data to answer customer questions is important, but not all chatbot functions require integration. For example, when FAQ answers are well-defined and documented, they can be re-used to build bot responses in order to provide message consistency. This example does not require any back-end integration to other systems to get started. Down the road, you might want to better manage answers to FAQs centrally, which will require access to a Knowledge Base or similar systems. ~Bill
6. Collect chat data
No matter what platform you use to create your bot, one of the most important resources you will need is a collection of sentences reflecting different ways to express each one of the intents and slot values your bot will need to recognize. This resource can be difficult to create because of the amazing diversity of human language – and the limitations of the developer’s imagination. The ideal resource is actual text from conversations with customers. If you’re lucky enough to have had agents communicating with customers in chat channels, you can mine those conversations for real examples (see also the next step). But for many companies, this may be the first time they are engaging in customer service through a chat-based interface.
If you need to create your initial data by hand, make certain that your collection includes not just one developer’s intuitions but also input from as large a variety of people. Remember that diversity is the key. One useful approach is therefore to work with QA and crowdsourcing companies who have access to large number of people from around the world. Finding people with the same linguistic background as your target users is helpful. e.g. if the target language for your bot is English, but you know that your users will come from different countries, finding people that have the same linguistic background helps create more realistic data; data that might even include mistakes that are typical for some non-native speakers.
For FAQ-type bots, an approach that can be used for this exercise is a “Jeopardy!”-like approach: provide your designers with just the various answers your bot will give, and ask them to brainstorm questions that would result in these answers. ~Lisa.
Watch this space next week for Part III of this series.