      cdef public object tag_names
      cdef public object tag_ids
      cdef public int n_tags
  
      cdef int assign_tag(self, TokenC* token, int tag) except -1
  
      cdef int assign_from_dict(self, TokenC* token, props) except -1
  
  #
  #cpdef enum Feature_t:
 
</s> remove     cdef readonly int n_tags

 </s> add  </s> remove         token.tag = tag
 </s> add         token.tag = strings[self.tag_names[tag]]
        lemma = self.lemmatizer(strings[token.lex.orth], token.pos)
        token.lemma = strings[lemma] </s> remove     cdef public object lemmatizer
    cdef PreshMapArray _morph_cache
 </s> add     cdef readonly Model model </s> remove     @classmethod
    def from_dir(cls, data_dir):
        tag_map = json.load(open(path.join(data_dir, 'tag_map.json')))
        return cls(tag_map, {}, None)

    cdef int assign_tag(self, TokenC* token, int tag) except -1:
 </s> add     cdef int assign_tag(self, StringStore strings, TokenC* token, int tag) except -1:
        # TODO Caching
    cdef int assign_tag(self, StringStore strings, TokenC* token, int tag) except -1
      cdef public object tag_names
      cdef public object tag_ids
      cdef public int n_tags
  
    cdef int assign_tag(self, StringStore strings, TokenC* token, int tag) except -1
  
      cdef int assign_from_dict(self, TokenC* token, props) except -1
  
  #
  #cpdef enum Feature_t:
keep keep keep keep replace keep keep keep keep keep
 * Tagger training now working. Still need to test load/save of model. Morphology still broken. 
spacy/morphology.pxd