Compartilhar via


Habilidade cognitiva de detecção de PII (informações de identificação pessoal)

A habilidade de Detecção de PII extrai informações pessoais de um texto de entrada e oferece a opção de mascaramento. Essa habilidade usa os modelos de detecção de fornecidos em Linguagem de IA do Azure.

Observação

Essa habilidade está associada aos serviços de IA do Azure e requer um recurso faturável para transações que excedem 20 documentos por indexador por dia. A execução de habilidades internas é cobrada pelo preço pago conforme o uso dos serviços de IA do Azure existentes.

@odata.type

Microsoft.Skills.Text.PIIDetectionSkill

Limites de dados

O tamanho máximo de um registro deve ser de 50.000 caracteres conforme medido por String.Length. Você pode usar a habilidade Divisão de Texto para divisão de dados. Defina o comprimento da página como 5000 para obter os melhores resultados.

Parâmetros de habilidades

Os parâmetros diferenciam maiúsculas de minúsculas e são todos opcionais.

Nome do parâmetro Descrição
defaultLanguageCode (opcional) O código de idioma a ser aplicado a documentos que não especifica explicitamente o idioma. Se o código de idioma padrão não for especificado, inglês (en) será o código de idioma padrão.
Consulte a Lista completa dos idiomas com suporte.
minimumPrecision Um valor entre 0,0 e 1,0. Se a pontuação de confiança (na piiEntities saída) for menor que o valor definido minimumPrecision , a entidade não será retornada ou mascarada. O padrão é 0.0.
maskingMode Um parâmetro que fornece várias maneiras de mascarar as informações pessoais detectadas no texto de entrada. Há suporte para as seguintes opções:
  • "none" (padrão): nenhum mascaramento ocorre e a maskedText saída não é retornada.
  • "replace": substitui as entidades detectadas pelo caractere fornecido no parâmetro maskingCharacter. O caractere é repetido até o comprimento da entidade detectada para que os deslocamentos correspondam corretamente ao texto de entrada e à saída maskedText.
maskingCharacter O caractere usado para mascarar o texto se o parâmetro maskingMode for definido como replace. Há suporte para a seguinte opção: * (padrão). Esse parâmetro só pode ser null se maskingMode não estiver definido como replace.
domain (Opcional) Um valor de cadeia de caracteres, se especificado, define o domínio como um subconjunto das categorias de entidade. Os valores possíveis incluem: "phi" (detectar somente informações confidenciais de saúde), "none".
piiCategories (Opcional) Se você quiser especificar quais entidades são detectadas e retornadas, use esse parâmetro opcional (definido como uma lista de cadeias de caracteres) com as categorias de entidade apropriadas. Esse parâmetro também pode permitir que você detecte entidades que não estão habilitadas por padrão para o idioma do documento. Confira Categorias da entidade de informações de identificação pessoal com suporte para obter a lista completa.
modelVersion (Opcional) Especifica a versão do modelo a ser usada ao chamar a detecção de informações de identificação pessoal. O padrão é a versão mais recente quando não especificado. Recomendamos que você não especifique esse valor, a menos que seja necessário.

Entradas de habilidades

Nome de entrada Descrição
languageCode Uma cadeia de caracteres que indica o idioma dos registros. Se esse parâmetro não for especificado, o código de idioma padrão será usado para analisar os registros.
Consulte a Lista completa dos idiomas com suporte.
text O texto para analisar.

Saídas de habilidades

Nome de saída Descrição
piiEntities Uma matriz de tipos complexos que contêm os seguintes campos:
  • "text" (As informações reais de identificação pessoal conforme foram extraídas)
  • "type"
  • "subType"
  • "score" (Um valor maior significa que é mais provável se tratar de uma entidade real)
  • "offset" (no texto de entrada)
  • "length"

Confira Categorias da entidade de informações de identificação pessoal com suporte para obter a lista completa.
maskedText Essa saída varia dependendo maskingMode. Se maskingMode for replace, output é o resultado da cadeia de caracteres do mascaramento executado sobre o texto de entrada, conforme descrito pelo maskingMode. Se maskingMode for none, não há saída.

Definição de exemplo

  {
    "@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 exemplo

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

Saída de exemplo

{
  "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."
      }
    }
  ]
}

Os deslocamentos retornados para entidades na saída dessa habilidade são retornados diretamente das APIs do Serviço de Linguagem, o que significa que, se você os estiver usando para indexar na cadeia de caracteres original, deverá usar a classe StringInfo no .NET para extrair o conteúdo correto. Para saber mais, confira Suporte multilíngue e para emoji nos recursos do Serviço de Linguagem.

Erros e avisos

Se o código do idioma do documento não for suportado, um aviso será retornado e nenhuma entidade será extraída. Se o texto estiver vazio, um aviso será retornado. Se o texto for maior que 50.000 caracteres, somente os primeiros 50.000 caracteres serão analisados e um aviso será emitido.

Se a habilidade retornar um aviso, a saída maskedText poderá estar vazia, o que pode afetar as habilidades de downstream que esperam a saída. Por esse motivo, investigue todos os avisos relacionados à saída ausente ao escrever a definição do conjunto de habilidades.

Confira também