CoolFace
Datasetpublic

DReggio/esg-spanish-events

ESG Spanish Events (2014–2024) Dataset summary Multi-label ESG classification dataset for Spanish equity market news (2014–2024). Contains 1,688 human-annotated canonical news events (gold set) and 64,488 LLaMA-3.1-8B SFT silver-annotated events (silver set). Labels cover three ESG pillars (Environmental, Social, Governance) as independent binary signals plus a 4-class sentiment dimension (Positive / Negative / Neutral / NA). Companion model: DReggio/mrbert-es-esg… See the full description on the dataset page: https://huggingface.co/datasets/DReggio/esg-spanish-events.

sourceHugging Facecc-by-nc-4.0updated 4mo agoView on Hugging Face
0likes25downloads
Dataset Card

ESG Spanish Events (2014–2024)

Dataset summary

Multi-label ESG classification dataset for Spanish equity market news (2014–2024). Contains 1,688 human-annotated canonical news events (gold set) and 64,488 LLaMA-3.1-8B SFT silver-annotated events (silver set). Labels cover three ESG pillars (Environmental, Social, Governance) as independent binary signals plus a 4-class sentiment dimension (Positive / Negative / Neutral / NA).

Companion model: DReggio/mrbert-es-esg


Dataset construction

Source corpus

News headlines were scraped from 12 Spanish financial news sources (El Confidencial, Expansión, El Economista, El País/CincoDías, El Mundo, ElDiario, Bolsamania, Infobae, Finanzas, Vozpopuli, Merca2) covering 106 BME-listed companies over 2014–2024, plus CNMV mandatory regulatory disclosures for 109 firms. Raw scrape: 702,735 Spanish headlines + 37,786 CNMV filings.

Event clustering

Headlines were deduplicated and clustered into company-level events using cosine similarity on paraphrase-multilingual-MiniLM-L12-v2 embeddings (384-dim). Clustering threshold τ = 0.70 was set via a precision-priority decision (200 manually annotated pairs, precision 96–100% at τ = 0.70). CNMV filings serve as anchor records where available. Output: 64,488 canonical events, each represented by a single canonical headline.

Gold set — human annotation

A stratified sample of 1,896 events was annotated by the author (Damien Reggio) following the ISSB/SASB ESG taxonomy codebook. Labels assigned per event:

  • —esg_E, esg_S, esg_G: independent binary ESG pillar flags (multi-label — a single event can activate any combination)
  • —esg_none: 1 if no ESG signal present (mutually exclusive with E/S/G=1)
  • —sentiment: Pos / Neg / Neu (NA if esg_none=1)
  • —annotator_confidence: 1 (clear), 2 (uncertain), 3 (very uncertain)

Annotation quality was validated using NESSIE (Neighbourhood Embedding Similarity for Sequence-level Inconsistency Evaluation), a k-NN internal consistency detector (k=15, backbone: BSC-LT/MrBERT-es). NESSIE flagged 341/1,898 rows (18.0%); 102 labels were revised (29.9% of flagged). After NESSIE review and removal of 208 garbage-flagged records, the locked gold set contains 1,688 events.

Silver set — LLaMA-3.1-8B SFT annotation

The remaining 62,800 non-gold events were annotated by a LLaMA-3.1-8B SFT model fine-tuned on the gold training split using masked-loss QLoRA (Arm A2, variant4 prompt template, 5 epochs). The SFT annotator achieves mean Cohen's κ = 0.761 against human gold labels on goldtest (κE = 0.856, κS = 0.815, κG = 0.588, κ_sent = 0.786). This corpus was used as silver augmentation data for training the companion BERT classifier (training regime R3).


Label distributions

Gold set (n = 1,688)

LabelTrain (1,243)Dev (178)Test (267)Total
E = 12243047301
S = 12523158341
G = 169889158945
None4115096557

Sentiment (ESG events only, esg_none=0):

SentimentTrainDevTestTotal
Positive3184368429
Negative2533256341
Neutral4215395569
NA2515048557

Annotator confidence: 96.9% at level 1 (clear), 3.1% at levels 2–3.

Silver set (n = 64,488)

