Informazioni di identificazione personale

Il linguaggio rileva, classifica e fornisce opzioni per deidentificare le informazioni di identificazione personale (PII) in testo non strutturato.

Casi d'uso

Rilevare e curare le informazioni private nel feedback degli utenti

Molte organizzazioni raccolgono il feedback degli utenti viene raccolto attraverso vari canali come recensioni di prodotti, richieste di reso, ticket di supporto e forum di feedback. È possibile utilizzare il servizio di rilevamento PII della lingua per il rilevamento automatico delle entità PII per avvisare non solo in modo proattivo, ma anche per rendere anonimi i feedback pubblicati prima di memorizzarli. Utilizzando il rilevamento automatico delle entità PII puoi avvisare in modo proattivo gli utenti della condivisione di dati privati e delle applicazioni per implementare misure come la memorizzazione di dati mascherati.

Scansione dello storage degli oggetti per rilevare la presenza di dati riservati

Le soluzioni di storage cloud come OCI Object Storage sono ampiamente utilizzate dai dipendenti per memorizzare i documenti aziendali nelle posizioni controllate localmente o condivise da molti team. Garantire che tali sedi condivise non memorizzino informazioni private come nomi dei dipendenti, dati demografici e informazioni sul ciclo paghe richiede la scansione automatica di tutti i documenti per la presenza di informazioni di identificazione personale. Il modello PII del linguaggio OCI fornisce API batch per elaborare molti documenti di testo su larga scala per l'elaborazione dei dati su larga scala.

Entità supportate

Nella tabella seguente vengono descritte le diverse entità che le informazioni di identificazione personale possono estrarre.

Tipo di entità descrizione;
PERSON Nome persona
ADDRESS indirizzo
AGE Durata
DATE_TIME Data o ora
SSN_OR_TAXPAYER Numero di previdenza sociale o codice fiscale (USA)
EMAIL Posta elettronica
PASSPORT_NUMBER_US Numero di passaporto (USA)
TELEPHONE_NUMBER Telefono o fax (USA)
DRIVER_ID_US Numero di identificazione del conducente (US)
BANK_ACCOUNT_NUMBER Numero conto bancario (US)
BANK_SWIFT Conto bancario (SWIFT)
BANK_ROUTING Codice instradamento banca
CREDIT_DEBIT_NUMBER Numero carta di credito
IP_ADDRESS Indirizzo IP, sia IPV4 che IPV6
MAC_ADDRESS Indirizzo MAC

Di seguito sono riportati i tipi di segreto.

COOKIE Cookie del sito
XSRF TOKEN Token XSRF (Cross-Site Request Forgery)
AUTH_BASIC Autenticazione Basic
AUTH_BEARER Autenticazione portatore
JSON_WEB_TOKEN JSON Web Token
PRIVATE_KEY Chiave privata di cifratura
PUBLIC_KEY Chiave pubblica crittografica

Di seguito sono riportate le credenziali dell'account OCI che rappresentano le informazioni di autenticazione necessarie per accedere e gestire le risorse all'interno di OCI. Queste credenziali hanno lo scopo di garantire l'autenticazione sicura di utenti, applicazioni e servizi per interagire con i servizi e le risorse OCI.

OCI_OCID_USER Utente OCI
OCI_OCID_TENANCY OCID tenancy (identificativo Oracle Cloud)
OCI_SMTP_USERNAME Nome utente SMTP (Simple Mail Transfer Protocol)
OCI_OCID_REFERENCE Riferimento OCID
OCI_FINGERPRINT Impronta OCI
OCI_CREDENTIAL Questo tipo riguarda il token di autenticazione OCI, la credenziale OAuth e la credenziale SMTP
OCI_PRE_AUTH_REQUEST Richiesta preautenticata OCI
OCI_STORAGE_SIGNED_URL URL singolo storage OCI
OCI_CUSTOMER_SECRET_KEY Chiave segreta cliente OCI
OCI_ACCESS_KEY Chiavi di accesso OCI o credenziali di sicurezza

