docs: def get_embeddings(self, rand=None, dtype='float32', corpus='common_crawl_48', n_dim=300):
          """
          Retrieves the embeddings for the vocabulary.
  
          :param rand: Random initialization function for out-of-vocabulary words. Defaults to `np.random.uniform(-0.1, 0.1, size=shape)`.
          :param dtype: Type of the matrix.
          :param corpus: Corpus to use. Please see `GloveVocab.settings` for available corpus.
          :param n_dim: dimension of vectors to use. Please see `GloveVocab.settings` for available corpus.
          :return: embeddings corresponding to the vocab instance.
  
          NOTE: this function will download potentially very large binary dumps the first time it is called.
          """
          assert corpus in self.settings, '{} not in supported corpus {}'.format(corpus, self.settings.keys())
          self.n_dim, self.corpus, self.setting = n_dim, corpus, self.settings[corpus]
          assert n_dim in self.setting.n_dims, '{} not in supported dimensions {}'.format(n_dim, self.setting.n_dims)
  
          rand = rand if rand else lambda shape: np.random.uniform(-0.1, 0.1, size=shape)
          zip_file = get_data_or_download('glove', '{}.zip'.format(self.corpus), self.setting.url, size=self.setting.size)
  
          E = rand((len(self), self.n_dim)).astype(dtype)
          n_dim = str(self.n_dim)
  
          with zipfile.ZipFile(zip_file) as zf:
              # should be only 1 txt file
              names = [info.filename for info in zf.infolist() if
                       info.filename.endswith('.txt') and n_dim in info.filename]
              if not names:
                  s = 'no .txt files found in zip file that matches {}-dim!'.format(n_dim)
                  s += '\n available files: {}'.format(names)
                  raise IOError(s)
              name = names[0]
              seen = []
              with zf.open(name) as f:
                  for line in f:
                      toks = str(line).rstrip().split(' ')
                      word = toks[0]
                      if word in self:
                          seen += [word]
                          E[self[word]] = np.array([float(w) for w in toks[1:]], dtype=dtype)
              self.backfill_unk_emb(E, set(seen))
              return E