code: def serialize(self, file_path, compress=True):
          
          if self.unknown_lookup is not None:
              warnings.warn(
                  'Serialization of `unknown_lookup` is not supported. '
                  'Save it manually and pass the loaded lookup object '
                  'during deserialization.')
  
          unknown_token = np.array(self.unknown_token)
          idx_to_token = np.array(self.idx_to_token, dtype='O')
          idx_to_vec = self.idx_to_vec.asnumpy()
  
          if not unknown_token:  # Store empty string instead of None
              unknown_token = ''
          else:
              assert unknown_token == idx_to_token[C.UNK_IDX]
  
          if not compress:
              np.savez(file=file_path, unknown_token=unknown_token,
                       idx_to_token=idx_to_token, idx_to_vec=idx_to_vec)
          else:
              np.savez_compressed(file=file_path, unknown_token=unknown_token,
                                  idx_to_token=idx_to_token,
                                  idx_to_vec=idx_to_vec)
docs: Serializes the TokenEmbedding to a file specified by file_path.
  
          TokenEmbedding is serialized by converting the list of tokens, the
          array of word embeddings and other metadata to numpy arrays, saving all
          in a single (optionally compressed) Zipfile. See
          https://docs.scipy.org/doc/numpy-1.14.2/neps/npy-format.html for more
          information on the format.
  
  
          Parameters
          ----------
          file_path : str or file
              The path at which to create the file holding the serialized
              TokenEmbedding. If file is a string or a Path, the .npz extension
              will be appended to the file name if it is not already there.
          compress : bool, default True
              Compress the Zipfile or leave it uncompressed.