Métriques pour évaluer la modération de contenu dans Amazon Rekognition et d'autres services de modération de contenu PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Métriques pour évaluer la modération de contenu dans Amazon Rekognition et d'autres services de modération de contenu

La modération du contenu est le processus de filtrage et de surveillance du contenu généré par les utilisateurs en ligne. Pour fournir un environnement sûr aux utilisateurs et aux marques, les plateformes doivent modérer le contenu pour s'assurer qu'il respecte les directives préétablies de comportement acceptable qui sont spécifiques à la plateforme et à son public.

Lorsqu'une plateforme modère du contenu, un contenu généré par l'utilisateur (UGC) acceptable peut être créé et partagé avec d'autres utilisateurs. Les comportements inappropriés, toxiques ou interdits peuvent être prévenus, bloqués en temps réel ou supprimés après coup, en fonction des outils de modération de contenu et des procédures mises en place par la plateforme.

Vous pouvez utiliser Modération de contenu Amazon Rekognition pour détecter le contenu inapproprié, indésirable ou offensant, pour créer une expérience utilisateur plus sûre, fournir des assurances de sécurité de la marque aux annonceurs et se conformer aux réglementations locales et mondiales.

Dans cet article, nous discutons des éléments clés nécessaires pour évaluer l'aspect performance d'un service de modération de contenu en termes de diverses mesures de précision, et fournissons un exemple utilisant Amazon Rekognition. API de modération de contenu.

Quoi évaluer

Lors de l'évaluation d'un service de modération de contenu, nous recommandons les étapes suivantes.

Avant de pouvoir évaluer les performances de l'API sur vos cas d'utilisation, vous devez préparer un jeu de données de test représentatif. Voici quelques directives de haut niveau :

  • Collection – Prenez un échantillon aléatoire suffisamment grand (images ou vidéos) des données que vous souhaitez éventuellement exécuter via Amazon Rekognition. Par exemple, si vous prévoyez de modérer les images téléchargées par les utilisateurs, vous pouvez prendre une semaine d'images d'utilisateurs pour le test. Nous vous recommandons de choisir un ensemble contenant suffisamment d'images sans devenir trop volumineux à traiter (par exemple, 1,000 10,000 à XNUMX XNUMX images), bien que des ensembles plus grands soient préférables.
  • Définition – Utilisez les directives de contenu de votre application pour décider quels types de contenu dangereux vous souhaitez détecter à partir d'Amazon Rekognition taxonomie des concepts de modération. Par exemple, vous pouvez être intéressé par la détection de tous les types de nudité explicite et de violence graphique ou gore.
  • Annotation – Vous avez maintenant besoin d'une vérité terrain générée par l'homme pour votre ensemble de test en utilisant les étiquettes choisies, afin que vous puissiez comparer les prédictions de la machine avec elles. Cela signifie que chaque image est annotée pour la présence ou l'absence de vos concepts choisis. Pour annoter vos données d'image, vous pouvez utiliser Vérité au sol Amazon SageMaker (GT) pour gérer l'annotation des images. Vous pouvez vous référer à GT pour l'étiquetage des images, consolidation des annotations ainsi que traitement de la sortie d'annotation.

Obtenez des prédictions sur votre ensemble de données de test avec Amazon Rekognition

Ensuite, vous souhaitez obtenir des prédictions sur votre jeu de données de test.

La première étape consiste à décider d'un score de confiance minimum (une valeur seuil, telle que 50 %) à partir duquel vous souhaitez mesurer les résultats. Notre seuil par défaut est fixé à 50, ce qui offre un bon équilibre entre la récupération de grandes quantités de contenu dangereux sans entraîner trop de fausses prédictions sur le contenu sûr. Cependant, votre plate-forme peut avoir des besoins commerciaux différents, vous devez donc personnaliser ce seuil de confiance selon vos besoins. Vous pouvez utiliser le MinConfidence paramètre dans vos demandes d'API pour équilibrer la détection du contenu (rappel) par rapport à l'exactitude de la détection (précision). Si vous réduisez MinConfidence, vous êtes susceptible de détecter la plupart des contenus inappropriés, mais vous êtes également susceptible de sélectionner des contenus qui ne sont pas réellement inappropriés. Si vous augmentez MinConfidence vous êtes susceptible de vous assurer que tout votre contenu détecté est vraiment inapproprié, mais certains contenus peuvent ne pas être tagués. Nous vous suggérons d'expérimenter quelques MinConfidence valeurs sur votre ensemble de données et sélectionnez quantitativement la meilleure valeur pour votre domaine de données.

