zhang19991111's picture
Upload 9 files
57ed72b verified
metadata
language: en
license: cc-by-sa-4.0
library_name: span-marker
tags:
  - span-marker
  - token-classification
  - ner
  - named-entity-recognition
  - generated_from_span_marker_trainer
metrics:
  - precision
  - recall
  - f1
widget:
  - text: >-
      Inductively Coupled Plasma - Mass Spectrometry ( ICP - MS ) analysis of
      Longcliffe SP52 limestone was undertaken to identify other impurities
      present , and the effect of sorbent mass and SO2 concentration on
      elemental partitioning in the carbonator between solid sorbent and gaseous
      phase was investigated , using a bubbler sampling system .
  - text: >-
      We extensively evaluate our work against benchmark and competitive
      protocols across a range of metrics over three real connectivity and GPS
      traces such as Sassy [ 44 ] , San Francisco Cabs [ 45 ] and Infocom 2006 [
      33 ] .
  - text: >-
      In this research , we developed a robust two - layer classifier that can
      accurately classify normal hearing ( NH ) from hearing impaired ( HI )
      infants with congenital sensori - neural hearing loss ( SNHL ) based on
      their Magnetic Resonance ( MR ) images .
  - text: >-
      In situ Peak Force Tapping AFM was employed for determining morphology and
      nano - mechanical properties of the surface layer .
  - text: >-
      By means of a criterion of Gilmer for polynomially dense subsets of the
      ring of integers of a number field , we show that , if h∈K[X ] maps every
      element of OK of degree n to an algebraic integer , then h(X ) is integral
      - valued over OK , that is , h(OK)⊂OK .
pipeline_tag: token-classification
base_model: bert-base-uncased
model-index:
  - name: SpanMarker with bert-base-uncased on my-data
    results:
      - task:
          type: token-classification
          name: Named Entity Recognition
        dataset:
          name: my-data
          type: unknown
          split: test
        metrics:
          - type: f1
            value: 0.6547008547008547
            name: F1
          - type: precision
            value: 0.69009009009009
            name: Precision
          - type: recall
            value: 0.6227642276422765
            name: Recall

SpanMarker with bert-base-uncased on my-data

This is a SpanMarker model that can be used for Named Entity Recognition. This SpanMarker model uses bert-base-uncased as the underlying encoder.

Model Details

Model Description

  • Model Type: SpanMarker
  • Encoder: bert-base-uncased
  • Maximum Sequence Length: 256 tokens
  • Maximum Entity Length: 8 words
  • Language: en
  • License: cc-by-sa-4.0

Model Sources

Model Labels

Label Examples
Data "an overall mitochondrial", "defect", "Depth time - series"
Material "cross - shore measurement locations", "the subject 's fibroblasts", "COXI , COXII and COXIII subunits"
Method "EFSA", "an approximation", "in vitro"
Process "translation", "intake", "a significant reduction of synthesis"

Evaluation

Metrics

Label Precision Recall F1
all 0.6901 0.6228 0.6547
Data 0.6136 0.5714 0.5918
Material 0.7926 0.7413 0.7661
Method 0.4286 0.3 0.3529
Process 0.6780 0.5854 0.6283

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("In situ Peak Force Tapping AFM was employed for determining morphology and nano - mechanical properties of the surface layer .")

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 3 25.6049 106
Entities per sentence 0 5.2439 22

Training Hyperparameters

  • learning_rate: 5e-05
  • train_batch_size: 8
  • eval_batch_size: 8
  • 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: 10

Training Results

Epoch Step Validation Loss Validation Precision Validation Recall Validation F1 Validation Accuracy
2.0134 300 0.0557 0.6921 0.5706 0.6255 0.7645
4.0268 600 0.0583 0.6994 0.6527 0.6752 0.7974
6.0403 900 0.0701 0.7085 0.6679 0.6876 0.8039
8.0537 1200 0.0797 0.6963 0.6870 0.6916 0.8129

Framework Versions

  • Python: 3.10.12
  • SpanMarker: 1.5.0
  • Transformers: 4.36.2
  • PyTorch: 2.0.1+cu118
  • Datasets: 2.16.1
  • 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}
}