Condividi tramite


Rilevare e oscurare le informazioni di identificazione personale nel testo

La lingua di Azure AI è un servizio basato sul cloud che applica le funzionalità di elaborazione del linguaggio naturale ai dati basati su testo. La funzionalità PII può valutare testo non strutturato, estrarre e redactact sensitive information (PII) e informazioni sull'integrità (PHI) nel testo in diverse categorie predefinite.

Opzioni di sviluppo

Per usare il rilevamento delle informazioni personali, si invia testo non strutturato e non elaborato per l'analisi e si gestisce l'output dell'API nell'applicazione. L'analisi viene eseguita così come è, senza alcuna personalizzazione del modello usato nei dati. Esistono due modi per usare il rilevamento delle informazioni personali:

Opzione di sviluppo Descrizione
Azure AI Foundry Azure AI Foundry è una piattaforma basata sul Web che consente di usare l'identificazione personale delle informazioni con esempi di testo con i propri dati quando si effettua l'iscrizione. Per altre informazioni, vedere il sito Web di Azure AI Foundry o la documentazione di Azure AI Foundry.
API REST o libreria client (SDK di Azure) Integrare il rilevamento delle informazioni personali nelle applicazioni usando l'API REST o la libreria client disponibile in varie lingue. Per altre informazioni, vedere la guida introduttiva al rilevamento delle informazioni personali.

Specificare il modello di rilevamento delle informazioni personali

Per impostazione predefinita, questa funzionalità userà il modello di intelligenza artificiale più recente disponibile nel testo. È anche possibile configurare le richieste API per l'uso di una versione del modello specifica.

Lingue di input

Quando si invia testo di input da elaborare, è possibile specificare le lingue supportate in cui vengono scritte. Se non si specifica una lingua, l'estrazione usa l'inglese per impostazione predefinita. L'API può restituire offset nella risposta per supportare diverse codifiche multilingue ed emoji.

Criteri di rollforward (solo versione 2024-11-5-preview)

Nella versione 2024-11-5-previewè possibile definire il redactionPolicy parametro in modo da riflettere i criteri di rollforward da usare durante la riscrittura del testo. Il campo criteri supporta tre tipi di criteri:

  • DoNotRedact
  • MaskWithCharacter (impostazione predefinita)
  • MaskWithEntityType

Il DoNotRedact criterio consente all'utente di restituire la risposta senza il redactedText campo, ovvero "John Doe ha ricevuto una chiamata dal 424-878-9192".

Il MaskWithRedactionCharacter criterio consente al redactedText di essere mascherato con un carattere (ad esempio "*"), mantenendo la lunghezza e l'offset del testo originale, cioè "******** ha ricevuto una chiamata da ************". Si tratta del comportamento esistente.

È anche disponibile un campo facoltativo denominato redactionCharacter in cui è possibile immettere il carattere da usare in fase di rollforward se si usano i MaskWithCharacter criteri

Il MaskWithEntityType criterio consente di mascherare il testo dell'entità PII rilevata con il tipo di entità rilevato, ovvero "[PERSON_1] ha ricevuto una chiamata da [PHONENUMBER_1]".

Selezionare le entità da restituire

L'API tenta di rilevare le categorie di entità definite per una determinata lingua del testo di input. Se si desidera specificare quali entità vengono rilevate e restituite, usare il parametro facoltativo piiCategories con le categorie di entità appropriate. Questo parametro può anche consentire di rilevare le entità non abilitate per impostazione predefinita per la lingua del testo di input. Nell'esempio seguente viene rilevato solo Person. È possibile specificare uno o più tipi di entità da restituire.

Suggerimento

Se non si specificano default categorie di entità, l'API restituisce solo le categorie di entità specificate.

Inserimento:

Annotazioni

In questo esempio restituisce solo il tipo di entità person :

https://<your-language-resource-endpoint>/language/:analyze-text?api-version=2022-05-01