Ensuite, exécutez chaque échantillon (image ou vidéo) de votre ensemble de tests via l'API de modération d'Amazon Rekognition (DétecterModérationÉtiquettes).

Mesurer la précision du modèle sur les images

Vous pouvez évaluer la précision d'un modèle en comparant les annotations de vérité terrain générées par l'homme avec les prédictions du modèle. Vous répétez cette comparaison pour chaque image indépendamment, puis vous agrégez sur l'ensemble de l'ensemble de test :

  • Résultats par image – Une prédiction de modèle est définie comme la paire {label_name, confidence_score} (où le score de confiance >= le seuil que vous avez sélectionné précédemment). Pour chaque image, une prédiction est considérée comme correcte lorsqu'elle correspond à la vérité terrain (GT). Une prédiction est l'une des options suivantes :
    • Vrai positif (TP): la prédiction et le GT sont « dangereux »
    • Vrai négatif (TN) : la prédiction et le GT sont "sûrs"
    • false positive (PF): la prédiction dit "dangereux", mais la GT est "sûre"
    • Faux négatif (FN): la prédiction est "sûre", mais la GT est "dangereuse"
  • Résultats agrégés sur toutes les images – Ensuite, vous pouvez agréger ces prédictions dans des résultats au niveau de l'ensemble de données :
    • Taux de faux positifs (FPR) – Il s'agit du pourcentage d'images de l'ensemble de test qui sont signalées à tort par le modèle comme contenant un contenu dangereux : (FP) : FP / (TN+FP).
    • Taux de faux négatifs (FNR) – Il s'agit du pourcentage d'images non sécurisées dans l'ensemble de test qui sont manquées par le modèle : (FN) : FN / (FN+TP).
    • Taux de vrais positifs (TPR) – Aussi appelé rappel, cela calcule le pourcentage de contenu dangereux (vérité terrain) qui est correctement découvert ou prédit par le modèle : TP / (TP + FN) = 1 – FNR.
    • La précision – Ceci calcule le pourcentage de prédictions correctes (contenu non sécurisé) par rapport au nombre total de prédictions faites : TP / (TP+FP).

Explorons un exemple. Supposons que votre jeu de test contient 10,000 9,950 images : 50 9,800 sûres et 9,950 non sûres. Le modèle prédit correctement 45 50 images sur XNUMX XNUMX comme sûres et XNUMX sur XNUMX comme dangereuses :

  • TP = 45
  • TN = 9800
  • FP = 9950 - 9800 = 150
  • FN = 50 - 45 = 5
  • Fpr = 150 / (9950 + 150) = 0.015 = 1.5 %
  • RNR = 5 / (5 + 45) = 0.1 = 10 %
  • TPR/Rappel = 45 / (45 + 5) = 0.9 = 90 %
  • La précision = 45 / (45 + 150) = 0.23 = 23 %

Mesurer la précision du modèle sur les vidéos

Si vous souhaitez évaluer les performances sur des vidéos, quelques étapes supplémentaires sont nécessaires :

  1. Échantillonnez un sous-ensemble d'images de chaque vidéo. Nous suggérons d'échantillonner uniformément avec un taux de 0.3 à 1 images par seconde (fps). Par exemple, si une vidéo est encodée à 24 ips et que vous souhaitez échantillonner une image toutes les 3 secondes (0.3 ips), vous devez en sélectionner une toutes les 72 images.
  2. Exécutez ces cadres échantillonnés via la modération de contenu Amazon Rekognition. Vous pouvez soit utiliser notre API vidéo, qui échantillonne déjà les images pour vous (à un taux de 3 ips), soit utiliser l'API image, auquel cas vous souhaitez échantillonner moins. Nous recommandons cette dernière option, compte tenu de la redondance des informations dans les vidéos (les images consécutives sont très similaires).
  3. Calculez les résultats par image comme expliqué dans la section précédente (résultats par image).
  4. Agréger les résultats sur l'ensemble de l'ensemble de tests. Ici, vous avez deux options, selon le type de résultat qui compte pour votre entreprise :
    1. Résultats au niveau de la trame – Cela considère toutes les images échantillonnées comme des images indépendantes et agrège les résultats exactement comme expliqué précédemment pour les images (FPR, FNR, rappel, précision). Si certaines vidéos sont considérablement plus longues que d'autres, elles contribueront plus d'images au nombre total, rendant la comparaison déséquilibrée. Dans ce cas, nous suggérons de changer la stratégie d'échantillonnage initiale en un nombre fixe d'images par vidéo. Par exemple, vous pouvez échantillonner uniformément 50 à 100 images par vidéo (en supposant que les vidéos durent au moins 2 à 3 minutes).
    2. Résultats au niveau vidéo – Pour certains cas d'utilisation, peu importe que le modèle soit capable de prédire correctement 50 % ou 99 % des images d'une vidéo. Même une seule mauvaise prédiction dangereuse sur une seule image peut déclencher une évaluation humaine en aval et seules les vidéos avec des prédictions correctes à 100 % sont vraiment considérées comme correctes. Si tel est votre cas d'utilisation, nous vous suggérons de calculer FPR/FNR/TPR sur les images de chaque vidéo et de considérer la vidéo comme suit :
