NAME

   Lingua::Stem::Patch - Patch stemmers for Esperanto and Ido

VERSION

   This document describes Lingua::Stem::Patch v0.06.

SYNOPSIS

       use Lingua::Stem::Patch;

       # create Esperanto stemmer
       $stemmer = Lingua::Stem::Patch->new(language => 'eo');

       # get stem for word
       $stem = $stemmer->stem($word);

       # get list of stems for list of words
       @stems = $stemmer->stem(@words);

DESCRIPTION

   This module contains a collection of stemmers for multiple languages
   using the Patch stemming algorithms. The languages currently
   implemented are Esperanto, Ido, and Polish.

   This is a new project under active development and the current stemming
   algorithms are likely to change.

Attributes

   language

     The following language codes are currently supported.

         ┌───────────┬────┐
         │ Esperanto │ eo │
         │ Ido       │ io │
         │ Polish    │ pl │
         └───────────┴────┘

     They are in the two-letter ISO 639-1 format and are case-insensitive
     but are always returned in lowercase when requested.

         # instantiate a stemmer object
         $stemmer = Lingua::Stem::Patch->new(language => $language);

         # get current language
         $language = $stemmer->language;

         # change language
         $stemmer->language($language);

   aggressive

     By default a light stemmer will be used, but when aggressive is set
     to true, an aggressive stemmer will be used instead.

         $stemmer->aggressive(1);

Methods

   stem

     Accepts a list of words, stems each word, and returns a list of
     stems. The list returned will always have the same number of elements
     in the same order as the list provided. When no stemming rules apply
     to a word, the original word is returned.

         @stems = $stemmer->stem(@words);

         # get the stem for a single word
         $stem = $stemmer->stem($word);

     The words should be provided as character strings and the stems are
     returned as character strings. Byte strings in arbitrary character
     encodings are intentionally not supported.

   languages

     Returns a list of supported two-letter language codes using lowercase
     letters.

         # object method
         @languages = $stemmer->languages;

         # class method
         @languages = Lingua::Stem::Patch->languages;

SEE ALSO

   Lingua::Stem::Any provides a unified interface to any stemmer on CPAN,
   including this module, as well as additional features like
   normalization, casefolding, and in-place stemming.

AUTHOR

   Nick Patch <[email protected]>

COPYRIGHT AND LICENSE

   © 2014–2015 Nick Patch

   This library is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself.