Règles d'Anonymisation
Les règles d'anonymisation sont les composants essentiels qui définissent quelles informations sensibles détecter et comment les masquer. L'API prend en charge deux types principaux de règles : Règles à Motifs Regex et Règles à Modèles d'IA.
Vue d'Ensemble des Types de Règles
| Type de Règle | Meilleur Pour | Vitesse de Traitement | Précision | Personnalisation |
|---|---|---|---|---|
| Regex | Motifs connus, données structurées | ⚡ Rapide | 🎯 Élevée pour les motifs | 🔧 Hautement personnalisable |
| Modèle d'IA | Noms, entités, sensible au contexte | 🐌 Plus lent | 🧠 Élevée pour les entités | 🔒 Dépendant du modèle |
Règles à Motifs Regex
Les règles Regex utilisent des expressions régulières pour identifier et anonymiser les données basées sur des motifs spécifiques. Elles sont parfaites pour les données structurées comme les emails, numéros de téléphone, identifiants et autres formats prévisibles.
Créer des Règles Regex
curl -X POST "https://your-api-domain.com/api/rules/" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Anonymiseur d\'Email",
"description": "Anonymise les adresses email",
"type": "REGEX",
"config": {
"regexRuleConfig": {
"pattern": "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b"
}
}
}'
Motifs Regex Courants
Adresses Email
Numéros de Téléphone (International)
Cartes de Crédit (Basique)
Numéros de Sécurité Sociale (US)
Adresses IP
URLs
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
Exemples Regex Avancés
Numéros de Téléphone Français
{
"name": "Numéros de Téléphone Français",
"type": "REGEX",
"config": {
"regexRuleConfig": {
"pattern": "0[1-9](?:[0-9]{8})"
}
}
}
Numéros de Téléphone Béninois
{
"name": "Numéros de Téléphone Béninois",
"type": "REGEX",
"config": {
"regexRuleConfig": {
"pattern": "(?:\\+229|00229)?[0-9]{8}"
}
}
}
Plaques d'Immatriculation (Générique)
{
"name": "Plaques d'Immatriculation",
"type": "REGEX",
"config": {
"regexRuleConfig": {
"pattern": "\\b[A-Z]{1,3}[0-9]{1,4}[A-Z]{0,3}\\b"
}
}
}
Règles à Modèles d'IA (GLiNER)
Les règles à modèles d'IA exploitent la puissance du modèle GLiNER (Generalist and Lightweight Named Entity Recognition), spécifiquement affiné pour détecter les noms béninois et les villes. Cette approche est idéale pour la reconnaissance d'entités sensible au contexte.
Caractéristiques du Modèle GLiNER
- Affiné sur des Données Béninoises : Spécifiquement entraîné pour reconnaître les noms locaux et les lieux géographiques
- Sensible au Contexte : Comprend le contexte pour réduire les faux positifs
- Support Multi-langues : Gère les contextes en français et en langues locales
- Haute Précision : Entraîné sur des ensembles de données complets d'entités béninoises
Créer des Règles à Modèles d'IA
curl -X POST "https://your-api-domain.com/api/rules/" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Détecteur de Noms Béninois",
"description": "Détecte les noms personnels béninois en utilisant GLiNER affiné",
"type": "AIMODEL",
"config": {
"aiModelRuleConfig": {
"modelId": "gliner-beninese-names",
"modelVersion": "v1.0",
"modelParameters": {
"confidence_threshold": 0.8,
"max_sequence_length": 512,
"batch_size": 16
}
}
}
}'
Types d'Entités Pris en Charge
Le modèle GLiNER peut détecter divers types d'entités:
Noms de Personnes
- Prénoms : Prénoms béninois traditionnels et modernes
- Noms de Famille : Noms de famille et noms de clan courants
- Noms Complets : Combinaisons de noms complets
- Titres : Titres traditionnels et titres honorifiques
Exemples d'entités détectées: - Kossou, Adjovi, Gnonlonfoun, Zannou - Dossou-Yovo, Akpovi, Houngninou - Monsieur Kpohomou, Madame Adjaho
Lieux Géographiques
- Villes : Grandes et petites villes du Bénin
- Communes : Divisions administratives
- Villages : Habitats ruraux
- Quartiers : Districts urbains
Exemples de lieux détectés: - Cotonou, Porto-Novo, Parakou, Abomey - Ouidah, Bohicon, Kandi, Natitingou - Godomey, Akpakpa, Cadjehoun
Paramètres de Configuration du Modèle
| Paramètre | Description | Défaut | Plage |
|---|---|---|---|
confidence_threshold |
Score de confiance minimum pour la détection | 0.8 | 0.0 - 1.0 |
max_sequence_length |
Longueur maximale de texte à traiter | 512 | 128 - 1024 |
batch_size |
Nombre de séquences traitées ensemble | 16 | 1 - 64 |
overlap_threshold |
Seuil pour les entités qui se chevauchent | 0.5 | 0.0 - 1.0 |
Gestion des Règles
Lister Toutes les Règles
curl -X POST "https://your-api-domain.com/api/rules/list" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"skip": 0,
"limit": 10
}'
Obtenir les Détails d'une Règle
curl -X GET "https://your-api-domain.com/api/rules/{rule_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Mettre à Jour une Règle
curl -X PUT "https://your-api-domain.com/api/rules/{rule_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Nom de Règle Mis à Jour",
"description": "Description mise à jour",
"type": "REGEX",
"config": {
"regexRuleConfig": {
"pattern": "nouveau_motif_ici"
}
}
}'
Supprimer une Règle
curl -X DELETE "https://your-api-domain.com/api/rules/{rule_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Bonnes Pratiques
Bonnes Pratiques pour les Règles Regex
Test de Motif
Testez toujours vos motifs regex avec des exemples de données avant de les déployer en production.
Considérations de Performance
Les motifs regex complexes peuvent ralentir le traitement. Optimisez pour à la fois la précision et la vitesse.
# Bon: Spécifique et efficace
r'\b\d{3}-\d{2}-\d{4}\b' # Motif de numéro de sécurité sociale
# À éviter: Trop large et lent
r'.*\d.*' # Correspond à toute chaîne contenant un chiffre
Bonnes Pratiques pour les Règles à Modèles d'IA
Seuils de Confiance
Commencez avec des seuils de confiance plus élevés (0.8-0.9) et ajustez en fonction de vos exigences de précision.
Exigences GPU
Les modèles d'IA nécessitent une accélération GPU pour des performances raisonnables. Assurez-vous d'avoir une mémoire GPU adéquate.
Traitement par batches
Utilisez des tailles de lot appropriées en fonction de votre mémoire GPU: - GPU 8 Go: batch_size = 8-16 - GPU 16 Go: batch_size = 16-32 - GPU 24 Go+: batch_size = 32-64
Combiner des Règles dans les Flux de Travail
Les règles deviennent puissantes lorsqu'elles sont combinées dans des flux de travail. Voici comment créer des stratégies d'anonymisation complètes:
Exemple: Anonymisation Complète de Document
{
"name": "Anonymisation PII Complète",
"supportedAssetType": "DOCUMENT",
"config": {
"rules": [
{
"ruleId": "regle_noms_beninois",
"replacement": {
"text": "[NOM_MASQUÉ]"
}
},
{
"ruleId": "regle_email",
"replacement": {
"text": "[EMAIL_MASQUÉ]"
}
},
{
"ruleId": "regle_telephone",
"replacement": {
"text": "[TÉLÉPHONE_MASQUÉ]"
}
},
{
"ruleId": "regle_lieu",
"replacement": {
"text": "[LIEU_MASQUÉ]"
}
}
]
}
}
Règles Spécifiques aux Tables des Base de données
Pour les données tabulaires, vous pouvez spécifier quelles colonnes appliquer aux règles:
{
"ruleId": "regle_detection_nom",
"tableColumns": ["prenom", "nom", "nom_complet"],
"replacement": {
"text": "[ANONYMISÉ]"
}
}
Performance et Mise à l'Échelle
Temps de Traitement
| Type de Règle | Taille du Document | Temps de Traitement Approximatif |
|---|---|---|
| Regex | 1 Mo | < 1 seconde |
| Regex | 10 Mo | 2-5 secondes |
| Modèle d'IA | 1 Mo | 5-10 secondes |
| Modèle d'IA | 10 Mo | 30-60 secondes |
Conseils d'Optimisation
- Combiner des Motifs Similaires : Utilisez l'alternance dans regex au lieu de multiples règles
- Prétraiter le Texte : Nettoyez et normalisez le texte avant traitement
- Utiliser les Modèles Appropriés : Choisissez la bonne taille de modèle pour vos besoins de précision
- Traitement par Lots : Traitez plusieurs documents ensemble pour une meilleure utilisation du GPU
Dépannage
Problèmes Courants
Erreurs de Motif Regex
Problème: Motif regex invalide Solution: Testez les modèles en utilisant des testeurs regex en ligne avant l'implémentation
Échec de Chargement du Modèle d'IA
Problème: Le modèle ne parvient pas à se charger Solution: Assurez-vous que les pilotes GPU sont installés et qu'il y a suffisamment de mémoire GPU disponible
Faible Précision de Détection
Problème: Entités manquantes ou faux positifs Solution: Ajustez les seuils de confiance ou combinez plusieurs règles
Problèmes de Performance
Traitement Lent
- Vérifiez l'utilisation du GPU avec
nvidia-smi - Réduisez les tailles de lot si vous manquez de mémoire
- Envisagez d'utiliser des modèles plus petits pour un traitement plus rapide
Utilisation Élevée de la Mémoire
- Diminuez le paramètre
max_sequence_length - Traitez les documents en plus petits morceaux
- Utilisez le checkpointing de gradient si disponible