ID de la vidéo Précision Catégorisation par vidéo
Résultats agrégés sur toutes les images de l'ID vidéo

Total PF = 0

FN total = 0

Des prédictions parfaites
. FP totale > 0 Faux positif (FP)
. FN totale > 0 Faux négatif (FN)

Une fois que vous les avez calculés indépendamment pour chaque vidéo, vous pouvez ensuite calculer toutes les métriques que nous avons présentées précédemment :

  • Le pourcentage de vidéos signalées à tort (FP) ou manquées (FN)
  • Précision et rappel

Mesurer les performances par rapport aux objectifs

Enfin, vous devez interpréter ces résultats dans le contexte de vos objectifs et de vos capacités.

Tout d'abord, considérez les besoins de votre entreprise en ce qui concerne les éléments suivants :

  • Données – Renseignez-vous sur vos données (volume quotidien, type de données, etc.) et sur la distribution de votre contenu non sécurisé par rapport à votre contenu sécurisé. Par exemple, est-il équilibré (50/50), asymétrique (10/90) ou très asymétrique (1/99, ce qui signifie que seulement 1 % est dangereux) ? La compréhension de cette distribution peut vous aider à définir vos objectifs de métriques réels. Par exemple, le nombre de contenus sûrs est souvent supérieur d'un ordre de grandeur au contenu dangereux (très biaisé), ce qui en fait presque un problème de détection d'anomalies. Dans ce scénario, le nombre de faux positifs peut dépasser le nombre de vrais positifs, et vous pouvez utiliser vos informations de données (asymétrie de distribution, volume de données, etc.) pour décider du FPR avec lequel vous pouvez travailler.
  • Objectifs métriques – Quels sont les aspects les plus critiques de votre entreprise ? La réduction du FPR se fait souvent au prix d'un FNR plus élevé (et vice versa) et il est important de trouver le bon équilibre qui vous convient. Si vous ne pouvez manquer aucun contenu dangereux, vous voudrez probablement près de 0 % de FNR (100 % de rappel). Cependant, cela entraînera le plus grand nombre de faux positifs et vous devez décider du FPR cible (maximal) avec lequel vous pouvez travailler, en fonction de votre pipeline post-prédiction. Vous voudrez peut-être autoriser un certain niveau de faux négatifs pour pouvoir trouver un meilleur équilibre et réduire votre FPR : par exemple, accepter un FNR de 5 % au lieu de 0 % pourrait réduire le FPR de 2 % à 0.5 %, réduisant considérablement le nombre des contenus signalés.

Ensuite, demandez-vous quels mécanismes vous utiliserez pour analyser les images signalées. Même si les API ne fournissent pas 0 % de FPR et de FNR, elles peuvent tout de même apporter des économies et une échelle considérables (par exemple, en ne signalant que 3 % de vos images, vous avez déjà filtré 97 % de votre contenu). Lorsque vous associez l'API à certains mécanismes en aval, comme une main-d'œuvre humaine qui examine le contenu signalé, vous pouvez facilement atteindre vos objectifs (par exemple, 0.5 % de contenu signalé). Notez que cet appariement est considérablement moins cher que de devoir faire un examen humain sur 100 % de votre contenu.

Lorsque vous avez décidé de vos mécanismes en aval, nous vous suggérons d'évaluer le débit que vous pouvez supporter. Par exemple, si vous avez une main-d'œuvre qui ne peut vérifier que 2 % de votre contenu quotidien, votre objectif cible de notre API de modération de contenu est un taux de signalement (FPR+TPR) de 2 %.

Enfin, si l'obtention d'annotations de vérité terrain est trop difficile ou trop coûteuse (par exemple, votre volume de données est trop important), nous vous suggérons d'annoter le petit nombre d'images signalées par l'API. Bien que cela ne permette pas les évaluations FNR (car vos données ne contiennent aucun faux négatif), vous pouvez toujours mesurer le TPR et le FPR.

