class_docstr: Featurizer that takes utterances and extracts ordered word cooccurrence
  features matrix from them
class_docstr_tok: ["Featurizer","that","takes","utterances","and","extracts","ordered","word","cooccurrence","features","matrix","from","them"]
code: def persist(self, path):
      path.mkdir()
  
      builtin_entity_scope = None
      if self.builtin_entity_scope is not None:
          builtin_entity_scope = list(self.builtin_entity_scope)
  
      self_as_dict = {
          "language_code": self.language,
          "word_pairs": {
              i: list(p) for p, i in iteritems(self.word_pairs)
          },
          "builtin_entity_scope": builtin_entity_scope,
          "config": self.config.to_dict(),
      }
      vectorizer_json = json_string(self_as_dict)
      vectorizer_path = path / "vectorizer.json"
      with vectorizer_path.open(mode="w", encoding="utf8") as f:
          f.write(vectorizer_json)
      self.persist_metadata(path)
  
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 13 for calling the CooccurrenceVectorizer obj's underlying member method code with example usage: obj.persist(path) without return types