Évaluation & métriques

Définitions, formules et intervalles de confiance

Cette page définit les métriques du projet. Les valeurs mesurées sont sur la page Résultats.

Les métriques répondent à trois questions :

  1. Le codage est-il fiable ? Le modèle attribue-t-il les bons codes ?
  2. La lecture est-elle fidèle ? Le modèle lit-il correctement l’écriture ?
  3. La confiance est-elle exploitable ? Le score de confiance permet-il de trier les items à automatiser et ceux à renvoyer à un humain ?

Une dernière section traite des intervalles de confiance. Les 83 items d’une copie ne sont pas indépendants, ce qui impose une correction.


1. Fiabilité du codage

On compare, item par item, le code du modèle à celui de l’expert humain, pris comme vérité de terrain.

Notations

Pour un item, \(y\) est le code de l’expert et \(\hat{y}\) celui du modèle. La grille simplifiée compte trois codes : 1 (mot correct), 9 (faute) et 0 (mot absent).

Deux lectures coexistent :

  • multi-classes : on compare les codes tels quels. Elle sert à l’accord brut, au kappa et à la matrice de confusion.
  • binaire : on retient seulement si le mot est fauté, avec la convention erreur \(\Leftrightarrow\) code \(\neq\) 1. Elle sert au rappel, à la précision, à la sur-correction et à la sur-détection.

La lecture binaire se résume en quatre effectifs :

Les quatre cas de la lecture binaire
Modèle : erreur (\(\hat{y} \neq 1\)) Modèle : correct (\(\hat{y} = 1\))
Expert : erreur (\(y \neq 1\)) \(\text{VP}\) : faute détectée \(\text{FN}\) : sur-correction
Expert : correct (\(y = 1\)) \(\text{FP}\) : sur-détection \(\text{VN}\) : mot juste reconnu

Les deux erreurs n’ont pas le même coût. \(\text{FN}\) laisse passer une faute. \(\text{FP}\) sanctionne un élève à tort.

Accord brut

Part des items où le modèle et l’expert donnent le même code (lecture multi-classes) :

\[\text{accord brut} = \frac{\text{nombre d'items où } \hat{y} = y}{\text{nombre total d'items}}\]

Elle est trompeuse quand une catégorie domine. Si 90 % des mots sont corrects, un modèle qui répond « correct » partout obtient 90 %. Plus haut = mieux.

Kappa de Cohen

Le kappa (\(\kappa\)) corrige l’accord brut de l’accord dû au hasard. C’est la métrique de référence du projet.

\[\kappa = \frac{p_o - p_e}{1 - p_e} \qquad p_e = \sum_{c} p_{\cdot c} \, p_{c \cdot}\]

\(p_o\) est l’accord observé. \(p_e\) est l’accord attendu si chacun tirait ses codes au hasard selon sa propre distribution. \(p_{\cdot c}\) et \(p_{c \cdot}\) sont les fréquences du code \(c\) chez le modèle et chez l’expert.

\(\kappa = 0\) : pas mieux que le hasard. \(\kappa = 1\) : accord parfait. Plus haut = mieux.

Valeur de κ Interprétation courante
< 0,20 accord faible
0,20 à 0,40 accord passable
0,40 à 0,60 accord modéré
0,60 à 0,80 accord substantiel
> 0,80 accord presque parfait

Le kappa est un rapport de deux quantités estimées, pas une moyenne. Son intervalle de confiance passe donc par un bootstrap par grappes.

Rappel des erreurs

Part des fautes réelles de l’élève que le modèle retrouve (sensibilité) :

\[\text{rappel} = \frac{\text{VP}}{\text{VP} + \text{FN}}\]

Plus haut = moins de fautes ratées.

Précision sur les erreurs

Part des fautes signalées par le modèle qui en sont vraiment :

\[\text{précision} = \frac{\text{VP}}{\text{VP} + \text{FP}}\]

Plus haut = moins de fausses alertes.

Taux de sur-correction

Part des fautes de l’élève que le modèle valide à tort. La faute à détecter disparaît.

\[\text{sur-correction} = \frac{\text{FN}}{\text{VP} + \text{FN}} = 1 - \text{rappel}\]

Plus bas = mieux.

Ce taux est le complément du rappel. Il est affiché parce qu’il nomme le risque opérationnel.

La fonction scoring_summary du paquet calcule un overcorrection_rate rapporté à tous les items, et non aux seules erreurs de l’expert. Le site utilise la définition ci-dessus.

