Commit Graph

17 Commits

Author SHA1 Message Date
f05805e705 Ajout traduction Confluent→Français + suppression choix IA
Modifications de l'interface HTML:
- Ajout onglet "Confluent → Français" avec traducteur brut
- Appel API vers /api/translate/conf2fr
- Renommage onglet "Traduction" → "Français → Confluent"
- Suppression section "Configuration" (provider/model)
- Simplification: seul le choix langue cible reste
- Nettoyage code JS (loadConfig, saveConfig simplifiés)

Interface plus simple et focalisée sur les fonctionnalités essentielles.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 12:09:27 +08:00
5c03390aaf Ajout système raffinement LLM CF→FR + extension lexique nourriture
Nouvelles fonctionnalités:
- Endpoint /api/translate/conf2fr/llm avec raffinement LLM
- Prompt cf2fr-refinement.txt expliquant structure Confluent
- Test test-llm-refinement.bat pour validation

Améliorations lexique:
- Ajout lexique 23-nourriture.json (vocabulaire alimentaire)
- Ajout lexique 24-habitat.json (habitat et construction)
- Correction "generation" → noviuaita (nouvelles générations)
- Ajout "cuisiner" → mukunekas (composition muk-u-nekas)
- Fix Ariaska → Aliaska dans prompts

Tests et outils:
- Tests de coverage et reverse translation
- Convertisseur de nombres
- Debug lemmatisation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 11:40:30 +08:00
e93c2f485b Analyse détaillée des mots problématiques du texte de test
Investigation complète des 10 mots non trouvés (8 après ajout ve/eol):

Découvertes:
- tiru:  Légitime (nombre = 3 dans 22-nombres.json)
- kisaran vs kisiran: ⚠️ Deux formes dans le texte, probable typo
- uravis:  Suffixe 'vis' inexistant dans grammaire
- sukamori:  Racine 'mori' totalement absente du lexique
- uraal:  Composition invalide (pas de racine 'al')
- kala:  Totalement absent
- vulu:  Totalement absent

Recommandations:
- Option A: Corriger le texte de test
- Option B: Documenter les nouveaux mots si légitimes
- Option C: Hybride (ajouter tiru, corriger kisaran, valider reste)

Document: ConfluentTranslator/ANALYSE_MOTS_PROBLEMATIQUES.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 07:47:11 +08:00
889cd24319 Amélioration système de traduction: normalisation, lexique et couverture
Corrections majeures:
- Normalisation ligatures (œ→oe, æ→ae) pour éviter fragmentation tokens
- Normalisation complète lexique (clés + synonymes) sans accents
- Correction faux positif "dansent"→"dans" (longueur radical ≥5)

Enrichissement lexique (+212 entrées):
- Verbes: battre (pulum), penser/réfléchir (umis), voler (aliuk)
- Mots grammaticaux: nous (tanu), possessifs (sa/mon→na), démonstratifs (ce→ko)
- Temporels: hier/avant (at), demain/après (ok), autour (no)
- Formes conjuguées ajoutées pour manger, battre, penser

Améliorations techniques:
- Lemmatisation verbale améliorée (radical ≥5 lettres)
- Système normalizeText() dans lexiqueLoader.js
- Liaisons sacrées pour compositions culturelles

Note: Problème connu de lemmatisation à investiguer (formes fléchies non trouvées)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 22:37:31 +08:00
fd3e286bb1 Amélioration couverture lexicale: 36.5% → 54.7% (long texts)
## Lexique enrichi (871 → 940 entrées)

### Verbes ajoutés avec conjugaisons complètes
- planer → aliuk (CVCVC)
- résonner → kekak (CVCVC)
- rejoindre → kotan (CVCVC) - conjugaisons irrégulières corrigées

### Mots grammaticaux ajoutés (00-grammaire.json)
- qui/que/dont → ki (pronom relatif)
- leurs/leur → nasu (possessif 3p pluriel)
- ces/ceux/celles → tovasu (démonstratif pluriel)
- chaque/chacun → eka (quantificateur)
- depuis → ve (particule origine temporelle)
- ils/elles → tasu (pronom personnel 3p)
- et/mais → lo (ajout synonymes)
- dessus/au-dessus → ze (particule spatiale)
- tous/toutes/tout → susu (quantificateur)

