classification discussions catégorisation inference camembert NLP fr license:mit region:us
---
license: mit
language:
- fr
tags:
- classification
- discussions
- catégorisation
- inference
- camembert
- NLP
base-model:
- camembert-base
---
# Model Card for Model ID

## Model Details

### Model Description

- **Developed by:** Asma RACHIDI (BercyHub)
- **Model type:** Classification de Texte (Basé sur Camembert)
- **Language(s) (NLP):** Français FR
- **License:** MIT
- **Finetuned from model:** camembert-base

### Model Sources [optional]

<!-- Provide the basic links for the model. -->

- **Repository:** [More Information Needed]

## Uses

<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->

### Direct Use

Les utilisateurs peuvent utiliser directement le modèle pour des tâches de classification de texte, telles que la catégorisation de discussions basée sur les titres et les messages.

### Recommendations

<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->

Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.

## How to Get Started with the Model
1) Télécharger et installer le fichier requirements.txt pour les dépendances.
   > ```pip install -r requirements.txt```
3) Télécharger les fichiers de poids contenu dans les dossiers .zip du modèle pré-entraîné pour la classification des commentaires.
4) Télécharger et installer le fichier requirements.txt pour les dépendances
5) Télécharger le fichier inference_script.py pour effectuer des prédictions avec le modèle pré-entraîné.
6) Télécharger le fichier avec les données d'entrées à prédire

## Training Details

### Training Data

Le modèle a été entraîné sur un jeu de données annoté manuellement par Datactivist en 2021 sur un échantillon de discussions. 
Le jeu de données annoté manuellement est disponible sur data.gouv.fr :  
https://www.data.gouv.fr/fr/datasets/annotation-des-discussions-publiees-sur-data-gouv-fr/#/resources
(voir fichier : "discussions-annotations-public-.csv")

### Training Procedure 

<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->

#### Preprocessing [optional]

Le script effectue diverses étapes de prétraitement, notamment la gestion des valeurs manquantes, la combinaison du titre et du message, et le nettoyage des données textuelles.

#### Training Hyperparameters

Modèle 1 - Catégories :
- Batch Size : 16
- Nombre d'Époques : 5
- learning_rate=3e-5
- weight_decay=0.01
- optimizer = AdamW
  
Modèle 2 - Sous-catégories :
- Taille des lots (Batch Size) : 16
- Nombre d'Époques : 10
- learning_rate=3e-5
- weight_decay=0.01
- optimizer = AdamW

## Evaluation

<!-- This section describes the evaluation protocols and provides the results. -->

### Testing Data, Factors & Metrics

#### Testing Data

<!-- This should link to a Dataset Card if possible. -->

Le modèle a été évalué, premièrement sur un ensemble de données de test dérivé du jeu de données des discussions annotées par datactivist représentant 20% de l'ensemble de données total. 
Et deuxièmement sur un jeu de données du catalogue des discussions de data.gouv.fr (non-annoté):
https://www.data.gouv.fr/fr/datasets/catalogue-des-donnees-de-data-gouv-fr/

#### Metrics

- Accuracy
- Recall
- Precision
- F1-score

### Results

Le modèle a obtenu des performances compétitives sur l'ensemble de test.

Modèle 1 - Catégories :
- Accuracy : 72 %
- Recall : 72%
- Precision : 71%
- F1-score : 72%
  
Modèle 2 - Sous-catégories :
- Accuracy : 74%
- Recall : 74%
- Precision : 70%
- F1-score : 71%

Cependant, les données d'entraînement comportent un très grand déséquilibre entre les classes, ce qui abaisse les performances au niveau des classes sous-représentées. 
Ce désequilibre induit un certains biais entre les classes.
  
#### Summary



### Model Architecture and Objective

Le notebook .ipynb a pour but la création, l'entraînement et l'évaluation du modèle. 
Ce script comprend les étapes suivantes :
- Chargement et prétraitement du jeu de données annoté manuellement par Datactivist.
- Création d'un modèle Camembert et d'un tokenizer.
- Entraînement du premier modèle pour prédire les catégories.
- Évaluation des performances du premier modèle (catégories)
- Prétraitement des données pour le deuxième modèle, concaténation avec les prédictions du premier modèle.
- Entraînement du deuxième modèle pour prédire les sous-catégories.
- Évaluation des performances du deuxième modèle (sous-catégories).

L'architecture du modèle est basée sur Camembert et est conçue pour la classification de texte. 
L'objectif principal est de catégoriser les discussions dans des classes prédéfinies.
Le premier modèle classifie sur 6 catégories et le second modèle sur 26 sous-catégories.
Et chaque catégorie comporte plusieurs sous-catégories d'appartenances mais le modèle ne prédit que des catégories et sous-catégories d'appartenances uniques.

## Model Card Authors

Asma RACHIDI (BercyHub)

## Model Card Contact

asma.rachidi@finances.gouv.fr