Instead of treating those as separate intents could you change it up to be slots, eg have 3 symptom slots, ask the customer what their 3 most pressing symptoms are. And then in your utterances ensure you assign the slots in the example phrases. Going down this path you may need to split the symptom list up.
Or maybe restructure things a bit so that the intents are the conditions not the symptoms, and for certain conditions you just have way more phrases that take in every conceivable way of saying what is important (ideally still with some slots to gather specific symptoms), which would make the engine more confident on detecting that intent when that phrase is mentioned.
Again just some ideas, as I don't think there is ever a 1 way is the right way to this sort of thing.
Original Message:
Sent: 04-09-2024 12:35
From: Dave Halderman
Subject: Handle multiple intents?
I have come to some of the same conclusions as I have built my first few bots now. If there isn't a way to capture the multiple intents, is there any way to weight utterances/intents differently? If I have a bot asking for medical symptoms in order to immediately direct a caller to the appropriate level of care, it may have utterances such as "cut my finger" and "left arm is numb" on a couple of different intents. If I can't capture that the caller said both of those, is there a way that I can treat one of them as more important that the other? I don't care if the NLU score for "cut my finger" is 0.95 and the score for "left arm is numb" is 0.75. I still want "left arm is numb" to win.
------------------------------
Dave Halderman
Thedacare Inc
Original Message:
Sent: 04-09-2024 12:13
From: Mitchell Mason
Subject: Handle multiple intents?
Its not something easily handled, and generally I'd say to stay away from it. A few things to consider:
Do you have true proof that this is a problem that needs to be solved? Ie are people actually saying multiple intents often enough its worth investing in?
The second thing, is that someone could also equally likely (though your specific data would prove this true or false) something like "I just changed my address, now I want to pay my bill" and unless you have the greatest intent training of all time, you would likely end up with the intent algorithm assuming they want to change their address, even though they said they just changed it. As you may or may not know, the intents only know the world theyre trained on, so unless you're also training on "already changed address" as an intent there'd be obvious confusion.
That's a fairly specific examples, but theres many other ways that trying to understand more than one intent can be equally hurtful as helpful when its real.
IMO the ideal way to handle is this is simply through disambiguating between top intents. In your example you'd have relatively high confidence for both 'change address" intent AND "pay my bill" intent. Let the user choose which to do first, or build a single intent to cover both if thats a common combo, which would force them to change their address before paying the bill, if thats your business process. Then, once they finish the first one, they will naturally follow up with the second thing they want to do. If, as I mentioned before, these two are a specifically important combination that is frequent and real, then use a single task to handle it end to end (similar to the comment below)
If you're worried about any and all combinations of your intents, its likely too complex of a web you'd weave to make it worth it.
As a semi-related note, Ive built many bots with many clients, and what I see happen time and again is that they build hundreds of intents, and in many cases this can actually degrade accuracy, and over time the data gets quite messy. We would eventually have a session where we review their bot, and align it with their data, and realize that something like 30% of their intents are never hit, or less than 5 times per month. Which really means you have a lot of bloat in your build and it just adds more opportunity for confusion. That's why I started with my first sentence, first make sure this is a real problem occuring that will truly increase your KPIs. And if it is, then the solutions above hopefully help you start.
------------------------------
Mitchell Mason
Genesys - Employees
Original Message:
Sent: 04-01-2024 17:49
From: Dave Halderman
Subject: Handle multiple intents?
Does anyone know of a way to handle multiple intents? If the caller says "change my address and pay my bill" (and each of those is defined as an intent), I'd like to be able to capture both of those and loop through them. Is there a way to pick multiple intents out of a sentence similar to how slots are picked up?
#ConversationalAI(Bots,AgentAssist,etc.)
------------------------------
Dave Halderman
Thedacare Inc
------------------------------