Skip to content
Guides6 min read

Labels mit Fehlerbalken: Item-Response-Theorie für die Annotation

Die Mehrheitsentscheidung wirft das meiste von dem weg, was die Annotatoren mitgeteilt haben. Die Item-Response-Theorie gibt jedem Label eine Posterior-Wahrscheinlichkeit und ein Konfidenzintervall, schätzt Annotator-Fähigkeit und Element-Schwierigkeit und findet kaputte Codebuch-Einträge, ganz ohne Gold-Labels und ohne LLM.

Potato Team

Die Mehrheitsentscheidung behandelt jeden Annotator als gleich zuverlässig und jedes Element als gleich schwer, und sie meldet eine Stimmenzahl statt einer Wahrscheinlichkeit. Die Item-Response-Theorie (IRT) lässt beide Annahmen fallen: Sie schätzt die Fähigkeit jedes Annotators und die Schwierigkeit jedes Elements allein aus dem Übereinstimmungsmuster und meldet dann jedes Label als Posterior-Wahrscheinlichkeit mit Konfidenzintervall. Sie braucht keine Gold-Labels und kein LLM. In Potato ist das die Psychometrie-Engine, und sie läuft live, während die Annotationen eintreffen.

Drei Annotatoren labeln ein Element. Zwei sagen sarcastic, einer sagt sincere. Die Mehrheitsentscheidung nennt es sarcastic und geht weiter, und der Datensatz hält das mit genau derselben Sicherheit fest wie ein Element, bei dem sich alle drei einig waren.

Damit wird Information weggeworfen. Der Abweichler könnte der zuverlässigste Annotator sein. Das Element könnte eines sein, das alle schwer finden. Keine der beiden Tatsachen übersteht die Auszählung.

Die Fähigkeit der Annotatoren wird live geschätzt, mit Konfidenzintervallen, sodass jedes Label eine Posterior-Wahrscheinlichkeit statt einer bloßen Stimmenzahl bekommtAnnotator-Fähigkeit mit Konfidenzintervallen

Was ist die Item-Response-Theorie?

Die Item-Response-Theorie stammt aus der Psychometrie, wo sie zur Auswertung standardisierter Tests entwickelt wurde. Die Einsicht dahinter: Ein Test verrät zwei Dinge auf einmal, nämlich wie fähig jeder Prüfling ist und wie schwer jede Frage ist. Beides lässt sich gemeinsam schätzen, allein aus dem Antwortmuster, weil beides sich gegenseitig einschränkt. Eine Frage, die fähige Prüflinge falsch beantworten, ist eine schwere Frage. Wer schwere Fragen richtig beantwortet, ist ein fähiger Prüfling.

Annotation hat dieselbe Form. Annotatoren sind die Prüflinge, Elemente sind die Fragen, und niemand hat den Lösungsschlüssel.

Potato passt eine Mehrklassen-Verallgemeinerung von GLAD an (Whitehill et al. 2009), die drei Dinge gemeinsam schätzt:

  • das wahre Label jedes Elements, als Wahrscheinlichkeitsverteilung
  • die Fähigkeit (θ) jedes Annotators, mit Standardfehler
  • die Schwierigkeit jedes Elements und eine Diagnose der Trennschärfe je Element

Die Anpassung ist deterministisch und dauert im Maßstab einer Annotationsstudie Millisekunden, sie kann also laufend statt als nachgelagerter Batch-Job laufen.

Einschalten

yaml
psychometrics:
  enabled: true
  schema: sarcasm
  confidence_threshold: 0.95
  min_annotators_per_item: 2

Das allein liefert bereits die Analyseschicht. Der Export ändert sich von

text
sarcastic    (2 of 3 votes)

zu

text
sarcastic    p = 0.94 [0.88 – 0.97]

Die Wahrscheinlichkeit ist die Posterior-Wahrscheinlichkeit des Modells, die gewichtet, wer abgestimmt hat, und nicht nur, wie viele. Das Intervall ist ein Sensitivitätsband über den Fähigkeitsschätzungen.

Weiter unten in der Pipeline lohnt sich diese Zahl. Man kann auf weichen Labels trainieren, ein Evaluationsset auf Elemente oberhalb einer Konfidenzschwelle einschränken oder Elemente mit niedriger Wahrscheinlichkeit als wirklich mehrdeutig behandeln statt als stillschweigend falsch gelabelt. Uneinigkeit ist dann kein Rauschen mehr, das man wegmittelt, was sich gut zusammen mit Uneinigkeit ist Signal, kein Rauschen liest.

Annotator-Fähigkeit, ehrlich dargestellt

Die Fähigkeit wird aus den Übereinstimmungsmustern geschätzt. Ein Wert von 1,0 ist der Prior für einen neuen Annotator, 0 heißt, dass seine Labels keinerlei Information tragen, und negative Werte heißen systematisch falsch.

Zu jeder Schätzung gehört ein Standardfehler, und der zählt mehr als der Punktschätzer. Wer zwölf Labels vergeben hat, bekommt einen breiten Fehlerbalken, und das Dashboard zeichnet ihn auch breit. Personalentscheidungen gehören nicht auf einen breiten Fehlerbalken gestützt. Die Standardfehler sind Näherungen (Fisher-Information am Modus) und konstruktionsbedingt leicht optimistisch. Sie sind da, damit niemand zu viel in eine Zahl hineinliest, und nicht als Freibrief für eine Kündigung.

