Ingénierie linguistique · Logiciel de recherche · Java & Python

Radixor

Un stemmer multilingue déterministe qui transforme des lexiques morphologiques en transformations exécutables compactes. Les connaissances linguistiques sont préparées hors ligne ; le chemin critique de recherche exécute un modèle compilé immuable au lieu de consulter un grand dictionnaire texte entrée par entrée.

20languesmodèles par défaut versionnés indépendamment dans l’ensemble standard évalué
6,61 Mformes de surfaceformes distinctes dans l’évaluation relationnelle sur vingt langues
99,9988 %précisionprécision pairwise déterministe agrégée sur les vingt langues
83,4 %plus compactréduction agrégée du payload lexical vers le payload compilé v7

Compiler la morphologie en primitive de recherche

L’idée originelle d’Egothor était d’apprendre les transformations depuis des preuves lexicales plutôt que d’écrire à la main un programme de stemming distinct pour chaque langue. Radixor complète ce modèle avec une sémantique de réduction explicite, des structures runtime immuables, une persistance binaire versionnée, une gestion déterministe de l’ambiguïté et des runtimes Java/Python interopérables.

Lexique morphologiqueformes attestées et formes canoniques Induction de patchséditions exécutables à coût minimal Trie fréquentielpreuves et alternatives Réductionpartage sémantique et contraction Modèle compilélookup runtime immuable

Un patch n’est pas une réponse finale stockée. C’est une instruction qui transforme une forme d’entrée en représentation canonique. Les connaissances issues de nombreuses familles lexicales peuvent ainsi partager de la structure, et le compilateur peut généraliser des transformations compatibles au-delà d’une simple table mot→sortie.

Un moteur, de nombreuses langues

Le runtime est indépendant de la langue. Les connaissances linguistiques entrent via des données de modèle versionnées : ajouter ou améliorer une langue devient principalement un problème de compilation de modèle, pas un nouvel algorithme source.

L’ambiguïté est conservée

Le même modèle peut exposer un résultat préféré ou tous les candidats localement soutenus dans un ordre déterministe. Le système de recherche en aval décide combien d’ambiguïté il souhaite activer.

Complexité à la compilation, runtime simple

Induction, réduction et validation ont lieu hors ligne. En production, le lookup traverse le modèle gelé et applique une commande de patch compilée au token.

Les artefacts de modèle sont de premier ordre

Les modèles linguistiques sont des artefacts de déploiement versionnés indépendamment et vérifiables en intégrité, pas des ressources cachées dans un exécutable unique.

Java et Python natif

Le projet fournit une intégration Java et un runtime natif Python/Rust qui consomment le même concept de modèle compilé versionné.

Extension contrôlée

Un modèle Java compilé peut être rouvert via un builder, enrichi par des connaissances spécifiques au domaine, reconstruit, testé puis déployé comme nouvel artefact au lieu d’être muté en production.

Ce qui a réellement été mesuré

L’étude 2026 sur vingt langues évalue la conflation morphologique comme une relation. Dit simplement, elle pose à très grande échelle deux questions : les formes qui appartiennent ensemble finissent-elles ensemble, et les formes sans relation restent-elles séparées ? Elle n’exige pas que chaque système écrive sa sortie comme un lemme de dictionnaire.

ÉVALUATION SUR VINGT LANGUES

Des millions de mots à des milliers de milliards de décisions de paires

L’évaluation utilise des paradigmes dérivés de UniMorph et organisés indépendamment, puis compte la relation induite par le stemming déterministe. Les faux regroupements et les regroupements manqués deviennent mesurables sans confondre l’orthographe du stem et sa qualité.

767 167groupes morphologiques
6 607 708formes distinctes
130,2 Mpaires liées
3,052 Tpaires non liées
314scénarios validés
20modèles linguistiques par défaut

Le résultat de qualité en termes pratiques

15 langues sur 20ne produisent aucune conflation faux-positive en sortie primaire déterministe.
1 538 paires faux-positivesdans le résultat agrégé, face à plus de 3,052 billions de paires non liées.
97,5952 % de rappelpour la sortie déterministe agrégée sur les vingt langues.
12 sur 20 deviennent exacteslorsque tous les candidats Radixor explicitement conservés sont considérés comme analyse de capacité.

Le résultat sensible aux candidats aide particulièrement à comprendre le design. Un stem context-free doit choisir une seule réponse même lorsque la morphologie est réellement ambiguë. Radixor conserve d’abord les preuves alternatives ; un indexeur, un query expander ou une couche contextuelle peut ensuite choisir la politique adaptée à l’application.

