Показники для оцінки модерації вмісту в Amazon Rekognition та інших службах модерації вмісту PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Показники для оцінки модерації вмісту в Amazon Rekognition та інших службах модерації вмісту

Модерація вмісту – це процес перевірки та моніторингу створеного користувачами вмісту в Інтернеті. Щоб забезпечити безпечне середовище як для користувачів, так і для брендів, платформи повинні модерувати вміст, щоб переконатися, що він відповідає попередньо встановленим правилам прийнятної поведінки, які є специфічними для платформи та її аудиторії.

Коли платформа модерує вміст, прийнятний створений користувачами вміст (UGC) можна створювати та ділитися з іншими користувачами. Невідповідну, токсичну або заборонену поведінку можна запобігти, заблокувати в режимі реального часу або видалити після факту, залежно від інструментів і процедур модерації вмісту, які використовує платформа.

Ви можете використовувати Модерація вмісту Amazon Rekognition для виявлення неприйнятного, небажаного чи образливого вмісту, для створення безпечнішої взаємодії з користувачем, надання рекламодавцям гарантій безпеки бренду та дотримання місцевих і глобальних правил.

У цій публікації ми обговорюємо ключові елементи, необхідні для оцінки аспекту ефективності служби модерації вмісту з точки зору різних показників точності, і надаємо приклад використання Amazon Rekognition API модерації вмісту.

Що оцінити

Оцінюючи службу модерації вмісту, ми рекомендуємо наступні кроки.

Перш ніж ви зможете оцінити продуктивність API у своїх випадках використання, вам потрібно підготувати репрезентативний тестовий набір даних. Нижче наведено деякі вказівки високого рівня:

  • COLLECTION – Візьміть досить велику випадкову вибірку (зображень або відео) даних, які ви зрештою хочете пропустити через Amazon Rekognition. Наприклад, якщо ви плануєте модерувати зображення, завантажені користувачами, ви можете взяти для тесту зображення користувачів за тиждень. Ми рекомендуємо вибрати набір із достатньою кількістю зображень, який не стає надто великим для обробки (наприклад, 1,000–10,000 XNUMX зображень), хоча більші набори краще.
  • Визначення – Використовуйте вказівки щодо вмісту вашої програми, щоб вирішити, які типи небезпечного вмісту ви хочете виявити за допомогою Amazon Rekognition таксономія концепцій модерації. Наприклад, вас може зацікавити виявлення всіх типів явного оголеного тіла та відразливого насильства чи крові.
  • Анотація – Тепер вам потрібна створена людиною основна істина для вашого тестового набору з використанням вибраних міток, щоб ви могли порівнювати машинні прогнози з ними. Це означає, що кожне зображення анотовано щодо наявності чи відсутності вибраних вами концепцій. Щоб анотувати дані зображення, ви можете використовувати Основна правда Amazon SageMaker (GT) для керування анотаціями зображень. Ви можете посилатися на GT для маркування зображень, закріплення анотацій та обробка вихідних даних анотації.

Отримуйте прогнози щодо свого тестового набору даних за допомогою Amazon Rekognition

Далі ви хочете отримати прогнози щодо свого тестового набору даних.

Першим кроком є ​​визначення мінімального показника достовірності (порогове значення, наприклад 50%), за яким ви бажаєте вимірювати результати. Наше порогове значення за умовчанням встановлено на 50, що забезпечує хороший баланс між отриманням великої кількості небезпечного вмісту без надто великої кількості помилкових прогнозів щодо безпечного вмісту. Однак у вашої платформи можуть бути інші бізнес-потреби, тому вам слід налаштувати цей поріг надійності за потреби. Ви можете використовувати MinConfidence параметр у ваших запитах API, щоб збалансувати виявлення вмісту (відкликання) та точність виявлення (точність). Якщо зменшити MinConfidence, ви, швидше за все, виявите більшість неприйнятного вмісту, але ймовірно також підберете вміст, який насправді не є неприйнятним. Якщо збільшити MinConfidence ви, швидше за все, переконаєтеся, що весь ваш виявлений вміст є дійсно неприйнятним, але деякий вміст може бути не позначено тегами. Пропонуємо поекспериментувати з кількома MinConfidence значення у вашому наборі даних і кількісно виберіть найкраще значення для вашої області даних.

