          self.distance = CosineDistance(normalize=False)
          # how many neightbour sentences to take into account
          self.n_sents = cfg.get("n_sents", 0)
  
      def validate_kb(self) -> None:
          # Raise an error if the knowledge base is not initialized.
          if len(self.kb) == 0:
              raise ValueError(Errors.E139.format(name=self.name))
 
</s> remove     def _require_kb(self) -> None:
 </s> add     def validate_kb(self) -> None: </s> remove         self.kb = kb_loader(self.vocab)
 </s> add  </s> remove         self._require_kb()
 </s> add         self.validate_kb() </s> remove         self._require_kb()
 </s> add         if kb_loader is not None:
            self.kb = kb_loader(self.vocab)
            self.cfg["entity_vector_length"] = self.kb.entity_vector_length
        self.validate_kb()
        # create an empty KB by default. If you want to load a predefined one, specify it in 'initialize'.
        self.kb = empty_kb(entity_vector_length)(self.vocab)
          self.distance = CosineDistance(normalize=False)
          # how many neightbour sentences to take into account
          self.n_sents = cfg.get("n_sents", 0)
        # create an empty KB by default. If you want to load a predefined one, specify it in 'initialize'.
        self.kb = empty_kb(entity_vector_length)(self.vocab)
  
      def validate_kb(self) -> None:
          # Raise an error if the knowledge base is not initialized.
          if len(self.kb) == 0:
              raise ValueError(Errors.E139.format(name=self.name))
keep keep add keep keep keep keep keep
 move kb_loader to initialize for NEL instead of constructor 
spacy/pipeline/entity_linker.py