Inter-Annotator-Übereinstimmung für 3D-Objekte, Zeitsegmente und Agenten-Traces
Auf Labelnamen reduziert, stimmen alle Annotierenden überein. Ordnen Sie 3D-Boxen und Segmente per IoU zu und bewerten Sie Agenten-Traces Schritt für Schritt.
Um die Übereinstimmung bei strukturierten Annotationen zu messen, vergleichen Sie die Strukturen selbst. Ordnen Sie die 3D-Boxen oder Zeitsegmente der einen Person per IoU denen der anderen zu, werten Sie nicht zugeordnete Objekte als Nichtübereinstimmung und bewerten Sie einen Agenten-Trace Schritt für Schritt, sodass jeder Schritt eine Einheit für Kappa oder Alpha ist.
Inter-Annotator-Übereinstimmung ist leicht zu definieren, wenn jedes Item ein Label erhält. Viele heutige Aufgaben geben einem Item stattdessen eine Menge von Dingen, etwa Quader um die Autos in einem Lidar-Scan, Segmente, die markieren, wann welche Person spricht, oder ein Urteil für jeden Schritt, den ein Agent unternommen hat. Ein Maß, das für ein Label pro Item gebaut ist, muss diese Strukturen auf etwas reduzieren, das es vergleichen kann, und die naheliegende Reduktion auf Labelnamen lässt jedes Paar von Annotierenden übereinstimmen.
Perfekte Übereinstimmung durch Labelnamen
Diese Reduktion behält die Labelnamen und verwirft alles andere. Zwei Annotierende, die auf einem Lidar-Scan jeweils drei Boxen mit dem Label „car“ gezeichnet haben, werden beide auf „car“ reduziert und stimmen perfekt überein, auch wenn ihre Boxen an verschiedenen Stellen liegen.
Potatos Übereinstimmungsroute pro Schema, /admin/api/agreement, tat vor Version 2.11 genau das für strukturierte Schemata, und bei Agenten-Traces, Segmenten, Regionen und 3D-Objekten ergab sich für jedes Paar von Annotierenden perfekte Übereinstimmung. Ein perfekter Wert bei einer schwierigen räumlichen oder zeitlichen Aufgabe bedeutet meist, dass das Maß die Struktur verloren hat. In 2.11 meldet diese Route keine strukturierten Schemata mehr und verweist auf den vollständigen Übereinstimmungsbericht unter /admin/iaa, der die Strukturen vergleicht.
3D-Objekte und Zeitsegmente zuordnen
Die Übereinstimmung über eine Menge von Objekten beginnt mit der Zuordnung. Jedes Objekt der einen Person wird mit höchstens einem Objekt der anderen gepaart, anhand eines Überlappungsmaßes, und ein Paar gilt nur oberhalb eines Schwellenwerts als dasselbe Objekt. Zeitsegmente verwenden zeitliche IoU (Intersection over Union), also die Länge der Überlappung geteilt durch die Länge der Vereinigung, und 3D-Objekte verwenden 3D-IoU, dasselbe Verhältnis über Volumina. Potato ordnet Segmente ab 0,5 und 3D-Objekte ab 0,25 zu, weil ein kleiner Versatz in drei Dimensionen mehr IoU kostet als in zwei. Eine Box, die entlang jeder Achse um 10 % ihrer Größe verschoben ist, behält eine 2D-IoU von etwa 0,68, aber eine 3D-IoU von nur etwa 0,57.
Nach der Zuordnung trägt jedes zugeordnete Paar seine IoU bei, ein zugeordnetes Paar mit unterschiedlichen Labels die Hälfte seiner IoU, und jedes nicht zugeordnete Objekt auf beiden Seiten null. Die Übereinstimmung des Items ist die Summe geteilt durch die Zahl der Objekte, wobei zugeordnete Paare einmal zählen. Wer die Hälfte der Objekte übersieht, erzielt daher einen niedrigen Wert, auch wenn die markierten Objekte perfekt sind, und zwei Annotierende, die beide nichts markieren, stimmen überein.
/admin/iaa meldet pro Schema zwei Zahlen für 3D-Objekte (spatial_annotation) und für Zeitsegmente unter temporal_grounding und tiered_annotation:
mean_agreement, den Mittelwert dieses Werts auf Item-Ebene über jedes Paar von Annotierenden auf jedem Item mit zwei oder mehr Annotierenden; undmean_object_count_diff, die mittlere Differenz in der Zahl der Objekte, die die beiden Annotierenden markiert haben.
Die Differenz der Anzahl trennt die zwei Arten, wie Mengen voneinander abweichen können. Eine niedrige Übereinstimmung bei einer Anzahldifferenz nahe null bedeutet, dass die Personen dieselben Objekte gefunden, aber unterschiedlich platziert haben. Eine große Anzahldifferenz bedeutet, dass eine Person Objekte findet, die die andere übersieht, und das verweist darauf, was die Richtlinien als Objekt zählen.
Keine der beiden Zahlen ist zufallskorrigiert. Eine Zufallsbasis für räumliche Übereinstimmung braucht ein Modell dafür, wo Objekte landen, wenn Annotierende zufällig voneinander abweichen, und Potato baut ein solches Modell nur für 2D-Boxen und Polygone, wie Übereinstimmung über Geometrie beschreibt. Bei Zeitsegmenten scheitert derselbe Ansatz, weil ein Segment aus einem anderen Clip kein sinnvoller Zufallsvergleich ist, wenn Clips unterschiedlich lang sind, wie Übereinstimmung über die Zeit erklärt. Vergleichen Sie diese Zahlen zwischen Pilotdurchläufen derselben Aufgabe, bei denen die Schwierigkeit, ein Objekt zu platzieren, gleich bleibt.
Ein Grenzfall hat sich in 2.11 geändert. Zwei identische Segmente der Länge null, also ein Augenblick, den beide Annotierenden zum selben Zeitpunkt markiert haben, haben eine IoU von 0 geteilt durch 0. Früher wurden sie als vollständige Nichtübereinstimmung gewertet, jetzt gelten sie als übereinstimmend.
Übereinstimmung auf Schrittebene für Agenten-Traces
Ein Agenten-Trace ist eine Folge von Schritten, und die Trace-Schemata (process_reward, trajectory_eval, tool_call_review, failure_attribution, gui_trajectory) verlangen für jeden Schritt ein Label. Einen Trace nach seiner Menge von Labels zu bewerten wiederholt das Problem mit den Labelnamen, und ihn nach einem Gesamturteil zu bewerten wirft die Schritte weg.
/admin/iaa behandelt jeden Schritt jedes Traces als eigene Einheit. Zwei Annotierende, die Schritt 4 von Trace 12 bewerten, ergeben ein Paar, und nominales Krippendorffs Alpha und Cohens Kappa werden über alle solchen Einheiten berechnet, zusammen mit der prozentualen Übereinstimmung. Anders als die Mengenmaße oben sind beide Koeffizienten zufallskorrigiert, sodass ein Alpha von 0,6 auf Schrittebene bei einer Process-Reward-Aufgabe auf derselben Skala zu lesen ist wie Alpha bei jeder kategorialen Aufgabe. Die Labeling-Engine liest Schritt-Labels auf dieselbe Weise, wenn sie einen LLM-Judge an einer Person misst, und ihr Wert ist der Anteil der gemeinsamen Schritte, die beide unterschiedlich gelabelt haben.
Zwei Annotierende pro Item zuweisen
/admin/iaa braucht keine Konfiguration. Der Bericht bewertet jedes Item, das zwei oder mehr Annotierende beantwortet haben, die Arbeit steckt also in der Zuweisung. Damit jedes Item zwei Annotierende bekommt, stellen Sie zwei Annotierende pro Item ein und geben die am wenigsten annotierten Items zuerst aus:
assignment_strategy: least_annotated
num_annotators_per_item: 2Zwei Annotierende pro Item sind das Minimum, das der Bericht braucht. Bei einer kleinen Überlappungsmenge kann ein einzelner ungewöhnlicher Trace oder Lidar-Scan den Mittelwert so weit verschieben, dass sich Ihre Schlussfolgerung ändert. Planen Sie die Überlappung deshalb vor Beginn der Annotation und nicht erst danach. Der ältere Block agreement_metrics konfiguriert die Werte pro Schema im Dashboard, die ab 2.11 diese Schemata überspringen und auf /admin/iaa verweisen.
Übereinstimmung und Anzahldifferenz über Pilotrunden hinweg
Lesen Sie mean_agreement zusammen mit der Anzahldifferenz und der Zahl der Paare, die /admin/iaa daneben meldet. Ein Rückgang zwischen Pilotrunden bei stabiler Anzahldifferenz verweist auf die Platzierung, sodass die Richtlinien zum engen Zuschnitt von Boxen oder zu Segmentgrenzen Arbeit brauchen. Ein Anstieg der Anzahldifferenz verweist darauf, was als Objekt oder Ereignis zählt. Vergleichen Sie bei Agenten-Traces das Alpha auf Schrittebene mit dem Alpha, das dieselben Annotierenden bei einer einfacheren kategorialen Frage in derselben Studie erreichen. Das hilft, schwierige Schritt-Labels von unzuverlässigen Annotierenden zu unterscheiden.
Weiterführende Lektüre
- Inter-Annotator-Übereinstimmung, zu den Koeffizienten und wann welcher passt
- Übereinstimmung über Geometrie, zu zufallskorrigierter Übereinstimmung bei 2D-Boxen und Polygonen
- Übereinstimmung über die Zeit, zu Segmenten und Bruchpunkten in Audio und Video
- Raw IoU Is Not Agreement, darüber, warum die mittlere IoU allein räumliche Übereinstimmung überschätzt