code: def get_vocab(args):
      
      counter = nlp.data.Counter()
      start = time.time()
      for filename in args.files:
          print('Starting processing of {} after {:.1f} seconds.'.format(
              filename,
              time.time() - start))
          with open(filename, 'r') as f:
              tokens = itertools.chain.from_iterable((l.split() for l in f))
              counter.update(tokens)
  
      if args.max_word_length:
          counter = {
              w: c
              for w, c in counter.items() if len(w) < args.max_word_length
          }
  
      total_time = time.time() - start
      print('Finished after {:.1f} seconds.'.format(total_time))
      num_words = sum(counter.values())
      print('Got {} words. Processed {:.1f} per second.'.format(
          num_words, num_words / total_time))
  
      start = time.time()
      print('Starting creation of vocabulary.')
      vocab = nlp.Vocab(counter, max_size=args.max_size, min_freq=args.min_freq,
                        unknown_token=None, padding_token=None, bos_token=None,
                        eos_token=None)
      with open(args.vocab_output, 'w') as f:
          f.write(vocab.to_json())
      print('Finished creation of vocabulary after {:.1f} seconds.'.format(
          time.time() - start))
  
      print('Writing word counts.')
      start = time.time()
      idx_to_counts = [counter[t] for t in vocab.idx_to_token]
      with open(args.counts_output, 'w') as f:
          json.dump(idx_to_counts, f)
      print('Finished writing word counts after {:.1f} seconds..'.format(
          time.time() - start))
docs: Compute the vocabulary.