File size: 2,632 Bytes
87fb8a8
 
 
 
 
 
 
25258c3
 
87fb8a8
 
 
 
 
25258c3
 
 
87fb8a8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7cbb7c3
87fb8a8
 
 
 
7cbb7c3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81

---
license: apache-2.0
library_name: span-marker
tags:
- span-marker
- token-classification
- pos
- part-of-speech
pipeline_tag: token-classification
---

# SpanMarker for Named Entity Recognition

This is a [SpanMarker](https://github.com/tomaarsen/SpanMarkerNER) model that can be used for identifying verbs in text.
In particular, this SpanMarker model uses [xlm-roberta-large](https://huggingface.co/xlm-roberta-large) as the underlying encoder.
See [span_marker_verbs_train.ipynb](span_marker_verbs_train.ipynb) for the training script used to create this model.

## Usage

To use this model for inference, first install the `span_marker` library:

```bash
pip install span_marker
```

You can then run inference with this model like so:

```python
from span_marker import SpanMarkerModel

# Download from the 🤗 Hub
model = SpanMarkerModel.from_pretrained("tomaarsen/span-marker-xlm-roberta-large-verbs")
# Run inference
entities = model.predict("Amelia Earhart flew her single engine Lockheed Vega 5B across the Atlantic to Paris.")
```

See the [SpanMarker](https://github.com/tomaarsen/SpanMarkerNER) repository for documentation and additional information on this library.

### Performance

It achieves the following results on the evaluation set:
- Loss: 0.0152
- Overall Precision: 0.9845
- Overall Recall: 0.9849
- Overall F1: 0.9847
- Overall Accuracy: 0.9962

## Training procedure

### Training hyperparameters

The following hyperparameters were used during training:
- 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: 3

### Training results

| Training Loss | Epoch | Step | Validation Loss | Overall Precision | Overall Recall | Overall F1 | Overall Accuracy |
|:-------------:|:-----:|:----:|:---------------:|:-----------------:|:--------------:|:----------:|:----------------:|
| 0.036         | 0.61  | 1000 | 0.0151          | 0.9911            | 0.9733         | 0.9821     | 0.9956           |
| 0.0126        | 1.22  | 2000 | 0.0131          | 0.9856            | 0.9864         | 0.9860     | 0.9965           |
| 0.0175        | 1.83  | 3000 | 0.0154          | 0.9735            | 0.9894         | 0.9814     | 0.9953           |
| 0.0115        | 2.45  | 4000 | 0.0172          | 0.9821            | 0.9871         | 0.9845     | 0.9962           |


### Framework versions

- Transformers 4.30.2
- Pytorch 2.0.1+cu118
- Datasets 2.13.1
- Tokenizers 0.13.3
- SpanMarker 1.2.3