confluent/ConfluentTranslator/test-pronouns.js
StillHammer 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

52 lines
1.5 KiB
JavaScript

const { loadAllLexiques } = require('./lexiqueLoader');
const path = require('path');
const baseDir = path.join(__dirname, '..');
const lexiques = loadAllLexiques(baseDir);
console.log('\n=== RECHERCHE PRONOMS PERSONNELS ===\n');
const pronouns = ['je', 'tu', 'il', 'elle', 'nous', 'vous', 'ils', 'elles', 'on'];
pronouns.forEach(pronoun => {
const found = [];
for (const [key, entry] of Object.entries(lexiques.ancien.dictionnaire)) {
if (key.toLowerCase() === pronoun || entry.mot_francais?.toLowerCase() === pronoun) {
found.push({
key,
mot: entry.mot_francais,
traductions: entry.traductions
});
}
}
if (found.length > 0) {
console.log(`${pronoun}:`);
found.forEach(f => {
console.log(` - ${f.traductions?.map(t => t.confluent).join(', ') || 'N/A'}`);
console.log(` Type: ${f.traductions?.map(t => t.type).join(', ') || 'N/A'}`);
});
} else {
console.log(`${pronoun}: NON TROUVÉ`);
}
console.log('');
});
console.log('\n=== RECHERCHE TOUS LES MOTS CONTENANT "tanu" ou "tasu" ===\n');
for (const [key, entry] of Object.entries(lexiques.ancien.dictionnaire)) {
const hasTarget = entry.traductions?.some(t =>
t.confluent?.includes('tanu') || t.confluent?.includes('tasu')
);
if (hasTarget) {
console.log(`"${entry.mot_francais || key}":`);
entry.traductions.forEach(t => {
if (t.confluent?.includes('tanu') || t.confluent?.includes('tasu')) {
console.log(`${t.confluent} (${t.type})`);
}
});
}
}