      def load(cls, path, index=None, exc=None, rules=None, lookup=None):
          return cls(index or {}, exc or {}, rules or {}, lookup or {})
  
      def __init__(self, index=None, exceptions=None, rules=None, lookup=None):
          self.index = index if index is not None else {}
          self.exc = exceptions if exceptions is not None else {}
          self.rules = rules if rules is not None else {}
          self.lookup_table = lookup if lookup is not None else {}
  
      def __call__(self, string, univ_pos, morphology=None):
          if univ_pos in (NOUN, 'NOUN', 'noun'):
              univ_pos = 'noun'
 
</s> remove         return cls(index or {}, exc or {}, rules or {}, lookup or {})
 </s> add         return cls(index, exc, rules, lookup)
        self.index = index
        self.exc = exceptions
        self.rules = rules
      def load(cls, path, index=None, exc=None, rules=None, lookup=None):
          return cls(index or {}, exc or {}, rules or {}, lookup or {})
  
      def __init__(self, index=None, exceptions=None, rules=None, lookup=None):
        self.index = index
        self.exc = exceptions
        self.rules = rules
        self.index = index
        self.exc = exceptions
        self.rules = rules
        self.index = index
        self.exc = exceptions
        self.rules = rules
          self.lookup_table = lookup if lookup is not None else {}
  
      def __call__(self, string, univ_pos, morphology=None):
          if univ_pos in (NOUN, 'NOUN', 'noun'):
              univ_pos = 'noun'
keep keep keep keep replace replace replace keep keep keep keep keep
 If no rules are set, lemmatize by lookup 
spacy/lemmatizer.py