Deteção de Informações Pessoalmente Identificáveis (PII) habilidade cognitiva
A habilidade PII Detection extrai informações pessoais de um texto de entrada e oferece a opção de mascará-las. Essa habilidade usa os modelos de deteção fornecidos na Linguagem de IA do Azure.
Nota
Essa habilidade está vinculada aos serviços de IA do Azure e requer um recurso faturável para transações que excedam 20 documentos por indexador por dia. A execução de habilidades internas é cobrada pelo preço pré-pago dos serviços de IA do Azure existentes.
@odata.type
Microsoft.Skills.Text.PIIDetectionSkill
Limites de dados
O tamanho máximo de um registo deve ser de 50 000 carateres, medido por String.Length
. Você pode usar a habilidade Divisão de texto para fragmentação de dados. Defina o comprimento da página para 5000 para obter os melhores resultados.
Parâmetros de habilidade
Os parâmetros diferenciam maiúsculas de minúsculas e todos são opcionais.
Nome do parâmetro | Description |
---|---|
defaultLanguageCode |
(Opcional) O código de idioma a ser aplicado a documentos que não especificam o idioma explicitamente. Se o código de idioma padrão não for especificado, inglês (en) será o código de idioma padrão. Veja a lista completa de linguagens suportadas. |
minimumPrecision |
Um valor entre 0,0 e 1,0. Se a pontuação de confiança (na piiEntities saída) for menor do 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 detetadas no texto de entrada. As seguintes opções são suportadas:
|
maskingCharacter |
O caractere usado para mascarar o texto se o maskingMode parâmetro estiver definido como replace . A seguinte opção é suportada: * (padrão). Este 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" (detetar apenas informações confidenciais de saúde), "none" . |
piiCategories |
(Opcional) Se desejar especificar quais entidades serão detetadas e retornadas, use esse parâmetro opcional (definido como uma lista de cadeias de caracteres) com as categorias de entidades apropriadas. Esse parâmetro também pode permitir que você detete entidades que não estão habilitadas por padrão para o idioma do documento. Consulte Categorias de entidades de Informações Pessoalmente Identificáveis Suportadas para obter a lista completa. |
modelVersion |
(Opcional) Especifica a versão do modelo a ser usada ao chamar a deteção de informações pessoalmente identificáveis. 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. |
Contributos para as competências
Nome de entrada | Description |
---|---|
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. Veja a lista completa de linguagens suportadas. |
text |
O texto a analisar. |
Resultados em termos de competências
Nome da saída | Description |
---|---|
piiEntities |
Uma matriz de tipos complexos que contém os seguintes campos:
Consulte Categorias de entidades de Informações Pessoalmente Identificáveis Suportadas para obter a lista completa. |
maskedText |
Esta saída varia dependendo maskingMode . Se maskingMode for replace , a saída é o resultado da cadeia de caracteres do mascaramento realizado sobre o texto de entrada, conforme descrito pelo maskingMode . Se maskingMode for none , não há saída. |
Definição da amostra
{
"@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ê estiver usando-os para indexar na cadeia de caracteres original, deverá usar a classe StringInfo no .NET para extrair o conteúdo correto. Para obter mais informações, consulte Suporte multilíngue e a emojis em Recursos do serviço de idiomas.
Erros e avisos
Se o código de 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 tiver mais de 50.000 caracteres, apenas os primeiros 50.000 caracteres serão analisados e um aviso será emitido.
Se a habilidade retornar um aviso, a saída maskedText
pode estar vazia, o que pode afetar quaisquer habilidades downstream que esperam a saída. Por esse motivo, certifique-se de investigar todos os avisos relacionados à saída ausente ao escrever sua definição de conjunto de habilidades.