Genesys Cloud - Main

 View Only


Discussion Thread View
  • 1.  Handle multiple intents?

    Posted 04-01-2024 17:50

    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
    ------------------------------


  • 2.  RE: Handle multiple intents?

    Top 25 Contributor
    Posted 04-01-2024 23:39

    Good Question.

    Keen to hear what others have to say on this. 

    My immediate thought is 1 of two things. Create combo intents, so intents that looks for both, which may result in some conflicts in phrases, especially if you do slot fulfillment in your intent gathering steps. Or create a multi intent, with a few slots that capture the different intents which you can then either loop through back to your overall intent, or create an ungodly switch statement for all the variations.

    Just some initial thoughts. Like I mentioned I'm curious what others have to say as I haven't had to facilitate that specific requirement before.



    ------------------------------
    Anton Vroon
    ------------------------------



  • 3.  RE: Handle multiple intents?

    Posted 04-04-2024 10:03
    Edited by Kellyn DuBois 04-04-2024 10:14

    I am doing something similar and a question i had was how does it decide which to handle first. is it the order the intents are identified? in your example Change of address would be first. or is it the order that the intents were created? or is it the intent with the most health/utterances?

    @Anton, i had one intent with multiple different types of slots and used a switch, i had an issue with no matches as sometimes it would go down the default path of the switch and that wasnt helpful. It was also difficult to come up wording when a confirmation prompt was presented. also, if one slot was chosen for the intent and the customer came back, and did another utterance with mutilple slots, it would find the slot that was already selected, it wouldnt update the slot - i did try the Clear slot function, but it didnt seem to work. at that point i decided i needed to break my 1 master intent into 3, rather than trying to use 1 intent with 3 different slots.

    also wondering how others handle multiple intents



    ------------------------------
    Kellyn DuBois
    Lumen Technologies Service Group, LLC
    ------------------------------



  • 4.  RE: Handle multiple intents?

    GENESYS
    Posted 04-09-2024 12:05

    It will choose the intent with the highest confidence score. Which is basically which intent is this utterance most similar to. The machine learning algo will figure this out on its own. 



    ------------------------------
    Mitchell Mason
    Genesys - Employees
    ------------------------------



  • 5.  RE: Handle multiple intents?

    GENESYS
    Posted 04-09-2024 12:14

    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
    ------------------------------



  • 6.  RE: Handle multiple intents?

    Posted 04-09-2024 12:36

    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
    ------------------------------



  • 7.  RE: Handle multiple intents?
    Best Answer

    Top 25 Contributor
    Posted 04-09-2024 16:17

    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. 



    ------------------------------
    Anton Vroon
    ------------------------------



Need Help finding something?

Check out the Genesys Knowledge Network - your all-in-one access point for Genesys resources