Py-stemming

Jul 20, 2023

Algorithms for stemming

Python implementations of the Porter, Porter2, Paice-Husk, and Lovins stemming algorithms for English. These implementations are straightforward and efficient, unlike some Python versions of the same algorithms available on the Web. This package is an extraction of the stemming code included in the Whoosh search engine.

Note that these are pure Python implementations. Python wrappers for, e.g. the Snoball stemmers and the C implementation of the Porter stemmer are available on PyPI and will be faster if using compiled code is an option for you.

Stemming algorithms attempt to automatically remove suffixes and in some cases prefixes in order to find the “root word” or stem of a given word. This is useful in various natural language processing scenarios, such as search.

In general porter2 is the best overall stemming algorithm, but not necessarily the fastest or most aggressive.



Checkout these related ports:
  • Zxing-cpp - ZXing C++ Library for QR code recognition
  • Zu-hunspell - Zulu hunspell dictionaries
  • Zu-aspell - Aspell Zulu dictionary
  • Zq - Easier and faster alternative to jq
  • Zorba - General purpose C++ XQuery processor
  • Zenxml - Simple C++ XML Processing
  • Zed - Command-line tool to manage and query Zed data lakes
  • Yq - Command-line YAML and XML processor, jq wrapper for YAML/XML documents
  • Yould - Pronounceable word generator
  • Yodl - Easy to use but powerful document formatting/preparation language
  • Yi-hunspell - Yiddish hunspell dictionaries
  • Yi-aspell - Aspell Yiddish dictionary
  • Yelp-xsl - DocBook XSLT stylesheets for yelp
  • Yelp-tools - Utilities to help manage documentation for Yelp and the web
  • Ydiff - Diff readability enhancer for color terminals