FrenchCat
Classificateur multi-catégories pour le français basé sur CamemBERT.
Développé par DevynLabs dans le cadre du projet PixelForge.
Description
FrenchCat est un modèle de classification de texte fine-tuné sur CamemBERT pour catégoriser des mots français en 5 classes :
| Catégorie | Exemples |
|---|---|
profession |
boulanger, développeur, médecin |
objet |
chaise, ordinateur, voiture |
aliment |
banane, croissant, pizza |
lieu |
Paris, restaurant, hôpital |
autre |
bleu, rapidement, bonjour |
Performance
| Métrique | Score |
|---|---|
| Accuracy | 98.4% |
| F1 (macro) | 0.984 |
| F1 (weighted) | 0.984 |
Par classe
| Classe | Precision | Recall | F1 |
|---|---|---|---|
| profession | 100% | 100% | 1.00 |
| objet | 100% | 92% | 0.96 |
| aliment | 100% | 100% | 1.00 |
| lieu | 93% | 100% | 0.96 |
| autre | 100% | 100% | 1.00 |
Usage
from transformers import pipeline
classifier = pipeline("text-classification", model="christophernavas/frenchcat")
result = classifier("boulanger")
# [{"label": "profession", "score": 0.99}]
results = classifier(["développeur", "ordinateur", "Paris"])
# [{"label": "profession", ...}, {"label": "objet", ...}, {"label": "lieu", ...}]
Usage direct
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
tokenizer = AutoTokenizer.from_pretrained("christophernavas/frenchcat")
model = AutoModelForSequenceClassification.from_pretrained("christophernavas/frenchcat")
inputs = tokenizer("boulanger", return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
predicted_class = outputs.logits.argmax(-1).item()
labels = ["profession", "objet", "aliment", "lieu", "autre"]
print(labels[predicted_class]) # profession
Training
- Base model:
camembert-base - Epochs: 10
- Batch size: 16
- Learning rate: 2e-5
- Optimizer: AdamW
- Class weights: Oui (pour gérer le déséquilibre des classes)
- Platform: Modal (GPU T4)
Dataset
| Split | Exemples |
|---|---|
| Train | 674 |
| Validation | 110 |
| Test | 124 |
Cas d usage
FrenchCat est utilisé dans DevynLabs Business pour valider les métiers entrés par les utilisateurs. Il remplace un modèle XLM-RoBERTa zero-shot qui avait seulement 41% de succès sur les professions françaises.
Limitations
- Optimisé pour des mots simples (1-3 mots), pas des phrases complètes
- Vocabulaire limité aux catégories du dataset
- Peut confondre certains mots ambigus (ex: "orange" = aliment ou couleur?)
License
MIT - Usage commercial autorisé.
Citation
@misc{frenchcat2024,
author = {Christopher Navas},
title = {FrenchCat: French Text Classifier based on CamemBERT},
year = {2024},
publisher = {HuggingFace},
url = {https://huggingface.co/christophernavas/frenchcat}
}
Links
- Downloads last month
- 69
Model tree for christophernavas/frenchcat
Base model
almanach/camembert-baseEvaluation results
- Accuracy on Custom French Categoriesself-reported0.984
- F1 (macro) on Custom French Categoriesself-reported0.984