Robocikowo>ROBOCIKOWO
Dane

Stemming

1980AktywnyOpublikowany
Heurystyczne sprowadzanie słów do rdzenia przez obcinanie końcówek, np. "biegacz", "biegać" → "bieg".
Kluczowa innowacja
Łączy formy fleksyjne i derywacyjne tego samego słowa w jeden token regułami obcinania, bez słownika.
Kategoria
Dane
Poziom abstrakcji
Primitive
Poziom operacji
Dane
Zastosowania
Preprocessing dla wyszukiwarek (recall)Normalizacja przed TF-IDF / BoWIndeksowanie pełnotekstoweEkstrakcja słów kluczowych

Jak działa

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.

Rozwiązany problem

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.

Implementacja

Pułapki implementacyjne
Over-stemming i under-stemmingŚrednia

Over-stemming scala niespokrewnione słowa ("universal", "university" → "univers"); under-stemming nie scala spokrewnionych.

Rozwiązanie:Dobierz stemmer do języka; dla wysokiej precyzji rozważ lematyzację.
Słaba jakość dla języków fleksyjnychWysoka

Porter stemmer projektowano dla angielskiego; dla polskiego daje słabe wyniki.

Rozwiązanie:Użyj stemmerów/lematyzatorów dedykowanych językowi (np. Morfologik, spaCy).

Hiperparametry (konfigurowalne osie)

AlgorytmWysoka

Wybór stemmera: Porter (łagodny), Snowball/Porter2 (ulepszony, wielojęzyczny), Lancaster (agresywny).

snowballDomyślny wybór — dobry kompromis i wsparcie wielu języków.
lancasterBardzo agresywny, wysoki recall kosztem precyzji.

Złożoność obliczeniowa

Złożoność czasowa: O(n) względem liczby tokenów. Złożoność przestrzenna: O(1) na token.

Paradygmat wykonania

Tryb główny
Rzadki
Wzorzec aktywacji
Podzbiór aktywny

Równoległość

Poziom równoległości
W pełni równoległy
Zakres
TreningInferencja

Wymagania sprzętowe

Podstawowe

Manipulacja stringów oparta na regułach — bez akceleracji sprzętowej.