Skip to content
Guides8 min read

Etiquetas con barras de error: teoría de respuesta al ítem para la anotación

El voto mayoritario tira casi todo lo que tus anotadores te dijeron. La teoría de respuesta al ítem le da a cada etiqueta una probabilidad posterior y un intervalo de confianza, estima la capacidad de los anotadores y la dificultad de los elementos, y encuentra las entradas rotas del manual de codificación, sin etiquetas de oro y sin ningún LLM.

Potato Team

El voto mayoritario trata a todos los anotadores como igual de fiables y a todos los elementos como igual de difíciles, y da un recuento en lugar de una probabilidad. La teoría de respuesta al ítem (TRI) se deshace de las dos suposiciones: estima la capacidad de cada anotador y la dificultad de cada elemento solo a partir del patrón de acuerdo, y luego da cada etiqueta como una probabilidad posterior con su intervalo de confianza. No necesita etiquetas de oro ni ningún LLM. En Potato esto es el motor psicométrico, y se ejecuta en vivo según van llegando las anotaciones.

Tres anotadores etiquetan un elemento. Dos dicen sarcastic, uno dice sincere. El voto mayoritario lo declara sarcastic y sigue adelante, y tu dataset lo registra con exactamente la misma confianza que un elemento en el que los tres coincidieron.

Eso es tirar información. Quien discrepa podría ser tu anotador más fiable. El elemento podría ser de los que todo el mundo encuentra difíciles. Ninguno de los dos hechos sobrevive al recuento.

La capacidad de los anotadores estimada en vivo, con intervalos de confianza, de modo que cada etiqueta recibe una posterior en lugar de un voto a secasCapacidad de los anotadores con intervalos de confianza

¿Qué es la teoría de respuesta al ítem?

La teoría de respuesta al ítem viene de la psicometría, donde se construyó para puntuar tests estandarizados. La idea es que un test te dice dos cosas a la vez: cuánta capacidad tiene cada persona examinada y cuánta dificultad tiene cada pregunta. Puedes estimar ambas conjuntamente, sin más información que el patrón de respuestas, porque cada una restringe a la otra. Una pregunta que fallan los estudiantes capaces es una pregunta difícil. Un estudiante que acierta las preguntas difíciles es un estudiante capaz.

La anotación tiene la misma forma. Los anotadores son las personas examinadas, los elementos son las preguntas y nadie tiene la plantilla de respuestas.

Potato ajusta una generalización multiclase de GLAD (Whitehill et al. 2009), que estima tres cosas a la vez:

  • la etiqueta verdadera de cada elemento, como distribución de 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

El ajuste es determinista y tarda milisegundos a la escala de un estudio de anotación, así que puede correr de forma continua en lugar de como un proceso por lotes a posteriori.

Cómo activarlo

yaml
psychometrics:
  enabled: true
  schema: sarcasm
  confidence_threshold: 0.95
  min_annotators_per_item: 2

Con eso solo ya tienes la capa de analítica. Tu exportación pasa de esto:

text
sarcastic    (2 of 3 votes)

a esto:

text
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. El intervalo es una banda de sensibilidad sobre las estimaciones de capacidad.

Aguas abajo, ese número compensa. Puedes entrenar con etiquetas blandas, filtrar un conjunto de evaluación para quedarte con los elementos por encima de un umbral de confianza, o tratar los elementos de baja probabilidad como genuinamente ambiguos en vez de como mal etiquetados sin que nadie se entere. El desacuerdo deja de ser ruido que hay que promediar, una idea que conviene leer junto a el desacuerdo es señal, no ruido.

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 quien acaba de llegar, 0 significa que las etiquetas de ese anotador no aportan información, y un valor negativo significa que se equivoca de forma sistemática.

Cada estimación viene con un error estándar, y eso importa más que la estimación puntual. Un anotador con doce etiquetas tiene un bigote ancho, y el panel lo dibuja ancho. 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 ligeramente optimistas por construcción. Están ahí para que no leas de más en un número, no para autorizarte a despedir a nadie.

