code: def get_parser() -> argparse.ArgumentParser:
      parser = argparse.ArgumentParser(
          description="Tokenize texts",
          formatter_class=argparse.ArgumentDefaultsHelpFormatter,
      )
      parser.add_argument(
          "--log_level",
          type=lambda x: x.upper(),
          default="INFO",
          choices=(
              "CRITICAL",
              "ERROR",
              "WARNING",
              "INFO",
              "DEBUG",
              "NOTSET",
          ),
          help="The verbose level of logging",
      )
  
      parser.add_argument(
          "--input",
          "-i",
          required=True,
          help="Input text. - indicates sys.stdin",
      )
      parser.add_argument(
          "--output",
          "-o",
          required=True,
          help="Output text. - indicates sys.stdout",
      )
      parser.add_argument(
          "--field",
          "-f",
          help="The target columns of the input text as 1-based integer. e.g 2-",
      )
      parser.add_argument(
          "--token_type",
          "-t",
          default="char",
          choices=["char", "bpe", "word", "phn"],
          help="Token type",
      )
      parser.add_argument(
          "--delimiter", "-d", default=None, help="The delimiter"
      )
      parser.add_argument(
          "--space_symbol", default="<space>", help="The space symbol"
      )
      parser.add_argument(
          "--bpemodel", default=None, help="The bpemodel file path"
      )
      parser.add_argument(
          "--non_linguistic_symbols",
          type=str_or_none,
          help="non_linguistic_symbols file path",
      )
      parser.add_argument(
          "--remove_non_linguistic_symbols",
          type=str2bool,
          default=False,
          help="Remove non-language-symbols from tokens",
      )
      parser.add_argument(
          "--cleaner",
          type=str_or_none,
          choices=[
              None,
              "tacotron",
              "jaconv",
              "vietnamese",
              "korean_cleaner",
              "whisper_en",
              "whisper_basic",
          ],
          default=None,
          help="Apply text cleaning",
      )
      parser.add_argument(
          "--g2p",
          type=str_or_none,
          choices=g2p_choices,
          default=None,
          help="Specify g2p method if --token_type=phn",
      )
  
      group = parser.add_argument_group("write_vocabulary mode related")
      group.add_argument(
          "--write_vocabulary",
          type=str2bool,
          default=False,
          help="Write tokens list instead of tokenized text per line",
      )
      group.add_argument(
          "--vocabulary_size",
          type=int,
          default=0,
          help="Vocabulary size",
      )
      group.add_argument(
          "--cutoff",
          default=0,
          type=int,
          help="cut-off frequency used for write-vocabulary mode",
      )
      group.add_argument(
          "--add_symbol",
          type=str,
          default=[],
          action="append",
          help="Append symbol e.g. --add_symbol '<blank>:0' --add_symbol '<unk>:1'",
      )
      group.add_argument(
          "--add_nonsplit_symbol",
          type=str,
          default=[],
          action="append",
          help="Append symbol that is nonsplit e.g. --add_nonsplit_symbol '<sc>:2",
      )
  
      return parser
  
file_path: espnet/espnet2/bin/tokenize_text.py
imports: import argparse
  import logging
  import sys
  from collections import Counter
  from pathlib import Path
  from typing import List, Optional
  from typeguard import check_argument_types
  from espnet2.text.build_tokenizer import build_tokenizer
  from espnet2.text.cleaner import TextCleaner
  from espnet2.text.phoneme_tokenizer import g2p_choices
  from espnet2.utils.types import str2bool, str_or_none
  from espnet.utils.cli_utils import get_commandline_args
label_desc: Use image node_id 3 for calling a global function with example usage: get_parser() and returns: parser