Concordância entre anotadores para objetos 3D, segmentos de tempo e traces de agentes
Reduzir anotações estruturadas a nomes de rótulos faz todos os anotadores concordarem. Pareie caixas 3D e segmentos por IoU e pontue traces de agentes passo a passo.
Para medir a concordância em anotações estruturadas, compare as próprias estruturas. Pareie as caixas 3D ou os segmentos de tempo de cada anotador com os do outro por IoU, conte objetos sem par como discordância e pontue um trace de agente um passo de cada vez, de modo que cada passo seja uma unidade para o kappa ou o alfa.
A concordância entre anotadores é fácil de definir quando cada item recebe um rótulo. Muitas tarefas atuais, porém, dão a um item um conjunto de coisas, como cuboides em volta dos carros em uma varredura de lidar, segmentos que marcam quando cada locutor fala ou um veredicto para cada passo que um agente deu. Uma medida feita para um rótulo por item precisa reduzir essas estruturas a algo que consiga comparar, e a redução fácil, a nomes de rótulos, faz todos os pares de anotadores concordarem.
Concordância perfeita a partir de nomes de rótulos
Essa redução mantém os nomes dos rótulos e descarta todo o resto. Dois anotadores que desenharam três caixas rotuladas "car" cada um em uma varredura de lidar se reduzem ambos a "car", e concordam perfeitamente mesmo que suas caixas estejam em lugares diferentes.
A rota de concordância por esquema do Potato, /admin/api/agreement, fazia isso com esquemas estruturados antes da versão 2.11, e em traces de agentes, segmentos, regiões e objetos 3D todos os pares de anotadores saíam com concordância perfeita. Uma pontuação perfeita em uma tarefa espacial ou temporal difícil costuma significar que a medida perdeu a estrutura. Na 2.11, essa rota não relata mais esquemas estruturados e aponta para o relatório completo de concordância em /admin/iaa, que compara as estruturas.
Pareamento de objetos 3D e segmentos de tempo
A concordância em um conjunto de objetos começa pelo pareamento. Cada objeto de um anotador é pareado com no máximo um objeto do outro, usando uma medida de sobreposição, e um par só conta como o mesmo objeto acima de um limiar. Segmentos de tempo usam o IoU temporal (interseção sobre união), a duração da sobreposição dividida pela duração da união, e objetos 3D usam o IoU 3D, a mesma razão sobre volumes. O Potato pareia segmentos em 0,5 e objetos 3D em 0,25, porque um pequeno deslocamento custa mais IoU em três dimensões do que em duas. Uma caixa deslocada em 10% do seu tamanho ao longo de cada eixo mantém um IoU 2D de cerca de 0,68 e um IoU 3D de só cerca de 0,57.
Depois do pareamento, cada par pareado contribui com seu IoU, um par pareado com rótulos diferentes contribui com metade do seu IoU, e todo objeto sem par, de qualquer lado, contribui com zero. A concordância do item é o total dividido pelo número de objetos, com os pares pareados contados uma vez. Um anotador que deixa passar metade dos objetos tem, portanto, uma pontuação baixa mesmo quando os objetos que marcou estão perfeitos, e dois anotadores que não marcam nada concordam.
/admin/iaa relata dois números por esquema para objetos 3D (spatial_annotation) e para segmentos de tempo em temporal_grounding e tiered_annotation:
mean_agreement, a média dessa pontuação por item sobre todos os pares de anotadores em todos os itens com dois ou mais anotadores; emean_object_count_diff, a diferença média em quantos objetos os dois anotadores marcaram.
A diferença de contagem separa as duas formas pelas quais um conjunto pode discordar. Uma concordância baixa com diferença de contagem perto de zero significa que as pessoas encontraram os mesmos objetos e os posicionaram de forma diferente. Uma diferença de contagem grande significa que um anotador encontra objetos que o outro deixa passar, o que aponta para o que as diretrizes contam como objeto.
Nenhum dos dois números é corrigido pelo acaso. Uma linha de base de acaso para a concordância espacial exige um modelo de onde os objetos caem quando os anotadores discordam ao acaso, e o Potato só constrói um para caixas 2D e polígonos, como descreve concordância sobre geometria. Para segmentos de tempo, a mesma abordagem falha, porque um segmento de outro clipe não é uma comparação aleatória com sentido quando os clipes têm durações diferentes, como explica concordância ao longo do tempo. Compare esses números entre pilotos da mesma tarefa, em que a dificuldade de posicionar um objeto se mantém fixa.
Um caso extremo mudou na 2.11. Dois segmentos idênticos de duração zero, um instante marcado pelos dois anotadores no mesmo momento, têm um IoU de 0 dividido por 0. Antes eles contavam como discordância completa, e agora contam como concordância.
Concordância por passo em traces de agentes
Um trace de agente é uma sequência de passos, e os esquemas de traces (process_reward, trajectory_eval, tool_call_review, failure_attribution, gui_trajectory) pedem um rótulo para cada passo. Pontuar um trace pelo seu conjunto de rótulos repete o problema dos nomes de rótulos, e pontuá-lo por um veredicto geral joga fora os passos.
/admin/iaa trata cada passo de cada trace como uma unidade própria. Dois anotadores que avaliam o passo 4 do trace 12 contribuem com um par, e o alfa de Krippendorff nominal e o kappa de Cohen são calculados sobre todas essas unidades, junto com a porcentagem de concordância. Ao contrário das medidas de conjunto acima, os dois coeficientes são corrigidos pelo acaso, então um alfa por passo de 0,6 em uma tarefa de process reward se lê na mesma escala que o alfa em qualquer tarefa categórica. O motor de rotulagem interpreta os rótulos de passo da mesma forma quando pontua um juiz LLM contra uma pessoa, e a pontuação dele é a fração dos passos em comum que os dois rotularam de forma diferente.
Como atribuir dois anotadores por item
/admin/iaa não precisa de configuração. Ele pontua todo item que dois ou mais anotadores responderam, então o trabalho está na atribuição. Para dar dois anotadores a cada item, defina dois anotadores por item e distribua primeiro os itens menos anotados:
assignment_strategy: least_annotated
num_annotators_per_item: 2Dois anotadores por item é o mínimo de que o relatório precisa. Em um conjunto de sobreposição pequeno, um único trace ou uma única varredura de lidar fora do comum pode mover a média o bastante para mudar o que você conclui, então planeje a sobreposição antes de a anotação começar, e não depois. O bloco mais antigo agreement_metrics configura os números por esquema do painel, que a partir da 2.11 pulam esses esquemas e apontam para /admin/iaa.
Concordância e diferença de contagem entre rodadas piloto
Leia mean_agreement junto com a diferença de contagem e o número de pares que /admin/iaa relata ao lado. Uma queda entre rodadas piloto com diferença de contagem estável aponta para o posicionamento, então as diretrizes sobre o ajuste das caixas ou os limites dos segmentos precisam de trabalho. Um aumento na diferença de contagem aponta para o que conta como objeto ou evento. Em traces de agentes, compare o alfa por passo com o alfa que os mesmos anotadores alcançam em uma pergunta categórica mais simples no mesmo estudo, o que ajuda a separar rótulos de passo difíceis de anotadores pouco confiáveis.
Leitura adicional
- Concordância entre anotadores, sobre os coeficientes e quando usar cada um
- Concordância sobre geometria, sobre a concordância corrigida pelo acaso em caixas 2D e polígonos
- Concordância ao longo do tempo, sobre segmentos e pontos de quebra em áudio e vídeo
- IoU bruto não é concordância, sobre por que o IoU médio sozinho superestima a concordância espacial