Consolider les annotations - Amazon SageMaker

Consolider les annotations

Une annotation est le résultat d'une tâche d'étiquetage d'un seul travailleur. La consolidation d'annotation combine les annotations de deux ou plusieurs applications de travail en une seule étiquette pour vos objets de données. Une étiquette, qui est attribuée à chaque objet du jeu de données, est une estimation probabiliste de ce que doit être l'étiquette vraie. Chaque objet de l'ensemble de données dispose généralement de plusieurs annotations, mais uniquement d'une seule étiquette ou d'un seul ensemble d'étiquettes.

Vous déterminez le nombre d'employés qui devront annoter chaque objet de votre jeu de données. L'utilisation de plus d'employés peut augmenter la précision de vos étiquettes, mais aussi augmenter le coût de l'étiquetage. Pour en savoir plus sur la tarification Ground Truth, veuillez consulter Tarification Amazon SageMaker Ground Truth.

Si vous utilisez la console Amazon SageMaker pour créer une tâche d'étiquetage, les valeurs par défaut suivantes correspondent au nombre d'employés pouvant annoter des objets :

  • Classification de texte — 3 employés

  • Classification d'image — 3 employés

  • Zones de délimitation — 5 employés

  • Segmentation sémantique — 3 employés

  • Reconnaissance des entités nommées — 3 employés

Lorsque vous utilisez l'opération CreateLabelingJob, vous définissez le nombre de collaborateurs qui devront annoter chaque objet de données avec le paramètre NumberOfHumanWorkersPerDataObject. Vous pouvez remplacer le nombre par défaut de collaborateurs qui étiquettent un objet de données grâce à la console ou à l'opération CreateLabelingJob.

Ground Truth propose une fonction de consolidation d'annotation pour chacune de ses tâches d'étiquetage prédéfinies : cadre de délimitation, classification d'image, reconnaissance d'entité de nom, segmentation sémantique et classification de texte. Voici les fonctions :

  • La consolidation d'annotation multi-classe pour la classification d'image et de texte utilise une variante de l'approche espérance-maximisation pour les annotations. Elle estime les paramètres pour chaque application de travail et utilise l'inférence bayésienne pour estimer la véritable classe, en fonction des annotations de classe des applications de travail individuelles.

  • L'annotation du cadre de délimitation consolide les cadres de délimitation à partir de plusieurs programmes exécutants. Cette fonction permet de trouver les cadres les plus proches à partir de différentes applications de travail basées sur l'index Jaccard, ou sur l'intersection via l'union, des cadres et calcule leur moyenne.

  • La consolidation de l'annotation de segmentation sémantique traite chaque pixel dans une seule image comme classification multiclasse. Cette fonction traite les annotations de pixel à partir de programmes exécutants en tant que « votes », avec plus d'informations à partir de pixels environnants intégrés en appliquant une fonction de lissage à l'image.

  • La reconnaissance des entités nommées regroupe les sélections de texte par similarité Jaccard et calcule les limites de la sélection en fonction du mode, ou de la médiane si le mode n'est pas clair. L'étiquette est résolue en l'étiquette d'entité la plus attribuée dans le cluster, ce qui rompt les liens par sélection aléatoire.

Vous pouvez utiliser d'autres algorithmes pour consolider les annotations. Pour de plus amples informations, veuillez consulter Créer votre propre fonctionnalité de consolidation d'annotation.

Créer votre propre fonctionnalité de consolidation d'annotation

Vous pouvez choisir d'utiliser votre propre fonction de consolidation d'annotation pour déterminer les étiquettes finales de vos objets étiquetés. Il existe de nombreuses approches possibles pour écrire une fonction et l'approche que vous prenez dépend de la nature des annotations à consolider. En général, les fonctionnalités de consolidation d'annotation doivent observer les annotations des applications de travail, mesurer leur similitude et utiliser une forme de jugement probabiliste pour déterminer l'étiquette la plus judicieuse à utiliser.

Si vous souhaitez utiliser d'autres algorithmes pour créer des fonctions de consolidation d'annotations, vous pouvez trouver les réponses de l'employé dans le dossier [project-name]/annotations/worker-response du compartiment Amazon S3 où vous dirigez la sortie de la tâche.

Évaluer la similarité

Pour évaluer la similarité entre les étiquettes, vous pouvez utiliser l'une des stratégies suivantes ou une qui répond à vos besoins d'étiquetage des données :

  • Pour les espaces d'étiquettes qui sont des catégories discrètes et mutuellement exclusives, telles que la classification multi-classe, l'évaluation de la similarité peut être simple. Les étiquettes discrètes sont compatibles ou ne le sont pas.

  • Pour étiqueter des espaces qui n'ont pas de valeurs distinctes, comme le cadre de délimitation des annotations, recherchez une mesure de similarité large. Dans le cas des cadres de délimitation, une mesure de ce type est l'indice Jaccard. Elle mesure le rapport entre l'intersection de deux cadres et l'union des cadres pour évaluer leur similarité. Par exemple, s'il y a trois annotations, il peut y avoir une fonction qui détermine quelles annotations représentent le même objet et doivent être consolidées.

Évaluation de l'étiquette la plus probable

En gardant à l'esprit l'une des stratégies détaillées dans les sections précédentes, faites une sorte de jugement probabiliste sur ce que devrait être l'étiquette consolidée. Dans le cas de catégories discrètes et mutuellement exclusives, cela peut être simple. L'une des manières les plus courantes de procéder consiste à prendre les résultats d'un vote majoritaire entre les annotations. Cela pondère les annotations de manière égale.

Certaines approches tentent d'estimer la précision des différents annotateurs et évaluent les annotations proportionnellement à la probabilité d'exactitude. La méthode de maximisation des attentes, qui est utilisée dans la fonction de consolidation par défaut de Ground Truth pour les annotations multi-classes, en est un exemple.

Pour de plus amples informations sur la création d'une fonctionnalité de consolidation d'annotation, veuillez consulter Étape 3 : Traitement avec AWS Lambda.