Далі запустіть кожен зразок (зображення чи відео) свого тестового набору через API модерації Amazon Rekognition (DetectModerationLabels).

Вимірюйте точність моделі на зображеннях

Ви можете оцінити точність моделі, порівнявши створені людиною наземні анотації істинності з прогнозами моделі. Ви повторюєте це порівняння для кожного зображення окремо, а потім узагальнюєте для всього тестового набору:

  • Результати для кожного зображення – Прогноз моделі визначається як пара {label_name, confidence_score} (де показник достовірності >= поріг, який ви вибрали раніше). Для кожного зображення передбачення вважається правильним, якщо воно відповідає базовій правді (GT). Прогноз — це один із таких варіантів:
    • Справжній позитивний (TP): і прогноз, і GT є «небезпечними»
    • Істинно негативний (TN): і прогноз, і GT є «безпечними»
    • псевдопозитивний (FP): передбачення говорить «небезпечно», але GT є «безпечним»
    • Помилково негативний (FN): прогноз «безпечний», але GT «небезпечний»
  • Зведені результати для всіх зображень – Далі ви можете об’єднати ці прогнози в результати на рівні набору даних:
    • Частота помилкових позитивних результатів (FPR) – Це відсоток зображень у тестовому наборі, які помилково позначені моделлю як такі, що містять небезпечний вміст: (FP): FP / (TN+FP).
    • Частота хибно негативних результатів (FNR) – Це відсоток небезпечних зображень у тестовому наборі, пропущених моделлю: (FN): FN / (FN+TP).
    • Справжній позитивний показник (TPR) – Також називається відкликанням, це обчислює відсоток небезпечного вмісту (основна правда), який правильно виявлено або передбачено моделлю: TP / (TP + FN) = 1 – FNR.
    • Точність – Це обчислює відсоток правильних прогнозів (небезпечний вміст) щодо загальної кількості зроблених прогнозів: TP / (TP+FP).

Давайте розглянемо приклад. Припустімо, що ваш тестовий набір містить 10,000 9,950 зображень: 50 9,800 безпечних і 9,950 небезпечних. Модель правильно прогнозує 45 із 50 зображень як безпечні та XNUMX із XNUMX як небезпечні:

  • TP = 45
  • TN = 9800
  • FP = 9950 – 9800 = 150
  • FN = 50 – 45 = 5
  • RPF = 150 / (9950 + 150) = 0.015 = 1.5%
  • ФНР = 5 / (5 + 45) = 0.1 = 10%
  • TPR/Відкликання = 45 / (45 + 5) = 0.9 = 90%
  • Точність = 45 / (45 + 150) = 0.23 = 23%

Вимірюйте точність моделі на відео

