code: def process_snips(
      infold,
      outfold,
      do_lower_case,
      modes=["train", "test"],
      dev_split=0.1,
  ):
      """
      Process snips dataset
      Args:
          infold: location for input fold of data
          outfold: location for output fold of data
          do_lowercase: whether to lowercase the input utterances
          modes: dataset splits to process
          dev_split: proportion of train samples to put into dev set
      """
      if not os.path.exists(infold):
          link = "https://github.com/snipsco/spoken-language-understanding-research-datasets"
          raise ValueError(
              f"Data not found at {infold}. "
              f"You may request to download the SNIPS dataset from {link}."
          )
  
      exist = True
      for dataset in ["light", "speak", "all"]:
          if if_exist(
              f"{outfold}/{dataset}", [f"{mode}.tsv" for mode in modes]
          ):
              logging.info(
                  DATABASE_EXISTS_TMP.format(
                      "SNIPS-" + dataset, outfold
                  )
              )
          else:
              exist = False
      if exist:
          return outfold
  
      logging.info(
          f'Processing SNIPS dataset and storing at folders "speak", "light" and "all" under {outfold}.'
      )
      logging.info(
          f'Processing and importing "smart-speaker-en-close-field" -> "speak" and "smart-speaker-en-close-field" -> "light".'
      )
  
      os.makedirs(outfold, exist_ok=True)
  
      speak_dir = "smart-speaker-en-close-field"
      light_dir = "smart-lights-en-close-field"
  
      light_files = [f"{infold}/{light_dir}/dataset.json"]
      speak_files = [f"{infold}/{speak_dir}/training_dataset.json"]
      speak_files.append(f"{infold}/{speak_dir}/test_dataset.json")
  
      light_train, light_dev, light_slots, light_intents = get_dataset(
          light_files, dev_split
      )
      speak_train, speak_dev, speak_slots, speak_intents = get_dataset(
          speak_files
      )
  
      create_dataset(
          light_train,
          light_dev,
          light_slots,
          light_intents,
          do_lower_case,
          f"{outfold}/light",
      )
      create_dataset(
          speak_train,
          speak_dev,
          speak_slots,
          speak_intents,
          do_lower_case,
          f"{outfold}/speak",
      )
      create_dataset(
          light_train + speak_train,
          light_dev + speak_dev,
          light_slots | speak_slots,
          light_intents | speak_intents,
          do_lower_case,
          f"{outfold}/all",
      )
  
file_path: NeMo/scripts/dataset_processing/nlp/intent_and_slot/import_datasets.py
imports: import argparse
  import os
  import shutil
  from os.path import exists
  from assistant_utils import process_assistant
  from nemo.collections.nlp.data.data_utils.data_preprocessing import DATABASE_EXISTS_TMP, MODE_EXISTS_TMP, create_dataset, get_dataset, get_vocab, if_exist
  from nemo.utils import logging
label_desc: Use image node_id 3 for calling a global function with example usage: process_snips(infold, outfold, do_lower_case, modes, dev_split) and returns: outfold