加载中…
加载中…
This is a fine-tuned BERT-based model for intent classification, capable of categorizing intents into 82 distinct labels. It was trained on a consolidated dataset of multilingual intent datasets.
Use the code below to get started with the model.
from transformers import AutoModelForSequenceClassification, AutoTokenizer, pipeline
model = AutoModelForSequenceClassification.from_pretrained("yeniguno/bert-uncased-intent-classification")
tokenizer = AutoTokenizer.from_pretrained("yeniguno/bert-uncased-intent-classification")
pipe = pipeline("text-classification", model=model, tokenizer=tokenizer)
text = "Play the song, Sam."
prediction = pipe(text)
print(prediction)
# [{'label': 'play_music', 'score': 0.9997674822807312}]
This model is intended for:
Natural Language Understanding (NLU) tasks. Classifying user intents for applications such as:
The model's performance may degrade on intents that are underrepresented in the training data. Not optimized for languages other than English. Domain-specific intents not included in the dataset may require additional fine-tuning.
his model was trained on a combination of intent datasets from various sources:
Datasets Used:
Each dataset was preprocessed, and intent labels were consolidated into 82 unique classes.
Dataset Sizes:
The model was fine-tuned with the following hyperparameters:
Base Model: bert-base-uncased Learning Rate: 3e-5 Batch Size: 32 Epochs: 4 Weight Decay: 0.01 Evaluation Strategy: Per epoch Mixed Precision: FP32 Hardware: A100
| Epoch | Training Loss | Validation Loss | Accuracy | F1 Score | Precision | Recall |
|---|---|---|---|---|---|---|
| 1 | 0.1143 | 0.1014 | 97.38% | 97.33% | 97.36% | 97.38% |
| 2 | 0.0638 | 0.0833 | 97.78% | 97.79% | 97.83% | 97.78% |
| 3 | 0.0391 | 0.0946 | 97.98% | 97.98% | 97.99% | 97.98% |
| 4 | 0.0122 | 0.1013 | 98.04% | 98.04% | 98.05% | 98.04% |
| Metric | Value |
|---|---|
| Loss | 0.0814 |
| Accuracy | 98.37% |
| F1 Score | 98.37% |
| Precision | 98.38% |
| Recall | 98.37% |