class_docstr: NLP Model 
  Glove is a wrapper for loading pretrained word 
  embedding vectors hosted at http://nlp.stanford.edu/data/glove.6B.zip.
  
  References:
      .. [#] `Pennington, Jeffrey, Richard Socher, and Christopher Manning,
          “Glove: Global Vectors for Word Representation”,
          In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP)`_
docstr: Initialize Glove 
  
  Args:
      dim (int): dimension of the emebddings (50, 100, 200, 300)
docstr_tok: ["Initialize","Glove","Args",":","dim","(","int",")",":","dimension","of","the","emebddings","(","50",",","100",",","200",",","300",")"]
code: def __init__(
      self,
      dim: int = 300,
  ):
      """
      Initialize Glove
  
      Args:
          dim (int): dimension of the emebddings (50, 100, 200, 300)
      """
  
      self._file = os.path.join(
          os.path.dirname(os.path.abspath(__file__)),
          "..",
          "data",
          f"glove.6B.{dim}d.txt",
      )
      self._dim = dim
      self._vocab_size = wc(self._file)
  
      self._embeddings = np.zeros(
          (self._vocab_size, self._dim),
          dtype=float,
      )
      self._vocab = {}
  
      # do this to count the number of lines
      with open(self._file, encoding="utf-8") as f:
          for i in range(self._vocab_size):
              # word, .. vals ...
              line = f.readline().strip().split()
              self._vocab[line[0]] = i
              self._embeddings[i] = [float(x) for x in line[1:]]
  
imports: import os
  import numpy
label_desc: Use image node_id 1 to create a new Glove object  with example: obj = Glove(dim)