Skip to content
Esta página aún no está disponible en su idioma. Se muestra la versión en inglés.

Annotationsschemata

Definieren Sie, was und wie Annotatoren Ihre Daten beschriften.

Annotationsschemata

Annotationsschemata definieren die Beschriftungsaufgaben für Ihre Annotatoren. Potato 2.0 unterstützt vierzehn Annotationstypen, die kombiniert werden können, um komplexe Annotationsaufgaben zu erstellen.

Grundstruktur

Jedes Schema wird im Array annotation_schemes definiert:

yaml
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "What is the sentiment?"
    labels:
      - Positive
      - Negative
      - Neutral

Pflichtfelder

FeldBeschreibung
annotation_typeTyp der Annotation (radio, multiselect, likert, span, text, number, slider, multirate)
nameInterner Bezeichner (keine Leerzeichen, wird in der Ausgabe verwendet)
descriptionAnweisungen, die den Annotatoren angezeigt werden

Unterstützte Annotationstypen

1. Radio (Einfachauswahl)

Genau eine Option aus einer Liste auswählen:

yaml
- annotation_type: radio
  name: sentiment
  description: "What is the sentiment of this text?"
  labels:
    - Positive
    - Negative
    - Neutral
 
  # Optional features
  keyboard_shortcuts:
    Positive: "1"
    Negative: "2"
    Neutral: "3"
 
  # Or use sequential binding (1, 2, 3... automatically)
  sequential_key_binding: true
 
  # Horizontal layout instead of vertical
  horizontal: true

2. Likert-Skala

Bewertungsskalen mit beschrifteten Endpunkten:

yaml
- annotation_type: likert
  name: agreement
  description: "How much do you agree with this statement?"
  size: 5  # Number of scale points
  min_label: "Strongly Disagree"
  max_label: "Strongly Agree"
 
  # Optional mid-point label
  mid_label: "Neutral"
 
  # Show numeric values
  show_numbers: true

3. Multiselect (Mehrfachauswahl)

Mehrere Optionen aus einer Liste auswählen:

yaml
- annotation_type: multiselect
  name: topics
  description: "Select all relevant topics"
  labels:
    - Politics
    - Technology
    - Sports
    - Entertainment
    - Science
 
  # Selection constraints
  min_selections: 1
  max_selections: 3
 
  # Allow free text response
  free_response: true
  free_response_label: "Other (specify)"

4. Span-Annotation

Textabschnitte markieren und beschriften:

yaml
- annotation_type: span
  name: entities
  description: "Highlight named entities in the text"
  labels:
    - PERSON
    - ORGANIZATION
    - LOCATION
    - DATE
 
  # Visual customization
  label_colors:
    PERSON: "#3b82f6"
    ORGANIZATION: "#10b981"
    LOCATION: "#f59e0b"
    DATE: "#8b5cf6"
 
  # Allow overlapping spans
  allow_overlapping: false
 
  # Keyboard shortcuts for labels
  sequential_key_binding: true

5. Schieberegler

Kontinuierlicher numerischer Bereich:

yaml
- annotation_type: slider
  name: confidence
  description: "How confident are you in your answer?"
  min: 0
  max: 100
  step: 1
  default: 50
 
  # Endpoint labels
  min_label: "Not confident"
  max_label: "Very confident"
 
  # Show current value
  show_value: true

6. Texteingabe

Freitext-Antworten:

yaml
- annotation_type: text
  name: explanation
  description: "Explain your reasoning"
 
  # Multi-line input
  textarea: true
 
  # Character limits
  min_length: 10
  max_length: 500
 
  # Placeholder text
  placeholder: "Enter your explanation here..."
 
  # Disable paste (for transcription tasks)
  disable_paste: true

7. Zahleneingabe

Numerische Eingabe mit Einschränkungen:

yaml
- annotation_type: number
  name: count
  description: "How many entities are mentioned?"
  min: 0
  max: 100
  step: 1
  default: 0

8. Multirate (Matrixbewertung)

Mehrere Elemente auf der gleichen Skala bewerten:

yaml
- annotation_type: multirate
  name: quality_aspects
  description: "Rate each aspect of the response"
  items:
    - Accuracy
    - Clarity
    - Completeness
    - Relevance
  size: 5  # Scale points
  min_label: "Poor"
  max_label: "Excellent"
 
  # Randomize item order
  randomize: true
 
  # Layout options
  compact: false

Allgemeine Optionen

Tastaturkürzel

Annotation durch Tastenbelegung beschleunigen:

yaml
# Manual shortcuts
keyboard_shortcuts:
  Positive: "1"
  Negative: "2"
  Neutral: "3"
 
