pub fn word_ngrams(s: &str, n: usize) -> BTreeMap<String, usize>
Extract word-level n-grams with frequency counts.
Splits on whitespace, then collects contiguous word windows.