Handling ambiguous queries


We are trying to implement a disambiguation sub-dialog for an ambiguous query. Imagining a dialog like this:

U: play Boston S: do you mean Boston the group or Boston the movie? U: Boston the group S: playing songs from Boston

This requires the steps:

  1. Recognize that the query is ambiguous
  2. Send the set of ambiguous intent/entity pairs to Rasa to construct the system response in the 2nd utterance
  3. Recognize that the user response in the 3rd utterance resolves the ambiguity
  4. Execute the resolved intent+entity pair back through Rasa

I have steps 1-3 working (to a degree), but am stuck on step 4. What I would like to be able to do is to construct another “/intent{ }” string in my actions.py Action() callback, and submit that string to the Rasa top-level for execution.

I hope that description was adequately clear.

Any suggestions?

Thanks, John

Did you checkout the TwoStageFallbackPolicy which was released in Rasa Core 0.13.0 (Training and Policies) ?

1 Like