Metrik untuk mengevaluasi moderasi konten di Amazon Rekognition dan layanan moderasi konten lainnya PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Metrik untuk mengevaluasi moderasi konten di Amazon Rekognition dan layanan moderasi konten lainnya

Moderasi konten adalah proses penyaringan dan pemantauan konten buatan pengguna secara online. Untuk menyediakan lingkungan yang aman bagi pengguna dan merek, platform harus memoderasi konten untuk memastikan bahwa konten tersebut berada dalam pedoman perilaku yang dapat diterima yang telah ditetapkan sebelumnya, yang spesifik untuk platform dan audiensnya.

Saat platform memoderasi konten, konten buatan pengguna (UGC) yang dapat diterima dapat dibuat dan dibagikan dengan pengguna lain. Perilaku yang tidak pantas, beracun, atau dilarang dapat dicegah, diblokir secara real time, atau dihapus setelah kejadian, tergantung pada alat dan prosedur moderasi konten yang dimiliki platform.

Anda dapat menggunakan Moderasi Konten Pengakuan Amazon untuk mendeteksi konten yang tidak pantas, tidak diinginkan, atau menyinggung, untuk menciptakan pengalaman pengguna yang lebih aman, memberikan jaminan keamanan merek kepada pengiklan, dan mematuhi peraturan lokal dan global.

Dalam posting ini, kami membahas elemen kunci yang diperlukan untuk mengevaluasi aspek kinerja layanan moderasi konten dalam hal berbagai metrik akurasi, dan memberikan contoh menggunakan Amazon Rekognition API Moderasi Konten.

Apa yang harus dievaluasi?

Saat mengevaluasi layanan moderasi konten, kami menyarankan langkah-langkah berikut.

Sebelum Anda dapat mengevaluasi kinerja API pada kasus penggunaan Anda, Anda perlu menyiapkan kumpulan data pengujian yang representatif. Berikut ini adalah beberapa pedoman tingkat tinggi:

  • Koleksi โ€“ Ambil sampel acak yang cukup besar (gambar atau video) dari data yang akhirnya ingin Anda jalankan melalui Amazon Rekognition. Misalnya, jika Anda berencana untuk memoderasi gambar yang diunggah pengguna, Anda dapat mengambil gambar pengguna selama seminggu untuk pengujian. Sebaiknya pilih set yang memiliki cukup gambar tanpa terlalu besar untuk diproses (seperti 1,000โ€“10,000 gambar), meskipun set yang lebih besar lebih baik.
  • Definisi โ€“ Gunakan panduan konten aplikasi Anda untuk memutuskan jenis konten tidak aman yang ingin Anda deteksi dari Amazon Rekognition taksonomi konsep moderasi. Misalnya, Anda mungkin tertarik untuk mendeteksi semua jenis ketelanjangan eksplisit dan kekerasan atau adegan berdarah.
  • Anotasi โ€“ Sekarang Anda memerlukan kebenaran dasar yang dibuat manusia untuk set pengujian Anda menggunakan label yang dipilih, sehingga Anda dapat membandingkan prediksi mesin dengan mereka. Ini berarti bahwa setiap gambar diberi anotasi untuk ada atau tidak adanya konsep yang Anda pilih. Untuk membubuhi keterangan data gambar Anda, Anda dapat menggunakan Kebenaran Dasar Amazon SageMaker (GT)untuk mengelola anotasi gambar. Anda dapat merujuk ke GT untuk pelabelan gambar, mengkonsolidasikan anotasi dan memproses output anotasi.

Dapatkan prediksi pada dataset pengujian Anda dengan Amazon Rekognition

Selanjutnya, Anda ingin mendapatkan prediksi pada kumpulan data pengujian Anda.

Langkah pertama adalah memutuskan skor kepercayaan minimum (nilai ambang, seperti 50%) di mana Anda ingin mengukur hasil. Ambang default kami ditetapkan ke 50, yang menawarkan keseimbangan yang baik antara mengambil sejumlah besar konten tidak aman tanpa menimbulkan terlalu banyak prediksi palsu pada konten aman. Namun, platform Anda mungkin memiliki kebutuhan bisnis yang berbeda, jadi Anda harus menyesuaikan ambang kepercayaan ini sesuai kebutuhan. Anda dapat menggunakan MinConfidence parameter dalam permintaan API Anda untuk menyeimbangkan deteksi konten (recall) vs akurasi deteksi (presisi). Jika Anda mengurangi MinConfidence, Anda mungkin mendeteksi sebagian besar konten yang tidak pantas, tetapi juga cenderung mengambil konten yang sebenarnya tidak pantas. Jika Anda meningkatkan MinConfidence Anda cenderung memastikan bahwa semua konten Anda yang terdeteksi benar-benar tidak pantas, tetapi beberapa konten mungkin tidak diberi tag. Kami menyarankan untuk bereksperimen dengan beberapa MinConfidence nilai pada set data Anda dan secara kuantitatif pilih nilai terbaik untuk domain data Anda.