Taux de sur-détection

Part des mots corrects que le modèle sanctionne à tort :

\[\text{sur-détection} = \frac{\text{FP}}{\text{FP} + \text{VN}}\]

Plus bas = mieux. C’est le risque qui pèse le plus sur l’acceptabilité d’un codage automatique.

F1 pondéré

Moyenne harmonique de la précision et du rappel :

\[F_1 = 2 \times \frac{\text{précision} \times \text{rappel}}{\text{précision} + \text{rappel}}\]

Le \(F_1\) est calculé pour chaque code, puis moyenné en pondérant par l’effectif de chaque code. Il ne sert que de résumé : il masque l’arbitrage entre rappel et précision, qu’on examine séparément.

Matrice de confusion

Tableau croisant les codes de l’expert (lignes) et du modèle (colonnes). La diagonale donne les accords. Les cases hors diagonale montrent la nature des erreurs, par exemple une confusion entre erreur et absent.

La version détaillée, une ligne par transition code expert → code modèle, est la décomposition des désaccords.


2. Fidélité de la lecture (HTR)

On compare la transcription du modèle à une transcription humaine de référence. Les deux conservent les fautes de l’élève. On mesure la lecture, pas l’orthographe.

CER : taux d’erreur par caractère

Character Error Rate. Distance de Levenshtein entre la transcription et la référence, divisée par la longueur de la référence :

\[\text{CER} = \frac{i + s + d}{N_{\text{car}}}\]

\(i\), \(s\) et \(d\) comptent les insertions, substitutions et suppressions de caractères. \(N_{\text{car}}\) est le nombre de caractères de la référence.

0 = transcription parfaite. 0,10 correspond à environ un caractère sur dix à corriger. Le CER dépasse 1 si le modèle produit beaucoup plus de texte que la référence.

WER : taux d’erreur par mot

Word Error Rate. Même distance, comptée en mots :

\[\text{WER} = \frac{i_{\text{mots}} + s_{\text{mots}} + d_{\text{mots}}}{N_{\text{mots}}}\]

Plus sévère que le CER : un caractère faux rend le mot entier faux.

Les deux taux sont agrégés en micro-moyenne : le corpus est traité comme un seul texte. Une copie longue pèse donc plus qu’une copie courte.

Variantes normalisées

CER et WER sont aussi calculés après normalisation (minuscules, sans accents ni ponctuation). L’écart entre les deux versions isole les erreurs de casse et d’accent. C’est utile ici, car la binarisation des scans rend les accents difficiles à lire.

Sur-correction de lecture

Le modèle lit maison là où l’enfant a écrit maisson. Le texte est correct mais faux pour notre usage : la faute à détecter disparaît. C’est la métrique critique pour l’écriture d’enfants.

La sur-correction du codage mesure le même biais sur le code attribué. Celle-ci le mesure sur le texte transcrit.


3. Confiance et calibration

Chaque code prédit a un score de confiance. L’objectif est d’automatiser les items sûrs et de renvoyer les items douteux à un correcteur humain.

Score calibré

Un score est calibré si sa valeur se lit comme une probabilité d’avoir raison. Parmi les items annoncés à 80 %, environ 80 % doivent être justes.

\[\mathbb{P}\left(\hat{y} = y \;\middle|\; \text{confiance} = c\right) = c \quad \text{pour tout } c\]

Deux propriétés distinctes :

  • calibration : le niveau du score est juste. Elle permet de promettre un taux d’erreur au-dessus d’un seuil.
  • discrimination : le score classe bien les items, les faux ayant des scores plus bas que les justes. Elle seule rend la courbe de renvoi utile.

Un score mal calibré mais discriminant se recalibre. Un score calibré sans pouvoir de tri est inutilisable item par item.

Diagramme de fiabilité

On découpe \([0, 1]\) en \(B = 10\) tranches égales et on range les items selon leur confiance. Dans chaque tranche \(b\), on compare :

  • la confiance moyenne annoncée \(\overline{c}_b\) ;
  • l’accord observé \(\text{acc}_b\), part d’items justes.

Un modèle calibré a \(\text{acc}_b = \overline{c}_b\) dans chaque tranche. Si la confiance dépasse l’accord, il est trop sûr de lui et on automatiserait des erreurs. Dans le cas inverse, il est trop prudent et on renverrait des items bien traités.

ECE : erreur de calibration attendue

Expected Calibration Error. Écart absolu moyen entre confiance et accord, pondéré par l’effectif de chaque tranche :

