Text::English(3pm)

Text::English3pm

Porter's stemming algorithm

Usage

    use Text::English;
    @stems = Text::English::stem( @words );

Overview

This routine applies the Porter Stemming Algorithm to its parameters, returning the stemmed words. It is derived from the C program "stemmer.c" as found in freewais and elsewhere, which contains these notes:

   Purpose:    Implementation of the Porter stemming algorithm documented 
               in: Porter, M.F., "An Algorithm For Suffix Stripping," 
               Program 14 (3), July 1980, pp. 130-137.
   Provenance: Written by B. Frakes and C. Cox, 1986.

I have re-interpreted areas that use Frakes and Cox's "WordSize" function. My version may misbehave on short words starting with "y", but I can't think of any examples.

The step numbers correspond to Frakes and Cox, and are probably in Porter's article (which I've not seen). Porter's algorithm still has rough spots (e.g current/currency, -ings words), which I've not attempted to cure, although I have added support for the British -ise suffix.

Notes

This is version 0.1. I would welcome feedback, especially improvements to the punctuation-stripping step.

Releases

11 releases since Debian 3.1 (Sarge); the text changed 8 times.

  1. 3.1
  2. 4.0
  3. 5.0
  4. 6.0
  5. 7
  6. 8–10
  7. 11
  8. 12
  9. 13

Author

Ian Phillipps <[email protected]>

From libtext-english-perl 1.606-6 in Debian 13 (Trixie). Parsed by carta from the page's man source.