Riconoscere le entità di informazioni personali

Completato

Il rilevamento delle informazioni personali è una funzionalità offerta da Azure Language. Identifica, classifica e redatta le informazioni personali (PII) in testo non strutturato. Le informazioni personali includono indirizzi di posta elettronica, numeri di telefono, informazioni di pagamento e così via.

Esistono diversi modi per chiamare l'API di rilevamento delle informazioni personali. In questo caso si usa l'estensione azure_ai per elaborare le informazioni personali dal testo nelle query SQL.

Prerequisiti

È necessario un server flessibile di Database di Azure per PostgreSQL, con l'estensione azure_aiabilitata e configurata. È anche necessario autorizzarla con Servizi cognitivi di Azure impostando la chiave e l'endpoint di una risorsa di linguaggio.

Scenari

Utilizzare il rilevamento dei dati personali identificativi per diverse applicazioni, tra cui:

  • Etichette di riservatezza: classificare documenti o messaggi di posta elettronica in base ai tipi di informazioni personali. Il testo contenente numeri di telefono potrebbe essere contrassegnato come riservato, mentre i numeri di carta di credito o conto corrente bancario verrebbero etichettati come segreti elevati.
  • Ridistribuzione per il supporto e le operazioni: Molte attività operative, ad esempio la valutazione degli eventi imprevisti o il routing del supporto, non richiedono informazioni personali. Le aziende possono usare l'anonimizzazione delle informazioni personali per filtrare le informazioni dei clienti non necessarie per l'attività di un dipendente.
  • Ridurre le informazioni personali per ridurre i pregiudizi inconsci: un'azienda potrebbe rimuovere nomi, indirizzi e altre informazioni per attenuare il sesso inconscio o altri pregiudizi.

Rilevamento delle informazioni personali in SQL con Servizi cognitivi di Azure

Il server flessibile di Database di Azure per PostgreSQL azure_ai estensione fornisce funzioni definite dall'utente (UDF) per accedere direttamente alle funzionalità di intelligenza artificiale dall'interno di SQL. L'API di rilevamento delle informazioni personali è accessibile con la azure_cognitive.recognize_pii_entities funzione fornita da 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
)

I parametri obbligatori sono text, l'input e language, la lingua in cui viene scritto .text Ad esempio, en-us è inglese degli Stati Uniti e fr è francese. Per l'elenco completo delle lingue disponibili, vedere supporto per la lingua .

Per impostazione predefinita, il riconoscimento delle entità viene arrestato se non termina in 3.600.000 ms = 1 ora. È possibile personalizzare questo ritardo modificando timeout_ms.

Se si verifica un errore, il comportamento predefinito consiste nel generare un'eccezione, generando un rollback delle transazioni. È possibile disabilitare questo comportamento impostando su throw_on_error false.

Il domain parametro può essere usato per personalizzare il tipo di dati personali identificati. Attualmente, l'impostazione predefinita none usa informazioni personali generali e il dominio phi identifica le informazioni sanitarie personali.

Per la documentazione completa dei parametri, vedere la documentazione dell'estensione Servizi cognitivi di Azure .

Ad esempio, richiamare questa query:

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');

Restituisce questo risultato:

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

Il servizio PII ha rilevato il numero di telefono con un punteggio di attendibilità pari a 0,8 e l'indirizzo con un punteggio di attendibilità pari a 1. Ha restituito anche l'input con i due punti dati PII elaborati.

È possibile usare colonne di tabella per il testo di input:

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

Cosa restituisce (con \x abilitato per la visualizzazione estesa):

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)""}")

Riassunto

Il rilevamento delle informazioni personali identifica e classifica le informazioni personali nel testo di input non strutturato. Il modello linguistico di Servizi cognitivi di Azure svolge il compito più gravoso, e l'estensione azure_ai per Database di Azure per PostgreSQL fornisce l'API azure_cognitive.recognize_pii_entities per rilevare e redigere le informazioni personali direttamente all'interno delle query SQL.