Conversational AI Automation Primer
There’s been huge advances in the power, as well as ease of use, of Conversational AI. If you are going to venture into the technology, there is massive potential for return on that investment. Unfortunately anything that involves AI (Artificial Intelligence) and ML (Machine Learning) these days is overloaded with domain specific terms and concepts. The first step you need to do is learn the jargon and key concepts.
I use the term “Customers” in this article. Please be aware that even internal use cases you should consider your employees customers. It doesn’t matter if they are doing an HR or IT task, they are a customer of that service. You want it to be fast and responsive to resolve their needs. You want to reduce the cost on your end. Same as it is for external customers.
How We Have Conversations
One foundational item is where this conversation can take place, as well as if a user can shift from channel to channel and keep the same flow going. The initial part is first broken into 2 parts – Voice and Text. The Text bucket then gets broken down into other buckets. The shifting channels is a concept called Omni-channel, which I’ll cover here also.
Voice
For Voice there will be some sort of system that converts the spoken word to text. Note that this is an area where there is great variation in quality. We are all familiar with repeating “Operator” into a voice call to get the voice robot to hand us over to a human being. If you do plan to use voice, there are three, if not four, items to keep in mind:
- Will will it integrate with your contact center platform?
- How accurate is it? Definitely something you want to test. Don’t expect perfection, but make sure the accuracy is enough that you won’t frustrate your customers. Don’t torpedo your project by turning off your first users.
- Do you want to interface with Smart Speakers or other Voice IoT (Internet of Things) devices? Even if you don’t in this phase, could you see expanding to that in the near future?
- Are you able to use different systems for converting voice to text and text to voice? There is a quality/cost ratio here.
Text
The Text channels will break up into 3, if not 4, Buckets:
- Web Chat – typically just a line or two of JavaScript to add a floating button to bring up the Virtual Assistant.
- Public Facing – platforms like Facebook Messenger, WhatsApp, Apple Business Chat
- Unified Communications – often internal systems like Slack, Teams, etc.
- Proprietary Apps – native mobile apps on Android or iOS.
Omni-Channel
When we speak (pun intended) about Omni-Channel, you want to be sure you understand exactly what it is. It refers to more than just being able to meet your customers on multiple channels. It also includes the ability to switch seamlessly between channels and have the context (defined below) and flow continue. Imagine calling a support number on your garage door opener, and having the Conversational Assistant send a web link to your smart phone where you can view a wiring diagram. Or SMS/Text the user a validation link to confirm their identity with MFA (Multi Factor Authentication.)
Crafting the Conversation
The first key Conversational AI Assistant concept is that of an Intent. This is what the user wants to do, what they intend to accomplish. They might want to find out some information about a product or about their order. They might want to take an action like ordering something, changing an existing order or paying a bill. As you research solving problems, delighting your customers and increasing revenue, you need to think about what your users want to do through Conversational AI Automation.
Start by making a list of those intents, and give them names that make sense and cover a single task. Good names are ones like:
- Order – Check Status
- Order – Create
- Order – Cancel
- Product – Check Availability
I’m still not decided if I like the <bucket> – <action> naming methodology. It’s nice because it groups things together. You could also go with something like:
- Check Order Status
- Create Order
- Cancel Order
- Check Product Availability
The system you go with had better make it possible to rename intents!
Many solutions use the intent as the item everything related keys off of. As such, you want to avoid intent names that bundle different actions together. Bad Intents titles are ones like:
- Order – Create, Cancel, Modify
- Product – Order, Return
When you start to implement the part of the system that helps the user you’ll see that it adds more complexity as you’ll have to differentiate the different individual Intents. It is best to do this without having to ask for more details. When you get farther into the process you’ll see how you need to keep them separate.
How Do I Say That?
Once you have decided the intents your users will have, you need to write up how they might ask for what they want. These are often called utterances, but in the Cognigy UI they are under “Sentences” in the NLU (Natural Language Understanding) tab for a Flow. You’ll create a list of sentences a user might use. Note that for some channels you will use buttons, but it is smart to have the free-form text built into the system so you can leverage more channels.
So for the “Order – Check Status” Intent, the Utterances might include:
- Where is my order?
- When does my order arrive?
- When will my product get here?
- Why is my order late?
Note that the last utterance has an intent of checking the status of the order, but there also is a second intent of conveying dissatisfaction.
Another item to keep in mind, it should not require a large number of utterances for a system to understand the intent. If a firm shows you a solution with dozens of phrases per intent be prepared that you’ll have exponentially more work to do when you add domain specific intents. There also is more room for the system to be confused as the sentences can collide. Lastly the more data a system has to train with, the slower it will be, as well as more expensive to maintain. Yes, with AI “data is king” but there are specific times this is true.
A Rose By Any Other Name
The complexities of human language will never cease to amaze me, especially spoken English. I have a favorite example that I like to use to highlight the complexities:
They’re driving their car there.
Three words there (pun again intended) that are often spoken identically and yet each has a very different meaning. Just one 5 word sentence. Imagine though what someone might say over the phone or to a smart speaker:
I’m trying to bake some bread and the oven won’t turn on.
The Intent is not to ask for a bread recipe, rather it is to troubleshoot a broken oven.
Lexicons
There is a term of art, that is to say domain specific, phrase to learn here. That concept is of a Lexicon. A lexicon is a domain specific collection of Keyphrases (also called Entities) that can help to understand an intent.
So “pizza” is a type of food. “Cheese”, “peperoni” and “tomatoes” are also types of food – but for your domain they might be categorized as “toppings”. Does the platform provide a way non-technical SMEs (Subject Matter Experts) can provide data for the system to train with?
Well thought out Lexicons help the system not only understand more utterances but also to infer more from that utterance. That additional inferred information is called context. A good example can be found in the following utterance:
I want to order a medium peperoni pizza.
The system should be able to understand that the intent is to make an order. But it also should be able to infer the first item the person wants to order. Consider the following two responses a Conversational assistant might have to that utterance:
Okay, what would is the first item you want to order?
or
Okay, I’ve added a medium peperoni pizza to your order. Would you like to add another item to this order? If so, what?
Which experience will delight your customers? And which will frustrate them?
Context Switching
The last piece related to context is the ability to context switch, That is to say when a user starts down a path but changes their intent. Not critical, but it is important that users be able to break away from the path they are on and return to it. With some platforms their might be a little extra development to make this happen.
Don’t Get Lost In Translation
The system will use some sort of Natural Language Understanding to take the free form text and understand it. You’ll want to be sure that there is some way you can monitor the accuracy as well as train the system to better understand what the users desires.
You Complete Me
Hopefully you are still with me. We’ve covered a lot of topics and the last three terms bundle together and conclude this journey. Once the system has figured out what the user wants to accomplish the real power is when the Conversational AI Automation Fulfills that intent. That brings us to the Fulfillment, whether it be providing information or taking some sort of action on behalf of the user.
The next layer to that fulfillment is to look at what integration can resolve the intent. Systems like ERP, CRM, ticketing, etc., can be integrated into the process. One last term is Robotic Process Automation, or RPA. These systems automate tasks that human beings might normally do via a mouse and keyboard using a complex Graphical User Interface (GUI).
In Conclusion
If you’re considering a Conversational AI Automation initiative then get familiar with the term and concepts. You’ll need a good understanding as you navigate the options out there. Reach out to me if you’d like more details on Cognigy. And if you want to try it out yourself – check out my article on a quick/free Conversational AI Automation Hand-On experience.
Image from freeimages.com.