Skip to content
यह पृष्ठ अभी आपकी भाषा में उपलब्ध नहीं है। अंग्रेज़ी संस्करण दिखाया जा रहा है।

Kategoriezuweisung

Annotationselemente basierend auf nachgewiesener Expertise an Annotatoren weiterleiten.

Kategoriebasierte Zuweisung

Die kategoriebasierte Zuweisung ordnet Annotatoren automatisch Annotationsinstanzen basierend auf ihrer nachgewiesenen Expertise zu. Annotatoren werden in den Trainingsphasen anhand kategorienspezifischer Fragen bewertet und erhalten nur Instanzen aus Kategorien, für die sie qualifiziert sind.

Übersicht

Das kategoriebasierte Zuweisungssystem funktioniert wie folgt:

  1. Daten-Tagging: Instanzen in Ihren Datendateien werden mit Kategorien versehen
  2. Trainingsbewertung: Trainingsfragen werden ebenfalls mit Kategorien versehen
  3. Leistungsverfolgung: Das System verfolgt die Genauigkeit pro Kategorie während des Trainings
  4. Qualifizierung: Nutzer, die den Schwellenwert erreichen, sind "qualifiziert"
  5. Zuweisung: Nutzer erhalten nur Instanzen aus ihren qualifizierten Kategorien

Konfiguration

Grundeinrichtung

yaml
# Enable category-based assignment strategy
assignment_strategy: category_based
 
# Configure category key in item_properties
item_properties:
  id_key: id
  text_key: text
  category_key: category  # Field containing category
 
# Category assignment settings
category_assignment:
  enabled: true
  qualification:
    source: training      # Where qualification comes from
    threshold: 0.7        # 70% accuracy required
    min_questions: 2      # At least 2 questions per category
  fallback: uncategorized # What to do if user qualifies for nothing

Konfigurationsoptionen

OptionTypStandardBeschreibung
enabledbooleantrueKategoriezuweisung aktivieren/deaktivieren
qualification.sourcestring"training"Quelle: "training", "prestudy" oder "both"
qualification.thresholdfloat0.7Mindestgenauigkeit (0,0–1,0) zur Qualifizierung
qualification.min_questionsinteger1Mindestfragen pro Kategorie
fallbackstring"uncategorized"Verhalten, wenn Nutzer sich nicht qualifiziert

Fallback-Optionen

  • uncategorized: Instanzen ohne Kategorie zuweisen
  • random: Zufällig aus allen verbleibenden Instanzen zuweisen
  • none: Keine Instanzen zuweisen

Datenformat

Instanzdaten

Das Kategorienfeld in Ihren Datendateien einfügen:

json
{"id": "econ_001", "text": "Market analysis...", "category": "economics"}
{"id": "sci_001", "text": "Research findings...", "category": "science"}
{"id": "multi_001", "text": "Interdisciplinary...", "category": ["economics", "science"]}
{"id": "general_001", "text": "General content...", "category": null}

Trainingsdaten

Trainingsinstanzen sollten Kategorien enthalten:

json
{
  "training_instances": [
    {
      "id": "train_econ_1",
      "text": "Question about economic concepts...",
      "category": "economics",
      "correct_answers": {"topic": "Economics"},
      "explanation": "This is an economics topic because..."
    }
  ]
}

Qualifizierungsprozess

Während des Trainings

Wenn Nutzer Trainingsfragen beantworten:

  1. Das System erfasst die Kategorie jeder Frage
  2. Für jede Kategorie wird verfolgt:
    • Gesamte beantwortete Fragen
    • Anzahl richtiger Antworten
    • Genauigkeit (richtig / gesamt)

Nach dem Training

Wenn ein Nutzer das Training besteht:

  1. Genauigkeit wird für jede Kategorie berechnet
  2. Kategorien, die sowohl den Schwellenwert als auch die Mindestfragenanzahl erfüllen, werden zu "qualifizierten Kategorien" hinzugefügt
  3. Qualifizierungen bleiben für die Sitzung bestehen

