code: def get_parser():
      parser = argparse.ArgumentParser(
          description="Downloading and Preprocessing"
          " Language Modeling Datasets."
      )
      parser.add_argument(
          "--dataset",
          type=str,
          required=True,
          choices=[
              "wikitext2",
              "wikitext103",
              "text8",
              "enwik8",
              "gbw",
          ],
          help="The dataset to use.",
      )
      parser.add_argument(
          "--save-dir",
          type=str,
          default=None,
          help="The directory to save the dataset."
          " By default, it will save to a folder with the same name as the "
          "dataset",
      )
      parser.add_argument(
          "--overwrite",
          action="store_true",
          help="Whether to overwrite the saved " "files.",
      )
      parser.add_argument(
          "--cache-path",
          type=str,
          default=os.path.join(
              get_data_home_dir(), "lm_benchmark_data"
          ),
          help="The temporary path to download the dataset.",
      )
      return parser
  
file_path: gluon-nlp/src/gluonnlp/cli/data/language_modeling/prepare_lm.py
imports: import argparse
  import os
  import zipfile
  import tarfile
  import shutil
  from typing import List, Optional
  from collections import Counter
  from gluonnlp.base import get_data_home_dir
  from gluonnlp.utils.misc import download, load_checksum_stats
  from gluonnlp.data.vocab import Vocab
label_desc: Use image node_id 1 for calling a global function with example usage: get_parser() and returns: parser