Problem: The chatbot we are working on has around 10 entities and 8 intents. Entities and intents have strong correlation (eg: if a message predicts an entity called “PERSON” from Spacy it is very likely that the entire intent maps to “search_person”. We cannot use DIETClassifier as we don’t want it to predict entities as we have well-defined lookup tables for entities and we don’t want to introduce more prediction at the entity level.
What is the best-suited intent classifier that can weigh entities higher in intent prediction but not predict an entity? The documentation shows most of the intent classifiers use tokens, dense_features etc. Is there any intent classifier that weights entities extracted for intents as well?
If there is no intent classifier that can weigh entities, what is the best way to achieve limiting the entity prediction but using an intent classification based on the entity? We want to reduce the number of cases where a message has “PERSON” and the intent is classified as something else. For messages which have multiple intents, we are ok with some ambiguity in intent mapping.
Your advice is highly appreciated!