Как подготовить данные и определить схему для пользовательской модели NER

Чтобы создать пользовательскую модель NER, вам понадобятся качественные данные для обучения. В этой статье объясняется, как подойти к выбору и подготовке данных, а также определить схему. Определение схемы представляет собой первый шаг в жизненном цикле разработки проекта. Схема определяет типы/категории сущностей, которые модель должна извлечь из текста во время выполнения.

Проектирование схемы

Схема определяет типы или категории сущностей, которые ваша модель должна извлечь из текста во время выполнения.

  • Просмотрите документы в своем наборе данных, чтобы ознакомиться с их форматом и структурой.

  • Определите сущности, которые нужно извлечь из данных.

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

  • Избегайте неоднозначности типов сущностей.

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

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

  • Избегайте сложных сущностей. Сложные сущности обычно трудно выбирать из текста, поэтому их можно разбить на несколько сущностей.

    Например, будет сложно извлечь сущность "адрес", если не разбить ее на меньшие сущности. Есть много вариантов отображения адреса. Чтобы обучить модель, потребуется множество сущностей с метками для извлечения адресов в целом, без разбивки на меньшие сущности. Но если изменить "адрес" на "название улицы", "почтовый ящик", "город", "штат" и "индекс", модели потребуется меньше меток для каждой сущности.

Выбор данных

Качество данных, с помощью которых обучается модель, значительно влияет на ее производительность.

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

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

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

  • Избегайте дублирования документов в данных. Дублирование данных негативно влияет на обучение, метрики и производительность модели.

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

Примечание

Если у вас документы на нескольких языках, во время создания проекта выберите параметр несколько языков и задайте язык, использующийся в большинстве ваших документов.

Подготовка данных

Чтобы создать проект, необходимо отправить обучающие данные в контейнер больших двоичных объектов в вашей учетной записи хранения. Вы можете создавать и отправлять обучающие документы непосредственно из Azure или с помощью средства "Обозреватель службы хранилища Azure". Средство "Обозреватель службы хранилища Azure" позволяет быстро отправлять большие объемы данных.

Можно использовать только документы .txt. Если данные имеют другой формат, вы можете изменить формат документа с помощью команды анализа CLUtils.

Вы можете отправить набор данных с заметками или без них, добавив к данным метки в Language Studio.

Тестовый набор

При определении тестового набора обязательно включите примеры документов, которые отсутствуют в обучающем наборе. Определение тестового набора — важный шаг для вычисления производительности модели. Убедитесь также, что тестовый набор содержит документы, представляющие все сущности, используемые в проекте.

Следующие шаги

Создайте пользовательский проект NER, если вы этого еще не сделали. Если вы впервые используете пользовательскую модель NER, рекомендуем создать пример проекта с помощью инструкций из краткого руководства. Дополнительные сведения о том, что нужно для создания проекта, см. в статье с практической информацией.