File size: 3,575 Bytes
3107242
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# 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