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:
|
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:
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.