Esempi

Testo di input Testo di output mascherato con "*"

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

Hello Support Team, I am reaching out to seek help with my credit card number ******************* expiring on ***** . There was a suspicious transaction on *********** which I reported by calling from my mobile number ** ************** also I emailed from my email id *************************** . Would you please let me know the refund status? Regards, *****

Il JSON per l'esempio è:

Richiesta campione
POST https://<region-url>/20210101/actions/batchDetectLanguagePiiEntities
Formato richiesta 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 risposta:
{
    "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": []
}

Configurazione dell'output di testo PII o PHI

Nel servizio Lingua è possibile configurare l'output PII/PHI durante l'analisi del testo.

  1. Completare l'analisi del testo.
  2. Nella sezione PII o PHI fare clic su Configura nella sezione Output.
  3. Selezionare PII dall'elenco a discesa.
  4. Effettuare una selezione tra le opzioni riportate di seguito.
    • Maschera: selezionare questa opzione per includere o escludere le entità.
      1. Elenco esclusione anonimizzazione: immettere le entità da escludere dall'output dell'interfaccia utente e dall'output dell'SDK.
      2. Includi entità escluse dal mascheramento nelle entità rilevate: selezionare questa opzione per includere l'entità esclusa dall'output nell'interfaccia utente, ma per continuare a includere l'entità nell'output dell'SDK.
      3. Carattere di mascheramento: carattere di mascheramento per mascherare il testo di input.
    • Sostituisci: sostituisce le entità PII con una determinata sequenza di caratteri.
    • Rimuovi: rimuove le entità PII dall'output.
  5. Fare clic su Salva modifiche.

Regole informazioni di identificazione personale

Regole PII personalizzate
Chiavi Digita descrizione;
ruleId Stringa Identificativo univoco della regola.
regex Stringa Pattern di espressione regolare corrispondente ai tipi di dati personalizzati. Ad esempio, ([A-Z]{5}[0-9]{4}[A-Z]{1}) per la corrispondenza con la scheda Pan.
type Stringa Nome del tipo di entità da abbinare. Ad esempio, PAN_CARD.
prefix Elenco<String> Parole o frasi da cercare all'interno di maxDistance di regex hanno rilevato una parola.
suffix Elenco<String> Parole o frasi da cercare all'interno di maxDistance di regex hanno rilevato una parola.
isCaseSensitive Boolean Determina se il processo di corrispondenza deve considerare distinte le lettere maiuscole e minuscole, con il valore true che indica la sensibilità dei casi e false che indica l'insensibilità dei casi.
maxDistance Valore intero Definisce la distanza massima consentita in caratteri tra il valore prefix/suffix e il pattern corrispondente, garantendo che il pattern venga trovato entro una certa prossimità al valore prefix/suffix.
priority Valore intero Priorità delle regole. È compreso tra 1 e 50, dove la priorità 1 è più alta. Ad esempio, se sono presenti due regole con lo stesso regex ma prefix e suffix diversi, viene considerata la regola con la priorità più alta
regexOnly Boolean

Se true, il modello rimuove le entità rilevate che hanno lo stesso valore regex della regola regex.

Ad esempio:

Nella frase, "Ho 25 anni e lui ha 11 mesi", con il suffisso impostato su ["anni"]:

  • Se regexOnly è true, ne vengono rilevati solo 25 perché il suffisso "months" non corrisponde al suffisso specificato "years".
  • Se regexOnly è falso, vengono rilevati sia 25 che 11: 25 dalla regola (a causa del suffisso "anni") e 11 dal modello.
filterEntityTypes Elenco<String>

Tipi di entità OCI da filtrare. Ad esempio, [PERSON, AGE] per filtrare i tipi di entità PERSON e AGE dai rilevamenti del modello. Se il filtro è impostato su [ALL], tutte le entità rilevate dal modello vengono filtrate.

Quando si elenca [All], il rilevamento basato su regex ignora le entità modello predefinite.

disable Boolean Impostare su true per disabilitare questa regola.

File regole di esempio

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