Response Selector as part of NLU?

As currently implemented, the response selector is part of the NLU component. However, I think its functionality would be traditionally referred to as a policy or task manager, as it selects the best response from a database given the NLU output features. So, I’m wondering why the response selector was decided to be an NLU component and hoping to start a discussion about if this is the correct place for it or if there is a better location for the response selector.

Hi @kearnsw Thanks for the suggestion. You’ve made a very good point. At the time when we implemented Response Selector, the output of featurizers like CountVectors, SpacyFeaturizer, etc. were not available inside Core components. That was a much larger change to bring about than having ResponseSelector compute its output as part of NLU and then Core appropriately picking it up.

We have now refactored a lot of code inside Core to make use of the featurization inside NLU and hence it might be possible to do this now but not in plans currently.

Curious to know if you had a use-case which triggered this observation of yours. :slight_smile: