Porter 2 Stemmer for PHP
A PHP library for stemming words using the English Porter 2 algorithm.
A stemmer takes a given word and follows a set of rules to reduce this word to search-index-usable stem (as opposed to the actual word root). For example, aggravate, aggravated, and aggravates all reduce to "aggrav," thus creating a commonality between those words.
Martin Porter's English (Porter 2) Algorithm improves on the original Porter stemmer as described here.
/demo/index.php file contains a conversion form demonstration.
Make your code aware of the
Porter2 class via your favorite method (e.g.,
Then pass a string of text into the class:
$text = Porter2::stem('consistently'); echo $text; // consist $text = Porter2::stem('consisting'); echo $text; // consist $text = Porter2::stem('consistency'); echo $text; // consist
A verification list of 29,000 words and their expected stems can be run (after
composer install via