HumanFirst supports and encourages the use of hierarchical intents. There are many advantages to having a hierarchical taxonomy:
Flat lists of intents can become very cumbersome and difficult to visualize. Having your intents organized hierarchically allows your models to scale by keeping topics organized and easily visualized.
Some utterances can be very broad and difficult to classify correctly. Often, it will be difficult to classify such vague utterances, but having intents organized hierarchically helps alleviate the problem.
Let’s take a simple example where we have two utterances:
“I have a billing question”
“I want to know when my bills are due”
The first utterance is very broad and could be easily misclassified. This is one way hierarchical intents can help:
The hierarchical relationship makes it clearer that the deeper and intent is, the more specialized/specific it's training data becomes. Conversely, the higher-level an intent is, the broader it's training examples should be.
Having intents organized this way also allows teams to have disambiguation type intents.
Taking the above example, the model could interpret:
"I have a billing question" = We understand you have a billing question, can you pick one of these 5 options?
Exploring by similarity using top-level intents will expose utterances that match to the top-level intent but have low confidence in matching to sub-intents, hence exposing potentially new sub-intents to be added or phrases that are under-represented in your sub-intents’ training data.