      @classmethod
      def get_actions(cls, **kwargs):
          actions = kwargs.get('actions',
                      {
                          SHIFT: {'': True},
                          REDUCE: {'': True},
                          RIGHT: {},
                          LEFT: {},
                          BREAK: {'ROOT': True}})
          for label in kwargs.get('left_labels', []):
              if label.upper() != 'ROOT':
                  actions[LEFT][label] = True
          for label in kwargs.get('right_labels', []):
              if label.upper() != 'ROOT':
 
</s> remove                 actions[LEFT][label] = True
 </s> add                 if (LEFT, label) not in seen_actions:
                    actions[LEFT].append(label) </s> remove                         MISSING: {'': True},
                        BEGIN: {},
                        IN: {},
                        LAST: {},
                        UNIT: {},
                        OUT: {'': True}
 </s> add                         MISSING: [''],
                        BEGIN: [],
                        IN: [],
                        LAST: [],
                        UNIT: [],
                        OUT: [''] </s> remove                 actions[RIGHT][label] = True
 </s> add                 if (RIGHT, label) not in seen_actions:
                    actions[RIGHT].append(label) </s> remove                             actions[RIGHT][label] = True
 </s> add                             if (RIGHT, label) not in seen_actions:
                                actions[RIGHT].append(label) </s> remove                             actions[LEFT][label] = True
 </s> add                             if (LEFT, label) not in seen_actions:
                                actions[LEFT].append(label)
                        SHIFT: [''],
                        REDUCE: [''],
                        RIGHT: [],
                        LEFT: [],
                        BREAK: ['ROOT']})
        seen_actions = set()
      @classmethod
      def get_actions(cls, **kwargs):
          actions = kwargs.get('actions',
                      {
                        SHIFT: [''],
                        REDUCE: [''],
                        RIGHT: [],
                        LEFT: [],
                        BREAK: ['ROOT']})
        seen_actions = set()
                        SHIFT: [''],
                        REDUCE: [''],
                        RIGHT: [],
                        LEFT: [],
                        BREAK: ['ROOT']})
        seen_actions = set()
                        SHIFT: [''],
                        REDUCE: [''],
                        RIGHT: [],
                        LEFT: [],
                        BREAK: ['ROOT']})
        seen_actions = set()
                        SHIFT: [''],
                        REDUCE: [''],
                        RIGHT: [],
                        LEFT: [],
                        BREAK: ['ROOT']})
        seen_actions = set()
                        SHIFT: [''],
                        REDUCE: [''],
                        RIGHT: [],
                        LEFT: [],
                        BREAK: ['ROOT']})
        seen_actions = set()
          for label in kwargs.get('left_labels', []):
              if label.upper() != 'ROOT':
                  actions[LEFT][label] = True
          for label in kwargs.get('right_labels', []):
              if label.upper() != 'ROOT':
keep keep keep keep replace replace replace replace replace keep keep keep keep keep
 WIP on add_label bug during NER training

Currently when a new label is introduced to NER during training,
it causes the labels to be read in in an unexpected order. This
invalidates the model. 
spacy/syntax/arc_eager.pyx