Parametri per valutare la moderazione dei contenuti in Amazon Rekognition e altri servizi di moderazione dei contenuti PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Metriche per la valutazione della moderazione dei contenuti in Amazon Rekognition e altri servizi di moderazione dei contenuti

La moderazione dei contenuti è il processo di screening e monitoraggio dei contenuti generati dagli utenti online. Per fornire un ambiente sicuro sia per gli utenti che per i marchi, le piattaforme devono moderare i contenuti per garantire che rientrino nelle linee guida prestabilite di comportamento accettabile che sono specifiche per la piattaforma e il suo pubblico.

Quando una piattaforma modera i contenuti, è possibile creare contenuti generati dagli utenti (UGC) accettabili e condividerli con altri utenti. Comportamenti inappropriati, tossici o vietati possono essere prevenuti, bloccati in tempo reale o rimossi a posteriori, a seconda degli strumenti e delle procedure di moderazione dei contenuti che la piattaforma dispone.

Puoi usare Moderazione dei contenuti di Amazon Rekognition per rilevare contenuti inappropriati, indesiderati o offensivi, per creare un'esperienza utente più sicura, fornire garanzie sulla sicurezza del marchio agli inserzionisti e rispettare le normative locali e globali.

In questo post, discutiamo gli elementi chiave necessari per valutare l'aspetto delle prestazioni di un servizio di moderazione dei contenuti in termini di vari parametri di accuratezza e forniamo un esempio utilizzando Amazon Rekognition API di moderazione dei contenuti.

Cosa valutare

Quando si valuta un servizio di moderazione dei contenuti, consigliamo i seguenti passaggi.

Prima di poter valutare le prestazioni dell'API nei tuoi casi d'uso, devi preparare un set di dati di test rappresentativo. Di seguito sono riportate alcune linee guida di alto livello:

  • Collezione – Prendi un campione casuale sufficientemente grande (immagini o video) dei dati che eventualmente desideri eseguire tramite Amazon Rekognition. Ad esempio, se prevedi di moderare le immagini caricate dagli utenti, puoi richiedere una settimana di immagini degli utenti per il test. Ti consigliamo di scegliere un set che abbia abbastanza immagini senza diventare troppo grande per l'elaborazione (come 1,000–10,000 immagini), anche se i set più grandi sono migliori.
  • Definizione – Utilizza le linee guida sui contenuti della tua applicazione per decidere quali tipi di contenuti non sicuri ti interessa rilevare da Amazon Rekognition tassonomia dei concetti di moderazione. Ad esempio, potresti essere interessato a rilevare tutti i tipi di nudità esplicita e violenza grafica o gore.
  • Annotazione – Ora hai bisogno di una verità di base generata dall'uomo per il tuo set di test utilizzando le etichette scelte, in modo da poter confrontare le previsioni della macchina con esse. Ciò significa che ogni immagine è annotata per la presenza o l'assenza dei concetti scelti. Per annotare i dati dell'immagine, puoi usare Amazon SageMaker verità fondamentale (GT) per gestire l'annotazione dell'immagine. Puoi fare riferimento a GT per l'etichettatura delle immagini, annotazioni di consolidamento ed elaborazione dell'output di annotazione.

Ottieni previsioni sul tuo set di dati di test con Amazon Rekognition

Successivamente, vuoi ottenere previsioni sul tuo set di dati di test.

Il primo passaggio consiste nel decidere un punteggio di confidenza minimo (un valore di soglia, ad esempio il 50%) al quale si desidera misurare i risultati. La nostra soglia predefinita è impostata su 50, il che offre un buon equilibrio tra il recupero di grandi quantità di contenuti non sicuri senza incorrere in troppe false previsioni sui contenuti sicuri. Tuttavia, la tua piattaforma potrebbe avere esigenze aziendali diverse, quindi dovresti personalizzare questa soglia di affidabilità secondo necessità. Puoi usare il MinConfidence parametro nelle richieste API per bilanciare il rilevamento del contenuto (richiamo) rispetto all'accuratezza del rilevamento (precisione). Se riduci MinConfidence, è probabile che tu rilevi la maggior parte dei contenuti inappropriati, ma è anche probabile che raccolga contenuti che non sono effettivamente inappropriati. Se aumenti MinConfidence è probabile che ti assicuri che tutti i tuoi contenuti rilevati siano veramente inappropriati, ma alcuni contenuti potrebbero non essere taggati. Suggeriamo di sperimentarne alcuni MinConfidence valori sul tuo set di dati e seleziona quantitativamente il valore migliore per il tuo dominio di dati.