Wer einen einfacheren Kompetenzüberblick über ein beliebiges kategoriales Schema möchte, greift zu MACE, dem älteren Verwandten, der immer noch ein gutes Werkzeug ist. Der Unterschied: MACE läuft als Batch-Analyse, während die Psychometrie in der Zuweisungsschleife sitzt und in die laufende Studie eingreift.

Der Codebuch-Problem-Detektor

Das ist der Teil, der die Leute überrascht.

Neben der Schwierigkeit schätzt das Modell die Trennschärfe: Hängt bei einem bestimmten Element die Fähigkeit eines Annotators damit zusammen, dass er dem Konsens zustimmt? Normalerweise ja. Fähige Annotatoren stimmen häufiger mit der späteren Antwort überein, und ungefähr das heißt „fähig".

Wird die Trennschärfe deutlich negativ, dann stimmt etwas nicht. Die besten Annotatoren widersprechen bei diesem Element systematisch der Menge. Die wahrscheinlichste Erklärung ist nicht, dass die besten Annotatoren plötzlich schlecht geworden sind. Sie lautet, dass die Richtlinie für diesen Fall mehrdeutig oder falsch ist und die sorgfältigen Annotatoren diejenigen sind, denen es auffällt.

Potato führt solche Fälle unter „Wahrscheinliche Codebuch-Probleme". Sie sind meist die wertvollsten Elemente der ganzen Studie, denn jedes davon ist ein Mangel am Messinstrument und nicht an einer Person. Erst die Richtlinie korrigieren, dann neu annotieren. Ein Norming-Raum ist ein guter Ort, um sie im Team durchzugehen.

Das Annotationsbudget dort ausgeben, wo es etwas bringt

Feste Redundanz, also die Regel „immer drei Annotatoren pro Element", gibt für ein Element, über das sich alle einig sind, genauso viel aus wie für eines, das das Team in zwei Lager spaltet. Das ist verkehrt herum.

yaml
assignment_strategy: psychometric
num_annotators_per_item: 4
psychometrics:
  enabled: true
  confidence_threshold: 0.95
  cost_per_judgment: 0.08

Damit sortiert Potato, sobald ein Annotator Arbeit anfordert, die verbleibenden Elemente nach dem erwarteten Informationsgewinn, den dieser Annotator bei diesem Element liefert. Elemente, deren Posterior-Wahrscheinlichkeit bereits über confidence_threshold liegt, werden gar nicht mehr ausgeliefert. Das Dashboard zählt die Urteile, die nicht gekauft werden mussten, und versieht sie mit einem Preis, wenn cost_per_judgment gesetzt ist.

Zwei Hinweise, die man vor dem Einschalten kennen sollte:

  • Kaltstart. Solange nicht genug Labels vorliegen, fällt die Zuweisung auf Zufall zurück. Ohne überlappende Annotatoren kann das Modell Fähigkeit nicht von Schwierigkeit trennen, und es tut auch nicht so. Das Dashboard zeigt stattdessen eine Aufwärmanzeige.
  • Batching. Die Sortierung ist am aktuellsten, wenn die Warteschlangen kurz sind. Wer jedem Annotator 200 Elemente auf einmal gibt, verwässert die Anpassungsfähigkeit, weil die Sortierung berechnet wurde, bevor die meisten dieser Labels existierten.

Die Redundanz festlegen, bevor Geld fließt

Jedes Projekt rät bei der Frage, wie viele Annotatoren pro Element es braucht. Der Studiendesigner beantwortet sie stattdessen mit einer Monte-Carlo-Simulation:

bash
python -m potato.psychometrics.design --items 500 --accuracy 0.75 \
    --classes 3 --target-ci 0.10 --cost 0.08
text
ann/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

Empfohlen wird die günstigste Redundanz, deren 95-%-Intervall für Krippendorffs α noch schmaler ist als die eigene Vorgabe. Den Eingabewert --accuracy misst man besser in einem kleinen Pilotlauf, statt ihn zu raten.

Dieselbe Rechnung läuft auch im Browser, wenn man für die Antwort lieber nichts installieren möchte.

Was das nicht leistet

IRT ist keine Zauberei. Ein paar ehrliche Grenzen:

  • Modelliert werden kategoriale Einfachauswahl-Schemata, radio und likert. Mehrfachauswahl wird nicht modelliert.
  • Es braucht überlappende Annotatoren. Wird jedes Element von einer anderen Person gelabelt, gibt es keine Übereinstimmungsstruktur, aus der sich lernen ließe, und das Modell meldet, dass es noch aufwärmt.
  • Bei einem einzigen Annotator oder durchgängig einstimmigen Labels ist die Anpassung konstruktionsbedingt entartet. Das ist korrektes Verhalten und kein Fehler.

Im Gegenzug bekommt man einen Datensatz, in dem jedes Label seine eigene Unsicherheit mitbringt, einen Annotatorenpool, den man versteht, und eine Liste der Stellen, an denen das Codebuch kaputt ist.

Weiterführende Informationen