Cobertura heterogénea de anotadores
Asigna distintos números de anotadores a distintos ítems. Configura un tope predeterminado, una muestra de solapamiento estratificada para monitorear la calidad, refuerzos adaptativos ante el desacuerdo, cuotas por anotador y enrutamiento automático a adjudicación.
La cobertura heterogénea te permite asignar distintos números de anotadores a distintos ítems en lugar de un tope uniforme. El diseño de investigación habitual es un anotador en la mayoría de los ítems, con dos o tres solapándose en una muestra del 5–10 % para monitorear la calidad. Potato expresa esto mediante los bloques de configuración num_annotators_per_item y per_annotator_quota.
Topes de anotadores por ítem
num_annotators_per_item es la clave canónica. Acepta un único entero para un tope uniforme, o una asignación estructurada con un valor predeterminado, una muestra de solapamiento y un refuerzo adaptativo opcional:
num_annotators_per_item:
default: 1
overlap_sample:
fraction: 0.1
count: 3
stratify_by: domain
seed: 42
adaptive:
enabled: true
disagreement_threshold: 0.5
boost_to: 3
min: 1max_annotations_per_item es ahora un alias obsoleto de num_annotators_per_item: <int>.
Muestra de solapamiento
El bloque overlap_sample eleva el tope en un subconjunto determinista de ítems para monitorear la calidad. El muestreo ocurre una sola vez al inicio, y los ítems elegidos quedan marcados con required_annotations para que la lógica de asignación los trate como de alta cobertura.
| Campo | Tipo | Descripción |
|---|---|---|
fraction | float en (0, 1] | proporción de ítems a muestrear |
count | int ≥ 2 | tope de anotadores para los ítems muestreados (debe superar a default) |
stratify_by | cadena (opcional) | campo de datos del ítem usado para estratificar la muestra |
seed | int (opcional) | semilla del RNG; por defecto es la global random_seed |
Cuando se establece stratify_by, la fracción se aplica por estrato, de modo que cada categoría contribuye proporcionalmente.
Refuerzo adaptativo
El refuerzo adaptativo amplía el tope de un ítem cuyos primeros anotadores discreparon. Una vez que un ítem tiene al menos dos anotaciones y su puntuación de desacuerdo supera disagreement_threshold, su tope se eleva a boost_to y el ítem vuelve a entrar en la cola de asignación. El refuerzo ocurre una sola vez por ítem.
Cuota por anotador
per_annotator_quota controla cuántos ítems se asignan a cada anotador, con independencia de los topes por ítem:
per_annotator_quota:
default: 100
by_user:
alice: 30
by_user_role:
expert: 30
novice: 200
user_roles:
alice: expert
carol: noviceOrden de resolución: by_user[uid] → by_user_role[user_roles[uid]] → default.
Enrutamiento automático a adjudicación
Cuando el bloque de adjudicación está habilitado, los ítems de la muestra de solapamiento que alcanzan su tope se puntúan automáticamente y se envían a la cola de adjudicación si el acuerdo cae por debajo de agreement_threshold. Los ítems de baja calidad afloran en cuanto la muestra se satura, en vez de cuando un adjudicador reconstruye la cola manualmente.
adjudication:
enabled: true
adjudicator_users: [admin]
min_annotations: 2
agreement_threshold: 0.75Inspección del acuerdo
Una vez que los ítems de la muestra de solapamiento se saturan, las estadísticas de acuerdo están disponibles en /admin/iaa, que calcula el conjunto de métricas apropiado para el annotation_type de cada esquema; por ejemplo, kappa de Cohen y de Fleiss para esquemas nominales, kappa ponderada para los ordinales, y kappa a nivel de token más span F1 para los tramos (spans). Consulta la guía de acuerdo entre anotadores para entender qué significan estas métricas.
Ejemplo
Hay una demostración ejecutable en examples/advanced/heterogeneous-coverage/. Desde la raíz del repositorio:
python potato/flask_server.py start examples/advanced/heterogeneous-coverage/config.yaml -p 8000Usa 20 ítems repartidos en dos dominios, muestrea el 20 % para un solapamiento de 3 anotadores estratificado por dominio, habilita un refuerzo adaptativo con umbral 0.5, define dos niveles de experiencia y enruta los ítems de bajo acuerdo a adjudicación.
Relacionado
- Asignación de tareas — estrategias de asignación
- Guía de acuerdo entre anotadores — las métricas detrás de
/admin/iaa - Crowdsourcing — integración con MTurk y Prolific
Para conocer los detalles de implementación, consulta la documentación de origen.