Edit model card

SpanMarker with roberta-base on conll2003

This is a SpanMarker model trained on the conll2003 dataset that can be used for Named Entity Recognition. This SpanMarker model uses roberta-base as the underlying encoder.

Model Details

Model Description

  • Model Type: SpanMarker
  • Encoder: roberta-base
  • Maximum Sequence Length: 256 tokens
  • Maximum Entity Length: 6 words
  • Training Dataset: conll2003
  • Language: en
  • License: apache-2.0

Model Sources

Model Labels

Label Examples
LOC "BRUSSELS", "Britain", "Germany"
MISC "British", "EU-wide", "German"
ORG "EU", "European Commission", "European Union"
PER "Werner Zwingmann", "Nikolaus van der Pas", "Peter Blackburn"

Evaluation

Metrics

Label Precision Recall F1
all 0.8944 0.9102 0.9022
LOC 0.9220 0.9215 0.9217
MISC 0.7332 0.7949 0.7628
ORG 0.8764 0.8964 0.8863
PER 0.9605 0.9629 0.9617

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("3. Tristan Hoffman (Netherlands) TVM same time")

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 14.5019 113
Entities per sentence 0 1.6736 20

Training Hyperparameters

  • learning_rate: 1e-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.2775 500 0.0282 0.9105 0.8355 0.8714 0.9670
0.5549 1000 0.0166 0.9215 0.9205 0.9210 0.9824
0.8324 1500 0.0151 0.9247 0.9346 0.9296 0.9853

Framework Versions

  • Python: 3.10.12
  • SpanMarker: 1.5.0
  • Transformers: 4.41.2
  • PyTorch: 2.3.0+cu121
  • Datasets: 2.20.0
  • Tokenizers: 0.19.1

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
2
Safetensors
Model size
125M params
Tensor type
F32
·
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.

Finetuned from

Dataset used to train bhadauriaupendra062/span-marker-roberta-base-conll03

Evaluation results