GLiNER: zero-shot NER без фиксированных меток
GLiNERNERNLP
Что именно делает GLiNER
Я бы смотрел на GLiNER как на специализированную замену двум крайностям: классическому NER с фиксированными классами и большой языковой модели, которой поручили найти несколько сущностей. Модель принимает нужные типы сущностей во время инференса и сопоставляет с ними фрагменты текста. Новый список меток не требует обязательного переобучения всей системы.
В официальной документации GLiNER команды urchade проект расшифровывается как Generalist and Lightweight Model for Named Entity Recognition. Базовая архитектура использует предобученный двунаправленный текстовый энкодер, представления фрагментов текста и представления меток. Соответствие между фрагментом и типом сущности оценивается через скалярное произведение и sigmoid.
И вот тут становится интереснее: GLiNER описан не как одна жесткая архитектура, а как семейство вариантов под разные режимы.
- UniEncoderSpan работает со span-представлениями и, согласно документации, обычно лучше подходит для наборов примерно до 30 типов сущностей.
- UniEncoderToken использует BIO-разметку на уровне токенов. Этот вариант ориентирован на длинные сущности и многозадачные сценарии.
- BiEncoderSpan разделяет энкодеры текста и меток. Представления меток можно вычислить заранее, поэтому вариант рассчитан на масштабирование до 100 и более типов.
Это важное архитектурное различие. Если список меток стабилен, предварительно рассчитанные представления убирают повторяющуюся работу при инференсе. Если метки постоянно меняются, ценность смещается к гибкости zero-shot NER.
На 20 сентября 2026 года исходное обсуждение не указывает дату нового релиза или конкретную версию. Поэтому я воспринимаю интерес к GLiNER как повод заново оценить зрелый открытый подход, а не как анонс с придуманной срочностью.
Где такой подход действительно меняет расклад
GLiNER выглядит практично там, где типы сущностей задаются пользователем или регулярно меняются. Это извлечение данных из неоднородных документов, прототипирование новой схемы и обработка запросов, для которых заранее закрытая онтология слишком тесна.
Но слово zero-shot не отменяет инженерную проверку. Я бы первым делом измерял качество на целевом языке и домене, устойчивость к похожим названиям меток, границы длинных сущностей, порог уверенности и задержку на пакетах. Именно здесь удобная демонстрация обычно встречается с реальными данными.
Для неизменной узкой схемы классическая дообученная NER-модель все еще может оказаться предсказуемее. Для сотен динамических классов особенно интересен BiEncoderSpan с заранее вычисленными представлениями меток. Главный вопрос не в том, заменит ли GLiNER все NER-системы, а в том, сколько задач извлечения вообще не нуждаются в генеративной модели.