Beispiel

Bei einem Schwellenwert von 0,7 (70 %) und min_questions von 2:

KategorieFragenRichtigGenauigkeitQualifiziert?
Wirtschaft33100 %Ja
Wissenschaft2150 %Nein (unter Schwellenwert)
Sport11100 %Nein (unter Mindestfragen)

Nutzer würde nur „Wirtschaft"-Instanzen erhalten.

Anwendungsfälle

Expertenweiterleitng

Spezialisierte Inhalte an qualifizierte Annotatoren weiterleiten:

  • Medizinische Texte an Annotatoren mit medizinischen Kenntnissen
  • Rechtliche Dokumente an Personen mit Rechtskenntnissen
  • Technische Inhalte an technisch versierte Personen

Qualitätskontrolle

Qualität sicherstellen, indem Inhalte nur qualifizierten Personen zugewiesen werden:

  • Annotatoren müssen vor der eigentlichen Arbeit Kompetenz nachweisen
  • Unterschiedliche Qualitätsschwellenwerte für verschiedene Inhaltstypen

Arbeitsverteilung

Arbeit basierend auf Expertise verteilen:

  • Hochkomplexe Elemente an Experten-Annotatoren
  • Allgemeine Elemente an alle Annotatoren

Dynamischer Expertise-Modus

Der dynamische Expertise-Modus ermöglicht eine spontane Bewertung während der Annotation ohne Gold-gelabelte Trainingsdaten:

yaml
category_assignment:
  enabled: true
  dynamic:
    enabled: true
    agreement_method: majority_vote
    min_annotations_for_consensus: 2
    learning_rate: 0.1
    update_interval_seconds: 60
    base_probability: 0.1

Funktionsweise des dynamischen Modus

  1. Ausgangszustand: Alle Annotatoren starten mit neutraler Expertise (0,5) für alle Kategorien
  2. Probabilistische Zuweisung: Kategorien mit höherer Expertise haben höhere Zuweisungswahrscheinlichkeit
  3. Hintergrundverarbeitung: Berechnet periodisch Konsens und aktualisiert Expertise-Werte
  4. Expertise-Aktualisierungen: Werte steigen bei Übereinstimmung mit dem Konsens, fallen bei Abweichung

Konfigurationsoptionen

OptionTypStandardBeschreibung
agreement_methodstring"majority_vote"Wie der Konsens berechnet wird
min_annotations_for_consensusinteger2Mindestannotationen vor der Berechnung
learning_ratefloat0,1Wie schnell sich Expertise-Werte ändern
base_probabilityfloat0,1Minimale Wahrscheinlichkeit für jede Kategorie

API-Referenz

TrainingState-Methoden

python
# Record an answer for category tracking
training_state.record_category_answer(categories=['economics'], is_correct=True)
 
# Get score for a specific category
score = training_state.get_category_score('economics')
# Returns: {'correct': 3, 'total': 4, 'accuracy': 0.75}
 
# Get qualified categories based on threshold
qualified = training_state.get_qualified_categories(threshold=0.7, min_questions=2)

UserState-Methoden

python
# Add a qualified category
user_state.add_qualified_category('economics', score=0.85)
 
# Check if user is qualified for a category
is_qualified = user_state.is_qualified_for_category('economics')
 
# Get all qualified categories
categories = user_state.get_qualified_categories()

Fehlerbehebung

Nutzer erhalten keine Instanzen zugewiesen

  1. Prüfen, ob der Nutzer qualifizierte Kategorien hat (Trainingsleistung überprüfen)
  2. Gibt es Instanzen in diesen Kategorien, die noch nicht annotiert wurden?
  3. Ist fallback angemessen gesetzt?

Kategorien werden nicht verfolgt

  1. Sicherstellen, dass category_key in item_properties gesetzt ist
  2. Trainingsinstanzen haben das category-Feld
  3. category_assignment.enabled ist true

Weiterführende Informationen

Implementierungsdetails finden Sie in der Quelldokumentation.