Selanjutnya, jalankan setiap sampel (gambar atau video) set pengujian Anda melalui API moderasi Amazon Rekognition (DeteksiModerationLabels).

Ukur akurasi model pada gambar

Anda dapat menilai keakuratan model dengan membandingkan anotasi kebenaran dasar yang dibuat manusia dengan prediksi model. Anda mengulangi perbandingan ini untuk setiap gambar secara independen dan kemudian menggabungkan seluruh rangkaian pengujian:

  • Hasil per gambar โ€“ Prediksi model didefinisikan sebagai pasangan {label_name, confidence_score} (di mana skor kepercayaan >= ambang batas yang Anda pilih sebelumnya). Untuk setiap gambar, sebuah prediksi dianggap benar jika sesuai dengan ground truth (GT). Prediksi adalah salah satu opsi berikut:
    • Benar Positif (TP): prediksi dan GT "tidak aman"
    • Negatif Benar (TN): baik prediksi dan GT "aman"
    • Positif palsu (FP): prediksi mengatakan "tidak aman", tetapi GT "aman"
    • Negatif Palsu (FN): prediksinya "aman", tetapi GT "tidak aman"
  • Hasil gabungan dari semua gambar โ€“ Selanjutnya, Anda dapat menggabungkan prediksi ini ke dalam hasil tingkat set data:
    • Tingkat positif palsu (FPR) โ€“ Ini adalah persentase gambar dalam set pengujian yang salah ditandai oleh model sebagai berisi konten yang tidak aman: (FP): FP / (TN+FP).
    • Tingkat negatif palsu (FNR) โ€“ Ini adalah persentase gambar tidak aman dalam set pengujian yang terlewatkan oleh model: (FN): FN / (FN+TP).
    • Tingkat positif sejati (TPR) โ€“ Disebut juga penarikan, ini menghitung persentase konten tidak aman (kebenaran dasar) yang ditemukan atau diprediksi dengan benar oleh model: TP / (TP + FN) = 1 โ€“ FNR.
    • Ketelitian โ€“ Ini menghitung persentase prediksi yang benar (konten tidak aman) sehubungan dengan jumlah total prediksi yang dibuat: TP / (TP+FP).

Mari kita telusuri sebuah contoh. Mari kita asumsikan bahwa set pengujian Anda berisi 10,000 gambar: 9,950 aman dan 50 tidak aman. Model dengan tepat memprediksi 9,800 dari 9,950 gambar sebagai aman dan 45 dari 50 sebagai tidak aman:

  • 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 / Ingat = 45 / (45 + 5) = 0.9 = 90%
  • Ketelitian = 45 / (45 + 150) = 0.23 = 23%

Ukur akurasi model pada video

