Lightweight as a stemmer.
Accurate as a lemmatizer.
LemmaJet is a compiler for stemmers and lemmatizers. Heavy NLP (morphological lexicons, neural taggers) runs once, offline, over your corpus. What you ship is a tiny, deterministic function that maps every word to its stem or lemma, so running, ran and runs become one search term, including the irregular and alternating forms that rule-based stemmers get wrong.
Use it as a faster, more accurate replacement for Snowball in BM25 and full-text search, in the sparse half of hybrid RAG retrieval, or anywhere a spaCy or Stanza lemmatizer is too heavy or slow: in the browser, at the edge, or on your server. Models are emitted as dependency-free JavaScript/TypeScript or Python, with identical output on every target. Like Snowball, it works on single words rather than whole sentences.
Coming soon. The LemmaJet npm and pip packages are not published yet, and the compiler itself will follow shortly after, so you will be able to build models for your own corpus and language. Until then, the live demo runs real compiled models in your browser. The GitHub repository is currently a placeholder.
- Snowball speed, Stanza precision. On English inflections LemmaJet matches or slightly beats Stanza’s neural lemmatizer while running hundreds of times faster. Against each language’s official Snowball stemmer it scores 10–23 percentage points higher clustering quality (F1) on our German, Spanish, French and Czech models.
- Zero dependencies, tiny files. Each model is one standalone ES module or Python file, from about 1.5 KB gzipped. No PyTorch, no model downloads, no runtime.
- Six languages today. Polish, English, German, Spanish, French and Czech — and the compiler is built to add more.
- Identical everywhere. Bit-for-bit identical output across the JavaScript and Python targets.
Measured on our own dual-domain corpora (general text and public-domain scripture), md-balanced profile. See the benchmarks page for details; independent microbenchmarks are coming.
Learn more
Stemmer-sized
Models are a reversed suffix trie with a handful of exceptions: from about 1.5 KB gzipped for a compact English model to a few dozen KB for the high-accuracy tiers.
Lemmatizer-grade
Handles irregular and alternating forms that rule-based stemmers miss, because the model is distilled from a heavy morphological teacher, not hand-written rules.
Stem or lemma
Emit stable stems for search indexing, or true dictionary headwords with lemma mode.
Runs anywhere
Pure JavaScript/TypeScript and Python output, plus Snowball .sbl for every other language Snowball can target.
Tuned to your domain
Compile from your own corpus and pick a size/accuracy profile (xxs to xl).
Extensible
New languages and new output languages plug in behind small, documented interfaces.