Модерация контента

Этот шаблон проекта подходит для тех случаев, когда нужно проверить текстовый контент на соответствие правилам (англ. content moderation, CM).

Примеры задач, которые поможет решить этот шаблон:

  • Модерация комментариев и ников на форуме.
  • Проверка объявлений на сайте, отзывов о товарах в магазине, сообщений в соцсетях.
  • Наличие упоминания какого-то бренда или компании.
Еще
  • Новости. У вас новостной сайт, где посетители оставляют комментарии к новостям. Проанализируйте комментарии и решите, показывать ли их на сайте.
  • Социальные сети. Классифицируйте публикации в социальных сетях по нескольким атрибутам.
  • Характер текста. Оценить эмоциональную окраску комментария.
  • Токсичность комментариев. Оценить, является ли комментарий токсичным.
  • Разметка токсичных комментариев. Для каждого комментария выбрать уровень токсичности, соответствующий его содержанию.
  • Ценность (полезность) текста. Определить, содержит ли сообщение спам.
  • Интернет-магазины: модерация контента. Определить, какое из предложенных значений атрибута лучше подходит для конкретного товара.
  • Модерация комментариев, на которые пожаловались. Оценить, запрещать ли комментарии, которые являются недопустимыми по мнению других пользователе социального сервиса.
  • Модерация сообщений. Проверить комментарии на оскорбления, нарушения закона, спам и рекламу.
  • Модерация спортивных комментариев. Указать, соответствует ли комментарий правилам модерации в определенной сфере или сервисе.
  • Конструктивность информации. Проверить комментарии из различных источников на конструктивность и разметить их.
  • Разметка комментариев на Яндекс.Маркете.

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

Пример готового задания

Перед началом

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

  1. Протестировать настройки проекта в роли исполнителя.
  2. Перенести их в основную версию Яндекс.Толоки.

Так вы избежите ошибок и впустую потраченных средств, если окажется, что ваше задание не работает.

Создание проекта

В проекте вы определяете, как будет выглядеть задание у исполнителя.

  1. Нажмите кнопку + Создать проект и выберите шаблон Модерация контента.

  2. Дайте проекту понятное название и напишите краткое описание. Это увидят исполнители в списке доступных заданий.

  3. Напишите краткую и ясную инструкцию (см. советы).
  4. Определите, какие объекты будете передавать исполнителю, а какие получать от него в ответ. Для этого создайте поля входных и выходных данных в блоке Спецификации.
    Что такое входные и выходные данные?

    Входные данные — типы объектов, которые получит исполнитель для выполнения задания. В этом шаблоне вам понадобится текст. В других задачах бывают картинки или географические координаты.

    Выходные данные — типы объектов, которые будут на выходе выполненного задания. Для этого шаблона — один из двух вариантов ответа. При выборе второго ответа откроется список флажков — из них исполнитель должен выбрать подходящие варианты. В других задачах на выходе получают введенный текст или загруженный файл, например.

    Подробнее о полях входных и выходных данных.

    В данном случае:

    • Входные данные — поле comment подстановки комментария для проверки.
    • Выходные данные: строка quality, в которую будет записан выбранный вариант ответа. При выбора второго варианта там будут еще и отметки о типе нарушения.
  5. Создайте интерфейс задания в блоке HTML. Он описывает, как будут расположены элементы задания.

    В HTML-интерфейсе используются стандартные теги HTML и специальные компоненты в двойных (или тройных, как для поля comment) фигурных скобках для полей входных и выходных данных.

    
    {{{comment}}}
    
    {{field type="radio" name="quality" value="OK" size="L" label="Всё хорошо" hotkey="1" class="yes"}}
    {{field type="radio" name="quality" value="BAD" size="L" label="Есть нарушения" hotkey="2" class="no"}}
    
    {{field type="checkbox" name="advertising" label="Реклама или спам" hotkey="q"}}
    {{field type="checkbox" name="nonsense" label="Бессмыслица" hotkey="w"}}
    {{field type="checkbox" name="insult" label="Оскорбления" hotkey="e"}}
    {{field type="checkbox" name="law_violation" label="Нарушение закона" hotkey="r"}}
    {{field type="checkbox" name="profanity" label="Ненормативная лексика" hotkey="t"}}
    
    Запись выше означает, что задание будет выглядеть так:
    • сверху текст проверяемого комментария;
    • две кнопки переключателя, выбранное значение будет записано в поле quality;
    • пять флажков, которые появляются, если выбрать второй переключатель. Отмеченные галочками также будут записываться в поля с соответствующим названием в результате.
  6. Нажмите кнопку Предпросмотр, чтобы увидеть, какое задание у вас получилось.

    В окне предварительного просмотра проекта видно одно задание со стандартными данными. Количество заданий на странице вы сможете настроить дальше.

  7. Сохраните проект, нажав Завершить редактирование.

