Did you know ... Search Documentation:
Pack logtalk -- logtalk-3.102.0/docs/apis/_sources/lemmatizer_protocol_0.rst.txt

.. index:: single: lemmatizer_protocol .. _lemmatizer_protocol/0:

.. rst-class:: right

protocol

lemmatizer_protocol

Lemmatization protocol for words represented as atoms, lists of characters, or lists of character codes.

| Availability: | logtalk_load(lemmatization(loader))

| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-09-08

| Compilation flags: | static

| Dependencies: | (none)

| Remarks: | (none)

| Inherited public predicates: | (none)

.. contents:: :local: :backlinks: top

Public predicates

.. index:: lemma/2 .. _lemmatizer_protocol/0::lemma/2:

lemma/2 ^^^^^^^^^^^

Enumerates the distinct lemmas of a word in provider preference order. Returns the normalized word when no lemma is recognized.

| Compilation flags: | static

| Template: | lemma(Word,Lemma) | Mode and number of proofs: | lemma(+text,-text) - one_or_more_or_error

| Exceptions: | The Representation parameter is a variable: | instantiation_error | The Representation parameter is neither a variable nor atom, chars, or codes: | domain_error(text_representation,Representation) | The Language parameter is a variable: | instantiation_error | The Language parameter neither a variable nor an object identifier: | type_error(object_identifier,Language) | The Language parameter is an object identifier but not an object conforming to lemmatizer_language_protocol: | domain_error(lemmatizer_language_protocol,Language) | Word is not ground: | instantiation_error | The Representation parameter is atom but Word is not an atom: | type_error(atom,Word) | The Representation parameter is chars but Word is not a list of characters: | type_error(chars,Word) | The Representation parameter is codes but Word is not a list of character codes: | type_error(codes,Word)


.. index:: lemma/3 .. _lemmatizer_protocol/0::lemma/3:

lemma/3 ^^^^^^^^^^^

Lemmatizes a word using the given options. Recognized options are part_of_speech(PartOfSpeech), ambiguity(Policy), where Policy is first or all, and unknown(Policy), where Policy is normalize, preserve, or fail.

| Compilation flags: | static

| Template: | lemma(Word,Lemma,Options) | Mode and number of proofs: | lemma(+text,-text,+list(compound)) - zero_or_more_or_error

| Exceptions: | The Representation parameter is a variable: | instantiation_error | The Representation parameter is neither a variable nor atom, chars, or codes: | domain_error(text_representation,Representation) | The Language parameter is a variable: | instantiation_error | The Language parameter neither a variable nor an object identifier: | type_error(object_identifier,Language) | The Language parameter is an object identifier but not an object conforming to lemmatizer_language_protocol: | domain_error(lemmatizer_language_protocol,Language) | Word is not ground: | instantiation_error | The Representation parameter is atom but Word is not an atom: | type_error(atom,Word) | The Representation parameter is chars but Word is not a list of characters: | type_error(chars,Word) | The Representation parameter is codes but Word is not a list of character codes: | type_error(codes,Word) | Options is a variable: | instantiation_error | Options is neither a variable nor a list: | type_error(list,Options) | An element Option of the list Options is a variable: | instantiation_error | An element Option of the list Options is neither a variable nor a compound term: | type_error(compound,Option) | An element Option of the list Options is a compound term but not a valid option: | domain_error(option,Option) | An element of the list Options is a parts_of_speech/1 option, which is only valid for lemmas/3: | domain_error(option,parts_of_speech(A))


.. index:: lemmas/2 .. _lemmatizer_protocol/0::lemmas/2:

lemmas/2 ^^^^^^^^^^^^

Lemmatizes a list of words, selecting the first lemma for each word and preserving order. Returns normalized words when no lemma is recognized.

| Compilation flags: | static

| Template: | lemmas(Words,Lemmas) | Mode and number of proofs: | lemmas(+list(text),-list(text)) - one_or_error

| Exceptions: | The Representation parameter is a variable: | instantiation_error | The Representation parameter is neither a variable nor atom, chars, or codes: | domain_error(text_representation,Representation) | The Language parameter is a variable: | instantiation_error | The Language parameter neither a variable nor an object identifier: | type_error(object_identifier,Language) | The Language parameter is an object identifier but not an object conforming to lemmatizer_language_protocol: | domain_error(lemmatizer_language_protocol,Language) | Words is a variable or a partial list: | instantiation_error | Words is neither a variable nor a list: | type_error(list,Words) | An element Word of the list Words is not ground: | instantiation_error | The Representation parameter is atom but a ground element Word of the list Words is not an atom: | type_error(atom,Word) | The Representation parameter is chars but an element Word of the list Words is not a list of characters: | type_error(chars,Word) | The Representation parameter is codes but an element Word of the list Words is not a list of character codes: | type_error(codes,Word)


.. index:: lemmas/3 .. _lemmatizer_protocol/0::lemmas/3:

lemmas/3 ^^^^^^^^^^^^

Lemmatizes a list of words using the given options. In addition to the scalar options, accepts parts_of_speech(PartsOfSpeech) for per-word hints. The part_of_speech/1 and parts_of_speech/1 options are mutually exclusive.

| Compilation flags: | static

| Template: | lemmas(Words,Lemmas,Options) | Mode and number of proofs: | lemmas(+list(text),-list(text),+list(compound)) - zero_or_more_or_error

| Exceptions: | The Representation parameter is a variable: | instantiation_error | The Representation parameter is neither a variable nor atom, chars, or codes: | domain_error(text_representation,Representation) | The Language parameter is a variable: | instantiation_error | The Language parameter neither a variable nor an object identifier: | type_error(object_identifier,Language) | The Language parameter is an object identifier but not an object conforming to lemmatizer_language_protocol: | domain_error(lemmatizer_language_protocol,Language) | Words is a variable or a partial list: | instantiation_error | Words is neither a variable nor a list: | type_error(list,Words) | An element Word of the list Words is not ground: | instantiation_error | The Representation parameter is atom but a ground element Word of the list Words is not an atom: | type_error(atom,Word) | The Representation parameter is chars but an element Word of the list Words is not a list of characters: | type_error(chars,Word) | The Representation parameter is codes but an element Word of the list Words is not a list of character codes: | type_error(codes,Word) | Options is a variable: | instantiation_error | Options is neither a variable nor a list: | type_error(list,Options) | An element Option of the list Options is a variable: | instantiation_error | An element Option of the list Options is neither a variable nor a compound term: | type_error(compound,Option) | An element Option of the list Options is a compound term but not a valid option: | domain_error(option,Option) | The part_of_speech(POS) and parts_of_speech(PsOS) options are both present: | consistency_error(mutually_exclusive_options,part_of_speech(POS),parts_of_speech(PsOS)) | The Words and PartsOfSpeech lists have different lengths: | consistency_error(same_length,Words,PartsOfSpeech)


Protected predicates

(none)

Private predicates

(none)

Operators

(none)

.. seealso::

:ref:`lemmatizer_language_protocol <lemmatizer_language_protocol/0>`, :ref:`lemmatizer(Representation,Language) <lemmatizer/2>`