Quindi, esegui ogni campione (immagine o video) del tuo set di test tramite l'API di moderazione Amazon Rekognition (Rileva etichette di moderazione).

Misura la precisione del modello sulle immagini

È possibile valutare l'accuratezza di un modello confrontando le annotazioni della verità sul terreno generate dall'uomo con le previsioni del modello. Ripeti questo confronto per ogni immagine in modo indipendente e quindi aggreghi l'intero set di test:

  • Risultati per immagine – Una previsione del modello è definita come la coppia {label_name, confidence_score} (dove il punteggio di confidenza >= la soglia selezionata in precedenza). Per ogni immagine, una previsione è considerata corretta quando corrisponde alla verità fondamentale (GT). Una previsione è una delle seguenti opzioni:
    • Vero positivo (TP): sia il pronostico che il GT sono “non sicuri”
    • Vero negativo (TN): sia il pronostico che il GT sono "sicuri"
    • falso positivo (FP): il pronostico dice “non sicuro”, ma la GT è “sicura”
    • Falso negativo (FN): il pronostico è “sicuro”, ma la GT è “non sicura”
  • Risultati aggregati su tutte le immagini – Successivamente, puoi aggregare queste previsioni in risultati a livello di set di dati:
    • Tasso di falsi positivi (FPR) – Questa è la percentuale di immagini nel set di test che sono state erroneamente contrassegnate dal modello come contenenti contenuto non sicuro: (FP): FP / (TN+FP).
    • Tasso di falsi negativi (FNR) – Questa è la percentuale di immagini non sicure nel set di test che non sono state rilevate dal modello: (FN): FN / (FN+TP).
    • Tasso di veri positivi (TPR) – Chiamato anche richiamo, calcola la percentuale di contenuto non sicuro (verità di base) correttamente scoperta o prevista dal modello: TP / (TP + FN) = 1 – FNR.
    • Precisione – Calcola la percentuale di previsioni corrette (contenuto non sicuro) rispetto al numero totale di previsioni effettuate: TP / (TP+FP).

Esploriamo un esempio. Supponiamo che il set di test contenga 10,000 immagini: 9,950 sicure e 50 non sicure. Il modello prevede correttamente 9,800 immagini su 9,950 come sicure e 45 immagini su 50 non sicure:

  • TP = 45
  • TN = 9800
  • FP = 9950 - 9800 = 150
  • FN = 50 - 45 = 5
  • RPF = 150 / (9950 + 150) = 0.015 = 1.5%
  • FNR = 5 / (5 + 45) = 0.1 = 10%
  • TPR/Richiamo = 45 / (45 + 5) = 0.9 = 90%
  • Precisione = 45 / (45 + 150) = 0.23 = 23%

Misura la precisione del modello sui video

