Aptitud cognitiva de detección de información de identificación personal (PII)
La aptitud para la detección de información de identificación personal extrae información personal de un texto de entrada y le ofrece la opción de enmascararla. Esta aptitud usa los modelos de detección proporcionados en Lenguaje de Azure AI.
Nota:
Esta aptitud está enlazada a los servicios de Azure AI y necesita un recurso facturable para las transacciones que superan los 20 documentos por indexador al día. La ejecución de aptitudes integradas se carga al actual precio de pago por uso de los servicios de Azure AI.
@odata.type
Microsoft.Skills.Text.PIIDetectionSkill
Límites de datos
El tamaño máximo de un registro debe tener menos de 50 000 caracteres según la medición de String.Length
. Puede usar la aptitud División de texto para la fragmentación de datos. Establezca la longitud de la página en 5000 para obtener los mejores resultados.
Parámetros de la aptitud
Los parámetros distinguen mayúsculas de minúsculas y son opcionales.
Nombre de parámetro | Descripción |
---|---|
defaultLanguageCode |
(Opcional) Es el código de idioma que se aplicará a los documentos que no especifiquen el lenguaje de forma explícita. Si no se especifica el código de idioma predeterminado, el inglés (en) es el código de idioma predeterminado. Vea Full list of supported languages (Lista completa de idiomas admitidos). |
minimumPrecision |
Un valor entre 0,0 y 1,0. Si la puntuación de confianza (en la piiEntities salida) es inferior al valor establecido minimumPrecision , la entidad no se devuelve ni enmascara. El valor predeterminado es 0,0. |
maskingMode |
Un parámetro que proporciona varias formas de enmascarar la información personal detectada en el texto especificado. Se admiten las siguientes opciones:
|
maskingCharacter |
El carácter utilizado para enmascarar el texto si el parámetro maskingMode está establecido en replace . Se admite la siguiente opción: * (predeterminada). Este parámetro solo puede ser null si maskingMode no está establecido replace en . |
domain |
(Opcional) Un valor de cadena, si se especifica, establece el dominio en un subconjunto de las categorías de entidad. Entre los valores posibles se incluyen: "phi" (solo se detecta información de mantenimiento confidencial), o "none" . |
piiCategories |
(Opcional) Si desea especificar qué entidades se detectan y devuelven, use este parámetro opcional (definido como una lista de cadenas) con las categorías de entidad adecuadas. Este parámetro también puede permitirle detectar entidades que no están habilitadas de forma predeterminada para el lenguaje del documento. Vea Categorías de entidad de información de identificación personal (PII) admitidas para obtener la lista completa. |
modelVersion |
(Opcional) Especifica la versión del modelo que se usará al llamar a la detección de información de identificación personal. El valor predeterminado es la versión más reciente cuando no se especifica. Se recomienda no especificar este valor, salvo que sea estrictamente necesario. |
Entradas de la aptitud
Nombre de entrada | Descripción |
---|---|
languageCode |
Cadena que indica el idioma de los registros. Si no se especifica este parámetro, para analizar los registros se usa el código de idioma predeterminado. Vea Full list of supported languages (Lista completa de idiomas admitidos). |
text |
Texto que se analizará. |
Salidas de la aptitud
Nombre de salida | Descripción |
---|---|
piiEntities |
Una matriz de tipos complejos, que contiene los siguientes campos:
Vea Categorías de entidad de información de identificación personal (PII) admitidas para obtener la lista completa. |
maskedText |
Esta salida varía en función maskingMode de . Si maskingMode es replace , la salida es el resultado de la cadena del enmascaramiento realizado sobre el texto de entrada, como se describe en maskingMode . Si maskingMode es none , no hay ninguna salida. |
Definición de ejemplo
{
"@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"
}
]
}
Entrada de ejemplo
{
"values": [
{
"recordId": "1",
"data":
{
"text": "Microsoft employee with ssn 859-98-0987 is using our awesome API's."
}
}
]
}
Salida de ejemplo
{
"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."
}
}
]
}
Los desplazamientos devueltos para las entidades de la salida de esta aptitud se devuelven directamente desde las API de Language Service, lo que significa que si los usa para indexar en la cadena original, debe usar la clase StringInfo en .NET para extraer el contenido correcto. Para obtener más información, vea Compatibilidad con varios idiomas y con emojis en características de Language Service.
Errores y advertencias
Si el código de idioma del documento no se admite, se devuelve una advertencia y no se extrae ninguna entidad. Si el texto está vacío, se devuelve una advertencia. Si el texto tiene más de 50 000 caracteres, solo se analizan los primeros 50 000 caracteres y se emite una advertencia.
Si la aptitud devuelve una advertencia, el valor maskedText
de salida puede estar vacío, lo que podría afectar a las aptitudes de nivel inferior que esperasen la salida. Por esta razón, asegúrese de investigar todas las advertencias relacionadas con una salida que falta al escribir la definición del conjunto de aptitudes.