Commit Graph

10 Commits

Author SHA1 Message Date
f92da4d54e fix: Propagation globale sélective v2 - Normalisation dates + Multi-pass
- Normalisation agressive des dates : génère 4 variations (/, ., -, espaces)
- Remplacement multi-pass : avec/sans contexte 'Né(e) le'
- Amélioration force_term : case-insensitive + word boundaries
- Outil de validation post-anonymisation
- Tests : 162 CRO, 0 fuite dates, 0 fuite CHCB (100% succès)
- Temps: 0.1s/doc

Résout les 36 CRO avec fuites identifiées dans l'audit initial.
2026-03-02 12:22:58 +01:00
6806aee587 feat: Filtre hospitalier pour éliminer les faux positifs
- Ajout config/hospital_stopwords.yml avec adresses/téléphones hôpitaux
- Ajout detectors/hospital_filter.py pour filtrer les FP
- Intégration dans anonymizer_core_refactored_onnx.py
- Test sur document: 40 -> 32 détections (-8 FP)
- Élimine: adresses hôpitaux, codes postaux CEDEX, épisodes dans noms de fichiers
2026-03-02 11:21:48 +01:00
70ff0b9e12 feat: Désactivation NOM_EXTRACTED et *_GLOBAL - Précision 18.97% → 88.27% (+69.3pts) 2026-03-02 11:15:43 +01:00
dfa45041d7 feat: Analyse propagation globale - 100% des *_GLOBAL et NOM_EXTRACTED sont des FP 2026-03-02 11:01:14 +01:00
4eba826ca5 feat: Analyse baseline - 77.7% FP dus à NOM_EXTRACTED, 19.2% à propagation globale 2026-03-02 10:59:10 +01:00
0ba5424eb0 feat: Annotation automatique et évaluation qualité baseline - Rappel 100%, Précision 18.97% 2026-03-02 10:51:38 +01:00
99b6e7f1d1 docs: Rapport détaillé des résultats baseline 2026-03-02 10:42:53 +01:00
30a6ebcc19 feat: Benchmark de performance baseline - 2.62s/doc moyen, 92% dans objectif 2026-03-02 10:42:15 +01:00
f61e767ee6 demo: Test d'anonymisation sur document réel
- Test sur 003_simple_compte_rendu_CRO_23155084.pdf
- 25 PII détectés (4 sur page principale + propagation globale)
- Types: NOM, ADRESSE, CODE_POSTAL, DATE_NAISSANCE
- Validation: AUCUNE FUITE détectée ✓
- Scripts d'analyse: analyze_anonymization_result.py, demo_complete_anonymization.py
- Résultats dans tests/ground_truth/pdfs/anonymized_test/
2026-03-02 10:19:55 +01:00
340348b820 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
2026-03-02 10:07:41 +01:00