code: def process_treebank(treebank, model_type, paths, args):
      """
      Processes a single treebank into train, dev, test parts
  
      Includes processing for a few external tokenization datasets:
        vi_vlsp, th_orchid, th_best
  
      Also, there is no specific mechanism for UD_Arabic-NYUAD or
      similar treebanks, which need integration with LDC datsets
      """
      udbase_dir = paths["UDBASE"]
      tokenizer_dir = paths["TOKENIZE_DATA_DIR"]
      handparsed_dir = paths["HANDPARSED_DIR"]
  
      short_name = treebank_to_short_name(treebank)
      short_language = short_name.split("_")[0]
  
      os.makedirs(tokenizer_dir, exist_ok=True)
  
      if short_name == "my_alt":
          convert_my_alt.convert_my_alt(
              paths["CONSTITUENCY_BASE"], tokenizer_dir
          )
      elif short_name == "vi_vlsp":
          convert_vi_vlsp.convert_vi_vlsp(
              paths["STANZA_EXTERN_DIR"], tokenizer_dir, args
          )
      elif short_name == "th_orchid":
          convert_th_orchid.main(
              paths["STANZA_EXTERN_DIR"], tokenizer_dir
          )
      elif short_name == "th_lst20":
          convert_th_lst20.convert(
              paths["STANZA_EXTERN_DIR"], tokenizer_dir, args
          )
      elif short_name == "th_best":
          convert_th_best.main(
              paths["STANZA_EXTERN_DIR"], tokenizer_dir
          )
      elif short_name == "ml_cochin":
          convert_ml_cochin.main(
              paths["STANZA_EXTERN_DIR"], tokenizer_dir
          )
      elif short_name.startswith("ko_combined"):
          build_combined_korean(udbase_dir, tokenizer_dir, short_name)
      elif (
          short_name in COMBINED_FNS
      ):  # eg "it_combined", "en_combined", etc
          build_combined_dataset(
              paths, short_name, model_type, args.augment
          )
      elif short_name in BIO_DATASETS:
          build_bio_dataset(
              paths,
              udbase_dir,
              tokenizer_dir,
              handparsed_dir,
              short_name,
              model_type,
              args.augment,
          )
      elif short_name.startswith("en_gum"):
          # we special case GUM because it should include a filled-out GUMReddit
          print(
              "Preparing data for %s: %s, %s"
              % (treebank, short_name, short_language)
          )
          build_combined_english_gum(
              udbase_dir, tokenizer_dir, short_name, args.augment
          )
      else:
          # check that we can find the train file where we expect it
          train_conllu_file = common.find_treebank_dataset_file(
              treebank, udbase_dir, "train", "conllu", fail=True
          )
  
          print(
              "Preparing data for %s: %s, %s"
              % (treebank, short_name, short_language)
          )
  
          if not common.find_treebank_dataset_file(
              treebank, udbase_dir, "dev", "conllu", fail=False
          ):
              process_partial_ud_treebank(
                  treebank,
                  udbase_dir,
                  tokenizer_dir,
                  short_name,
                  short_language,
              )
          else:
              process_ud_treebank(
                  treebank,
                  udbase_dir,
                  tokenizer_dir,
                  short_name,
                  short_language,
                  args.augment,
              )
  
      if not short_name in ("th_orchid", "th_lst20"):
          common.convert_conllu_to_txt(tokenizer_dir, short_name)
  
      if args.prepare_labels:
          common.prepare_tokenizer_treebank_labels(
              tokenizer_dir, short_name
          )
  
imports: import argparse
  import glob
  import os
  import random
  import re
  import tempfile
  from collections import Counter
  from stanza.models.common.constant import treebank_to_short_name
  import stanza.utils.datasets.common
  from stanza.utils.datasets.common import read_sentences_from_conllu, write_sentences_to_conllu, INT_RE, MWT_RE, MWT_OR_COPY_RE
  import stanza.utils.datasets.tokenization.convert_ml_cochin
  import stanza.utils.datasets.tokenization.convert_my_alt
  import stanza.utils.datasets.tokenization.convert_vi_vlsp
  import stanza.utils.datasets.tokenization.convert_th_best
  import stanza.utils.datasets.tokenization.convert_th_lst20
  import stanza.utils.datasets.tokenization.convert_th_orchid
label_desc: Use image node_id 41 for calling a global function with example usage: process_treebank(treebank, model_type, paths, args) without return types