code: def crf_entity_extractor(
      default_model_storage: ModelStorage,
      default_execution_context: ExecutionContext,
  ) -> Callable[[Dict[Text, Any]], CRFEntityExtractor]:
      def inner(config: Dict[Text, Any]) -> CRFEntityExtractor:
          return CRFEntityExtractor.create(
              {**CRFEntityExtractor.get_default_config(), **config},
              default_model_storage,
              Resource("CRFEntityExtractor"),
              default_execution_context,
          )
  
      return inner
  
imports: import copy
  from typing import Dict, Text, List, Any, Callable
  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.dense_featurizer.spacy_featurizer import SpacyFeaturizer
  from rasa.nlu.tokenizers.spacy_tokenizer import SpacyTokenizer
  from rasa.nlu.constants import SPACY_DOCS
  from rasa.nlu.tokenizers.whitespace_tokenizer import WhitespaceTokenizer
  from rasa.nlu.utils.spacy_utils import SpacyModel, SpacyNLP
  from rasa.shared.importers.rasa import RasaFileImporter
  from rasa.shared.nlu.constants import TEXT, ENTITIES
  from rasa.shared.nlu.training_data.message import Message
  from rasa.nlu.extractors.crf_entity_extractor import CRFEntityExtractor, CRFEntityExtractorOptions
label_desc: Use image node_id 1 for calling a global function with example usage: crf_entity_extractor(default_model_storage, default_execution_context) and returns: inner, CRFEntityExtractor