code: def read_languk_train_test_split(
      file_path: str, dev_split: float = 0.1
  ) -> Tuple:
      """
      Read predefined split of train and test files in data set.
      Originally located under doc/dev-test-split.txt
      :param file_path: path to dev-test-split.txt file (should include file name with extension)
      :param dev_split: 0 to 1 float value defining how much to allocate to dev split
      :return: tuple of (train, dev, test) each containing list of files to be used for respective data sets
      """
      log.info(
          f'Trying to read train/dev/test split from file "{file_path}". Dev allocation = {dev_split}'
      )
      train_files, test_files, dev_files = [], [], []
      container = test_files
      with open(file_path, "r") as f:
          for ln in f:
              ln = ln.strip()
              if ln == "DEV":
                  container = train_files
              elif ln == "TEST":
                  container = test_files
              elif ln == "":
                  pass
              else:
                  container.append(ln)
  
      # split in file only contains train and test split.
      # For Stanza training we need train, dev, test
      # We will take part of train as dev set
      # This way anyone using test set outside of this code base can be sure that there was no data set polution
      shuffle(train_files)
      dev_files = train_files[: int(len(train_files) * dev_split)]
      train_files = train_files[int(len(train_files) * dev_split) :]
  
      assert len(set(train_files).intersection(set(dev_files))) == 0
  
      log.info(
          f"Files in each set: train={len(train_files)}, dev={len(dev_files)}, test={len(test_files)}"
      )
      return train_files, dev_files, test_files
  
file_path: stanza/stanza/utils/datasets/ner/convert_bsf_to_beios.py
imports: import argparse
  import logging
  import os
  import glob
  from collections import namedtuple
  import re
  from typing import Tuple
  from tqdm import tqdm
  from random import choices, shuffle
label_desc: Use image node_id 6 for calling a global function with example usage: read_languk_train_test_split(file_path, dev_split) and returns: train_files,  dev_files,  test_files