Instructions to use olivetti03/lobby-ner-spain-bert-v8-10 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- spaCy
How to use olivetti03/lobby-ner-spain-bert-v8-10 with spaCy:
!pip install https://huggingface.co/olivetti03/lobby-ner-spain-bert-v8-10/resolve/main/lobby-ner-spain-bert-v8-10-any-py3-none-any.whl # Using spacy.load(). import spacy nlp = spacy.load("lobby-ner-spain-bert-v8-10") # Importing as module. import lobby-ner-spain-bert-v8-10 nlp = lobby-ner-spain-bert-v8-10.load() - Notebooks
- Google Colab
- Kaggle
Lobby-NER Spain v8.10
NER model for detecting registered lobbying organisations in Spanish news text.
Architecture
- Base: es_dep_news_trf (RoBERTa-BNE, 570GB Spanish pre-training)
- Fine-tuned: class-incremental NER adding LOBBY label
- Framework: spaCy 3.8+ with curated-transformers
Gazetteer (v5, 8,259 terms)
Built from 4 Spanish transparency registers (Catalan, CNMV, Madrid, Valencia).
Removed: 48 person names, ambiguous entries (Fulton, Premier, Calafat, Cogen, Valcarce, Telefonica). Added: UGT, CCOO, Movistar, ANFAC, Banco Sabadell. Converted: ~215 filial names stripped of country suffix. Cleaned: societary suffixes (S.A., S.L., unipersonal).
Training Data
- Silver corpus: 293,239 positive sentences (gazetteer-matched)
- Hard negatives: 24,468 sentences, 100 percent with INE-verified person names
- Source: 870,804 news articles from 19 Spanish outlets (May 2023 - Jan 2025)
Methodology
- Gazetteer-based silver labelling (PhraseMatcher, case-insensitive, token-level)
- Scraping noise filter (JS/CSS/URLs/DOIs/templates)
- ALL-CAPS non-lobby filter (>2 words in caps that are not lobby = promotional)
- Tag/header filter (Temas, Etiquetas, Branded Content, 2+ consecutive caps)
- Document-level split 70/15/15 (zero leakage)
- Two-stage training: NER head 3 iter lr=0.001, full fine-tuning 12 iter lr=5e-5
Evaluation (TEST greedy)
- Precision: 0.9975
- Recall: 0.9964
- F1: 0.9969
- False Positives: 127
- Test sentences: 49,184
Known Limitations
Homographs (2 active)
- Airbus: company vs aircraft model (Airbus A350)
- SAP: software company vs syndrome abbreviation
Coverage gaps
- CaixaBank, Bankinter, Cepsa, PwC (short), ONCE, MasOrange
- Not in the 4 regional registers used
Residual FP
- Person names outside INE (Basque/Catalan rare names) may trigger capitalization bias
Usage
import spacy nlp = spacy.load("olivetti03/lobby-ner-spain-bert-v8-10") doc = nlp("La CEOE y UGT negociaron con el Ministerio.")
Entities: CEOE (LOBBY), UGT (LOBBY)
License: MIT
- Downloads last month
- -
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support