Рынок Deep Learning-решений переживает революцию на протяжении последних нескольких лет. С 2018-го по 2023-й он рос в среднем на 41,7% в год. Аналитики считают, что до конца 2023 года объем рынка достигнет $18,16 млрд, при этом работа с AI требует особого внимания к предоставляемым данным.
Так, один из ключевых этапов любого ML-проекта – разметка данных. Эта операция занимает около 25% времени всего цикла реализации Data Science-решения. Полина Богданова, бизнес-аналитик нашей компании рассказала Tproger, что из себя представляет разметка данных и как грамотно выстроить этот процесс. Подробно разобрали область NLP — технология машинного обучения, которая позволяет ИИ интерпретировать и понимать человеческий язык.
Ниже приводим текст оригинальной публикации.
Data labeling (разметка данных) — это качественное преобразование данных путем добавления метатегов в текст документов, что позволяет AI понять контекст и в последующем эффективно задавать и выполнять те или иные сценарии. Это один из ключевых этапов любого ML-проекта, так как от качества разметки зависит конечный результат.
Разметку данных принято рассматривать с позиции «ученик и учитель», где ученик — это сама модель, а учитель — специалист. На этапе обучения происходит обработка информации и добавление метатегов, что позволяет искусственному интеллекту ориентироваться в эталонных примерах и понимать, чем один отличается от другого.
Далее идет верификация качества разметки — специалисты сравнивают полученные показатели работы ИИ-модели с эталонными. Такая проверка помогает выявить и исправить ошибки системы, что впоследствии позволяет получить более точные результаты.
Обучение «с учителем» можно разделить на две большие категории: с использованием активного обучения и без его него.
Данный тип обучения начинается с этапа разметки данных. В документе с помощью тегов/меток (метки - более распространенное слово) размечаются необходимые формулировки. Например, для классического договора нужно определить: стороны договора, услуги, которые будут оказываться в рамках договора, сроки, стоимость.
Далее модели показывают некоторое количество размеченных документов и учитель позволяет алгоритму самостоятельно обрабатывать информацию и находить те фрагменты, которые соответствуют первому этапу обучения. На этом этапе алгоритм «уточняет» у человека корректность выделения данных. Если система допускает много ошибок, необходимо дополнительно разметить примеры, которые будут эталонными образцами. Обычно цикл обновления повторяется, пока число правильных ответов не достигнет 90%.
В ручном методе вся разметка осуществляется человеком, в частности, разметчиками данных и экспертами. Первые выполняют разметку, вторые — проверяют ее качество. Экспертами могут выступать как специалисты из направления ML, так и сотрудники из области, для которой создается ИИ-решение.
Задача эксперта заключается в валидации результата работы разметчиков: специалист смотрит, правильно ли выделены именованные сущности и границы, везде ли проставлены тэги и классы. Далее эксперт сам исправляет найденные недочеты или отправляет их на доработку разметчикам. Эти циклы работы разметчика и эксперта продолжаются, пока не будут подтверждены качественными показателей обучения.
Такой метод разметки похож на активное обучение — разметчик сам подготавливает часть документов и передает их модели для дальнейшей работы. Однако главное отличие автоматического подхода — разметчик и эксперт будут оценивать уже итоговый результат работы модели и корректировать при необходимости. При таком подходе к разметке на первичном этапе используются малые объемы данных. Так, специалисты задействуются только на финальном этапе, что помогает сократить расходы на ручную работу.
Перед тем, как приступить к разметке, необходимо определить, какую бизнес-задачу будет решать разрабатываемое ИИ-решение. Важно держать в голове проект целиком и четко обозначить желаемый результат, так как работа в неправильном направлении приведет к потере времени и ресурсов.
На данном этапе определяется, на какой информации будет обучаться ИИ. Решение вытекает из бизнес-требований: если у компании есть особая специфика или терминология, то лучше запрашивать их внутренние корпоративные документы и привлекать консультанта со стороны заказчика, который проверит правильность разметки. Также важно качество исходных данных, для разметки не подойдут неразборчивые сканы.
Более того, нельзя забывать про NDA и обезличивание документов. Чтобы избежать раскрытия чувствительной информации (данные о клиентах, внутренней структуре организации, финансовых показателях), стоит предварительно ее обезличить.
Далее эксперты внимательно изучают примеры документов, определяют, что нужно разметить, и составляют необходимые классы и тэги. Например, медицинская организация планирует упростить извлечение ключевых сущностей: возраст, пол пациента, его реакция на лечение. Тогда классы «возраст» и «пол» будут выделены по одному уникальному тэгу. А класс «реакция на лечение» будет включать множество подклассов: показатели артериального давления, температура тела, содержание эритроцитов в крови и другие.
Для специалистов, которые будут заниматься разметкой данных, необходимо подготовить инструкцию. Чтобы она получилась качественной, важно выделить как можно больше паттернов — показать, как могут выглядеть разные форматы данных и что с ними делать. Инструкция указывает, какая информация требует разметки и в каком виде она должна быть передана ML-специалистам.
На этом этапе следует оповестить специалистов о предстоящей работе, выделить ответственных, провести онбординг и разослать уже подготовленную инструкцию.
Важно, чтобы итоговый результат соответствовал паттернам, указанным в инструкции. Стоит исключить грязную разметку (пропущены точки, захвачена нумерация) и неточную (в одном случае сущность размечена, а в другом — нет), это будет снижать качество результатов работы модели. Экспертам стоит контролировать процесс разметки и проверять промежуточные результаты, чтобы исправлять ошибки и неточности.
Для оценки качества разметки, можно использовать разные метрики:
● Точность (Accuracy). Определяет, насколько точно модель распознает именованные сущности в тексте.
Формула: Accuracy = Количество правильно найденных токенов сущностей/Общее количество токенов сущностей
Пример: Если 10 имен было распознано как 10 имен, а 10 адресов как 10 адресов, то Accuracy = 100%.
● Полнота (Recall). Метрика показывает долю верно определенных моделью фрагментов текста среди фрагментов текста, которые относятся к сущности согласно эталонной разметке.
Формула: Recall = Количество правильно обнаруженных токенов сущностей/ Общее количество истинных токенов сущностей.
Пример: Эта метрика показывает насколько успешно модель найдет 10 адресов и 10 имен. Если модель не обнаружила 5 имен и 5 адресов, хотя они были, то Recall — 50%.
● Точность (Precision). Показывает долю верно определенных фрагментов текста среди всех частей текста, которые модель определила как рассматриваемую сущность.
Формула: Precision = Количество правильно обнаруженных токенов сущностей/Общее количество предсказанных токенов сущностей.
● Баланс (F1-score). Гармоническое среднее между метриками Precision и Recall позволяет получить более сбалансированный показатель качества.
Формула: F1-score =2* (Presicion * Recall/Presicion + Recall)
Если на выходе модель выдает нерелевантные данные, то важно выявить причину расхождения заданных параметров с результатом. Проблема не всегда в данных или разметке. Возможно, ML-специалисты не выстроили все необходимые параметры.
Мы в своей практике используем внутренний софт, в котором есть детальные реестры с размеченными фрагментами. Реестр позволяет оперативно произвести корректировку разметки, если она некачественная, без обращения к исходному документу.
Как таковой профессии «разметчик данных» нет, этим при желании может заниматься любой. Например, чтобы разметить юридические документы можно привлечь студентов юридических ВУЗов, колледжей или уже практикующих специалистов, у которых есть время и желание взять подработку. Также разметкой могут заниматься люди, непогруженные в отрасль, если подготовить хорошую инструкцию, то с этой задачей сможет справиться любой.
При привлечении собственных сотрудников, фрилансеров и специализированных аутсорс компаний есть собственные плюсы и минусы.
Плюсы:
● контроль качества;
● соблюдение конфиденциальности;
● заинтересованность в результате.
Минусы:
● дороже, чем привлеченные специалисты;
● другие задачи встают на стоп;
● трудности масштабирования.
Плюсы
● экономия времени и внутренних ресурсов;
● выстраивания коммуникации напрямую с исполнителем;
● возможность масштабирования (привлечение нескольких специалистов на фрилансе).
Минусы:
● несогласованность действий между участниками разметки;
● отсутствие экспертности в профильных сферах.
Плюсы:
● экономия времени и внутренних ресурсов;
● возможность масштабирования;
● доступ к экспертам (если их нет внутри компании);
● возможность установить фиксированную стоимость за количество документов и доработки.
Минусы:
● непрозрачность процесса;
● форс-мажоры на стороне аутсорс-компании;
● трудно повлиять на качество результата.
1. Определите бизнес-цели, четко обозначьте, что заказчик ждет на выходе.
2. Выявите необходимый объем документов для разметки (больше=дороже, но качественнее).
3. Подготовьте данные для разметке, убедитесь в их качестве.
4. Определите подход (ручная или автоматическая разметка).
5. Сформулируйте понятную задачу для команды разметки и создайте четкую инструкцию.
6. Важно помнить, что время разметки напрямую зависит от объемов и качества составленной инструкции.
7. При необходимости повторите цикл разметки.
В ближайшее время наш менеджер свяжется с Вами.