CoolFace
Modelpublic

P0L3/CliReNER-EnvironmentalBERT-base

sourceHugging Facecc-by-sa-4.0updated 6mo agoView on Hugging Face
0likes9downloads
Model Card

SpanMarker-EnvironmentalBERT for Climate Research NER

This model is a SpanMarker model fine-tuned for fine-grained Named Entity Recognition (NER) in the climate change research domain, extracting 28 distinct entity types. It utilizes the domain-specific ESGBERT/EnvironmentalBERT-base as the underlying encoder.

πŸ“Œ Model Details

  • β€”Model Type: SpanMarker
  • β€”Encoder: ESGBERT/EnvironmentalBERT-base
  • β€”Maximum Sequence Length: 512 tokens
  • β€”Maximum Entity Length: 14 words
  • β€”Language: English
  • β€”License: cc-by-sa-4.0

Model Labels

LabelExamples
Asset"mental health", "water resources", "raw material"
Body Part"leaves", "deep tissue compartment", "plant leaves"
Body of Water"Dhaleshwari river", "peripheral rivers", "rivers"
Chemical"marine algal toxin", "cathode materials", "domoic acid"
Disease"chronic epileptic syndrome", "acute neurologic signs", "seizures"
Ecosystem"cloud forests", "Tropical montane cloud forest", "polluted environment"
Energy Source"fossil fuels", "12-cell series battery-pack prototype", "battery cells"
Field of Study"study", "reference laboratory", "veterinary medicine"
Geographical Feature"mountainous regions", "heterogenous topography", "low point"
Intellectual Artefact"Daily husbandry records", "Veterinary medical records", "data"
Location"beaches", "wild", "Westbrook"
Mathematical Expression"gradient", "difference", "Stepwise machine hour constraints"
Measuring Device"station", "EEG", "MRI scan"
Meteorological Phenomenon"climate change", "rainfall", "climatic variability"
Method"dosing", "clinical efficacy", "serum monitoring"
Natural Disaster"environmental pollution", "seasonal air pollution", "heavy metal contamination"
Natural Phenomenon"algal blooms", "changing ocean conditions", "biochemical changes"
Organism"species", "Zalophus californianus", "California sea lions"
Organization"long-term care facility", "reference laboratory", "NOAA National Marine Fisheries Service"
Other"marine mammal health", "normal eating", "reports"
Person"Clinicians", "clinicians", "staff"
Physical Artefact"paved east – west road", "EVs", "electric vehicle"
Physical Phenomenon"normal food intake", "structural abnormalities", "seasonal changes"
Policy"energy security", "safety", "pollution"
Quantity"200 mAhg βˆ’ 1", "energy density", ">"
Satellite"Tropical Rainfall Measuring Mission", "TRMM", "satellites"
System"climate", "global overturning circulation", "system structure"
Time Period"101 days", "periods of prolonged anorexia", "several decades"

πŸš€ Main Results (Selected Checkpoint)

This repository provides the best-performing checkpoint selected from 5 runs with different random seeds. While the internal training logs tracked performance on the validation split of CliReNER<sub>silver</sub>, the final model selection and the metrics below are evaluated on the independent, expert-annotated CliReNER<sub>gold</sub> dataset.

MetricScore
Precision51.06
Recall43.10
F146.74
This checkpoint corresponds to the seed with the highest strict F1 on the gold evaluation set (Seed 3 - 3012).

πŸ“Š Results Across Seeds

We fine-tuned the model using 5 different random seeds to assess the stability and robustness of the architecture on the domain-specific text.

SeedPrecisionRecallStrict F1
151.7442.4846.66
249.6242.2845.66
351.0643.1046.74
450.6842.4446.20
548.6140.6044.25

Summary:

  • β€”F1: mean = 45.90, std = 1.02
  • β€”Precision: mean = 50.34, std = 1.24
  • β€”Recall: mean = 42.18, std = 0.93

Model Selection Strategy: The uploaded checkpoint is the single best seed (highest strict F1 on the gold dataset), ensuring strong real-world performance and high-fidelity alignment with domain-expert consensus.


πŸ“‚ Dataset & Evaluation

  • β€”Training Dataset: CliReNER<sub>silver</sub>
  • β€”Splits used: Stratified 80:10:10 ratio (Train/Validation/Test). The 80% split was used for training.
  • β€”Evaluation Dataset: CliReNER<sub>gold</sub>
  • β€”Splits used: Evaluated on the combined 192 sentences (expert-annotated via Weighted Expert Voting).
  • β€”Preprocessing:
  • β€”Texts were tokenized using the tokenizer corresponding to the EnvironmentalBERT encoder.
  • β€”The dataset utilizes a flat NER schema (nested entities are excluded, and overlapping entities are resolved to the most relevant span).
  • β€”Metric Details:
  • β€”F1 type: Strict F1 (Entity-level exact match).
  • β€”Evaluation was performed ensuring entities match both the exact boundary span and the exact semantic label to be considered correct.

