Côté frontend : timeout corrections 30→60s (aligné avec backend 55s), FTD-23 documentée, TAXONOMIE_ERREURS.md ajouté. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
309 lines
12 KiB
Markdown
309 lines
12 KiB
Markdown
# TAXONOMIE_ERREURS.md — Expria V2
|
|
|
|
> **Document de référence — Version 1.0**
|
|
> Taxonomie fermée des erreurs détectables en expression écrite TCF Canada.
|
|
> Utilisée par le prompt maître pour nommer les erreurs de façon stable et agrégeable.
|
|
> Mise à jour après observation de nouveaux patterns en production.
|
|
>
|
|
> **Principe :** DeepSeek doit obligatoirement choisir un code dans cette liste pour chaque erreur identifiée.
|
|
> Si l'erreur ne correspond à aucun code existant, DeepSeek utilise le code `autre` du critère concerné
|
|
> et fournit une description textuelle. Ces occurrences sont remontées pour enrichissement de la taxonomie.
|
|
|
|
---
|
|
|
|
## Structure d'une erreur dans le rapport
|
|
|
|
Chaque erreur retournée par le prompt maître doit respecter ce format :
|
|
|
|
```json
|
|
{
|
|
"code": "virgule_exces",
|
|
"critere": "competence_grammaticale",
|
|
"description": "description libre si code=autre, null sinon"
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Critère 1 — Adéquation à la tâche et au registre
|
|
|
|
`critere: "adequation_tache"`
|
|
|
|
### Contenu
|
|
| Code | Description |
|
|
|---|---|
|
|
| `hors_sujet_total` | La production ne répond pas à la consigne |
|
|
| `hors_sujet_partiel` | Un ou plusieurs points de la consigne sont ignorés |
|
|
| `information_manquante` | Une information demandée explicitement dans la consigne est absente |
|
|
| `enonce_copie` | Le candidat recopie l'énoncé au lieu de le reformuler |
|
|
|
|
### Longueur
|
|
| Code | Description |
|
|
|---|---|
|
|
| `longueur_insuffisante` | Sous le minimum de mots requis (score plafonné automatiquement) |
|
|
| `longueur_excessive` | Au-dessus du maximum de mots requis |
|
|
|
|
### Format
|
|
| Code | Description |
|
|
|---|---|
|
|
| `format_non_respecte` | Type de texte non respecté (mail sans objet, blog sans accroche) |
|
|
| `salutation_absente` | Pas de formule d'appel |
|
|
| `cloture_absente` | Pas de formule de clôture ou de signature |
|
|
| `structure_absente` | Texte bloc sans paragraphes |
|
|
|
|
### Registre
|
|
| Code | Description |
|
|
|---|---|
|
|
| `registre_trop_formel` | Registre soutenu alors que familier requis |
|
|
| `registre_trop_familier` | Registre familier alors que formel requis |
|
|
| `abreviations_sms` | Usage de "bjr", "svp", "stp" hors contexte très informel |
|
|
| `tutoiement_inadequat` | Tutoiement quand vouvoiement requis, ou inversement |
|
|
|
|
### Non couvert
|
|
| Code | Description |
|
|
|---|---|
|
|
| `autre` | Erreur d'adéquation non couverte par la taxonomie — **description obligatoire** |
|
|
|
|
---
|
|
|
|
## Critère 2 — Cohérence et cohésion du discours
|
|
|
|
`critere: "coherence_cohesion"`
|
|
|
|
### Structure
|
|
| Code | Description |
|
|
|---|---|
|
|
| `introduction_absente` | Pas d'entrée en matière ou d'accroche |
|
|
| `conclusion_absente` | Pas de clôture ou de phrase de synthèse |
|
|
| `paragraphes_absents` | Texte bloc sans découpage en paragraphes |
|
|
| `progression_illogique` | Les idées ne s'enchaînent pas dans un ordre logique |
|
|
|
|
### Connecteurs
|
|
| Code | Description |
|
|
|---|---|
|
|
| `connecteurs_absents` | Phrases juxtaposées sans lien logique |
|
|
| `connecteurs_repetes` | Même connecteur utilisé en boucle (ex : "et" x5) |
|
|
| `connecteurs_inadequats` | Connecteur utilisé à contresens (ex : "donc" pour introduire une cause) |
|
|
| `connecteurs_insuffisants` | Connecteurs trop simples pour le niveau visé (uniquement "mais", "et", "car") |
|
|
|
|
### Cohérence thématique
|
|
| Code | Description |
|
|
|---|---|
|
|
| `idee_non_developpee` | Idée introduite puis abandonnée sans explication |
|
|
| `repetition_idee` | Même idée reformulée plusieurs fois sans apport nouveau |
|
|
| `contradiction_interne` | Deux affirmations contradictoires dans le même texte |
|
|
| `hors_propos` | Phrase ou paragraphe sans lien avec le reste du texte |
|
|
|
|
### Cohésion référentielle
|
|
| Code | Description |
|
|
|---|---|
|
|
| `pronoms_ambigus` | "il", "elle", "ils" sans antécédent clair |
|
|
| `substitution_absente` | Même mot répété au lieu d'utiliser un pronom ou un synonyme |
|
|
| `rupture_temporelle` | Mélange incohérent des temps dans le récit |
|
|
|
|
### Non couvert
|
|
| Code | Description |
|
|
|---|---|
|
|
| `autre` | Erreur de cohérence/cohésion non couverte par la taxonomie — **description obligatoire** |
|
|
|
|
---
|
|
|
|
## Critère 3 — Compétence lexicale
|
|
|
|
`critere: "competence_lexicale"`
|
|
|
|
### Étendue du vocabulaire
|
|
| Code | Description |
|
|
|---|---|
|
|
| `vocabulaire_basique` | Mots trop simples pour le niveau visé (ex : "bien" au lieu de "remarquable") |
|
|
| `vocabulaire_insuffisant` | Manque de mots pour exprimer une idée, recours à des périphrases maladroites |
|
|
| `registre_lexical_inadequat` | Mots familiers dans un contexte formel, ou inversement |
|
|
|
|
### Précision
|
|
| Code | Description |
|
|
|---|---|
|
|
| `mot_imprecis` | Mot approximatif (ex : "faire" au lieu de "effectuer", "réaliser", "accomplir") |
|
|
| `contresens_lexical` | Mot utilisé dans un sens erroné |
|
|
| `anglicisme` | Mot anglais utilisé à la place du mot français (ex : "checker" au lieu de "vérifier") |
|
|
| `calque_syntaxique` | Construction calquée sur une autre langue |
|
|
|
|
### Variété
|
|
| Code | Description |
|
|
|---|---|
|
|
| `repetition_lexicale` | Même mot répété excessivement dans le texte |
|
|
| `synonymes_absents` | Absence de variation lexicale sur un même champ sémantique |
|
|
| `expressions_figees_absentes` | Absence d'expressions idiomatiques attendues au niveau visé |
|
|
|
|
### Orthographe lexicale
|
|
| Code | Description |
|
|
|---|---|
|
|
| `faute_orthographe_courante` | Erreur sur un mot courant (ex : "apelle" au lieu de "appelle") |
|
|
| `confusion_homophones` | "sa"/"ça", "a"/"à", "ou"/"où", "ce"/"se", "on"/"ont" |
|
|
| `majuscules_incorrectes` | Majuscule absente ou mal placée |
|
|
|
|
### Non couvert
|
|
| Code | Description |
|
|
|---|---|
|
|
| `autre` | Erreur lexicale non couverte par la taxonomie — **description obligatoire** |
|
|
|
|
---
|
|
|
|
## Critère 4 — Compétence grammaticale
|
|
|
|
`critere: "competence_grammaticale"`
|
|
|
|
### Accords
|
|
| Code | Description |
|
|
|---|---|
|
|
| `accord_sujet_verbe` | "les enfants joue" au lieu de "jouent" |
|
|
| `accord_adjectif_nom` | "une révolution positif" au lieu de "positive" |
|
|
| `accord_participe_passe` | "elle est parti" au lieu de "partie" |
|
|
| `accord_determinant_nom` | "un table" au lieu de "une table" |
|
|
|
|
### Conjugaison
|
|
| Code | Description |
|
|
|---|---|
|
|
| `temps_verbal_inadequat` | Présent au lieu de passé composé, futur au lieu de conditionnel |
|
|
| `subjonctif_absent` | Indicatif utilisé là où le subjonctif est requis |
|
|
| `subjonctif_incorrect` | Subjonctif utilisé mais mal formé |
|
|
| `conditionnel_absent` | Conditionnel requis mais absent (politesse, hypothèse) |
|
|
| `concordance_temps` | Incohérence des temps dans un même passage |
|
|
|
|
### Syntaxe
|
|
| Code | Description |
|
|
|---|---|
|
|
| `phrase_incomplete` | Phrase sans verbe conjugué ou sans sujet |
|
|
| `phrase_trop_longue` | Phrase surchargée, incompréhensible |
|
|
| `ordre_mots_incorrect` | "je ne sais pas où est-il" au lieu de "où il est" |
|
|
| `subordination_absente` | Phrases simples juxtaposées là où une subordonnée est attendue |
|
|
| `subordination_incorrecte` | Connecteur de subordination mal utilisé |
|
|
|
|
### Ponctuation
|
|
| Code | Description |
|
|
|---|---|
|
|
| `virgule_exces` | Virgules à outrance qui coupent le flux naturel |
|
|
| `virgule_absence` | Absence de virgule là où elle est requise |
|
|
| `point_absent` | Phrases non délimitées, texte continu sans point |
|
|
| `ponctuation_incorrecte` | Usage erroné de ";" ":" "!" "?" |
|
|
|
|
### Prépositions
|
|
| Code | Description |
|
|
|---|---|
|
|
| `preposition_absente` | "je pense que c'est important aller" au lieu de "d'aller" |
|
|
| `preposition_incorrecte` | "je rêve à partir" au lieu de "de partir" |
|
|
| `preposition_superflue` | Préposition ajoutée inutilement |
|
|
|
|
### Morphologie
|
|
| Code | Description |
|
|
|---|---|
|
|
| `genre_incorrect` | "la problème" au lieu de "le problème" |
|
|
| `nombre_incorrect` | Pluriel absent ou mal formé |
|
|
| `negation_incomplete` | "je sais pas" au lieu de "je ne sais pas" |
|
|
|
|
### Non couvert
|
|
| Code | Description |
|
|
|---|---|
|
|
| `autre` | Erreur grammaticale non couverte par la taxonomie — **description obligatoire** |
|
|
|
|
---
|
|
|
|
## Règles d'utilisation pour DeepSeek
|
|
|
|
1. **Chaque erreur identifiée dans un rapport doit avoir un code de cette liste.**
|
|
2. **Un seul code par erreur** — choisir le plus précis.
|
|
3. **Le code `autre` est autorisé** mais exige une `description` textuelle non nulle.
|
|
4. **Les codes `autre` observés en production** sont remontés à Hermann pour décision d'intégration.
|
|
5. **La détection de patterns** (analyse multi-productions) agrège les codes — un pattern est confirmé si le même code apparaît dans ≥ 3 productions sur les 5 dernières.
|
|
|
|
---
|
|
|
|
## Procédure d'enrichissement
|
|
|
|
Quand un code `autre` revient ≥ 3 fois en production :
|
|
|
|
1. Hermann identifie le pattern dans les logs
|
|
2. Un nouveau code est proposé et validé
|
|
3. `TAXONOMIE_ERREURS.md` est mis à jour (bump de version)
|
|
4. Le prompt maître est mis à jour dans le même commit
|
|
5. Les anciennes entrées `autre` concernées sont reclassifiées si possible
|
|
|
|
---
|
|
|
|
## Index des codes (référence rapide)
|
|
|
|
| Code | Critère |
|
|
|---|---|
|
|
| `hors_sujet_total` | adequation_tache |
|
|
| `hors_sujet_partiel` | adequation_tache |
|
|
| `information_manquante` | adequation_tache |
|
|
| `enonce_copie` | adequation_tache |
|
|
| `longueur_insuffisante` | adequation_tache |
|
|
| `longueur_excessive` | adequation_tache |
|
|
| `format_non_respecte` | adequation_tache |
|
|
| `salutation_absente` | adequation_tache |
|
|
| `cloture_absente` | adequation_tache |
|
|
| `structure_absente` | adequation_tache |
|
|
| `registre_trop_formel` | adequation_tache |
|
|
| `registre_trop_familier` | adequation_tache |
|
|
| `abreviations_sms` | adequation_tache |
|
|
| `tutoiement_inadequat` | adequation_tache |
|
|
| `introduction_absente` | coherence_cohesion |
|
|
| `conclusion_absente` | coherence_cohesion |
|
|
| `paragraphes_absents` | coherence_cohesion |
|
|
| `progression_illogique` | coherence_cohesion |
|
|
| `connecteurs_absents` | coherence_cohesion |
|
|
| `connecteurs_repetes` | coherence_cohesion |
|
|
| `connecteurs_inadequats` | coherence_cohesion |
|
|
| `connecteurs_insuffisants` | coherence_cohesion |
|
|
| `idee_non_developpee` | coherence_cohesion |
|
|
| `repetition_idee` | coherence_cohesion |
|
|
| `contradiction_interne` | coherence_cohesion |
|
|
| `hors_propos` | coherence_cohesion |
|
|
| `pronoms_ambigus` | coherence_cohesion |
|
|
| `substitution_absente` | coherence_cohesion |
|
|
| `rupture_temporelle` | coherence_cohesion |
|
|
| `vocabulaire_basique` | competence_lexicale |
|
|
| `vocabulaire_insuffisant` | competence_lexicale |
|
|
| `registre_lexical_inadequat` | competence_lexicale |
|
|
| `mot_imprecis` | competence_lexicale |
|
|
| `contresens_lexical` | competence_lexicale |
|
|
| `anglicisme` | competence_lexicale |
|
|
| `calque_syntaxique` | competence_lexicale |
|
|
| `repetition_lexicale` | competence_lexicale |
|
|
| `synonymes_absents` | competence_lexicale |
|
|
| `expressions_figees_absentes` | competence_lexicale |
|
|
| `faute_orthographe_courante` | competence_lexicale |
|
|
| `confusion_homophones` | competence_lexicale |
|
|
| `majuscules_incorrectes` | competence_lexicale |
|
|
| `accord_sujet_verbe` | competence_grammaticale |
|
|
| `accord_adjectif_nom` | competence_grammaticale |
|
|
| `accord_participe_passe` | competence_grammaticale |
|
|
| `accord_determinant_nom` | competence_grammaticale |
|
|
| `temps_verbal_inadequat` | competence_grammaticale |
|
|
| `subjonctif_absent` | competence_grammaticale |
|
|
| `subjonctif_incorrect` | competence_grammaticale |
|
|
| `conditionnel_absent` | competence_grammaticale |
|
|
| `concordance_temps` | competence_grammaticale |
|
|
| `phrase_incomplete` | competence_grammaticale |
|
|
| `phrase_trop_longue` | competence_grammaticale |
|
|
| `ordre_mots_incorrect` | competence_grammaticale |
|
|
| `subordination_absente` | competence_grammaticale |
|
|
| `subordination_incorrecte` | competence_grammaticale |
|
|
| `virgule_exces` | competence_grammaticale |
|
|
| `virgule_absence` | competence_grammaticale |
|
|
| `point_absent` | competence_grammaticale |
|
|
| `ponctuation_incorrecte` | competence_grammaticale |
|
|
| `preposition_absente` | competence_grammaticale |
|
|
| `preposition_incorrecte` | competence_grammaticale |
|
|
| `preposition_superflue` | competence_grammaticale |
|
|
| `genre_incorrect` | competence_grammaticale |
|
|
| `nombre_incorrect` | competence_grammaticale |
|
|
| `negation_incomplete` | competence_grammaticale |
|
|
|
|
---
|
|
|
|
## Historique de ce document
|
|
|
|
| Version | Date | Changements |
|
|
|---|---|---|
|
|
| 1.0 | 2026-04-22 | Création initiale — 4 critères, 63 codes + 4 codes `autre` |
|