Jika Anda ingin mengevaluasi kinerja pada video, beberapa langkah tambahan diperlukan:

  1. Contoh subset frame dari setiap video. Kami menyarankan pengambilan sampel secara seragam dengan kecepatan 0.3-1 frame per detik (fps). Misalnya, jika video dikodekan pada 24 fps dan Anda ingin mengambil sampel satu frame setiap 3 detik (0.3 fps), Anda harus memilih satu setiap 72 frame.
  2. Jalankan bingkai sampel ini melalui moderasi konten Amazon Rekognition. Anda dapat menggunakan API video kami, yang telah mengambil sampel bingkai untuk Anda (dengan kecepatan 3 fps), atau menggunakan API gambar, dalam hal ini Anda ingin mengambil sampel lebih jarang. Kami merekomendasikan opsi terakhir, mengingat redundansi informasi dalam video (bingkai berurutan sangat mirip).
  3. Hitung hasil per-frame seperti yang dijelaskan di bagian sebelumnya (hasil per-gambar).
  4. Agregat hasil dari seluruh rangkaian tes. Di sini Anda memiliki dua opsi, tergantung pada jenis hasil yang penting bagi bisnis Anda:
    1. Hasil tingkat bingkai โ€“ Ini menganggap semua frame sampel sebagai gambar independen dan menggabungkan hasil persis seperti yang dijelaskan sebelumnya untuk gambar (FPR, FNR, recall, presisi). Jika beberapa video jauh lebih panjang daripada yang lain, mereka akan menyumbangkan lebih banyak bingkai ke jumlah total, membuat perbandingan tidak seimbang. Dalam hal ini, sebaiknya ubah strategi pengambilan sampel awal ke jumlah bingkai yang tetap per video. Misalnya, Anda dapat mengambil sampel 50โ€“100 frame per video secara seragam (dengan asumsi video berdurasi minimal 2-3 menit).
    2. Hasil tingkat video โ€“ Untuk beberapa kasus penggunaan, tidak masalah apakah model mampu memprediksi dengan benar 50% atau 99% frame dalam video. Bahkan satu prediksi tidak aman yang salah pada satu bingkai dapat memicu evaluasi manusia hilir dan hanya video dengan prediksi benar 100% yang benar-benar dianggap benar. Jika ini adalah kasus penggunaan Anda, kami sarankan Anda menghitung FPR/FNR/TPR pada bingkai setiap video dan mempertimbangkan video sebagai berikut:
ID Video Ketepatan Kategorisasi Per-Video
Hasil Digabungkan Pada Semua Bingkai ID Video

Jumlah FP = 0

Jumlah FN = 0

Prediksi sempurna
. Jumlah FP > 0 Positif Palsu (FP)
. Jumlah FN > 0 Negatif Palsu (FN)

Setelah Anda menghitung ini untuk setiap video secara terpisah, Anda kemudian dapat menghitung semua metrik yang kami perkenalkan sebelumnya:

  • Persentase video yang salah ditandai (FP) atau tidak terjawab (FN)
  • Presisi dan recall

Ukur kinerja terhadap sasaran

Terakhir, Anda perlu menginterpretasikan hasil ini dalam konteks tujuan dan kemampuan Anda.

Pertama, pertimbangkan kebutuhan bisnis Anda dalam hal berikut:

  • Data โ€“ Pelajari tentang data Anda (volume harian, jenis data, dan sebagainya) dan distribusi konten tidak aman vs. aman Anda. Misalnya, apakah seimbang (50/50), miring (10/90) atau sangat miring (1/99, artinya hanya 1% yang tidak aman)? Memahami distribusi tersebut dapat membantu Anda menentukan sasaran metrik Anda yang sebenarnya. Misalnya, jumlah konten aman sering kali lebih besar dari konten tidak aman (sangat miring), sehingga hampir menjadi masalah deteksi anomali. Dalam skenario ini, jumlah positif palsu mungkin melebihi jumlah positif benar, dan Anda dapat menggunakan informasi data Anda (kecondongan distribusi, volume data, dan sebagainya) untuk memutuskan FPR yang dapat Anda gunakan.
  • Sasaran metrik โ€“ Apa aspek terpenting dari bisnis Anda? Menurunkan FPR sering kali harus dibayar dengan FNR yang lebih tinggi (dan sebaliknya) dan penting untuk menemukan keseimbangan yang tepat yang sesuai untuk Anda. Jika Anda tidak dapat melewatkan konten yang tidak aman, Anda mungkin ingin mendekati 0% FNR (100% recall). Namun, ini akan menimbulkan jumlah positif palsu terbesar, dan Anda perlu memutuskan target (maksimum) FPR yang dapat Anda gunakan, berdasarkan jalur pasca-prediksi Anda. Anda mungkin ingin mengizinkan beberapa tingkat negatif palsu untuk dapat menemukan keseimbangan yang lebih baik dan menurunkan FPR Anda: misalnya, menerima 5% FNR alih-alih 0% dapat mengurangi FPR dari 2% menjadi 0.5%, sangat mengurangi jumlahnya dari konten yang ditandai.

Selanjutnya, tanyakan pada diri Anda mekanisme apa yang akan Anda gunakan untuk mengurai gambar yang ditandai. Meskipun API mungkin tidak menyediakan 0% FPR dan FNR, itu masih dapat menghasilkan penghematan dan skala besar (misalnya, dengan hanya menandai 3% dari gambar Anda, Anda telah memfilter 97% dari konten Anda). Saat Anda memasangkan API dengan beberapa mekanisme hilir, seperti tenaga kerja manusia yang meninjau konten yang ditandai, Anda dapat dengan mudah mencapai tujuan Anda (misalnya, 0.5% konten yang ditandai). Perhatikan bagaimana pemasangan ini jauh lebih murah daripada harus melakukan tinjauan manusia pada 100% konten Anda.

