Edit model card

SpanMarker with microsoft/xtremedistil-l12-h384-uncased 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 microsoft/xtremedistil-l12-h384-uncased as the underlying encoder.

Model Details

Model Description

Model Sources

Model Labels

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

Evaluation

Metrics

Label Precision Recall F1
all 0.7620 0.7498 0.7559
ORG 0.7620 0.7498 0.7559

Uses

Direct Use for Inference

from span_marker import SpanMarkerModel

# Download from the πŸ€— Hub
model = SpanMarkerModel.from_pretrained("nbroad/span-marker-xdistil-l12-h384-orgs-v3")
# Run inference
entities = model.predict("SCL claims that its methodology has been approved or endorsed by agencies of the Government of the United Kingdom and the Federal government of the United States, among others.")

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("nbroad/span-marker-xdistil-l12-h384-orgs-v3")

# 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("nbroad/span-marker-xdistil-l12-h384-orgs-v3-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.0003
  • 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.05
  • num_epochs: 3
  • mixed_precision_training: Native AMP

Training Results

Epoch Step Validation Loss Validation Precision Validation Recall Validation F1 Validation Accuracy
0.5720 600 0.0086 0.7150 0.7095 0.7122 0.9660
1.1439 1200 0.0074 0.7556 0.7253 0.7401 0.9682
1.7159 1800 0.0073 0.7482 0.7619 0.7550 0.9702
2.2879 2400 0.0072 0.7761 0.7573 0.7666 0.9713
2.8599 3000 0.0070 0.7691 0.7688 0.7689 0.9720

Framework Versions

  • Python: 3.10.12
  • SpanMarker: 1.5.0
  • Transformers: 4.35.2
  • PyTorch: 2.1.0a0+32f93b1
  • Datasets: 2.15.0
  • Tokenizers: 0.15.0

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
3
Safetensors
Model size
33.4M params
Tensor type
F32
Β·

Finetuned from

Dataset used to train nbroad/span-marker-xdistil-l12-h384-orgs-v3

Evaluation results