Make NLU configuration more flexible #5510
Labels
area:rasa-oss 🎡
Anything related to the open source Rasa framework
type:enhancement ✨
Additions of new features or changes to existing ones, should be doable in a single PR
Description of Problem:
Currently, the NLU pipeline is interpreted as a flat pipeline where each component produces annotations, i.e. tokens, sparse features, dense features, etc. and then they are finally consumed by all the ML components present in the pipeline. This used to work well when we were dealing with a smaller number of ML tasks in the same pipeline, i.e. intent classification and entity recognition. As we keep adding more ML tasks as part of our NLU pipeline, like response selection, the idea doesn't scale well because the same set of featurizers are not useful for every ML task and may actually degrade the performance for some.
It would be better if each ML component can take as input which featurizers should be used for its modelling.
Overview of the Solution:
We add an extra parameter to each component which sets an alias for it in the configuration. That alias can be used in the downstream ML component.
For example -
Definition of Done:
The text was updated successfully, but these errors were encountered: