librarian-bot's picture
Librarian Bot: Add base_model information to model
5b35b40
|
raw
history blame
8.47 kB
metadata
datasets:
  - tner/tweetner7
metrics:
  - f1
  - precision
  - recall
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
base_model: tner/twitter-roberta-base-2019-90m-tweetner-2020
model-index:
  - name: tner/twitter-roberta-base-2019-90m-tweetner7-continuous
    results:
      - task:
          type: token-classification
          name: Token Classification
        dataset:
          name: tner/tweetner7
          type: tner/tweetner7
          args: tner/tweetner7
        metrics:
          - type: f1
            value: 0.6587179789871326
            name: F1 (test_2021)
          - type: precision
            value: 0.6727755003617073
            name: Precision (test_2021)
          - type: recall
            value: 0.6452358926919519
            name: Recall (test_2021)
          - type: f1_macro
            value: 0.6107285696131857
            name: Macro F1 (test_2021)
          - type: precision_macro
            value: 0.6215631908472189
            name: Macro Precision (test_2021)
          - type: recall_macro
            value: 0.6039860329938679
            name: Macro Recall (test_2021)
          - type: f1_entity_span
            value: 0.7843692816244613
            name: Entity Span F1 (test_2021)
          - type: precision_entity_span
            value: 0.8010610079575596
            name: Entity Span Precision (test_2020)
          - type: recall_entity_span
            value: 0.7683589684283566
            name: Entity Span Recall (test_2021)
          - type: f1
            value: 0.6475869809203142
            name: F1 (test_2020)
          - type: precision
            value: 0.7049480757483201
            name: Precision (test_2020)
          - type: recall
            value: 0.598858329008822
            name: Recall (test_2020)
          - type: f1_macro
            value: 0.6057800656625983
            name: Macro F1 (test_2020)
          - type: precision_macro
            value: 0.6627892226359489
            name: Macro Precision (test_2020)
          - type: recall_macro
            value: 0.5669673771050993
            name: Macro Recall (test_2020)
          - type: f1_entity_span
            value: 0.755331088664422
            name: Entity Span F1 (test_2020)
          - type: precision_entity_span
            value: 0.8222357971899816
            name: Entity Span Precision (test_2020)
          - type: recall_entity_span
            value: 0.6984950700570836
            name: Entity Span Recall (test_2020)

tner/twitter-roberta-base-2019-90m-tweetner7-continuous

This model is a fine-tuned version of tner/twitter-roberta-base-2019-90m-tweetner-2020 on the tner/tweetner7 dataset (train_2021 split). The model is first fine-tuned on train_2020, and then continuously fine-tuned on train_2021. Model fine-tuning is done via T-NER's hyper-parameter search (see the repository for more detail). It achieves the following results on the test set of 2021:

  • F1 (micro): 0.6587179789871326
  • Precision (micro): 0.6727755003617073
  • Recall (micro): 0.6452358926919519
  • F1 (macro): 0.6107285696131857
  • Precision (macro): 0.6215631908472189
  • Recall (macro): 0.6039860329938679

The per-entity breakdown of the F1 score on the test set are below:

  • corporation: 0.5165775401069518
  • creative_work: 0.480106100795756
  • event: 0.4846715328467153
  • group: 0.6041666666666665
  • location: 0.6836268754076973
  • person: 0.8458527493010252
  • product: 0.6600985221674878

For F1 scores, the confidence interval is obtained by bootstrap as below:

  • F1 (micro):
    • 90%: [0.6500084574752211, 0.6675327789934176]
    • 95%: [0.6480876172354417, 0.6695072839398589]
  • F1 (macro):
    • 90%: [0.6500084574752211, 0.6675327789934176]
    • 95%: [0.6480876172354417, 0.6695072839398589]

Full evaluation can be found at metric file of NER and metric file of entity span.

Usage

This model can be used through the tner library. Install the library via pip.

pip install 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.

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/twitter-roberta-base-2019-90m-tweetner7-continuous")
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_2021
  • dataset_name: None
  • local_dataset: None
  • model: tner/twitter-roberta-base-2019-90m-tweetner-2020
  • 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.

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",
}