LabelCountRate
E = 12,0453.2%
S = 14,6297.2%
G = 130,72647.6%
None28,97644.9%

Sentiment:

SentimentCount
NA (none events)28,974
Neutral23,825
Negative7,208
Positive4,481

Parse failures: 0 / 64,488.

Note on G base-rate: The LLaMA SFT annotator assigns G=1 to 47.6% of events, higher than the Qwen3-8B SFT silver corpus (34.0%). This 13.5 pp gap reflects genuine cross-architecture uncertainty in the Governance taxonomy — confirmed by NESSIE (G has the highest flag rate across all annotators: human 11.3%, LLaMA SFT 8.1%) and by cross-encoder BERT agreement (85.1% for G vs 98.3% for E).


Schema

Gold splits (gold_train.csv, gold_dev.csv, gold_test.csv)

FieldTypeDescription
event_idstringUUID — unique event identifier
canonical_headlinestringRepresentative headline for the event
company_namestringCompany name
company_nifstringSpanish tax ID (unique firm identifier)
company_tickerstringBME ticker
sics_sectorstringSASB SICS sector
sics_industrystringSASB SICS industry
event_datedateDate of event (earliest headline date)
has_cnmvboolWhether event includes a CNMV filing
source_namestringCanonical headline source
pillar_profilestringE / S / G / None / multi-label combination
esg_Eint (0/1)Environmental pillar
esg_Sint (0/1)Social pillar
esg_Gint (0/1)Governance pillar
esg_noneint (0/1)No ESG signal
sentimentstringPos / Neg / Neu / NA
annotator_confidenceint (1–3)1=clear, 2=uncertain, 3=very uncertain
commentstringAnnotator notes (optional)
annotation_datedateDate of initial annotation
annotation_date_nessiedateDate of NESSIE review
review_datedateDate of final review

Silver set (spanish_events_silver_llama_full.jsonl)

All gold schema fields plus:

FieldTypeDescription
pipelinestringAlways spanish
cnmv_filing_idstringCNMV registro number (if has_cnmv)
cnmv_sectionstringHR / IP / OIR
cnmv_categorystringCNMV disclosure category
esg_pillarstringPillar label (pre-clustering classification)
gicstringSASB GIC sub-topic (if available)
n_headlinesintNumber of headlines in cluster
cluster_sizeintCluster size
first_coverage_datedateFirst headline date in cluster
last_coverage_datedateLast headline date in cluster
coverage_window_daysintDays between first and last coverage
media_amplificationintNumber of sources covering event
similarity_method_usedstringClustering method (single_record / cosine / jaccard)
modelstringllama_8b_sft_v4_fp16
variantstringvariant4
parse_failedboolWhether LLM output failed to parse
failure_reasonstringParse failure reason (null if none)
label_timestampdatetimeISO timestamp of LLM annotation

Intended use

  • —Training and evaluating Spanish ESG news classifiers
  • —Event study research on ESG news and equity market response
  • —Spanish financial NLP benchmarking
  • —LLM annotation quality research (gold vs silver agreement)

Out of scope: High-stakes automated ESG scoring without human review; non-Spanish financial text.


Limitations

  • —G pillar ambiguity: Governance is the hardest label (κ_G = 0.588 for LLaMA SFT; human NESSIE flag rate 11.3%). G labels should be used with caution in G-specific tasks.
  • —Single annotator gold set: Human labels were produced by one annotator; NESSIE replaces traditional inter-annotator agreement as the quality check.
  • —Domain: Spanish peninsular financial press (2014–2024). Latin American Spanish and social media are not covered.
  • —Silver label bias: Silver labels inherit the LLaMA SFT annotator's distribution; not a substitute for human annotation on high-stakes tasks.

License

cc-by-nc-4.0 — Non-commercial research use. Headline text is included for academic reproducibility. Users are responsible for compliance with the terms of service of the original news sources.


Citation

bibtex
@mastersthesis{reggio2026esg,
  author = {Damien Reggio},
  title  = {ESG News Classification and Market Response
            in Spanish Equity Markets},
  school = {FernUni Switzerland},
  year   = {2026}
}