Якщо ви хочете оцінити ефективність відео, необхідно виконати кілька додаткових кроків:

  1. Вибірка підмножини кадрів із кожного відео. Ми пропонуємо рівномірну вибірку зі швидкістю 0.3–1 кадрів на секунду (fps). Наприклад, якщо відео закодовано зі швидкістю 24 кадри в секунду, і ви хочете знімати один кадр кожні 3 секунди (0.3 кадру в секунду), вам потрібно вибрати один кадр на кожні 72 кадри.
  2. Проведіть ці зразки кадрів через модерацію вмісту Amazon Rekognition. Ви можете скористатися нашим відео API, який уже відбирає для вас кадри (зі швидкістю 3 кадри в секунду), або використати API зображень, у цьому випадку ви хочете відбирати меншу кількість кадрів. Ми рекомендуємо останній варіант, враховуючи надмірність інформації у відео (послідовні кадри дуже схожі).
  3. Обчисліть результати для кожного кадру, як описано в попередньому розділі (результати для кожного зображення).
  4. Сукупні результати по всій серії тестів. Тут у вас є два варіанти, залежно від типу результату, який має значення для вашого бізнесу:
    1. Результати на рівні фрейму – Це розглядає всі вибіркові кадри як незалежні зображення та агрегує результати точно так, як пояснювалося раніше для зображень (FPR, FNR, відкликання, точність). Якщо деякі відео значно довші за інші, вони внесуть більше кадрів у загальну кількість, що робить порівняння незбалансованим. У такому випадку ми пропонуємо змінити початкову стратегію вибірки на фіксовану кількість кадрів на відео. Наприклад, ви можете рівномірно вибрати 50–100 кадрів для кожного відео (за умови, що відео тривалістю принаймні 2–3 хвилини).
    2. Результати на рівні відео – Для деяких випадків використання не має значення, чи здатна модель правильно передбачити 50% чи 99% кадрів у відео. Навіть одне неправильне небезпечне передбачення в одному кадрі може спричинити подальшу оцінку людиною, і лише відео зі 100% правильними передбаченнями справді вважаються правильними. Якщо це ваш випадок використання, ми пропонуємо вам обчислити FPR/FNR/TPR для кадрів кожного відео та розглянути відео таким чином:
Ідентифікатор відео Точність Категоризація для кожного відео
Результати, агреговані за всіма кадрами ідентифікатора відео

Загальний FP = 0

Загальний FN = 0

Ідеальні прогнози
. Загальний FP > 0 Хибнопозитивний (FP)
. Загальний FN > 0 Помилково негативний (FN)

Після того, як ви обчислите їх для кожного відео окремо, ви можете обчислити всі показники, які ми представили раніше:

  • Відсоток відео, які помилково позначені (FP) або пропущені (FN)
  • Точність і відкликання

Вимірюйте результативність щодо цілей

Нарешті, вам потрібно інтерпретувати ці результати в контексті ваших цілей і можливостей.

По-перше, розгляньте потреби свого бізнесу щодо наступного:

  • дані – Дізнайтеся про свої дані (щоденний обсяг, тип даних тощо) і розподіл вашого небезпечного вмісту проти безпечного. Наприклад, чи є він збалансованим (50/50), перекошеним (10/90) чи дуже перекошеним (1/99, тобто лише 1% є небезпечним)? Розуміння такого розподілу може допомогти вам визначити ваші фактичні метричні цілі. Наприклад, кількість безпечного вмісту часто на порядок більша, ніж небезпечного (дуже спотвореного), що робить це майже проблемою виявлення аномалії. У цьому сценарії кількість хибних спрацьовувань може перевищувати кількість справжніх спрацьовувань, і ви можете використовувати інформацію про свої дані (асимметричність розподілу, обсяг даних тощо), щоб визначити FPR, з яким можна працювати.
  • Метричні цілі – Які найбільш критичні аспекти вашого бізнесу? Зниження FPR часто відбувається за рахунок більшого FNR (і навпаки), тому важливо знайти правильний баланс, який вам підходить. Якщо ви не можете пропустити жоден небезпечний вміст, ви, швидше за все, бажаєте, щоб FNR був близьким до 0% (100% запам’ятовування). Однак це призведе до найбільшої кількості хибних спрацьовувань, і вам потрібно визначити цільовий (максимальний) FPR, з яким ви можете працювати, на основі вашого конвеєра після прогнозування. Ви можете дозволити певний рівень хибно негативних результатів, щоб знайти кращий баланс і знизити свій FPR: наприклад, прийняття 5% FNR замість 0% може зменшити FPR з 2% до 0.5%, значно зменшивши кількість позначеного вмісту.

Далі запитайте себе, які механізми ви будете використовувати для аналізу позначених зображень. Незважаючи на те, що API може не забезпечувати 0% FPR і FNR, він все одно може принести величезну економію та масштаб (наприклад, позначивши лише 3% ваших зображень, ви вже відфільтрували 97% свого вмісту). Коли ви поєднуєте API з деякими механізмами нижчого рівня, як-от робоча сила, яка перевіряє позначений вміст, ви можете легко досягти своїх цілей (наприклад, 0.5% позначеного вмісту). Зауважте, що таке поєднання значно дешевше, ніж перевірка 100% вашого вмісту людиною.

