  
  
  def score_model(scorer, nlp, raw_text, annot_tuples):
      if raw_text is None:
          tokens = nlp.tokenizer.tokens_from_list(annot_tuples[1])
      else:
 
</s> remove                     tokens = nlp.tokenizer.tokens_from_list(annot_tuples[1])
 </s> add                     words = add_noise(annot_tuples[1], corruption_level)
                    tokens = nlp.tokenizer.tokens_from_list(words) </s> remove def add_noise(c, noise_level):
 </s> add def _corrupt(c, noise_level):
def add_noise(orig, noise_level):
    if random.random() >= noise_level:
        return orig
    elif type(orig) == list:
        corrupted = [_corrupt(word, noise_level) for word in orig]
        corrupted = [w for w in corrupted if w]
        return corrupted
    else:
        return ''.join(_corrupt(c, noise_level) for c in orig)


  
  
def add_noise(orig, noise_level):
    if random.random() >= noise_level:
        return orig
    elif type(orig) == list:
        corrupted = [_corrupt(word, noise_level) for word in orig]
        corrupted = [w for w in corrupted if w]
        return corrupted
    else:
        return ''.join(_corrupt(c, noise_level) for c in orig)


  def score_model(scorer, nlp, raw_text, annot_tuples):
      if raw_text is None:
          tokens = nlp.tokenizer.tokens_from_list(annot_tuples[1])
      else:
keep add keep keep keep keep
 * Update input corruption method to work with lists as well as trings 
bin/parser/train.py