MACE-Kompetenzschätzung
Annotator-Kompetenz und wahre Labels mit dem MACE-Algorithmus schätzen.
MACE-Kompetenzschätzung
MACE (Multi-Annotator Competence Estimation) ist ein Variational-Bayes-EM-Algorithmus, der gemeinsam wahre Labels für jedes Element und Annotator-Kompetenzwerte schätzt. Er modelliert jeden Annotator als entweder "wissend" (erzeugt korrekte Labels) oder "ratend" (erzeugt zufällige Labels) und liefert einen Kompetenzwert zwischen 0,0 und 1,0.
Wann MACE verwenden
MACE ist nützlich, wenn mehrere Annotatoren dieselben Elemente beschriften und Sie folgendes möchten:
- Herausfinden, welche Annotatoren am zuverlässigsten sind
- Höherwertige vorhergesagte Labels durch Gewichtung der Annotatorbeiträge erzeugen
- Minderwertige Annotatoren (Spammer) automatisch erkennen
- Label-Unsicherheit (Entropie) pro Element messen
MACE funktioniert mit kategorialen Annotationstypen: radio, likert, select und multiselect. Es gilt nicht für Freitext-, Span-, Schieberegler- oder numerische Annotationen.
Funktionsweise
- Datenextraktion: Potato sammelt alle Annotationen für jedes Schema über alle Annotatoren und erstellt eine Elemente-mal-Annotatoren-Matrix
- EM-Algorithmus: MACE führt mehrere zufällige Neustarts des Variational-Bayes-EM-Algorithmus aus und behält die Lösung mit der besten Log-Likelihood
- Ausgabe: Für jedes Schema erzeugt MACE vorhergesagte Labels, Label-Entropie (Unsicherheit) und Kompetenzwerte pro Annotator
- Auslösung: MACE läuft automatisch nach je N neuen Annotationen (konfigurierbar) oder kann manuell über die Admin-API ausgelöst werden
Konfiguration
mace:
enabled: true
# Run MACE after every N new annotations
trigger_every_n: 10
# Minimum annotators per item before including in computation
min_annotations_per_item: 3
# Minimum eligible items before MACE will run
min_items: 5
# EM algorithm parameters
num_restarts: 10
num_iters: 50
alpha: 0.5 # Prior for annotator spamming (Beta distribution)
beta: 0.5 # Prior for guessing strategy (Dirichlet distribution)Minimalkonfiguration
mace:
enabled: trueVerwendet alle Standardwerte: wird nach 10 Annotationen ausgelöst, erfordert 3 Annotatoren pro Element, mindestens 5 förderfähige Elemente, 10 Neustarts mit jeweils 50 Iterationen.
Konfigurationsreferenz
| Option | Typ | Standard | Beschreibung |
|---|---|---|---|
enabled | boolean | false | MACE aktivieren |
trigger_every_n | integer | 10 | Nach je N neuen Annotationen ausführen |
min_annotations_per_item | integer | 3 | Mindestannotatoren pro Element (muss >= 2 sein) |
min_items | integer | 5 | Mindestförderfähige Elemente vor der Ausführung |
num_restarts | integer | 10 | Zufällige Neustarts für EM |
num_iters | integer | 50 | EM-Iterationen pro Neustart |
alpha | float | 0,5 | Prior für Annotator-Spamming |
beta | float | 0,5 | Prior für Ratestrategie |
Admin-API-Endpunkte
Alle MACE-Endpunkte erfordern Admin-Authentifizierung über den X-API-Key-Header.
Übersicht
curl http://localhost:8000/admin/api/mace/overview \
-H "X-API-Key: your-admin-key"Gibt Annotator-Kompetenzwerte und MACE-Status zurück:
{
"enabled": true,
"has_results": true,
"schemas": ["sentiment"],
"annotator_competence": {
"user_1": {"average": 0.92, "per_schema": {"sentiment": 0.92}},
"user_2": {"average": 0.85, "per_schema": {"sentiment": 0.85}},
"user_3": {"average": 0.45, "per_schema": {"sentiment": 0.45}}
},
"total_annotations": 30,
"annotations_until_next_run": 0
}Vorhersagen
curl "http://localhost:8000/admin/api/mace/predictions?schema=sentiment" \
-H "X-API-Key: your-admin-key"Gibt vorhergesagte Labels und Entropie für jedes Element zurück.
Manuelles Auslösen
curl -X POST http://localhost:8000/admin/api/mace/trigger \
-H "X-API-Key: your-admin-key"Ergebnisse interpretieren
Annotator-Kompetenz
- 0,9–1,0: Hochzuverlässiger Annotator
- 0,7–0,9: Guter Annotator, gelegentliche Meinungsverschiedenheiten
- 0,5–0,7: Mäßiger Annotator, könnte von zusätzlichem Training profitieren
- Unter 0,5: Möglicher Spammer oder verwirrter Annotator
Label-Entropie
- Nahe 0,0: Hohe Konfidenz im vorhergesagten Label
- Über 0,5: Mäßige Unsicherheit, Element könnte tatsächlich mehrdeutig sein
- Nahe log(Anzahl_Labels): Maximale Unsicherheit, kein Konsens
Adjudikations-Integration
Wenn sowohl MACE als auch Adjudikation aktiviert sind, erscheinen MACE-vorhergesagte Labels als zusätzliches Signal in der Adjudikationsoberfläche:
adjudication:
enabled: true
adjudicator_users: ["admin"]
min_annotations: 2
mace:
enabled: true
trigger_every_n: 10
min_annotations_per_item: 2Bewährte Vorgehensweisen
- Mit Standardwerten beginnen – die Standardkonfiguration funktioniert für die meisten Szenarien gut
- Kompetenzwerte überwachen – Admin-Dashboard nutzen, um Annotatorqualität im Zeitverlauf zu verfolgen
- Mit Trainingsphasen kombinieren – Training verwenden, um Annotatoren zu qualifizieren, dann MACE zur laufenden Qualitätsüberwachung
- Angemessene Schwellenwerte setzen –
min_annotations_per_itemfür kleinere Annotationsprojekte verringern
Weiterführende Informationen
- Qualitätskontrolle – Andere Qualitätskontrollmechanismen
- Admin-Dashboard – Annotationsfortschritt überwachen
- AI-Unterstützung – KI-gestützte Annotation
Implementierungsdetails finden Sie in der Quelldokumentation.