NER for affiliation parsing
org-geo-ner is a token-classification (NER) model that extracts organizations and geographic context from affiliation strings. It was fine-tuned in-house by MDPI AG to power mdpi-ror-search, an open-source tool that matches affiliation strings against the Research Organization Registry (ROR).
Model description
- Architecture: XLM-RoBERTa base (12 layers, 768 hidden size), fine-tuned for token classification
- Task: Named Entity Recognition (NER) over affiliation / address strings
- Labeling scheme: BIO (
B-/I-/O) - Entity types:
ORG: parent organization (e.g. university, company, ministry)SUB: sub-organization / department, faculty, institute, labCITY: cityCOUNTRY: country
- Language: primarily English, but trained on multilingual affiliation strings drawn from real scholarly manuscripts, so the model generalizes to non-English organization and place names to some extent
- License: Apache 2.0
Intended use
This model is designed to extract structured entities from free-text author affiliation strings as found in scholarly manuscripts and metadata (e.g. "Dept. of Physics, ETH, Zürich, Switzerland"). It is the first stage in a pipeline whose downstream goal is to resolve affiliations to ROR IDs. For further details about the pipeline, visit mdpi-ror-search.
It is not intended for general-purpose NER on arbitrary text (news, social media, etc.) as it is specialized for the affiliation/address domain.
How to use
The model works out of the box with the transformers token-classification pipeline using aggregation_strategy="simple", which merges wordpiece tokens into full entity spans.
from transformers import pipeline
ner_pipeline = pipeline(
"token-classification",
model="mdpi-ai/org-geo-ner",
aggregation_strategy="simple",
)
text = "MDPI, Grosspeteranlage 5, 4052 Basel, Switzerland."
output = ner_pipeline(text)
for entity in output:
print(f"{entity['entity_group']:<10} {entity['word']:<40} score={entity['score']:.3f}")
Output:
ORG MDPI score=0.855
CITY Basel score=0.994
COUNTRY Swtizerland score=1.000
Batch inference works the same way by passing a list of strings:
texts = [
"MDPI, Grosspeteranlage 5, 4052 Basel, Switzerland.",
"Department of Chemistry, MIT, Cambridge, MA, USA.",
]
outputs = ner_pipeline(texts)
For production use, filter low-confidence predictions with a score threshold (e.g. score >= 0.65) before downstream processing.
Training data
The model was fine-tuned on an internal, proprietary dataset of affiliation strings annotated for ORG, SUB, CITY, and COUNTRY spans. This dataset is not publicly released.
Evaluation
Evaluated on a held-out internal test split, per-entity metrics (strict span matching):
| Entity | Precision | Recall | F1 |
|---|---|---|---|
| ORG | 94.7 | 95.4 | 95.4 |
| SUB | 94.2 | 95.9 | 95.0 |
| CITY | 97.2 | 97.4 | 97.3 |
| COUNTRY | 98.2 | 99.1 | 98.7 |
| Overall | 95.9 | 96.8 | 96.4 |
Limitations and bias
- Trained on affiliation strings sourced from scholarly manuscripts; performance may degrade on out-of-domain text.
- The training data, while multilingual in the organization and place names it contains, is predominantly structured around English-language affiliation conventions; performance on affiliations written entirely in non-Latin scripts is not guaranteed.
- The training dataset is internal and not publicly available, so independent reproduction of the reported metrics is not possible.
- As with any NER model, ambiguous or heavily abbreviated affiliation strings (e.g. bare acronyms) may be mislabeled or missed; downstream consumers should apply a confidence threshold and treat predictions as candidates rather than ground truth.
- With
aggregation_strategy="simple", hyphenated compound organization names (e.g.CREAF-CSIC-UAB) can be split into multiple adjacentORGspans rather than merged into one, since the underlying XLM-RoBERTa tokenizer treats-as a token boundary. Downstream consumers may want to re-merge adjacent same-label spans separated only by punctuation.
Additional information
- Repository (pipeline code, docs): MDPI-ROR-Search.
- Contact: For questions, issues, or collaboration inquiries, please open an issue on the GitHub repository.
- Funding: This project was fully funded and supported by MDPI AG.
- License: Apache 2.0
- Citation: No associated publication is available at this time. If you use this model, please cite it as:
@misc{orggeoner,
title = {org-geo-ner: A Named Entity Recognition Model for Affiliation Parsing},
author = {MDPI AG},
year = {2026},
howpublished = {\url{https://huggingface.co/mdpi-ai/org-geo-ner}}
}
Disclaimer
This model is provided as-is, without warranty of any kind. Predictions should be reviewed before being used in contexts requiring high accuracy, such as automated compliance or reporting workflows.
- Downloads last month
- -
Model tree for mdpi-ai/org-geo-ner
Base model
FacebookAI/xlm-roberta-base