\[\text{ECE} = \sum_{b=1}^{B} \frac{n_b}{N} \left| \text{acc}_b - \overline{c}_b \right|\]

\(n_b\) est l’effectif de la tranche \(b\). \(N\) est le nombre d’items ayant une confiance ; les autres sont exclus.

  • 0 : calibration parfaite.
  • Au-delà de 0,10 environ : le score doit être recalibré avant de servir de seuil.

L’ECE ne mesure pas le pouvoir de tri. Un modèle qui annonce 1,0 partout obtient un ECE égal à son taux d’erreur, alors que son score est inutile pour trier. C’est le cas sur nos runs (voir Résultats). Le projet construit donc un autre signal de confiance.

Recalibrer un score

Deux méthodes usuelles :

  • temperature scaling : on divise les logits par un scalaire \(T\) ajusté sur un échantillon de validation. L’ordre des items est préservé.
  • régression isotonique : on ajuste une fonction monotone du score vers la probabilité observée. Plus souple, elle demande plus de données.

La recalibration s’ajuste sur des données distinctes de celles où l’on mesure l’ECE. Aucune méthode ne corrige un score constant.

Confiance par consensus inter-modèles

Le signal retenu vient du désaccord entre plusieurs runs. Pour chaque item, le code majoritaire l’emporte et on compte les runs qui s’accordent. Au niveau de la copie :

