use rustam::{InformalLemmatizer, InformalNormalizer};
fn main() {
let n = InformalNormalizer::new();
println!("=== InformalNormalizer — single words ===");
let informal_words = [
"واسه", "اینجوری", "میگم", "بچههام", "ریختن", "خونه", ];
for w in &informal_words {
let candidates = n.normalized_word(w);
println!(" {:15} → {:?}", w, candidates);
}
println!("\n=== InformalNormalizer — full sentence ===");
let text = "بابا یه شغل مناسب واسه بچه هام پیدا کرده";
println!("Input: {text}");
let result = n.normalize(text);
for (si, sentence) in result.iter().enumerate() {
println!(" Sentence [{si}]:");
for (ti, candidates) in sentence.iter().enumerate() {
if candidates.len() == 1 {
println!(" [{ti}] {}", candidates[0]);
} else {
println!(" [{ti}] {:?} (multiple candidates)", candidates);
}
}
}
println!("\n=== InformalNormalizer — accessor info ===");
println!(" Past verb map size: {}", n.past_verb_map().len());
println!(" Present verb map size: {}", n.present_verb_map().len());
println!("\n=== InformalLemmatizer ===");
let lem = InformalLemmatizer::new();
let checks = [
("واسه", ""), ("کتاب", ""), ("میگم", "V"), ("xyz_nonexistent", ""),
];
for (w, pos) in &checks {
println!(
" {:20} in_lexicon={:5} lemma={:?}",
w,
lem.contains(w),
lem.lemmatize(w, pos)
);
}
}