code: def test_crf_slot_filler_config(self):
      # Given
      feature_factories = [
          {
              "args": {
                  "common_words_gazetteer_name": None,
                  "use_stemming": True,
                  "n": 1,
              },
              "factory_name": "get_ngram_fn",
              "offsets": [-2, -1, 0, 1, 2],
          },
          {
              "args": {},
              "factory_name": "is_digit",
              "offsets": [-1, 0, 1],
          },
      ]
      config_dict = {
          "unit_name": "crf_slot_filler",
          "feature_factory_configs": feature_factories,
          "tagging_scheme": 2,
          "crf_args": {"c1": 0.2, "c2": 0.3, "algorithm": "lbfgs"},
          "data_augmentation_config": SlotFillerDataAugmentationConfig().to_dict(),
      }
  
      # When
      config = CRFSlotFillerConfig.from_dict(config_dict)
      serialized_config = config.to_dict()
  
      # Then
      self.assertDictEqual(config_dict, serialized_config)
  
imports: from __future__ import unicode_literals
  import io
  from snips_nlu_parsers import get_all_languages
  from snips_nlu import SnipsNLUEngine
  from snips_nlu.constants import LANGUAGE, RES_INTENT, RES_INTENT_NAME
  from snips_nlu.dataset import Dataset
  from snips_nlu.default_configs import DEFAULT_CONFIGS
  from snips_nlu.intent_classifier import LogRegIntentClassifier
  from snips_nlu.pipeline.configs import CRFSlotFillerConfig, DeterministicIntentParserConfig, FeaturizerConfig, IntentClassifierDataAugmentationConfig, LogRegIntentClassifierConfig, NLUEngineConfig, ProbabilisticIntentParserConfig, SlotFillerDataAugmentationConfig
  from snips_nlu.pipeline.configs.intent_classifier import CooccurrenceVectorizerConfig, TfidfVectorizerConfig
  from snips_nlu.tests.utils import SnipsTest
label_desc: Use image node_id 7 for calling the TestConfig obj's underlying member method code with example usage: obj.test_crf_slot_filler_config() without return types