{
    "kind": "PiiEntityRecognition",
    "parameters": 
    {
        "modelVersion": "latest",
        "piiCategories" :
        [
            "Person"
        ]
    },
    "analysisInput":
    {
        "documents":
        [
            {
                "id":"1",
                "language": "en",
                "text": "We went to Contoso foodplace located at downtown Seattle last week for a dinner party, and we adore the spot! They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is John Doe) and he is super nice, coming out of the kitchen and greeted us all. We enjoyed very much dining in the place! The pasta I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their online menu at www.contosofoodplace.com, call 112-555-0176 or send email to order@contosofoodplace.com! The only complaint I have is the food didn't come fast enough. Overall I highly recommend it!"
            }
        ]
    },
    "kind": "PiiEntityRecognition", 
    "parameters": { 
        "redactionPolicy": { 
            "policyKind": "MaskWithCharacter"  
             //MaskWithCharacter|MaskWithEntityType|DoNotRedact 
            "redactionCharacter": "*"  
}

Prodotto:


{
    "kind": "PiiEntityRecognitionResults",
    "results": {
        "documents": [
            {
                "redactedText": "We went to Contoso foodplace located at downtown Seattle last week for a dinner party, and we adore the spot! They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is ********) and he is super nice, coming out of the kitchen and greeted us all. We enjoyed very much dining in the place! The pasta I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their online menu at www.contosofoodplace.com, call 112-555-0176 or send email to order@contosofoodplace.com! The only complaint I have is the food didn't come fast enough. Overall I highly recommend it!",
                "id": "1",
                "entities": [
                    {
                        "text": "John Doe",
                        "category": "Person",
                        "offset": 226,
                        "length": 8,
                        "confidenceScore": 0.98
                    }
                ],
                "warnings": []
            }
        ],
        "errors": [],
        "modelVersion": "2021-01-15"
    }
}

Adattamento delle informazioni personali al dominio

Per adattarsi e adattarsi al vocabolario personalizzato di un cliente usato per identificare le entità (note anche come "contesto"), la entitySynonyms funzionalità consente ai clienti di definire i propri sinonimi per tipi di entità specifici. L'obiettivo di questa funzionalità è quello di rilevare le entità nei contesti con cui il modello non ha familiarità, ma vengono usate negli input del cliente assicurando che i termini univoci del cliente vengano riconosciuti e associati correttamente durante il processo di rilevamento.

L'opzione valueExclusionPolicy consente ai clienti di adattare il servizio informazioni personali per gli scenari in cui i clienti preferiscono non rilevare determinati termini e redigirli anche se tali termini rientrano in una categoria di informazioni personali a cui sono interessati. Ad esempio, un reparto di polizia potrebbe volere che gli identificatori personali vengano elaborati nella maggior parte dei casi, ad eccezione dei termini "agente di polizia", "sospetto" e "testimone".

I clienti possono ora adattare il rilevamento del servizio PII specificando la propria espressione regolare usando un file di configurazione di riconoscimento regex. Consulta le guide pratiche sui contenitori per un tutorial su come installare ed eseguire contenitori per la rilevazione delle Informazioni di Identificazione Personale (PII).

Un'esercitazione più dettagliata è disponibile nella guida pratica "Adattamento delle PII al tuo dominio".

Invio di dati

Al momento della ricezione della richiesta viene eseguita l'analisi. L'uso della funzionalità di rilevamento delle informazioni personali in modo sincrono è senza stato. Non vengono archiviati dati nell'account e i risultati vengono restituiti immediatamente nella risposta.

Quando si usa questa funzionalità in modo asincrono, i risultati dell'API sono disponibili per 24 ore dal momento in cui la richiesta è stata inserita e ciò viene indicato nella risposta. Dopo questo periodo di tempo, i risultati vengono rimossi e non sono più disponibili per il recupero.

Ottenere i risultati delle informazioni personali

Quando si ottengono risultati dal rilevamento delle informazioni personali, è possibile trasmettere i risultati a un'applicazione o salvare l'output in un file nel sistema locale. La risposta API include entità riconosciute, incluse le relative categorie e sottocategorie e punteggi di attendibilità. Viene restituita anche la stringa di testo con le entità PII elaborate.

Limiti relativi al servizio e ai dati

Vedere l'articolo sui limiti del servizio per informazioni sulle dimensioni e il numero di richieste che è possibile inviare al minuto e al secondo.

Passaggi successivi

Panoramica dell'identificazione personale delle informazioni personali