class_docstr: Class to find lemmas out of words with the objective of returning a base
  dictionary word.
  
  Retrieves the significant part of a word. A dictionary of predefined lemmas
  must be provided with :meth:`.setDictionary`.
  
  For instantiated/pretrained models, see :class:`.LemmatizerModel`.
  
  For available pretrained models please see the `Models Hub <https://sparknlp.org/models?task=Lemmatization>`__.
  For extended examples of usage, see the `Examples <https://github.com/JohnSnowLabs/spark-nlp/blob/master/examples/python/training/italian/Train-Lemmatizer-Italian.ipynb>`__.
  
  ====================== ======================
  Input Annotation types Output Annotation type
  ====================== ======================
  ``TOKEN``              ``TOKEN``
  ====================== ======================
  
  Parameters
  ----------
  dictionary
      lemmatizer external dictionary.
  
  Examples
  --------
  >>> import sparknlp
  >>> from sparknlp.base import *
  >>> from sparknlp.annotator import *
  >>> from pyspark.ml import Pipeline
  
  In this example, the lemma dictionary ``lemmas_small.txt`` has the form of::
  
      ...
      pick    ->      pick    picks   picking picked
      peck    ->      peck    pecking pecked  pecks
      pickle  ->      pickle  pickles pickled pickling
      pepper  ->      pepper  peppers peppered        peppering
      ...
  
  where each key is delimited by ``->`` and values are delimited by ``\t``
  
  >>> documentAssembler = DocumentAssembler() \
  ...     .setInputCol("text") \
  ...     .setOutputCol("document")
  >>> sentenceDetector = SentenceDetector() \
  ...     .setInputCols(["document"]) \
  ...     .setOutputCol("sentence")
  >>> tokenizer = Tokenizer() \
  ...     .setInputCols(["sentence"]) \
  ...     .setOutputCol("token")
  >>> lemmatizer = Lemmatizer() \
  ...     .setInputCols(["token"]) \
  ...     .setOutputCol("lemma") \
  ...     .setDictionary("src/test/resources/lemma-corpus-small/lemmas_small.txt", "->", "\t")
  >>> pipeline = Pipeline() \
  ...     .setStages([
  ...       documentAssembler,
  ...       sentenceDetector,
  ...       tokenizer,
  ...       lemmatizer
  ...     ])
  >>> data = spark.createDataFrame([["Peter Pipers employees are picking pecks of pickled peppers."]]) \
  ...     .toDF("text")
  >>> result = pipeline.fit(data).transform(data)
  >>> result.selectExpr("lemma.result").show(truncate=False)
  +------------------------------------------------------------------+
  |result                                                            |
  +------------------------------------------------------------------+
  |[Peter, Pipers, employees, are, pick, peck, of, pickle, pepper, .]|
  +------------------------------------------------------------------+
docstr: Column that correspends to CoNLLU(formCol=) output
  
  Parameters
  ----------
  value : str
      Name of column for Array of Form tokens
code: def setFormCol(self, value):
      """Column that correspends to CoNLLU(formCol=) output
  
      Parameters
      ----------
      value : str
          Name of column for Array of Form tokens
      """
      return self._set(formCol=value)
  
file_path: spark-nlp/python/sparknlp/annotator/lemmatizer.py
imports: from sparknlp.common import *
label_desc: Use image node_id 3 for calling the Lemmatizer obj's underlying member method code with example usage: obj.setFormCol(value) and returns: self