How can i do a coreference resolution over past N replics?

Dialogue example:

  • bot: Everest heigth is about 9 km
  • usr: Where is it located?

“it” means Everest. so normalized text is “Where is Everest located?”.

I want support this logic in my NLU pipeline, but it seems impossible to get tracker data. Any idea how can i access previous replics in NLU? There are any other ways to resolve coreference?

1 Like

For me this seems more like a dialogue state than NLU. If you write stories in Rasa, the context “it” can be managed based on the intent of the user and the previously filled in slot: everest being the context data.

Contexts are handled by slots as it constitutes to long term memory management of the bot. NLU should not be contextual, it is about understanding the intent of the user and extracting relevant entities. entities are then resolved into slots which holds the context of the conversation.

1 Like

I see. Please look at this example.

rules:
- rule: faq in registration form
  condition:
  - active_loop: registration_form
  steps:
   # handle retrieval intent FAQ
  - intent: faq
  - action: utter_faq
  - action: registration_form
  - active_loop: registration_form

You said:

For me this seems more like a dialogue state than NLU.

How does it work? Do i need resolve this case in Policy?

shouldn’t your registration form be asking questions for slot to be filled in.

now if you have a question from the user, that is not part of the form, then you would have to write stories to incorporate that. such stories will have the previously filled in slots as context before a user asks a question like where is it located.

Hi @souvikg10,

I am also looking to solve a similar problem - only diff is my use case demands to access more that one previously identified entities

For example:-

  • User: Compare this product with the last one
  • Bot: <should show comparison results b/w last 2 shown results>

Can you point me to some useful resouce please.

Thanks, Mrigank