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:
  • "none" (valor predeterminado): no se produce ningún enmascaramiento y no se devuelve la maskedText salida.
  • "replace": reemplaza las entidades detectadas por el carácter especificado en el parámetro maskingCharacter. El carácter se repite hasta la longitud de la entidad detectada para que los desplazamientos se correspondan correctamente con el texto de entrada y la salida maskedText.
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 replaceen .
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:
  • "text" (la información de identificación personal real que se extrae).
  • "type"
  • "subType"
  • "score" (cuanto más alto sea el valor, más probable será que la entidad sea real).
  • "offset" (en el texto introducido).
  • "length"

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

Consulte también