Conflicts in Intent Classifier


  • [sri-n.pablo]((id) issues
  • [Rahul Agrawal]((id) issues
  • name [Vivek Kumar]((id) issues
  • issues on name [Vivek Kumar]((id)
  • [Rahul Agrawal]((id) issues
  • [Akul Taneja]((id) issues


  • [RIL]((part_name) issues
  • [web]((part_name) issues
  • [monetization]((part_name) issues
  • issues on [system performance & analysis part]((part_name)
  • tell me issues of[product development part]((part_name)

these are two intents
ask_id -> issues on an emp_name or emp_id.
ask_part -> issues on a Team name.
I have trained on large training examples but the difficulty i am facing is wrong intent or entity is picked.

Following Problems i am facing -
i) Wrong intent is picked but entities are correct.
user - issues on call part
intent = ask_id . entity = call, slot =part_name
correct intent should be ask_part
ii) correct intent but entities are wrong.
user - issues on vivek
intent = ask_id . entity = vivek , slot =part_name. and id = None.
Corrrect entity : slot = id , entity = vivek.

I cant share my Code because it is confidential . How to resolve such conflicts kindly help me . I have used alternatives like - combined both in one intent and through i am handling actions for emp_name/Emp_id and team name.

But I want to know a proper solution for solving such conflicts because accuracy is of paramount importance for my purpose. thanks in advance

That seems to be the correct solution, according to Rasa NLU in Depth: Part 1 – Intent Classification

Similar Intents

When intents are very similar, it is harder to distinguish them. What sounds obvious, often is forgotten when creating intents. Imagine the case, where a user provides their name or gives you a date. Intuitively you might create an intent provide_name for the message It is Sara and an intent provide_date for the message It is on Monday . However, from an NLU perspective these messages are very similar except for their entities. For this reason it would be better to create an intent inform which unifies provide_name and provide_date . In your Rasa Core stories you can then select the different story paths, depending on which entity Rasa NLU extracted.

U mean . I should have two entities : {id , team_name}. and one intent : ask_inform. My concern is Will there be conflicts in assigning entity to their respective correct slots.

ask_inform :
issues on [Vivek Kumar] (id)
Issues on [Call] (team_name)

Now , I have two slots under one common intent ask_inform:
id - > refers to emp_id or Emp_name.
team_name -> refers to name of a team.

will there be a case like this -
user - Tell me issues on Call .
Bot Reply : intent = ask_inform . entity = Call, slot = id
Here error is in picking the entity to its proper slot.
correct slot is : slot = team_name , value = Call\

Can such wrong cases NLU predict , please clarify.

No, intent classification and entity extraction are done by different components in the pipeline.