Ordenamiento por Diversidad
Diversificación de elementos basada en embeddings para maximizar la variedad en la anotación.
Ordenamiento por Diversidad
El ordenamiento por diversidad utiliza embeddings de sentence-transformers para agrupar elementos similares, luego muestrea elementos en forma round-robin de diferentes clusters. Esto asegura que los anotadores vean contenido diverso en lugar de elementos similares en secuencia.
Beneficios
- Reducir la fatiga del anotador por contenido repetitivo
- Mejorar la calidad de la anotación a través de contexto variado
- Cobertura más rápida del espacio completo de temas
Inicio Rápido
yaml
assignment_strategy: diversity_clustering
diversity_ordering:
enabled: true
prefill_count: 100Cómo Funciona
- Inicio: Los primeros N elementos se procesan con embeddings usando sentence-transformers y se agrupan con k-means
- Asignación: Los elementos se muestrean en round-robin de los clusters, asegurando variedad
- Anotación: Los nuevos elementos se procesan con embeddings de forma asíncrona a medida que se anotan
- Re-agrupamiento: Cuando un usuario ha muestreado de todos los clusters, el sistema reagrupa
Configuración
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: trueReferencia de Configuración
| Opción | Tipo | Predeterminado | Descripción |
|---|---|---|---|
enabled | boolean | false | Habilitar el ordenamiento por diversidad |
model_name | string | "all-MiniLM-L6-v2" | Modelo de sentence-transformers |
num_clusters | integer | 10 | Número de clusters (cuando auto_clusters=false) |
items_per_cluster | integer | 20 | Tamaño objetivo del cluster (cuando auto_clusters=true) |
auto_clusters | boolean | true | Calcular automáticamente la cantidad de clusters |
prefill_count | integer | 100 | Elementos para procesar con embeddings al inicio |
batch_size | integer | 32 | Tamaño de lote para el cálculo de embeddings |
recluster_threshold | float | 1.0 | Fracción de clusters a muestrear antes de reagrupar |
preserve_visited | boolean | true | Mantener los elementos visitados/omitidos en su lugar |
trigger_ai_prefetch | boolean | true | Activar caché de IA después de reordenar |
Requisitos
bash
pip install sentence-transformers scikit-learnEstas son dependencias opcionales. Sin ellas, la funcionalidad se deshabilitará con una advertencia.
Rendimiento
- Inicio: ~10 segundos para 100 elementos, ~30 segundos para 500 elementos (primera ejecución; se almacena en caché después)
- Memoria: ~1.5 KB por elemento (all-MiniLM-L6-v2), ~15 MB para 10,000 elementos
- Caché: Los embeddings se persisten en disco en
.diversity_cache/
Interacción con Otras Funcionalidades
- Soporte de IA: Cuando
trigger_ai_prefetch: true, las sugerencias de IA se precargan automáticamente para los elementos reordenados - Aprendizaje activo: Se puede combinar comenzando con agrupamiento por diversidad para cobertura inicial, luego cambiando a aprendizaje activo
- Preservación de orden: Cuando
preserve_visited: true, los elementos vistos previamente mantienen su posición
Ejemplo 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: HealthLecturas Adicionales
- Soporte de IA - Sugerencias de etiquetas por IA
- Aprendizaje Activo - Priorización de instancias basada en ML
- Resaltado de Opciones - Guía de opciones asistida por IA
Para detalles de implementación, consulta la documentación fuente.