Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Visão geral
Para acomodar e se adaptar ao vocabulário personalizado de um cliente usado para identificar entidades (também conhecido como "contexto"), o entitySynonyms
recurso permite que os clientes definam seus próprios sinônimos para tipos de entidades específicos. O objetivo desse recurso é ajudar a detetar entidades em contextos com os quais o modelo não está familiarizado, mas que são usados nas entradas do cliente, garantindo que os termos exclusivos do cliente sejam reconhecidos e corretamente associados durante o processo de deteção.
Isso adapta o serviço de PII pré-construído, que é treinado para detetar entidades com base em texto de domínio geral que podem não corresponder ao vocabulário de entrada personalizado de um cliente, como escrever "BAN" em vez de "InternationalBankAccountNumber".
Isso significa que a deteção de PII pode capturar informações confidenciais mesmo quando elas são escritas em diferentes estilos, gírias ou linguagem casual. Isso torna o sistema melhor na proteção da privacidade em situações do mundo real.
Recomendamos vivamente que os clientes testem primeiro a qualidade das previsões sem introduzir sinónimos e só os utilizem se o modelo não tiver um bom desempenho. Por exemplo, "Org" pode ser algo que o modelo já entende como "organização" e não há necessidade de usar o recurso Sinônimo.
Depois de testar o serviço em seus dados, os clientes podem usar entitySynonyms
para:
- Especifique entidades específicas dentro do serviço pré-criado para as quais há palavras de contexto sinônimo personalizadas em seu vocabulário de entrada.
- Liste os sinônimos personalizados.
- Especifique o idioma de cada sinônimo.
Esquema de API para o parâmetro 'entitySynoyms'
{
"parameter":
"entitySynonyms": [
{
"entityType": "InternationalBankAccountNumber",
"synonyms": [ {"synonym": "BAN", "language": "en"} ]
}
]
}
Diretrizes de uso
- Os sinónimos devem restringir-se a frases que se refiram diretamente ao tipo e preservar a correção semântica. Por exemplo, para o tipo
InternationalBankAccountNumber
de entidade, um sinônimo válido pode ser "Número de Conta Financeira" ou "FAN". Mas, a palavra "depósito" pode estar associada ao tipo, pois não tem um significado direto de um número de conta bancária e, portanto, não deve ser usada. - Os sinónimos devem ser agnósticos em relação ao país. Por exemplo, "passaporte alemão" não seria útil incluir.
- Os sinônimos não podem ser reutilizados para mais de um tipo de entidade.
- Este recurso de reconhecimento de sinônimo só aceita um subconjunto de tipos de entidade suportados pelo serviço. Os tipos de entidade suportados e sinónimos de exemplo incluem:
Tipo de entidade suportado | Tipo de Entidade | Exemplos de sinónimos |
---|---|---|
Número de roteamento ABA | Número de Roteamento ABA | Número de trânsito de roteamento (RTN) |
Endereço | Endereço | Meu lugar é |
Idade | Idade | Anos, idade em anos, idade atual, idade da pessoa, idade biológica |
Número da conta bancária | Número da Conta Bancária | Número da conta bancária, número da conta poupança, número da conta corrente, número da conta financeira |
Número do Cartão de Crédito | Número do Cartão de Crédito | Número do cartão de crédito, número do cartão de pagamento, número da conta de crédito. |
Data | Data e Hora | Data dada, data especificada |
Data de Nascimento | Data de Nascimento | Aniversário, Data de nascimento, Data de nascimento |
Número Internacional de Conta Bancária | Número Internacional de Conta Bancária | IBAN, número de conta bancária internacional. |
Organização | Organização | empresa, negócio, firma, corporação, agência, grupo, instituição, entidade, entidade jurídica, parte, demandado, demandante, réu, jurisdição, parceiro, provedor, instalação, prática, rede, instituição, empresa, LLC, Inc, LLP, incorporada, empregador, marca, subsidiária |
Pessoa | Pessoa | Nome, pessoa singular, titular da conta |
Tipo de Pessoa | Tipo de Pessoa | Função, título, cargo |
Número de telefone | Número de telefone | Telefone fixo, celular, móvel |
Código Swift | Código SWIFT | Código SWIFT, BIC (Código de Identificação Bancária), Identificador SWIFT |
Personalizando a saída PII especificando valores a serem excluídos
A valueExclusionPolicy
opção permite que os clientes adaptem o serviço de PII para cenários em que os clientes preferem que certos termos não sejam detetados e editados, mesmo que esses termos se enquadrem em uma categoria de PII em que estejam interessados em detetar. Por exemplo, um departamento de polícia pode querer que os identificadores pessoais sejam editados na maioria dos casos, exceto para termos como "policial", "suspeito" e "testemunha".
No exemplo a seguir, os clientes podem usar a valueExclusionPolicy
opção para especificar uma lista de valores que não gostariam de ser detetados ou editados do texto de entrada. No exemplo abaixo, se o usuário especificar o valor "1 Microsoft Way, Redmond, WA 98052, US", mesmo que a entidade Address esteja ativada, esse valor não será editado ou listado na saída de carga útil da API retornada.
Um subconjunto do valor excluído especificado, como "1 Microsoft Way" não é excluído.
Entrada
{
"kind": "PiiEntityRecognition",
"parameters": {
"modelVersion": "latest",
"redactionPolicy": {
"policyKind": "characterMask",
"redactionCharacter": "-"
},
"valueExclusionPolicy": {
"caseSensitive": false,
"excludedValues": {
"1 Microsoft Way, Redmond, WA 98052",
"1045 La Avenida St, Mountain View, CA 94043"
}
}
},
"analysisInput": {
"documents": [
{
"id": "1",
"text": "The police and John Doe inspected the storage garages located at 123 Main St, 1 Microsoft Way, Redmond, WA 98052, 456 Washington Blvd, Portland, OR, and 1045 La Avenida St, Mountain View, CA 94043"
}
]
}
}
Resultado
{
"kind": "PiiEntityRecognitionResults",
"results": {
"documents": [
{
"redactedText": "The police and John Doe inspected the storage garages located at **********, 1 Microsoft Way, Redmond, WA 98052, ********************************, and 1045 La Avenida St, Mountain View, CA 94043"
"id": "1",
"entities": [
{
"text": "John Doe",
"category": "Person",
"offset": 16,
"length": 5,
"confidenceScore": 0.98
}
],
"warnings": []
}
],
"errors": [],
"modelVersion": "2021-01-15"
}
}
Personalizando a deteção de PII usando seu próprio regex (disponível apenas para contêiner de PII de texto)
Os clientes agora podem adaptar a deteção do serviço de PII especificando seu próprio regex usando um arquivo de configuração de reconhecimento de regex. Consulte nossos guias de instruções de contêiner para obter um tutorial sobre como instalar e executar contêineres de deteção de informações pessoalmente identificáveis (PII).
Observação
Isso só está disponível para o contêiner PII de texto
docker run --rm -it -p 5000:5000 --memory 8g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/textanalytics/pii:{IMAGE_TAG} \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY} \
UserRegexRuleFilePath={REGEX_RULE_FILE_PATH}
UserRegexRuleFilePath
é o caminho do arquivo das regras regex definidas pelo usuário.
Formato de arquivo de reconhecimento Regex
[
{
"name": "USSocialSecurityNumber", // category, type and tag to be returned. This name must be unique
"description": "Rule to identify USSocialSecurityNumber in text", // used to describe the category
"regexPatterns": [ // list of regex patterns to identify the entities
{
"id": "StrongSSNPattern", // id for the regex pattern
"pattern": "(?<!\\d)([0-9]{3}-[0-9]{2}-[0-9]{4}|[0-9]{3} [0-9]{2} [0-9]{4}|[0-9]{3}.[0-9]{2}.[0-9]{4})(?!\\d)", // regex pattern to provide matches
"matchScore": 0.65, // score to assign if the regex matches
"locales": [ // list of languages valid for this regex
"en"
]
},
{
"id": "WeakSSNPattern",
"pattern": "(?<!\\d)([0-9]{9})(?!\\d)",
"matchScore": 0.55,
"locales": [
"en"
]
}
],
"matchContext": { // patterns to give matches context
"hints": [
{
"hintText": "ssa(\\s*)number", // regex pattern to find to give a match context.
"boostingScore": 0.2, // score to boost match confidence if hint is found
"locales": [ // list of languages valid for this context
"en"
]
},
{
"hintText": "social(\\s*)security(\\s*)(#*)",
"boostingScore": 0.2,
"locales": [
"en"
]
}
],
}
}
]
Visão geral de cada parâmetro de arquivo de reconhecimento regex
Parâmetro | Subparâmetros e descrições |
---|---|
name |
Categoria, tipo e tag a serem retornados caso haja uma correspondência de regex. |
decription |
(facultativo) Descrição da regra legível pelo usuário. |
regexPatterns |
Lista de padrões de regex usados para encontrar entidades. - id : Identificador do padrão regex.- matchScore : Pontuação de confiança para partidas de regex.- locales : Idiomas válidos para o padrão regex. |
matchcontext |
Padrões Regex que fornecem contexto para entidades correspondentes. A correspondência de contexto é uma pesquisa bidirecional da entidade correspondente que aumenta a pontuação de confiança caso seja encontrada. Se várias dicas estiverem apoiando uma correspondência, a dica com a pontuação mais alta será usada. - hints : Lista de padrões regex que contextualizam entidades correspondentes.- hintText : Padrão Regex que fornece contexto para entidades correspondentes.- boostingScore : (opcional) Pontuação adicionada à pontuação de confiança de uma entidade correspondente.- locales : Idioma válido para hintText.- contextLimit : (opcional) Distância da entidade correspondente para procurar contexto. |
Exploração Florestal
Para exibir informações sobre a execução regexRules
, adicione a seguinte propriedade para habilitar o log de depuração: Logging:Console:LogLevel:Default=Debug
docker run --rm -it -p 5000:5000 --memory 8g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/textanalytics/pii:{IMAGE_TAG} \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY} \
UserRegexRuleFilePath={REGEX_RULE_FILE_PATH} \
Logging:Console:LogLevel:Default=Debug
Restrições da regra Regex
- Os nomes das regras devem começar com "CE_"
- Os nomes das regras devem ser exclusivos.
- Os nomes das regras só podem usar caracteres alfanuméricos e sublinhados ("_")
- Os padrões Regex seguem o formato de expressões regulares do .NET. Consulte nossa documentação sobre expressões regulares do .NET para obter mais informações.