          self._feats = <feat_t*>self.mem.alloc(self.extractor.n+1, sizeof(feat_t))
          self._values = <weight_t*>self.mem.alloc(self.extractor.n+1, sizeof(weight_t))
          self._scores = <weight_t*>self.mem.alloc(self.model.nr_class, sizeof(weight_t))
  
      cpdef int train(self, Tokens tokens, gold_classes):
          cdef Pool mem = Pool()
          cdef State* s = init_state(mem, tokens.length)
          cdef Move* golds = <Move*>mem.alloc(len(gold_classes), sizeof(Move))
          for i, clas in enumerate(gold_classes):
              golds[i] = self.moves[clas - 1]
 
</s> remove         for i, clas in enumerate(gold_classes):
            golds[i] = self.moves[clas - 1]
            assert golds[i].id == clas
 </s> add         for tok_i, clas in enumerate(gold_classes):
            golds[tok_i] = self._moves[clas]
            assert golds[tok_i].clas == clas, '%d vs %d' % (golds[tok_i].clas, clas) </s> remove         self.n_classes = get_n_moves(len(self.entity_types))
        self._moves = <Move*>self.mem.alloc(self.n_classes, sizeof(Move))
        fill_moves(self._moves, len(self.entity_types))
        self.model = LinearModel(len(self.tag_names))
 </s> add         self.n_classes = len(self.tag_names)
        self._moves = <Move*>self.mem.alloc(len(self.tag_names), sizeof(Move))
        fill_moves(self._moves, self.tag_names)
        self.model = LinearModel(self.n_classes) </s> remove     cdef weight_t score = scores[first_accept]
 </s> add     cdef weight_t score = scores[first_accept-1] </s> remove     cpdef int train(self, Tokens tokens, golds)
 </s> add     cpdef int train(self, Tokens tokens, golds) except -1
    cpdef int train(self, Tokens tokens, gold_classes) except -1:
          self._feats = <feat_t*>self.mem.alloc(self.extractor.n+1, sizeof(feat_t))
          self._values = <weight_t*>self.mem.alloc(self.extractor.n+1, sizeof(weight_t))
          self._scores = <weight_t*>self.mem.alloc(self.model.nr_class, sizeof(weight_t))
  
    cpdef int train(self, Tokens tokens, gold_classes) except -1:
          cdef Pool mem = Pool()
          cdef State* s = init_state(mem, tokens.length)
          cdef Move* golds = <Move*>mem.alloc(len(gold_classes), sizeof(Move))
          for i, clas in enumerate(gold_classes):
              golds[i] = self.moves[clas - 1]
keep keep keep keep replace keep keep keep keep keep
 * Fixed greedy NER parsing. With static oracle, replicates accuracy from tagger. 
spacy/ner/greedy_parser.pyx