Dans la section suivante, nous fournissons une solution pour l'évaluation de la modération d'image. Vous pouvez adopter une approche similaire pour l'évaluation de la modération vidéo.

Vue d'ensemble de la solution

Le diagramme suivant illustre les différents services AWS que vous pouvez utiliser pour évaluer les performances de la modération de contenu Amazon Rekognition sur votre ensemble de données de test.

L'évaluation de la modération du contenu comporte les étapes suivantes :

  1. Téléchargez votre ensemble de données d'évaluation dans Service de stockage simple Amazon (Amazon S3).
  2. Utilisez Ground Truth pour attribuer des étiquettes de modération Ground Truth.
  3. Générez les étiquettes de modération prévues à l'aide de l'API de modération pré-formée d'Amazon Rekognition à l'aide de quelques valeurs de seuil. (Par exemple, 70 %, 75 % et 80 %).
  4. Évaluez les performances pour chaque seuil en calculant les vrais positifs, les vrais négatifs, les faux positifs et les faux négatifs. Déterminez la valeur de seuil optimale pour votre cas d'utilisation.
  5. En option, vous pouvez adapter la taille de la main-d'œuvre en fonction des vrais et des faux positifs, et utiliser IA augmentée d'Amazon (Amazon A2I) pour envoyer automatiquement tout le contenu signalé à votre main-d'œuvre désignée pour un examen manuel.

Les sections suivantes fournissent les extraits de code pour les étapes 1, 2 et 3. Pour un code source complet de bout en bout, reportez-vous au Carnet Jupyter.

Pré-requis

Avant de commencer, procédez comme suit pour configurer le bloc-notes Jupyter:

  1. Créer une instance de bloc-notes in Amazon Sage Maker.
  2. Lorsque le notebook est actif, choisissez Ouvrez Jupyter.
  3. Sur le tableau de bord Jupyter, choisissez Nouveautéet choisissez terminal.
  4. Dans le terminal, entrez le code suivant:
    cd SageMaker
    git clone https://github.com/aws-samples/amazon-rekognition-code-samples.git

  5. Ouvrez le bloc-notes pour cet article : content-moderation-evaluation/Evaluating-Amazon-Rekognition-Content-Moderation-Service.ipynb.
  6. Téléchargez votre jeu de données d'évaluation sur Service de stockage simple Amazon (Amazon S3).

Nous allons maintenant passer par les étapes 2 à 4 du cahier Jupyter.

Utilisez Ground Truth pour attribuer des étiquettes de modération

