xlm-roberta-az-ner / README.md
IsmatS's picture
Update README.md
9e432c1 verified
---
language:
- az
tags:
- token-classification
- ner
- roberta
- multilingual
license: mit
datasets:
- LocalDoc/azerbaijani-ner-dataset
metrics:
- precision
- recall
- f1
model-index:
- name: XLM-RoBERTa Azerbaijani NER Model
results:
- task:
name: Named Entity Recognition
type: token-classification
dataset:
name: Azerbaijani NER Dataset
type: LocalDoc/azerbaijani-ner-dataset
metrics:
- name: Precision
type: precision
value: 0.764390
- name: Recall
type: recall
value: 0.740460
- name: F1
type: f1
value: 0.752235
---
# XLM-RoBERTa Azerbaijani NER Model
[![Hugging Face Model](https://img.shields.io/badge/Hugging%20Face-Model-blue)](https://huggingface.co/IsmatS/xlm-roberta-az-ner)
This model is a fine-tuned version of **XLM-RoBERTa** for Named Entity Recognition (NER) in the Azerbaijani language. It recognizes several entity types commonly used in Azerbaijani text, providing high accuracy on tasks requiring entity extraction, such as personal names, locations, organizations, and dates.
## Model Details
- **Base Model**: `xlm-roberta-base`
- **Fine-tuned on**: [Azerbaijani Named Entity Recognition Dataset](https://huggingface.co/datasets/LocalDoc/azerbaijani-ner-dataset)
- **Task**: Named Entity Recognition (NER)
- **Language**: Azerbaijani (az)
- **Dataset**: Custom Azerbaijani NER dataset with entity tags such as `PERSON`, `LOCATION`, `ORGANISATION`, `DATE`, etc.
### Data Source
The model was trained on the [Azerbaijani NER Dataset](https://huggingface.co/datasets/LocalDoc/azerbaijani-ner-dataset), which provides annotated data with 25 distinct entity types specifically for the Azerbaijani language. This dataset is an invaluable resource for improving NLP tasks in Azerbaijani, including entity recognition and language understanding.
### Entity Types
The model recognizes the following entities:
- **PERSON**: Names of people
- **LOCATION**: Geographical locations
- **ORGANISATION**: Companies, institutions
- **DATE**: Dates and periods
- **MONEY**: Monetary values
- **TIME**: Time expressions
- **GPE**: Countries, cities, states
- **FACILITY**: Buildings, landmarks, etc.
- **EVENT**: Events and occurrences
- **...and more**
For the full list of entities, please refer to the dataset description.
## Performance Metrics
### Epoch-wise Performance
| Epoch | Training Loss | Validation Loss | Precision | Recall | F1 |
|-------|---------------|-----------------|-----------|--------|--------|
| 1 | 0.323100 | 0.275503 | 0.775799 | 0.694886 | 0.733117 |
| 2 | 0.272500 | 0.262481 | 0.739266 | 0.739900 | 0.739583 |
| 3 | 0.248600 | 0.252498 | 0.751478 | 0.741152 | 0.746280 |
| 4 | 0.236800 | 0.249968 | 0.754882 | 0.741449 | 0.748105 |
| 5 | 0.223800 | 0.252187 | 0.764390 | 0.740460 | 0.752235 |
| 6 | 0.218600 | 0.249887 | 0.756352 | 0.741646 | 0.748927 |
| 7 | 0.209700 | 0.250748 | 0.760696 | 0.739438 | 0.749916 |
### Detailed Classification Report (Epoch 7)
This table summarizes the precision, recall, and F1-score for each entity type, calculated on the validation dataset.
| Entity Type | Precision | Recall | F1-Score | Support |
|----------------|-----------|--------|----------|---------|
| ART | 0.54 | 0.20 | 0.29 | 1857 |
| DATE | 0.52 | 0.47 | 0.50 | 880 |
| EVENT | 0.69 | 0.35 | 0.47 | 96 |
| FACILITY | 0.69 | 0.69 | 0.69 | 1170 |
| LAW | 0.60 | 0.61 | 0.60 | 1122 |
| LOCATION | 0.77 | 0.82 | 0.80 | 9132 |
| MONEY | 0.61 | 0.57 | 0.59 | 540 |
| ORGANISATION | 0.69 | 0.68 | 0.69 | 544 |
| PERCENTAGE | 0.79 | 0.82 | 0.81 | 3591 |
| PERSON | 0.87 | 0.83 | 0.85 | 7037 |
| PRODUCT | 0.83 | 0.85 | 0.84 | 2808 |
| TIME | 0.55 | 0.51 | 0.53 | 1569 |
**Overall Metrics**:
- **Micro Average**: Precision = 0.76, Recall = 0.74, F1-Score = 0.75
- **Macro Average**: Precision = 0.68, Recall = 0.62, F1-Score = 0.64
- **Weighted Average**: Precision = 0.75, Recall = 0.74, F1-Score = 0.74
## Usage
You can use this model with the Hugging Face `transformers` library to perform NER on Azerbaijani text. Here’s an example:
### Installation
Make sure you have the `transformers` library installed:
```bash
pip install transformers
```
### Inference Example
Load the model and tokenizer, then run the NER pipeline on Azerbaijani text:
```python
from transformers import AutoTokenizer, AutoModelForTokenClassification, pipeline
# Load the model and tokenizer
model_name = "IsmatS/xlm-roberta-az-ner"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForTokenClassification.from_pretrained(model_name)
# Set up the NER pipeline
nlp_ner = pipeline("ner", model=model, tokenizer=tokenizer, aggregation_strategy="simple")
# Example sentence
sentence = "Bakı şəhərində Azərbaycan Respublikasının prezidenti İlham Əliyev."
entities = nlp_ner(sentence)
# Display entities
for entity in entities:
print(f"Entity: {entity['word']}, Label: {entity['entity_group']}, Score: {entity['score']}")
```
### Sample Output
```json
[
{
"entity_group": "PERSON",
"score": 0.99,
"word": "İlham Əliyev",
"start": 34,
"end": 46
},
{
"entity_group": "LOCATION",
"score": 0.98,
"word": "Bakı",
"start": 0,
"end": 4
}
]
```
## Training Details
- **Training Data**: This model was fine-tuned on the [Azerbaijani NER Dataset](https://huggingface.co/datasets/LocalDoc/azerbaijani-ner-dataset) with 25 entity types.
- **Training Framework**: Hugging Face `transformers`
- **Optimizer**: AdamW
- **Epochs**: 8
- **Batch Size**: 64
- **Evaluation Metric**: F1-score
## Limitations
- The model is trained specifically for the Azerbaijani language and may not generalize well to other languages.
- Certain rare entities may be misclassified due to limited training data in those categories.
## Citation
If you use this model in your research or application, please consider citing:
```
@model{ismats_az_ner_2024,
title={XLM-RoBERTa Azerbaijani NER Model},
author={Ismat Samadov},
year={2024},
publisher={Hugging Face},
url={https://huggingface.co/IsmatS/xlm-roberta-az-ner}
}
```
## License
This model is available under the [MIT License](https://opensource.org/licenses/MIT).