Se vuoi valutare la performance sui video, sono necessari alcuni passaggi aggiuntivi:

  1. Campionare un sottoinsieme di fotogrammi da ciascun video. Suggeriamo di campionare in modo uniforme con una frequenza di 0.3–1 fotogrammi al secondo (fps). Ad esempio, se un video è codificato a 24 fps e si desidera campionare un fotogramma ogni 3 secondi (0.3 fps), è necessario selezionarne uno ogni 72 fotogrammi.
  2. Esegui questi frame campionati tramite la moderazione dei contenuti di Amazon Rekognition. Puoi utilizzare la nostra API video, che campiona già i fotogrammi per te (a una velocità di 3 fps), oppure utilizzare l'API delle immagini, nel qual caso desideri campionare in modo più sparso. Consigliamo quest'ultima opzione, data la ridondanza delle informazioni nei video (i fotogrammi consecutivi sono molto simili).
  3. Calcola i risultati per fotogramma come spiegato nella sezione precedente (risultati per immagine).
  4. Aggrega i risultati sull'intero set di test. Qui hai due opzioni, a seconda del tipo di risultato che conta per la tua attività:
    1. Risultati a livello di frame – Questo considera tutti i fotogrammi campionati come immagini indipendenti e aggrega i risultati esattamente come spiegato in precedenza per le immagini (FPR, FNR, richiamo, precisione). Se alcuni video sono notevolmente più lunghi di altri, contribuiranno con più fotogrammi al conteggio totale, rendendo il confronto sbilanciato. In tal caso, suggeriamo di modificare la strategia di campionamento iniziale impostando un numero fisso di fotogrammi per video. Ad esempio, puoi campionare uniformemente 50–100 fotogrammi per video (supponendo che i video durino almeno 2–3 minuti).
    2. Risultati a livello di video – Per alcuni casi d'uso, non importa se il modello è in grado di prevedere correttamente il 50% o il 99% dei fotogrammi in un video. Anche una singola previsione non sicura errata su un singolo fotogramma potrebbe innescare una valutazione umana a valle e solo i video con previsioni corrette al 100% sono veramente considerati correttamente. Se questo è il tuo caso d'uso, ti suggeriamo di calcolare FPR/FNR/TPR sui fotogrammi di ciascun video e di considerare il video come segue:
ID video Precisione Categorizzazione per video
Risultati aggregati su tutti i fotogrammi dell'ID video

PF totale = 0

FN totale = 0

Previsioni perfette
. Totale PF > 0 Falso positivo (FP)
. Totale FN > 0 Falso negativo (FN)

Dopo averli calcolati per ogni video in modo indipendente, puoi quindi calcolare tutte le metriche che abbiamo introdotto in precedenza:

  • La percentuale di video segnalati erroneamente (FP) o persi (FN)
  • Precisione e richiamo

Misura le prestazioni rispetto agli obiettivi

Infine, devi interpretare questi risultati nel contesto dei tuoi obiettivi e delle tue capacità.

