Первый этап внедрения ML: как провести разметку данных

В статье рассказываем, как подготовиться к разметке данных и провести оценку качества. А при неимении специалистов — кому её поручить. Бонусом в конце статьи чек-лист.

1К открытий10К показов
Первый этап внедрения ML: как провести разметку данных

Рынок Deep Learning-решений переживает революцию на протяжении последних нескольких лет. С 2018-го по 2023-й он рос в среднем на 41,7% в год. Аналитики считают, что до конца 2023 года объем рынка достигнет $18,16 млрд, при этом работа с AI требует особого внимания к предоставляемым данным.   

Так, один из ключевых этапов любого ML-проекта – разметка данных. Эта операция занимает около 25% времени всего цикла реализации Data Science-решения. Меня зовут Полина Богданова, я Бизнес-аналитик в компании Embedika и сегодня я расскажу, что из себя представляет разметка данных и как грамотно выстроить этот процесс. Подробно разберу область NLP — технология машинного обучения, которая позволяет ИИ интерпретировать и понимать человеческий язык. 

Как происходит разметка текста

Data labeling (разметка данных) — это качественное преобразование данных путем добавления метатегов в текст документов, что позволяет AI понять контекст и в последующем эффективно задавать и выполнять те или иные сценарии. Это один из ключевых этапов любого ML-проекта, так как от качества разметки зависит конечный результат.

Разметку данных принято рассматривать с позиции «ученик и учитель», где ученик — это сама модель, а учитель — специалист. На этапе обучения происходит обработка информации и добавление метатегов, что позволяет искусственному интеллекту ориентироваться в эталонных примерах и понимать, чем один отличается от другого.  

Далее идет верификация качества разметки — специалисты сравнивают полученные показатели работы ИИ-модели с эталонными. Такая проверка помогает выявить и исправить ошибки системы, что впоследствии позволяет получить более точные результаты.

Методы разметки

Обучение «с учителем» можно разделить на две большие категории: с использованием активного обучения и без его него.

С применением активного обучения

Данный тип обучения начинается с этапа разметки данных. В документе с помощью тегов/меток (метки - более распространенное слово) размечаются необходимые формулировки. Например, для классического договора нужно определить: стороны договора, услуги, которые будут оказываться в рамках договора, сроки, стоимость.

Далее модели показывают некоторое количество размеченных документов и учитель позволяет алгоритму самостоятельно обрабатывать информацию и находить те фрагменты, которые соответствуют первому этапу обучения. На этом этапе алгоритм «уточняет» у человека корректность выделения данных. Если система допускает много ошибок, необходимо дополнительно разметить   примеры, которые будут эталонными образцами. Обычно цикл обновления повторяется, пока число правильных ответов не достигнет 90%.

Без применения активного обучения (ручная)

В ручном методе вся разметка осуществляется человеком, в частности, разметчиками данных и экспертами. Первые выполняют разметку, вторые — проверяют ее качество. Экспертами могут выступать как специалисты из направления ML, так и сотрудники из области, для которой создается ИИ-решение.

Задача эксперта заключается в валидации результата работы разметчиков: специалист смотрит, правильно ли выделены именованные сущности и границы, везде ли проставлены тэги и классы. Далее эксперт сам исправляет найденные недочеты или отправляет их на доработку разметчикам. Эти циклы работы разметчика и эксперта продолжаются, пока не будут подтверждены качественными показателей обучения.

Автоматическая разметка

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

Первый этап внедрения ML: как провести разметку данных 1
Результат разметки данных

Подготовка перед разметкой

Определение конечного результата

Перед тем, как приступить к разметке, необходимо определить, какую бизнес-задачу будет решать разрабатываемое ИИ-решение. Важно держать в голове проект целиком и четко обозначить желаемый результат, так как работа в неправильном направлении приведет к потере времени и ресурсов.

Сбор данных

На данном этапе определяется, на какой информации будет обучаться ИИ. Решение вытекает из бизнес-требований: если у компании есть особая специфика или терминология, то лучше запрашивать их внутренние корпоративные документы и привлекать консультанта со стороны заказчика, который проверит правильность разметки. Также важно качество исходных данных, для разметки не подойдут неразборчивые сканы.

Более того, нельзя забывать про NDA и обезличивание документов. Чтобы избежать раскрытия чувствительной информации (данные о клиентах, внутренней структуре организации, финансовых показателях), стоит предварительно ее обезличить. 

Анализ документов

Далее эксперты внимательно изучают примеры документов, определяют, что нужно разметить, и составляют необходимые классы и тэги. Например, медицинская организация планирует упростить извлечение ключевых сущностей: возраст, пол пациента, его реакция на лечение. Тогда классы «возраст» и «пол» будут выделены по одному уникальному тэгу. А класс «реакция на лечение» будет включать множество подклассов: показатели артериального давления, температура тела, содержание эритроцитов в крови и другие.

Подготовка инструкции

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

Первый этап внедрения ML: как провести разметку данных 2

Информирование команды

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

Оценка качества разметки

Важно, чтобы итоговый результат соответствовал паттернам, указанным в инструкции. Стоит исключить грязную разметку (пропущены точки, захвачена нумерация) и неточную (в одном случае сущность размечена, а в другом — нет), это будет снижать качество результатов работы модели. Экспертам стоит контролировать процесс разметки и проверять промежуточные результаты, чтобы исправлять ошибки и неточности. 

Для оценки качества разметки, можно использовать разные метрики:

  • Точность (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. При необходимости повторите цикл разметки.
Следите за новыми постами
Следите за новыми постами по любимым темам
1К открытий10К показов