Trainingsphase
Annotatoren mit Übungsfragen trainieren und qualifizieren, bevor die Hauptaufgabe beginnt.
Trainingsphase
Potato 2.0 enthält eine optionale Trainingsphase, die Annotatoren vor Beginn der Hauptannotationsaufgabe qualifiziert. Annotatoren beantworten Übungsfragen mit bekannten richtigen Antworten und erhalten Feedback zu ihrer Leistung.
Anwendungsfälle
- Sicherstellen, dass Annotatoren die Aufgabe verstehen
- Minderwertige Annotatoren herausfiltern
- Geführtes Üben vor echten Annotationen bereitstellen
- Grundlegende Qualitätsmetriken erfassen
- Annotationsrichtlinien durch Beispiele vermitteln
Funktionsweise
- Annotatoren beantworten eine Reihe von Trainingsfragen
- Sie erhalten sofortiges Feedback zu jeder Antwort
- Fortschritt wird gegenüber Bestehenskriterien verfolgt
- Nur Annotatoren, die bestehen, können zur Hauptaufgabe übergehen
Konfiguration
Grundeinrichtung
phases:
training:
enabled: true
data_file: "data/training_data.json"
schema_name: sentiment # Which annotation scheme to train
# Passing criteria
passing_criteria:
min_correct: 8 # Must get at least 8 correct
total_questions: 10Vollständige Konfiguration
phases:
training:
enabled: true
data_file: "data/training_data.json"
schema_name: sentiment
passing_criteria:
# Different criteria options (choose one or combine)
min_correct: 8
require_all_correct: false
max_mistakes: 3
max_mistakes_per_question: 2
# Allow retries
retries:
enabled: true
max_retries: 3
# Show explanations for incorrect answers
show_explanations: true
# Randomize question order
randomize: trueBestehenskriterien
Verschiedene Kriterien für das Bestehen der Trainingsphase können festgelegt werden:
Mindest-Richtige
passing_criteria:
min_correct: 8
total_questions: 10Annotator muss mindestens 8 von 10 Fragen richtig beantworten.
Alle richtig erforderlich
passing_criteria:
require_all_correct: trueAnnotator muss jede Frage richtig beantworten, um zu bestehen.
Maximale Fehler
passing_criteria:
max_mistakes: 3Annotator wird nach 3 Gesamtfehlern disqualifiziert.
Maximale Fehler pro Frage
passing_criteria:
max_mistakes_per_question: 2Annotator wird nach 2 Fehlern bei einer einzelnen Frage disqualifiziert.
Kombinierte Kriterien
passing_criteria:
min_correct: 8
max_mistakes_per_question: 3Muss 8 richtig UND keine einzelne Frage mehr als 3 Mal falsch beantworten.
Trainingsdatenformat
Trainingsdaten müssen richtige Antworten und optionale Erklärungen enthalten:
[
{
"id": "train_1",
"text": "I absolutely love this product! Best purchase ever!",
"correct_answers": {
"sentiment": "Positive"
},
"explanation": "This text expresses strong positive sentiment with words like 'love' and 'best'."
},
{
"id": "train_2",
"text": "This is the worst service I've ever experienced.",
"correct_answers": {
"sentiment": "Negative"
},
"explanation": "The words 'worst' and the overall complaint indicate negative sentiment."
},
{
"id": "train_3",
"text": "The package arrived on time.",
"correct_answers": {
"sentiment": "Neutral"
},
"explanation": "This is a factual statement without emotional indicators."
}
]Multi-Schema-Training
Für Aufgaben mit mehreren Annotationsschemata:
{
"id": "train_1",
"text": "Apple announced new iPhone features yesterday.",
"correct_answers": {
"sentiment": "Neutral",
"topic": "Technology"
},
"explanation": {
"sentiment": "This is a factual news statement.",
"topic": "The text discusses Apple and iPhone, which are tech topics."
}
}Nutzererfahrung
Trainingsablauf
- Nutzer sieht den Indikator "Trainingsphase"
- Frage wird mit Annotationsformular angezeigt
- Nutzer sendet seine Antwort ab
- Feedback wird sofort angezeigt:
- Richtig: Grünes Häkchen, weiter zur nächsten Frage
- Falsch: Rotes X, Erklärung angezeigt, Wiederholungsoption
Feedback-Anzeige
Wenn ein Annotator falsch antwortet:
- Die richtige Antwort wird hervorgehoben
- Die bereitgestellte Erklärung wird angezeigt
- Wiederholungsschaltfläche erscheint (wenn Wiederholungen aktiviert)
- Fortschritt zu den Bestehenskriterien wird angezeigt
Admin-Überwachung
Trainingsleistung im Admin-Dashboard verfolgen:
- Abschlussraten
- Durchschnittliche richtige Antworten
- Bestanden-/Nicht-bestanden-Raten
- Im Training verbrachte Zeit
- Genauigkeit pro Frage
Zugriff über /admin-API-Endpunkte:
GET /api/admin/training/stats
GET /api/admin/training/user/{user_id}
Beispiel: Sentiment-Analyse-Training
task_name: "Sentiment Analysis"
task_dir: "."
port: 8000
# Main annotation data
data_files:
- "data/reviews.json"
item_properties:
id_key: id
text_key: text
annotation_schemes:
- annotation_type: radio
name: sentiment
description: "What is the sentiment of this review?"
labels:
- Positive
- Negative
- Neutral
# Training phase configuration
phases:
training:
enabled: true
data_file: "data/training_questions.json"
schema_name: sentiment
passing_criteria:
min_correct: 8
total_questions: 10
max_mistakes_per_question: 2
retries:
enabled: true
max_retries: 3
show_explanations: true
randomize: true
output_annotation_dir: "output/"
output_annotation_format: "json"
allow_all_users: trueBeispiel: NER-Training
annotation_schemes:
- annotation_type: span
name: entities
description: "Highlight named entities"
labels:
- Person
- Organization
- Location
- Date
phases:
training:
enabled: true
data_file: "data/ner_training.json"
schema_name: entities
passing_criteria:
min_correct: 7
total_questions: 10
show_explanations: trueTrainingsdaten für Span-Annotation:
{
"id": "train_1",
"text": "Tim Cook announced that Apple will open a new store in New York on March 15.",
"correct_answers": {
"entities": [
{"start": 0, "end": 8, "label": "Person"},
{"start": 24, "end": 29, "label": "Organization"},
{"start": 54, "end": 62, "label": "Location"},
{"start": 66, "end": 74, "label": "Date"}
]
},
"explanation": "Tim Cook is a Person, Apple is an Organization, New York is a Location, and March 15 is a Date."
}Bewährte Vorgehensweisen
1. Einfach beginnen
Mit einfachen Beispielen beginnen, bevor Grenzfälle eingeführt werden:
[
{"text": "I love this!", "correct_answers": {"sentiment": "Positive"}},
{"text": "I hate this!", "correct_answers": {"sentiment": "Negative"}},
{"text": "It arrived yesterday.", "correct_answers": {"sentiment": "Neutral"}}
]2. Alle Labels abdecken
Sicherstellen, dass das Training Beispiele für jedes mögliche Label enthält:
[
{"correct_answers": {"sentiment": "Positive"}},
{"correct_answers": {"sentiment": "Negative"}},
{"correct_answers": {"sentiment": "Neutral"}}
]3. Klare Erklärungen schreiben
Erklärungen sollten die Annotationsrichtlinien vermitteln:
{
"explanation": "While this text mentions a problem, the overall tone is constructive and the reviewer expresses satisfaction with the resolution. This makes it Positive rather than Negative."
}4. Angemessene Kriterien festlegen
Keine unnötige Perfektion fordern:
# Too strict - may lose good annotators
passing_criteria:
require_all_correct: true
# Better - allows for learning
passing_criteria:
min_correct: 8
total_questions: 105. Grenzfälle einschließen
Knifflige Beispiele hinzufügen, um Annotatoren vorzubereiten:
{
"text": "Not bad at all, I guess it could be worse.",
"correct_answers": {"sentiment": "Neutral"},
"explanation": "Despite negative words like 'not bad' and 'worse', this is actually a lukewarm endorsement - neutral rather than positive or negative."
}Integration mit Workflows
Training integriert sich in mehrphasige Workflows:
phases:
consent:
enabled: true
data_file: "data/consent.json"
prestudy:
enabled: true
data_file: "data/demographics.json"
instructions:
enabled: true
content: "data/instructions.html"
training:
enabled: true
data_file: "data/training.json"
schema_name: sentiment
passing_criteria:
min_correct: 8
annotation:
# Main task - always enabled
enabled: true
poststudy:
enabled: true
data_file: "data/feedback.json"Leistungsüberlegungen
- Trainingsdaten werden beim Start geladen
- Fortschritt wird im Arbeitsspeicher pro Sitzung gespeichert
- Minimale Auswirkung auf die Hauptannotationsleistung
- Bei komplexem Training die Aufteilung auf mehrere Phasen erwägen
Weiterführende Informationen
- Qualitätskontrolle – Aufmerksamkeitschecks und Gold-Standards
- Kategoriezuweisung – Elemente nach Annotator-Expertise weiterleiten
- Mehrphasige Workflows – Komplexe Annotationsworkflows
Implementierungsdetails finden Sie in der Quelldokumentation.