code: def create_featurizer(
      default_model_storage: ModelStorage,
      default_execution_context: ExecutionContext,
      resource: Resource,
  ) -> Callable[..., RegexFeaturizer]:
      def inner(
          config: Optional[Dict[Text, Any]] = None,
          known_patterns: Optional[List[Dict[Text, Any]]] = None,
      ) -> RegexFeaturizer:
          config = config or {}
          return RegexFeaturizer(
              {**RegexFeaturizer.get_default_config(), **config},
              default_model_storage,
              resource,
              default_execution_context,
              known_patterns,
          )
  
      return inner
  
imports: from typing import Text, List, Any, Tuple, Callable, Dict, Optional
  import dataclasses
  import numpy
  import pytest
  from rasa.engine.graph import ExecutionContext
  from rasa.engine.storage.resource import Resource
  from rasa.engine.storage.storage import ModelStorage
  from rasa.nlu.featurizers.sparse_featurizer.regex_featurizer import RegexFeaturizer
  from rasa.shared.nlu.training_data.training_data import TrainingData
  from rasa.shared.nlu.training_data.message import Message
  from rasa.nlu.tokenizers.whitespace_tokenizer import WhitespaceTokenizer
  from rasa.nlu.constants import SPACY_DOCS, TOKENS_NAMES
  from rasa.shared.nlu.constants import TEXT, INTENT, RESPONSE
  from rasa.nlu.tokenizers.spacy_tokenizer import SpacyTokenizer
label_desc: Use image node_id 2 for calling a global function with example usage: create_featurizer(default_model_storage, default_execution_context, resource) and returns: inner, RegexFeaturizer