🚀 tner/twitter-roberta-base-dec2021-tweetner7-all
This model is a fine - tuned version of cardiffnlp/twitter-roberta-base-dec2021 on the tner/tweetner7 dataset (train_all
split). It addresses named entity recognition in Twitter data, leveraging fine - tuning to enhance performance on this specific domain.
✨ Features
- Fine - Tuned Model: Based on [cardiffnlp/twitter-roberta-base-dec2021], fine - tuned on the [tner/tweetner7] dataset for better performance in named entity recognition on Twitter data.
- Multiple Metrics Evaluation: Evaluated using various metrics such as F1, precision, and recall, both micro and macro, providing a comprehensive view of the model's performance.
- Entity - Specific Breakdown: Offers a per - entity breakdown of the F1 score, helping users understand the model's performance for different entity types.
- Confidence Interval: Provides confidence intervals for F1 scores, obtained through bootstrap, adding statistical reliability to the evaluation.
📦 Installation
This model can be used through the tner library. Install the library via pip:
pip install tner
💻 Usage Examples
Basic Usage
import re
from urlextract import URLExtract
from tner import TransformersNER
extractor = URLExtract()
def format_tweet(tweet):
urls = extractor.find_urls(tweet)
for url in urls:
tweet = tweet.replace(url, "{{URL}}")
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/twitter-roberta-base-dec2021-tweetner7-all")
model.predict([text_format])
Advanced Usage
It can be used via the transformers library, but it is not recommended as the CRF layer is not supported at the moment.
📚 Documentation
Model Evaluation
The model achieves the following results on the test set of 2021:
- F1 (micro): 0.6447001005249637
- Precision (micro): 0.6234607906675308
- Recall (micro): 0.6674375578168362
- F1 (macro): 0.5982200308213212
- Precision (macro): 0.576608821080324
- Recall (macro): 0.622268182336741
The per - entity breakdown of the F1 score on the test set are below:
- corporation: 0.5048128342245989
- creative_work: 0.45297029702970293
- event: 0.46761313220940554
- group: 0.6009661835748793
- location: 0.6592252133946159
- person: 0.8302430243024302
- product: 0.6717095310136157
For F1 scores, the confidence interval is obtained by bootstrap as below:
- F1 (micro):
- 90%: [0.6358921767926183, 0.6542958612061787]
- 95%: [0.6341987223616053, 0.6560992650244356]
- F1 (macro):
- 90%: [0.6358921767926183, 0.6542958612061787]
- 95%: [0.6341987223616053, 0.6560992650244356]
Full evaluation can be found at metric file of NER and metric file of entity span.
Training Hyperparameters
The following hyperparameters were used during training:
Property |
Details |
Dataset |
['tner/tweetner7'] |
Dataset Split |
train_all |
Dataset Name |
None |
Local Dataset |
None |
Model |
cardiffnlp/twitter-roberta-base-dec2021 |
CRF |
True |
Max Length |
128 |
Epoch |
30 |
Batch Size |
32 |
Learning Rate |
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.
Reference
If you use the model, please cite T - NER paper and TweetNER7 paper.
@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.",
}
@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",
}