class_docstr: Speaker Classifier Teacher.
  
  This teacher is used for the RPA classifier training.
  
  This teacher should NOT be used directly.
class_docstr_tok: ["Speaker","Classifier","Teacher",".","This","teacher","is","used","for","the","RPA","classifier","training",".","This","teacher","should","NOT","be","used","directly","."]
docstr: Build up set of candidates (i.e., characters) from the data.
docstr_tok: ["Build","up","set","of","candidates","(","i.e.",",","characters",")","from","the","data","."]
code: def _build_candidates(cls, episodes: List[Message]) -> List[str]:
      """
      Build up set of candidates (i.e., characters) from the data.
      """
      candidates = set()
      for ep in episodes:
          character_mapping = extract_characters(ep[0]["text"])
          for c in character_mapping.values():
              candidates.add(c)
      return list(candidates)
  
imports: from abc import ABC
  from collections import deque
  import re
  from typing import Optional
  from parlai.core.build_data import modelzoo_path
  from parlai.core.message import Message
  from parlai.core.metrics import AverageMetric
  from parlai.core.opt import Opt
  from parlai.core.params import ParlaiParser
  from parlai.tasks.light_dialog.agents import SimpleMultiTeacher
  from parlai.utils.data import DatatypeHelper
  import parlai.utils.logging
  import copy
  import os
  import random
  import torch
  import torch.nn
  import torch.nn.functional
  from typing import List, Dict, Tuple
  from projects.light_whoami.task.utils import DEFAULT_DELIM, CONTEXT_KEYS, extract_characters, WHO_AM_I, WHO_ARE_YOU, SELF, PARTNER, WHO_IS_THIS, maybe_annotate
  import projects.light_whoami.task.mutators
label_desc: Use image node_id 5 for calling the SpeakerClassifierTeacher obj's underlying member method code with example usage: obj._build_candidates(cls, episodes) and returns: list