Spaces:
Sleeping
Sleeping
| # Script de Prétraitement et Génération d'Embeddings | |
| ## 📋 **Vue d'ensemble** | |
| Le script `preprocess_titlecat_titledate_embeddings.py` est un pipeline de prétraitement qui génère les embeddings nécessaires au fonctionnement du système MCP. Il traite deux types de données : | |
| - **📚 Documents Juridiques** : Génère des embeddings basés sur le titre + catégorie des documents | |
| - **🏛️ Transcriptions Parlementaires** : Génère des embeddings basés sur le titre + date des transcriptions | |
| ## 🔧 **Fonctionnement du Script** | |
| ### **Étape 1 : Documents Juridiques (title+category)** | |
| ```python | |
| preprocess_and_save_documents() | |
| ``` | |
| **Fichier source** : `dataset/documents.csv` | |
| **Données traitées** : | |
| - `Nom du document` + `Catégorie` | |
| - Métadonnées : ID, Nom, Lien, Catégorie, Langue | |
| **Fichiers générés** : | |
| - `output/title_cat_embeddings.npy` : Embeddings des documents | |
| - `output/title_cat_metadatas.json` : Métadonnées structurées | |
| ### **Étape 2 : Transcriptions Parlementaires (title+date)** | |
| ```python | |
| preprocess_and_save_parlement() | |
| ``` | |
| **Fichier source** : `data/youtube/raw/parlement_transcript.csv` | |
| **Données traitées** : | |
| - `titre` + `date` | |
| - Métadonnées : ID, titre, date, langue, lien | |
| **Fichiers générés** : | |
| - `output/parlement_titledate_embeddings.npy` : Embeddings des transcriptions | |
| - `output/parlement_titledate_metadatas.json` : Métadonnées structurées | |
| ## 🎯 **Modèle d'Embedding Utilisé** | |
| - **Modèle** : `paraphrase-multilingual-mpnet-base-v2` | |
| - **Caractéristiques** : Multilingue (français, arabe) | |
| ## 📊 **Logging et Traçabilité** | |
| Le script génère des logs détaillés dans : | |
| ``` | |
| logs/preprocess_titlecat_titledate_embeddings.log | |
| ``` | |
| **Format des logs** : | |
| ``` | |
| 2024-01-15 10:30:00 - INFO - 1/2 Starting preprocessing and embedding for documents (title+category). | |
| 2024-01-15 10:32:15 - INFO - 2/2 Starting preprocessing and embedding for parliament transcripts (title+date). | |
| 2024-01-15 10:34:30 - INFO - Preprocessing and embedding completed. | |
| ``` | |
| ## 🚀 **Exécution** | |
| ### **Prérequis** | |
| - Fichier `dataset/documents.csv` avec les documents juridiques | |
| - Fichier `data/youtube/raw/parlement_transcript.csv` avec les transcriptions | |
| - Modèle SentenceTransformer installé | |
| ### **Commande d'exécution** | |
| ```bash | |
| python scripts/preprocess_titlecat_titledate_embeddings.py | |
| ``` | |
| ### **Sortie attendue** | |
| ``` | |
| Saved 150 embeddings and metadatas. | |
| Saved 75 parlement embeddings and metadatas (sans sous-titre). | |
| ``` | |
| ## 📁 **Structure des Fichiers Générés** | |
| ### **Documents Juridiques** | |
| ```json | |
| [ | |
| { | |
| "Nom du document": "Code pénal", | |
| "Lien": "https://adala.justice.gov.ma/...", | |
| "Catégorie": "Codes", | |
| "Langue": "fr", | |
| "Id": "1" | |
| } | |
| ] | |
| ``` | |
| ### **Transcriptions Parlementaires** | |
| ```json | |
| [ | |
| { | |
| "id": "1", | |
| "titre": "Débat sur l'éducation", | |
| "date": "2024-01-15", | |
| "langue": "fr", | |
| "lien": "https://youtube.com/..." | |
| } | |
| ] | |
| ``` | |
| ## 🔄 **Intégration avec le Pipeline MCP** | |
| Ce script doit être exécuté **avant** d'utiliser le pipeline MCP : | |
| 1. Exécuter ce script pour générer les embeddings | |
| 2. Lancer le pipeline MCP qui utilisera ces embeddings | |
| ## 🛠️ **Dépannage** | |
| ### **Erreur courante : Fichier CSV manquant** | |
| ``` | |
| FileNotFoundError: [Errno 2] No such file or directory: 'dataset/documents.csv' | |
| ``` | |
| **Solution** : Vérifier que les fichiers CSV sources existent | |
| ### **Erreur courante : Modèle non trouvé** | |
| ``` | |
| OSError: Model paraphrase-multilingual-mpnet-base-v2 not found | |
| ``` | |
| **Solution** : Installer SentenceTransformer et télécharger le modèle |