Skip to content
هذه الصفحة غير متوفرة بلغتك بعد. يتم عرض النسخة الإنجليزية.

MACE Competence Estimation

MACE algorithm का उपयोग करके annotator competence और true labels का अनुमान लगाएँ।

MACE Competence Estimation

MACE (Multi-Annotator Competence Estimation) एक Variational Bayes EM algorithm है जो प्रत्येक item के लिए true labels और annotator competence scores दोनों का संयुक्त रूप से अनुमान लगाता है। यह प्रत्येक annotator को "knowing" (सही labels देता है) या "guessing" (random labels देता है) के रूप में model करता है, जो 0.0 और 1.0 के बीच एक competence score देता है।

MACE का उपयोग कब करें

MACE तब उपयोगी है जब आपके पास कई annotators एक ही items को label कर रहे हों और आप चाहते हों कि:

  • यह पहचानें कि कौन से annotators सबसे विश्वसनीय हैं
  • Annotator contributions को weight करके उच्च-गुणवत्ता वाले predicted labels उत्पन्न करें
  • Automatically कम-गुणवत्ता वाले annotators (spammers) का पता लगाएँ
  • Per-item label uncertainty (entropy) मापें

MACE categorical annotation types के साथ काम करता है: radio, likert, select, और multiselect। यह free-text, span, slider, या numeric annotations पर लागू नहीं होता।

यह कैसे काम करता है

  1. Data extraction: Potato सभी annotators में प्रत्येक schema के लिए सभी annotations एकत्र करता है, एक items-by-annotators matrix बनाता है
  2. EM algorithm: MACE Variational Bayes EM algorithm के कई random restarts चलाता है, सबसे अच्छे log-likelihood वाला solution रखता है
  3. Output: प्रत्येक schema के लिए, MACE predicted labels, label entropy (uncertainty), और per-annotator competence scores उत्पन्न करता है
  4. Triggering: MACE हर N नए annotations (configurable) के बाद स्वचालित रूप से चलता है, या admin API के माध्यम से manually trigger किया जा सकता है

कॉन्फ़िगरेशन

yaml
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)

न्यूनतम कॉन्फ़िगरेशन

yaml
mace:
  enabled: true

सभी defaults का उपयोग करता है: हर 10 annotations के बाद trigger होता है, प्रति item 3 annotators की आवश्यकता होती है, न्यूनतम 5 eligible items, 50 iterations के साथ 10 restarts।

कॉन्फ़िगरेशन Reference

OptionTypeDefaultविवरण
enabledbooleanfalseMACE सक्षम करें
trigger_every_ninteger10हर N नए annotations के बाद चलाएँ
min_annotations_per_iteminteger3प्रति item न्यूनतम annotators (>== 2 होना चाहिए)
min_itemsinteger5चलने से पहले न्यूनतम eligible items
num_restartsinteger10EM के लिए Random restarts
num_itersinteger50प्रति restart EM iterations
alphafloat0.5Annotator spamming के लिए Prior
betafloat0.5Guessing strategy के लिए Prior

Admin API Endpoints

सभी MACE endpoints के लिए X-API-Key header के माध्यम से admin authentication आवश्यक है।

Overview

bash
curl http://localhost:8000/admin/api/mace/overview \
  -H "X-API-Key: your-admin-key"

Annotator competence scores और MACE status लौटाता है:

json
{
  "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
}

Predictions

bash
curl "http://localhost:8000/admin/api/mace/predictions?schema=sentiment" \
  -H "X-API-Key: your-admin-key"

प्रत्येक item के लिए predicted labels और entropy लौटाता है।

Manual Trigger

bash
curl -X POST http://localhost:8000/admin/api/mace/trigger \
  -H "X-API-Key: your-admin-key"

परिणामों की व्याख्या

Annotator Competence

  • 0.9 - 1.0: अत्यधिक विश्वसनीय annotator
  • 0.7 - 0.9: अच्छा annotator, कभी-कभी असहमति
  • 0.5 - 0.7: मध्यम annotator, अतिरिक्त training से लाभ हो सकता है
  • 0.5 से नीचे: संभावित spammer या भ्रमित annotator

Label Entropy

  • 0.0 के निकट: Predicted label में उच्च confidence
  • 0.5 से ऊपर: मध्यम अनिश्चितता, item वास्तव में ambiguous हो सकता है
  • log(num_labels) के निकट: अधिकतम अनिश्चितता, कोई consensus नहीं

Adjudication एकीकरण

जब MACE और adjudication दोनों सक्षम हों, MACE predicted labels adjudication interface में एक अतिरिक्त signal के रूप में दिखाई देते हैं:

yaml
adjudication:
  enabled: true
  adjudicator_users: ["admin"]
  min_annotations: 2
 
mace:
  enabled: true
  trigger_every_n: 10
  min_annotations_per_item: 2

सर्वोत्तम प्रथाएँ

  1. Defaults से शुरू करें - default configuration अधिकांश scenarios के लिए अच्छी तरह काम करता है
  2. Competence scores की निगरानी करें - समय के साथ annotator quality ट्रैक करने के लिए admin dashboard का उपयोग करें
  3. Training phases के साथ मिलाएँ - Annotators को qualify करने के लिए training का उपयोग करें, फिर ongoing quality की निगरानी के लिए MACE
  4. उचित thresholds निर्धारित करें - छोटे annotation projects के लिए min_annotations_per_item कम करें

आगे पढ़ें

कार्यान्वयन विवरण के लिए, source documentation देखें।