Ketika Anda telah memutuskan mekanisme hilir Anda, kami sarankan Anda mengevaluasi throughput yang dapat Anda dukung. Misalnya, jika Anda memiliki tenaga kerja yang hanya dapat memverifikasi 2% dari konten harian Anda, maka target target Anda dari API moderasi konten kami adalah flag rate (FPR+TPR) sebesar 2%.

Terakhir, jika memperoleh anotasi kebenaran dasar terlalu sulit atau terlalu mahal (misalnya, volume data Anda terlalu besar), sebaiknya beri anotasi pada sejumlah kecil gambar yang ditandai oleh API. Meskipun ini tidak memungkinkan untuk evaluasi FNR (karena data Anda tidak mengandung negatif palsu), Anda masih dapat mengukur TPR dan FPR.

Di bagian berikut, kami memberikan solusi untuk evaluasi moderasi gambar. Anda dapat mengambil pendekatan serupa untuk evaluasi moderasi video.

Ikhtisar solusi

Diagram berikut mengilustrasikan berbagai layanan AWS yang dapat Anda gunakan untuk mengevaluasi kinerja moderasi konten Amazon Rekognition pada kumpulan data pengujian Anda.

Evaluasi moderasi konten memiliki langkah-langkah berikut:

  1. Unggah kumpulan data evaluasi Anda ke Layanan Penyimpanan Sederhana Amazon (Amazon S3).
  2. Gunakan Ground Truth untuk menetapkan label moderasi ground truth.
  3. Buat label moderasi yang diprediksi menggunakan API moderasi terlatih Amazon Rekognition menggunakan beberapa nilai ambang batas. (Misalnya, 70%, 75% dan 80%).
  4. Nilai kinerja untuk setiap ambang batas dengan menghitung nilai positif benar, negatif benar, positif palsu, dan negatif palsu. Tentukan nilai ambang batas optimal untuk kasus penggunaan Anda.
  5. Opsional, Anda dapat menyesuaikan ukuran tenaga kerja berdasarkan positif benar dan salah, dan menggunakan Amazon Augmented AI (Amazon A2I) untuk secara otomatis mengirim semua konten yang ditandai ke tenaga kerja yang Anda tunjuk untuk peninjauan manual.

Bagian berikut menyediakan cuplikan kode untuk langkah 1, 2, dan 3. Untuk kode sumber ujung-ke-ujung yang lengkap, lihat Notebook Jupyter.

Prasyarat

Sebelum Anda memulai, selesaikan langkah-langkah berikut untuk menyiapkan notebook Jupyter:

  1. Buat instance notebook in Amazon SageMaker.
  2. Saat notebook aktif, pilih Buka Jupyter.
  3. Di dasbor Jupyter, pilih New, dan pilih terminal.
  4. Di terminal, masukkan kode berikut:
    cd SageMaker
    git clone https://github.com/aws-samples/amazon-rekognition-code-samples.git

  5. Buka buku catatan untuk posting ini: content-moderation-evaluation/Evaluating-Amazon-Rekognition-Content-Moderation-Service.ipynb.
  6. Unggah kumpulan data evaluasi Anda ke Layanan Penyimpanan Sederhana Amazon (Amazon S3).

Sekarang kita akan melalui langkah 2 hingga 4 di notebook Jupyter.

Gunakan Ground Truth untuk menetapkan label moderasi

