Skip to content
Cette page n'est pas encore disponible dans votre langue. La version anglaise est affichée.

Diversity Ordering

Embedding-basierte Elementdiversifizierung zur Maximierung der Annotationsvielfalt.

Diversity Ordering

Diversity Ordering verwendet Sentence-Transformer-Embeddings, um ähnliche Elemente zusammenzucluster, und entnimmt dann in Round-Robin-Manier Elemente aus verschiedenen Clustern. So sehen Annotatoren abwechslungsreiche Inhalte, anstatt ähnliche Elemente nacheinander.

Vorteile

  • Annotatorermüdung reduzieren durch repetitive Inhalte
  • Annotationsqualität verbessern durch wechselnden Kontext
  • Schnellere Abdeckung des gesamten Themenraums

Schnellstart

yaml
assignment_strategy: diversity_clustering
 
diversity_ordering:
  enabled: true
  prefill_count: 100

Funktionsweise

  1. Start: Die ersten N Elemente werden mit Sentence-Transformers eingebettet und mit k-Means geclustert
  2. Zuweisung: Elemente werden in Round-Robin-Manier aus Clustern entnommen, um Vielfalt zu gewährleisten
  3. Annotation: Neue Elemente werden asynchron eingebettet, während sie annotiert werden
  4. Re-Clustering: Wenn ein Nutzer aus allen Clustern Elemente entnommen hat, wird das System neu geclustert

Konfiguration

yaml
diversity_ordering:
  enabled: true
 
  # Sentence-transformer model
  model_name: "all-MiniLM-L6-v2"
 
  # Clustering parameters
  num_clusters: 10
  items_per_cluster: 20
  auto_clusters: true           # Auto-calculate based on data size
 
  # Prefill on startup
  prefill_count: 100
  batch_size: 32
 
  # Re-clustering behavior
  recluster_threshold: 1.0      # Recluster when all clusters sampled
 
  # Order preservation
  preserve_visited: true
 
  # AI integration
  trigger_ai_prefetch: true

Konfigurationsreferenz

OptionTypStandardBeschreibung
enabledbooleanfalseDiversity Ordering aktivieren
model_namestring"all-MiniLM-L6-v2"Sentence-Transformers-Modell
num_clustersinteger10Anzahl der Cluster (wenn auto_clusters=false)
items_per_clusterinteger20Ziel-Clustergröße (wenn auto_clusters=true)
auto_clustersbooleantrueClusteranzahl automatisch berechnen
prefill_countinteger100Beim Start einzubettende Elemente
batch_sizeinteger32Batch-Größe für Embedding-Berechnung
recluster_thresholdfloat1,0Anteil der zu entnehmenden Cluster vor Re-Clustering
preserve_visitedbooleantrueBesuchte/übersprungene Elemente an ihrer Position belassen
trigger_ai_prefetchbooleantrueAI-Cache nach Neuordnung auslösen

Anforderungen

bash
pip install sentence-transformers scikit-learn

Dies sind optionale Abhängigkeiten. Ohne sie wird die Funktion mit einer Warnung deaktiviert.

Leistung

  • Start: ~10 Sekunden für 100 Elemente, ~30 Sekunden für 500 Elemente (erstmaliger Lauf; danach gecacht)
  • Speicher: ~1,5 KB pro Element (all-MiniLM-L6-v2), ~15 MB für 10.000 Elemente
  • Cache: Embeddings werden in .diversity_cache/ auf Festplatte gespeichert

Interaktion mit anderen Funktionen

  • AI-Unterstützung: Wenn trigger_ai_prefetch: true, werden AI-Hinweise automatisch für neu geordnete Elemente vorabgeladen
  • Active Learning: Kann kombiniert werden, indem zunächst Diversity Clustering für die anfängliche Abdeckung genutzt wird, dann Umstieg auf Active Learning
  • Reihenfolgeerhaltung: Wenn preserve_visited: true, behalten zuvor gesehene Elemente ihre Position

Vollständiges Beispiel

yaml
annotation_task_name: "Diversity Ordering Test"
 
assignment_strategy: diversity_clustering
 
diversity_ordering:
  enabled: true
  model_name: "all-MiniLM-L6-v2"
  num_clusters: 5
  auto_clusters: false
  prefill_count: 100
  batch_size: 16
  recluster_threshold: 1.0
  preserve_visited: true
 
annotation_schemes:
  - annotation_type: radio
    name: topic
    description: "What is the main topic of this text?"
    labels:
      - name: Sports
      - name: Technology
      - name: Food
      - name: Travel
      - name: Health

Weiterführende Informationen

Implementierungsdetails finden Sie in der Quelldokumentation.