Understanding Rasa's NLU module
Let's start by looking at how the components in Rasa's NLU module work. We will introduce them separately in their two working processes, namely the training process and the inference process.
How does the NLU training work?
The main implementation of the training process is in the rasa.nlu.train.train
function and the rasa.nlu.model.Trainer
class. In this section, we introduce how Rasa's NLU module works during the training process.
Initializing the trainer object
The instantiation step is implemented in the rasa.nlu.model.Trainer.__init__()
method. During the training process, Rasa reads the pipeline field in the config.yaml
configuration file, and gets the detailed definition of every component in the pipeline.
Rasa takes the component configuration and pipeline configuration as the parameters to call the create()
class method of the component. This method returns an instance of this class.
In this way, we can...