Des étiquettes avec barres d'erreur : la théorie de la réponse à l'item appliquée à l'annotation
Le vote majoritaire jette l'essentiel de ce que vos annotateurs vous ont dit. La théorie de la réponse à l'item donne à chaque étiquette une probabilité a posteriori et un intervalle de confiance, estime l'aptitude des annotateurs et la difficulté des éléments, et repère les entrées cassées du livre de codes, sans étiquettes étalons ni LLM.
Le vote majoritaire traite tous les annotateurs comme également fiables et tous les éléments comme également difficiles, et il rend un décompte au lieu d'une probabilité. La théorie de la réponse à l'item (TRI) abandonne les deux hypothèses : elle estime l'aptitude de chaque annotateur et la difficulté de chaque élément à partir du seul motif des accords, puis rend chaque étiquette sous forme de probabilité a posteriori assortie d'un intervalle de confiance. Elle n'a besoin ni d'étiquettes étalons ni de LLM. Dans Potato, c'est le moteur psychométrique, et il tourne en direct au fil de l'arrivée des annotations.
Trois annotateurs étiquettent un élément. Deux disent sarcastic, un dit sincere. Le vote majoritaire tranche pour sarcastic et passe à la suite, et votre jeu de données consigne cela avec exactement autant de confiance qu'un élément sur lequel les trois étaient d'accord.
C'est jeter de l'information. Le dissident est peut-être votre annotateur le plus fiable. L'élément est peut-être un de ceux que tout le monde trouve difficiles. Ni l'un ni l'autre ne survit au décompte.
L'aptitude des annotateurs avec ses intervalles de confiance
Qu'est-ce que la théorie de la réponse à l'item ?
La théorie de la réponse à l'item vient de la psychométrie, où elle a été conçue pour noter des tests standardisés. L'idée est qu'un test vous apprend deux choses à la fois : l'aptitude de chaque candidat et la difficulté de chaque question. On peut estimer les deux conjointement, à partir du seul motif des réponses, parce qu'elles se contraignent l'une l'autre. Une question que les candidats aptes ratent est une question difficile. Un candidat qui réussit les questions difficiles est un candidat apte.
L'annotation a la même forme. Les annotateurs sont les candidats, les éléments sont les questions, et personne n'a le corrigé.
Potato ajuste une généralisation multiclasse de GLAD (Whitehill et al. 2009), qui estime trois choses ensemble :
- l'étiquette vraie de chaque élément, sous forme de distribution de probabilité
- l'aptitude (θ) de chaque annotateur, avec son erreur type
- la difficulté de chaque élément, et un diagnostic de discrimination par élément
L'ajustement est déterministe et prend quelques millisecondes à l'échelle d'une étude d'annotation, si bien qu'il peut tourner en continu au lieu de constituer un traitement par lots a posteriori.
L'activer
psychometrics:
enabled: true
schema: sarcasm
confidence_threshold: 0.95
min_annotators_per_item: 2Cela seul vous donne la couche d'analyse. Votre export passe de ceci :
sarcastic (2 of 3 votes)
à ceci :
sarcastic p = 0.94 [0.88 – 0.97]
La probabilité est celle du modèle a posteriori, qui pèse qui a voté et pas seulement combien de personnes ont voté. L'intervalle est une bande de sensibilité sur les estimations d'aptitude.
En aval, ce nombre vaut la peine d'être là. Vous pouvez entraîner sur des étiquettes souples, filtrer un jeu d'évaluation pour ne garder que les éléments au-dessus d'un plancher de confiance, ou traiter les éléments à faible probabilité comme réellement ambigus plutôt que discrètement mal étiquetés. Le désaccord cesse d'être un bruit qu'il faudrait moyenner, un point à lire en regard de le désaccord est un signal, pas du bruit.
L'aptitude des annotateurs, présentée honnêtement
L'aptitude est estimée à partir des motifs d'accord. Une valeur de 1.0 est la valeur a priori d'un nouveau venu, 0 signifie que les étiquettes de l'annotateur ne portent aucune information, et une valeur négative signifie qu'il se trompe systématiquement.
Chaque estimation vient avec une erreur type, et cela compte davantage que l'estimation ponctuelle. Un annotateur qui a douze étiquettes a une longue moustache, et le tableau de bord la dessine longue. Ne prenez pas de décisions concernant les personnes sur la foi d'une longue moustache. Les erreurs types sont approximatives (information de Fisher au mode) et légèrement optimistes par construction. Elles sont là pour vous empêcher de surinterpréter un nombre, pas pour autoriser un licenciement.
Si vous voulez un relevé de compétence plus simple sur n'importe quel schéma catégoriel, MACE est le cousin plus ancien, et reste un bon outil. La différence est que MACE tourne en analyse par lots, tandis que la psychométrie se place dans la boucle d'attribution et agit sur l'étude pendant qu'elle se déroule.
Le détecteur de problèmes de livre de codes
C'est la partie qui surprend.
À côté de la difficulté, le modèle estime la discrimination : sur un élément donné, l'aptitude de l'annotateur est-elle corrélée au fait d'être d'accord avec le consensus ? Normalement oui. Les annotateurs aptes s'accordent plus souvent avec la réponse finale, ce qui est à peu près ce que « apte » veut dire.
Quand la discrimination devient franchement négative, quelque chose cloche. Vos meilleurs annotateurs s'écartent systématiquement de la foule sur cet élément. L'explication la plus probable n'est pas que vos meilleurs annotateurs soient devenus mauvais d'un coup. C'est que la consigne est ambiguë ou fausse pour ce cas, et que ce sont les annotateurs attentifs qui le remarquent.
Potato les regroupe sous « Problèmes probables du livre de codes ». Ce sont d'ordinaire les éléments de plus grande valeur de toute l'étude, parce que chacun est un défaut de l'instrument plutôt que le défaut d'une personne. Corrigez la consigne, puis réannotez. Une salle de normalisation est un bon endroit pour les traiter en équipe.
Dépenser le budget d'annotation là où il rapporte quelque chose
La redondance fixe, la règle « trois annotateurs par élément, toujours », dépense autant sur un élément qui fait l'unanimité que sur un élément qui coupe l'équipe en deux. C'est à l'envers.
assignment_strategy: psychometric
num_annotators_per_item: 4
psychometrics:
enabled: true
confidence_threshold: 0.95
cost_per_judgment: 0.08Avec cela, quand un annotateur demande du travail, Potato classe les éléments restants selon le gain d'information attendu que produirait l'étiquetage de cet élément précis par cet annotateur précis. Les éléments dont la probabilité a posteriori dépasse déjà confidence_threshold cessent complètement d'être servis. Le tableau de bord compte les jugements que vous n'avez pas eu à acheter, et les chiffre si vous définissez cost_per_judgment.
Deux réserves à connaître avant d'activer :
- Démarrage à froid. Tant qu'il n'existe pas assez d'étiquettes, l'attribution retombe sur du tirage aléatoire. Le modèle ne peut pas séparer l'aptitude de la difficulté sans annotateurs qui se recoupent, et il ne prétendra pas le contraire. Le tableau de bord affiche un indicateur de préchauffage à la place.
- Lots. Le classement est le plus frais quand les files sont courtes. Donner à chaque annotateur un lot de 200 éléments dilue l'adaptativité, parce que le classement a été calculé avant que la plupart de ces étiquettes n'existent.
Décider de la redondance avant de dépenser quoi que ce soit
La question que tout projet devine, c'est le nombre d'annotateurs par élément dont il a besoin. Le concepteur d'étude y répond par une simulation de Monte-Carlo :
python -m potato.psychometrics.design --items 500 --accuracy 0.75 \
--classes 3 --target-ci 0.10 --cost 0.08ann/item alpha 95% interval width majority acc judgments cost
2 0.392 [ 0.330, 0.439] 0.109 0.751 1000 80.00
3 0.388 [ 0.338, 0.431] 0.093 0.864 1500 120.00 <- recommended
La recommandation est la redondance la moins chère dont l'intervalle à 95 % sur l'α de Krippendorff reste plus étroit que votre cible. L'entrée --accuracy est celle que vous devriez mesurer sur un petit pilote plutôt que deviner.
Le même calcul tourne dans votre navigateur, si vous préférez ne rien installer pour répondre à la question.
Ce que cela ne fait pas
La TRI n'est pas magique. Quelques limites honnêtes :
- Elle modélise les schémas catégoriels à choix unique,
radioetlikert. Le choix multiple n'est pas modélisé. - Elle a besoin d'annotateurs qui se recoupent. Si chaque élément est étiqueté par une personne différente, il n'y a aucune structure d'accord dont apprendre, et le modèle vous dira qu'il est encore en préchauffage.
- Avec un seul annotateur, ou avec des étiquettes unanimes partout, l'ajustement est dégénéré par construction. C'est le comportement correct, pas un bug.
Ce qu'elle vous donne en échange, c'est un jeu de données où chaque étiquette porte sa propre incertitude, un vivier d'annotateurs que vous comprenez, et la liste des endroits où votre livre de codes est cassé.
Pour aller plus loin
- Moteur psychométrique — la référence de configuration complète
- Truth Serum — l'autre façon de noter la qualité sans étiquettes étalons
- De combien d'annotateurs avez-vous besoin ?
- Agréger les étiquettes de la foule — Dawid–Skene et compagnie
- Accord inter-annotateurs