code: def process_vlsp21(paths, dataset_name, *args):
      """
      Processes the VLSP 2021 dataset, which is just a single file
      """
      assert dataset_name == "vi_vlsp21"
      vlsp_file = os.path.join(
          paths["CONSTITUENCY_BASE"],
          "vietnamese",
          "VLSP_2021",
          "VTB_VLSP21_tree.txt",
      )
      if not os.path.exists(vlsp_file):
          raise FileNotFoundError(
              "Could not find the 2021 dataset in the expected location of {} - CONSTITUENCY_BASE == {}".format(
                  vlsp_file, paths["CONSTITUENCY_BASE"]
              )
          )
      with tempfile.TemporaryDirectory() as tmp_output_path:
          vtb_convert.convert_files([vlsp_file], tmp_output_path)
          # This produces a 0 length test set, just as a placeholder until the actual test set is released
          vtb_split.split_files(
              tmp_output_path,
              paths["CONSTITUENCY_DATA_DIR"],
              dataset_name,
              train_size=0.9,
              dev_size=0.1,
          )
      _, _, test_file = vtb_split.create_paths(
          paths["CONSTITUENCY_DATA_DIR"], dataset_name
      )
      with open(test_file, "w"):
          # create an empty test file - currently we don't have actual test data for VLSP 21
          pass
  
imports: import argparse
  import os
  import random
  import sys
  import tempfile
  from tqdm import tqdm
  from stanza.models.constituency import parse_tree
  import stanza.utils.default_paths
  from stanza.models.constituency import tree_reader
  from stanza.models.constituency.parse_tree import Tree
  from stanza.server import tsurgeon
  from stanza.utils.datasets.constituency import utils
  from stanza.utils.datasets.constituency.convert_alt import convert_alt
  from stanza.utils.datasets.constituency.convert_arboretum import convert_tiger_treebank
  from stanza.utils.datasets.constituency.convert_cintil import convert_cintil_treebank
  import stanza.utils.datasets.constituency.convert_ctb
  from stanza.utils.datasets.constituency.convert_it_turin import convert_it_turin
  from stanza.utils.datasets.constituency.convert_it_vit import convert_it_vit
  from stanza.utils.datasets.constituency.convert_starlang import read_starlang
  from stanza.utils.datasets.constituency.utils import SHARDS, write_dataset
  import stanza.utils.datasets.constituency.vtb_convert
  import stanza.utils.datasets.constituency.vtb_split
label_desc: Use image node_id 4 for calling a global function with example usage: process_vlsp21(paths, dataset_name) without return types