class_docstr: Wrapper of the scikit-learn TfidfVectorizer
class_docstr_tok: ["Wrapper","of","the","scikit-learn","TfidfVectorizer"]
code: def _preprocess(self, utterances):
      normalized_utterances = deepcopy(utterances)
      for u in normalized_utterances:
          nb_chunks = len(u[DATA])
          for i, chunk in enumerate(u[DATA]):
              chunk[TEXT] = _normalize_stem(
                  chunk[TEXT],
                  self.language,
                  self.resources,
                  self.config.use_stemming,
              )
              if i < nb_chunks - 1:
                  chunk[TEXT] += " "
  
      # Extract builtin entities on unormalized utterances
      builtin_ents = [
          self.builtin_entity_parser.parse(
              get_text_from_chunks(u[DATA]),
              self.builtin_entity_scope,
              use_cache=True,
          )
          for u in utterances
      ]
      # Extract builtin entities on normalized utterances
      custom_ents = [
          self.custom_entity_parser.parse(
              get_text_from_chunks(u[DATA]), use_cache=True
          )
          for u in normalized_utterances
      ]
      if self.config.word_clusters_name:
          # Extract world clusters on unormalized utterances
          original_utterances_text = [
              get_text_from_chunks(u[DATA]) for u in utterances
          ]
          w_clusters = [
              _get_word_cluster_features(
                  tokenize_light(u.lower(), self.language),
                  self.config.word_clusters_name,
                  self.resources,
              )
              for u in original_utterances_text
          ]
      else:
          w_clusters = [None for _ in normalized_utterances]
  
      return (
          normalized_utterances,
          builtin_ents,
          custom_ents,
          w_clusters,
      )
  
imports: from __future__ import division, unicode_literals
  import json
  from builtins import str, zip
  from copy import deepcopy
  from pathlib import Path
  from future.utils import iteritems
  from snips_nlu.common.utils import json_string, fitted_required, replace_entities_with_placeholders, check_persisted_path
  from snips_nlu.constants import DATA, ENTITY, ENTITY_KIND, LANGUAGE, NGRAM, TEXT, ENTITIES
  from snips_nlu.dataset import get_text_from_chunks, validate_and_format_dataset
  from snips_nlu.entity_parser.builtin_entity_parser import is_builtin_entity
  from snips_nlu.exceptions import _EmptyDatasetUtterancesError, LoadingError
  from snips_nlu.languages import get_default_sep
  from snips_nlu.pipeline.configs import FeaturizerConfig
  from snips_nlu.pipeline.configs.intent_classifier import CooccurrenceVectorizerConfig, TfidfVectorizerConfig
  from snips_nlu.pipeline.processing_unit import ProcessingUnit
  from snips_nlu.preprocessing import stem, tokenize_light
  from snips_nlu.resources import get_stop_words, get_word_cluster
  from snips_nlu.slot_filler.features_utils import get_all_ngrams
label_desc: Use image node_id 6 for calling the TfidfVectorizer obj's underlying member method code with example usage: obj._preprocess(utterances) and returns: normalized_utterances,  builtin_ents,  custom_ents,  w_clusters