Ce que ces chiffres affirment — et n’affirment pas. Ils mesurent la fidélité à la ressource morphologique indépendante disponible. La même ressource sert à compiler le modèle Radixor : il s’agit donc d’une expérience end-to-end d’utilisation des connaissances, pas d’une prétention sur des familles lexicales totalement absentes de la ressource ni, à elle seule, d’une preuve d’amélioration universelle de MAP, nDCG ou d’une autre métrique de récupération.

Des modèles compacts plutôt qu’une consultation live du dictionnaire

Les lexiques sources sont précieux parce qu’ils contiennent de la connaissance morphologique savante ; ils n’ont pas besoin de rester la représentation runtime. Radixor distille ces connaissances en programmes de patchs et en trie réduit.

REPRÉSENTATION COMPILÉE

99,92 MB de connaissances lexicales deviennent 16,55 MB de données de modèle compilées

Mesure sur les payloads décompressés, sans wrappers GZip externes ni métadonnées de package. Sur les vingt modèles, les streams v7 compilés utilisent 2,50 octets par forme évaluée contre 15,12 octets dans le payload source.

6,04× ratio source/modèle agrégé · 83,4 % de réduction en octets

Une enveloppe visible connaissance–qualité–coût

Une expérience supplémentaire en anglais compile volontairement des modèles depuis des fractions déterministes de plus en plus petites des lignes lexicales disponibles, puis les évalue sur la ressource complète. L’objectif n’est pas de trouver une taille « magique » de dictionnaire, mais de montrer ce qui est perdu lorsque l’on retire de la connaissance.

Lignes du dictionnaire utiliséesExactitude · toutes formesExactitude · formes modifiéesRuntime formes modifiées
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

La latence absolue dépend de la machine et du workload. La courbe sert surtout d’illustration d’ingénierie : retirer de la connaissance lexicale affecte surtout les formes qui nécessitent une transformation, tandis que le runtime change plus modestement et pas de façon strictement monotone.

Présentation de la performance sur ce site. Les chiffres runtime Radixor sont présentés comme mesures absolues documentées, avec leur contexte de workload ou de qualité. Les anciens ratios headline contre Porter/Snowball ne sont volontairement pas utilisés ici : le design des benchmarks a évolué et les ratios inter-implémentations sont trop faciles à surinterpréter lorsque le mix de tokens et le chemin mesuré diffèrent.

Vingt langues par défaut

Un passage visuel dans l’ensemble standard rend la diversité linguistique plus facile à absorber qu’une simple liste séparée par des virgules.

🇨🇿
Tchèquecs · modèle par défaut
🇩🇰
Danoisda · modèle par défaut
🇳🇱
Néerlandaisnl · modèle par défaut
🇬🇧 🇺🇸
Anglaisen · base lexicale US/UK
🇫🇮
Finnoisfi · modèle par défaut
🇫🇷
Françaisfr · modèle par défaut
🇩🇪
Allemandde · modèle par défaut
🇮🇱
Hébreuhe · modèle par défaut
🇭🇺
Hongroishu · modèle par défaut
🇮🇹
Italienit · modèle par défaut
🇳🇴
Norvégien bokmålnb · modèle par défaut
🇳🇴
Norvégien nynorsknn · modèle par défaut
🇮🇷
Persanfa · modèle par défaut
🇵🇱
Polonaispl · modèle par défaut
🇵🇹
Portugaispt · modèle par défaut
🇷🇺
Russeru · modèle par défaut
🇪🇸
Espagnoles · modèle par défaut
🇸🇪
Suédoissv · modèle par défaut
🇺🇦
Ukrainienuk · modèle par défaut
YI
Yiddishbadge de langue plutôt qu’un drapeau d’État

Les drapeaux sont utilisés lorsqu’ils facilitent l’orientation. Lorsqu’un drapeau d’État souverain serait trompeur, un badge de langue est utilisé à la place.

Lignée de recherche et reproductibilité

Radixor est l’aboutissement contemporain d’une ligne de recherche commencée avec Egothor en 2001 : inférer de petits programmes d’édition mot→stem à partir d’exemples lexicaux, les organiser dans un trie puis exécuter le modèle résultant dans un système de recherche. Le travail moderne ajoute réduction sémantique explicite, contraction de sous-arbres uniformes, représentations compilées immuables, alternatives classées par preuve, provenance des modèles, interopérabilité Java/native et artefacts d’évaluation de niveau publication.

L’évaluation est conçue pour être auditable. Identifiants de modèles et hashes de descriptors sont enregistrés avec les lignes de résultats ; le snapshot qualité contient les comptes bruts de confusion et les métriques dérivées ; tableaux et figures générés peuvent être reconstruits à partir des données machine-readable au lieu d’être transcrits manuellement.

Ressources du projet