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-системи, а в тому, скільки завдань вилучення взагалі не потребують генеративної моделі.