          self.freqs[TAG][0] = 1
  
      @property
      def tag_names(self):
          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)
  
      def __call__(self, Doc tokens):
          """Apply the tagger, setting the POS tags onto the Doc object.
  
          Args:
 
</s> remove     def __init__(self, Vocab vocab, templates):
        self.mem = Pool()
 </s> add     @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): </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         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         return lemmatize(string, self.index[pos], self.exc[pos], self.rules[pos])
        if pos == self.noun_id:
            return self.noun(string)
        elif pos == self.verb_id:
            return self.verb(string)
        elif pos == self.adj_id:
            return self.adj(string)
 </s> add     def __call__(self, string, pos):
        if pos == NOUN:
            pos = 'noun'
        elif pos == VERB:
            pos = 'verb'
        elif pos == ADJ:
            pos = 'adj'
        return self.vocab.morphology.tag_names
          self.freqs[TAG][0] = 1
  
      @property
      def tag_names(self):
        return self.vocab.morphology.tag_names
        return self.vocab.morphology.tag_names
        return self.vocab.morphology.tag_names
        return self.vocab.morphology.tag_names
        return self.vocab.morphology.tag_names
        return self.vocab.morphology.tag_names
        return self.vocab.morphology.tag_names
        return self.vocab.morphology.tag_names
        return self.vocab.morphology.tag_names
  
      def __call__(self, Doc tokens):
          """Apply the tagger, setting the POS tags onto the Doc object.
  
          Args:
keep keep keep keep replace replace replace replace replace replace replace 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