Spaces:
Sleeping
📰 AG News Text Classification Demo
Ce projet présente une application de classification de textes d’actualité basée sur le dataset AG News.
L'objectif est de comparer plusieurs stratégies d'inférence de modèles Transformers pour la classification de texte.
🚀 Démo en ligne
L’application est disponible ici :
Lien vers la démo Hugging Face Space
📂 Organisation du projet
app.py
: interface Gradio avec deux onglets (Demo
+Documentation
)scripts/inference.py
: fonctions d’inférence pour 4 types de modèlesscripts/train.py
: script d’entraînement du modèle BERT fine-tuné sur AG Newsscripts/utils.py
: calcul des métriques d’évaluation (accuracy, F1, etc.)requirements.txt
: liste des dépendances Python
🧠 Description des modèles utilisés
Base model
Modèle BERT préentraînétextattack/bert-base-uncased-ag-news
utilisé directement sans fine-tuning.Zero-shot
Modèlefacebook/bart-large-mnli
utilisé pour classification zero-shot via pipeline Hugging Face.Few-shot
Approche zero-shot avec exemples dans le prompt (prompt engineering).Fine-tuned model
Modèle BERTbert-base-uncased
entraîné sur un sous-ensemble équilibré du dataset AG News (3000 exemples par classe), sauvegardé sur Hugging Face Hub sousMerwan611/agnews-finetuned-bert
.
📊 Données et entraînement
- Dataset : AG News (4 classes : World, Sports, Business, Sci/Tech)
- Préprocessing : tokenisation avec
AutoTokenizer
BERT - Entraînement : 3 epochs, batch size 32, métrique optimisée : accuracy
- Sous-échantillonnage pour accélérer l’entraînement : 3000 exemples par classe pour le train, 1000 par classe pour le test
📈 Performances
Les métriques calculées sont :
- Accuracy
- Precision (moyenne pondérée)
- Recall (moyenne pondérée)
- F1-score (moyenne pondérée)
Le modèle fine-tuné atteint généralement une meilleure précision que le modèle de base ou les approches zero-shot.
⚙️ Lancer l’application localement
- Cloner le repo
- Créer un environnement virtuel Python
- Installer les dépendances :
pip install -r requirements.txt
- Lancer python app.py