Skip to content
このページはまだお使いの言語に翻訳されていません。英語版を表示しています。

Ordinamento per Diversità

Diversificazione degli elementi basata su embedding per massimizzare la varietà delle annotazioni.

Ordinamento per Diversità

L'ordinamento per diversità usa embedding sentence-transformer per raggruppare gli elementi simili, poi campiona gli elementi in modo round-robin da cluster diversi. Questo garantisce che gli annotatori vedano contenuti diversificati piuttosto che elementi simili in sequenza.

Vantaggi

  • Riduce l'affaticamento degli annotatori da contenuti ripetitivi
  • Migliora la qualità delle annotazioni attraverso contesti variati
  • Copertura più rapida dell'intero spazio degli argomenti

Avvio Rapido

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

Come Funziona

  1. Avvio: I primi N elementi vengono incorporati usando sentence-transformers e raggruppati con k-means
  2. Assegnazione: Gli elementi vengono campionati round-robin dai cluster, garantendo varietà
  3. Annotazione: I nuovi elementi vengono incorporati in modo asincrono man mano che vengono annotati
  4. Re-clustering: Quando un utente ha campionato da tutti i cluster, il sistema effettua nuovamente il clustering

Configurazione

yaml
diversity_ordering:
  enabled: true
 
  # Modello sentence-transformer
  model_name: "all-MiniLM-L6-v2"
 
  # Parametri di clustering
  num_clusters: 10
  items_per_cluster: 20
  auto_clusters: true           # Calcola automaticamente in base alla dimensione dei dati
 
  # Pre-compilazione all'avvio
  prefill_count: 100
  batch_size: 32
 
  # Comportamento di re-clustering
  recluster_threshold: 1.0      # Ri-clustera quando tutti i cluster sono stati campionati
 
  # Preservazione dell'ordine
  preserve_visited: true
 
  # Integrazione AI
  trigger_ai_prefetch: true

Riferimento alla Configurazione

OpzioneTipoPredefinitoDescrizione
enabledbooleanofalseAbilita l'ordinamento per diversità
model_namestringa"all-MiniLM-L6-v2"Modello sentence-transformers
num_clustersintero10Numero di cluster (quando auto_clusters=false)
items_per_clusterintero20Dimensione target del cluster (quando auto_clusters=true)
auto_clustersbooleanotrueCalcola automaticamente il numero di cluster
prefill_countintero100Elementi da incorporare all'avvio
batch_sizeintero32Dimensione del batch per il calcolo degli embedding
recluster_thresholdfloat1.0Frazione dei cluster da campionare prima del re-clustering
preserve_visitedbooleanotrueMantieni gli elementi visitati/saltati al loro posto
trigger_ai_prefetchbooleanotrueAttiva la cache AI dopo il riordinamento

Requisiti

bash
pip install sentence-transformers scikit-learn

Queste sono dipendenze opzionali. Senza di esse, la funzionalità verrà disabilitata con un avviso.

Prestazioni

  • Avvio: ~10 secondi per 100 elementi, ~30 secondi per 500 elementi (prima esecuzione; poi memorizzata nella cache)
  • Memoria: ~1,5 KB per elemento (all-MiniLM-L6-v2), ~15 MB per 10.000 elementi
  • Cache: Gli embedding vengono persisti su disco in .diversity_cache/

Interazione con Altre Funzionalità

  • Supporto AI: Quando trigger_ai_prefetch: true, i suggerimenti AI vengono precaricati automaticamente per gli elementi riordinati
  • Apprendimento Attivo: Può essere combinato iniziando con il clustering per diversità per la copertura iniziale, poi passando all'apprendimento attivo
  • Preservazione dell'Ordine: Quando preserve_visited: true, gli elementi visti in precedenza mantengono la loro posizione

Esempio Completo

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

Ulteriori Letture

Per i dettagli di implementazione, consulta la documentazione sorgente.