Роберт Рождественский писал: «Все начинается с любви…». Если бы Роберт Иванович погрузился в мир машинного обучения (ML), то наверняка продолжил свое произведение словами «Все начинается с любви к данным».
Надо сказать, что никто не любит данные так, как их разметчики или аннотаторы. Такие специалисты являются своеобразным первым учителем, передающим свои знания модели. Ведь недочеты на этапе разметки данных просачиваются на каждый последующий, разрушая выстроенную модель, как карточный домик.
Что посеешь, то и пожнешь
Данные являются пищей для любой модели, и, в зависимости от того, что модель «ест», инженеры получают соответствующий результат. Простой принцип - garbage in, garbage out. Если собранные для работы данные не репрезентативны или на этапе несколько аннотаторов размечают одни и те же данные по-своему, модель может запутаться и значительно снизить качество работы. В среднем работа с качеством данных улучшает работу на модели до 30%.
Разметка данных – это категоризация сырых (необработанных) данных и присвоение им дополнительной информации, которая нужна модели для обучения. Но что вообще можно считать за размеченные данные? Разметка данных чаще всего начинается с осуждений о неразмеченном датасете. Например, аннотатора просят протегировать все изображения в датасете, для которых суждение «На картинке присутствует голубая птица» является истиной. Задача по разметке может напоминать игру «Правда или действие», как в предыдущем примере, или быть более узконаправленной – разметить каждый пиксель с изображением птиц.
Когда размечено достаточное количество данных, можно начинать обучать на них модель, то есть показывать системе, какой ответ вы от неё ожидаете. В конце обучения модель может самостоятельно делать предсказания на основе нового, неразмеченного набора данных.
*В машинном обучении данные, которые прошли огонь, воду и медные трубы и являются золотым стандартом данных для обучения модели, называются контрольными или эталонными. Точность работы модели в частности зависит от выверенности контрольных данных. Именно по этой причине, согласно исследованию Cognilytica, 80% времени ML-команда отводит на работу с данными – сбор, структуризацию и разметку.
Основные виды разметки данных
Системы компьютерного (технического) зрения
Эта область ИИ связана с анализом визуальной составляющей мира – изображениями и видео. Так, фото- или видеокамеры наделяются способностью «видеть» и извлекать информацию из увиденного, например, идентифицировать и классифицировать объекты, образы, а также лица и эмоции.
Чтобы обучить компьютер «видеть», необходимо собрать множество данных, в которых с помощью разметки выделяются признаки и их комбинации для идентификации похожих объектов. То есть помечаются не только целые изображения, но и пиксели, ключевые точки или граница нужного объекта для создания обучающего датасета. Изображения можно классифицировать по типу (какой-то продукт или изображение прогулки с детьми), по содержанию (что находится на картинке) или сегментировать изображения на уровне пикселей.
Обученная на таких данных модель используется для автоматической классификации изображений, определения местоположения объектов, помощи в навигации, идентификации и т.д.
Обработка естественного языка (NLP)
Люди умеют понимать контекст фразы, значение отдельного слова и соотносить их с определенной ситуаций, не прилагая дополнительных усилий. Алгоритм же не имеет таких суперспособностей и не способен на точечном уровне определить сарказм, юмор и другие особенности речи человека, если они не размечены соответствующим образом. Именно поэтому текстовая разметка становится все более сложной и имеет несколько уровней – семантический, уровень намерений, категорий т.д.
Таким образом, для создания модели, которая будет обрабатывать естественный язык, необходимо определить и вручную разметить важные части текста, присвоив им определенные метки для создания обучающего датасета. Например, задачей модели может быть определение настроения или намерений говорящего, определить часть речи или классифицировать имена собственные и т.д. Для этого слова или части текста помещаются в разноцветные подарочные коробки и отправляются в соответствующий разметке список. По итогу аннотированный датасет обычно выглядит как выделенный или подчёркнутый текст, к которому оставили заметки.
Модели обработки естественного языка используются для разработки голосовых помощников, анализа настроения говорящего, оптического распознавания символов, перевода и многого другого.
Обработка аудио
Звук – это все, что нас окружает (шум дикой природы – лай, свист, пение птиц; звуки города – гудок машины, бьющееся стекло и, конечно же, человеческая речь). Аудио обладает еще бóльшей динамикой, чем изображение. Такой файл содержит в себе не только звук, но и демографические данные о говорящем, его настроение, намерения и т.д.
В процессе обработки аудио звукам присваиваются метки и транскрипции, чтобы преобразовать аудиофайл в структурированный формат для обучения модели. Да, мы не ошиблись, аудио часто приходится сначала транскрибировать в текстовый формат. Надо отметить, что в случае работы с голосовыми ботами, используется все же ASR - технологии распознавания речи. Это дает возможность обработать аудиофайл более детально - классифицировать его и проставить теги.
Разметка аудиофайлов является фундаментом для технологии распознавания речи и применяется в таких областях, как разработка голосовых помощников, транскрибации голоса в текст, проведения NPS-опросов и т.д.
5 золотых правил разметки
Качественные данные для разметки
Если бизнес только начал свое путешествие по океану машинного обучения, логично предположить, что данных у него просто нет. В этом случае необходимо найти «сырые данные», например, в текстовой разметке это корпус, – коллекции текстов. Из-за ограниченности таких корпусов на русском языке инженерам приходится брать максимально приближенный к тематике датасет. Например, если вы обучаете бота-консультанта для медицинской клиники, вряд ли модель сможет достигнуть желаемого качества работы при обучении на текстовых отзывах, собранных с сайта магазина корейской косметики.
Низкокачественный набор данных может выйти боком дважды – во время обучения модели и в процессе валидации – то есть получения метрик качества решения задачи. Поэтому лучше днем и ночью стараться усовершенствовать имеющийся, пусть и небольшой, датасет, чем «скармливать» модели все новые и новые, но нерепрезентативные данные.
Наличие инструкции по разметке
Формализуйте каждый пункт процесса постановки и решения задачи, написав краткую, но информативную инструкцию. Подобный мануал поможет избежать возможных ошибок как новичкам, так и прожженным аннотаторам. Для большей наглядности дополните текст иллюстрациями.
Инструкция должна постоянно обновляться и наполняться решением сложных примеров, с которыми аннотаторы сталкиваются в процессе разметки. Например, как разметить красно-зеленое яблоко – красным или зеленым? Каждый аннотатор придет к ответу сам, но он будет разным и разрушит однородность данных. Именно поэтому важно фиксировать решение подобных сложностей.
Возможность задать вопрос в «прямом эфире»
Обучая аннотаторов, дайте им понять, что задавать вопросы – это не просто нормально, это отлично. Если аннотаторы не уверены в правильности разметки, работе инструмента или и вовсе не понимают инструкцию, они должны иметь возможность попросить «помощи зала» и задать любой вопрос, чтобы избежать путаницы.
Простым решением проблемы может стать отдельный чат для аннотаторов, где недопонимания будут решаться в рабочие часы в режиме реального времени. Это позволит не только оперативно обсуждать возникшие вопросы, но и быстро вносить изменения и дополнять существующий мануал во избежания дальнейших ошибок.
Самопроверка или кросс-проверка
Надо сразу сказать, что, к сожалению, такая возможность есть не всегда, например, из-за особенностей конкретной программы может не сохраняться весь список размеченного. Однако, если она все же есть, не ленитесь, а воспринимайте это как манну небесную. Проведите простой тест на выборочных данных – возьмите, например, каждый десятый пример, и посмотрите, все ли верно размечено.
В больших компаниях отлаженным процессом чаще всего над одним датасетом работает несколько аннотаторов, поэтому такая проверка обязательна. Для этого разработаны специальные метрики, с помощью которых можно узнать процент пропущенных сущностей от их общего количества. Или, к примеру, воспользоваться таким способом проверки качества, как inter-annotator agreement. Использование данного подхода дает возможность увидеть, насколько по-разному был размечен один и тот же датасет. Все это позволяет не только проследить, где специалисты сталкиваются со сложностями, но и снизить фактор человеческой ошибки, внеся решение сложных вопросов в базу данных.
Мониторинг после запуска
Выпустив модель «в свет», инженеры начинают работу над качеством, собирая аналитику и ответы модели на полученный запрос. Автоматизированные метрики помогают определить причины низкого качества работы модели и увидеть пробелы. На основе этого формируется свеженький массив данных, способный закрыть обнаруженные недочеты. Например, может оказаться, что модель не обучили отвечать на вопрос о дате выпуска первого компьютера или вообще не доработали технологию распознавания дат.
В настоящее время фокус инженеров все больше смещается на работу с данными. ML-инженеры способны добиться гораздо более высокого качества работы модели по сравнению с бездумной разметкой бóльших данных. Это позволяет компаниям проектировать и использовать высококачественные решения, не имея обширных датасетов. Как говорится, разметка всему голова.