Коли ви визначитеся з механізмами нижньої течії, ми пропонуємо вам оцінити пропускну здатність, яку ви можете підтримувати. Наприклад, якщо у вас є робоча сила, яка може перевіряти лише 2% вашого щоденного вмісту, тоді ваша цільова ціль від нашого API модерації вмісту – це показник (FPR+TPR) 2%.

Насамкінець, якщо отримати наземні анотації істинності занадто складно або дорого (наприклад, ваш обсяг даних занадто великий), ми пропонуємо анотувати невелику кількість зображень, позначених API. Хоча це не дозволяє оцінювати FNR (оскільки ваші дані не містять хибно негативних результатів), ви все одно можете вимірювати TPR і FPR.

У наступному розділі ми пропонуємо рішення для оцінки модерації зображень. Подібний підхід можна застосувати для оцінки модерації відео.

Огляд рішення

На наступній діаграмі показано різні служби AWS, які можна використовувати для оцінки ефективності модерації вмісту Amazon Rekognition у вашому тестовому наборі даних.

Оцінка модерації вмісту складається з таких кроків:

  1. Завантажте свій набір оціночних даних у Служба простого зберігання Amazon (Amazon S3).
  2. Використовуйте Ground Truth, щоб призначити мітки модерації.
  3. Створюйте прогнозовані мітки модерації за допомогою попередньо навченого API модерації Amazon Rekognition із використанням кількох порогових значень. (Наприклад, 70%, 75% і 80%).
  4. Оцініть продуктивність для кожного порогового значення, обчисливши справжні позитивні, справжні негативні, помилкові позитивні та помилкові негативні значення. Визначте оптимальне порогове значення для вашого випадку використання.
  5. За бажанням ви можете налаштувати розмір робочої сили на основі істинних і хибних спрацьовувань і використовувати Розширений ШІ в Амазонці (Amazon A2I), щоб автоматично надсилати весь позначений вміст призначеній вами команді для перевірки вручну.

У наступних розділах наведено фрагменти коду для кроків 1, 2 і 3. Щоб отримати повний наскрізний вихідний код, зверніться до наданого Блокнот Юпітера.

Передумови

Перш ніж розпочати, виконайте наведені нижче дії, щоб налаштувати блокнот Jupyter:

  1. Створіть екземпляр блокнота in Amazon SageMaker.
  2. Коли блокнот активний, виберіть Відкрийте Юпітер.
  3. На інформаційній панелі Jupyter виберіть Нові, і вибрати термінал.
  4. У терміналі введіть наступний код:
    cd SageMaker
    git clone https://github.com/aws-samples/amazon-rekognition-code-samples.git

  5. Відкрийте блокнот для цього повідомлення: content-moderation-evaluation/Evaluating-Amazon-Rekognition-Content-Moderation-Service.ipynb.
  6. Завантажте свій набір оціночних даних у Служба простого зберігання Amazon (Amazon S3).

Тепер ми пройдемо кроки з 2 по 4 у блокноті Jupyter.

Використовуйте Ground Truth, щоб призначити мітки модерації

