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}
}
Model tree for sntcristian/GliNER_ENEIDE
Base model
DeepMount00/universal_ner_ita