Добавление пула заданий

Пул — это набор оплачиваемых заданий, которые одновременно выдаются исполнителям.

  1. На странице вашего нового проекта нажмите Добавить пул.
  2. Дайте пулу любое удобное название и описание. Они доступны только вам, исполнитель увидит только название и описание проекта.
  3. Установите цену за страницу заданий, например $0.02.
    Что такое страница заданий?

    На одной странице может отображаться одно или несколько заданий. Если задания простые, то можно добавлять 10–20 заданий на одну страницу. Не рекомендуем создавать длинные страницы, это снижает скорость загрузки данных у исполнителя.

    Исполнитель получит оплату, только если выполнил все задания на странице.

    Количество заданий на странице вы определите при загрузке заданий.

    Как определить справедливую цену?

    Общее правило формирования цены — чем больше времени исполнитель тратит на выполнение, тем выше цена.

    Зарегистрируйтесь в Яндекс.Толоке как исполнитель и узнайте, сколько платят другие заказчики.

  4. Добавьте Фильтры для отбора исполнителей. Если инструкция, интерфейс задания и сами комментарии на русском языке, воспользуйтесь набором «Русскоязычные исполнители». Если планируете анализировать комментарии еще на английском или другом языке, добавьте к ним фильтр: язык = английский.
  5. Настройте Контроль качества. Блоки контроля качества позволяют отсеивать невнимательных исполнителей. Контроль также можно настраивать и в проекте. Отложенная приемка тут не понадобится.

    Типичные настройки для задач по модерации контента:

    Быстрые ответы
    Добавьте блок и укажите следующие значения:

    Если исполнитель выполнит хотя бы одну страницу заданий быстрее, чем за 20 секунд, он будет заблокирован и не сможет больше выполнять ваши задания 10 дней.

    Совет. Как определить время для быстрых ответов?

    Выполните свое задание и зафиксируйте время. Если блокируете по одному быстрому ответу, то ставьте минимальное время. Если по нескольким — немного увеличивайте.

    Контрольные задания
    Укажите следующие значения:

    Если исполнитель даст больше 40% неправильных ответов на контрольные вопросы, то он будет заблокирован и не сможет больше выполнять задания этого проекта в течение 10 дней.

    Дополнительно настраивайте:

    Капчу
    Пример настройки правила.

    Если исполнитель ввел капчу не меньше 5 раз и доля правильных ответов меньше 60%, он будет заблокирован и не сможет выполнять ваши задания 10 дней.

    Мнение большинства
    Примеры настройки правила Мнение большинства. Выбирайте подходящие действия и параметры.
  6. Настраивайте обычное или динамическое перекрытие:

    • Перекрытие — количество исполнителей, которые должны выполнить задание. Для заданий модерации контента подходит значение 3-5. В этом случае для проверки достоверности ответов подходит Агрегация результатов.
    • Динамическое перекрытие. Оно поможет вам оптимизировать бюджет относительно получения максимально достоверных ответов. Пример настроек.

      Для работы этого параметра задания нужно загружать при помощи Умного смешивания.

  7. В блоке Соотношение скорость/качество можно ничего не трогать.
  8. Укажите Время на выполнение страницы заданий. Его должно быть достаточно, в том числе для чтения инструкции и загрузки задания. Например, 150 секунд.
  9. Сохраните пул.

