  
      def make_lemmatizer(self):
          return None
  
      def __init__(self, Vocab vocab, templates):
          self.mem = Pool()
          self.vocab = vocab
          
          cdef int n_tags = self.vocab.morphology.n_tags + 1
  
          self.model = Model(n_tags, templates)
 
</s> remove         cdef int n_tags = self.vocab.morphology.n_tags + 1

        self.model = Model(n_tags, templates)
 </s> add         # TODO: Move this to tag map </s> remove     def make_lemmatizer(self):
        return None
 </s> add     @classmethod
    def blank(cls, vocab, templates):
        model = Model(vocab.morphology.n_tags, templates, model_loc=None)
        return cls(vocab, model) </s> remove     def default_matcher(cls, vocab, data_dir=None):
        if data_dir is None:
            data_dir = cls.default_data_dir()
        return Matcher.from_dir(data_dir, vocab)
 </s> add     def default_matcher(cls, vocab, data_dir):
        if path.exists(data_dir):
            return Matcher.from_dir(data_dir, vocab)
        else:
            return None </s> remove         return tuple(sorted(self.vocab.morphology.tag_map.keys()))

    @classmethod
    def from_dir(cls, data_dir, vocab):
        if path.exists(path.join(data_dir, 'templates.json')):
            templates = json.loads(open(path.join(data_dir, 'templates.json')))
        else:
            templates = cls.default_templates()
        return cls(vocab, templates)
 </s> add         return self.vocab.morphology.tag_names
    @classmethod
    def from_dir(cls, data_dir, vocab):
        if path.exists(path.join(data_dir, 'templates.json')):
            templates = json.loads(open(path.join(data_dir, 'templates.json')))
        else:
            templates = cls.default_templates()
        model = Model(vocab.morphology.n_tags, templates, data_dir)
        return cls(vocab, model)

    def __init__(self, Vocab vocab, model):
  
      def make_lemmatizer(self):
          return None
  
    @classmethod
    def from_dir(cls, data_dir, vocab):
        if path.exists(path.join(data_dir, 'templates.json')):
            templates = json.loads(open(path.join(data_dir, 'templates.json')))
        else:
            templates = cls.default_templates()
        model = Model(vocab.morphology.n_tags, templates, data_dir)
        return cls(vocab, model)

    def __init__(self, Vocab vocab, model):
    @classmethod
    def from_dir(cls, data_dir, vocab):
        if path.exists(path.join(data_dir, 'templates.json')):
            templates = json.loads(open(path.join(data_dir, 'templates.json')))
        else:
            templates = cls.default_templates()
        model = Model(vocab.morphology.n_tags, templates, data_dir)
        return cls(vocab, model)

    def __init__(self, Vocab vocab, model):
          self.vocab = vocab
          
          cdef int n_tags = self.vocab.morphology.n_tags + 1
  
          self.model = Model(n_tags, templates)
keep keep keep keep replace replace keep keep keep keep keep
 * Tagger training now working. Still need to test load/save of model. Morphology still broken. 
spacy/tagger.pyx