library_name: transformers
license: mit
language:
- fa
tags:
- named-entity-recognition
- ner
- nlp
- transformers
- persian
- farsi
- persian_ner
- bert
metrics:
- accuracy
pipeline_tag: token-classification
Named-Entity-Recognition for Persian using Transformers
Model Details
Model Description: This Named-Entity-Recognition (NER) model is designed to identify and classify named entities in Persian (Farsi) text into predefined categories such as person names, organizations, locations, dates, and more. The model is built using the Hugging Face Transformers library and fine-tuned on the PartAI/TookaBERT-Base model.
Intended Use: The model is intended for use in applications where identifying and classifying entities in Persian text is required. It can be used for information retrieval, content analysis, customer support automation, and more.
Model Architecture:
- Model Type: Transformers-based NER
- Language: Persian (fa)
- Base Model: PartAI/TookaBERT-Base
Training Data
Dataset: The model was trained on a diverse corpus of Persian text, with a training dataset of 15,000 sentences and a test dataset of 2,000 sentences, to ensure broad applicability and high accuracy.
Data Preprocessing:
- Text normalization and cleaning were performed to ensure consistency.
- Tokenization was done using the BERT tokenizer.
Training Procedure
Training Configuration:
- Number of Epochs: 4
- Batch Size: 8
- Learning Rate: 1e-5
- Optimizer: AdamW
Training and Validation Losses:
- Epoch 1:
- Loss: 0.0610
- Validation Loss: 0.0347
- Epoch 2:
- Loss: 0.1363
- Validation Loss: 0.0167
- Epoch 3:
- Loss: 0.0327
- Validation Loss: 0.0125
- Epoch 4:
- Loss: 0.0016
- Validation Loss: 0.0062
Hardware:
- Training Environment: NVIDIA P100 GPU
- Training Time: Approximately 1 hour
Model Prediction Tags
The model predicts the following tags:
- "O"
- "I-product"
- "I-person"
- "I-location"
- "I-group"
- "I-creative-work"
- "I-corporation"
- "B-product"
- "B-person"
- "B-location"
- "B-group"
- "B-creative-work"
- "B-corporation"
How To Use
import torch
from transformers import pipeline
# Load the NER pipeline
ner_pipeline = pipeline("ner", model="NLPclass/Named-entity-recognition")
# Example text in Persian
text = "باراک اوباما در هاوایی متولد شد."
# Perform NER
entities = ner_pipeline(text)
# Output the entities
print(entities)
@misc{NLPclass,
author = {NLPclass},
title = {Named-Entity-Recognition for Persian using Transformers},
year = {2024},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/NLPclass/Named-entity-recognition}},
}