### Noms et concepts ajoutés
- antre/caverne/grotte → keku (04-lieux.json)
- tradition/coutume → aitatoku (13-rituels.json)
- artisan → nekatoku (15-roles-titres.json)

### Adjectifs: formes féminines/plurielles
- gris → grise, gris (pluriel) (18-couleurs.json)
- ancien → anciens, ancienne, anciennes, ancêtre, ancêtres (01-racines-sacrees.json)
- sacré → sacrés, sacrée, sacrées (01-racines-sacrees.json)

## Corrections
- rejoindre: conjugaisons irrégulières corrigées (rejoignent vs rejoindent)

## Tests
- Ajout test-long-coverage.js pour validation exhaustive
- 4 textes longs testés
- Couverture globale: 54.7% (81/148 mots de contenu)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 18:02:15 +08:00
ead5e78111 Gestion adverbes -ment + formes adjectifs + extension lexique personnes
## 1. Lemmatisation adverbes en -ment (contextAnalyzer.js)

Ajout gestion automatique des adverbes français :
- lentement → lent
- rapidement → rapide
- prudemment → prudent (emment → ent)
- couramment → courant (amment → ant)

Les adverbes sont maintenant traités comme leurs adjectifs de base.

## 2. Formes fléchies adjectifs (11 adjectifs enrichis)

Script automatique générant féminin/pluriel pour tous les adjectifs:
- grand → grande, grands, grandes
- petit → petite, petits, petites
- nouveau → nouvelle, nouveaux, nouvelles
- vieux → vieille, vieilles
- lumineux → lumineuse, lumineuses
- sombre, pale, translucide, patine, eclat → pluriels

## 3. Nouveaux adjectifs (02-racines-standards.json)

- **lent** → telu (+ lente, lents, lentes, lentement)
- **rapide** → hayo (+ rapides, rapidement, vif/vive)

## 4. Extension lexique personnes (21-famille.json)

Ajout vocabulaire genré conforme phonologie Confluent:
- **homme** → toko (+ hommes)
- **femme** → nako (+ femmes)
- **garçon** → toku (+ garçons) - même racine tok que homme
- **fille** → naku (+ filles) - même racine nak que femme

Cohérence sémantique : fille/garçon partagent racines avec femme/homme.

## Résultats tests

Coverage améliorée sur phrases test :
- "Les enfants des échos observent la grande fresque" : **100%** (5/5)
- "Le petit enfant marche lentement vers la grande maison" : **100%** (7/7)
- "Les femmes chantent et dansent sous la lune" : **100%** (5/5)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 17:09:05 +08:00
dc6affc7fd Amélioration lemmatisation FR + normalisation accents + extension lexique
## Fixes

### 1. Lemmatisation verbes français (contextAnalyzer.js)
- Fix: 'ent' → 'er' (observent → observer, marchent → marcher)
- Add: règles 'ient' → 'ir' (voient → voir)
- Add: règles 'oient' → 'oir' (alternative)
- Résultat: reconnaissance conjugaisons françaises améliorée

## Ajouts lexique

### 2. Verbe "marcher" (06-actions.json)
- Confluent: tekam (racine: teka, forme liée: tek)
- Conjugaisons: marche, marches, marchons, marchent, etc.

### 3. Prépositions → Particules (00-grammaire.json)
- "dans/sur/sous" → no (localisation spatiale)
- "avec" → vi (instrument/accompagnement)
- "pour/contre" → se (but/bénéficiaire)
- "sans" → zo (négation)
- "pendant" → at (passé vécu)

### 4. Composant "echos" (03-castes.json)
- Extraction racine: "échos" → keko
- Permet reconnaissance mot seul (pas seulement dans "Enfants des Échos")

## Refactor majeur

### 5. Normalisation accents (23 fichiers JSON)
- Suppression accents de TOUTES les clés de dictionnaire
- Cohérence avec normalisation NFD côté serveur
- Fichiers normalisés:
  * 00-grammaire.json à 22-nombres.json (tous les lexiques)

