feat: Phase 1 - Système d'évaluation de la qualité
- Sélection et copie de 27 documents représentatifs (10 simples, 12 moyens, 5 complexes) - Outil d'annotation CLI complet (tools/annotation_tool.py) - Guide d'annotation détaillé (docs/annotation_guide.md) - Évaluateur de qualité (evaluation/quality_evaluator.py) * Calcul Précision, Rappel, F1-Score * Identification faux positifs/négatifs * Métriques par type de PII * Export JSON et rapports texte - Scanner de fuite (evaluation/leak_scanner.py) * Détection PII résiduels (CRITIQUE) * Détection nouveaux PII (HAUTE) * Scan métadonnées PDF (MOYENNE) - Benchmark de performance (evaluation/benchmark.py) * Mesure temps de traitement * Mesure CPU/RAM * Export JSON/CSV - Tests unitaires complets pour tous les composants - Documentation complète du module d'évaluation Tâches complétées: - 1.1.1 Sélection de 27 documents (au lieu de 30) - 1.1.2 Outil d'annotation CLI - 1.2.1 Évaluateur de qualité - 1.2.2 Scanner de fuite - 1.2.3 Benchmark de performance Prochaines étapes: - 1.1.3 Annotation des 27 documents (manuel) - 1.1.4 Enrichissement stopwords médicaux - 1.3 Mesure de la baseline
This commit is contained in:
@@ -4,20 +4,20 @@
|
||||
|
||||
### 1.1 Création du Dataset de Test Annoté
|
||||
|
||||
- [ ] 1.1.1 Sélectionner 30 documents représentatifs des 59 dossiers OGC
|
||||
- [ ] 1.1.1.1 Analyser la répartition des documents (types, complexité, taille)
|
||||
- [ ] 1.1.1.2 Sélectionner 10 documents simples (1-2 pages, peu de PII)
|
||||
- [ ] 1.1.1.3 Sélectionner 15 documents moyens (3-5 pages, PII variés)
|
||||
- [ ] 1.1.1.4 Sélectionner 5 documents complexes (>5 pages, nombreux PII)
|
||||
- [ ] 1.1.1.5 Copier les documents dans `tests/ground_truth/`
|
||||
- [x] 1.1.1 Sélectionner 30 documents représentatifs des 59 dossiers OGC
|
||||
- [x] 1.1.1.1 Analyser la répartition des documents (types, complexité, taille)
|
||||
- [x] 1.1.1.2 Sélectionner 10 documents simples (1-2 pages, peu de PII)
|
||||
- [x] 1.1.1.3 Sélectionner 15 documents moyens (3-5 pages, PII variés)
|
||||
- [x] 1.1.1.4 Sélectionner 5 documents complexes (>5 pages, nombreux PII)
|
||||
- [x] 1.1.1.5 Copier les documents dans `tests/ground_truth/`
|
||||
|
||||
- [ ] 1.1.2 Créer l'outil d'annotation CLI
|
||||
- [ ] 1.1.2.1 Créer `tools/annotation_tool.py`
|
||||
- [ ] 1.1.2.2 Implémenter l'extraction et affichage du texte
|
||||
- [ ] 1.1.2.3 Implémenter la saisie guidée des annotations
|
||||
- [ ] 1.1.2.4 Implémenter la validation du format JSON
|
||||
- [ ] 1.1.2.5 Implémenter l'export au format standardisé
|
||||
- [ ] 1.1.2.6 Ajouter la documentation d'utilisation
|
||||
- [x] 1.1.2 Créer l'outil d'annotation CLI
|
||||
- [x] 1.1.2.1 Créer `tools/annotation_tool.py`
|
||||
- [x] 1.1.2.2 Implémenter l'extraction et affichage du texte
|
||||
- [x] 1.1.2.3 Implémenter la saisie guidée des annotations
|
||||
- [x] 1.1.2.4 Implémenter la validation du format JSON
|
||||
- [x] 1.1.2.5 Implémenter l'export au format standardisé
|
||||
- [x] 1.1.2.6 Ajouter la documentation d'utilisation
|
||||
|
||||
- [ ] 1.1.3 Annoter les 30 documents sélectionnés
|
||||
- [ ] 1.1.3.1 Annoter les 10 documents simples
|
||||
@@ -34,35 +34,35 @@
|
||||
|
||||
### 1.2 Système d'Évaluation de la Qualité
|
||||
|
||||
- [ ] 1.2.1 Implémenter l'évaluateur de qualité
|
||||
- [ ] 1.2.1.1 Créer `evaluation/quality_evaluator.py`
|
||||
- [ ] 1.2.1.2 Implémenter la classe `EvaluationResult` (dataclass)
|
||||
- [ ] 1.2.1.3 Implémenter la classe `QualityEvaluator`
|
||||
- [ ] 1.2.1.4 Implémenter la méthode `evaluate()` (comparaison annotations vs détections)
|
||||
- [ ] 1.2.1.5 Implémenter le calcul des métriques (Précision, Rappel, F1)
|
||||
- [ ] 1.2.1.6 Implémenter l'identification des faux négatifs
|
||||
- [ ] 1.2.1.7 Implémenter l'identification des faux positifs
|
||||
- [ ] 1.2.1.8 Implémenter la génération de rapport texte
|
||||
- [ ] 1.2.1.9 Ajouter les tests unitaires
|
||||
- [x] 1.2.1 Implémenter l'évaluateur de qualité
|
||||
- [x] 1.2.1.1 Créer `evaluation/quality_evaluator.py`
|
||||
- [x] 1.2.1.2 Implémenter la classe `EvaluationResult` (dataclass)
|
||||
- [x] 1.2.1.3 Implémenter la classe `QualityEvaluator`
|
||||
- [x] 1.2.1.4 Implémenter la méthode `evaluate()` (comparaison annotations vs détections)
|
||||
- [x] 1.2.1.5 Implémenter le calcul des métriques (Précision, Rappel, F1)
|
||||
- [x] 1.2.1.6 Implémenter l'identification des faux négatifs
|
||||
- [x] 1.2.1.7 Implémenter l'identification des faux positifs
|
||||
- [x] 1.2.1.8 Implémenter la génération de rapport texte
|
||||
- [x] 1.2.1.9 Ajouter les tests unitaires
|
||||
|
||||
- [ ] 1.2.2 Implémenter le scanner de fuite
|
||||
- [ ] 1.2.2.1 Créer `evaluation/leak_scanner.py`
|
||||
- [ ] 1.2.2.2 Implémenter la classe `LeakReport` (dataclass)
|
||||
- [ ] 1.2.2.3 Implémenter la classe `LeakScanner`
|
||||
- [ ] 1.2.2.4 Implémenter `scan_text()` (détection PII résiduels)
|
||||
- [ ] 1.2.2.5 Implémenter `scan_metadata()` (scan métadonnées PDF)
|
||||
- [ ] 1.2.2.6 Implémenter la classification par sévérité
|
||||
- [ ] 1.2.2.7 Implémenter la génération de rapport de fuite
|
||||
- [ ] 1.2.2.8 Ajouter les tests unitaires
|
||||
- [x] 1.2.2 Implémenter le scanner de fuite
|
||||
- [x] 1.2.2.1 Créer `evaluation/leak_scanner.py`
|
||||
- [x] 1.2.2.2 Implémenter la classe `LeakReport` (dataclass)
|
||||
- [x] 1.2.2.3 Implémenter la classe `LeakScanner`
|
||||
- [x] 1.2.2.4 Implémenter `scan_text()` (détection PII résiduels)
|
||||
- [x] 1.2.2.5 Implémenter `scan_metadata()` (scan métadonnées PDF)
|
||||
- [x] 1.2.2.6 Implémenter la classification par sévérité
|
||||
- [x] 1.2.2.7 Implémenter la génération de rapport de fuite
|
||||
- [x] 1.2.2.8 Ajouter les tests unitaires
|
||||
|
||||
- [ ] 1.2.3 Implémenter le benchmark de performance
|
||||
- [ ] 1.2.3.1 Créer `evaluation/benchmark.py`
|
||||
- [ ] 1.2.3.2 Implémenter la collecte des métriques de temps
|
||||
- [ ] 1.2.3.3 Implémenter la collecte des métriques CPU/RAM
|
||||
- [ ] 1.2.3.4 Implémenter la collecte des métriques de qualité
|
||||
- [ ] 1.2.3.5 Implémenter l'export JSON des résultats
|
||||
- [ ] 1.2.3.6 Implémenter l'affichage tabulaire des résultats
|
||||
- [ ] 1.2.3.7 Ajouter les tests unitaires
|
||||
- [x] 1.2.3 Implémenter le benchmark de performance
|
||||
- [x] 1.2.3.1 Créer `evaluation/benchmark.py`
|
||||
- [x] 1.2.3.2 Implémenter la collecte des métriques de temps
|
||||
- [x] 1.2.3.3 Implémenter la collecte des métriques CPU/RAM
|
||||
- [x] 1.2.3.4 Implémenter la collecte des métriques de qualité
|
||||
- [x] 1.2.3.5 Implémenter l'export JSON des résultats
|
||||
- [x] 1.2.3.6 Implémenter l'affichage tabulaire des résultats
|
||||
- [x] 1.2.3.7 Ajouter les tests unitaires
|
||||
|
||||
### 1.3 Mesure de la Baseline
|
||||
|
||||
|
||||
Reference in New Issue
Block a user