An organization may not have a lightbulb moment when it realizes it needs a chatbot, but if it's forward-thinking, it will know when the time comes to hop on the next technological innovation train.
Not only are chatbots the next step in the natural evolution of customer service technology, but they can improve CX and save organizations money. While these tools can bring more ease, their best practices still involve software engineering skills, like dealing with APIs and different protocols, according to author Andrew Freed. Chatbot best practices involve a lot of software work in the middle to create the ease they provide in customer interactions, Freed said.
In his book, Conversational AI from Manning Publications Co., Freed walks readers through the entire process of building a chatbot, including best practices, real-world examples and the skills and tools teams need to handle this technology.
Editor's note: The following interview was edited for length and clarity.
What technical skills do teams need to build a chatbot?
Andrew Freed: The same skills they need for traditional applications. … That's straight software engineering. It's API calls, security, REST protocols and all that stuff. In lots of the most interesting chatbots, that doesn't go away.
There's a data science aspect to look at ways people phrase requests and make sure we understand them. … It's not like every single thing you see you'll understand perfectly. There's more probability to it.
And there's also a traditional testing mindset. Say you've got a [virtual] assistant with a big dialogue tree. You still have to test that you coded the tree correctly. You wanted six steps for them to reset their password? Well, you've got to test all six steps. And, by the way, what if they failed step four? So, even though the tools make it easier to put this stuff together, you still have to test.
What are the biggest challenges in building a chatbot?
Freed: The testing can certainly be a challenge because there are so many ways everything can go. A lot of chatbots I see try to nudge the user to the right path, but they're not always going to color inside the lines. They'll do what they want to do. They'll try to break out, and you should probably let them.
The other challenge is design. So, you may have an idea to build a chatbot to handle five things. How do you decide what the five things are? Oftentimes, you have an idea of things users need, and that's not equivalent to things they actually need. Even if you've been so lucky as to match them up, you still need a sense of how they'll ask for these things. The worst thing you can do is say, 'I've got these five things. I'm going to sit and think how I think the user should ask for them.' You bring a ton of bias into this situation. It's hard because you think [you're] being reasonable, and it's not the case.
One customer I worked with -- every piece of training data they provided to the bot was between one and four words, and their users asked full sentences. It wasn't even close. And they were very strict in their testing. They went through lots of scenarios, but they made up a bunch, so when it got to production, [they wondered] why all the users ended up at the live agent anyway. Turns out they asked questions completely differently than we thought.
Always start with your users. When we start a chatbot project, we say, 'Do you have a list of questions users are asking? If you want to build a phone bot, do you have a chatbot already or a website where people search? Do we have real text from users to look at [instead of] our preconceptions?'
Sometimes, we'll set up a dummy interface -- a chat icon to say, 'How can I help you?' You send it to some test users, they type in what they want, the bot says, 'Thanks for asking. I don't know yet.' That's a cheap way to bootstrap. So, you get a couple hundred questions, and you see how they ask these questions because it's probably not the way you thought.
This is a challenge because you want something as close to the users as possible. If I build a text-based chatbot, I'd like utterances from a text-based chatbot -- maybe a failed one you're replacing. Even if I'm going from text to phone, you speak differently than you type. … So, the closest you can get is the best.
What tips do you have for people new to building chatbots?
Freed: If you're an enterprise and need this to revamp your call center, don't just take the techie and make them knock out a chatbot in one afternoon. You want lots of people in the room to make it work. The developer [will] write terrible dialogue, but they can connect the different systems. You want someone who can write dialogue [and] someone who knows the business processes. You want to check in with your legal group. If you've got a persona, users will expect that consistent experience.
I had an experience where we went through a couple months' long build, had the whole chatbot out and the compliance group looked at it and said, 'You can't give out this information over the phone if all you've asked for is this.' After all this testing, we had to shut off a corner of the bot, which is disheartening. But at least we didn't get sued. Had we brought them in from the beginning, we could have done things differently.
It's like a business transformation. It's not just bolting on one more thing to what you always do because you're not replicating your call center in your chatbot. I'm not going to start my chatbot with [a phone tree]. It's a waste of technology. I'm not moving forward. So, I'm going to fundamentally redesign the entire customer service experience. Therefore, I need all the groups that connect to it.
If you imagine resetting a password in four steps, it'll probably look like a funnel. Everybody comes in the beginning to reset their password, and the bottom is people who actually got to reset it. At some point, it will shrink. Why did it shrink? It might be that you coded some dumb rules about how to set the password. Maybe you asked questions the users didn't understand, or you didn't understand what the users wanted. So, it's not one and done. You have to go back and monitor and improve it.
The chatbot's not done when you deliver it. That's the beginning.