class_docstr: A speaker with its names, list of mentions and matching test functions
code: def __init__(self, speaker_id, speaker_names=None):
      self.mentions = []
      self.speaker_id = speaker_id
      if speaker_names is None:
          self.speaker_names = [unicode_(speaker_id)]
      elif isinstance(speaker_names, string_types):
          self.speaker_names = [speaker_names]
      elif len(speaker_names) > 1:
          self.speaker_names = speaker_names
      else:
          self.speaker_names = unicode_(speaker_names)
      self.speaker_tokens = [
          tok.lower()
          for s in self.speaker_names
          for tok in re.split(WHITESPACE_PATTERN, s)
      ]
  
imports: import re
  import io
  from six import string_types, integer_types
  from spacy.tokens import Span, Token
  from neuralcoref.train.compat import unicode_
  from neuralcoref.train.utils import encode_distance, parallel_process
  import spacy
  import numpy
label_desc: Use image node_id 1 to create a new Speaker object from inherited base classes: object with example: obj = Speaker(speaker_id, speaker_names)