code: def read_starlang(paths, conversion=read_tree, log=True):
      """
      Read the starlang trees, converting them using the given method.
  
      read_tree or any other conversion turns one file at a time to a sentence.
      log is whether or not to log a ValueError - the NER division has many missing labels
      """
      if isinstance(paths, str):
          paths = (paths,)
  
      train_files = []
      dev_files = []
      test_files = []
  
      for path in paths:
          tree_files = [os.path.join(path, x) for x in os.listdir(path)]
          train_files.extend(
              [x for x in tree_files if x.endswith(".train")]
          )
          dev_files.extend(
              [x for x in tree_files if x.endswith(".dev")]
          )
          test_files.extend(
              [x for x in tree_files if x.endswith(".test")]
          )
  
      print(
          "Reading %d total files"
          % (len(train_files) + len(dev_files) + len(test_files))
      )
      train_treebank = read_files(
          tqdm(train_files), conversion=conversion, log=log
      )
      dev_treebank = read_files(
          tqdm(dev_files), conversion=conversion, log=log
      )
      test_treebank = read_files(
          tqdm(test_files), conversion=conversion, log=log
      )
  
      return train_treebank, dev_treebank, test_treebank
  
file_path: stanza/stanza/utils/datasets/constituency/convert_starlang.py
imports: import os
  import re
  from tqdm import tqdm
  from stanza.models.constituency import parse_tree
  from stanza.models.constituency import tree_reader
label_desc: Use image node_id 3 for calling a global function with example usage: read_starlang(paths, conversion, log) and returns: train_treebank,  dev_treebank,  test_treebank