Uninflect a Term
Lvg can uninflect both words and terms. That is, it can make plural nouns in to singular nouns, inflected verbs into their infinitive forms, and adjectives and adverbs into their positive forms.
First, this flow finds the uninflected terms by facts (or by rules if none from facts). Then it combines records if the spelling and category of the uninflected (base) form are the same. Finally, it sorts results by alphabetical order, category. For example, if the input is Li, six lexical records are found from facts:
- Li|Li|noun|base|FACT|Li|noun|base|Li|noun|base|E0003847|
- Li|Li|noun|base|FACT|Li|noun|singular|Li|noun|base|E0003847|
- Li|Li|noun|base|FACT|Li|noun|base|Li|noun|base|E0355488|
- Li|Li|noun|base|FACT|Li|noun|singular|Li|noun|base|E0355488|
- Li|LI|noun|base|FACT|LI|noun|base|LI|noun|base|E0699468|
- Li|LI|noun|base|FACT|LI|noun|singular|LI|noun|base|E0699468|
- Li|LI|noun|base|FACT|LI|noun|base|LI|noun|base|E0699468|
- Li|Li|noun|base|FACT|Li|noun|base|Li|noun|base|E0003847|
Please note that two combining operations are performed in this example:
When the -m flag is specified, the fact or rule that was used to do the uninflection is added after the standard set of lvg output fields. The addition information could be composed of two formats:
An additional heuristic has also been implemented within the inflectional morphology unit to limit spurious variants. If a term goes through an inflectional morphology mutation (-f:i, -f:B, -f:b), and the term is not known to the lexicon, but its rule generated form is known to the lexicon, this variant is thrown out, because it is likely to be wrong. This heuristic is only overruled when the -ki flag is set to return all forms
The results are sorted by alphabetical order, category.
For example: "isn't" should be uninflected as "be" not "isn t"
For example: "wasn't" should be uninflected as "be" not "wasn t"
For example: "doesn't" should be uninflected as "do" not "doesn t"
For example: "won't" should be uninflected as "will" not "win t"
For example: "Vit's" should be uninflected as "Vit" not "Vit s"
For example: "cit's" should be uninflected as "cit" not "cit s"
shell> lvg -f:b -m slept slept|sleep|1024|1|b|1|FACT|slept|verb|past|sleep|verb|base|E0056246| standbys standbys|standby|128|1|b|1|FACT|standbys|noun|plural|standby|noun|base|E0320368| stand-bys stand-bys|stand-by|128|1|b|1|FACT|stand-bys|noun|plural|stand-by|noun|base|E0320368| left left|leave|1024|1|b|1|FACT|left|verb|past|leave|verb|base|E0037100| left|left|1|1|b|1|FACT|left|adj|base|left|adj|base|E0037123| left|left|2|1|b|1|FACT|left|adv|base|left|adv|base|E0037125| left|left|128|1|b|1|FACT|left|noun|base|left|noun|base|E0037124 alpha beta alpha beta|alpha beta|1|1|b|1|RULE|$|adj|base|$|adj|base alpha beta|alpha beta|2|1|b|1|RULE|$|adv|base|$|adv|base alpha beta|alpha beta|128|1|b|1|RULE|$|noun|base|$|noun|base alpha beta|alpha beta|1024|1|b|1|RULE|$|verb|base|$|verb|base alpha beta|alpha beton|128|512|b|1|RULE|a$|noun|plural|on$|noun|singular alpha beta|alpha betum|128|512|b|1|RULE|a$|noun|plural|um$|noun|singular shell> lvg -f:b -CR:o slept slept|sleep|1024|1|b|1| alpha beta alpha beta|alpha beta|1155|1|b|1| alpha beta|alpha beton|128|512|b|1| alpha beta|alpha betum|128|512|b|1|More examples