Upload folder using huggingface_hub
Browse files- README.md +36 -0
- pro_chronicle_model.joblib +3 -0
README.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Documentation du Modèle de Détection de Chroniques
|
| 2 |
+
|
| 3 |
+
Ce dossier contient le modèle entraîné permettant d'identifier les segments de chroniques dans les transcriptions radio de France Inter.
|
| 4 |
+
|
| 5 |
+
## Architecture du Modèle
|
| 6 |
+
|
| 7 |
+
Le modèle utilise une approche **hybride (Texte + Structure)** basée sur un algorithme de **Random Forest** (Forêt d'arbres décisionnels). Contrairement à un modèle de langue pur qui ne lirait que le texte, ce modèle prend ses décisions en croisant trois types de signaux :
|
| 8 |
+
|
| 9 |
+
### 1. Analyse Textuelle (NLP)
|
| 10 |
+
Nous utilisons une vectorisation **TF-IDF** sur des séquences de 1 à 3 mots (trigrammes).
|
| 11 |
+
- **Contexte élargi** : Le modèle ne regarde pas seulement le segment actuel, mais fusionne le texte des 2 segments précédents et des 2 segments suivants (fenêtre de 5 segments).
|
| 12 |
+
- **Signaux détectés** : Vocabulaire spécifique aux lancements ("Bonjour", "notre invité", "7h50") et thématiques récurrentes.
|
| 13 |
+
|
| 14 |
+
### 2. Caractéristiques Structurelles (Feature Engineering)
|
| 15 |
+
Le modèle reçoit des indicateurs numériques stratégiques extraits par `src/utils.py` :
|
| 16 |
+
- **Position Relative (`rel_pos`)** : La progression dans l'émission (0.0 à 1.0). Les chroniques ont des horaires théoriques fixes.
|
| 17 |
+
- **Détection de Jingle (`has_jingle_now/prev`)** : Présence du tag `[JINGLE]`. C'est le prédicteur le plus fort pour marquer le début ou la fin d'une séquence.
|
| 18 |
+
- **Rythmique (`duration`, `is_very_short`)** : La durée du segment. Les lancements sont souvent courts et denses, les chroniques sont des blocs de texte longs et continus.
|
| 19 |
+
- **Mots-clés discriminants** : Présence de termes comme "METEO", "JOURNAL", "REDACTION" qui servent de balises structurelles.
|
| 20 |
+
|
| 21 |
+
### 3. Stratégie d'Apprentissage
|
| 22 |
+
- **Équilibrage (`class_weight='balanced'`)** : Comme les chroniques ne représentent qu'environ 15% du temps total d'une matinale, le modèle est forcé mathématiquement à accorder plus d'importance aux exemples de chroniques pour ne pas les ignorer au profit du "silence/bruit".
|
| 23 |
+
- **Lissage Temporel (Post-processing)** : Le script de prédiction applique un filtre après le passage du modèle pour combler les trous de détection de moins de 10s et supprimer les détections "fantômes" trop courtes pour être de vraies chroniques.
|
| 24 |
+
|
| 25 |
+
## Fichiers de sortie
|
| 26 |
+
- `pro_chronicle_model.joblib` : Le fichier binaire contenant la pipeline complète (Vectoriseur + Forêt d'arbres).
|
| 27 |
+
|
| 28 |
+
## Limites connues
|
| 29 |
+
Le modèle dépend de la qualité des tags `[JINGLE]` dans la transcription Whisper. Si Whisper manque un jingle, le modèle devra se reposer uniquement sur le texte et l'heure, ce qui peut légèrement décaler le début ou la fin de la chronique de quelques secondes.
|
| 30 |
+
|
| 31 |
+
## Publier le modèle
|
| 32 |
+
Le modèle est publié sur HuggingFace via
|
| 33 |
+
```
|
| 34 |
+
hf upload eglantinefonrose/rlac-audiotranscript-segmenter-chroniques-bert ./models .
|
| 35 |
+
```
|
| 36 |
+
Il est disponible à
|
pro_chronicle_model.joblib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8672997ae77bb90ed04b4310ee7843fc6a423fb8a2c95ad22a97ac5eca278d30
|
| 3 |
+
size 112941730
|