nbroad's picture
nbroad HF staff
Update README.md
272d4e1
---
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
datasets:
- tomaarsen/ner-orgs
metrics:
- precision
- recall
- f1
widget:
- text: The Fellowship of British Baptists and BMS World Mission brings together in
ministry the churches that are members of the Baptist Union of Scotland, Wales,
the Irish Baptist Networks, and the Baptist Union of Great Britain.
- text: The program is classified in the National Collegiate Athletic Association
(NCAA) Division I Bowl Subdivision (FBS), and the team competes in the Big 12
Conference.
- text: The Human Rights Foundation, condemned the assault, with HRF president Thor
Halvorssen Mendoza claiming that "the PSUV approved of the attacks against opposition
deputies at the National Assembly ".
- text: But senior Conservatives, such as Commons Health Committee chairperson Sarah
Wollaston and education minister Anne Milton, backed calls for a free vote on
the issue, while Labour MP Stella Creasy said she would table an amendment on
the matter to the Domestic Violence Bill and said that over 150 parliamentarians
had expressed support for the change, and Labour's shadow Attorney General Shami
Chakrabarti called the issue a test fo r May's feminism.
- text: From 1991 to 1992, the Social Democratic Party and Social Democrats of Croatia
were a part of the National Union government which was created by Franjo Tuđman
during the first stages of the war.
pipeline_tag: token-classification
base_model: roberta-large
model-index:
- name: SpanMarker with roberta-large on FewNERD, CoNLL2003, and OntoNotes v5
results:
- task:
type: token-classification
name: Named Entity Recognition
dataset:
name: FewNERD, CoNLL2003, and OntoNotes v5
type: tomaarsen/ner-orgs
split: test
metrics:
- type: f1
value: 0.81019
name: F1
- type: precision
value: 0.8238
name: Precision
- type: recall
value: 0.7970
name: Recall
---
# SpanMarker with roberta-large on FewNERD, CoNLL2003, and OntoNotes v5
This is a [SpanMarker](https://github.com/tomaarsen/SpanMarkerNER) model trained on the [FewNERD, CoNLL2003, and OntoNotes v5](https://huggingface.co/datasets/tomaarsen/ner-orgs) dataset that can be used for Named Entity Recognition. This SpanMarker model uses [roberta-large](https://huggingface.co/roberta-large) as the underlying encoder.
## Model Details
### Model Description
- **Model Type:** SpanMarker
- **Encoder:** [roberta-large](https://huggingface.co/roberta-large)
- **Maximum Sequence Length:** 256 tokens
- **Maximum Entity Length:** 8 words
- **Training Dataset:** [FewNERD, CoNLL2003, and OntoNotes v5](https://huggingface.co/datasets/tomaarsen/ner-orgs)
- **Language:** en
- **License:** cc-by-sa-4.0
### Model Sources
- **Repository:** [SpanMarker on GitHub](https://github.com/tomaarsen/SpanMarkerNER)
- **Thesis:** [SpanMarker For Named Entity Recognition](https://raw.githubusercontent.com/tomaarsen/SpanMarkerNER/main/thesis.pdf)
### Model Labels
| Label | Examples |
|:------|:---------------------------------------------|
| ORG | "IAEA", "Church 's Chicken", "Texas Chicken" |
## Evaluation
### Metrics
| Label | Precision | Recall | F1 |
|:--------|:----------|:-------|:-------|
| ORG | 0.8238 | 0.7970 | 0.81019|
## Uses
### Direct Use for Inference
```python
from span_marker import SpanMarkerModel
# Download from the 🤗 Hub
model = SpanMarkerModel.from_pretrained("nbroad/span-marker-roberta-large-orgs-v1")
# Run inference
entities = model.predict("The program is classified in the National Collegiate Athletic Association (NCAA) Division I Bowl Subdivision (FBS), and the team competes in the Big 12 Conference.")
```
### Downstream Use
You can finetune this model on your own dataset.
<details><summary>Click to expand</summary>
```python
from span_marker import SpanMarkerModel, Trainer
# Download from the 🤗 Hub
model = SpanMarkerModel.from_pretrained("nbroad/span-marker-roberta-large-orgs-v1")
# 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-roberta-large-orgs-v1-finetuned")
```
</details>
<!--
### Out-of-Scope Use
*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->
<!--
## Bias, Risks and Limitations
*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
-->
<!--
### Recommendations
*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
-->
## 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: 3e-05
- train_batch_size: 32
- eval_batch_size: 32
- 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.1430 | 600 | 0.0085 | 0.7425 | 0.7383 | 0.7404 | 0.9726 |
| 0.2860 | 1200 | 0.0078 | 0.7503 | 0.7516 | 0.7510 | 0.9741 |
| 0.4290 | 1800 | 0.0077 | 0.6962 | 0.8107 | 0.7491 | 0.9718 |
| 0.5720 | 2400 | 0.0060 | 0.8074 | 0.7486 | 0.7769 | 0.9753 |
| 0.7150 | 3000 | 0.0057 | 0.8135 | 0.7717 | 0.7921 | 0.9770 |
| 0.8580 | 3600 | 0.0059 | 0.7997 | 0.7764 | 0.7879 | 0.9763 |
| 1.0010 | 4200 | 0.0057 | 0.7860 | 0.8051 | 0.7954 | 0.9771 |
| 1.1439 | 4800 | 0.0058 | 0.7907 | 0.7717 | 0.7811 | 0.9763 |
| 1.2869 | 5400 | 0.0058 | 0.8116 | 0.7803 | 0.7956 | 0.9774 |
| 1.4299 | 6000 | 0.0056 | 0.7918 | 0.7850 | 0.7884 | 0.9770 |
| 1.5729 | 6600 | 0.0056 | 0.8097 | 0.7837 | 0.7965 | 0.9769 |
| 1.7159 | 7200 | 0.0055 | 0.8113 | 0.7790 | 0.7948 | 0.9765 |
| 1.8589 | 7800 | 0.0052 | 0.8095 | 0.7970 | 0.8032 | 0.9782 |
| 2.0019 | 8400 | 0.0054 | 0.8244 | 0.7782 | 0.8006 | 0.9774 |
| 2.1449 | 9000 | 0.0053 | 0.8238 | 0.7970 | 0.8102 | 0.9782 |
| 2.2879 | 9600 | 0.0053 | 0.82 | 0.7901 | 0.8048 | 0.9773 |
| 2.4309 | 10200 | 0.0053 | 0.8243 | 0.7936 | 0.8086 | 0.9785 |
| 2.5739 | 10800 | 0.0053 | 0.8159 | 0.7953 | 0.8055 | 0.9781 |
| 2.7169 | 11400 | 0.0053 | 0.8072 | 0.8034 | 0.8053 | 0.9784 |
| 2.8599 | 12000 | 0.0052 | 0.8111 | 0.8017 | 0.8064 | 0.9782 |
### 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}
}
```
<!--
## Glossary
*Clearly define terms in order to be accessible across audiences.*
-->
<!--
## Model Card Authors
*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->
<!--
## Model Card Contact
*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->