βš–οΈ Precision vs Recall Behavior

(Note to author: Describe the model’s tendency here based on your results. Example: "The model exhibits a balanced precision and recall profile.")


βš™οΈ Usage

Direct Use for Inference

Because this model was trained using the SpanMarker framework, it requires the span_marker library for inference.

bash
pip install span_marker
python
from span_marker import SpanMarkerModel

# Download from the πŸ€— Hub
model = SpanMarkerModel.from_pretrained("P0L3/CliReNER-EnvironmentalBERT-base")

# Run inference
text = "The volume of climate-related literature is expanding exponentially; publications indexed since 2020 already exceed the total output of the preceding decade by 11% (Pan et al. 2025)."
entities = model.predict(text)

for entity in entities:
    print(f"Entity: {entity['span']} | Label: {entity['label']} | Score: {entity['score']:.4f}")


# Entity: climate-related literature | Label: Intellectual Artefact | Score: 0.5150
# Entity: publications | Label: Intellectual Artefact | Score: 0.9278
# Entity: 2020 | Label: Time Period | Score: 0.8446
# Entity: total output | Label: Quantity | Score: 0.9485
# Entity: preceding decade | Label: Time Period | Score: 0.9777
# Entity: 11% | Label: Quantity | Score: 0.9928
# Entity: 2025 | Label: Time Period | Score: 0.8557

Downstream Use

You can easily continue fine-tuning this model on your own dataset.

<details><summary>Click to expand</summary>

python
from span_marker import SpanMarkerModel, Trainer
from datasets import load_dataset

# Download from the πŸ€— Hub
model = SpanMarkerModel.from_pretrained("your-huggingface-username/your-model-name")

# Specify a Dataset with "tokens" and "ner_tags" columns
dataset = load_dataset("your_custom_dataset")

# Initialize a Trainer using the pretrained model & dataset
trainer = Trainer(
    model=model,
    train_dataset=dataset["train"],
    eval_dataset=dataset["validation"],
)
trainer.train()
trainer.save_model("span_marker_model_id-finetuned")

</details>


πŸ“‰ Training Details

Training Set Metrics

Training setMinMedianMax
Sentence length331.481997
Entities per sentence17.010022

Training Hyperparameters

  • β€”learning_rate: 5e-05
  • β€”train_batch_size: 8
  • β€”eval_batch_size: 8
  • β€”seed: 3012
  • β€”gradient_accumulation_steps: 2
  • β€”total_train_batch_size: 16
  • β€”optimizer: adamw_torch with betas=(0.9,0.999) and epsilon=1e-08
  • β€”lr_scheduler_type: linear
  • β€”lr_scheduler_warmup_ratio: 0.1
  • β€”num_epochs: 20

Training Results (CliReNER<sub>silver</sub> Validation Split)

EpochStepValidation LossValidation PrecisionValidation RecallValidation F1Validation Accuracy
1.0620.15130.00.00.00.6075
2.01240.10670.00.00.00.6069
3.01860.07080.45360.30850.36720.7338
4.02480.05470.53740.40170.45980.7668
5.03100.05070.55180.46630.50540.7965
6.03720.04900.55940.50650.53160.8035
7.04340.04790.60070.52650.56120.8159
8.04960.05010.59010.53080.55890.8122
9.05580.04990.59130.56240.57650.8189
10.06200.05280.57060.53950.55460.8137

Framework Versions

  • β€”Python: 3.10.19
  • β€”SpanMarker: 1.7.0
  • β€”Transformers: 4.50.0
  • β€”PyTorch: 2.9.1
  • β€”Datasets: 3.0.0
  • β€”Tokenizers: 0.21.4

πŸ“š Citation

If you use this model or the CliReNER datasets in your research, please cite the project:

latex
@misc{poleksic2026named,
  author       = {PoleksiΔ‡, Andrija and MartinčiΔ‡-IpΕ‘iΔ‡, Sanda},
  title        = {Named Entity Recognition for Climate Change Research},
  year         = {2026},
  howpublished = {Research Square},
  note         = {Preprint}
}

Please also acknowledge the SpanMarker framework:

latex
@software{Aarsen_SpanMarker,
    author = {Aarsen, Tom},
    license = {Apache-2.0},
    title = {{SpanMarker for Named Entity Recognition}},
    url = {https://github.com/tomaarsen/SpanMarkerNER}
}