SpanMarker with bert-base-cased on DFKI-SLT/few-nerd

This is a SpanMarker model trained on the DFKI-SLT/few-nerd dataset that can be used for Named Entity Recognition. This SpanMarker model uses bert-base-cased as the underlying encoder.

Model Details

Model Description

  • Model Type: SpanMarker
  • Encoder: bert-base-cased
  • Maximum Sequence Length: 256 tokens
  • Maximum Entity Length: 8 words
  • Training Dataset: DFKI-SLT/few-nerd
  • Language: en
  • License: cc-by-sa-4.0

Model Sources

Model Labels

Label Examples
art "The Seven Year Itch", "Imelda de ' Lambertazzi", "Time"
building "Sheremetyevo International Airport", "Boston Garden", "Henry Ford Museum"
event "French Revolution", "Iranian Constitutional Revolution", "Russian Revolution"
location "Croatian", "the Republic of Croatia", "Mediterranean Basin"
organization "Church 's Chicken", "Texas Chicken", "IAEA"
other "Amphiphysin", "BAR", "N-terminal lipid"
person "Hicks", "Edmund Payne", "Ellaline Terriss"
product "Corvettes - GT1 C6R", "Phantom", "100EX"

Evaluation

Metrics

Label Precision Recall F1
all 0.7677 0.7735 0.7706
art 0.7980 0.7349 0.7651
building 0.6420 0.6735 0.6574
event 0.6207 0.4977 0.5524
location 0.8137 0.8573 0.8350
organization 0.7166 0.6809 0.6983
other 0.6707 0.6734 0.6721
person 0.8567 0.9144 0.8846
product 0.6786 0.6441 0.6609

Uses

Direct Use for Inference

from span_marker import SpanMarkerModel

# Download from the 🤗 Hub
model = SpanMarkerModel.from_pretrained("span_marker_model_id")
# Run inference
entities = model.predict("Caretaker manager George Goss led them on a run in the FA Cup, defeating Liverpool in round 4, to reach the semi-final at Stamford Bridge, where they were defeated 2–0 by Sheffield United on 28 March 1925.")

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("span_marker_model_id")

# 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("span_marker_model_id-finetuned")

Training Details

Training Set Metrics

Training set Min Median Max
Sentence length 1 24.4956 163
Entities per sentence 0 2.5439 35

Training Hyperparameters

  • learning_rate: 5e-05
  • train_batch_size: 4
  • eval_batch_size: 4
  • seed: 42
  • gradient_accumulation_steps: 2
  • total_train_batch_size: 8
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • lr_scheduler_warmup_ratio: 0.1
  • num_epochs: 1
  • mixed_precision_training: Native AMP

Training Results

Epoch Step Validation Loss Validation Precision Validation Recall Validation F1 Validation Accuracy
0.1629 200 0.0302 0.7137 0.6190 0.6630 0.9013
0.3259 400 0.0237 0.7497 0.7108 0.7297 0.9257
0.4888 600 0.0215 0.7622 0.7268 0.7441 0.9292
0.6517 800 0.0213 0.7564 0.7619 0.7591 0.9355
0.8147 1000 0.0196 0.7783 0.7648 0.7715 0.9384
0.9776 1200 0.0196 0.7671 0.7783 0.7726 0.9390

Framework Versions

  • Python: 3.10.12
  • SpanMarker: 1.5.0
  • Transformers: 4.38.2
  • PyTorch: 2.2.1+cu121
  • Datasets: 2.18.0
  • Tokenizers: 0.15.2

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
16
Safetensors
Model size
108M params
Tensor type
F32
·
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 sepulm01/span-marker-bert-base-fewnerd-coarse-super

Finetuned
(2003)
this model

Dataset used to train sepulm01/span-marker-bert-base-fewnerd-coarse-super

Evaluation results