code: def _maybe_download_corpus(tmp_dir, vocab_type):
      """Download and unpack the corpus.
  
      Args:
        tmp_dir: directory containing dataset.
        vocab_type: which vocabulary are we using.
  
      Returns:
        The list of names of files.
      """
      filename = os.path.basename(PTB_URL)
      compressed_filepath = generator_utils.maybe_download(
          tmp_dir, filename, PTB_URL
      )
      ptb_files = []
      ptb_char_files = []
  
      with tarfile.open(compressed_filepath, "r:gz") as tgz:
          files = []
          # Selecting only relevant files.
          for m in tgz.getmembers():
              if "ptb" in m.name and ".txt" in m.name:
                  if "char" in m.name:
                      ptb_char_files += [m.name]
                  else:
                      ptb_files += [m.name]
                  files += [m]
  
          tgz.extractall(tmp_dir, members=files)
  
      if vocab_type == text_problems.VocabType.CHARACTER:
          return ptb_char_files
      else:
          return ptb_files
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import os
  import sys
  import tarfile
  from tensor2tensor.data_generators import generator_utils
  from tensor2tensor.data_generators import problem
  from tensor2tensor.data_generators import text_encoder
  from tensor2tensor.data_generators import text_problems
  from tensor2tensor.utils import registry
  import tensorflow.compat.v1
label_desc: Use image node_id 4 for calling a global function with example usage: _maybe_download_corpus(tmp_dir, vocab_type) and returns: ptb_char_files, ptb_files