GLiNER-ENEIDE: Named Entity Recognition for Historical Italian Texts

GLiNER-ENEIDE is a GLiNER-based Named Entity Recognition model fine-tuned on the ENEIDE dataset for extracting named entities from historical Italian literary and archival texts.

Model Details

Model Description

GLiNER-ENEIDE adapts the GLiNER architecture — a compact, bidirectional-transformer NER model capable of identifying arbitrary entity types at inference time — to the domain of historical Italian literature. Starting from DeepMount00/universal_ner_ita, an Italian-language GLiNER model, this version was fine-tuned on ENEIDE (Entity-annotated Nineteenth-century Italian Documents for Entity recognition), a silver-standard NER dataset built from Giacomo Leopardi's Zibaldone di pensieri and the Aldo Moro Digital Archive.

The model is optimised for four entity classes that are central to philological and literary-historical analysis:

Label Description Examples
persona Historical and literary persons Leopardi, Virgilio, Pietro Giordani
luogo Geographical locations Recanati, Roma, Bologna
organizzazione Institutions and organisations Accademia della Crusca, Tipografia Stella
opera Literary, philosophical and artistic works Iliade, Zibaldone, Operette morali

How to Get Started with the Model

Install the gliner library (v 0.2.16 preferred):

pip install gliner==0.2.16

Extract entities from a sample text:

from gliner import GLiNER

# Load the model
model = GLiNER.from_pretrained("sntcristian/GliNER_ENEIDE")

# Example: a passage from Leopardi's Zibaldone
text = ("A ciò che ho detto in altro pensiero intorno all’eloquenza di chi parla di se stesso si può aggiungere e l’esempio continuo di Cicerone, che piglia nuove forze ogni volta che parla di se come fa tuttora, e quello di Lorenzino de’ Medici nella sua Apologia che Giordani crede il piú gran pezzo d’eloquenza italiana e non vinto da nessuno straniero."
)

# Define the target entity labels
labels = ["persona", "luogo",  "opera"]

# Predict entities
entities = model.predict_entities(text, labels, threshold=0.9)

for e in entities:
    print(f"{e['text']:30s} => {e['label']:20s} (score: {e['score']:.4f})")

Expected output (indicative):

Cicerone                       => persona              (score: 1.0000)
Lorenzino de’ Medici           => persona              (score: 0.9980)
Apologia                       => opera                (score: 0.9994)
Giordani                       => persona              (score: 0.9992)

Citation

If you use this model, please cite:

BibTeX:

@inproceedings{santini2026eneide,
  title={ENEIDE: A High Quality Silver Standard Dataset for Named Entity Recognition and Linking in Historical Italian},
  author={Cristian Santini and Sebastian Barzaghi and Paolo Sernani and Emanuele Frontoni and Laura Melosi and Mehwish Alam},
  booktitle={Proceedings of the Fifteenth Language Resources and Evaluation Conference},
  year={2026}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for sntcristian/GliNER_ENEIDE

Finetuned
(1)
this model