SpanMarker with prajjwal1/bert-small on FewNERD, CoNLL2003, and OntoNotes v5

This is a SpanMarker model trained on the FewNERD, CoNLL2003, and OntoNotes v5 dataset that can be used for Named Entity Recognition. This SpanMarker model uses prajjwal1/bert-small as the underlying encoder.

Model Details

Model Description

Model Sources

Model Labels

Label Examples
ORG "Texas Chicken", "Church 's Chicken", "IAEA"

Evaluation

Metrics

Label Precision Recall F1
all 0.7618 0.7478 0.7547
ORG 0.7618 0.7478 0.7547

Uses

Direct Use for Inference

from span_marker import SpanMarkerModel

# Download from the 🤗 Hub
model = SpanMarkerModel.from_pretrained("tomaarsen/span-marker-bert-small-orgs")
# Run inference
entities = model.predict("American Motors included Chinese officials as part of the negotiations establishing Beijing Jeep (now Beijing Benz).")

Downstream Use

You can finetune this model on your own dataset.

Click to expand
from span_marker import SpanMarkerModel, Trainer

# Download from the 🤗 Hub
model = SpanMarkerModel.from_pretrained("tomaarsen/span-marker-bert-small-orgs")

# Specify a Dataset with "tokens" and "ner_tag" columns
dataset = load_dataset("conll2003") # For example CoNLL2003

# 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("tomaarsen/span-marker-bert-small-orgs-finetuned")

Training Details

Training Set Metrics

Training set Min Median Max
Sentence length 1 23.5706 263
Entities per sentence 0 0.7865 39

Training Hyperparameters

  • learning_rate: 0.0001
  • train_batch_size: 128
  • eval_batch_size: 128
  • seed: 42
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • lr_scheduler_warmup_ratio: 0.1
  • num_epochs: 3

Training Results

Epoch Step Validation Loss Validation Precision Validation Recall Validation F1 Validation Accuracy
0.5720 600 0.0076 0.7642 0.6630 0.7100 0.9656
1.1439 1200 0.0070 0.7705 0.7139 0.7411 0.9699
1.7159 1800 0.0067 0.7837 0.7231 0.7522 0.9709
2.2879 2400 0.0070 0.7768 0.7517 0.7640 0.9725
2.8599 3000 0.0068 0.7877 0.7374 0.7617 0.9718

Environmental Impact

Carbon emissions were measured using CodeCarbon.

  • Carbon Emitted: 0.068 kg of CO2
  • Hours Used: 0.52 hours

Training Hardware

  • On Cloud: No
  • GPU Model: 1 x NVIDIA GeForce RTX 3090
  • CPU Model: 13th Gen Intel(R) Core(TM) i7-13700K
  • RAM Size: 31.78 GB

Framework Versions

  • Python: 3.9.16
  • SpanMarker: 1.5.1.dev
  • Transformers: 4.30.0
  • PyTorch: 2.0.1+cu118
  • Datasets: 2.14.0
  • Tokenizers: 0.13.3

Citation

BibTeX

@software{Aarsen_SpanMarker,
    author = {Aarsen, Tom},
    license = {Apache-2.0},
    title = {{SpanMarker for Named Entity Recognition}},
    url = {https://github.com/tomaarsen/SpanMarkerNER}
}
Downloads last month
18
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for tomaarsen/span-marker-bert-small-orgs

Finetuned
(12)
this model

Dataset used to train tomaarsen/span-marker-bert-small-orgs

Collection including tomaarsen/span-marker-bert-small-orgs

Evaluation results