          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'
          elif univ_pos in (VERB, 'VERB', 'verb'):
              univ_pos = 'verb'
          elif univ_pos in (ADJ, 'ADJ', 'adj'):
 
</s> remove         return cls(index or {}, exc or {}, rules or {}, lookup or {})
 </s> add         return cls(index, exc, rules, lookup) </s> remove         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 {}
 </s> add         self.index = index
        self.exc = exceptions
        self.rules = rules
        if not self.rules:
            return [self.lookup_table.get(string, string)]
          self.rules = rules
          self.lookup_table = lookup if lookup is not None else {}
  
      def __call__(self, string, univ_pos, morphology=None):
        if not self.rules:
            return [self.lookup_table.get(string, string)]
          if univ_pos in (NOUN, 'NOUN', 'noun'):
              univ_pos = 'noun'
          elif univ_pos in (VERB, 'VERB', 'verb'):
              univ_pos = 'verb'
          elif univ_pos in (ADJ, 'ADJ', 'adj'):
keep keep keep add keep keep keep keep keep
 If no rules are set, lemmatize by lookup 
spacy/lemmatizer.py