Condividi tramite


Competenza cognitiva di rilevamento delle informazioni personali

La competenza Rilevamento informazioni personali estrae informazioni personali da un testo di input e offre la possibilità di mascherarla. Questa competenza usa i modelli di rilevamento forniti nel linguaggio di intelligenza artificiale di Azure.

Nota

Questa competenza è associata ai servizi di intelligenza artificiale di Azure e richiede una risorsa fatturabile per le transazioni che superano 20 documenti per indicizzatore al giorno. L'esecuzione delle competenze predefinite viene addebitata secondo gli attuali prezzi con pagamento in base al consumo dei Servizi di Azure AI.

@odata.type

Microsoft.Skills.Text.PIIDetectionSkill

Limiti dei dati

Le dimensioni massime di un record devono essere di 50.000 caratteri in base alla misurazione di String.Length. È possibile usare la competenza Divisione testo per la suddivisione in blocchi di dati. Impostare la lunghezza della pagina su 5000 per ottenere i risultati migliori.

Parametri della competenza

I parametri fanno distinzione tra maiuscole e minuscole e tutti sono facoltativi.

Nome parametro Descrizione
defaultLanguageCode (Facoltativo) Il codice lingua da applicare ai documenti che non specificano in modo esplicito una lingua. Se il codice lingua predefinito non è specificato, l'inglese (en) è il codice di lingua predefinito.
Vedi l'elenco completo di linguaggi supportati.
minimumPrecision Valore compreso tra 0,0 e 1,0. Se il punteggio di attendibilità (nell'output piiEntities ) è inferiore al valore impostato minimumPrecision , l'entità non viene restituita o mascherata. Il valore predefinito è 0,0.
maskingMode Parametro che fornisce vari modi per mascherare le informazioni personali rilevate nel testo di input. Sono supportate le opzioni seguenti:
  • "none" (impostazione predefinita): non viene eseguita alcuna maschera e l'output maskedText non viene restituito.
  • "replace": sostituisce le entità rilevate con il carattere specificato nel maskingCharacter parametro . Il carattere viene ripetuto alla lunghezza dell'entità rilevata in modo che gli offset corrispondano correttamente sia al testo di input che all'output maskedText.
maskingCharacter Carattere utilizzato per mascherare il testo se il maskingMode parametro è impostato su replace. L'opzione seguente è supportata: * (impostazione predefinita). Questo parametro può essere null solo se maskingMode non è impostato su replace.
domain (Facoltativo) Un valore stringa, se specificato, imposta il dominio su un subset delle categorie di entità. I valori possibili includono: "phi" (rileva solo informazioni riservate sull'integrità), "none".
piiCategories (Facoltativo) Se si desidera specificare quali entità vengono rilevate e restituite, usare questo parametro facoltativo (definito come elenco di stringhe) con le categorie di entità appropriate. Questo parametro può anche consentire di rilevare le entità non abilitate per impostazione predefinita per la lingua del documento. Per l'elenco completo, vedere Categorie di entità di informazioni personali supportate.
modelVersion (Facoltativo) Specifica la versione del modello da usare quando si chiama il rilevamento delle informazioni personali. L'impostazione predefinita è la versione più recente quando non è specificata. È consigliabile non specificare questo valore a meno che non sia necessario.

Input competenze

Nome input Descrizione
languageCode Stringa che indica la lingua dei record. Se questo parametro non viene specificato, il codice di lingua predefinito viene usato per analizzare i record.
Vedi l'elenco completo di linguaggi supportati.
text Testo da analizzare.

Output competenze

Nome output Descrizione
piiEntities Matrice di tipi complessi che contiene i campi seguenti:
  • "text" (Le informazioni personali effettive come estratte)
  • "type"
  • "subType"
  • "score" (valore più alto significa che è più probabile che sia un'entità reale)
  • "offset" (nel testo di input)
  • "length"

Per l'elenco completo, vedere Categorie di entità di informazioni personali supportate.
maskedText Questo output varia a seconda di maskingMode. Se maskingMode è replace, l'output è il risultato della stringa della maschera eseguita sul testo di input, come descritto da maskingMode. Se maskingMode è none, non è presente alcun output.

Definizione di esempio

  {
    "@odata.type": "#Microsoft.Skills.Text.PIIDetectionSkill",
    "defaultLanguageCode": "en",
    "minimumPrecision": 0.5,
    "maskingMode": "replace",
    "maskingCharacter": "*",
    "inputs": [
      {
        "name": "text",
        "source": "/document/content"
      }
    ],
    "outputs": [
      {
        "name": "piiEntities"
      },
      {
        "name": "maskedText"
      }
    ]
  }

Input di esempio

{
    "values": [
      {
        "recordId": "1",
        "data":
           {
             "text": "Microsoft employee with ssn 859-98-0987 is using our awesome API's."
           }
      }
    ]
}

Output di esempio

{
  "values": [
    {
      "recordId": "1",
      "data" : 
      {
        "piiEntities":[ 
           { 
              "text":"859-98-0987",
              "type":"U.S. Social Security Number (SSN)",
              "subtype":"",
              "offset":28,
              "length":11,
              "score":0.65
           }
        ],
        "maskedText": "Microsoft employee with ssn *********** is using our awesome API's."
      }
    }
  ]
}

Gli offset restituiti per le entità nell'output di questa competenza vengono restituiti direttamente dalle API del servizio di linguaggio, ovvero se vengono usate per indicizzare nella stringa originale, è consigliabile usare la classe StringInfo in .NET per estrarre il contenuto corretto. Per altre informazioni, vedere Supporto multilingue ed emoji nelle funzionalità del servizio di linguaggio.

Errori e avvisi

Se il codice linguistico per il documento non è supportato, viene restituito un avviso e non vengono estratte entità. Se il testo è vuoto, viene restituito un avviso. Se il testo è maggiore di 50.000 caratteri, vengono analizzati solo i primi 50.000 caratteri e viene generato un avviso.

Se la competenza restituisce un avviso, l'output maskedText può essere vuoto, che può influire sulle competenze downstream che prevedono l'output. Per questo motivo, assicurarsi di esaminare tutti gli avvisi correlati all'output mancante durante la scrittura della definizione del set di competenze.

Vedi anche