Expand description
Stemming algorithms for text normalization.
Stemming reduces words to their root form by removing suffixes. For example: “running” → “run”, “better” → “better”, “studies” → “studi”.
This module provides:
- Porter Stemmer (simplified implementation of the classic algorithm)
- Trait-based design for extensibility
§Examples
use aprender::text::stem::{Stemmer, PorterStemmer};
let stemmer = PorterStemmer::new();
// Stem individual words
assert_eq!(stemmer.stem("running").expect("stem should succeed"), "run");
assert_eq!(stemmer.stem("studies").expect("stem should succeed"), "studi");
// Stem multiple words
let words = vec!["running", "jumped", "easily"];
let stemmed = stemmer.stem_tokens(&words).expect("stem should succeed");
assert_eq!(stemmed, vec!["run", "jump", "easili"]);§References
Porter, M.F. (1980). “An algorithm for suffix stripping.” Program, 14(3), 130-137.
Structs§
- Porter
Stemmer - Simplified Porter Stemmer implementation.
Traits§
- Stemmer
- Trait for stemming algorithms.