Innanzitutto, considera le tue esigenze aziendali in merito a quanto segue:

  • Dati – Scopri i tuoi dati (volume giornaliero, tipo di dati e così via) e la distribuzione dei tuoi contenuti non sicuri rispetto a quelli sicuri. Ad esempio, è bilanciato (50/50), sbilanciato (10/90) o molto sbilanciato (1/99, il che significa che solo l'1% non è sicuro)? Comprendere tale distribuzione può aiutarti a definire i tuoi obiettivi di metrica effettivi. Ad esempio, il numero di contenuti sicuri è spesso un ordine di grandezza maggiore dei contenuti non sicuri (molto distorto), rendendo questo quasi un problema di rilevamento di anomalie. In questo scenario, il numero di falsi positivi può superare il numero di veri positivi ed è possibile utilizzare le informazioni sui dati (asimmetria della distribuzione, volume di dati e così via) per decidere l'FPR con cui lavorare.
  • Obiettivi metrici – Quali sono gli aspetti più critici della tua attività? Abbassare l'FPR spesso ha il costo di un FNR più alto (e viceversa) ed è importante trovare il giusto equilibrio che funzioni per te. Se non riesci a perdere nessun contenuto non sicuro, probabilmente vorrai un FNR vicino allo 0% (richiamo del 100%). Tuttavia, ciò comporterà il maggior numero di falsi positivi e devi decidere l'FPR target (massimo) con cui puoi lavorare, in base alla pipeline post-previsione. Potresti voler consentire un certo livello di falsi negativi per poter trovare un equilibrio migliore e abbassare il tuo FPR: ad esempio, accettando un FNR del 5% invece dello 0% potresti ridurre il FPR dal 2% allo 0.5%, riducendo notevolmente il numero di contenuti segnalati.

Quindi, chiediti quali meccanismi utilizzerai per analizzare le immagini contrassegnate. Anche se le API potrebbero non fornire lo 0% di FPR e FNR, possono comunque portare enormi risparmi e scalabilità (ad esempio, segnalando solo il 3% delle tue immagini, hai già filtrato il 97% dei tuoi contenuti). Quando abbini l'API ad alcuni meccanismi a valle, come una forza lavoro umana che esamina il contenuto segnalato, puoi facilmente raggiungere i tuoi obiettivi (ad esempio, 0.5% di contenuto segnalato). Nota come questo abbinamento sia notevolmente più economico rispetto al dover fare una revisione umana sul 100% dei tuoi contenuti.

Quando hai deciso i tuoi meccanismi a valle, ti suggeriamo di valutare il throughput che puoi supportare. Ad esempio, se disponi di una forza lavoro in grado di verificare solo il 2% dei tuoi contenuti giornalieri, il tuo obiettivo target dalla nostra API di moderazione dei contenuti è un tasso di segnalazione (FPR+TPR) del 2%.

Infine, se ottenere annotazioni ground truth è troppo difficile o troppo costoso (ad esempio, il tuo volume di dati è troppo grande), ti suggeriamo di annotare il piccolo numero di immagini contrassegnate dall'API. Sebbene ciò non consenta le valutazioni FNR (perché i tuoi dati non contengono falsi negativi), puoi comunque misurare TPR e FPR.

Nella sezione seguente viene fornita una soluzione per la valutazione della moderazione dell'immagine. Puoi adottare un approccio simile per la valutazione della moderazione video.

Panoramica della soluzione

Il diagramma seguente illustra i vari servizi AWS che puoi utilizzare per valutare le prestazioni della moderazione dei contenuti di Amazon Rekognition sul tuo set di dati di test.

La valutazione della moderazione dei contenuti prevede i seguenti passaggi:

  1. Carica il tuo set di dati di valutazione in Servizio di archiviazione semplice Amazon (Amazon S3).
  2. Usa Ground Truth per assegnare etichette di moderazione della verità di base.
  3. Genera le etichette di moderazione previste utilizzando l'API di moderazione pre-addestrata di Amazon Rekognition utilizzando alcuni valori di soglia. (Ad esempio, 70%, 75% e 80%).
  4. Valuta le prestazioni per ciascuna soglia calcolando i veri positivi, i veri negativi, i falsi positivi e i falsi negativi. Determina il valore di soglia ottimale per il tuo caso d'uso.
  5. Facoltativamente, puoi personalizzare le dimensioni della forza lavoro in base a veri e falsi positivi e utilizzarli AI aumentata di Amazon (Amazon A2I) per inviare automaticamente tutti i contenuti segnalati alla forza lavoro designata per una revisione manuale.

Le sezioni seguenti forniscono i frammenti di codice per i passaggi 1, 2 e 3. Per il codice sorgente end-to-end completo, fare riferimento al Notebook Jupyter.

Prerequisiti

Prima di iniziare, completare i seguenti passi per configurare il notebook Jupyter:

  1. Creare un'istanza di blocco note in Amazon Sage Maker.
  2. Quando il notebook è attivo, selezionare Apri Jupyter.
  3. Nella dashboard di Jupyter, scegli Newe scegli terminal.
  4. Nel terminale, inserisci il seguente codice:
    cd SageMaker
    git clone https://github.com/aws-samples/amazon-rekognition-code-samples.git

  5. Apri il taccuino per questo post: content-moderation-evaluation/Evaluating-Amazon-Rekognition-Content-Moderation-Service.ipynb.
  6. Carica il tuo set di dati di valutazione su Servizio di archiviazione semplice Amazon (Amazon S3).

Passeremo ora attraverso i passaggi da 2 a 4 nel notebook Jupyter.

Usa Ground Truth per assegnare etichette di moderazione

Per assegnare etichette in Ground Truth, completare i seguenti passaggi:

  1. Crea un file di input manifest per il tuo lavoro Ground Truth e caricalo su Amazon S3.
  2. Creare la configurazione di etichettatura, che contiene tutte le etichette di moderazione necessarie per il lavoro di etichettatura Ground Truth. Per verificare il limite del numero di categorie di etichette che è possibile utilizzare, fare riferimento a Quote di categoria etichetta. Nel seguente frammento di codice, utilizziamo cinque etichette (fare riferimento a tassonomia gerarchica utilizzata in Amazon Rekognition per maggiori dettagli) più un'etichetta (Safe_Content) che contrassegna i contenuti come sicuri:
    # 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. Crea un modello di attività del lavoratore personalizzato per fornire alla forza lavoro Ground Truth istruzioni di etichettatura e caricalo su Amazon S3.
    Il lavoro sull'etichetta Ground Truth è definito come un'attività di classificazione delle immagini (etichetta multipla). Fare riferimento al codice sorgente per le istruzioni per personalizzare il modello di istruzione.
  4. Decidi quale forza lavoro vuoi utilizzare per completare il lavoro Ground Truth. Hai due opzioni (fare riferimento al codice sorgente per i dettagli):
    1. Utilizzare forza lavoro privata nella propria organizzazione per etichettare il set di dati di valutazione.
    2. Utilizzare forza lavoro pubblica per etichettare il dataset di valutazione.
  5. Crea e invia un lavoro di etichettatura Ground Truth. Puoi anche modificare il codice seguente per configurare il file etichettatura dei parametri di lavoro per soddisfare le vostre specifiche esigenze aziendali. Fare riferimento al codice sorgente per le istruzioni complete sulla creazione e la configurazione del lavoro 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),
        },
    }

