10 Tips for Building a Successful Chatbot
“Building a bot is easy. Building a bad bot is even easier”- Norm Judah (CTO-Microsoft)
Globally, businesses spend $1.3 trillion on 265 billion customer service calls every year. As a result, brands across industries are investing in chatbots as a way to save time (99% improvement in response times) and money, (30% average drop in cost-per-query resolution) while increasing customer satisfaction.
But, that holy trifecta only comes to fruition if the bot gets things right every single time. Without precision training data, models trip up on simple tasks, consumers get frustrated, and the whole thing falls apart.
While an average company may look at chatbots simply as a means of cutting costs, industry-leaders understand that AI opens the door for entirely new and innovative products. Take banking customers, for example, who identified their top priorities in a study by CGI group as follows:
- To be rewarded for their business
- To be treated like a person
- To be able to check their balance anytime they wish
- To be provided with wealth-building advice
- To be shown spending habits and given advice on how to save
Forward-thinking banks know that by investing in a chatbot today, they’re laying the groundwork for a technology that, down the line, will allow them to hit every single one of those customer priorities. They’re investing accordingly and according to the McKinsey Global Institute, they’re building an insurmountable advantage as a result.
With that in mind. Here are my top 10 tips for keeping a chatbot initiative on the road to long-term success:
1. Know the story:
Intents are the fundamental building blocks of task-oriented chatbots. Think of them as the problems that your agent will need to be able to resolve. In a banking scenario, these could be anything from checking an account’s balance, to wiring money, or checking branch hours. You need to understand your customers’ needs and map them out into well-defined actions (intents). Make flowcharts that delineate every possible flow of a conversation from point A to point B. Understand how the customers intents are interlinked, and determine whether there is a logical order between them. If you don’t do this exhaustively, your bot will be thrown by even the slightest variations.
2. Get your entities straight
If intents define the broad-level context that determines a chatbot’s capabilities, entities are the specific bits of information the bot will need in order to execute those actions. That means when a bot recognizes an intent, like wiring money let’s say, it also needs to know the recipient and monetary amount to be transferred (at the very least). Intents can be as complex as needed, containing both mandatory and optional entities (like source account or currency, in the money wiring scenario).
3. Divide to conquer
Don’t expect intents to come with all their requisite entities in just one turn. People leave things out. Nobody types, “I’m looking to wire $500 from my savings account to Mike Watson.” Things like “Wire $500” are much more common. Consider what further steps your bot will need to take in order to fill in the gaps. Zoom in on those flowcharts from step 1 and, for each intent, map out all the possible entity combinations. Design the conversation flow accordingly.
4. “If I remember correctly …”
Your bot needs to remember things! Keep track of recent interactions (intents and entities). People tend to ask follow-up questions, and it’s a nice touch to be able to answer without the redundancy of requesting information they’ve already provided. Imagine that a customer asks for a specific bank branch address. The bot successfully responds to the intent, and then the user asks: “And when does it open?” The best chatbots will answer immediately, understanding that the conversational subject is still that same branch. Keep in mind that the same can be true of intents: A customer may ask “What are the Greenwood branch hours?” followed by “What about Capitol Hill?”
5. Know what to do when you don’t know what to do
Prepare to not understand everything your customer wants, and know how to respond accordingly. You can simply say, “Sorry, I didn’t get that,” but the best bots (like the best customer service reps) provide more useful responses, such as “I didn’t quite catch that. Do you want me to perform an online search?” Or, “I didn’t quite catch that. Do you mind asking the question a different way? Or shall I connect you to an agent?”
6. “Let’s run it from the top”
Even though you’ll do everything in your power to avoid it, your bot could get lost in complex conversations where customers express a high number of unique intents. That’s why users should always have the option to restart the conversation from scratch. A clean slate beats a long stream of frustrating interactions from which you won’t be able to recover.
7. Control what You Can Control
You can’t control what the customer is going to say, but you sure can control how your bot will respond. Invest in variability. Different greeting and parting phrases are a nice touch, as is addressing customers by name.
8. Quality is variability. Variability is quality.
People express the same intents and entities in a multitude of different ways. Investing in data collection that gathers comprehensive variants for how people express certain bits of information is one of the most important steps on the road to building successful virtual agents. Only then will your bot understand that “How much did I spend between November 1st and November 31st” is the same as “How much have I spent this month.”
9. Sound like a local
People in the Pacific Northwest might refer to their savings accounts as “rainy-day” funds, whereas customers in the deep south may prefer the term “honey-pot.” On the global scale, in the US, people like to say “checking account,” but in the UK, “main” or “current” are the more popular terms. A globalized company looking to serve a broad customer-base needs to understand how different consumer blocs speak at a granular level. That way, their bot can properly interface with every customer. Here, once again, the world’s most clever algorithm won’t save you. It’s all about the data.
10. Precision. Precision. Precision.
To quote Google’s Peter Novig, “More data beats better algorithms, but better data beats more data.” Collecting a lot of variants and running them through intent classifiers and entity-taggers only works if that data is annotated correctly. When a customer says, “check balance,” your bot needs to understand that “check” can serve as both a noun and a verb depending on the context. Otherwise, your costumers will be ramming their head against the wall with something as simple as checking the balance of their savings account. All the data in the world does you no good if it’s improperly annotated.