- 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
Spec : Optimisation de la Qualité d'Anonymisation
Vue d'Ensemble
Cette spécification détaille le projet d'optimisation de la qualité d'anonymisation du système de pseudonymisation de documents PDF médicaux.
Objectif : Atteindre un équilibre optimal entre rappel (détection des PII) et précision (éviter les faux positifs) pour garantir la conformité RGPD tout en préservant la lisibilité médicale.
Métriques Cibles
- Rappel : ≥ 99.5% (maximum 0.5% de PII manqués)
- Précision : ≥ 97% (maximum 3% de faux positifs)
- F1-Score : ≥ 0.98
- Temps de traitement : < 30 secondes par PDF
Corpus de Travail
- Source : 59 dossiers OGC dans
/home/dom/Téléchargements/II-1 Ctrl_T2A_2025_CHCB_DocJustificatifs (1)/ - Sortie existante : 130 fichiers anonymisés + audits dans
anonymise/ - Dataset de test : 30 documents annotés manuellement (à créer)
Contraintes
- ✅ Utilisation de documents réels uniquement (pas de mocks)
- ✅ CPU uniquement (pas de GPU)
- ✅ RAM limitée (< 4 GB par processus)
- ✅ Conformité RGPD stricte
Structure de la Spec
- requirements.md : Exigences fonctionnelles et non-fonctionnelles
- design.md : Architecture technique et composants détaillés
- tasks.md : Plan d'implémentation en 4 phases
Phases du Projet
Phase 1 : Mesure et Baseline (2 semaines)
- Création du dataset de test annoté (30 documents)
- Implémentation du système d'évaluation
- Mesure des performances actuelles
Phase 2 : Amélioration de la Détection (3 semaines)
- Amélioration des regex (téléphones, emails, adresses, NIR)
- Implémentation de la détection contextuelle
- Approche hybride multi-détecteurs
Phase 3 : Validation et Reporting (1 semaine)
- Validation post-anonymisation
- Génération de rapports de qualité
- Tests de régression automatiques
Phase 4 : Documentation et Finalisation (3 jours)
- Documentation complète
- Validation finale sur corpus complet
- Livrables
Livrables Attendus
- Dataset de test annoté (30+ documents)
- Système d'évaluation automatique
- Détecteurs améliorés (regex + contextuel + hybride)
- Suite de tests de régression
- Rapports de qualité (HTML + JSON)
- Documentation (guides + API)
- Métriques baseline et finales
Démarrage Rapide
Prérequis
# Installer les dépendances
pip install pytest pytest-cov pydantic structlog jinja2 matplotlib
# Créer les répertoires
mkdir -p tests/ground_truth
mkdir -p reports/quality
Étape 1 : Créer le Dataset Annoté
# Sélectionner 30 documents représentatifs
python tools/select_test_documents.py \
--source "/home/dom/Téléchargements/II-1 Ctrl_T2A_2025_CHCB_DocJustificatifs (1)/" \
--output tests/ground_truth/ \
--count 30
# Annoter les documents
python tools/annotation_tool.py tests/ground_truth/
Étape 2 : Mesurer la Baseline
# Évaluer le système actuel
python evaluation/quality_evaluator.py \
--ground-truth tests/ground_truth/ \
--output reports/baseline_report.html
# Benchmarker les performances
python evaluation/benchmark.py \
--test-dir tests/ground_truth/ \
--output reports/baseline_benchmark.json
Étape 3 : Implémenter les Améliorations
Suivre les tâches dans tasks.md phase par phase.
Étape 4 : Valider
# Tests de régression
pytest tests/regression/ --benchmark
# Validation sur corpus complet
python scripts/validate_full_corpus.py \
--source "/home/dom/Téléchargements/II-1 Ctrl_T2A_2025_CHCB_DocJustificatifs (1)/" \
--output reports/final_validation.html
Ressources
- Documentation :
docs/ - Tests :
tests/ - Configuration :
config/quality_config.yml - Rapports :
reports/
Contact
Pour toute question sur cette spécification, consulter les documents détaillés :
requirements.mdpour les exigencesdesign.mdpour l'architecturetasks.mdpour le plan d'implémentation
Statut
- Requirements définis
- Design validé
- Tasks planifiées
- Implémentation en cours
- Tests validés
- Documentation complète
- Livraison finale
Version : 1.0.0
Date de création : 2024-01-15
Dernière mise à jour : 2024-01-15