Pour attribuer des étiquettes dans Ground Truth, procédez comme suit :

  1. Créer un fichier d'entrée manifeste pour votre travail Ground Truth et chargez-le sur Amazon S3.
  2. Créez la configuration d'étiquetage, qui contient toutes les étiquettes de modération nécessaires pour la tâche d'étiquetage Ground Truth. Pour vérifier la limite du nombre de catégories d'étiquettes que vous pouvez utiliser, reportez-vous à Quotas des catégories d'étiquettes. Dans l'extrait de code suivant, nous utilisons cinq étiquettes (reportez-vous à la taxonomie hiérarchique utilisée dans Amazon Rekognition pour plus de détails) plus une étiquette (Safe_Content) qui marque le contenu comme sûr :
    # customize CLASS_LIST to include all labels that can be used to classify sameple data, it's up to 10 labels
    # In order to easily match image label with content moderation service supported taxonomy, 
    
    CLASS_LIST = ["

  3. Créez un modèle de tâche de travailleur personnalisé pour fournir au personnel de Ground Truth des instructions d'étiquetage et chargez-le sur Amazon S3.
    La tâche d'étiquetage Ground Truth est définie comme une tâche de classification d'images (multi-étiquettes). Reportez-vous au code source pour obtenir des instructions sur la personnalisation du modèle d'instruction.
  4. Décidez quelle main-d'œuvre vous souhaitez utiliser pour terminer le travail Ground Truth. Vous avez deux options (reportez-vous au code source pour plus de détails) :
    1. Utiliser un main-d'oeuvre privée dans votre propre organisation pour étiqueter l'ensemble de données d'évaluation.
    2. Utiliser un main-d'œuvre publique pour étiqueter l'ensemble de données d'évaluation.
  5. Créez et soumettez une tâche d'étiquetage Ground Truth. Vous pouvez également ajuster le code suivant pour configurer le étiquetage des paramètres de tâche pour répondre aux besoins spécifiques de votre entreprise. Reportez-vous au code source pour obtenir des instructions complètes sur la création et la configuration de la tâche Ground Truth.
    human_task_config = {
        "AnnotationConsolidationConfig": {
            "AnnotationConsolidationLambdaArn": acs_arn,
        },
        "PreHumanTaskLambdaArn": prehuman_arn,
        "MaxConcurrentTaskCount": 200,  # 200 images will be sent at a time to the workteam.
        "NumberOfHumanWorkersPerDataObject": 3,  # 3 separate workers will be required to label each image.
        "TaskAvailabilityLifetimeInSeconds": 21600,  # Your workteam has 6 hours to complete all pending tasks.
        "TaskDescription": task_description,
        "TaskKeywords": task_keywords,
        "TaskTimeLimitInSeconds": 180,  # Each image must be labeled within 3 minutes.
        "TaskTitle": task_title,
        "UiConfig": {
            "UiTemplateS3Uri": "s3://{}/{}/instructions.template".format(BUCKET, EXP_NAME),
        },
    }

Une fois la tâche soumise, vous devriez voir une sortie semblable à celle-ci :

Labeling job name is: ground-truth-cm-1662738403

Attendez que la tâche d'étiquetage sur l'ensemble de données d'évaluation se termine avec succès, puis passez à l'étape suivante.

Utilisez l'API de modération d'Amazon Rekognition pour générer des étiquettes de modération prédites.

L'extrait de code suivant montre comment utiliser Amazon Rekognition API de modération pour générer des étiquettes de modération :

client=boto3.client('rekognition')
def moderate_image(photo, bucket):
    response = client.detect_moderation_labels(Image={'S3Object':{'Bucket':bucket,'Name':photo}})
    return len(response['ModerationLabels'])

Évaluer les performances

Vous avez d'abord récupéré les étiquettes de modération Ground Truth à partir des résultats de la tâche d'étiquetage Ground Truth pour l'ensemble de données d'évaluation, puis vous avez exécuté l'API de modération Amazon Rekognition pour obtenir les étiquettes de modération prévues pour le même ensemble de données. Comme il s'agit d'un problème de classification binaire (contenu sûr ou non sécurisé), nous calculons les métriques suivantes (en supposant que le contenu non sécurisé est positif) :

Nous calculons également les métriques d'évaluation correspondantes :

L'extrait de code suivant montre comment calculer ces métriques :

FPR = FP / (FP + TN)
FNR = FN / (FN + TP)
Recall = TP / (TP + FN)
Precision = TP / (TP + FP)

Conclusion

Cet article traite des éléments clés nécessaires pour évaluer l'aspect performance de votre service de modération de contenu en termes de diverses mesures de précision. Cependant, la précision n'est qu'une des nombreuses dimensions que vous devez évaluer lors du choix d'un service de modération de contenu particulier. Il est essentiel que vous incluiez d'autres paramètres, tels que l'ensemble des fonctionnalités du service, la facilité d'utilisation, les intégrations existantes, la confidentialité et la sécurité, les options de personnalisation, les implications d'évolutivité, le service client et la tarification. Pour en savoir plus sur la modération de contenu dans Amazon Rekognition, consultez Modération de contenu Amazon Rekognition.


À propos des auteurs

Métriques pour évaluer la modération de contenu dans Amazon Rekognition et d'autres services de modération de contenu PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Amit Gupta est architecte senior de solutions de services d'IA chez AWS. Il est passionné par l'offre aux clients de solutions d'apprentissage automatique bien architecturées à grande échelle.

Métriques pour évaluer la modération de contenu dans Amazon Rekognition et d'autres services de modération de contenu PlatoBlockchain Data Intelligence. Recherche verticale. Aï.David Modolo est responsable des sciences appliquées chez AWS AI Labs. Il est titulaire d'un doctorat en vision par ordinateur de l'Université d'Édimbourg (Royaume-Uni) et se passionne pour le développement de nouvelles solutions scientifiques aux problèmes réels des clients. En dehors du travail, il aime voyager et pratiquer tout type de sport, en particulier le football.

Métriques pour évaluer la modération de contenu dans Amazon Rekognition et d'autres services de modération de contenu PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Jian Wu est architecte senior de solutions d'entreprise chez AWS. Il travaille chez AWS depuis 6 ans et travaille avec des clients de toutes tailles. Il se passionne pour aider les clients à innover plus rapidement grâce à l'adoption du Cloud et de l'IA/ML. Avant de rejoindre AWS, Jian a passé plus de 10 ans à se concentrer sur le développement de logiciels, la mise en œuvre de systèmes et la gestion d'infrastructure. En dehors du travail, il aime rester actif et passer du temps avec sa famille.

Horodatage:

Plus de Apprentissage automatique AWS