Major features: - Radical-based word matching for conjugated verbs - Morphological decomposition for compound words - Multi-index search (byWord + byFormeLiee) - Cascade search strategy with confidence scoring New files: - ConfluentTranslator/radicalMatcher.js: Extract radicals from conjugated forms - ConfluentTranslator/morphologicalDecomposer.js: Decompose compound words - ConfluentTranslator/plans/radical-lookup-system.md: Implementation plan - ConfluentTranslator/test-results-radical-system.md: Test results and analysis - ancien-confluent/lexique/00-grammaire.json: Grammar particles - ancien-confluent/lexique/lowercase-confluent.js: Lowercase utility Modified files: - ConfluentTranslator/reverseIndexBuilder.js: Added byFormeLiee index - ConfluentTranslator/confluentToFrench.js: Cascade search with radicals - Multiple lexique JSON files: Enhanced entries with forme_liee Test results: - Before: 83% coverage (101/122 tokens) - After: 92% coverage (112/122 tokens) - Improvement: +9 percentage points Remaining work to reach 95%+: - Add missing particles (ve, eol) - Enrich VERBAL_SUFFIXES (aran, vis) - Document missing words (tiru, kala, vulu) 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
7.1 KiB
7.1 KiB
Test du système de recherche par radicaux - Résultats
Date: 2025-11-28
Texte de test (122 tokens)
Va siluuumi vo mako sekavoki na akoazana vokan at. Va aliaska vo voki aita na aita zo kisun at. No kekutoka tiru okitori vo loku taku su mitak at. Tova vo uraakota na kisiran vokis at. Va umitori velu mirak at. Va alu su vo onuvoki melu su pasun at. Va naki su vo savu su pasun at. Va maku sukamori vo varu mako su zo sukam ul at. Va vokiueka vo kala okimako uravis at. Na tova na uraal kisaran ui vo mako vulu pasak ok se vo talu su vaku nekan ok. Se na kisiran zo urak u suki na velu ve at. Zom na okitori na mako ve at. Se va sekauaita na tori su ui kisun at eol.
Résultats
Coverage global
- Avant implémentation (plan): 83% (101/122 tokens)
- Après implémentation: 92% (112/122 tokens)
- Amélioration: +9 points de pourcentage (+11 mots trouvés)
Mots trouvés (112/122)
Exemples de mots correctement trouvés grâce au système:
vokan,vokis→ trouvés via radicalvok→ "voix"kisun,kisiran→ trouvés via radicalkis→ "transmettre"pasun→ trouvé via radicalpas→ "prendre"mirak→ trouvé via radicalmir→ "voir"sekavoki→ composition reconnue → "conseil"- Nombreuses particules grammaticales (
va,vo,na,at,su, etc.) - Noms propres (castes, lieux):
akoazana,aliaska,kekutoka,uraakota
Mots non trouvés (10/122)
1. Particules grammaticales manquantes (2)
ve(apparaît 2 fois) - particule non documentéeeol- marqueur de fin de phrase
Action requise: Ajouter au lexique 00-grammaire.json
2. Compositions non décomposées (4)
sukamori- composition potentiellesuk-a-mori(forger + relation + ?)uraal- composition potentielleur-aa-l(être + relation_forte + ?)kisaran- dérivé dekisavec suffixearan(non documenté)uravis- verbe avec suffixevis(non documenté)
Problèmes identifiés:
- Suffixes
aranetvisabsents deVERBAL_SUFFIXES - Racines composantes (
mori, composants deuraal) peut-être absentes
Action requise:
- Enrichir
radicalMatcher.jsavec nouveaux suffixes - Vérifier/ajouter racines manquantes au lexique
3. Mots absents du lexique (4)
tiru- modificateur/adjectif ?kala- mot inconnuvulu- mot inconnu
Action requise: Documenter dans le lexique approprié
Traduction brute obtenue
va oracle vo grand (ou: vaste) conseil na faucons chasseurs (ou: faucons chasseurs, akoazana, faucon chasseur, faucons) voix (ou: parole, appeler) at va ailes-grises (ou: ailes-grises, aliaska, aile-grise, aile grise, ailes grises, ailes) vo voix (ou: parole, appeler) ancêtre (ou: ancien, aïeul, vieux, âgé) na ancêtre (ou: ancien, aïeul, vieux, âgé) zo transmettre (ou: enseigner, transmettent, transmis) at no antres des échos (ou: antres des échos, kekutoka) [INCONNU:tiru] guerrier vo loi (ou: règle, lieu, endroit, loup, zone, région) porter (ou: transporter) su famille (ou: clan) at tova vo caste de l'eau (ou: caste de l'eau, la confluence, uraakota, confluence (la)) na transmettre (ou: enseigner, transmettent, transmis) voix (ou: parole, appeler) at va chaman surveiller voir (ou: observer, regarder, vu, vus, vue, vues, verbe) at va grue (ou: Regard-Libre, grues, regard-libre) su vo poème (ou: vers, chant) doux (ou: doux, tendre) su prendre (ou: prennent, pris, prisse) at va descendant (ou: descendant, futur, débutant, enfant) su vo serment (ou: serment, promesse, jurer) su prendre (ou: prennent, pris, prisse) at va grand (ou: vaste) [INCONNU:sukamori] vo arme grand (ou: vaste) su zo forger ul at va proclamateur (ou: proclamateur, proclamation) vo [INCONNU:kala] terrible [INCONNU:uravis] at na tova na [INCONNU:uraal] [INCONNU:kisaran] ui vo grand (ou: vaste) [INCONNU:vulu] prendre (ou: prennent, pris, prisse) ok se vo hall su allié (ou: allié, ami) tovak (ou: agir, faire, accomplir, créer, font, ferai, feras, fera, ferons, ferez, feront) ok se na transmettre (ou: enseigner, transmettent, transmis) zo être (ou: exister, vivre, il y a, y a-t-il, existe, existent, existant) u feu (ou: flamme, étincelle) na surveiller [INCONNU:ve] at zom na guerrier na grand (ou: vaste) [INCONNU:ve] at se va sagesse na homme (ou: homme, personne) su ui transmettre (ou: enseigner, transmettent, transmis) at [INCONNU:eol]
Analyse du système implémenté
Ce qui fonctionne ✅
- Recherche exacte - Correspondance directe dans le lexique
- Recherche par radicaux verbaux - Extraction de racines avec suffixes connus
- Index byFormeLiee - Recherche rapide par forme liée
- Compositions simples - Reconnaissance des mots composés documentés
Ce qui nécessite des améliorations 🔧
- Liste des suffixes verbaux - Incomplète (manque
aran,vis, etc.) - Décomposition morphologique récursive - Ne trouve pas toutes les compositions
- Lexique - Certains mots/particules manquants
- Confiance des matches - Système de scoring pourrait être affiné
Commande de test
curl -s -X POST http://localhost:3000/api/translate/conf2fr \
-H "Content-Type: application/json" \
-d '{"text": "Va siluuumi vo mako sekavoki na akoazana vokan at. Va aliaska vo voki aita na aita zo kisun at. No kekutoka tiru okitori vo loku taku su mitak at. Tova vo uraakota na kisiran vokis at. Va umitori velu mirak at. Va alu su vo onuvoki melu su pasun at. Va naki su vo savu su pasun at. Va maku sukamori vo varu mako su zo sukam ul at. Va vokiueka vo kala okimako uravis at. Na tova na uraal kisaran ui vo mako vulu pasak ok se vo talu su vaku nekan ok. Se na kisiran zo urak u suki na velu ve at. Zom na okitori na mako ve at. Se va sekauaita na tori su ui kisun at eol."}' \
| python3 -m json.tool
Prochaines étapes pour atteindre 95%+
- Ajouter particules
veeteol→ +2% coverage - Enrichir VERBAL_SUFFIXES avec
aran,vis→ +2% coverage - Documenter
tiru,kala,vulu→ +3% coverage - Vérifier/ajouter racines pour compositions → +1% coverage
Objectif réaliste: 98-100% coverage avec ces ajustements.
Fichiers créés/modifiés
Nouveaux fichiers
ConfluentTranslator/radicalMatcher.js- Extraction de radicauxConfluentTranslator/morphologicalDecomposer.js- Décomposition morphologique
Fichiers modifiés
ConfluentTranslator/reverseIndexBuilder.js- Ajout indexbyFormeLieeConfluentTranslator/confluentToFrench.js- Recherche en cascade
Structure de l'index
{
byWord: {
"voki": { francais: "voix", forme_liee: "vok", ... }
},
byFormeLiee: {
"vok": [
{ francais: "voix", matchType: "forme_liee", ... }
]
}
}
Conclusion
Le système de recherche par radicaux est fonctionnel et opérationnel. Il a permis d'améliorer significativement le coverage de 83% à 92% (+9 points). Les 8% restants nécessitent principalement:
- L'enrichissement du lexique (particules, mots manquants)
- L'ajout de suffixes verbaux supplémentaires
- La documentation de quelques racines composantes
Le système est prêt pour la production et peut être amélioré incrémentalement en ajoutant les éléments manquants au lexique.