class_docstr: Holds loaded intent and entity training data.
class_docstr_tok: ["Holds","loaded","intent","and","entity","training","data","."]
code: def __init__(
      self,
      training_examples: Optional[List[Message]] = None,
      entity_synonyms: Optional[Dict[Text, Text]] = None,
      regex_features: Optional[List[Dict[Text, Text]]] = None,
      lookup_tables: Optional[List[Dict[Text, Any]]] = None,
      responses: Optional[Dict[Text, List[Dict[Text, Any]]]] = None,
  ) -> None:
      if training_examples:
          self.training_examples = self.sanitize_examples(
              training_examples
          )
      else:
          self.training_examples = []
      self.entity_synonyms = entity_synonyms or {}
      self.regex_features = regex_features or []
      self.sort_regex_features()
      self.lookup_tables = lookup_tables or []
      self.responses = responses or {}
  
      self._fill_response_phrases()
  
imports: import logging
  import os
  from pathlib import Path
  import random
  from collections import Counter, OrderedDict
  import copy
  from os.path import relpath
  from typing import Any, Dict, List, Optional, Set, Text, Tuple, Callable
  import operator
  import rasa.shared.data
  from rasa.shared.utils.common import lazy_property
  import rasa.shared.utils.io
  from rasa.shared.nlu.constants import RESPONSE, INTENT_RESPONSE_KEY, ENTITY_ATTRIBUTE_TYPE, ENTITY_ATTRIBUTE_GROUP, ENTITY_ATTRIBUTE_ROLE, NO_ENTITY_TAG, INTENT, ENTITIES, TEXT, ACTION_NAME
  from rasa.shared.nlu.training_data.message import Message
  from rasa.shared.nlu.training_data import util
label_desc: Use image node_id 1 to create a new TrainingData object  with example: obj = TrainingData(training_examples, entity_synonyms, regex_features, lookup_tables, responses)