docs: def k_nearest(self, vec, k):
          """Get the k nearest neighbors of a vector (in terms of highest inner products).
  
          :param (np.array) vec: query vector
          :param (int) k: number of top neighbors to return
  
          :return (list[tuple[str, float]]): a list of (word, score) pairs, in descending order
          """
          nbr_score_pairs = self.inner_products(vec)
          return sorted(nbr_score_pairs.items(), key=lambda x: x[1], reverse=True)[:k]