Для чего нужны датасеты
Датасет — необходимые данные для работы нейросетей. Проще говоря — это то, что является основой так называемого искусственного интеллекта. Как правило, датасеты собираются индивидуально для какой-либо конкретной задачи. Такими задачами могут быть, например, классификация изображений или поиск объектов на фото.
Например, если нужно обучить алгоритм отличать кошек от собак, ваш датасет должен состоять из изображений животных, где для каждой фотографии сказано, кто на ней присутствует — это задача по классификации.
Как собрать датасет
Есть два способа собрать или получить датасет с изображениями: простой и сложный. Простой — найти в интернете готовый датасет под конкретно вашу задачу. Для таких целей Google недавно запустил Dataset Search, который позволяет искать датасеты для разных задач.
Но довольно часто нужного датасета для вашей задачи просто не существует, либо лицензия запрещает его использование в коммерческих целях. Поэтому, если готового датасета нет, то остается вариант собрать его самому.
Раньше было много сайтов знакомств, где пользователь указывал рост, вес, возраст, цвет волос человека, с которым хотел бы познакомиться, а сайт предлагал анкеты подходящих кандидатов. Для экономии времени можно упростить механику и находить людей не по формальным критериям, а по описанию их внешности и характеристик.
Например, пользователь указывает в запросе «Хочу найти голубоглазую блондинку, лет 20−25, которая любит детей, увлекается волейболом и лыжами, имеет приятные черты лица, по вечерам ходит в театр», и сайт знакомств показывает подходящих кандидатов. Чтобы обучить такой алгоритм, нужны данные, состоящие из изображений людей и их описаний.
В моем случае готового публичного датасета не нашлось и появилась необходимость создания нового. С помощью приложения «Впечатлятор» я собираю датасет под такую задачу.

Как работает чат-бот
Для решения задачи был создан чат-бот, который описывает первое впечатление о человеке.
Принцип работы очень прост: человек загружает свою фотографию в бот, а через несколько минут получает развернутый отзыв о себе.
Для организации работы бота используются технологии «Яндекса» Yandex Compute Cloud, Yandex Managed Service for PostgreSQL, Yandex Object Storage. После загрузки изображения, с помощью API оно попадает в «Яндекс.Толоку», где толокер пишет развернутый отзыв о человеке на изображении.
Работа с краудом
По мере развития проекта возникла необходимость в помощниках, которые будут обрабатывать запросы. При этом сразу возникала проблема оплаты вознаграждения этим людям. В среднем вознаграждение подобного исполнителя стартует от 300 рублей в час, при этом менеджер должен круглосуточно быть на связи.
Оптимальным решением стал краудсорсинг. Так, в «Толоке» постоянно находятся более 10 тысяч исполнителей, которые готовы круглосуточно выполнять задания и сделают это в разы быстрее, чем единственный исполнитель.
Задачей толокеров было написать характеристику человека на фото.


Сразу после запуска «Впечатлятора» обнаружилось несколько проблем. Так, некоторые толокеры писали скудные отзывы, иногда давали неприятные характеристики, делали ошибки. У толоки есть множество инструментов, которые позволяют отсеять таких исполнителей.
Проблемы удалось решить, когда описания стали проверяться другими толокерами. Независимо друг от друга пять человек раз в сутки оценивали каждый написанный отзыв по четырем критериям:
- отсутствие оскорбительных высказываний в адрес человека;
- грамотность;
- соответствие описания человеку на изображении, отражение в нем личных черт характера и внешности;
- креативность текста по пятибалльной шкале.
Благодаря проверке каждого отзыва, толокерам, которые пишут отзывы, присваивается рейтинг. Толокеры с низким рейтингом блокируются, а толокеры с высоким рейтингом поощряются бонусами, что мотивирует их писать еще лучше. Такой процесс приемки заданий позволяет собирать качественный и вариативный датасет.

Что дальше?
Бот «Впечатлятор» запущен в мае 2019 года, и за первый месяц обработал более 10 тысяч фотографий. В планах на ближайшие три месяца — создание и публикация датасета из 100 тысяч фотографий.
В свою очередь, готовый датасет позволит разработчикам научить алгоритм подбирать профили конкретных пользователей исходя из запроса описания.
Фото на обложке: Unsplash