Acuerdo entre anotadores para objetos 3D, segmentos temporales y trazas de agentes
Reducir anotaciones estructuradas a nombres de etiqueta hace que todos coincidan. Empareja cajas 3D y segmentos por IoU y puntúa las trazas paso a paso.
Para medir el acuerdo en anotaciones estructuradas, compara las propias estructuras. Empareja por IoU las cajas 3D o los segmentos temporales de cada anotador con los del otro, cuenta los objetos sin emparejar como desacuerdo y puntúa una traza de agente paso a paso, de modo que cada paso sea una unidad para kappa o alfa.
El acuerdo entre anotadores es fácil de definir cuando cada ítem recibe una sola etiqueta. Muchas tareas actuales, en cambio, asignan a un ítem un conjunto de cosas, como cuboides alrededor de los coches en un barrido de lidar, segmentos que marcan cuándo habla cada hablante o un veredicto para cada paso que dio un agente. Una medida pensada para una etiqueta por ítem tiene que reducir esas estructuras a algo que pueda comparar, y la reducción fácil, a nombres de etiqueta, hace que cada par de anotadores coincida.
Acuerdo perfecto a partir de los nombres de etiqueta
Esa reducción conserva los nombres de etiqueta y descarta todo lo demás. Dos anotadores que dibujaron cada uno tres cajas con la etiqueta «car» en un barrido de lidar se reducen los dos a «car», y coinciden perfectamente aunque sus cajas estén en sitios distintos.
La ruta de acuerdo por esquema de Potato, /admin/api/agreement, hacía esto con los esquemas estructurados antes de la versión 2.11, y en trazas de agentes, segmentos, regiones y objetos 3D cada par de anotadores salía con un acuerdo perfecto. Una puntuación perfecta en una tarea espacial o temporal difícil suele significar que la medida perdió la estructura. En 2.11, esa ruta ya no informa de esquemas estructurados y remite al informe de acuerdo completo en /admin/iaa, que compara las estructuras.
Emparejar objetos 3D y segmentos temporales
El acuerdo sobre un conjunto de objetos empieza por el emparejamiento. Cada objeto de un anotador se empareja como mucho con un objeto del otro, según una medida de solapamiento, y un par cuenta como el mismo objeto solo por encima de un umbral. Los segmentos temporales usan el IoU temporal (intersección sobre unión), la duración del solapamiento dividida por la duración de la unión, y los objetos 3D usan el IoU 3D, la misma razón calculada sobre volúmenes. Potato empareja los segmentos con un umbral de 0.5 y los objetos 3D con uno de 0.25, porque un desplazamiento pequeño cuesta más IoU en tres dimensiones que en dos. Una caja desplazada un 10% de su tamaño a lo largo de cada eje conserva un IoU 2D de aproximadamente 0.68 y un IoU 3D de solo aproximadamente 0.57.
Tras el emparejamiento, cada par emparejado aporta su IoU, un par emparejado con etiquetas distintas aporta la mitad de su IoU y cada objeto sin emparejar, de cualquiera de los dos lados, aporta cero. El acuerdo del ítem es el total dividido por el número de objetos, contando una sola vez los pares emparejados. Por tanto, un anotador que pasa por alto la mitad de los objetos obtiene una puntuación baja aunque los objetos que sí marcó sean perfectos, y dos anotadores que no marcan nada coinciden.
/admin/iaa da dos cifras por esquema para los objetos 3D (spatial_annotation) y para los segmentos temporales de temporal_grounding y tiered_annotation:
mean_agreement, la media de esa puntuación por ítem sobre cada par de anotadores en cada ítem con dos o más anotadores; ymean_object_count_diff, la diferencia media en el número de objetos que marcaron los dos anotadores.
La diferencia de recuento separa las dos formas en que un conjunto puede discrepar. Un acuerdo bajo con una diferencia de recuento cercana a cero significa que las personas encontraron los mismos objetos y los colocaron de forma distinta. Una diferencia de recuento grande significa que un anotador encuentra objetos que el otro pasa por alto, lo que apunta a qué consideran las directrices como objeto.
Ninguna de las dos cifras está corregida por azar. Una línea base de azar para el acuerdo espacial necesita un modelo de dónde caen los objetos cuando los anotadores discrepan al azar, y Potato solo construye uno para cajas 2D y polígonos, como describe Concordancia sobre geometría. Con los segmentos temporales, el mismo enfoque falla, porque un segmento de otro clip no es una comparación aleatoria con sentido cuando los clips tienen duraciones distintas, como explica Concordancia en el tiempo. Compara estas cifras entre pilotos de la misma tarea, en los que la dificultad de colocar un objeto se mantiene fija.
Un caso límite cambió en 2.11. Dos segmentos idénticos de longitud cero, un instante que ambos anotadores marcaron en el mismo momento, tienen un IoU de 0 dividido entre 0. Antes se puntuaban como desacuerdo total, y ahora cuentan como coincidentes.
Acuerdo por pasos en trazas de agentes
Una traza de agente es una secuencia de pasos, y los esquemas de trazas (process_reward, trajectory_eval, tool_call_review, failure_attribution, gui_trajectory) piden una etiqueta para cada paso. Puntuar una traza por su conjunto de etiquetas repite el problema de los nombres de etiqueta, y puntuarla por un veredicto global desecha los pasos.
/admin/iaa trata cada paso de cada traza como una unidad propia. Dos anotadores que evalúan el paso 4 de la traza 12 aportan un par, y el alfa de Krippendorff nominal y el kappa de Cohen se calculan sobre todas esas unidades, junto con el porcentaje de acuerdo. A diferencia de las medidas de conjuntos anteriores, ambos coeficientes están corregidos por azar, así que un alfa por pasos de 0.6 en una tarea de recompensa de proceso se lee en la misma escala que el alfa de cualquier tarea categórica. El motor de etiquetado analiza las etiquetas de los pasos de la misma forma cuando puntúa a un juez LLM frente a una persona, y su puntuación es la proporción de pasos comunes que ambos etiquetaron de forma distinta.
Asignar dos anotadores por ítem
/admin/iaa no necesita configuración. Puntúa cada ítem que han respondido dos o más anotadores, así que el trabajo está en la asignación. Para dar a cada ítem dos anotadores, fija dos anotadores por ítem y reparte primero los ítems con menos anotaciones:
assignment_strategy: least_annotated
num_annotators_per_item: 2Dos anotadores por ítem es el mínimo que necesita el informe. Con un conjunto de solapamiento pequeño, una sola traza o un solo barrido de lidar poco habituales pueden mover la media lo suficiente como para cambiar tus conclusiones, así que planifica el solapamiento antes de que empiece la anotación y no después. El bloque agreement_metrics, más antiguo, configura las cifras por esquema del panel, que desde 2.11 omiten estos esquemas y remiten a /admin/iaa.
Acuerdo y diferencia de recuento entre rondas piloto
Lee mean_agreement junto con la diferencia de recuento y el número de pares que /admin/iaa muestra al lado. Una caída entre rondas piloto con una diferencia de recuento estable apunta a la colocación, así que hay que revisar las directrices sobre lo ajustadas que deben ser las cajas o dónde van los límites de los segmentos. Un aumento de la diferencia de recuento apunta a qué cuenta como objeto o como evento. En las trazas de agentes, compara el alfa por pasos con el alfa que los mismos anotadores alcanzan en una pregunta categórica más sencilla del mismo estudio, lo que ayuda a distinguir las etiquetas de pasos difíciles de los anotadores poco fiables.
Lecturas adicionales
- Acuerdo entre anotadores, sobre los coeficientes y cuándo usar cada uno
- Concordancia sobre geometría, sobre el acuerdo corregido por azar en cajas 2D y polígonos
- Concordancia en el tiempo, sobre segmentos y puntos de corte en audio y vídeo
- Raw IoU Is Not Agreement, sobre por qué el IoU medio por sí solo exagera el acuerdo espacial