3 min read

GLiNER: Zero-Shot NER Without Fixed Labels

GLiNERNERNLP

GLiNER is an open zero-shot NER model by the Ukrainian team urchade. It extracts entities using labels supplied at inference time instead of a fixed ontology. That makes it useful for flexible NLP pipelines where entity types change and using a large language model for one extraction task would be excessive.

What GLiNER actually does

I see GLiNER as a specialized alternative to two extremes: conventional NER with fixed classes and a large language model asked to find a handful of entities. The model receives the required entity types at inference time and matches text spans against them. A new label list does not necessarily require retraining the entire system.

In the official documentation from the urchade team, GLiNER stands for Generalist and Lightweight Model for Named Entity Recognition. Its base architecture uses a pretrained bidirectional text encoder, representations of text spans, and representations of labels. The match between a span and an entity type is scored with a dot product and a sigmoid function.

This is where it gets more interesting: GLiNER is described not as one rigid architecture, but as a family of variants for different operating modes.

  • UniEncoderSpan works with span representations and, according to the documentation, is generally better suited to sets of roughly up to 30 entity types.
  • UniEncoderToken uses token-level BIO tagging. This variant targets long entities and multitask scenarios.
  • BiEncoderSpan separates the text and label encoders. Label representations can be computed in advance, making this option suitable for scaling to 100 or more types.

This architectural distinction matters. If the label list is stable, precomputed representations remove repeated work during inference. If labels change constantly, the value shifts toward the flexibility of zero-shot NER.

As of September 20, 2026, the source discussion does not specify a new release date or a particular version. I therefore see renewed interest in GLiNER as a reason to reassess a mature open approach, not as an announcement with artificial urgency.

Where this approach genuinely changes the equation

GLiNER looks practical when entity types are defined by users or change regularly. Examples include extracting data from heterogeneous documents, prototyping a new schema, and processing requests for which a predefined closed ontology is too restrictive.

But zero-shot does not remove the need for engineering validation. I would first measure quality in the target language and domain, robustness to similar label names, boundaries of long entities, confidence thresholds, and batch latency. This is where a convenient demo usually meets real data.

For a narrow, unchanging schema, a conventionally fine-tuned NER model may still be more predictable. For hundreds of dynamic classes, BiEncoderSpan with precomputed label representations is especially compelling. The main question is not whether GLiNER will replace every NER system, but how many extraction tasks do not need a generative model at all.

We previously explored how to assess the reliability of LLM-as-a-Judge with IRT metrics. This approach is also useful for testing NER classifier quality in real-world NLP scenarios.