La Taxe des Faux Positifs sur les Outils de Détection DCP
Mis à jour pour 2026
La plupart des outils DCP sont évalués sur le rappel. Le rappel mesure quelle part des DCP réelles l'outil détecte. Mais la précision est tout aussi importante. Elle mesure quelle part des alertes de l'outil correspond à de vraies DCP.
Une faible précision est coûteuse. Un système avec 95 % de rappel et 22,7 % de précision détecte la plupart des DCP. Mais pour chaque entité DCP réelle signalée, il génère aussi 3,4 fausses alertes. Dans un jeu de données contenant 10 000 entités DCP réelles, ce système produit environ 44 000 alertes. Environ 34 000 d'entre elles sont fausses. Chacune coûte du temps de révision ou cause une sur-caviardage.
C'est la taxe des faux positifs. C'est le coût que toute équipe paie en faisant tourner un système DCP à fort rappel et faible précision à l'échelle de la production. Le coût direct est le temps des réviseurs. Le coût indirect est pire : les documents trop caviardés cachent des données utiles, ralentissent le travail et érodent la confiance dans l'outil.
Ce que montre la discussion Presidio #1071
La discussion GitHub #1071 de Microsoft Presidio (2024) documente un modèle précis. Les reconnaisseurs TFN (Tax File Number) et PCI utilisent la validation par somme de contrôle. Les nombres qui passent la somme de contrôle reçoivent un score de 1,0 — confiance maximale. Aucun contexte DCP n'est requis.
La cause racine : la vérification des mots contextuels s'exécute après l'étape de somme de contrôle, pas avant. Un nombre qui passe la somme de contrôle obtient un score maximal indépendamment du texte environnant. Dans les feuilles de calcul financières, les ensembles de données scientifiques ou les fichiers journaux, cela inonde la sortie de fausses alertes. Le filtrage par seuil de score ne peut pas corriger cela. Les scores sont déjà au maximum.
Un second modèle apparaît dans le problème Presidio #999. La segmentation des mots allemands échoue pour les noms composés. Des mots comme Bundesbehörde (autorité fédérale) peuvent être segmentés incorrectement et étiquetés comme noms propres. Cela ajoute du bruit dans tout document en langue allemande.
Le problème des 22,7 % de précision
Alvaro et al. (2024) ont testé Presidio avec les paramètres par défaut sur des ensembles de données d'entreprise multilingues. Ils ont trouvé 22,7 % de précision. Dans les documents réels, moins d'une alerte Presidio sur quatre correspond à une vraie entité DCP. Cela correspond aux retours des praticiens. Un outil optimisé pour le rappel seul produit trop de bruit pour une utilisation en production.
Une étude DICOM de 2024 a montré que l'élévation du score_threshold à 0,7 laissait encore de fausses alertes dans 38 des 39 images médicales. Un seuil qui élimine le bruit pour un type de document crée des détections manquées dans un autre.
Ce n'est pas un problème spécifique à Presidio. Tout seuil fixe impose un compromis. Un seuil élevé réduit le bruit mais augmente les manques. Un seuil bas augmente le rappel mais gonfle la file d'attente des alertes.
Le scoring contextuel
La solution est le scoring de confiance contextuel. Au lieu de scorer uniquement sur la base du motif détecté, le système augmente la confiance quand des mots contextuels apparaissent près de la correspondance. Il réduit aussi le score quand le contexte est absent.
Pour la détection TFN : des mots comme "tax file number," "TFN" ou "Australian tax" près d'un nombre augmentent son score. Un nombre qui passe la somme de contrôle mais n'a pas de mots contextuels proches reçoit un score en dessous du seuil de révision. La fausse alerte est supprimée.
Pour le bruit interlinguistique : les types d'entités liés à des pays spécifiques peuvent être limités aux documents dans la langue correspondante. Un détecteur TFN limité aux textes anglais et australiens-anglais élimine le bruit. L'appliquer sur du contenu allemand sans cette restriction est la source du problème.
La troisième couche d'un système hybride est un modèle transformer. Il lit la fenêtre de contexte complète autour de chaque candidat. Il distingue "John Smith, Patient ID 12345" d'un code produit qui correspond à un motif de nom. Le contexte résout l'ambiguïté que les regex et les sommes de contrôle ne peuvent pas résoudre.
Découvrez comment le moteur de détection à trois niveaux gère la précision à grande échelle. Le guide de détection DCP multilingue explique comment le bruit interlinguistique affecte la conformité RGPD.
Étapes pratiques
Avant de déployer tout outil DCP, mesurez sa précision — pas seulement son rappel.
Faites tourner l'outil sur un ensemble de documents avec DCP connues et non-DCP connues. Comptez les alertes dans les deux groupes. Calculez true_positives / (true_positives + false_positives). Ce nombre révèle la charge de révision avant de vous engager dans un déploiement.
Pour les équipes utilisant déjà Presidio, l'analyse de la distribution des scores est un raccourci. Exportez un échantillon de détections avec leurs scores de confiance. Comptez combien sont en dessous de 0,6, 0,7 et 0,8. Une forte proportion d'alertes à score élevé dans du texte propre signale un manque de contexte, pas un problème de seuil. La vue d'ensemble de la conformité sécurité explique comment documenter cette analyse dans une AIPD.
Sources
- Discussion GitHub Microsoft Presidio #1071 : faux positifs systématiques.
- Problème GitHub Microsoft Presidio #999 : faux positifs en langue allemande.
- Alvaro et al. (2024) : précision de Presidio sur des données d'entreprise multilingues.
- Analyse du seuil de score DICOM — communauté Microsoft Presidio.