ElisonSherton's picture
Rectified README.md to correct pipeline_tag
e0eafa7
|
raw
history blame
3.54 kB
metadata
license: apache-2.0
base_model: bert-base-cased
library_name: transformers
tags:
  - generated_from_trainer
metrics:
  - precision
  - recall
  - f1
  - accuracy
model-index:
  - name: dev-ner-ontonote-bert-finetuned
    results: []
datasets:
  - louisguitton/dev-ner-ontonotes
pipeline_tag: token-classification

dev-ner-ontonote-bert-finetuned

This model is a fine-tuned version of bert-base-cased on the dev-ner-ontone dataset.

It achieves the following results on the evaluation set:

  • Loss: 0.0241
  • Precision: 0.9404
  • Recall: 0.9668
  • F1: 0.9535
  • Accuracy: 0.9937

Model description

NER Model to identify one or more of the following entities from any given sentence

['CARDINAL', 'DATE', 'EVENT', 'FAC', 'GPE', 'LANGUAGE', 'LAW', 'LOC', 'MONEY', 'NORP', 'ORDINAL', 'ORG', 'PERCENT', 'PERSON', 'PRODUCT', 'QUANTITY', 'TIME', 'WORK_OF_ART']

Intended uses & limitations

Can be used for named entity recognition for information extraction/retrieval. The limitation of this work is that since it uses BERT as it's pretrained backbone all the limitations and biases there get carried forward in this model.

Also, in the training data, we had only a very small number of examples of a few entities. To be precise this is the distribution of the data

{'GPE': 2268, 'PERSON': 2020, 'ORG': 1740, 'DATE': 1507, 'CARDINAL': 938, 'NORP': 847, 'MONEY': 274, 'ORDINAL': 232, 'TIME': 214, 'LOC': 204, 'PERCENT': 177, 'EVENT': 143, 'WORK_OF_ART': 142, 'FAC': 115, 'QUANTITY': 100, 'PRODUCT': 72, 'LAW': 40, 'LANGUAGE': 33}

Hence tokenwise, the model will underperform on entities related to language or law etc.

Training and evaluation data

Here is a snapshot of the dataset stats

DatasetDict({
    train: Dataset({
        features: ['text', 'entities', 'entities-suggestion', 'entities-suggestion-metadata', 'external_id', 'metadata'],
        num_rows: 8528
    })
    validation: Dataset({
        features: ['text', 'entities', 'entities-suggestion', 'entities-suggestion-metadata', 'external_id', 'metadata'],
        num_rows: 8528
    })
})

For more detailed information, refer this page

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 2e-05
  • train_batch_size: 32
  • eval_batch_size: 32
  • seed: 42
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • num_epochs: 5

Training results

Training Loss Epoch Step Validation Loss Precision Recall F1 Accuracy
No log 1.0 267 0.1113 0.7576 0.7973 0.7769 0.9689
0.2811 2.0 534 0.0559 0.8732 0.9087 0.8906 0.9847
0.2811 3.0 801 0.0360 0.9147 0.9478 0.9309 0.9904
0.063 4.0 1068 0.0275 0.9333 0.9600 0.9465 0.9928
0.063 5.0 1335 0.0241 0.9404 0.9668 0.9535 0.9937

Framework versions

  • Transformers 4.27.4
  • Pytorch 2.3.1
  • Datasets 2.20.0
  • Tokenizers 0.13.3