class_docstr: To be inherited for each language's lemmatization declarations.
  
  Example: ``LemmatizationProcess`` -> ``LatinLemmatizationProcess``
  
  >>> from cltk.lemmatize.processes import LemmatizationProcess
  >>> from cltk.core.data_types import Process
  >>> issubclass(LemmatizationProcess, Process)
  True
code: def run(self, input_doc: Doc) -> Doc:
      lemmatizer = self.algorithm
  
      output_doc = deepcopy(input_doc)
      for word in output_doc.words:
          word.lemma = lemmatizer(word.string)
  
      return output_doc
  
imports: from copy import deepcopy
  from dataclasses import dataclass
  from boltons.cacheutils import cachedproperty
  from cltk.core.data_types import Doc, Process
  from cltk.lemmatize.ang import OldEnglishDictionaryLemmatizer
  from cltk.lemmatize.fro import OldFrenchDictionaryLemmatizer
  from cltk.lemmatize.grc import GreekBackoffLemmatizer
  from cltk.lemmatize.lat import LatinBackoffLemmatizer
label_desc: Use image node_id 1 for calling the LemmatizationProcess obj's underlying member method code with example usage: obj.run(input_doc) and returns: output_doc