Pipeline Dependency #10370
-
What are the dependencies of components within a standard language pipeline? For example, do |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
One reason I ask this is because I see changes in my |
Beta Was this translation helpful? Give feedback.
-
By default, except for the tok2vec, components generally do not interact directly. In particular the NER/parser/tagger do not look at each other's annotations. (Another exception is stuff like the AttributeRulers or Lemmatizers in some pretrained pipelines, which use annotations from other components as input, but these are not trained components.) That said, components with a shared tok2vec do influence each other because they have underlying shared representations - that is, updates to each of the downstream components also update the tok2vec, which is probably what you're seeing. This means that training a tagger and NER model together with a shared tok2vec will have different results than training just a tagger, for example. But having trained the tagger and NER model together, if you disable one it shouldn't affect the predictions of the other. |
Beta Was this translation helpful? Give feedback.
By default, except for the tok2vec, components generally do not interact directly. In particular the NER/parser/tagger do not look at each other's annotations. (Another exception is stuff like the AttributeRulers or Lemmatizers in some pretrained pipelines, which use annotations from other components as input, but these are not trained components.)
That said, components with a shared tok2vec do influence each other because they have underlying shared representations - that is, updates to each of the downstream components also update the tok2vec, which is probably what you're seeing. This means that training a tagger and NER model together with a shared tok2vec will have different results …