Skip to content
Docs/Annotation Types

Triage

Accept/reject/skip interface for rapid data screening and filtering.

Triage

The triage annotation schema provides a Prodigy-style binary accept/reject/skip interface optimized for rapid data curation tasks. This schema is ideal for filtering large datasets, performing data quality checks, or any task requiring quick binary decisions.

Overview

The triage schema presents three large, visually distinct buttons:

  • Keep (green) - Accept the item for inclusion
  • Discard (red) - Reject the item
  • Unsure (gray) - Skip when uncertain

With auto-advance enabled (default), annotators can process hundreds of items per hour using just keyboard shortcuts.

Quick Start

yaml
annotation_schemes:
  - annotation_type: triage
    name: data_quality
    description: Is this data sample suitable for training?
    auto_advance: true
    show_progress: true

Configuration Options

FieldTypeDefaultDescription
annotation_typestringRequiredMust be "triage"
namestringRequiredUnique identifier for this schema
descriptionstringRequiredInstructions displayed to annotators
accept_labelstring"Keep"Text label for the accept button
reject_labelstring"Discard"Text label for the reject button
skip_labelstring"Unsure"Text label for the skip button
auto_advancebooleantrueAutomatically move to next item after selection
show_progressbooleantrueDisplay progress bar in the triage widget
accept_keystring"1"Keyboard shortcut for accept
reject_keystring"2"Keyboard shortcut for reject
skip_keystring"3"Keyboard shortcut for skip

Examples

Data Quality Filtering

yaml
annotation_schemes:
  - annotation_type: triage
    name: quality_filter
    description: Is this text high quality and suitable for training?
    auto_advance: true

Content Moderation

yaml
annotation_schemes:
  - annotation_type: triage
    name: content_moderation
    description: Does this content violate community guidelines?
    accept_label: "Safe"
    reject_label: "Violates"
    skip_label: "Review Later"
    auto_advance: true

Relevance Filtering

yaml
annotation_schemes:
  - annotation_type: triage
    name: relevance
    description: Is this document relevant to the query?
    accept_label: "Relevant"
    reject_label: "Not Relevant"
    skip_label: "Partially Relevant"

Combined with Other Schemas

Triage can be combined with other annotation types for both filtering and detailed annotation:

yaml
annotation_schemes:
  - annotation_type: triage
    name: include_item
    description: Should this item be included in the dataset?
    auto_advance: false  # Don't auto-advance when combined
 
  - annotation_type: radio
    name: category
    description: What category does this belong to?
    labels: ["News", "Opinion", "Review", "Other"]

Keyboard Shortcuts

KeyAction
1Keep (Accept)
2Discard (Reject)
3Unsure (Skip)

The keys 1, 2, 3 are adjacent on the keyboard, allowing fast annotation without looking at the keyboard.

Output Format

json
{
  "data_quality": {
    "labels": {
      "decision": "accept"
    }
  }
}

Possible values: "accept", "reject", "skip".

Best Practices

  1. Use auto-advance for high-throughput tasks - significantly improves throughput for simple decisions
  2. Disable auto-advance for complex decisions - when annotators need time to think or make additional annotations
  3. Provide clear descriptions - make triage criteria unambiguous for consistent annotations
  4. Use meaningful labels - customize labels to match your specific use case
  5. Combine with attention checks - for crowdsourcing, insert known items to verify quality

Further Reading

For implementation details, see the source documentation.