Motor psicométrico
Teoría de respuesta al ítem aplicada a la anotación. Cada etiqueta recibe una probabilidad posterior y un intervalo de confianza en lugar de un voto mayoritario a secas, y el modelo se ajusta sin etiquetas de oro y sin ningún LLM.
Nuevo en v2.7.0
Potato puede tratar tu estudio de anotación como lo que en realidad es: un instrumento de medición. La capa psicométrica ajusta un modelo de teoría de respuesta al ítem (TRI) en vivo, según van llegando las anotaciones, y estima a la vez la etiqueta verdadera de cada elemento como probabilidad, la capacidad de cada anotador con su error estándar, la dificultad de cada elemento y un diagnóstico de discriminación por elemento que señala posibles fallos del manual de codificación.
No hacen falta etiquetas de oro ni interviene ningún LLM. El modelo (una generalización multiclase de GLAD, Whitehill et al. 2009) lo deduce todo del propio patrón de acuerdo, igual que un test estandarizado aprende qué preguntas son difíciles sin que nadie se lo diga. Los ajustes son deterministas y tardan milisegundos a la escala de un estudio de anotación.

Configuración
# Adaptive routing is opt-in via the standard assignment strategy key.
# Omit this line to keep your existing strategy and use psychometrics
# as a pure analytics layer.
assignment_strategy: psychometric
# Give items a redundancy target so early-stopped items translate into
# concrete saved judgments on the dashboard.
num_annotators_per_item: 4
psychometrics:
enabled: true
schema: sarcasm # scheme to model; default: first radio/likert scheme
refit_interval: 5 # refit after this many new labels (fits are ~ms)
min_observations: 20 # cold-start gate before adaptive routing engages
min_annotators_per_item: 2 # never early-stop an item below this many annotators
confidence_threshold: 0.95 # posterior at which an item counts as resolved
cost_per_judgment: 0.08 # optional: expresses savings in currency
discrimination_flag_threshold: -0.2 # codebook-bug flag sensitivityLos esquemas admitidos son categóricos de opción simple: radio y likert (los puntos de la escala likert se tratan como categorías nominales). Los esquemas de selección múltiple no se modelan.
Etiquetas con barras de error
En lugar de sarcastic (2 of 3 votes), la exportación dice sarcastic, p = 0.94 [0.88 – 0.97]. La probabilidad es la posterior del modelo, que pondera quién votó y no solo cuántos votaron, y el intervalo es una banda de sensibilidad de ±1 error estándar sobre las estimaciones de capacidad.
Aguas abajo puedes entrenar con etiquetas suaves, filtrar los conjuntos de evaluación quedándote con los elementos de alta confianza o tratar los elementos de baja probabilidad como genuinamente ambiguos en vez de como ruido. Consulta la anotación con etiquetas suaves para el enfoque complementario, que consiste en recoger distribuciones directamente de los anotadores.
La capacidad del anotador, presentada con honestidad
La capacidad θ se estima a partir de los patrones de acuerdo. Un valor de 1.0 es la previa de un anotador nuevo, 0 significa que sus etiquetas no aportan información y los valores negativos significan que se equivoca de forma sistemática. Cada estimación viene con un error estándar: un anotador con 12 etiquetas tiene un bigote ancho, y el panel lo dice.
No tomes decisiones de personal a partir de un bigote ancho. Los errores estándar son aproximados (información de Fisher en la moda) y algo optimistas por construcción.
El detector de fallos del manual de codificación
La dificultad de los elementos se estima junto con la capacidad, pero la señal más útil es la discriminación: la correlación entre la capacidad del anotador y el acierto de la respuesta en cada elemento.
Cuando la discriminación es marcadamente negativa, es decir, cuando tus mejores anotadores son justo los que discrepan del consenso de la mayoría, lo que suele fallar en ese elemento es la directriz, por ambigua o equivocada, y no los anotadores. El panel los agrupa bajo "Posibles fallos del manual de codificación". Corrige las instrucciones y vuelve a mirarlo. Las salas multijugador son el lugar al que suelen ir los equipos para resolverlos.
Enrutado adaptativo
Con assignment_strategy: psychometric, cuando un anotador pide trabajo los elementos restantes se ordenan por la ganancia de información esperada exacta a un paso de que ese anotador etiquete ese elemento. Los elementos con más incertidumbre van primero a los anotadores de mayor capacidad, y los elementos cuya posterior ya supera confidence_threshold (con al menos min_annotators_per_item anotadores) dejan de consumir presupuesto. Frente a un diseño de N fijo por elemento, los juicios ahorrados se contabilizan en el panel, y se valoran en dinero si defines cost_per_judgment.
Dos apuntes de funcionamiento:
- Arranque en frío. Hasta que existan
min_observationsetiquetas, la asignación vuelve a ser aleatoria, porque el modelo necesita anotadores solapados antes de poder separar la capacidad de la dificultad. El panel muestra un medidor de calentamiento durante esta fase. - Lotes. La asignación ocurre cuando se rellena la cola de un usuario. La ordenación es más fresca cuando las colas son cortas; los lotes muy grandes por usuario diluyen la adaptividad.
Análisis de potencia antes de gastar
Todo proyecto de anotación acaba adivinando "¿cuántos anotadores por elemento?". El diseñador de estudios lo responde con una simulación de Monte Carlo con semilla fija:
python -m potato.psychometrics.design --items 500 --accuracy 0.75 \
--classes 3 --target-ci 0.10 --cost 0.08ann/item alpha 95% interval width majority acc judgments cost
2 0.392 [ 0.330, 0.439] 0.109 0.751 1000 80.00
3 0.388 [ 0.338, 0.431] 0.093 0.864 1500 120.00 <- recommended
La recomendación es la redundancia más pequeña cuyo intervalo del 95 % sobre el α de Krippendorff sea más estrecho que --target-ci, es decir, el diseño más barato que aún da una estimación de acuerdo defendiblemente precisa. El valor de --accuracy se mide mejor con un piloto pequeño. El mismo análisis está disponible en el panel y como API de administración (GET /psychometrics/api/design).
También puedes ejecutarlo de forma interactiva en el navegador con la calculadora de potencia para anotación.
Endpoints
Todos los endpoints requieren acceso de administrador (RBAC VIEW_ADMIN_DASHBOARD; el modo de depuración y la clave de API de administración compartida también valen).
| Endpoint | Para qué sirve |
|---|---|
GET /psychometrics/dashboard | Panel en vivo |
GET /psychometrics/api/stats | Agregados del panel (fuerza un ajuste nuevo) |
GET /psychometrics/api/export | Exportación enriquecida: posteriores, bandas, capacidades |
GET /psychometrics/api/design | Análisis de potencia |
Qué relación tiene con MACE
Potato incluye también MACE, que estima la competencia de los anotadores y las etiquetas predichas como analítica a posteriori. Son primos hermanos de la misma literatura, con trabajos distintos.
| MACE | Psicometría | |
|---|---|---|
| Modelo del anotador | competencia de tipo conocedor frente a adivinador | capacidad continua con errores estándar |
| Modelo del elemento | ninguno | dificultad + discriminación (avisos de fallo del manual) |
| Cuándo se ejecuta | analítica por lotes tras N anotaciones | en vivo, dentro del bucle de asignación |
| Dirige la asignación | no | sí, mediante enrutado por ganancia de información y parada temprana |
| Incertidumbre de las etiquetas | entropía | probabilidad posterior + intervalo de sensibilidad |
| Planificación previa al estudio | no | análisis de potencia por Monte Carlo |
Usa MACE para una lectura rápida de competencia sobre cualquier esquema categórico (cubre también multiselect). Usa la psicometría cuando quieras una medición consciente de la dificultad que además actúe sobre el estudio mientras corre.
Solución de problemas
- El panel se queda "calentando" para siempre. El modelo necesita al menos dos etiquetas distintas y anotadores solapados. Con un único anotador o con etiquetas unánimes el ajuste es degenerado por diseño. Añade anotadores o baja
min_observations. assignment_strategy: psychometricestá puesto pero el enrutado parece aleatorio. Es el repliegue del arranque en frío. Mira el medidor de calentamiento ymin_observations.- Todas las capacidades rondan 1.0 y con bigotes enormes. Todavía no hay suficiente solapamiento. Las capacidades se separan a medida que los anotadores acumulan elementos compartidos.
- 404 en
/psychometrics/.... Falta el bloquepsychometrics.enabled: trueen la configuración.
Lecturas adicionales
- Truth Serum — puntuación por predicción entre pares, la otra señal de calidad que no necesita etiquetas de oro
- Estrategias de asignación de tareas
- La concordancia entre anotadores
- ¿Cuántos anotadores necesitas?
- Documentación de origen