Skip to main content

Stemmer

Trait Stemmer 

Source
pub trait Stemmer {
    // Required method
    fn stem(&self, word: &str) -> Result<String, AprenderError>;

    // Provided method
    fn stem_tokens<S: AsRef<str>>(
        &self,
        tokens: &[S],
    ) -> Result<Vec<String>, AprenderError> { ... }
}
Expand description

Trait for stemming algorithms.

Stemmers reduce words to their root form by removing suffixes.

§Examples

use aprender::text::stem::{Stemmer, PorterStemmer};

let stemmer = PorterStemmer::new();
assert_eq!(stemmer.stem("running").expect("stem should succeed"), "run");
assert_eq!(stemmer.stem("flies").expect("stem should succeed"), "fli");

Required Methods§

Source

fn stem(&self, word: &str) -> Result<String, AprenderError>

Stem a single word to its root form.

§Arguments
  • word - Input word to stem
§Returns
  • Ok(String) - Stemmed word
  • Err(AprenderError) - If stemming fails
§Examples
use aprender::text::stem::{Stemmer, PorterStemmer};

let stemmer = PorterStemmer::new();
assert_eq!(stemmer.stem("running").expect("stem should succeed"), "run");

Provided Methods§

Source

fn stem_tokens<S: AsRef<str>>( &self, tokens: &[S], ) -> Result<Vec<String>, AprenderError>

Stem multiple tokens.

§Arguments
  • tokens - Input tokens to stem
§Returns
  • Ok(Vec<String>) - Stemmed tokens
  • Err(AprenderError) - If stemming fails
§Examples
use aprender::text::stem::{Stemmer, PorterStemmer};

let stemmer = PorterStemmer::new();
let words = vec!["running", "flies", "easily"];
let stemmed = stemmer.stem_tokens(&words).expect("stem should succeed");
assert_eq!(stemmed, vec!["run", "fli", "easili"]);

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§