\[\text{score de confiance} = \frac{\text{nombre d'items où tous les runs s'accordent}}{\text{nombre d'items de la copie}}\]

Un item sur lequel des modèles différents convergent est probablement bien codé. Un item qui les divise est à relire. Ce score varie d’un item à l’autre : il discrimine.

Courbe de renvoi humain

C’est le livrable décisionnel. On trie les copies par score de confiance. Pour chaque seuil \(\tau\) :

\[\text{taux de renvoi}(\tau) = \frac{\text{nombre de copies dont le score} < \tau}{\text{nombre total de copies}}\]

\[\text{accord retenu}(\tau) = \text{accord modèle-expert sur les items des copies conservées}\]

Le taux d’erreur résiduel vaut \(1 - \text{accord retenu}\).

flowchart LR
    A["Toutes les copies codées<br/>+ score de confiance"] --> B{"score ≥ τ ?"}
    B -->|oui| C["Auto-validé<br/>(on mesure l'erreur résiduelle)"]
    B -->|non| D["Renvoyé à un humain"]

flowchart LR
    A["Toutes les copies codées<br/>+ score de confiance"] --> B{"score ≥ τ ?"}
    B -->|oui| C["Auto-validé<br/>(on mesure l'erreur résiduelle)"]
    B -->|non| D["Renvoyé à un humain"]

Plus on renvoie de copies, plus l’erreur résiduelle baisse. La DEPP choisit son point de fonctionnement. Exemple : pour 2 % d’erreur résiduelle, combien de copies relire ?


4. Intervalles de confiance

Chaque métrique est donnée avec un intervalle de confiance à 95 %. Un calcul naïf donnerait ici des intervalles trop étroits.

Structure en grappes

Les 83 items d’une copie ne sont pas indépendants : ils partagent le niveau de l’élève. Les quelque 290 000 items du corpus portent donc moins d’information que 290 000 observations indépendantes. C’est une structure en grappes, la grappe étant la copie.

Intervalle de Wilson

Pour une proportion \(\hat{p}\) observée sur \(n\) observations :

\[\text{IC}_{95\%} = \frac{\hat{p} + \dfrac{z^2}{2n}}{1 + \dfrac{z^2}{n}} \; \pm \; \frac{z}{1 + \dfrac{z^2}{n}} \sqrt{\dfrac{\hat{p}(1-\hat{p})}{n} + \dfrac{z^2}{4n^2}}\]

avec \(z = 1{,}96\). Contrairement à l’approximation normale, il reste dans \([0, 1]\) et se comporte bien quand \(\hat{p}\) approche 0 ou 1. La valeur affichée reste \(\hat{p}\).

Design effect de Kish

Le design effect mesure la perte d’information due au regroupement :

\[\text{deff} = 1 + (m - 1) \times \text{ICC}\]

\(m\) est le nombre d’observations par copie. L’ICC (intra-class correlation) mesure la ressemblance des items d’une même copie :

\[\text{ICC} = \frac{\text{variance entre copies}}{\text{variance entre copies} + \text{variance à l'intérieur d'une copie}}\]

  • La variance entre copies est celle des moyennes par copie, soit l’écart de niveau entre élèves.
  • La variance à l’intérieur d’une copie est celle qui reste une fois le niveau de l’élève retiré.

ICC = 0 : les items sont indépendants. ICC = 1 : une copie vaut une seule observation.

L’effectif équivalent remplace \(n\) dans la formule de Wilson :

\[n_{\text{eq}} = \frac{n}{\text{deff}}\]

L’intervalle s’élargit d’un facteur \(\sqrt{\text{deff}}\).

Un design effect par métrique

Le design effect dépend de l’indicatrice, car \(m\) et l’ICC changent :

  • m : le rappel ne porte que sur les items en erreur chez l’expert, soit une vingtaine par copie au lieu de 83.
  • ICC : l’erreur se regroupe plus par copie que l’accord. Un élève faible se trompe partout, alors que le modèle peut être d’accord avec l’expert sur toute copie.
Trois indicatrices, trois design effects (run end-to-end · gemma4-26b-moe)
Indicatrice m ICC deff Effectif → équivalent
Accord (tous les items) 83 0.041 4.3 283 829 → 65 541
Erreur détectée (tous les items) 83 0.070 6.8 283 829 → 42 023
Rappel (items en erreur chez l’expert) 18 0.160 3.7 61 622 → 16 500

Pour le rappel, les deux effets s’opposent. Son ICC est le plus élevé, mais son \(m\) est faible : son design effect est le plus bas.

Chaque métrique est donc corrigée par son propre design effect. Il varie aussi selon le run : de 5 à 12 sur l’accord brut.

Kappa : bootstrap par grappes

Le kappa est un rapport, pas la moyenne d’une indicatrice. Il n’a pas d’ICC propre. Lui appliquer le design effect de l’accord élargirait son intervalle d’environ 50 % de trop.

Son intervalle vient d’un bootstrap par grappes :

  1. tirer autant de copies que le corpus en compte, avec remise ;
  2. recalculer le kappa sur cet échantillon ;
  3. répéter 1 000 fois et prendre les centiles 2,5 et 97,5.

Tirer des copies entières conserve le lien entre les items d’un élève. La dispersion obtenue intègre directement la structure en grappes.

Le calcul est rapide : la matrice de confusion de chaque copie est calculée une fois, puis chaque tirage somme celles des copies tirées.

Sans correction

La prévalence par item n’est pas corrigée. Chaque item n’y est observé qu’une fois par copie : les observations sont indépendantes et deff = 1. L’intervalle de Wilson simple s’applique.

Règle : on corrige les métriques agrégées sur les 83 items d’une copie, pas celles calculées à raison d’une observation par copie.


5. Comparaison à l’accord humain

Deux experts qui codent la même copie ne sont pas toujours d’accord. Cet accord inter-humains sert de borne. On le mesure avec des modèles d’accord inter-codeurs (type Dawid & Skene), et on situe les métriques du modèle par rapport à lui.

Exemple : si deux humains obtiennent \(\kappa = 0{,}90\) entre eux, un modèle à \(\kappa = 0{,}60\) en atteint les deux tiers.


Récapitulatif

Métriques, sens de lecture et traitement de l’intervalle
Métrique Mesure Sens Correction d’IC
Accord brut items codés à l’identique plus haut design effect
Kappa de Cohen accord corrigé du hasard plus haut bootstrap
Rappel des erreurs fautes de l’élève retrouvées plus haut design effect
Précision sur les erreurs fautes signalées réelles plus haut design effect
Sur-correction fautes validées à tort (\(1 -\) rappel) plus bas design effect
Sur-détection mots corrects sanctionnés à tort plus bas design effect
F1 pondéré résumé précision / rappel plus haut aucune
CER / WER fidélité de la transcription plus bas aucune
ECE écart confiance / justesse plus bas aucune
Score de consensus items où les runs s’accordent plus haut aucune
Courbe de renvoi charge humaine / erreur résiduelle arbitrage Wilson
Prévalence par item difficulté de chaque item comparaison aucune (deff = 1)
Les trois familles de métriques
Question Métriques
Le codage est-il fiable ? accord brut, kappa, matrice de confusion, rappel, précision, sur-correction, sur-détection, F1
La lecture est-elle fidèle ? CER, WER (+ normalisés), sur-correction de lecture
La confiance est-elle exploitable ? diagramme de fiabilité, ECE, score de consensus, courbe de renvoi