- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-19-2022 01:43 AM
Is there a way to block certain words from hitting an intent? Let's say I have two printer topics, and want to ensure that any inputs for 'brand a' don't hit the 'brand b' topic. Generally speaking, the confidence is strong enough to see that mentions of 'brand a' only hit the correct intent, but sometimes the confidence is high enough for both so that both topics are displayed as options for the user to select.
A quick 'win' would be to say 'if brand a is mentioned, never show brand b topic'.
E.g. utterance: "order new @brand b printer cartridges" and "need a new &!brand a printer for my office"
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-19-2022 07:20 AM
Great question - following out of interest. Edit: thinking about this, I think you do have on option that may achieve what you want, though not exactly how you're thinking:
Create a simple entity for the respective brand in each intent - i.e. @PrinterA @PrinterB - then for each intent, go into the entity settings and set each as "Definite match". See my example image for one intent. This way, if a user types in "Printer A" - regardless of the other words in their utterance - it'll always match this one intent, then if a user types in "Printer B", it'll always match the other intent. (Note: if you have a third printer topic that could possibly match with either of these brand names, you're screwed D:)
Original response:
I don't think it's doable in ServiceNow's (current) implementation of NLU and I'm curious to know if this is unique or not, i.e. is it a normal thing to be able to train NLU models with negative matches?
The decent news from a UX perspective is that if the model matches a high confidence for both intents, VA should provide the user the option to choose between the two and hopefully it'd be clear to them based on the topic names.
A consideration to work around this (what I'm pretty sure is an) NLU limitation is to see if there's a way you can combine them into a single intent if they really are so similar that most utterances keep matching both intents. Note I specify intents, because you can still have multiple topics, but just do the topic switching logic within either or both topics.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-19-2022 07:20 AM
Great question - following out of interest. Edit: thinking about this, I think you do have on option that may achieve what you want, though not exactly how you're thinking:
Create a simple entity for the respective brand in each intent - i.e. @PrinterA @PrinterB - then for each intent, go into the entity settings and set each as "Definite match". See my example image for one intent. This way, if a user types in "Printer A" - regardless of the other words in their utterance - it'll always match this one intent, then if a user types in "Printer B", it'll always match the other intent. (Note: if you have a third printer topic that could possibly match with either of these brand names, you're screwed D:)
Original response:
I don't think it's doable in ServiceNow's (current) implementation of NLU and I'm curious to know if this is unique or not, i.e. is it a normal thing to be able to train NLU models with negative matches?
The decent news from a UX perspective is that if the model matches a high confidence for both intents, VA should provide the user the option to choose between the two and hopefully it'd be clear to them based on the topic names.
A consideration to work around this (what I'm pretty sure is an) NLU limitation is to see if there's a way you can combine them into a single intent if they really are so similar that most utterances keep matching both intents. Note I specify intents, because you can still have multiple topics, but just do the topic switching logic within either or both topics.