File size: 8,114 Bytes
4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 f8046a4 4c71791 0d01a98 4c71791 0d01a98 4c71791 0d01a98 4c71791 0d01a98 4c71791 0d01a98 4c71791 0d01a98 4c71791 723ae97 4c71791 723ae97 0d01a98 |
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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 |
---
datasets:
- tner/tweetner7
metrics:
- f1
- precision
- recall
model-index:
- name: tner/bertweet-large-tweetner7-random
results:
- task:
name: Token Classification
type: token-classification
dataset:
name: tner/tweetner7
type: tner/tweetner7
args: tner/tweetner7
metrics:
- name: F1 (test_2021)
type: f1
value: 0.6486182247987844
- name: Precision (test_2021)
type: precision
value: 0.6318675293343569
- name: Recall (test_2021)
type: recall
value: 0.6662812210915818
- name: Macro F1 (test_2021)
type: f1_macro
value: 0.604868641257225
- name: Macro Precision (test_2021)
type: precision_macro
value: 0.589818811310092
- name: Macro Recall (test_2021)
type: recall_macro
value: 0.6244372176840122
- name: Entity Span F1 (test_2021)
type: f1_entity_span
value: 0.7843071034560397
- name: Entity Span Precision (test_2020)
type: precision_entity_span
value: 0.7640092115363527
- name: Entity Span Recall (test_2021)
type: recall_entity_span
value: 0.8057129640337689
- name: F1 (test_2020)
type: f1
value: 0.6602409638554216
- name: Precision (test_2020)
type: precision
value: 0.6819690265486725
- name: Recall (test_2020)
type: recall
value: 0.6398546964193046
- name: Macro F1 (test_2020)
type: f1_macro
value: 0.6271520713994495
- name: Macro Precision (test_2020)
type: precision_macro
value: 0.652241965435762
- name: Macro Recall (test_2020)
type: recall_macro
value: 0.6095524645700295
- name: Entity Span F1 (test_2020)
type: f1_entity_span
value: 0.7720332172515403
- name: Entity Span Precision (test_2020)
type: precision_entity_span
value: 0.7978959025470653
- name: Entity Span Recall (test_2020)
type: recall_entity_span
value: 0.7477944992215879
pipeline_tag: token-classification
widget:
- text: "Get the all-analog Classic Vinyl Edition of `Takin' Off` Album from {@herbiehancock@} via {@bluenoterecords@} link below: {{URL}}"
example_title: "NER Example 1"
---
# tner/bertweet-large-tweetner7-random
This model is a fine-tuned version of [vinai/bertweet-large](https://huggingface.co./vinai/bertweet-large) on the
[tner/tweetner7](https://huggingface.co./datasets/tner/tweetner7) dataset (`train_random` split).
Model fine-tuning is done via [T-NER](https://github.com/asahi417/tner)'s hyper-parameter search (see the repository
for more detail). It achieves the following results on the test set of 2021:
- F1 (micro): 0.6486182247987844
- Precision (micro): 0.6318675293343569
- Recall (micro): 0.6662812210915818
- F1 (macro): 0.604868641257225
- Precision (macro): 0.589818811310092
- Recall (macro): 0.6244372176840122
The per-entity breakdown of the F1 score on the test set are below:
- corporation: 0.5359342915811088
- creative_work: 0.454661558109834
- event: 0.46186621218576907
- group: 0.6163606010016696
- location: 0.6615873015873016
- person: 0.8278614184654453
- product: 0.675809105869446
For F1 scores, the confidence interval is obtained by bootstrap as below:
- F1 (micro):
- 90%: [0.6400171924527076, 0.6574431063551344]
- 95%: [0.6382155801831687, 0.6592086893227054]
- F1 (macro):
- 90%: [0.6400171924527076, 0.6574431063551344]
- 95%: [0.6382155801831687, 0.6592086893227054]
Full evaluation can be found at [metric file of NER](https://huggingface.co./tner/bertweet-large-tweetner7-random/raw/main/eval/metric.json)
and [metric file of entity span](https://huggingface.co./tner/bertweet-large-tweetner7-random/raw/main/eval/metric_span.json).
### Usage
This model can be used through the [tner library](https://github.com/asahi417/tner). Install the library via pip.
```shell
pip install tner
```
[TweetNER7](https://huggingface.co./datasets/tner/tweetner7) pre-processed tweets where the account name and URLs are
converted into special formats (see the dataset page for more detail), so we process tweets accordingly and then run the model prediction as below.
```python
import re
from urlextract import URLExtract
from tner import TransformersNER
extractor = URLExtract()
def format_tweet(tweet):
# mask web urls
urls = extractor.find_urls(tweet)
for url in urls:
tweet = tweet.replace(url, "{{URL}}")
# format twitter account
tweet = re.sub(r"\b(\s*)(@[\S]+)\b", r'\1{\2@}', tweet)
return tweet
text = "Get the all-analog Classic Vinyl Edition of `Takin' Off` Album from @herbiehancock via @bluenoterecords link below: http://bluenote.lnk.to/AlbumOfTheWeek"
text_format = format_tweet(text)
model = TransformersNER("tner/bertweet-large-tweetner7-random")
model.predict([text_format])
```
It can be used via transformers library but it is not recommended as CRF layer is not supported at the moment.
### Training hyperparameters
The following hyperparameters were used during training:
- dataset: ['tner/tweetner7']
- dataset_split: train_random
- dataset_name: None
- local_dataset: None
- model: vinai/bertweet-large
- crf: True
- max_length: 128
- epoch: 30
- batch_size: 32
- lr: 1e-05
- random_seed: 0
- gradient_accumulation_steps: 1
- weight_decay: 1e-07
- lr_warmup_step_ratio: 0.3
- max_grad_norm: 1
The full configuration can be found at [fine-tuning parameter file](https://huggingface.co./tner/bertweet-large-tweetner7-random/raw/main/trainer_config.json).
### Reference
If you use the model, please cite T-NER paper and TweetNER7 paper.
- T-NER
```
@inproceedings{ushio-camacho-collados-2021-ner,
title = "{T}-{NER}: An All-Round Python Library for Transformer-based Named Entity Recognition",
author = "Ushio, Asahi and
Camacho-Collados, Jose",
booktitle = "Proceedings of the 16th Conference of the European Chapter of the Association for Computational Linguistics: System Demonstrations",
month = apr,
year = "2021",
address = "Online",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2021.eacl-demos.7",
doi = "10.18653/v1/2021.eacl-demos.7",
pages = "53--62",
abstract = "Language model (LM) pretraining has led to consistent improvements in many NLP downstream tasks, including named entity recognition (NER). In this paper, we present T-NER (Transformer-based Named Entity Recognition), a Python library for NER LM finetuning. In addition to its practical utility, T-NER facilitates the study and investigation of the cross-domain and cross-lingual generalization ability of LMs finetuned on NER. Our library also provides a web app where users can get model predictions interactively for arbitrary text, which facilitates qualitative model evaluation for non-expert programmers. We show the potential of the library by compiling nine public NER datasets into a unified format and evaluating the cross-domain and cross- lingual performance across the datasets. The results from our initial experiments show that in-domain performance is generally competitive across datasets. However, cross-domain generalization is challenging even with a large pretrained LM, which has nevertheless capacity to learn domain-specific features if fine- tuned on a combined dataset. To facilitate future research, we also release all our LM checkpoints via the Hugging Face model hub.",
}
```
- TweetNER7
```
@inproceedings{ushio-etal-2022-tweet,
title = "{N}amed {E}ntity {R}ecognition in {T}witter: {A} {D}ataset and {A}nalysis on {S}hort-{T}erm {T}emporal {S}hifts",
author = "Ushio, Asahi and
Neves, Leonardo and
Silva, Vitor and
Barbieri, Francesco. and
Camacho-Collados, Jose",
booktitle = "The 2nd Conference of the Asia-Pacific Chapter of the Association for Computational Linguistics and the 12th International Joint Conference on Natural Language Processing",
month = nov,
year = "2022",
address = "Online",
publisher = "Association for Computational Linguistics",
}
```
|