Загрузка заданий

  1. Скачайте Шаблон обычных заданий (tsv) в пуле.
    Что такое TSV?
    TSV-файл — это электронная таблица в виде текстового файла, в котором столбцы разделены знаком табуляции.
    Работайте с ним в текстовом или редакторе электронных таблиц, сохраняйте в нужный формат. Подробнее о работе с TSV-файлом.
    Примечание. Файл должен быть сохранен в кодировке UTF-8.
  2. Добавьте в него входные данные. Заголовок столбца со входными данными содержит слово INPUT. Внесите в него комментарии, которые хотите проверить. Остальные столбцы оставьте пустыми.

    Так выглядит начало файла с заданиями по проверке комментариев:

  3. Загрузите задания, выбрав Умное смешивание.
    Что такое "Умное смешивание"?
    Принцип распределения заданий, по которому на одной странице могут быть задания разных типов. Например, на три основных — одно контрольное. Если у вас много комментариев, делайте одно контрольное на 9-10 обычных на странице.
  4. Разметьте контрольные задания.
    • Нажмите Разметить → Создать контрольные.
    • Проставьте правильные ответы в контрольных заданиях. Их должно быть столько, сколько вы установливали в настройках выше.

    • Вернитесь на страницу пула или проекта по строке меню вверху. Загруженные и размеченные задания сохранятся.

Добавление обучения

Обучение — это пул бесплатных заданий, на которых исполнитель учится правильно отвечать. Тренировочные задания содержат правильный ответ и подсказку, которая будет показана, если исполнитель дал неверный ответ.

Совет. Пишите понятную инструкцию. Критерии хороших и плохих комментариев на разных ресурсах различаются, а пользователям надо объяснить, что и как нужно проверять в заданиях.
  1. Откройте страницу проекта, перейдите на вкладку Обучения и нажмите кнопку Добавить обучение.

  2. Дайте название обучающему пулу и укажите время на выполнение страницы заданий.
  3. Сохраните пул, нажав кнопку Создать обучение.
  4. Скачайте Пример загрузочного файла или отредактируйте тот, в котором загружали задания для основного (оплачиваемого) пула.
    Примечание. TSV-файлы для всех пулов одного проекта имеют одинаковую структуру.
  5. Добавьте в TSV-файл комментарии, на которых будет проходить обучение.
  6. Загрузите файл, указав количество заданий на странице. Например, 2. Это число не должно превышать количество заданий на странице в привязанном пуле.
  7. Нажмите Загрузить и укажите количество обучающих заданий на странице.
  8. Нажмите Добавить.
  9. Нажмите Разметить → Создать обучающие. Далее добавьте правильный ответ и подсказку для всех загруженных заданий. Зачем нужна разметка.
  10. После успешной загрузки откройте Предпросмотр и проверьте, что задания отображаются корректно.
  11. Привяжите обучение.

    • Откройте основной пул.
    • Нажмите Редактировать.
    • Выберите название обучения, которое вы только что создавали.
  12. Установите Уровень прохождения 70. Тогда пул будет доступен исполнителям, допустившим не более 30% ошибок при обучении.

  13. Нажмите Сохранить.

Подробнее о создании пула с обучением.

Запуск пула и получение результатов

  1. Сначала запустите обучающий пул, а потом — обычный. Со страницы пула это можно сделать, нажав кнопку . Со страницы проекта — напротив названия пула.
  2. Следите за выполнением в блоке Статистика пула. Если вы создавали проект в песочнице, то можете протестировать его самостоятельно.
  3. Когда пул будет полностью выполнен, запустите агрегацию результатов. Рядом с кнопкой Скачать результаты нажмите  → Агрегация результатов по методу Дэвида—Скина.

    Так в TSV-файле с агрегированными ответами видна значимость ответа в процентах — поле CONFIDENCE. Это пригодится, чтобы понять, насколько верить в то, что комментарий оценен достоверно. Подробнее об агрегации.

  4. Отслеживайте ход агрегации на странице Операции (рядом с кнопкой Скачать результаты:  → К списку операций). По завершении нажмите кнопку Скачать.