Лучшие NER-модели в 2026 году: spaCy, GLiNER, Transformers, LLMs
Автоматический перевод Эта статья была автоматически переведена с оригинальной английской версии.
Распознавание именованных сущностей (NER) находит и размечает спаны текста — например, имена людей, компании и коды продуктов. Эта страница предназначена для инженеров, которые выбирают подход к извлечению данных для production-нагрузки. Здесь описана отправная точка, которую можно проверить на своей схеме, документах и эксплуатационных ограничениях.
Используйте spaCy для стабильных меток и быстрых пайплайнов. Выбирайте GLiNER, если метки часто меняются; bi-энкодер — если большой набор меток позволяет повторно использовать кэшированные эмбеддинги; файн-тюненный token classifier — если у вас есть размеченные примеры. Используйте структурированное извлечение на основе LLM, когда нужен сложный объект, а не простой список спанов.
Последняя проверка: 2026-08-17. Критерии выбора: стабильность меток, набор меток, вывод в виде спанов или записей, язык, наличие supervised-данных, латентность, нормализация и стоимость ревью.
Таблица решений
| Потребность | Лучшая отправная точка | Почему |
|---|---|---|
| Быстрый NER с известными метками | spaCy | Зрелые пайплайны, удобная работа, быстрый деплой на CPU и интеграция с правилами. |
| Новые метки без полного обучения | GLiNER | Извлечение с учетом меток хорошо работает, когда набор меток меняется. Начинайте с понятных описаний типов, а не с голых названий. |
| Большой набор повторно используемых меток | GLiNER bi-encoder | Он может заранее вычислять и кэшировать эмбеддинги меток вместо кодирования меток для каждого документа. |
| Сущности и отношения за один проход | Кандидат GLiNER-Relex | Он совместно извлекает типы сущностей и отношений. Сравните его с раздельными этапами на целевой схеме отношений. |
| Сущности, поля документа или классификация | GLiNER2 | Его интерфейс схемы объединяет распознавание сущностей, классификацию и задачи структурированного извлечения. |
| Вложенные или пересекающиеся сущности | Декодер с поддержкой вложенности, включая GLiNER с flat_ner=False | Плоское декодирование подавляет пересечения. Тестируйте вложенные спаны на аннотациях с ожидаемыми паттернами пересечений. |
| Мультиязычное извлечение или работа с несколькими письменностями | GLiNER-X или baseline на XLM-R | Ни одна модель не лучшая для всех языков. Тестируйте каждый целевой язык и формулировки его описаний типов. |
| Стабильные доменные метки и репрезентативные размеченные спаны | Файн-тюненный token classifier или пайплайн spaCy | Создайте supervised-baseline, затем сравните exact-span F1, латентность и стоимость на доменном наборе. |
| Неявные, межфразовые или структурированные поля | Кандидат LLM или гибридный подход | structured outputs ограничивают форму ответа, но не гарантируют корректность извлечения. Проверяйте точность полей на доменном тестовом наборе. |
| Критичные PII или регулируемый процесс | Presidio плюс кандидат GLiNER2-PII | Сочетайте вывод модели с детерминированными проверками, контролями редактирования данных и ревью. |
Классы инструментов
| Класс | Сильная сторона | Слабая сторона | Подходящий сценарий |
|---|---|---|---|
| spaCy NER | Быстрый, удобный для production, учитывает правила | Для кастомных меток нужны обучение или правила | Известные метки в системах с высокой пропускной способностью. |
| GLiNER | Гибкие метки на этапе инференса | Качество зависит от формулировки меток и доменного рассогласования | Быстрая итерация онтологии и long-tail-метки. |
| GLiNER bi-encoder | Кэшированные эмбеддинги меток масштабируются на большие онтологии | Эффект зависит от повторного использования меток и характера нагрузки | Повторно используемые наборы от десятков до тысяч меток. |
| GLiNER2 | Мультитасковое извлечение по схеме | Каждая задача и объединенная схема требуют отдельной оценки | Сущности, классификация и структурированные поля. |
| GLiNER-Relex | Совместное извлечение сущностей и отношений | Более новая модель, требующая сравнения на конкретной задаче | Явные схемы сущностей и отношений. |
| Transformer token classifier | Высокая точность при supervised-обучении | Требуются размеченные спаны и повторное обучение | Стабильное извлечение в домене при наличии достаточного объема данных. |
| LLM extraction | Гибкость схемы и ризонинг | Более высокие латентность и стоимость, недетерминированность | Сложные записи, неявные значения и процессы с небольшим объемом данных. |
| Rules and dictionaries | Детерминированное поведение при сопоставлении | Хрупкий recall | Compliance, идентификаторы, коды продуктов и постфильтры. |
Как выбрать
Начинайте со схемы сущностей, а не с модели.
Если метки стабильны и есть репрезентативные примеры, выполните файн-тюнинг token classifier. Сравните его на отложенном доменном наборе. Он предсказывает метки токенов без autoregressive generation. Латентность и стоимость всё равно зависят от модели, оборудования, размера батча и стека сервинга.
Если метки меняются еженедельно, используйте GLiNER или LLM-экстрактор, пока онтология не стабилизируется. Для каждой неоднозначной метки напишите короткое описание типа. Недавние исследования hard zero-shot NER показывают, что описания улучшают обобщение и не позволяют принимать утечку меток за zero-shot-способность. Цель — понять, какой должна быть схема, прежде чем тратить бюджет на аннотацию.
Если вы повторно используете большой набор меток, оцените bi-энкодер до joint label-text encoder. В статье о GLiNER bi-encoder сообщается показатель 61,5 micro-F1 на CrossNER. Там же заявлено до 130-кратного увеличения throughput при 1 024 метках и предварительно вычисленных эмбеддингах в условиях теста на H100. Эти результаты показывают характер масштабирования. Они не являются оценкой для другой production-нагрузки.
Если документы охватывают несколько языков, проведите бенчмарк для каждого целевого языка и письменности. В OpenNER 1.0 не была найдена одна модель, лучшая для всей коллекции из 52 языков. Тестируйте описания типов и на английском, и на локальных языках, поскольку текст метки является частью входа модели.
Если результатом должна быть структурированная запись, а не спаны, используйте LLM со structured outputs или гибридный пайплайн. LangExtract полезен, когда каждое извлечение должно быть связано с исходным местоположением в документе. NuExtract — вариант для self-hosted извлечения из мультимодальных документов. Оба подхода всё равно требуют оценки на уровне полей для целевых документов.
Многие бизнес-задачи извлечения не сводятся к чистому NER. «Найти стороны, обязательства, дату вступления в силу, пункт о расторжении и применимое право» — это понимание документа со структурированными полями сущностей.
Для PII используйте PII-фреймворк, например Presidio, как слой интеграции и редактирования данных. Рассматривайте GLiNER2-PII как кандидата среди моделей, а не как решение по compliance. Измеряйте recall на чувствительных форматах, языках и документах, с которыми будет работать система.
Production-пайплайн
Production-пайплайн извлечения часто добавляет вокруг модели дополнительные этапы:
- Извлечение кандидатов: spaCy, GLiNER, Transformer-модель, LLM, правила или их комбинация.
- Опциональная нормализация или entity linking: сопоставление спанов с каноническими ID, кодами продуктов, пользователями, компаниями или элементами онтологии.
- Валидация и ревью: отклонение невозможных меток, применение ограничений схемы, дедупликация спанов и направление неуверенных случаев на ревью.
Нормализация превращает извлеченный текст в полезные продуктовые данные. Найти спан «Apple» — только первый шаг. Система всё ещё должна определить, означает ли он компанию, фрукт, семейство продуктов или биржевой тикер, а затем сопоставить его со стабильным ID.
Чек-лист оценки
Измеряйте не только entity-level F1:
- exact span F1
- relaxed span F1
- матрица ошибок по меткам
- обработка вложенных сущностей
- точность нормализации сущностей
- чувствительность к описанию типа и языку метки
- срезы по языку, письменности и формату документа
- false positives по меткам
- калибровка confidence
- латентность и стоимость на документ
- доля исправлений, выполненных людьми
Держите тестовый набор отдельно от проектирования схемы и настройки порогов. Указывайте число документов и упоминаний сущностей для каждой метки. Используйте доверительные интервалы на уровне документов, если повторные упоминания в одном документе иначе завышают уверенность.
Что почитать глубже
- NER Guide 2026 рассматривает энкодеры, LLMs и трехуровневую production-архитектуру.
- Schema-Guided Reasoning актуален, когда NER превращается в структурированное извлечение.
Ссылки
- Документация GLiNER
- Статья о GLiNER bi-encoder — кэшированные эмбеддинги меток для больших наборов.
- Документация GLiNER2
- Статья о GLiNER-Relex — совместное извлечение сущностей и отношений.
- Статья о ZeroNER — hard zero-shot-оценка с описаниями типов.
- Статья об OpenNER 1.0 — оценка мультиязычного NER для нескольких онтологий.
- LangExtract — извлечение с помощью LLM с привязкой к источнику.
- NuExtract — self-hosted мультимодальное извлечение.
- Presidio — фреймворк для обнаружения и анонимизации PII.
- Статья о GLiNER2-PII — кандидат в мультиязычные PII-модели.
- Документация spaCy по именованным сущностям
- Руководство Hugging Face по token classification
- Руководство OpenAI по structured outputs