Untuk menetapkan label di Ground Truth, selesaikan langkah-langkah berikut:

  1. Buat file input manifes untuk pekerjaan Ground Truth Anda dan unggah ke Amazon S3.
  2. Buat konfigurasi pelabelan, yang berisi semua label moderasi yang diperlukan untuk pekerjaan pelabelan Ground Truth. Untuk memeriksa batas jumlah kategori label yang dapat Anda gunakan, lihat Label Kategori Kuota. Dalam cuplikan kode berikut, kami menggunakan lima label (lihat taksonomi hierarkis yang digunakan di Amazon Rekognition untuk lebih jelasnya) ditambah satu label (Safe_Content) yang menandai konten sebagai aman:
    # 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. Buat templat tugas pekerja khusus untuk memberikan instruksi pelabelan kepada tenaga kerja Ground Truth dan mengunggahnya ke Amazon S3.
    Pekerjaan label Ground Truth didefinisikan sebagai tugas klasifikasi gambar (multi-label). Lihat kode sumber untuk instruksi untuk menyesuaikan templat instruksi.
  4. Tentukan tenaga kerja mana yang ingin Anda gunakan untuk menyelesaikan pekerjaan Ground Truth. Anda memiliki dua opsi (lihat kode sumber untuk detailnya):
    1. Menggunakan tenaga kerja swasta di organisasi Anda sendiri untuk memberi label pada kumpulan data evaluasi.
    2. Menggunakan tenaga kerja publik untuk memberi label pada dataset evaluasi.
  5. Buat dan kirimkan pekerjaan pelabelan Ground Truth. Anda juga dapat menyesuaikan kode berikut untuk mengonfigurasi pelabelan parameter pekerjaan untuk memenuhi kebutuhan bisnis spesifik Anda. Lihat kode sumber untuk instruksi lengkap tentang membuat dan mengonfigurasi pekerjaan 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),
        },
    }

Setelah pekerjaan dikirimkan, Anda akan melihat output yang mirip dengan berikut:

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

Tunggu hingga pekerjaan pelabelan pada dataset evaluasi berhasil diselesaikan, lalu lanjutkan ke langkah berikutnya.

Gunakan API moderasi Amazon Rekognition untuk menghasilkan label moderasi yang diprediksi.

Cuplikan kode berikut menunjukkan cara menggunakan Amazon Rekognition API moderasi untuk menghasilkan label moderasi:

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

Menilai kinerja

Anda pertama-tama mengambil label moderasi kebenaran dasar dari hasil tugas pelabelan Ground Truth untuk kumpulan data evaluasi, kemudian Anda menjalankan API moderasi Amazon Rekognition untuk mendapatkan label moderasi yang diprediksi untuk kumpulan data yang sama. Karena ini adalah masalah klasifikasi biner (konten aman vs. tidak aman), kami menghitung metrik berikut (dengan asumsi konten tidak aman positif):

Kami juga menghitung metrik evaluasi yang sesuai:

Cuplikan kode berikut menunjukkan cara menghitung metrik tersebut:

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

Kesimpulan

Posting ini membahas elemen kunci yang diperlukan untuk mengevaluasi aspek kinerja layanan moderasi konten Anda dalam hal berbagai metrik akurasi. Namun, akurasi hanyalah salah satu dari banyak dimensi yang perlu Anda evaluasi saat memilih layanan moderasi konten tertentu. Sangat penting bagi Anda untuk menyertakan parameter lain, seperti kumpulan fitur total layanan, kemudahan penggunaan, integrasi yang ada, privasi dan keamanan, opsi penyesuaian, implikasi skalabilitas, layanan pelanggan, dan harga. Untuk mempelajari lebih lanjut tentang moderasi konten di Amazon Rekognition, kunjungi Moderasi Konten Pengakuan Amazon.


Tentang penulis

Metrik untuk mengevaluasi moderasi konten di Amazon Rekognition dan layanan moderasi konten lainnya PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Amit Gupta adalah Arsitek Solusi Layanan AI Senior di AWS. Dia bersemangat untuk memungkinkan pelanggan dengan solusi machine learning yang dirancang dengan baik dalam skala besar.

Metrik untuk mengevaluasi moderasi konten di Amazon Rekognition dan layanan moderasi konten lainnya PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Davide Modolo adalah Manajer Sains Terapan di AWS AI Labs. Dia memiliki gelar PhD dalam visi komputer dari University of Edinburgh (UK) dan bersemangat mengembangkan solusi ilmiah baru untuk masalah pelanggan di dunia nyata. Di luar pekerjaan, ia suka bepergian dan bermain olahraga apa pun, terutama sepak bola.

Metrik untuk mengevaluasi moderasi konten di Amazon Rekognition dan layanan moderasi konten lainnya PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Jian Wu adalah Arsitek Solusi Perusahaan Senior di AWS. Dia telah bersama AWS selama 6 tahun bekerja dengan pelanggan dari semua ukuran. Dia bersemangat membantu pelanggan untuk berinovasi lebih cepat melalui adopsi Cloud dan AI/ML. Sebelum bergabung dengan AWS, Jian menghabiskan 10+ tahun dengan fokus pada pengembangan perangkat lunak, implementasi sistem, dan manajemen infrastruktur. Selain bekerja, ia menikmati tetap aktif dan menghabiskan waktu bersama keluarganya.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS