Hello everyone! I am a Java developer and I am currently integrating our bot flows with a Kafka stream to track customer intent transitions in real time. We are seeing a lot of cases where the native NLU engine is returning a high confidence score for multiple intents simultaneously, causing the bot to become ‘Confused’ and trigger the wrong path. Is there a way to prioritize one intent over another when the confidence scores are nearly identical, or should we be looking at a more complex intent training strategy?
Hello Lis27. I am a GC trainer and I deal with these bot confusion issues in almost every class I teach. You cannot technically ‘prioritize’ intents within the NLU engine itself. If you have two intents that are returning similar scores, it means your training phrases are too overlapping. You should use the ‘Intent Health’ tool to find these overlaps. If the engine cannot distinguish between them, your customers definitely will not either! I always recommend merging similar intents or using more specific keywords to differentiate them.
I maintain over fifty flows and I have seen these ambiguity issues break our automated routing logic. Lis27, one thing you can do in Architect is to check the top two intent scores before you take action. If the difference between the first and second intent is less than 0.1, you should have the bot ask a ‘Clarification’ question like ‘Did you mean X or Y?’. It is a much better experience than just guessing and getting it wrong. I have a detailed Architect pattern for this if you are interested!