base-NER: A Named Entity Recognition (NER) Model

base-NER is a fine-tuned version of distilbert/distilbert-base-uncased on the CoNLL2003 dataset, designed for the task of Named Entity Recognition (NER). This model can identify entities like people, organizations, locations, and more from text.

from transformers import AutoModelForTokenClassification, AutoTokenizer, pipeline

model = AutoModelForTokenClassification.from_pretrained("eddiegulay/base-NER")
tokenizer = AutoTokenizer.from_pretrained("eddiegulay/base-NER")

classifier = pipeline("ner", model=model, tokenizer=tokenizer)
result = classifier("My name is Edgar and I stay in Dar es Salaam")
print(result)

Model Performance

The model achieved the following results on the CoNLL2003 test set:

  • Precision: 0.8845
  • Recall: 0.9017
  • F1-Score: 0.8930
  • Accuracy: 0.9782

The loss during training was 0.1129 on the validation set.

Model Description

This model leverages the DistilBERT architecture, which is a smaller and faster version of BERT, designed for efficiency while maintaining strong performance. The model is specifically fine-tuned for NER tasks, making it ideal for entity extraction in various domains like finance, healthcare, or general text analytics.

Intended Uses & Limitations

Intended Uses:

  • Text extraction tasks for recognizing names of people, organizations, locations, dates, and other named entities in a sentence.
  • Suitable for use in production applications where lightweight models are preferred due to memory or speed constraints.

Limitations:

  • The model is limited to English texts, as it was trained on the CoNLL2003 dataset.
  • Performance may degrade when used on domain-specific entities not present in the CoNLL2003 dataset (e.g., technical or biomedical domains).
  • May struggle with ambiguous or context-dependent entity classifications.

Training and Evaluation Data

The model was trained on the CoNLL2003 dataset, which contains annotations for named entities in English text. It is a widely-used dataset for NER tasks, consisting of four entity types: person, organization, location, and miscellaneous.

Dataset Configuration

  • Dataset: CoNLL2003
  • Split: Test set used for evaluation
  • Entity Types: Person, Organization, Location, Miscellaneous

Training Procedure

The model was fine-tuned for 2 epochs using a linear learning rate scheduler and an Adam optimizer.

Training Hyperparameters

The following hyperparameters were used during training:

  • Learning Rate: 2e-5
  • Batch Size: 16 (train and eval)
  • Seed: 42
  • Optimizer: Adam (betas=(0.9,0.999), epsilon=1e-8)
  • Scheduler: Linear
  • Epochs: 2

Training Results

Training Loss Epoch Step Validation Loss Precision Recall F1 Accuracy
0.0595 1.0 878 0.1046 0.8676 0.8909 0.8791 0.9762
0.0319 2.0 1756 0.1129 0.8845 0.9017 0.8930 0.9782

Usage Example

You can use this model with Hugging Face's transformers library for token classification tasks:

Framework Versions

  • Transformers 4.44.2
  • Pytorch 2.4.0+cu121
  • Datasets 2.21.0
  • Tokenizers 0.19.1

Future Improvements

  • Fine-tuning the model on more domain-specific datasets for improved generalization.
  • Implementing entity recognition for additional entity types, including products, dates, and technical terms.

Feel free to modify or add more details, especially for sections like model description, intended uses, and limitations.

Downloads last month
22
Safetensors
Model size
66.4M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for eddiegulay/base-NER

Finetuned
(6956)
this model

Dataset used to train eddiegulay/base-NER

Evaluation results