Reconnaître les entités contenant des informations d’identification personnelle

Effectué

La détection des informations d’identification personnelle est une fonctionnalité proposée par Azure AI Language. Elle permet d’identifier, de catégoriser et d’expurger les informations d’identification personnelle dans un texte non structuré. Les informations d’identification personnelle incluent les adresses e-mail, les numéros de téléphone, les informations de paiement, etc.

Il existe plusieurs façons d’appeler l’API de détection d’informations d’identification personnelle. Ici, vous utilisez l’extension azure_ai pour traiter les informations d’identification personnelle présentes dans le texte des requêtes SQL.

Prérequis

Vous avez besoin d’une instance d’Azure Database pour PostgreSQL - Serveur flexible, avec l’extension azure_ai activée et configurée. Vous devez également l’autoriser auprès d’Azure Cognitive Services en définissant la clé et le point de terminaison d’une ressource Language.

Scénarios

Utilisez la détection d’informations d’identification personnelle pour plusieurs applications, notamment :

  • Étiquettes de confidentialité : Catégorisez les documents ou les e-mails par ordre de confidentialité en fonction des types d’informations d’identification personnelle. Un texte contenant des numéros de téléphone peut être marqué comme étant confidentiel, alors que les numéros de carte de crédit ou de compte bancaire doivent être étiquetés comme étant hautement secrets.
  • Expurgation dans le cadre du support et des tâches opérationnelles : De nombreuses tâches opérationnelles, par exemple le triage des incidents ou le routage du support, ne nécessitent pas d’informations personnelles. Les entreprises peuvent expurger les informations d’identification personnelle pour filtrer les informations client qui ne sont pas nécessaires à la tâche d’un employé.
  • Réduction des informations personnelles pour atténuer les biais inconscients : Une entreprise peut supprimer les noms, adresses et autres informations pour atténuer les biais inconscients liés au genre ou à d’autres aspects.

Détection des informations d’identification personnelle dans le code SQL avec Azure Cognitive Services

L’extension azure_ai d’Azure Database pour PostgreSQL - Serveur flexible fournit des fonctions définies par l’utilisateur pour accéder aux fonctionnalités IA directement à partir du code SQL. L’API de détection d’informations d’identification personnelle est accessible via la fonction azure_cognitive.recognize_pii_entities fournie par azure_ai :

azure_cognitive.recognize_pii_entities(
 text text,
 language text,
 timeout_ms integer DEFAULT 3600000,
 throw_on_error boolean DEFAULT true,
 domain text DEFAULT 'none'::text,
 disable_service_logs boolean DEFAULT false
)

Les paramètres obligatoires sont text, l’entrée, et language, la langue dans laquelle text est écrit. Par exemple, en-us correspond à l’anglais américain, et fr au français. Consultez prise en charge linguistique pour obtenir la liste complète des langues disponibles.

Par défaut, la reconnaissance d’entité est arrêtée si elle n’est pas terminée au bout de 3 600 000 ms = 1 heure. Vous pouvez personnaliser ce délai en changeant timeout_ms.

Si une erreur se produit, le comportement par défaut consiste à lever une exception, ce qui entraîne une restauration de transaction. Vous pouvez désactiver ce comportement en affectant la valeur false à throw_on_error.

Le paramètre domain peut être utilisé pour personnaliser le genre de données personnelles identifiées. Pour le moment, le paramètre par défaut none utilise les informations d’identification personnelle générales, et le domaine phi identifie les informations médicales personnelles.

Consultez la documentation de l’extension Azure Cognitive Services pour obtenir une documentation complète sur les paramètres.

Par exemple, l’appel de cette requête :

SELECT azure_cognitive.recognize_pii_entities('My phone number is +1555555555, and the address of my office is 16255 NE 36th Way, Redmond, WA 98052.', 'en-us');

Donne ce résultat :

("My phone number is ***********, and the address of my office is ************************************.","{""(+1555555555,PhoneNumber,\\""\\"",0.8)"",""(\\""16255 NE 36th Way, Redmond, WA 98052\\"",Address,\\""\\"",1)""}")

Le service d’informations d’identification personnelle a détecté le numéro de téléphone avec un score de confiance de 0,8, et l’adresse avec un score de confiance de 1. Il a également retourné l’entrée après avoir expurgé les deux points de données relatifs aux informations d’identification personnelle.

Vous pouvez utiliser des colonnes de table pour le texte d’entrée :

SELECT description, azure_cognitive.recognize_pii_entities(description, 'en-us')
FROM listings LIMIT 1;

Qui retourne (avec \x activé pour l’affichage étendu) :

recognize_pii_entities | ("New modern house built in 2013. Spectacular sunset/water views, light, rooftop deck and lounge area, hot tub, 5 bedrooms, gourmet kitchen. Perfect for 2-3 families, walk to downtown. Located in highly desirable Queen Anne neighborhood. Our house is modern, light and fresh with a warm simple palette accented with barnwood, steel and concrete. Open living spaces for entertaining, gourmet kitchen, deck off the kitchen, reading nook, half bath and smaller tv room off kitchen. Fireplace with sofa and sitting area. Basement room is great for ****...this room has patio access and a garage door that opens into the space with basketball hoop right outside. A queen bedroom and full bath are in the basement with concrete heated floors. A queen sleeper sofa is in the tv area in the basement. This room has a door if privacy is needed. Great for a second ****** with ****. The 2nd floor has 4 bedrooms (one queen in master, one twin bedroom, another bedroom has twin bunk beds and the last","{""(kids,PersonType,\\""\\"",0.73)"",""(family,PersonType,\\""\\"",0.71)"",""(kids,PersonType,\\""\\"",0.65)""}")

Résumé

La détection d’informations d’identification personnelle permet d’identifier et de catégoriser les informations d’identification personnelle dans du texte d’entrée non structuré. Le modèle de langage d’Azure Cognitive Services fait le gros du travail. L’extension azure_ai d’Azure Database pour PostgreSQL fournit l’API azure_cognitive.recognize_pii_entities afin de détecter et d’expurger les informations d’identification personnelle directement dans les requêtes SQL.