docs: def get_prefixes(dirname: str, extension: str) -> List[str]:
      """ Returns a list of prefixes to files in the directory (which might be a whole
      corpus, or a train/valid/test subset. The prefixes include the path leading
      up to it, but only the filename up until the first observed period '.'
      """
  
      prefixes = []
      for root, _, filenames in os.walk(dirname):
          for filename in filenames:
              if filename.endswith(extension):
                  # Then it's an input feature file and its prefix will
                  # correspond to a training example
                  prefixes.append(os.path.join(root, filename.split(".")[0]))
      return sorted(prefixes)