Si quieres una lectura de competencia más sencilla sobre cualquier esquema categórico, MACE es el primo mayor y sigue siendo una buena herramienta. La diferencia es que MACE funciona como analítica por lotes, mientras que la psicometría se mete en el bucle de asignación y actúa sobre el estudio mientras está en marcha.

El detector de fallos del manual de codificación

Esta es la parte que sorprende a la gente.

Junto a la dificultad, el modelo estima la discriminación: en un elemento dado, ¿la capacidad del anotador correlaciona con coincidir con el consenso? Lo normal es que sí. Los anotadores capaces coinciden con la respuesta final más a menudo, que es más o menos lo que significa «capaz».

Cuando la discriminación se vuelve marcadamente negativa, algo va mal. Tus mejores anotadores están discrepando de forma sistemática de la mayoría en ese elemento. La explicación más probable no es que tus mejores anotadores se hayan vuelto malos de repente. Es que la directriz es ambigua o está mal para ese caso, y los anotadores cuidadosos son los que se dan cuenta.

Potato los muestra bajo «Posibles fallos del manual de codificación». Suelen ser los elementos de mayor valor de todo el estudio, porque cada uno es un defecto del instrumento y no de una persona. Arregla la directriz y vuelve a anotar. Una sala de normalización es un buen sitio para repasarlos en equipo.

Gastar el presupuesto de anotación donde compra algo

La redundancia fija, la regla de «tres anotadores por elemento, siempre», gasta lo mismo en un elemento en el que todo el mundo coincide que en uno que parte al equipo por la mitad. Eso está del revés.

yaml
assignment_strategy: psychometric
num_annotators_per_item: 4
psychometrics:
  enabled: true
  confidence_threshold: 0.95
  cost_per_judgment: 0.08

Con esto, cuando un anotador pide trabajo, Potato ordena los elementos restantes por la ganancia de información esperada de que ese anotador concreto etiquete ese elemento concreto. Los elementos cuya posterior ya supera confidence_threshold dejan de servirse del todo. El panel cuenta los juicios que no has tenido que comprar, y les pone precio si defines cost_per_judgment.

Dos advertencias que conviene conocer antes de activarlo:

  • Arranque en frío. Hasta que existan suficientes etiquetas, la asignación vuelve a ser aleatoria. El modelo no puede separar capacidad de dificultad sin anotadores solapados, y no va a fingir lo contrario. En su lugar, el panel muestra un medidor de calentamiento.
  • Lotes. La ordenación es más fresca cuando las colas son cortas. Darle a cada anotador un lote de 200 elementos diluye la adaptatividad, porque la ordenación se calculó antes de que existieran la mayoría de esas etiquetas.

Decidir la redundancia antes de gastar nada

La pregunta que todo proyecto responde a ojo es cuántos anotadores por elemento necesita. El diseñador de estudios la responde con una simulación de Montecarlo:

bash
python -m potato.psychometrics.design --items 500 --accuracy 0.75 \
    --classes 3 --target-ci 0.10 --cost 0.08
text
ann/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 barata cuyo intervalo del 95 % sobre el α de Krippendorff sigue siendo más estrecho que tu objetivo. El valor de --accuracy es el que deberías medir con un piloto pequeño en lugar de adivinarlo.

El mismo cálculo se ejecuta en tu navegador, si prefieres no instalar nada para responder a la pregunta.

Lo que esto no hace

La TRI no es magia. Unos cuantos límites honestos:

  • Modela esquemas categóricos de opción única, radio y likert. La selección múltiple no está modelada.
  • Necesita anotadores solapados. Si cada elemento lo etiqueta una persona distinta, no hay estructura de acuerdo de la que aprender, y el modelo te dirá que sigue calentando.
  • Con un solo anotador, o con etiquetas unánimes en todas partes, el ajuste es degenerado por diseño. Ese es el comportamiento correcto, no un fallo.

Lo que te da a cambio es un dataset donde cada etiqueta lleva su propia incertidumbre, un grupo de anotadores al que entiendes y una lista de los sitios donde tu manual de codificación está roto.

Lecturas adicionales