Метрики для оценки модерации контента в Amazon Rekognition и других сервисах модерации контента PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Метрики для оценки модерации контента в Amazon Rekognition и других сервисах модерации контента

Модерация контента — это процесс проверки и мониторинга пользовательского контента в Интернете. Чтобы обеспечить безопасную среду как для пользователей, так и для брендов, платформы должны модерировать контент, чтобы гарантировать, что он соответствует заранее установленным правилам приемлемого поведения, характерным для платформы и ее аудитории.

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

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

В этом посте мы обсудим ключевые элементы, необходимые для оценки аспекта производительности службы модерации контента с точки зрения различных показателей точности, и приведем пример с использованием Amazon Rekognition. API модерации контента.

Что оценивать

При оценке службы модерации контента мы рекомендуем выполнить следующие шаги.

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

  • Транспортировка – Возьмите достаточно большую случайную выборку (изображения или видео) данных, которые вы в конечном итоге хотите запустить через 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 (детектмодератионлейблс).

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

Вы можете оценить точность модели, сравнив созданные человеком наземные аннотации с предсказаниями модели. Вы повторяете это сравнение для каждого изображения независимо, а затем агрегируете по всему тестовому набору:

  • Результаты для каждого изображения – Предсказание модели определяется как пара {label_name, confidence_score} (где показатель достоверности >= пороговое значение, которое вы выбрали ранее). Для каждого изображения прогноз считается верным, если он соответствует истине (GT). Предсказание – это один из следующих вариантов:
    • Истинный положительный результат (TP): и предсказание, и GT «небезопасны»
    • Истинный отрицательный результат (TN): и предсказание, и GT «безопасны»
    • ложноположительный (ФП): прогноз говорит «небезопасно», но GT «безопасен»
    • Ложноотрицательный (ЛН): прогноз «безопасен», но 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
  • FPR = 150 / (9950 + 150) = 0.015 = 1.5%
  • FNR = 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 по кадрам каждого видео и рассмотреть видео следующим образом:
ID видео точность Категоризация видео
Результаты агрегированы по всем кадрам идентификатора видео

Всего FP = 0

Всего FN = 0

Идеальные прогнозы
. Всего FP > 0 Ложноположительный результат (FP)
. Всего ФЧ > 0 Ложноотрицательный (ЛН)

После того, как вы вычислили их для каждого видео независимо, вы можете вычислить все показатели, которые мы представили ранее:

  • Процент видео, которые ошибочно помечены (FP) или пропущены (FN)
  • Точность и отзыв

Измеряйте эффективность в соответствии с целями

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

Во-первых, рассмотрите потребности вашего бизнеса в отношении следующего:

  • Данные – Узнайте о своих данных (ежедневный объем, тип данных и т. д.) и о распределении вашего небезопасного и безопасного контента. Например, является ли он сбалансированным (50/50), асимметричным (10/90) или очень асимметричным (1/99, что означает, что только 1% небезопасен)? Понимание такого распределения может помочь вам определить ваши фактические метрические цели. Например, количество безопасного контента часто на порядок превышает количество небезопасного контента (очень искаженного), что делает это почти проблемой обнаружения аномалий. В этом сценарии количество ложных срабатываний может превышать количество истинных срабатываний, и вы можете использовать информацию о ваших данных (асимметрия распределения, объем данных и т. д.), чтобы определить FPR, с которым вы можете работать.
  • Метрические цели – Какие аспекты вашего бизнеса являются наиболее важными? Снижение FPR часто происходит за счет более высокого FNR (и наоборот), и важно найти правильный баланс, который подходит именно вам. Если вы не можете пропустить какой-либо небезопасный контент, вы, вероятно, захотите приблизиться к 0% FNR (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 увеличил AI (Amazon A2I), чтобы автоматически отправлять весь помеченный контент назначенным сотрудникам для проверки вручную.

В следующих разделах представлены фрагменты кода для шагов 1, 2 и 3. Полный сквозной исходный код см. Блокнот Jupyter.

Предпосылки

Прежде чем начать, выполните следующие шаги для настройки записной книжки Jupyter:

  1. Создать экземпляр ноутбука in Создатель мудреца Амазонки.
  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 из результатов задания маркировки 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 Services в AWS. Он увлечен предоставлением клиентам хорошо спроектированных решений машинного обучения в масштабе.

Метрики для оценки модерации контента в Amazon Rekognition и других сервисах модерации контента PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Давиде Модоло является менеджером по прикладным наукам в AWS AI Labs. Он имеет докторскую степень в области компьютерного зрения Эдинбургского университета (Великобритания) и увлечен разработкой новых научных решений для реальных проблем клиентов. Вне работы он любит путешествовать и заниматься любым видом спорта, особенно футболом.

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

Отметка времени:

Больше от Машинное обучение AWS