## Résultats

Couverture améliorée sur phrases test:
- "Les enfants des échos observent la grande fresque": 40% → 80% (4/5)
- "Le soleil brille sur les montagnes pendant l'été": 33% → 67% (4/6)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 16:43:34 +08:00
72616f7802 Ajout particules ve/eol + documentation incohérences linguistiques
- Ajout de 've' (origine) et 'eol' (habituel) dans 00-grammaire.json
- Documentation détaillée des incohérences dans test-results-radical-system.md
- Alerte sur suffixes 'aran' et 'vis' non documentés dans grammaire officielle
- Révision objectifs coverage: 94% réaliste après ajout ve/eol
- Recommandation: valider texte de test avant ajout de nouveaux suffixes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:03:36 +08:00
e8d17ab0d5 Implement radical lookup system for Confluent translator (83% → 92% coverage)
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>
2025-11-28 22:24:56 +08:00
35e7b6dd9d Système émotionnel complet - Métaphores corporelles
# Vocabulaire Émotionnel COMPLET
- Documentation complète: docs/EMOTIONS_METAPHORES.md (400+ lignes)
  * 20+ émotions basées sur métaphores corporelles
  * 4 racines corporelles: kori (cœur), sili (regard), kina (sang), puli (souffle)
  * Métaphores simples pour usage quotidien (ex: kori sora = joyeux)
  * Compositions formelles avec liaisons sacrées (ex: koriasora)

# Émotions Documentées
Positives:
- Joie = kori sora / koriasora (cœur-soleil)
- Amour = koriakota (cœur-union)
- Espoir = koriaora (cœur-aurore)
- Sérénité = koriaura (cœur-eau)
- Confiance = koriaveri (cœur-vérité)
- Fierté = koriamako (cœur-grandeur)
- Gratitude = koriakita (cœur-don)

Négatives:
- Tristesse = kori taku / koriataku (cœur-sombre)
- Peur = sili taku / siliataku (regard-obscur)
- Colère = kina suki / koriasuki (sang-feu)
- Haine = koriozoka (cœur-contre-ennemi)
- Angoisse = korioavuku (cœur-vers-gouffre)
- Désespoir = korizoora (cœur-sans-aurore)
- Honte = koriataku (cœur-ombre)

# Prompt Système Enrichi
- ConfluentTranslator/prompts/ancien-system.txt
  * Section "ÉMOTIONS (MÉTAPHORES CORPORELLES)" ajoutée
  * 6 métaphores simples documentées
  * 7 compositions formelles avec exemples
  * Règles de construction avec liaisons

# Principe Culturel
Les Siliaska n'ont PAS de mots abstraits pour les émotions.
Ils utilisent des métaphores corporelles vivantes:
- Le cœur ressent (kori)
- Le regard révèle (sili)
- Le sang brûle (kina)
- Le souffle calme (puli)

# Résultats
 3/3 systèmes essentiels COMPLÉTÉS:
  1.  Nombres (Base 12 + Preprocessor)
  2.  Adjectifs (Double système)
  3.  Émotions (Métaphores corporelles)

 Langue Confluent COMPLÈTE pour JDR
 Documentation totale: 2000+ lignes
 Système culturellement cohérent
 TODO mis à jour: Émotions  FAIT

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 14:06:37 +08:00
19197df56b Système de nombres Base 12 + Number Preprocessor COMPLET
# Système de Numération Base 12
- Lexique complet: ancien-confluent/lexique/22-nombres.json
  * 13 chiffres de base (0-12: zaro, iko, diku... tolu)
  * Puissances de 12 (tolusa=144, toluaa=1728, tolumako=20736)
  * Construction positionnelle (ex: 25 = diku tolu iko)
  * Quantificateurs vagues (tiru tiru, tolu tolu, mako, pisu)

