Language engineering · Research software · Java & Python

Radixor

A deterministic multilingual stemmer that turns morphological lexicons into compact executable transformations. Language knowledge is prepared offline; the live search path executes an immutable compiled model rather than consulting a large text dictionary entry by entry.

20languagesindependently versioned default models in the evaluated standard set
6.61Msurface formsdistinct forms in the twenty-language relation evaluation
99.9988%precisionpooled deterministic pairwise precision across all 20 languages
83.4%smalleraggregate reduction from lexical payload to compiled v7 payload

Morphology compiled into a search primitive

The original Egothor idea was to learn transformations from lexical evidence instead of hand-writing a separate stemming program for every language. Radixor completes that model with explicit reduction semantics, immutable runtime structures, versioned binary persistence, deterministic ambiguity handling and interoperable Java/Python runtimes.

Morphological lexiconattested forms and canonical forms Patch inductionminimum-cost executable edits Frequency trieevidence and alternatives Reductionsemantic sharing and contraction Compiled modelimmutable runtime lookup

A patch is not a stored final answer. It is an instruction that transforms an input form into a canonical representation. This allows evidence learned from many lexical families to share structure and lets the compiler generalize compatible transformations beyond a flat word-to-output table.

One engine, many languages

The runtime is language-independent. Linguistic knowledge enters through versioned model data, so adding or improving a language is primarily a model-compilation problem rather than a new source-code algorithm.

Ambiguity is retained

The same model can expose one preferred result or all locally supported candidates in deterministic ranked order. A downstream search system decides how much ambiguity it wants to activate.

Build-time complexity, simple runtime

Induction, reduction and validation happen offline. Production lookup traverses the frozen model and applies a compiled patch command to the token.

Model artifacts are first-class

Language models are independently versioned, integrity-checkable deployment artifacts rather than hidden resources baked into a single executable.

Java and native Python

The project provides Java integration and a native Python/Rust runtime that consume the same versioned compiled-model concept.

Controlled extension

A compiled Java model can be reopened through a builder, extended with domain-specific evidence, rebuilt, tested and deployed as a new artifact instead of being mutated live.

What was actually measured

The 2026 twenty-language study evaluates morphological conflation as a relation. In plain language, it asks two questions at very large scale: do forms that belong together end up together, and do unrelated forms stay apart? It does not require every system to spell its output like a dictionary lemma.

TWENTY-LANGUAGE EVALUATION

From millions of words to trillions of pair decisions

The evaluation uses independently curated UniMorph-derived paradigms and counts the relation induced by deterministic stemming. This makes false joins and missed joins measurable without confusing stem spelling with stem quality.

767,167morphological groups
6,607,708distinct forms
130.2Mrelated form pairs
3.052Tunrelated form pairs
314validated scenarios
20default language models

The quality result in practical terms

15 of 20 languagesproduced zero false-positive conflations in deterministic primary output.
1,538 false-positive pairsin the pooled result, against more than 3.052 trillion unrelated pairs.
97.5952% recallfor pooled deterministic output across the twenty evaluated languages.
12 of 20 become exactwhen all explicitly retained Radixor candidates are considered as a capability analysis.

The candidate-aware result is especially useful for understanding the design. A single context-free stem must choose one answer even when morphology is genuinely ambiguous. Radixor keeps alternative evidence available first; an indexer, query expander or contextual layer can then choose a policy appropriate to the application.

What these figures do—and do not—claim. They measure fidelity to the available independently curated morphological resource. The same resource is used to compile the Radixor model, so this is an end-to-end knowledge-utilization experiment, not a claim about lexical families completely absent from the resource and not, by itself, a claim of universal improvement in MAP, nDCG or another retrieval metric.

Compact models instead of live dictionary lookup

The source lexicons are valuable because they contain scholarly morphological evidence; they do not need to remain the runtime representation. Radixor distils that evidence into patch programs and a reduced trie.

COMPILED REPRESENTATION

99.92 MB of lexical evidence becomes 16.55 MB of compiled model data

Measured on decompressed payloads, excluding outer GZip wrappers and package metadata. Across all twenty models, the compiled v7 streams use 2.50 bytes per evaluated form versus 15.12 bytes in the source payload.

6.04× aggregate source/model ratio · 83.4% byte reduction

A visible knowledge–quality–cost envelope

One additional English experiment deliberately compiles models from progressively smaller deterministic slices of the available lexical rows, then evaluates against the complete resource. The point is not to find one “magic” dictionary size; it is to show what is traded away when knowledge is removed.

Dictionary rows usedExact agreement · all formsExact agreement · changed formsChanged-form runtime
100%97.478%97.197%71.6 ns/token
50%95.262%86.107%61.1 ns/token
10%92.868%76.516%47.0 ns/token

Absolute latency is machine- and workload-specific. The curve is most useful as an engineering illustration: removing lexical evidence mainly hurts forms that actually require a transformation, while runtime changes more modestly and is not strictly monotonic.

Performance presentation on this site. Radixor runtime figures are presented as documented absolute measurements and together with the workload or quality context. Older headline ratios against Porter/Snowball are intentionally not used here; benchmark design has evolved, and cross-implementation speed ratios are too easy to over-interpret when the token mix and measured path differ.

Twenty default languages

A quick visual pass through the standard set makes the language spread easier to absorb than a plain comma-separated list.

🇨🇿
Czechcs · default model
🇩🇰
Danishda · default model
🇳🇱
Dutchnl · default model
🇬🇧 🇺🇸
Englishen · US/UK lexical basis
🇫🇮
Finnishfi · default model
🇫🇷
Frenchfr · default model
🇩🇪
Germande · default model
🇮🇱
Hebrewhe · default model
🇭🇺
Hungarianhu · default model
🇮🇹
Italianit · default model
🇳🇴
Norwegian Bokmålnb · default model
🇳🇴
Norwegian Nynorsknn · default model
🇮🇷
Persianfa · default model
🇵🇱
Polishpl · default model
🇵🇹
Portuguesept · default model
🇷🇺
Russianru · default model
🇪🇸
Spanishes · default model
🇸🇪
Swedishsv · default model
🇺🇦
Ukrainianuk · default model
YI
Yiddishlanguage badge used instead of a state flag

Flags are used where they help orientation. Where a sovereign-state flag would be misleading, a language badge is used instead.

Research lineage and reproducibility

Radixor is the contemporary completion of a research line that began in Egothor in 2001: infer compact word-to-stem edit programs from lexical examples, organize them in a trie and execute the resulting model in a search system. The modern work adds explicit semantic reduction, uniform-subtree contraction, immutable compiled representations, evidence-ranked alternatives, model provenance, Java/native interoperability and publication-grade evaluation artifacts.

The evaluation is designed to be auditable. Model identifiers and descriptor hashes are recorded with result rows; the quality snapshot contains the raw confusion counts and derived metrics; generated tables and figures can be rebuilt from the machine-readable data rather than being manually transcribed.

Project resources