File size: 2,444 Bytes
fa3f3bd 5708a54 fa3f3bd 5708a54 fa3f3bd e315cdd 5708a54 e315cdd 5708a54 fa3f3bd bd640c3 fa3f3bd e315cdd fa3f3bd 3b0b9ae fa3f3bd |
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 82 83 |
---
language:
- en
license: apache-2.0
library_name: span-marker
tags:
- span-marker
- token-classification
- ner
- named-entity-recognition
datasets:
- conll2003
metrics:
- f1
- recall
- precision
pipeline_tag: token-classification
widget:
- text: Amelia Earhart flew her single engine Lockheed Vega 5B across the Atlantic
to Paris.
example_title: Amelia Earhart
base_model: xlm-roberta-large
model-index:
- name: SpanMarker w. xlm-roberta-large on CoNLL03 by Tom Aarsen
results:
- task:
type: token-classification
name: Named Entity Recognition
dataset:
name: CoNLL03
type: conll2003
split: test
revision: 01ad4ad271976c5258b9ed9b910469a806ff3288
metrics:
- type: f1
value: 0.9307
name: F1
- type: precision
value: 0.9264
name: Precision
- type: recall
value: 0.935
name: Recall
---
# SpanMarker for Named Entity Recognition
This is a [SpanMarker](https://github.com/tomaarsen/SpanMarkerNER) model that can be used for Named Entity Recognition. In particular, this SpanMarker model uses [xlm-roberta-large](https://huggingface.co./xlm-roberta-large) as the underlying encoder. See [train.py](train.py) for the training script.
## 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-conll03")
# Run inference
entities = model.predict("Amelia Earhart flew her single engine Lockheed Vega 5B across the Atlantic to Paris.")
```
### Limitations
**Warning**: This model works best when punctuation is separated from the prior words, so
```python
# ✅
model.predict("He plays J. Robert Oppenheimer , an American theoretical physicist .")
# ❌
model.predict("He plays J. Robert Oppenheimer, an American theoretical physicist.")
# You can also supply a list of words directly: ✅
model.predict(["He", "plays", "J.", "Robert", "Oppenheimer", ",", "an", "American", "theoretical", "physicist", "."])
```
The same may be beneficial for some languages, such as splitting `"l'ocean Atlantique"` into `"l' ocean Atlantique"`.
See the [SpanMarker](https://github.com/tomaarsen/SpanMarkerNER) repository for documentation and additional information on this library. |