- Documentation culturelle: docs/SYSTEME_NUMERIQUE_BASE12.md (600+ lignes)
  * Ancrage culturel profond (12 lunes/an, 12 phalanges, 12 clans originels)
  * Comptage corporel naturel (jusqu'à 60)
  * Avantages mathématiques (+50% plus rapide, fractions exactes)
  * Calendrier 12 lunaisons, expressions idiomatiques

- Référence rapide: docs/REFERENCE_RAPIDE_NOMBRES.md
  * Tables de conversion Base 10 ↔ Base 12
  * Formule rapide de conversion
  * Exemples d'usage commercial/architectural

# Number Preprocessor (Innovation Majeure)
- Module numberPreprocessor.js
  * Détecte automatiquement les nombres dans le texte français
  * Convertit Base 10 → Base 12 → Vocabulaire Confluent
  * Supporte: chiffres arabes, lettres françaises, compositions complexes
  * Anti-overlap intelligent (évite doublons comme "vingt-cinq" + "vingt" + "cinq")

- Intégration au système de prompts
  * promptBuilder.js modifié pour appeler le preprocessor
  * server.js mis à jour (passe texte original à buildContextualPrompt)
  * Section "NOMBRES DÉTECTÉS" ajoutée dynamiquement au prompt
  * Fournit traductions EXACTES au LLM (zéro erreur de calcul)

- Tests complets
  * test-number-preprocessor.js: tests unitaires ( 100% OK)
  * Détection: 98% précision, 0 faux positifs
  * Conversion base 12: 100% exactitude
  * Vocabulaire Confluent: généré correctement

# Prompt Système Enrichi
- ConfluentTranslator/prompts/ancien-system.txt
  * Section "SYSTÈME DE NOMBRES (BASE 12)" ajoutée
  * Chiffres 0-12 documentés
  * Puissances et construction expliquées
  * Exemple 4 avec traduction nombres

# Résultats
 Système base 12 culturellement cohérent
 Preprocessing automatique des nombres
 Traductions exactes garanties (pas d'erreur LLM)
 Performance: détection instantanée, conversion précise
 Documentation complète (900+ lignes)
 TODO mis à jour: Nombres  FAIT

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 13:58:04 +08:00
987e395b1a Implémentation système de racines françaises pour matching verbes conjugués
**Code** :
- Ajout matching racine_fr dans contextAnalyzer.js (score 0.75)
- Nouvelle condition : word.startsWith(entry.racine_fr.toLowerCase())

**Lexique** :
- Ajout champ racine_fr pour 41 verbes dans 06-actions.json
- 40 verbes avec racines optimales, 1 null (aller - trop irrégulier)
- Ajout 16 verbes avec formes exceptionnelles dans synonymes_fr
- Exemples : "voi" (voir), "donn" (donner), "compar" (comparer)

**Documentation** :
- Nouveau fichier docs/RACINES_VERBES_FRANCAIS.md
- Analyse complète des 43 verbes du lexique
- Distribution : 39.5% racines 4L, 23.3% 3L, 20.9% 5L
- 79% verbes parfaitement réguliers

**Tests validés** :
- "mangé" → trouve "manger" via racine "mang" (score 0.75) 
- "pris" → trouve "prendre" via synonymes_fr (score 0.9) 
- "donnait" → trouve "donner" via lemma (score 0.95) 
- "vu" → trouve "voir" via synonymes_fr (score 0.9) 

Cascade matching finale : exact(1.0) > lemma(0.95) > synonyme(0.9) >
synonyme-lemma(0.85) > racine-fr(0.75)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 13:04:51 +08:00
bbd8d5f9c9 Amélioration majeure du système de traduction Confluent
- Prompt système strict avec Chain-of-Thought obligatoire
- Retrait des racines en dur du prompt (context skimming pur)
- Amélioration logique fallback (activation si <50% couverture)
- Ajout lexique : loup, frère, manger + fichier famille
- Debug endpoint /api/debug/prompt pour inspection
- Documentation complète système racines françaises

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 12:18:55 +08:00
894645e640 Implémentation du système de prompt contextuel intelligent
Nouveau système qui analyse le texte français et génère des prompts optimisés en incluant uniquement le vocabulaire pertinent du lexique, réduisant drastiquement le nombre de tokens.

# Backend

- contextAnalyzer.js : Analyse contextuelle avec lemmatisation française
  - Tokenization avec normalisation des accents
  - Recherche intelligente (correspondances exactes, synonymes, formes conjuguées)
  - Calcul dynamique du nombre max d'entrées selon longueur (30/50/100)
  - Expansion sémantique niveau 1 (modulaire pour futur)
  - Fallback racines (309 racines si mots inconnus)

- promptBuilder.js : Génération de prompts optimisés
  - Templates de base sans lexique massif
  - Injection ciblée du vocabulaire pertinent
  - Formatage par type (racines sacrées, standards, verbes)
  - Support fallback avec toutes les racines

- server.js : Intégration API avec structure 3 layers
  - Layer 1: Traduction pure
  - Layer 2: Métadonnées contextuelles (mots trouvés, optimisation)
  - Layer 3: Explications du LLM (décomposition, notes)

- lexiqueLoader.js : Fusion du lexique simple data/lexique-francais-confluent.json
  - Charge 636 entrées (516 ancien + 120 merged)

# Frontend

- index.html : Interface 3 layers collapsibles
  - Layer 1 (toujours visible) : Traduction avec mise en valeur
  - Layer 2 (collapsible) : Contexte lexical + statistiques d'optimisation
  - Layer 3 (collapsible) : Explications linguistiques du LLM
  - Design dark complet (fix fond blanc + listes déroulantes)
  - Animations smooth pour expand/collapse

# Documentation

- docs/PROMPT_CONTEXTUEL_INTELLIGENT.md : Plan complet validé
  - Architecture technique détaillée
  - Cas d'usage et décisions de design
  - Métriques de succès

# Tests

- Tests exhaustifs avec validation exigeante
- Économie moyenne : 81% de tokens
- Économie minimale : 52% (même avec fallback)
- Context skimming opérationnel et validé

# Corrections

- ancien-confluent/lexique/02-racines-standards.json : Fix erreur JSON ligne 527

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 11:08:45 +08:00
feb0648512 Ajout formules rituelles et TODO finalisation langue
- Créé 19 formules rituelles en Confluent (salutations, rituels, bénédictions, mémoire, transmission, deuil, union)
- Contrainte: mots max 6 lettres pour mémorisation
- Simplicité graduée: salutations simples (1-2 mots), deuil complexe (6-7 mots)
- Ajout lexique complet Ancien Confluent en annexe (racines, verbes, conjugateurs, particules, liaisons)
- Créé TODO.md avec tâches finales: nombres limités, adjectifs, émotions (métaphores corporelles)
- Propositions relatives en bonus optionnel pour authenticité historique

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 07:18:01 +08:00
6fe6c7867e Ajout onglet Lexique + structure JSON modulaire
- Ajout onglet "Lexique" dans ConfluentTranslator
  - Recherche en temps réel à chaque lettre tapée
  - Sélecteur Proto/Ancien Confluent
  - Affichage français → confluent avec compteur
  - Endpoint /lexique dans server.js

- Structure modulaire lexique-ancien/ (21 fichiers)
  - Format ultra-flexible : normalisation FR, multi-traductions, métadonnées
  - 20 domaines thématiques (castes, lieux, émotions, actions...)
  - ~500-600 mots à remplir (listés en commentaire _mots_a_gerer)

- Structure modulaire lexique-proto/ (6 fichiers)
  - Racines monosyllabiques primitives
  - ~150-200 racines à remplir
  - README explicatif des différences Proto/Ancien

Format JSON supporte :
- Synonymes FR (chevaux → cheval)
- Plusieurs traductions CF par mot FR
- Compositions avec racines + sens littéral
- Évolution Proto → Ancien

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 12:52:07 +08:00
8ff322b85a Ajout Proto-Confluent + ConfluentTranslator
- Documentation complète Proto-Confluent (langue primitive)
- Traducteur web FR → Proto/Ancien Confluent
- Interface avec config persistante (Anthropic/OpenAI)
- Prompts système pour traduction LLM

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 11:54:38 +08:00