Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ICPE Classification - Projet NLP

Ce projet explore la classification des codes ICPE (Installations Classées Pour l'Environnement) à l'aide de techniques de traitement du langage naturel et d'apprentissage automatique.

Expériences menées

1. Approche Tabular avec XGBoost (01_experiment_tabular_xgb.ipynb)

Objectif : Faire une classification binaire entre arrêté préféctoral d'autorisation et autre à l'aide de données tabulaires.

Approche :

  • Extraction de features à partir du texte HTML (titre, métadonnées)
  • Entraînement d'un modèle XGBoost sur les features tabulaires
  • Évaluation comparative des performances

Conclusions : Modèle très satisfaisant (précision de 1 sur les données de test).

2. Classification multiclasse et camemBERT supervisé (02_camembert_supervised.ipynb)

Objectif : Essayer de passser à la classification multiclasse de manière supervisée. Une des expérience exploite un modèle de langage pré-entraîné en français.

Approche :

  • Fine-tuning de CamemBERT pour la classification d'ICPE
  • Utilisation de l'embedding complet du modèle

Résultats : Performances de XGBoost avec les données tabulaires est le "meilleur" modèle au sens du F1 score cross validé. Le modèle utilisant une tête de classification overfit. Entraînement de XGBoost sur des embeddings donne de meilleurs résulats mais pas autant que les données tabulaires

3. CamemBERT Non-supervisé (03_camembert_unsupervised.ipynb)

Objectif : Explorer une approche de clustering sans labels.

Approche :

  • Génération d'embeddings via CamemBERT
  • Clustering des ICPEs par similarité sémantique (k-means)
  • Similarité entre les embeddings des documents et la description des labels (cosine similarity)

Résultats : Permet une exploration naturelle des groupements mais ne donne pas de résultats satisfaisants sur les données labelisées.

Conclusions

Ce projet met en évidence l’intérêt et les limites des différentes approches NLP appliquées à la classification des ICPE.

Les expériences montrent que les approches tabulaires, lorsqu’elles reposent sur des features bien construites et informatives, restent particulièrement efficaces. Le modèle XGBoost entraîné sur ces données obtient les meilleures performances globales, tant en classification binaire qu’en multiclasse, et constitue une base robuste et difficile à surpasser dans ce contexte.

L’utilisation de modèles de langage pré-entraînés comme CamemBERT apporte une richesse sémantique indéniable, mais leur fine-tuning supervisé s’avère délicat avec les données disponibles, menant à des phénomènes d’overfitting. L’exploitation des embeddings CamemBERT comme features intermédiaires améliore les résultats par rapport à une tête de classification directe, sans toutefois dépasser les performances des approches tabulaires.

Enfin, l’approche non supervisée permet une exploration qualitative intéressante des similarités sémantiques entre documents et des regroupements naturels d’ICPE. Toutefois, elle reste insuffisante pour une classification fiable en l’absence de supervision explicite.

Structure du projet

data/
├── raw/
│   ├── 2026-01-09_Projet_HTML.zip          # fichiers HTML
|   ├── all_icpes.csv           # titres et aiot de tous les arrêtés
|   └── Projet_Classification-AP.xlsx  # titres et aiot des arrêtés labelisés
└── processed/
    ├── embeddings_ICPEs.npy           # Embeddings des arrêtés labelisés
    └── embeddings_all_ICPEs.npy       # Embeddings complets

src/
├── embeddings/        # Génération d'embeddings
├── features/          # Extraction de features
├── models/            # Classifieurs et clustering
├── evaluation/        # Métriques d'évaluation
└── pipeline.py        # extraction de features vectorizés à partir de texte (TF-IDF)

notebooks/
├── 01_experiment_tabular_xgb.ipynb    # Binaire tabulaire
├── 02_camembert_supervised.ipynb      # multiclass supervisé
└── 03_camembert_unsupervised.ipynb    # multiclass non supervisé

Le fichier ZIP contenant les fichiers HTML de tous les arrêtés étant assez volumineux, il n'est pas inclu dans le repo mais peut être téléchargé en cliquant sur ce lien. Il devra être placé à l'endroit indiqué dans la structure ci dessus pour reproduire toutes les expériences

Dépendances

pip install -r requirements.txt

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages