Personenbezogene Daten

Die Sprache erkennt, klassifiziert und bietet Optionen zum Aufheben der Identifizierung personenbezogener Daten (PII) in unstrukturiertem Text.

Anwendungsfälle

Private Informationen im Benutzerfeedback erkennen und pflegen

Viele Organisationen sammeln Benutzerfeedback, das über verschiedene Kanäle wie Produktbewertungen, Rücksendeanfragen, Supporttickets und Feedbackforen gesammelt wird. Sie können den Sprach-PII-Erkennungsdienst für die automatische Erkennung von PII-Entitäten verwenden, um nicht nur proaktiv zu warnen, sondern auch zu anonymisieren, bevor gepostetes Feedback gespeichert wird. Mit der automatischen Erkennung von personenbezogenen Daten können Sie Benutzer proaktiv davor warnen, private Daten zu teilen, und Anwendungen, um Maßnahmen wie das Speichern maskierter Daten zu implementieren.

Objektspeicher auf Vorhandensein sensibler Daten scannen

Cloud-Speicherlösungen wie OCI Object Storage werden von Mitarbeitern häufig verwendet, um Geschäftsdokumente an den Standorten zu speichern, die entweder lokal kontrolliert oder von vielen Teams gemeinsam genutzt werden. Um sicherzustellen, dass solche gemeinsamen Standorte keine privaten Informationen wie Mitarbeiternamen, Stammdaten und Entgeltabrechnungsinformationen speichern, müssen alle Dokumente automatisch auf personenbezogene Daten gescannt werden. Das OCI Language-PII-Modell bietet eine Batch-API zur skalierbaren Verarbeitung vieler Textdokumente für die skalierbare Verarbeitung von Daten.

Unterstützte Entitys

In der folgenden Tabelle werden die verschiedenen Entitys beschrieben, die personenbezogene Daten extrahieren können.

Entitytyp Beschreibung
PERSON Personenname
ADDRESS Adresse
AGE Alter
DATE_TIME Datum oder Zeit
SSN_OR_TAXPAYER Sozialversicherungsnummer oder Steuernummer (US)
EMAIL Email
PASSPORT_NUMBER_US Reisepassnummer (US)
TELEPHONE_NUMBER Telefon oder Fax (US)
DRIVER_ID_US Fahreridentifikationsnummer (US)
BANK_ACCOUNT_NUMBER Bankkonto-Nummer (US)
BANK_SWIFT Bankkonto (SWIFT)
BANK_ROUTING Routingnummer
CREDIT_DEBIT_NUMBER Kredit- oder Debitkartennummer
IP_ADDRESS IP-Adresse, sowohl IPV4 als auch IPV6
MAC_ADDRESS MAC-Adresse

Es gibt folgende Secret-Typen:

COOKIE Website-Cookie
XSRF TOKEN XSRF-(Cross-Site Request Forgery-)Token
AUTH_BASIC Basisauthentifizierung
AUTH_BEARER Bearer-Authentifizierung
JSON_WEB_TOKEN JSON Web Token
PRIVATE_KEY Kryptografischer Private Key
PUBLIC_KEY Kryptografischer Public Key

Im Folgenden werden die OCI-Accountzugangsdaten aufgeführt, die Authentifizierungsinformationen sind, die für den Zugriff auf und die Verwaltung von Ressourcen in OCI erforderlich sind. Diese Zugangsdaten dienen dazu, die sichere Authentifizierung von Benutzern, Anwendungen und Services für die Interaktion mit OCI-Services und -Ressourcen sicherzustellen.

OCI_OCID_USER OCI-Benutzer
OCI_OCID_TENANCY Mandanten-OCID (Oracle Cloud-ID)
OCI_SMTP_USERNAME Benutzername für SMTP (Simple Mail Transfer Protocol)
OCI_OCID_REFERENCE OCID-Referenz
OCI_FINGERPRINT OCI-Fingerprint
OCI_CREDENTIAL Dieser Typ umfasst OCI-Authentifizierungstoken, OAuth-Zugangsdaten und SMTP-Zugangsdaten
OCI_PRE_AUTH_REQUEST Vorab authentifizierte OCI-Anforderung
OCI_STORAGE_SIGNED_URL Gesungene OCI-Speicher-URL
OCI_CUSTOMER_SECRET_KEY OCI-Kunden-Secret-Key
OCI_ACCESS_KEY OCI-Zugriffsschlüssel oder Sicherheitszugangsdaten

Beispiele

Eingabetext Ausgabetext mit "*" maskiert

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, *****

Die JSON für das Beispiel lautet:

Beispielanforderung
POST https://<region-url>/20210101/actions/batchDetectLanguagePiiEntities
API-Anforderungsformat:
{
  "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-Antwort
{
    "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": []
}

PII- oder PHI-Textausgabe konfigurieren

Im Sprachdienst können Sie die PII/PHI-Ausgabe bei der Textanalyse konfigurieren.

  1. Füllen Sie Text analysieren aus.
  2. Klicken Sie im Abschnitt PII oder PHI im Abschnitt Ausgabe auf Konfigurieren.
  3. Wählen Sie PII aus der Dropdown-Liste aus.
  4. Wählen Sie unter:
    • Maske: Wählen Sie diese Option aus, um Entitys ein- oder auszuschließen.
      1. Ausschlussliste für Anonymisierung: Geben Sie Entitys ein, die aus der UI-Ausgabe und der SDK-Ausgabe ausgeschlossen werden sollen.
      2. Ausgeschlossene Entitys aus der Maskierung in erkannten Entitys einschließen: Wählen Sie diese Option aus, um die Entity aufzunehmen, die aus der Ausgabe in der UI ausgeschlossen wurde, aber um die Entity weiterhin in die SDK-Ausgabe aufzunehmen.
      3. Maskierungszeichen: Maskierungszeichen zum Maskieren des Eingabetextes.
    • Ersetzen: PII-Entitys durch eine bestimmte Zeichenfolge ersetzen.
    • Entfernen: PII-Entitys aus der Ausgabe entfernen.
  5. Klicken Sie auf Änderungen speichern.

PII-Regeln

Benutzerdefinierte personenbezogene Daten - Regeln
Schlüssel Typ Beschreibung
ruleId String Eindeutige ID für die Regel.
regex String Regelmäßiges Ausdrucksmuster für den Abgleich mit benutzerdefinierten Datentypen. Beispiel: ([A-Z]{5}[0-9]{4}[A-Z]{1}) für den Abgleich der Pan-Karte.
type String Name für den abzugleichenden Entitätstyp. Beispiel: PAN_CARD.
prefix Liste<String> Wörter oder Wortgruppen, nach denen innerhalb von maxDistance von regex gesucht werden soll, wurden erkannt.
suffix Liste<String> Wörter oder Wortgruppen, nach denen innerhalb von maxDistance von regex gesucht werden soll, erkannten Wort.
isCaseSensitive Boolescher Wert Bestimmt, ob der Abgleichsprozess Groß- und Kleinbuchstaben als eindeutig betrachten soll. Der Wert true gibt die Groß-/Kleinschreibung an, und false gibt die Groß-/Kleinschreibung an.
maxDistance Ganzzahl Definiert den maximal zulässigen Abstand in Zeichen zwischen prefix/suffix und dem übereinstimmenden Muster. Dadurch wird sichergestellt, dass das Muster in einer bestimmten Nähe zum prefix/suffix gefunden wird.
priority Ganzzahl Priorität der Regeln. Liegt zwischen 1 und 50, wobei Priorität 1 die höchste ist. Beispiel: Wenn zwei Regeln mit demselben regex, aber unterschiedlichen prefix und suffix vorhanden sind, wird die Regel mit der höheren Priorität berücksichtigt
regexOnly Boolescher Wert

Wenn dieser Wert auf "true" gesetzt ist, werden vom Modell erkannte Entitys entfernt, die denselben regex wie die Regel regex aufweisen.

Beispiele:

Im Satz "Ich bin 25 Jahre alt und er ist 11 Monate alt", wobei das Suffix auf ["Jahre"] gesetzt ist:

  • Wenn regexOnly wahr ist, wird nur 25 erkannt, weil das Suffix "months" nicht mit dem angegebenen Suffix "years" übereinstimmt.
  • Wenn regexOnly falsch ist, werden sowohl 25 als auch 11 erkannt - 25 aus der Regel (aufgrund des Suffixes "years") und 11 aus dem Modell.
filterEntityTypes Liste<String>

Zu filternde OCI-Entitytypen. Beispiel: [PERSON, AGE], um die Entitytypen PERSON und AGE aus Modellermittlungen zu filtern. Wenn der Filter auf [ALL] gesetzt ist, werden alle vom Modell erkannten Entitys herausgefiltert.

Bei der Auflistung von [All] werden regex-basierte vordefinierte Modellentitäten erkannt und ignoriert.

disable Boolescher Wert Bei 'Wahr' wird diese Regel deaktiviert.

Beispielregeldateien

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