Dopo che il lavoro è stato inviato, dovresti vedere un output simile al seguente:

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

Attendi che il processo di etichettatura sul set di dati di valutazione venga completato correttamente, quindi vai al passaggio successivo.

Utilizza l'API di moderazione di Amazon Rekognition per generare etichette di moderazione prevista.

Il seguente frammento di codice mostra come utilizzare Amazon Rekognition API di moderazione per generare etichette di moderazione:

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

Valuta le prestazioni

Hai prima recuperato le etichette di moderazione Ground Truth dai risultati del lavoro di etichettatura Ground Truth per il set di dati di valutazione, quindi hai eseguito l'API di moderazione di Amazon Rekognition per ottenere le etichette di moderazione previste per lo stesso set di dati. Poiché si tratta di un problema di classificazione binaria (contenuto sicuro o non sicuro), calcoliamo le seguenti metriche (supponendo che il contenuto non sicuro sia positivo):

Calcoliamo anche le metriche di valutazione corrispondenti:

Il seguente frammento di codice mostra come calcolare tali metriche:

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

Conclusione

Questo post discute gli elementi chiave necessari per valutare l'aspetto delle prestazioni del tuo servizio di moderazione dei contenuti in termini di varie metriche di accuratezza. Tuttavia, l'accuratezza è solo una delle tante dimensioni che devi valutare quando scegli un particolare servizio di moderazione dei contenuti. È fondamentale includere altri parametri, come il set di funzionalità totale del servizio, la facilità d'uso, le integrazioni esistenti, la privacy e la sicurezza, le opzioni di personalizzazione, le implicazioni sulla scalabilità, il servizio clienti e i prezzi. Per ulteriori informazioni sulla moderazione dei contenuti in Amazon Rekognition, visita Moderazione dei contenuti di Amazon Rekognition.


Circa gli autori

Parametri per valutare la moderazione dei contenuti in Amazon Rekognition e altri servizi di moderazione dei contenuti PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Amit Gupta è Senior AI Services Solutions Architect presso AWS. È appassionato di offrire ai clienti soluzioni di machine learning ben progettate su larga scala.

Parametri per valutare la moderazione dei contenuti in Amazon Rekognition e altri servizi di moderazione dei contenuti PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Davide Modolo è un Applied Science Manager presso AWS AI Labs. Ha un dottorato di ricerca in computer vision presso l'Università di Edimburgo (Regno Unito) ed è appassionato di sviluppo di nuove soluzioni scientifiche per i problemi dei clienti del mondo reale. Al di fuori del lavoro, gli piace viaggiare e praticare qualsiasi tipo di sport, in particolare il calcio.

Parametri per valutare la moderazione dei contenuti in Amazon Rekognition e altri servizi di moderazione dei contenuti PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Jian Wu è Senior Enterprise Solutions Architect presso AWS. Lavora con AWS da 6 anni, lavorando con clienti di tutte le dimensioni. È appassionato di aiutare i clienti a innovare più velocemente attraverso l'adozione del cloud e dell'IA/ML. Prima di entrare in AWS, Jian ha trascorso oltre 10 anni concentrandosi sullo sviluppo di software, sull'implementazione di sistemi e sulla gestione dell'infrastruttura. Oltre al lavoro, gli piace rimanere attivo e trascorrere del tempo con la sua famiglia.

Timestamp:

Di più da Apprendimento automatico di AWS