Skip to content

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

\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b

Numéros de Téléphone (International)

\+?[1-9]\d{1,14}

Cartes de Crédit (Basique)

\b(?:\d{4}[-\s]?){3}\d{4}\b

Numéros de Sécurité Sociale (US)

\b\d{3}-?\d{2}-?\d{4}\b

Adresses IP

\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b

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

  1. Combiner des Motifs Similaires : Utilisez l'alternance dans regex au lieu de multiples règles
  2. Prétraiter le Texte : Nettoyez et normalisez le texte avant traitement
  3. Utiliser les Modèles Appropriés : Choisissez la bonne taille de modèle pour vos besoins de précision
  4. 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