          **cfg: Arbitrary configuration parameters. Set to the `.cfg` attribute
          """
          self.vocab = vocab
          if moves is True:
              self.moves = self.TransitionSystem(self.vocab.strings, {})
          else:
              self.moves = moves
          if 'beam_width' not in cfg:
              cfg['beam_width'] = util.env_opt('beam_width', 1)
          if 'beam_density' not in cfg:
 
</s> remove         cfg.setdefault('cnn_maxout_pieces', 3)
 </s> add  </s> remove                 pass
 </s> add                 if i in i2j_multi:
                    self.words[i] = words[i2j_multi[i]]
                    self.tags[i] = tags[i2j_multi[i]]
                    is_last = i2j_multi[i] != i2j_multi.get(i+1)
                    is_first = i2j_multi[i] != i2j_multi.get(i-1)
                    # Set next word in multi-token span as head, until last
                    if not is_last:
                        self.heads[i] = i+1
                        self.labels[i] = 'subtok'
                    else:
                        self.heads[i] = self.gold_to_cand[heads[i2j_multi[i]]]
                        self.labels[i] = deps[i2j_multi[i]]
                    # Now set NER...This is annoying because if we've split
                    # got an entity word split into two, we need to adjust the
                    # BILOU tags. We can't have BB or LL etc.
                    # Case 1: O -- easy.
                    ner_tag = entities[i2j_multi[i]]
                    if ner_tag == 'O':
                        self.ner[i] = 'O'
                    # Case 2: U. This has to become a B I* L sequence.
                    elif ner_tag.startswith('U-'):
                        if is_first:
                            self.ner[i] = ner_tag.replace('U-', 'B-', 1)
                        elif is_last:
                            self.ner[i] = ner_tag.replace('U-', 'L-', 1)
                        else:
                            self.ner[i] = ner_tag.replace('U-', 'I-', 1)
                    # Case 3: L. If not last, change to I.
                    elif ner_tag.startswith('L-'):
                        if is_last:
                            self.ner[i] = ner_tag
                        else:
                            self.ner[i] = ner_tag.replace('L-', 'I-', 1)
                    # Case 4: I. Stays correct
                    elif ner_tag.startswith('I-'):
                        self.ner[i] = ner_tag </s> remove         if 'actions' in self.cfg:
            for action, labels in self.cfg.get('actions', {}).items():
                for label in labels:
                    self.moves.add_action(action, label)
 </s> add  </s> remove         if make_projective:
            proj_heads, _ = nonproj.projectivize(self.heads, self.labels)
            self.heads = proj_heads

 </s> add  </s> remove         states, golds, max_steps = self._init_gold_batch(docs, golds)
 </s> add         # Chop sequences into lengths of this many transitions, to make the
        # batch uniform length.
        cut_gold = numpy.random.choice(range(20, 100))
        states, golds, max_steps = self._init_gold_batch(docs, golds, max_length=cut_gold)
            self.moves = self.TransitionSystem(self.vocab.strings)
          **cfg: Arbitrary configuration parameters. Set to the `.cfg` attribute
          """
          self.vocab = vocab
          if moves is True:
            self.moves = self.TransitionSystem(self.vocab.strings)
          else:
              self.moves = moves
          if 'beam_width' not in cfg:
              cfg['beam_width'] = util.env_opt('beam_width', 1)
          if 'beam_density' not in cfg:
keep keep keep keep replace keep keep keep keep keep
 Revert "Merge branch 'develop' of https://github.com/explosion/spaCy into develop"

This reverts commit c9ba3d3c2dc7067cf8bd55f878cec45a8c6d73d4, reversing
changes made to 92c26a35d425d4e8ca1b805ea776ea10f5ded3df. 
spacy/syntax/nn_parser.pyx