class_docstr: To be inherited for each language's dictionary declarations.
  
  Example: ``LexiconProcess`` -> ``LatinLexiconProcess``
  
  >>> from cltk.lexicon.processes import LexiconProcess
  >>> from cltk.lemmatize.processes import LemmatizationProcess
  >>> from cltk.core.data_types import Process
  >>> issubclass(LexiconProcess, Process)
  True
class_docstr_tok: ["To","be","inherited","for","each","language","'s","dictionary","declarations",".","Example",":","``","LexiconProcess","``","-",">","``","LatinLexiconProcess","``",">",">",">","from","cltk.lexicon.processes","import","LexiconProcess",">",">",">","from","cltk.lemmatize.processes","import","LemmatizationProcess",">",">",">","from","cltk.core.data_types","import","Process",">",">",">","issubclass","(","LexiconProcess",",","Process",")","True"]
code: def run(self, input_doc: Doc) -> Doc:
      lookup_algo = self.algorithm
      output_doc: Doc = copy(input_doc)
      for word in output_doc.words:
          if self.language == "lat":
              if word.lemma:
                  word.definition = lookup_algo.lookup(word.lemma)
          elif self.language == "non":
              if word.string:
                  word.definition = lookup_algo.lookup(word.string)
          else:
              raise CLTKException(
                  f"``LexiconProcess()`` not available for language '{self.language}' This should never happen."
              )
      return output_doc
  
file_path: cltk/src/cltk/lexicon/processes.py
imports: from copy import copy, deepcopy
  from dataclasses import dataclass
  from boltons.cacheutils import cachedproperty
  from cltk.core.data_types import Doc, Process
  from cltk.core.exceptions import CLTKException
  from cltk.lexicon.lat import LatinLewisLexicon
  from cltk.lexicon.non import OldNorseZoegaLexicon
label_desc: Use image node_id 2 for calling the LexiconProcess obj's underlying member method code with example usage: obj.run(input_doc) and returns: output_doc