How to correct ResponseSelector output using interactive learning?


I am building an FAQ assistant following this guide: Tutorial: Building Assistants

Is it possible during the interactive mode, to select the correct response? For example:

? Your NLU model classified 'xxx' with intent 'faq' and there are no entities, is this correct? Yes

? The bot wants to run 'respond_faq', correct? Yes

however, the response provided (faq/yyy) is not the correct one and I would like to select a different response.

Is this possible in interactive learning?

from dialogue management point of view respond_faq action is correct, it’s ResponseSelector didn’t pick the right one. However, after you say yes, yes does the actual phrase added to nlu data under correct intent with /?


Is there a way to modify the picked phrase from ResponseSelector apart from post-editing the NLU data file?

Thank you @Ghostvv

what do you mean by modify? Response is picked by response selector ML model. In order to change its behavior, you need to modify its training data.

I mean to be able to classify a user prompt as intent of faq/xxx instead of just faq (though the same intent, but separate notation in the, which drives the response selector) during interactive learning. Now I have to manually edit the nlu after the interactive learning (and seems that the interactive mode does not offer any value in simple faq application).

Thank you!

that’s what I asked, does it write it as faq/xxx into nlu training data? if not, I think it is a good idea to add it to interactive learning. Sorry for misunderstanding

Yes, that’s the case :slight_smile:

So, not feasible currently I guess, so I continue with manually editing.

Thank you!

would you like to make a PR to enable it?

Sure! How to make a PR?

Could you please create an issue on GitHub describing your suggestion for a feature.

Here is the description how to contribute: How to make a code contribution to Rasa