# Or automatic sequential binding
sequential_key_binding: true  # Assigns 1, 2, 3...

Tooltips

Hover-Hinweise für Beschriftungen bereitstellen:

yaml
tooltips:
  Positive: "Expresses happiness, approval, or satisfaction"
  Negative: "Expresses sadness, anger, or disappointment"
  Neutral: "No clear emotional content"

Beschriftungsfarben

Benutzerdefinierte Farben zur visuellen Unterscheidung:

yaml
label_colors:
  PERSON: "#3b82f6"
  LOCATION: "#10b981"
  ORGANIZATION: "#f59e0b"

Pflichtfelder

Ein Schema vor der Einreichung als Pflichtfeld markieren:

yaml
- annotation_type: radio
  name: sentiment
  required: true
  labels:
    - Positive
    - Negative

Mehrere Schemata

Mehrere Annotationstypen pro Instanz kombinieren:

yaml
annotation_schemes:
  # Primary classification
  - annotation_type: radio
    name: sentiment
    description: "Overall sentiment"
    labels:
      - Positive
      - Negative
      - Neutral
    required: true
    sequential_key_binding: true
 
  # Confidence rating
  - annotation_type: likert
    name: confidence
    description: "How confident are you?"
    size: 5
    min_label: "Guessing"
    max_label: "Certain"
 
  # Topic tags
  - annotation_type: multiselect
    name: topics
    description: "Select all relevant topics"
    labels:
      - Politics
      - Technology
      - Sports
      - Entertainment
    free_response: true
 
  # Notes
  - annotation_type: text
    name: notes
    description: "Any additional observations?"
    textarea: true
    required: false

Erweiterte Funktionen

Paarweiser Vergleich

Zwei Elemente vergleichen:

yaml
- annotation_type: pairwise
  name: preference
  description: "Which response is better?"
  options:
    - label: "Response A"
      value: "A"
    - label: "Response B"
      value: "B"
    - label: "Equal"
      value: "tie"
 
  # Allow tie selection
  allow_tie: true

Best-Worst Scaling

Elemente durch Auswahl von bestem und schlechtestem Eintrag einordnen:

yaml
- annotation_type: best_worst
  name: ranking
  description: "Select the best and worst items"
  # Items come from the data file

Platzsparende Einfachauswahl:

yaml
- annotation_type: select
  name: category
  description: "Select a category"
  labels:
    - Category A
    - Category B
    - Category C
    - Category D
    - Category E
 
  # Default selection
  default: "Category A"

Datenformat-Referenz

Eingabe

Annotationsschemata arbeiten mit Ihrem Datenformat:

json
{
  "id": "doc_1",
  "text": "This is the text to annotate."
}

Ausgabe

Annotationen werden mit Schemanamen als Schlüssel gespeichert:

json
{
  "id": "doc_1",
  "annotations": {
    "sentiment": "Positive",
    "confidence": 4,
    "topics": ["Technology", "Science"],
    "entities": [
      {"start": 0, "end": 4, "label": "ORGANIZATION", "text": "This"}
    ],
    "notes": "Clear positive sentiment about technology."
  }
}

Bewährte Vorgehensweisen

1. Klare Beschriftungen

Eindeutige, klar unterscheidbare Beschriftungen verwenden:

yaml
# Good
labels:
  - Strongly Positive
  - Somewhat Positive
  - Neutral
  - Somewhat Negative
  - Strongly Negative
 
# Avoid
labels:
  - Good
  - OK
  - Fine
  - Acceptable

2. Hilfreiche Tooltips

Tooltips für nuancierte Beschriftungen hinzufügen:

yaml
tooltips:
  Sarcasm: "The text says the opposite of what it means"
  Irony: "A mismatch between expectation and reality"

3. Tastaturkürzel

Kürzel für hochvolumige Aufgaben aktivieren:

yaml
sequential_key_binding: true

4. Logische Reihenfolge

Beschriftungen konsistent ordnen:

  • Häufigste zuerst
  • Alphabetisch
  • Nach Intensität (niedrig bis hoch)

5. Optionen begrenzen

Zu viele Optionen verlangsamen die Annotation:

  • Radio: 2–7 Optionen
  • Multiselect: 5–15 Optionen
  • Likert: 5–7 Punkte

6. Zuerst testen

Annotieren Sie selbst einige Beispiele, bevor Sie das System in Betrieb nehmen, um zu erkennen:

  • Mehrdeutige Beschriftungen
  • Fehlende Kategorien
  • Unklare Anweisungen