class_docstr: Vocab class.
  
  Parameters
  ----------
  lower_case : boolean
      Specify whether to lowercase text, default: ``True``.
  tokenizer: function, optional
      Word tokenization function, default: nltk.tokenize.word_tokenize.
  
  Examples
  -------
  >>> word_vocab = Vocab()
  >>> word_vocab.build_vocab({'i': 10, 'like': 5, 'nlp': 3})
  >>> print(word_vocab.get_vocab_size())
code: def __init__(self, lower_case=True, tokenizer=word_tokenize):
      super(Vocab, self).__init__()
      self.lower_case = lower_case
      self.tokenizer = tokenizer
      self.reserved = [
          self.pad_token,
          self.sos_token,
          self.eos_token,
          self.unk_token,
      ]
      self.index2word = self.reserved[:]
      self.word2index = dict(
          zip(self.reserved, range(len(self.reserved)))
      )
      self.word2count = Counter()
      self.embeddings = None
  
imports: import os
  import pickle
  import re
  import warnings
  from collections import Counter
  from functools import lru_cache
  import numpy
  import torch
  from nltk.tokenize import word_tokenize
  from torchtext.vocab import GloVe, Vectors
  from .None import constants
label_desc: Use image node_id 1 to create a new Vocab object from inherited base classes: object with example: obj = Vocab(lower_case, tokenizer)