anchor.diff:      pipeline = ['tensorizer', 'tagger', 'parser', 'ner']
       data_path = 'path/to/en_core_web_sm/en_core_web_sm-2.0.0'
   
  -    cls = spacy.util.get_lang_class(lang)  # 1. get Language instance, e.g. English()
  -    nlp = cls(pipeline=pipeline)           # 2. initialise it with the pipeline
  -    nlp.from_disk(model_data_path)         # 3. load in the binary data
  +    cls = spacy.util.get_lang_class(lang)   # 1. get Language instance, e.g. English()
  +    nlp = cls()                             # 2. initialise it
  +    for name in pipeline:
  +        component = nlp.create_pipe(name)   # 3. create the pipeline components
  +        nlp.add_pipe(component)             # 4. add the component to the pipeline
  +    nlp.from_disk(model_data_path)          # 5. load in the binary data
   
   p
       |  When you call #[code nlp] on a text, spaCy will #[strong tokenize] it and
  
positive.code: 
  p
      |  When you load a model, spaCy first consults the model's
      |  #[+a("/usage/saving-loading#models-generating") meta.json]. The
      |  meta typically includes the model details, the ID of a language class,
      |  and an optional list of pipeline components. spaCy then does the
      |  following:
  
negative.code:     nlp = spacy.load('en')
  
  p
      | ... the model tells spaCy to use the language #[code "en"] and the pipeline
      |  #[code.u-break ["tensorizer", "tagger", "parser", "ner"]]. spaCy will
      |  then initialise #[code spacy.lang.en.English], and create each pipeline
      |  component and add it to the processing pipeline. It'll then load in the
      |  model's data from its data ditectory and return the modified
      |  #[code Language] class for you to use as the #[code nlp] object.
  
  p
      |  Fundamentally, a #[+a("/models") spaCy model] consists of three
  