Щоб призначити мітки в Ground Truth, виконайте такі дії:

  1. Створіть вхідний файл маніфесту для вашої роботи Ground Truth і завантажте її на Amazon S3.
  2. Створіть конфігурацію міток, яка містить усі мітки модерації, необхідні для завдання міток Ground Truth. Щоб перевірити обмеження кількості категорій міток, які можна використовувати, див. Квоти категорій міток. У наведеному нижче фрагменті коду ми використовуємо п’ять міток (див ієрархічна таксономія, яка використовується в Amazon Rekognition для отримання додаткової інформації) плюс одна мітка (Safe_Content), який позначає вміст як безпечний:
    # 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. Створіть спеціальний шаблон завдання працівника, щоб надати робочій силі Ground Truth інструкції щодо маркування, і завантажте його на Amazon S3.
    Завдання мітки Ground Truth визначається як завдання класифікації зображень (багато міток). Зверніться до вихідного коду, щоб отримати інструкції щодо налаштування шаблону інструкцій.
  4. Вирішіть, яку робочу силу ви хочете використовувати для виконання завдання Ground Truth. У вас є два варіанти (деталі дивіться у вихідному коді):
    1. Використовувати приватна робоча сила у вашій організації, щоб позначити набір даних оцінювання.
    2. Використовувати громадська робоча сила щоб позначити набір даних оцінювання.
  5. Створіть і надішліть завдання на маркування Ground Truth. Ви також можете налаштувати наступний код, щоб налаштувати маркування параметрів роботи щоб відповідати конкретним вимогам вашого бізнесу. Зверніться до вихідного коду, щоб отримати повні інструкції щодо створення та налаштування завдання 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),
        },
    }

Після того, як завдання буде подано, ви повинні побачити такі результати:

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

Дочекайтеся успішного завершення завдання з маркування набору даних оцінки, а потім перейдіть до наступного кроку.

Використовуйте API модерації Amazon Rekognition для створення прогнозованих міток модерації.

У наступному фрагменті коду показано, як використовувати Amazon Rekognition API модерації щоб створити мітки модерації:

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

Оцініть продуктивність

Спочатку ви отримали мітки модерації базової правди з результатів завдання маркування Ground Truth для набору даних оцінки, а потім запустили API модерації Amazon Rekognition, щоб отримати прогнозовані мітки модерації для того самого набору даних. Оскільки це бінарна проблема класифікації (безпечний і небезпечний вміст), ми обчислюємо такі показники (припускаючи, що небезпечний вміст позитивний):

Ми також обчислюємо відповідні оціночні метрики:

У наведеному нижче фрагменті коду показано, як обчислити ці показники:

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

Висновок

У цій публікації обговорюються ключові елементи, необхідні для оцінки аспекту продуктивності вашої служби модерації вмісту з точки зору різних показників точності. Однак точність є лише одним із багатьох параметрів, які потрібно оцінити, обираючи певну службу модерації вмісту. Важливо, щоб ви включили інші параметри, такі як загальний набір функцій служби, простота використання, існуючі інтеграції, конфіденційність і безпека, параметри налаштування, наслідки масштабованості, обслуговування клієнтів і ціни. Щоб дізнатися більше про модерацію вмісту в Amazon Rekognition, перейдіть на сторінку Модерація вмісту Amazon Rekognition.


Про авторів

Показники для оцінки модерації вмісту в Amazon Rekognition та інших службах модерації вмісту PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Аміт Гупта є старшим архітектором рішень AI Services в AWS. Він захоплений тим, щоб надавати клієнтам добре продумані рішення для машинного навчання в масштабі.

Показники для оцінки модерації вмісту в Amazon Rekognition та інших службах модерації вмісту PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Давіде Модоло є менеджером прикладної науки в AWS AI Labs. Він має ступінь доктора філософії в галузі комп’ютерного зору в Единбурзькому університеті (Велика Британія) і захоплюється розробкою нових наукових рішень для реальних проблем клієнтів. Поза роботою він любить подорожувати та займатися будь-яким видом спорту, особливо футболом.

Показники для оцінки модерації вмісту в Amazon Rekognition та інших службах модерації вмісту PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Цзянь Ву є старшим архітектором корпоративних рішень в AWS. Він працює в AWS 6 років, працюючи з клієнтами будь-якого розміру. Він захоплений тим, щоб допомогти клієнтам швидше впроваджувати інновації за допомогою хмари та AI/ML. До того як приєднатися до AWS, Цзянь понад 10 років займався розробкою програмного забезпечення, впровадженням системи та управлінням інфраструктурою. Окрім роботи, він любить бути активним і проводити час із сім’єю.

Часова мітка:

Більше від AWS Машинне навчання