code: def _build_vocab(filename, vocab_dir, vocab_name):
    
    vocab_path = os.path.join(vocab_dir, vocab_name)
    if not tf.gfile.Exists(vocab_path):
      with tf.gfile.GFile(filename, "r") as f:
        data = f.read().split()
      counter = collections.Counter(data)
      count_pairs = sorted(counter.items(), key=lambda x: (-x[1], x[0]))
      words, _ = list(zip(*count_pairs))
      encoder = text_encoder.TokenTextEncoder(None, vocab_list=words)
      encoder.store_to_file(vocab_path)
    else:
      encoder = text_encoder.TokenTextEncoder(vocab_path)
    return encoder
docs: Reads a file to build a vocabulary.
  
    Args:
      filename: file to read list of words from.
      vocab_dir: directory where to save the vocabulary.
      vocab_name: vocab file name.
  
    Returns:
      text encoder.