Informações de Identificação Pessoal
O idioma detecta, classifica e fornece opções para desidentificar informações pessoais identificáveis (PII) em texto não estruturado.
Casos de Uso
- Detectando e selecionando informações privativas no feedback do usuário
-
Muitas organizações coletam feedback de usuários por meio de vários canais, como análises de produtos, solicitações de devolução, tickets de suporte e fóruns de feedback. Você pode usar o serviço de detecção de PII de Idioma para detecção automática de entidades de PII para não apenas avisar proativamente, mas também anonimizar antes de armazenar feedback publicado. Usando a detecção automática de entidades de PII, você pode avisar proativamente os usuários sobre o compartilhamento de dados privados e aplicativos para implementar medidas como armazenar dados mascarados.
- Verificando o armazenamento de objetos quanto à presença de dados confidenciais
-
As soluções de armazenamento em nuvem, como OCI Object Storage, são amplamente usadas pelos funcionários para armazenar documentos de negócios nos locais controlados localmente ou compartilhados por muitas equipes. Garantir que esses locais compartilhados não armazenem informações privadas, como nomes de funcionários, dados demográficos e informações de folha de pagamento, requer a digitalização automática de todos os documentos para a presença de PII. O modelo de PII do OCI Language fornece API em lote para processar muitos documentos de texto em escala para processar dados em escala.
Entidades Suportadas
A tabela a seguir descreve as diferentes entidades que o PII pode extrair.
Tipo de Entidade | Descrição: |
---|---|
PERSON |
Nome da pessoa |
ADDRESS |
Endereço |
AGE |
Tempo de existência |
DATE_TIME |
Data ou hora |
SSN_OR_TAXPAYER |
Número da previdência social ou ID do contribuinte (EUA) |
EMAIL |
|
PASSPORT_NUMBER_US |
Número do passaporte (EUA) |
TELEPHONE_NUMBER |
Telefone ou fax (EUA) |
DRIVER_ID_US |
Número de identificação do condutor (EUA) |
BANK_ACCOUNT_NUMBER |
Número da conta bancária (EUA) |
BANK_SWIFT |
Conta bancária (SWIFT) |
BANK_ROUTING |
Número de roteamento bancário |
CREDIT_DEBIT_NUMBER |
Número do cartão de crédito ou débito |
IP_ADDRESS |
Endereço IP, IPV4 e IPV6 |
MAC_ADDRESS |
Endereço MAC |
Estes são os tipos de segredo: |
|
COOKIE |
Cookie do site |
XSRF TOKEN |
Token XSRF (Cross-Site Request Forgery) |
AUTH_BASIC |
Autenticação Básica |
AUTH_BEARER |
Autenticação do portador |
JSON_WEB_TOKEN |
Token da Web do JSON |
PRIVATE_KEY |
Chave Privada Criptográfica |
PUBLIC_KEY |
Chave Pública Criptográfica |
Veja a seguir as credenciais da conta do OCI que são as informações de autenticação necessárias para acessar e gerenciar recursos no OCI. Essas credenciais servem ao propósito de garantir autenticação segura de usuários, aplicativos e serviços para interagir com serviços e recursos da OCI. |
|
OCI_OCID_USER |
Usuários do OCI |
OCI_OCID_TENANCY |
OCID da Tenancy (Oracle Cloud Identifier) |
OCI_SMTP_USERNAME |
Nome de Usuário SMTP (Simple Mail Transfer Protocol) |
OCI_OCID_REFERENCE |
Referência do OCID |
OCI_FINGERPRINT |
Impressão Digital do OCI |
OCI_CREDENTIAL |
Este tipo abrange o Token de Autenticação do OCI, a Credencial OAuth e a Credencial SMTP |
OCI_PRE_AUTH_REQUEST |
Solicitação Pré-autenticada do OCI |
OCI_STORAGE_SIGNED_URL |
URL Singer do OCI Storage |
OCI_CUSTOMER_SECRET_KEY |
Chave Secreta do Cliente do OCI |
OCI_ACCESS_KEY |
Chaves de Acesso do OCI ou credenciais de segurança |
Exemplos
Texto de Entrada | Texto de Saída Mascarado com "*" |
---|---|
|
|
O JSON para o exemplo é:
- Amostra de Solicitação
-
POST https://<region-url>/20210101/actions/batchDetectLanguagePiiEntities
- Formato da Solicitação de API:
-
{ "documents": [ { "languageCode": "en", "key": "1", "text": "Hello Support Team, I am reaching out to seek help with my credit card number 5111 1111 1111 1118 expiring on 11/23. There was a suspicious transaction on 12-Aug-2022 which I reported by calling from my mobile number +1 (650) 555-0190 also I emailed from my email id sarah.jones1234@hotmail.com. Would you please let me know the refund status? Regards, Sarah" } ], "compartmentId": "ocid1.tenancy.oc1..aaaaaaaadany3y6wdh3u3jcodcmm42ehsdno525pzyavtjbpy72eyxcu5f7q", "masking": { "ALL": { "mode": "MASK", "isUnmaskedFromEnd": true, "leaveCharactersUnmasked": 4 } } }
- JSON de resposta:
-
{ "documents": [ { "key": "1", "entities": [ { "offset": 79, "length": 19, "type": "CREDIT_DEBIT_NUMBER", "text": "5111 1111 1111 1118", "score": 0.75, "isCustom": false }, { "offset": 111, "length": 5, "type": "DATE_TIME", "text": "11/23", "score": 0.9992455840110779, "isCustom": false }, { "offset": 156, "length": 11, "type": "DATE_TIME", "text": "12-Aug-2022", "score": 0.998766303062439, "isCustom": false }, { "offset": 218, "length": 2, "type": "TELEPHONE_NUMBER", "text": "+1", "score": 0.6941494941711426, "isCustom": false }, { "offset": 221, "length": 14, "type": "TELEPHONE_NUMBER", "text": "(650) 555-0190", "score": 0.9527066349983215, "isCustom": false }, { "offset": 268, "length": 27, "type": "EMAIL", "text": "sarah.jones1234@hotmail.com", "score": 0.95, "isCustom": false }, { "offset": 354, "length": 5, "type": "PERSON", "text": "Sarah", "score": 0.9918518662452698, "isCustom": false } ], "languageCode": "en", "maskedText": "Hello Support Team, \nI am reaching out to seek help with my credit card number ***************2345 expiring on *1/23. There was a suspicious transaction on *******2022 which I reported by calling from my mobile number +1 **********9999 also I emailed from my email id ***********************.com. Would you please let me know the refund status?\nRegards,\n*arah" } ], "errors": [] }
Configurar saída de texto de PII ou PHI
No serviço Language, você pode configurar a saída PII/PHI ao analisar o texto.
Regras de PII
- Regras de PII personalizadas
-
Chaves Tipo Descrição: ruleId
String Identificador exclusivo da regra. regex
String Padrão de expressão regular para corresponder a tipos de dados personalizados. Por exemplo, ([A-Z]{5}[0-9]{4}[A-Z]{1}) para corresponder ao cartão de Ponto. type
String Nome do tipo de entidade a ser correspondente. Por exemplo, PAN_CARD
.prefix
Lista<String> Palavras ou frases a serem procuradas em maxDistance
da palavra detectada emregex
.suffix
Lista<String> Palavras ou frases a serem pesquisadas em maxDistance
da palavra detectada emregex
.isCaseSensitive
Boolean Determina se o processo de correspondência deve considerar letras maiúsculas e minúsculas como distintas, com um valor true
indicando distinção entre maiúsculas e minúsculas efalse
indicando distinção entre maiúsculas e minúsculas.maxDistance
Inteiro Define a distância máxima permitida em caracteres entre prefix
/suffix
e o padrão correspondente, garantindo que o padrão seja encontrado em uma certa proximidade comprefix
/suffix
.priority
Inteiro Prioridade de regras. Intervalos entre 1 e 50 em que a Prioridade 1 é mais alta. Por exemplo, se houver duas regras com o mesmo regex
, masprefix
esuffix
diferentes, a regra com a prioridade mais alta será consideradaregexOnly
Boolean Se for verdadeiro, isso removerá as entidades detectadas pelo modelo que têm o mesmo
regex
da regraregex
.Por exemplo:
Na frase, "Tenho 25 anos e ele tem 11 meses", com o sufixo definido como ["anos"]:
- Se
regexOnly
for verdadeiro, apenas 25 serão detectados porque o sufixo "meses" não corresponde ao sufixo especificado "anos". - Se
regexOnly
for falso, 25 e 11 serão detectados - 25 da regra (devido ao sufixo "anos") e 11 do modelo.
filterEntityTypes
Lista<String> Tipos de entidade do OCI a serem filtrados. Por exemplo, [PERSON, AGE] para filtrar os tipos de entidade PERSON e AGE das detecções de modelo. Se o filtro for definido como [ALL], todas as entidades detectadas pelo modelo serão filtradas.
Ao listar
[All]
, detecteregex
com base e ignore entidades de modelo predefinidas.disable
Boolean Definir como verdadeiro para desativar esta regra. - Se
Arquivos de regras de amostra
[
{
"ruleId": "rule 1",
"regex": "([A-Z]{2}[0-9]{2}-[0-9]{3}-[0-9]{3}-[0-9]{3}\/[0-9]{3})",
"type": "NAREGA_ID",
"isCaseSensitive": true,
"suffix": ["id", "narega"],
"regexOnly": true,
"maxDistance": 10,
"priority": 2
},
{
"ruleId": "rule 2",
"regex": "([A-Z]{5}[0-9]{4}[A-Z]{3})",
"type": "PAN_CARD",
"prefix": ["pan", "pancard"],
"isCaseSensitive": false,
"regexOnly": false,
"maxDistance": 10,
"priority": 2,
"filterEntityTypes": ["PERSON"]
},
{
"ruleId": "rule 3",
"regex": "([A-Z]{4}[0-9]{7})",
"type": "IFSC_CODE",
"prefix": ["IFSC"],
"isCaseSensitive": false,
"regexOnly":false,
"maxDistance": 20,
"priority": 2,
"disable": false
},
{
"ruleId": "rule 4",
"regex": "([A-Z]{2}[0-9]{2}-[0-9]{3}-[0-9]{3}-[0-9]{3}\/[0-9]{3})",
"type": "TIRA_ID",
"isCaseSensitive": false,
"prefix": ["Narega"],
"regexOnly": false,
"maxDistance": 10,
"priority": 1
}
]