code: def __init__(self, config, metrics):
      self.config = config
      self.lower = config["lower_evaluation"]
      self.remove_punc = config["remove_punc"]
      self.metrics = metrics
  
      self.evaluators = []
      for metric in self.metrics:
          if metric == "bert_score":
              from .bertscore_evaluator import BertScoreEvaluator
  
              evaluator = BertScoreEvaluator(self.config)
          elif metric == "bleu":
              from .bleu_evaluator import BleuEvaluator
  
              evaluator = BleuEvaluator(self.config)
          elif metric in ["chrf", "chrf+", "chrf++"]:
              from .chrf_evaluator import ChrfEvaluator
  
              evaluator = ChrfEvaluator(self.config, metric)
          elif metric == "cider":
              from .cider_evaluator import CiderEvaluator
  
              evaluator = CiderEvaluator(self.config)
          elif metric == "distinct":
              from .distinct_evaluator import DistinctEvaluator
  
              evaluator = DistinctEvaluator(self.config)
          elif metric == "meteor":
              from .meteor_evaluator import MeteorEvaluator
  
              evaluator = MeteorEvaluator(self.config)
          elif metric == "multiwoz":
              from .multiwoz_evaluator import MultiwozEvaluator
  
              evaluator = MultiwozEvaluator(self.config)
          elif metric == "nist":
              from .nist_evaluator import NistEvaluator
  
              evaluator = NistEvaluator(self.config)
          elif metric == "qa":
              from .qa_evaluator import QaEvaluator
  
              evaluator = QaEvaluator(self.config)
          elif metric == "rouge":
              from .rouge_evaluator import RougeEvaluator
  
              evaluator = RougeEvaluator(self.config)
          elif metric == "self_bleu":
              from .selfbleu_evaluator import SelfBleuEvaluator
  
              evaluator = SelfBleuEvaluator(self.config)
          elif metric == "spice":
              from .spice_evaluator import SpiceEvaluator
  
              evaluator = SpiceEvaluator(self.config)
          elif metric == "style":
              from .style_evaluator import StyleEvaluator
  
              evaluator = StyleEvaluator(self.config)
          elif metric == "ter":
              from .ter_evaluator import TerEvaluator
  
              evaluator = TerEvaluator(self.config)
          elif metric == "unique":
              from .unique_evaluator import UniqueEvaluator
  
              evaluator = UniqueEvaluator(self.config)
  
          if metric != "hm":
              self.evaluators.append(evaluator)
  
file_path: TextBox/textbox/evaluator/base_evaluator.py
imports: from nltk.tokenize import word_tokenize
label_desc: Use image node_id 1 to create a new BaseEvaluator object  with example: obj = BaseEvaluator(config, metrics)