class_docstr: To be inherited for each language's embeddings declarations.
  
  .. note::
      There can be no ``DefaultEmbeddingsProcess`` because word embeddings are naturally language-specific.
  
  Example: ``EmbeddingsProcess`` <- ``LatinEmbeddingsProcess``
  
  >>> from cltk.core.data_types import Doc
  >>> from cltk.embeddings.processes import EmbeddingsProcess
  >>> from cltk.core.data_types import Process
  >>> issubclass(EmbeddingsProcess, Process)
  True
  >>> emb_proc = EmbeddingsProcess()
code: def algorithm(self):
      valid_variants = ["fasttext", "nlpl", "cltk"]
      if self.variant == "fasttext":
          return FastTextEmbeddings(iso_code=self.language)
      elif self.variant == "nlpl":
          return Word2VecEmbeddings(iso_code=self.language)
      elif self.variant == "cltk":
          return CLTKWord2VecEmbeddings(iso_code=self.language)
      else:
          valid_variants_str = "', '".join(valid_variants)
          raise CLTKException(
              f"Invalid embeddings ``variant`` ``{self.variant}``. Available: '{valid_variants_str}'."
          )
  
imports: import os
  from collections.abc import ValuesView
  from copy import copy, deepcopy
  from dataclasses import dataclass, field
  from typing import Dict, Optional
  import numpy
  from boltons.cacheutils import cachedproperty
  from cltk.core.cltk_logger import logger
  from cltk.core.data_types import Doc, Process
  from cltk.core.exceptions import CLTKException
  from cltk.embeddings.embeddings import CLTKWord2VecEmbeddings, FastTextEmbeddings, Word2VecEmbeddings
  from cltk.embeddings.sentence import get_sent_embeddings
  from cltk.ner.spacy_ner import download_prompt
  from cltk.utils import CLTK_DATA_DIR
  from cltk.utils.file_operations import open_pickle
label_desc: Use image node_id 1 for calling the EmbeddingsProcess obj's underlying member method code with example usage: obj.algorithm() and returns: FastTextEmbeddings, Word2VecEmbeddings, CLTKWord2VecEmbeddings