Algorytm stosuje sekwencję reguł obcinania sufiksów (np. Porter stemmer: -ing, -ed, -s). Działa czysto powierzchniowo, na podstawie wzorców znakowych, bez analizy gramatycznej ani słownika. Wynik (stem) nie musi być poprawnym słowem.
Bag-of-Words i TF-IDF traktują "biega", "biegał", "bieganie" jako osobne terminy, rozpraszając statystyki. Stemming scala je, zmniejszając słownik i poprawiając recall.
Over-stemming scala niespokrewnione słowa ("universal", "university" → "univers"); under-stemming nie scala spokrewnionych.
Porter stemmer projektowano dla angielskiego; dla polskiego daje słabe wyniki.
Złożoność czasowa: O(n) względem liczby tokenów. Złożoność przestrzenna: O(1) na token.
Wybór stemmera: Porter (łagodny), Snowball/Porter2 (ulepszony, wielojęzyczny), Lancaster (agresywny).
Manipulacja stringów oparta na regułach — bez akceleracji sprzętowej.