Understanding ResponseSelector

Hi!
I’m trying to understand the ResponseSelector and have been reading the code many times now but it is a lot and I keep getting lost. I got curious because in the docs it says:

A retrieval action uses the output of a ResponseSelector component from NLU which learns a retrieval model to predict the correct response from a list of candidate responses given a user message text. src

I was mainly wondering if there is a fixed map between output neurons and the list of candidate responses. Or, if the selection is handled in a more general way e.g. by comparing distances in some latent space?

I’m wondering this because I have a huge amount of candidate responses and would like to only send a filtered subset of the candidate responses to the ResponseSelector for each prediction. I hope to achieve higher accuracy and speed by doing this and I can do it because I have external information that is used to do the initial filtering.
If this is not possible id there a better approach to solve my problem?

Br,
Johan

Hi @cajoek!

This blog explains a bit about how the ResponseSelector works.

Also, if you could categorize your response into subsets of responses for a particular intent, then you could train a separate response selector for each intent. See Multiple Retrieval Actions.

Hope that helps. :slightly_smiling_face:

2 Likes

Thanks, it did help :slight_smile:

1 Like