DE202022002899U1 - Metadaten-Klassifizierung - Google Patents

Metadaten-Klassifizierung Download PDF

Info

Publication number
DE202022002899U1
DE202022002899U1 DE202022002899.7U DE202022002899U DE202022002899U1 DE 202022002899 U1 DE202022002899 U1 DE 202022002899U1 DE 202022002899 U DE202022002899 U DE 202022002899U DE 202022002899 U1 DE202022002899 U1 DE 202022002899U1
Authority
DE
Germany
Prior art keywords
data
column
semantic
category
categories
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE202022002899.7U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Snowflake Inc
Original Assignee
Snowflake Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Snowflake Inc filed Critical Snowflake Inc
Publication of DE202022002899U1 publication Critical patent/DE202022002899U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24547Optimisations to support specific applications; Extensibility of optimisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Bioethics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

Computerprogramm, das Anweisungen umfasst, die dann, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, veranlassen, dass der eine oder die mehreren Computer Operationen durchführt oder durchführen, wobei die Operationen folgendes umfassen:
Abrufen von Daten aus einem Datensatz, wobei die Daten in einer Vielzahl von Spalten organisiert sind; und
für jede Spalte in der Vielzahl von Spalten:
Erzeugen von einer oder mehreren semantischen Kandidatenkategorien für diese Spalte, wobei jede von der einen oder den mehreren semantischen Kandidatenkategorien eine entsprechende Wahrscheinlichkeit hat,
Erstellen eines Merkmalsvektors für diese Spalte aus der einen oder den mehreren semantischen Kandidatenkategorien und den entsprechenden Wahrscheinlichkeiten, und
Auswählen einer semantischen Spaltenkategorie aus der einen oder den mehreren semantischen Kandidatenkategorien unter Verwendung von wenigstens dem Merkmalsvektor und einem trainierten Maschinenlern-Modell.

Description

  • ZUGEHÖRIGE ANMELDUNG
  • Diese Anmeldung beansprucht den Vorteil gemäß 35 U.S.C. § 119(e) der US-Patentanmeldung Nr. 17/163,156 , eingereicht am 29. Januar 2021, deren gesamter Inhalt hierin durch Bezugnahme enthalten ist.
    Um als Gebrauchsmuster und Gegenstand des Gebrauchsmusters geschützt zu werden, gibt es gemäß den Erfordernissen des Gebrauchsmustergesetzes nur Vorrichtungen, wie es in den Ansprüchen definiert ist, aber keine Verfahren. In dem Fall, in welchem die Beschreibung auf Verfahren Bezug nimmt, dienen diese Bezugnahmen lediglich dazu, die Vorrichtung oder Vorrichtungen darzustellen, für welche Schutz mit den beigefügten Ansprüchen gesucht wird.
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft eine Datenverarbeitung, und insbesondere ein Klassifizieren von Metadaten für spaltenorientierte Daten.
  • HINTERGRUND
  • Kunden möchten ihre Daten verstehen und würden gerne die Möglichkeit haben, Spalten automatisch zu klassifizieren. Eine Klassifizierung gibt Kunden nicht nur ein Verständnis für ihre Daten, sondern ermöglicht es ihnen auch, eine Vielfalt von Tools bzw. Werkzeugen für Data Governance und Datenschutz zu verwenden. Dies wird immer wichtiger, da immer mehr Datenschutzbestimmungen auf der ganzen Welt Gesetz werden. Im Rahmen dieser Bestimmungen bzw. Vorschriften ist es für Kunden zwingend erforderlich zu verstehen, welche personenbezogenen Daten sie haben, wo sie sich befinden, wie lange sie sie schon gehabt haben und wie sie sie schützen können, während sie dennoch Erkenntnisse erlangen. Klassifizierung ist ein wichtiger erster Schritt. Zusätzlich kann Klassifizierung bei Governance, Zugangskontrolle und Policy Management, persönlich identifizierbarer Information und Anonymisierung verwendet werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die beschriebenen Ausführungsformen und deren Vorteile können am besten unter Bezugnahme auf die nachfolgende Beschreibung in Verbindung mit den beigefügten Zeichnungen verstanden werden. Diese Zeichnungen schränken in keiner Weise Änderungen in Bezug auf Form und Detail ein, die von einem Fachmann auf dem Gebiet an den beschriebenen Ausführungsformen vorgenommen werden können, ohne vom Sinngehalt und Schutzumfang der beschriebenen Ausführungsformen abzuweichen.
    • 1 ist ein Blockdiagramm, das eine beispielhafte Computing- bzw. Rechen-Umgebung aufzeigt, in welcher die hierin offenbarten Verfahren implementiert werden können.
    • 2 ist ein schematisches Blockdiagramm einer Ausführungsform einer Klassifizierungs- und Anonymisierungsoperation.
    • 3 ist ein schematisches Blockdiagramm einer Ausführungsform einer Klassifizierungsoperation einer Eingabetabelle, um eine Ausgabetabelle zu erzeugen.
    • 4 ist ein Ablaufdiagramm einer Ausführungsform eines Verfahrens, um eine Klassifizierungs- und Anonymisierungsoperation eines Datensatzes durchzuführen.
    • 5 ist ein Ablaufdiagramm einer Ausführungsform eines Verfahrens, um eine Klassifizierungsoperation eines Datensatzes durchzuführen.
    • 6 ist ein Ablaufdiagramm einer Ausführungsform eines Verfahrens, um eine Anonymisierungsoperation eines Datensatzes durchzuführen.
    • 7 ist ein schematisches Blockdiagramm einer Ausführungsform zum Anonymisieren einer Eingabetabelle.
    • 8 ist ein schematisches Blockdiagramm einer Ausführungsform zum Erstellen einer Anonymisierungsansicht für eine Eingabetabelle.
    • 9 ist ein schematisches Blockdiagramm einer Ausführungsform einer Bildungsdatenhierarchie.
    • 10 ist ein Blockdiagramm einer beispielhaften Computing- bzw. Rechenvorrichtung, die eine oder mehrere der hierin beschriebenen Operationen durchführen kann, gemäß einigen Ausführungsformen.
  • DETAILLIERTE BESCHREIBUNG
  • Es wird ein Erzeugen von semantischen Namen für einen Datensatz beschrieben. Ein beispielhaftes Verfahren kann ein Abrufen von Daten aus einem Datensatz enthalten, wobei die Daten in einer Vielzahl von Spalten organisiert sind. Das Verfahren kann auch ein Erzeugen von einer oder mehreren semantischen Kandidatenkategorien für diese Spalte enthalten, wobei jede von der einen oder den mehreren semantischen Kandidatenkategorien eine entsprechende Wahrscheinlichkeit für jede der Spalten hat. Das Verfahren kann weiterhin auch ein Erstellen eines Merkmalsvektors für jede Spalte aus der einen oder den mehreren semantischen Spaltenkandidatenkategorien und den entsprechenden Wahrscheinlichkeiten enthalten. Zusätzlich kann das Verfahren auch ein Auswählen einer semantischen Spaltenkategorie aus der einen oder den mehreren semantischen Kandidatenkategorien unter Verwendung von wenigstens dem Merkmalsvektor und einem trainierten Maschinenlern-Modell enthalten.
  • Bei den beschriebenen Systemen und Verfahren verwendet ein Datenspeichersystem eine auf SQL (Structured Query Language (= strukturierte Abfrage-Sprache)) basierende relationale Datenbank. Diese Systeme und Verfahren sind jedoch auf jede Art von Datenbank anwendbar, die eine beliebige Datenspeicherarchitektur verwendet und eine beliebige Sprache verwendet, um Daten innerhalb der Datenbank zu speichern und wiederzugewinnen bzw. abzurufen. Die hierin beschriebenen Systeme und Verfahren stellen weiterhin ein mehrmandantenfähiges System bereit, das einer Isolierung von Rechenressourcen und Daten zwischen unterschiedlichen Kunden/Clients und zwischen unterschiedlichen Benutzern innerhalb desselben Kunden/Clients unterstützt.
  • Bei einer Ausführungsform kann eine Cloud-Computing-Plattform spaltenorientierte Daten, die Teil eines Datensatzes sind, automatisch klassifizieren. Eine Klassifizierung kann es Kunden ermöglichen, ihre Daten zu verstehen, ermöglicht es ihnen aber auch, eine Vielfalt von Werkzeugen bzw. Tools für Data Governance und Datenschutz zu verwenden, die an Bedeutung gewinnen können, wenn immer mehr Datenschutzbestimmungen auf der ganzen Welt Gesetz werden. Als Teil dieser Bestimmungen bzw. Vorschriften ist es für Kunden unbedingt erforderlich zu verstehen, welche persönlichen Daten sie haben, wo sie sich befinden, wie lange sie sie schon gehabt haben und wie sie sie schützen können, während sie dennoch Erkenntnisse gewinnen. Klassifizierung ist ein wichtiger erster Schritt. Zusätzlich kann eine Klassifizierung bei Governance, Zugangskontrolle und Policy Management, persönlich identifizierbarer Information und Anonymisierung verwendet werden.
  • Bei dieser Ausführungsform ruft die Cloud-Computing-Plattform Daten aus einem Datensatz ab, wobei die Daten spaltenorientierte Daten sind oder extrahiert oder in spaltenorientierte Daten umgewandelt bzw. transformiert werden können. Die Cloud-Computing-Plattform bestimmt weiterhin eine oder mehrere semantische Kategorien für jede der Spalten, die mit den Daten assoziiert sind. Die semantischen Kategorien können erzeugt werden, indem die Daten unter Verwendung einer Vielfalt von Schemata untersucht werden, um die eine oder die mehreren semantischen Kategorien zu bestimmen. Zum Beispiel und bei einer Ausführungsform kann die Cloud-Computing-Plattform Whitelist- und/oder Blacklist-Bloom-Filter anwenden, eine Nachschautabelle verwenden und/oder einen Bereich oder einen Bereich und ein Muster anwenden. Verschiedene Bloom-Filter oder andere Schemata können auf dieselbe Spalte angewendet werden, um mehrere unterschiedliche semantische Kandidatenkategorien für eine einzelne Spalte zu erzeugen.
  • Zusätzlich kann die Cloud-Computing-Plattform eine Wahrscheinlichkeit für jede der semantischen Kandidatenkategorien bestimmen. Bei einer Ausführungsform stellt die Wahrscheinlichkeit eine Möglichkeit dar, dass die Spaltendaten zu den assoziierten semantischen Kategorie passen. Die Cloud-Computing-Plattform bestimmt weiterhin eine semantische Spaltenkategorie unter Verwendung der Wahrscheinlichkeiten der semantischen Kandidatenkategorien und einer Schwelle. Während die semantische Spaltenkategorie für jede Spalte im Datensatz bestimmt ist, ordnet die Cloud-Computing-Plattform den Datensatzspalten eine Datenschutzkategorie zu. Weiterhin kann die Cloud-Computing-Plattform die Daten unter Verwendung der Datenschutzkategorisierungen des Datensatzes anonymisieren.
  • 1 ist ein Blockdiagramm einer beispielhaften Rechenumgebung 100, in welcher die hierin offenbarten Systeme und Verfahren implementiert werden können. Insbesondere kann eine Cloud-Computing-Plattform 110 implementiert werden, wie beispielsweise AMAZON WEB SERVICES™ (AWS), MICROSOFT AZURE™, GOOGLE CLOUD™ oder GOOGLE CLOUD PLATFORM™ oder dergleichen. Wie es auf dem Gebiet bekannt ist, stellt eine Cloud-Computing-Plattform 110 Rechenressourcen und Speicherressourcen bereit, die erworben (gekauft) oder geleast und konfiguriert werden können, um Anwendungen auszuführen und Daten zu speichern.
  • Die Cloud-Computing-Plattform 110 kann einen Cloud-Computing-Dienst 112 hosten, der eine Speicherung von Daten auf der Cloud-Computing-Plattform 110 (z.B. Datenmanagement und -zugriff) und Analysefunktionen (z.B. SQL-Abfragen, Analyse) sowie andere Berechnungsfähigkeiten (z.B. sichere Datenfreigabe bzw. sicheres Teilen von Daten zwischen Benutzern der Cloud-Computing-Plattform 110) ermöglicht bzw. erleichtert. Die Cloud-Computing-Plattform 110 kann eine dreischichtige Architektur enthalten: Datenspeicherung 140, Abfrageverarbeitung 130 und Cloud-Dienste 120.
  • Die Datenspeicherung 140 kann das Speichern von Daten auf der Cloud-Computing-Plattform 110 in einer oder mehreren Cloud-Datenbanken 141 ermöglichen bzw. erleichtern. Die Datenspeicherung 140 kann einen Speicherdienst wie beispielsweise AMAZON S3 verwenden, um Daten und Abfrageergebnisse auf der Cloud-Computing-Plattform 110 zu speichern. Bei besonderen Ausführungsformen können, um Daten in die Cloud-Computing-Plattform 110 zu laden, Datentabellen horizontal in große, unveränderliche Dateien partitioniert werden, die analog zu Blöcken oder Seiten in einem herkömmlichen Datenbanksystem sein können. Innerhalb von jeder Datei werden die Werte von jedem Attribut oder jeder Spalte miteinander gruppiert und unter Verwendung eines Schemas komprimiert, das manchmal als hybrid spaltenorientiert bezeichnet wird. Jede Tabelle hat eine Kopfzeile, die neben anderen Metadaten die Offsets von jeder Spalte innerhalb der Datei enthält.
  • Zusätzlich zu einem Speichern von Tabellendaten ermöglicht bzw. erleichtert der Datenspeicher 140 die Speicherung von temporären Daten, die durch Abfrageoperationen (z.B. Verknüpfungen) erzeugt sind, sowie der Daten, die in großen Abfrageergebnissen enthalten sind. Dies kann zulassen, dass das System große Abfragen ohne Fehler aufgrund von nicht genügendem Arbeitsspeicher oder nicht genügendem Speicherplatz berechnet. Eine Speicherung von Abfrageergebnissen auf diese Weise kann eine Abfrageverarbeitung vereinfachen, da es die Notwendigkeit für serverseitige Cursor entfernt, die in herkömmlichen Datenbanksystemen gefunden werden.
  • Die Abfrageverarbeitung 130 kann eine Abfrageausführung innerhalb von elastischen Clustern von virtuellen Maschinen handhaben, die hierin als virtuelle Warenlager bzw. virtuelle Lager bzw. virtual Warehouses oder Data Warehouses bzw. universelle Datenbanken bezeichnet werden. Somit kann die Abfrageverarbeitung 130 ein oder mehrere virtuelle Lager 131 enthalten, die hierin auch als universelle Datenbanken bzw. Data Warehouses bezeichnet werden können. Die virtuellen Lager 131 können eine oder mehrere virtuelle Maschinen sein, die auf der Cloud-Computing-Plattform 110 in Betrieb ist oder sind. Die virtuellen Lager 131 können Rechenressourcen sein, die zu irgendeinem Zeitpunkt nach Bedarf erstellt, zerstört oder bezüglich der Größe geändert bzw. neu bemaßt werden können. Diese Funktionalität kann ein „elastisches“ virtuelles Lager erstellen, das sich je nach Bedarf des Benutzers erweitert, zusammenzieht oder den Betrieb einstellt. Ein Erweitern eines virtuellen Lagers beinhaltet ein Erzeugen eines oder mehrerer Rechenknoten 132 zu einem virtuellen Lagerhaus 131. Das Zusammenziehen eines virtuellen Lagers beinhaltet ein Entfernen eines oder mehrerer Rechenknoten 132 aus einem virtuellen Lager 131. Mehr Rechenknoten 132 können zu schnelleren Rechenzeiten führen. Zum Beispiel könnte ein Laden von Daten, das auf einem System mit vier Knoten fünfzehn Stunden dauert, mit zweiunddreißig Knoten nur zwei Stunden dauern.
  • Die Cloud-Dienste 120 können eine Sammlung von Diensten sein, die Aktivitäten über den Cloud-Computing-Dienst 110 hinweg koordinieren. Diese Dienste verbinden alle der unterschiedlichen Komponenten des Cloud-Computing-Dienstes 110, um Benutzeranfragen zu verarbeiten, von einer Anmeldung bis zu einem Abfrageversand. Cloud-Dienste 120 können auf Recheninstanzen in Betrieb sein, die von dem Cloud-Computing-Dienst 110 von der Cloud-Computing-Plattform 110 bereitgestellt werden. Die Cloud-Dienste 120 können eine Sammlung von Diensten enthalten, die virtuelle Lager, Abfragen, Transaktionen, Datenaustausch und die mit solchen Diensten assoziierten Metadaten, wie beispielsweise Datenbankschemata, Zugriffs- bzw. Zugangskontrollinformation, Verschlüsselungsschlüssel und Nutzungsstatistiken, managen. Die Cloud-Dienste 120 können einen Authentifizierungs-Maschine 121, einen Infrastruktur-Manager 122, einen Optimierer 123, einen Austausch-Manager 124, eine Maschine für Sicherheit 125 und einen Metadatenspeicher 126 enthalten, sind aber nicht darauf beschränkt.
  • Bei einer Ausführungsform kann der Cloud-Computing-Dienst 112 einen Datensatz basierend auf den Inhalten der Daten in dem Datensatz klassifizieren. Bei dieser Ausführungsform ruft der Cloud-Computing-Dienst 112 Daten aus einem Datensatz ab, wobei die Daten in einer Vielzahl von Spalten organisiert sind. Der Cloud-Computing-Dienst 112 kann weiterhin eine oder mehrere semantische Kandidatenkategorien für jede Spalte erzeugen, wobei jede der einen oder mehreren semantischen Kandidatenkategorien eine entsprechende Wahrscheinlichkeit hat. Der Cloud-Computing-Dienst 112 kann weiterhin einen Merkmalsvektor für jede Spalte aus der einen oder den mehreren semantischen Spaltenkandidatenkategorien und den entsprechenden Wahrscheinlichkeiten erstellen. Zusätzlich kann der Cloud-Computing-Dienst 112 unter Verwendung von wenigstens dem Merkmalsvektor und einem trainierten Maschinenlernmodell auch für jede Spalte eine semantische Spaltenkategorie aus der einen oder den mehreren semantischen Kandidatenkategorien auswählen.
  • 2 ist ein schematisches Blockdiagramm einer Ausführungsform eines Systems 200, das eine Klassifizierungs- und Anonymisierungsoperation an einem Datensatz durchführt. In 2 enthält das System 200 eine Cloud-Computing-Plattform 204, die einen Datensatz 202 abruft und diesen Datensatz 202 klassifiziert und/oder anonymisiert, um einen klassifizierten und/oder anonymisierten Datensatz 206 zu ergeben. Bei einer Ausführungsform kann der Datensatz ein beliebiger Typ eines Datensatzes sein, der in Spalten gespeichert ist, oder er kann in spaltenartige bzw. spaltenorientierte Daten umgewandelt werden (z.B. JavaScript-Objektnotation, Schlüssel-Wert-Daten und/oder andere Arten von gespeicherten Daten). Bei einer weiteren Ausführungsform ist die Cloud-Computing-Plattform 204 eine Computing-Plattform, die eine Vielfalt von Datenverarbeitungs- und/oder -speicherdiensten anbietet, wie beispielsweise die oben in 1 beschriebene Cloud-Computing-Plattform 110. Bei einer anderen Ausführungsform ist der Client 206 ein Personalcomputer, ein Laptop, ein Server, ein Tablet, ein Smartphone und/oder eine andere Art von Vorrichtung, die Daten verarbeiten kann. Bei dieser Ausführungsform kann der Client 206 die Klassifizierung und/oder Anonymisierung des Datensatzes 202 anfordern. Zusätzlich kann der Client 206 Zwischenergebnisse präsentieren und zulassen, dass ein Benutzer die Ergebnisse ändert. Zum Beispiel und bei einer Ausführungsform kann der Client semantische Kategorien und/oder semantische Kategorientypen für jede der Spalten des Datensatzes präsentieren. Ein Benutzer kann die semantischen Kategorien und/oder die semantischen Kategorientypen für eine oder mehrere der Spalten modifizieren und die Cloud-Computing-Plattform 204 kann den Datensatz neu klassifizieren und/oder anonymisieren. Bei einer Ausführungsform sind die klassifizierten und/oder anonymisierten Daten 208 spaltenorientierte Daten, die unter Verwendung der von der Cloud-Computing-Plattform 204 bestimmten Spalten organisiert sind.
  • 3 ist ein schematisches Blockdiagramm einer Ausführungsform einer Klassifizierungsoperation 300 einer Eingabetabelle 302, um eine Ausgabetabelle 306 zu erzeugen. In 3 enthält die Eingabetabelle 302 Spalten 302A-C des Namens 308A, des Alters 308B und von „c“ 308C. Bei einer Ausführungsform enthält die Spalte „c“ 308A Attributwert-Kontaktdaten („Kontakt“, „Zuhause“ und „Email“), die in zusätzliche Spalten erweitert werden können. Bei einer weiteren Ausführungsform klassifiziert der Klassifikator 304 die Eingabedaten basierend auf dem Inhalt der Daten in den Spalten 308A-C. Bei dieser Ausführungsform analysiert dieser Klassifikator 304 für jede Spalte die Spaltendaten und bestimmt eine oder mehrere semantische Kandidatenkategorien für die Spaltendaten. Eine semantische Kategorie ist ein Identifizierer für die Spalte, die die Daten beschreibt. Der Klassifikator 304 kann mehrere semantische Kategorien für eine einzelne Spalte erzeugen, da die Spaltendaten zu unterschiedlichen semantischen Kategorien passen können. Zum Beispiel und bei einer Ausführungsform kann eine Spalte mit Daten, die Namen beschreiben, auch zu einer Beschreibung von Straßennamen passen.
  • Bei einer Ausführungsform klassifiziert der Klassifikator 304 die Daten in den Spalten 308A-C aus der Eingabetabelle 302 in die Ausgabetabelle 306 mit Spalten 310A-E. Der Klassifikator wandelt bei dieser Ausführungsform drei Datenspalten in den Eingabedaten in vier Datenspalten um: „Name“, „Alter“, „Kontakt:Telefon“ und „Kontakt:Email“. Die Klassifizierungsausgabe organisiert die Daten in eine andere Struktur von Spalten, um die klassifizierten Daten zu organisieren. Bei dieser Ausführungsform ist die Spalte 310A Spalten_Name für die Ausgabetabelle 306, wobei Spalten_Name der ursprüngliche Spaltenname in der Eingabetabelle 302 ist. Die Spalte 31 0B ist ein Pfad für die klassifizierten Daten (z. B. blank bzw. leer für separate Spaltendaten, wie beispielsweise die Spalte 308A-B und ein Pfadname für die in der Spalte 308C eingebetteten Daten). Die Spalte 310C gibt den klassifizierten Daten eine anfängliche semantische Kategorie. Zum Beispiel und bei einer Ausführungsform haben die Daten mit dem Spaltennamen „Name“ eine semantische Kategorie „Name“, haben die Daten mit dem Spaltennamen „Alter“ eine semantische Kategorie „Alter“, haben die Daten mit dem Spaltennamen „c“ und dem Pfad „Kontakt:Telefon“ eine semantische Kategorie „Telefon_Nummer“ und haben die Daten mit dem Spaltennamen „c“ und dem Pfad „Kontakt:E-Mail“ eine semantische Kategorie „Email“. Bei einer Ausführungsform ist die semantische Kategorie für die Spaltendaten äquivalent zu einer semantischen Kategorie.
  • Mit der zugeordneten semantischen Kategorie kann eine Datenschutzkategorie zugeordnet werden. Bei einer Ausführungsform bestimmt der Klassifikator 304 eine Datenschutzkategorie für die Daten basierend auf der Bezeichnung der semantischen Kategorie. Bei dieser Ausführungsform gibt es wenigstens vier verschiedene Arten von Datenschutzkategorien: Identifizierer, Quasi-Identifizierer, empfindlich und andere. Bei einer anderen Ausführungsform kann es andere Arten der Privatsphären- bzw. Datenschutzkategorien geben. Bei einer Ausführungsform zeigen die Datenschutzkategorien an, wie die Daten während der Anonymisierungsoperation zu behandeln sind. Zum Beispiel und bei einer Ausführungsform werden Daten, die eine Datenschutzkategorie eines Identifizierers haben oder empfindlich sind, während der Anonymisierungsoperation unterdrückt. Identifiziererdaten sind Daten, die eine Person oder eine Sache identifizieren können, wie beispielsweise ein Name, eine Email-Adresse oder eine Telefonnummer. Somit wird dann, wenn Identifiziererdaten die Anonymisierungsoperation überleben, die Anonymität verloren werden. Empfindliche bzw. sensible Daten, wie beispielsweise medizinische Ergebnisse bzw. Befunde, sind eine Art von Daten, die aus moralischen oder rechtlichen Gründen nicht offengelegt werden dürfen. Quasi-Identifizierer sind Attribute, die eine Person oder eine Sache für sich genommen nicht identifizieren können, aber in Kombination ein Individuum eindeutig identifizierend sein können. Zum Beispiel können Alter, Geschlecht und Postleitzahl in der Lage sein, ein Individuum allein oder in Kombination mit anderen öffentlich zugänglichen Daten zu identifizieren. Daten mit der Datenschutzkategorie „Sonstiges“ werden nicht transformiert.
  • Wie es oben angegeben ist, können die klassifizierten Daten mehr als eine mögliche semantische Kategorie haben. Bei einer Ausführungsform klassifiziert der Klassifikator 304 den „Namen“ derart, dass er eine semantische Kategorie von „Name“ und auch eine semantische Kategorie wie „US_Stadt“ hat. Welche semantische Kategorie dieser Klassifikator zum Zuordnen auswählt, basiert auf einer Wahrscheinlichkeitsberechnung durch den Klassifikator. Bei einer Ausführungsform ist die Wahrscheinlichkeit eine Möglichkeit, dass die berechnete semantische Kategorie für die Daten in dieser Spalte korrekt bzw. richtig ist. Bei dieser Ausführungsform wird jede für eine Spalte von Daten berechnete semantische Kategorie eine berechnete Wahrscheinlichkeit haben. Der Klassifikator wählt die semantische Kategorie basierend auf der Wahrscheinlichkeit und einer Schwelle aus. Bei einer Ausführungsform wählt der Klassifikator die semantische Kategorie mit der höchsten Wahrscheinlichkeit aus, die über der Schwelle liegt. Es ist möglich, dass der Klassifikator keinerlei semantische Kategorie für eine bestimmte Spalte auswählt. Bei einer Ausführungsform wird die Schwelle durch einen Benutzer zugeordnet oder ist ein Vorgabe- bzw. Standardwert. Bei einer anderen Ausführungsform berechnet der Klassifikator die Schwelle unter Verwendung eines Maschinenlernmechanismus.
  • In 3 berechnet der Klassifikator 304 zwei verschiedene semantische Kategorien für die Spalte „Name“: „Name“ mit einer Wahrscheinlichkeit von 0,9 und „US_Stadt“ mit einer Wahrscheinlichkeit von 0,1. Bei einer Ausführungsform würde der Klassifikator die Spalte „Name“ mit einer semantischen Kategorie von „Name“ basierend auf den relativen Prioritäten zuordnen bzw. zuweisen. Bei einer weiteren Ausführungsform könnte ein Benutzer die Klassifizierungen überprüfen und die Klassifizierungen manuell wie gewünscht ändern. Eine Klassifizierung der Daten wird nachstehend bei 5 weiter beschrieben.
  • 4 ist ein Ablaufdiagramm einer Ausführungsform eines Verfahrens 400, um eine Klassifizierungs- und Anonymisierungsoperation eines Datensatzes durchzuführen. Im Allgemeinen kann das Verfahren 400 durch eine Verarbeitungslogik durchgeführt werden, die Hardware (z.B. eine Verarbeitungsvorrichtung, eine Schaltung, eine bestimmte bzw. dedizierte Logik, eine programmierbare Logik, einen Mikrocode, Hardware einer Vorrichtung, eine integrierte Schaltung usw.), Software (z.B. Anweisungen, die auf einer Verarbeitungsvorrichtung in Betrieb sind oder ausgeführt werden) oder eine Kombination davon enthalten kann. Zum Beispiel kann die Verarbeitungslogik als die Abfrageverarbeitung 130 implementiert sein. Das Verfahren 400 kann bei einem Schritt 402 beginnen, wo die Verarbeitungslogik den Datensatz abruft. Bei einer Ausführungsform besteht der Datensatz aus spaltenorientierten bzw. spaltenförmigen Daten oder kann in spaltenorientierte bzw. spaltenförmige Daten extrahiert oder transformiert werden. Bei einem Schritt 404 kann die Verarbeitungslogik den Datensatz klassifizieren. Bei einer Ausführungsform klassifiziert die Verarbeitungslogik den Datensatz durch Bestimmen der semantischen Charakteristik bzw. Eigenschaft der Daten im Datensatz. Bei einer Ausführungsform bestimmt die Verarbeitungslogik die semantischen Eigenschaften durch Klassifizieren der Daten im Datensatz und Bestimmen von einer oder mehreren semantischen Kandidatenkategorien (oder äquivalenten semantischen Kategorien) für jede der Spalten im Datensatz. Bei einer weiteren Ausführungsform bestimmt die Verarbeitungslogik die semantischen Kategorien durch Anwenden eines Bloom-Filters, von Whitelist und/oder Blacklist und weiterhin durch Bestimmen einer Wahrscheinlichkeit für jede der semantischen Kategorien. Eine Klassifizierung des Datensatzes ist unten bei 5 weiter beschrieben.
  • Bei einem Schritt 406 bestimmt die Verarbeitungslogik eine anonymisierte Ansicht des Datensatzes. Bei einer Ausführungsform bestimmt die Verarbeitungslogik die anonymisierte Ansicht unter Verwendung der semantischen Kategorien und assoziierter Datenschutzkategorien, um die Daten zu anonymisieren. Bei dieser Ausführungsform verwendet die Verarbeitungslogik Datenschutzkategorien, um zu bestimmen, ob die individuellen Daten unterdrückt, die individuellen Daten anonymisiert oder ignoriert werden sollen. Eine Anonymisierung des Datensatzes ist unten bei 6 weiter beschrieben. Die Verarbeitungslogik erzeugt die Ansicht bei einem Schritt 408.
  • 5 ist ein Ablaufdiagramm einer Ausführungsform eines Verfahrens 500, um eine Klassifizierungsoperation eines Datensatzes durchzuführen. Im Allgemeinen kann das Verfahren 500 durch eine Verarbeitungslogik durchgeführt werden, die Hardware (z.B. eine Verarbeitungsvorrichtung, eine Schaltung, eine bestimmte bzw. dedizierte Logik, eine programmierbare Logik, einen Mikrocode, Hardware einer Vorrichtung, eine integrierte Schaltung usw.), Software (z.B. Anweisungen, die auf einer Verarbeitungsvorrichtung in Betrieb sind oder ausgeführt werden) oder eine Kombination davon enthalten kann. Zum Beispiel kann die Verarbeitungslogik als die Abfrageverarbeitung 130 implementiert sein. Das Verfahren 500 kann bei einem Schritt 502 beginnen, wo die Verarbeitungslogik den Datensatz abruft. Bei einer Ausführungsform besteht der Datensatz aus spaltenorientierten bzw. spaltenförmigen Daten oder Daten, die in spaltenorientierte bzw. spaltenförmige Daten extrahiert werden können. Zum Beispiel und bei einer Ausführungsform können die Daten eine Mischung aus Spalten und eingebetteten Spalten sein, wie es oben in der Eingabetabelle 302 in 3 dargestellt ist.
  • Die Verarbeitungslogik führt eine Verarbeitungsschleife (Schritte 504-516) durch, um eine semantische Spaltenkategorie zu bestimmen. Bei einem Schritt 506 überprüft die Verarbeitungslogik den Spaltennamen (falls er verfügbar ist). Bei einer Ausführungsform sucht die Verarbeitungslogik nach Fragmenten im Spaltennamen, um zu bestimmen, ob dieser Spaltenname eine Übereinstimmung mit einer der möglichen semantischen Kategorien ist. Bei dieser Ausführungsform verwendet die Verarbeitungslogik eine Übereinstimmung, um entweder die Wahrscheinlichkeit zu erhöhen, dass diese semantische Kategorie eine Übereinstimmung ist, oder um eine Schwelle zu erniedrigen, dass diese semantische Kategorie eine Übereinstimmung ist. Zum Beispiel und bei einer Ausführungsform stimmt ein Spaltenname, der „Lokale Postleitzahl“ ist, mit der semantischen Kategorie „Postleitzahl“ überein. Bei diesem Beispiel kann die Verarbeitungslogik eine Wahrscheinlichkeit um einen bestimmten Prozentsatz (z.B. 10% oder einen anderen Prozentsatz) erhöhen oder eine Schwelle für eine Übereinstimmung um einen bestimmten Prozentsatz (z.B. 10% oder einen anderen Prozentsatz) erniedrigen. Alternativ kann ein Spaltenname, der „Postalisches C“ ist, möglicherweise nicht mit einer der semantischen Kategorien übereinstimmen. Bei diesem Beispiel würde die Verarbeitungslogik die resultierende Wahrscheinlichkeit oder die Schwelle aus diesem Spaltennamen nicht einstellen. Die Verarbeitungsschleife überprüft die Zellen der Spalten, um die semantischen Kandidatenkategorien und Wahrscheinlichkeiten zu bestimmen, bei einem Schritt 508. Bei einer Ausführungsform wendet die Verarbeitungslogik eine Vielfalt von unterschiedlichen Prüfungen für die möglichen semantischen Kategorien an, um die semantischen Kandidatenkategorien und Wahrscheinlichkeiten zu bestimmen. Wenn es zehn mögliche semantische Kategorien gibt, führt die Verarbeitungslogik jede der möglichen Überprüfungen für die zehn möglichen semantischen Kategorien für die Spaltendaten durch. Während es bei einer Ausführungsform eine Prüfung für eine semantische Kategorie gibt, kann es bei alternativen Ausführungsformen mehr als eine Prüfung für die semantische Kategorie geben (z.B. unterschiedliche Prüfungen für Namen oder Adressen basierend auf Sprache oder Lokalität). Dies würde in zehn unterschiedlichen Wahrscheinlichkeiten für die zehn unterschiedlichen möglichen semantischen Kategorien für diese Spalte resultieren. Bei dieser Ausführungsform kann die Verarbeitungslogik eines oder mehreres von folgendem auf die Daten in der Spalte anwenden: ein Whitelist/Blacklist-Bloom-Filter, einen Validator, eine Nachschautabelle, einen Bereich, einen Bereich/ein Muster, eine kundenspezifische Bibliotheksfunktion und/oder eine andere Art von Datenprüfer.
  • Bei einer Ausführungsform wendet die Verarbeitungslogik ein Bloom-Filter auf die Zellen der Spalte an, um eine Wahrscheinlichkeit einer Übereinstimmung für eine semantische Kategorie zu bestimmen. Bei dieser Ausführungsform ist das Bloom-Filter spezifisch für einen bestimmten Typ von semantischer Kategorie. Zum Beispiel und bei einer Ausführungsform kann es ein Bloom-Filter für Vornamen, Nachnamen, Postleitzahl, Straßenadresse, Stadt, Landkreis oder eine andere Art von Daten geben. Das Bloom-Filter kann mit beispielhaftem aus verschiedenen Datenquellen abgegriffenem Inhalt befüllt sein. Zum Beispiel und bei einer Ausführungsform werden 160.000 Vornamen oder 100.000 Nachnamen aus dem Internet abgegriffen, um jeweils ein Bloom-Filter für Vornamen oder Nachnamen zu erstellen. Die Verarbeitungslogik kann einige oder alle Bloom-Filter auf die Spaltendaten anwenden, um die Wahrscheinlichkeit zu bestimmen, dass die Spaltendaten in dieser semantischen Kategorie sein könnten. Zum Beispiel und bei einer Ausführungsform kann dann, wenn es Bloom-Filter für Vorname, Nachname und Stadt gibt, die Verarbeitungslogik jedes dieser Bloom-Filter auf die Spaltendaten anwenden, um eine Wahrscheinlichkeit zu bestimmen, dass die Spaltendaten Daten für Vorname, Nachname und/oder Stadt sind. Bei einer Ausführungsform bestimmt die Verarbeitungslogik eine Wahrscheinlichkeit für eine semantische Kategorie durch Bestimmen der Anzahl von Zellen in der Spalte, die mit einer semantischen Kategorie übereinstimmen, geteilt durch die Gesamtanzahl von Zellen, die Daten haben. Bei dieser Ausführungsform kann eine Spalte dünn besetzt sein, wobei nicht jede Zelle in der Spalte Daten hat. Somit würde die Verarbeitungslogik die Gesamtanzahl von Zellen in der Spalte mit Daten verwenden. Zum Beispiel und bei einer Ausführungsform wäre dann, wenn eine Datenspalte 100 Zellen hätte, 50 mit Daten und 45, die mit der semantischen Kategorie „Name“ übereinstimmen, die Wahrscheinlichkeit einer Übereinstimmung für diese semantische Kategorie 0,9.
  • Bei einer weiteren Ausführungsform kann es Bloom-Filter für Whitelists und/oder Blacklists von Daten geben. Zum Beispiel und bei einer Ausführungsform kann ein Whitelist-Bloom-Filter mit Inhalt befüllt sein, der Möglichkeiten für diese semantische Kategorie aufweist (z.B. kann ein Adressen-Bloom-Filter eine Whitelist mit Einträgen von „Washington“ und „Straße“ haben), und ist ein Blacklist-Bloom-Filter, das mit Inhalt befüllt sein kann, nicht mit dieser semantischen Kategorie assoziiert (z.B. kann eine Blacklist für ein Namens-Bloom-Filter einen Eintrag von „Straße“ haben). Wenn es ein Whitelist- und ein Blacklist-Bloom-Filter gibt, dann kann die Verarbeitungslogik eine Übereinstimmung für das Bloom-Filter bestimmen, wenn die Übereinstimmung im Whitelist-Bloom-Filter und nicht im Blacklist-Bloom-Filter ist, oder alternativ, wenn die Übereinstimmung in sowohl dem Whitelist-Bloom-Filter als auch dem Blacklist-Bloom-Filter ist. Bei einer Ausführungsform kann es ein Blacklist- und/oder Whitelist-Bloom-Filter für unterschiedliche semantische Kategorien geben. Bei einer weiteren Ausführungsform kann ein Benutzer seine eigenen Bloom-Filter aus einer ganzen Spalte oder aus Werten, die nicht identifiziert werden, erstellen.
  • Alternativ kann die Verarbeitungslogik unterschiedliche Überprüfungen verwenden, um andere Arten von semantischen Kategorien zu bestimmen. Bei einer Ausführungsform gibt es kundenspezifische Validatoren, die eine oder mehrere Coderegeln sein können, für semantische Kategorien, die durch algorithmische Regeln überprüft werden können. Zum Beispiel und bei einer Ausführungsform kann ein Validator für eine Internetprotokoll-(IP-)Adresse ein solcher sein, der die Standardformatregeln für eine 32-Bit- oder 128-Bit-IP-Adresse überprüft. Auf ähnliche Weise kann es Validatoren für andere Datentypen geben, die strengen Formatierungsregeln folgen (z.B. (Breitengrad, Längengrad), einheitlicher Ressourcenlokalisierer (URL (= Uniform Resource Locator)), Kreditkartennummern, Email-Adressen, Postleitzahlen der Vereinigten Staaten und/oder andere Datentypen mit strengen Formatierungsregeln). Bei einer anderen Ausführungsform kann die Verarbeitungslogik semantische Kategorien unter Verwendung von anderen Arten von Überprüfungen bestimmen, wie beispielsweise von einer Nachschautabelle, von Bereichen, von Bereichen/Mustern und anderen Typen. Bei einer Ausführungsform kann eine Nachschau- bzw. Nachschlagetabelle für Daten mit einer relativ kleinen Streuung (z.B. US-Bundesstaaten) verwendet werden. Zusätzlich können Bereiche oder Bereiche/Muster angewendet werden, um semantische Kategorien für andere Datentypen (z.B. Daten der Geburt, Alter, Geschlecht und/oder andere Typen) zu bestimmen. Bei einer Ausführungsform bestimmt die Verarbeitungslogik eine Wahrscheinlichkeit für eine semantische Kategorie durch Bestimmen der Anzahl von Zellen in der Spalte, die mit der semantischen Kategorie übereinstimmen, geteilt bzw. dividiert durch die Gesamtanzahl von Zellen in der Spalte, die einen Datenwert haben, wie es oben beschrieben ist.
  • Bei einem Schritt 510 erzeugt die Verarbeitungslogik semantische Kandidatenkategorien für die Spalte. Bei einer Ausführungsform sammelt die Verarbeitungslogik die aus dem obigen Schritt 508 berechneten semantischen Kandidatenkategorien. Die Verarbeitungslogik erzeugt eine Schwelle bei einem Schritt 512. Bei einer Ausführungsform kann eine Schwelle für eine Spalte manuell zugewiesen werden. Bei einer anderen Ausführungsform kann die Schwelle für eine Spalte unter Verwendung eines Maschinenlern-Modells (z.B. eines Zufallswald- bzw. Random-Forest-Modells für maschinelles Lernen) abgeleitet werden. Das Maschinenlern-Modell wird unten weiter beschrieben. Bei dieser Ausführungsform verwendet die Verarbeitungslogik ein trainiertes Maschinenlern-Modell, um die semantische Spaltenkategorie zu bestimmen, wie es unten beschrieben ist.
  • Bei einem Schritt 514 wählt die Verarbeitungslogik eine semantische Spaltenkategorie aus der einen oder den mehreren semantischen Kandidatenkategorien unter Verwendung der Schwelle und der Wahrscheinlichkeiten von der einen oder den mehreren semantischen Kandidatenkategorien aus. Bei einer Ausführungsform wählt die Verarbeitungslogik die semantische Kategorie mit der höchsten Wahrscheinlichkeit aus, die über der Schwelle ist. Es ist möglich, dass die Verarbeitungslogik keinerlei semantische Kategorie für eine bestimmte Spalte auswählt. Bei einer anderen Ausführungsform verwendet die Verarbeitungslogik ein Maschinenlern-Modell, um die semantische Spaltenkategorie zu bestimmen. Bei dieser Ausführungsform erzeugt die Verarbeitungslogik einen Merkmalsvektor aus den Wahrscheinlichkeiten aus der oben beschriebenen Überprüfung der semantischen Kategorien. Die Verarbeitungslogik gibt diesen Merkmalsvektor in das Maschinenlern-Modell ein, wobei das Maschinenlern-Modell eine Bezeichnung bzw. Kennung bzw. ein Label ausgibt, die bzw. das die semantische Spaltenkategorie ist. Bei einer Ausführungsform ist das trainierte Maschinenlern-Modell ein Random-Forest-Modell für maschinelles Lernen, bei dem die Schwellen bzw. Schwellenwerte für die Auswahl einer semantischen Spaltenkategorie in dem trainierten Maschinenlern-Modell codiert sind.
  • Bei einer Ausführungsform wird das trainierte Maschinenlern-Modell unter Verwendung eines Trainingssatzes von spaltenorientierten bzw. spaltenförmigen Trainingssätzen trainiert, die eine Vielfalt von Daten mit zugewiesenen semantischen Kategorien enthalten. Bei dieser Ausführungsform wird das Maschinenlern-Modell unter Verwendung eines Maschinenlernalgorithmus (z.B. eines Random-Forest-Modells) mit den Trainingssätzen iterativ trainiert. Bei jeder Iteration werden die Gewichtungen im Maschinenlern-Modell so eingestellt, dass die Verwendung des Maschinenlern-Modells für die Trainingssätze immer näher an die richtigen Bezeichnungen der semantischen Kategorie für jeden der Trainingssätze herankommt. Wenn das Maschinenlern-Modell die richtigen semantischen Kategorien für den Eingabetrainingssatz (zu innerhalb eines Schwellenwerts) bestimmt, wird das Maschinenlern-Modell trainiert.
  • Die Verarbeitungsschleife endet bei einem Schritt 516. Die Verarbeitungsschleife lässt bei einem Schritt 518 Benutzerbearbeitungen zu. Bei einer Ausführungsform überträgt die Verarbeitungsschleife die semantischen Spaltenkategorien zu einem Client, wobei der Client die semantischen Kategorien für den Datensatz (z.B. in einem Browser oder einem anderen Typ von Anwendung) präsentiert. Bei dieser Ausführungsform kann ein Benutzer die semantischen Kategorien für die unterschiedlichen Spalten im Datensatz überprüfen. Ein Benutzer kann die Zuordnungen bzw. Zuweisungen ändern, wobei der Client die Änderungen der semantischen Kategorie zur Verarbeitungslogik sendet. Die Verarbeitungslogik empfängt die Änderungen der semantischen Kategorie und beendet die Spaltenzuweisungen bei einem Schritt 520.
  • Wie es oben beschrieben ist, besteht eine Verwendung der Zuweisungen der semantischen Kategorie darin, diese Zuweisungen zur Anonymisierung der Daten im Datensatz zu verwenden. Bei einer Ausführungsform kann eine Cloud-Computing-Plattform die Daten im Datensatz durch Erstellen einer anonymisierten Ansicht der Daten anonymisieren. Bei dieser Ausführungsform werden die zugrunde liegenden Daten durch das Erstellen der anonymisierten Ansicht nicht transformiert, so dass die Daten erhalten bleiben und für eine andere Anonymisierung oder für andere Zwecke verwendet werden können. Die anonymisierte Ansicht lässt zu, dass ein Benutzer die Daten verwendet, ohne identifizierbare Daten offenzulegen bzw. preiszugeben. 6 ist ein Ablaufdiagramm einer Ausführungsform eines Verfahrens 600, um eine Anonymisierungsoperation eines Datensatzes durchzuführen. Im Allgemeinen kann das Verfahren 600 durch Verarbeitungslogik durchgeführt werden, die Hardware (z.B. eine Verarbeitungsvorrichtung, eine Schaltung, eine bestimmte bzw. dedizierte Logik, eine programmierbare Logik, einen Mikrocode, Hardware einer Vorrichtung, eine integrierte Schaltung usw.), Software (z.B. Anweisungen, die auf einer Verarbeitungsvorrichtung in Betrieb sind oder ausgeführt werden) oder eine Kombination davon enthalten kann. Zum Beispiel kann die Verarbeitungslogik als die Abfrageverarbeitung 130 implementiert sein. Das Verfahren 600 kann bei einem Schritt 602 beginnen, wo die Verarbeitungslogik den Datensatz und die Klassifizierung des Datensatzes abruft. Bei einer Ausführungsform enthält die Klassifizierung die Zuweisungen von semantischer Kategorie und Datenschutzkategorie für jede der Spalten von Daten im Datensatz.
  • Bei einem Schritt 604 ruft die Verarbeitungslogik die Datenhierarchien für die semantischen Kategorien ab, die mit einer Datenschutz- bzw. Privatsphärenkategorie eines Quasi-Identifizierers identifiziert sind. Bei einer Ausführungsform ist eine Datenhierarchie eine Hierarchie, die spezifischere Daten mit weniger spezifischen Daten in Beziehung setzt. Ein Beispiel für eine Datenhierarchie ist unten in 9 gezeigt. Die Verarbeitungsschleife anonymisiert die Daten im Datensatz unter Verwendung der Datenhierarchien und der Klassifizierung. Bei einer Ausführungsform unterdrückt die Verarbeitungsschleife die Daten für jede Spalte, die eine Datenschutzkategorie eines Identifizierers hat. Bei dieser Ausführungsform können jeweilige Daten, die ein Identifizierer sind, verwendet werden, um ein Individuum eindeutig zu identifizieren. Semantische Kategorien mit einer Datenschutzkategorie eines Identifizierers können Name (entweder Vorname, Nachname, vollständiger und/oder eine Variation des Namens), Kreditkarte, Zahlungskarte, IP-Adresse, Telefonnummer, Sozialversicherungsnummer (oder eine andere staatliche Identifikationsnummer), Email-Adresse, Reisepassnummer, Fahrzeugidentifikationsnummer, International Mobile Equipment Identity (= Internationale Mobile Ausstattungs-Identität) und/oder eine andere Art von Identifizierer sein.
  • Zusätzlich unterdrückt die Verarbeitungslogik die Daten für jede Spalte, die eine Datenschutzkategorie von empfindlich bzw. sensibel hat. Bei einer Ausführungsform ist eine semantische Kategorie von sensibel für Daten, die Individuen normalerweise nicht in allgemeiner Weise offenbaren. Dies kann für medizinisch oder finanziell sensible Daten wie Blutdruck, Größe, Gewicht, Gehalt und/oder andere sensible Daten verwendet werden. Bei einer Ausführungsform bedeutet ein Unterdrücken von Daten, dass die zu unterdrückenden Daten in der Anonymisierungsansicht für den Datensatz nicht offenbart werden.
  • Bei einer weiteren Ausführungsform anonymisiert die Verarbeitungslogik die Daten mit einer Datenschutzkategorie eines Quasi-Identifizierers. Anonymisierung ist der „Prozess, durch welchen persönliche bzw. personenbezogene Daten irreversibel auf solche Weise verändert werden, dass ein Datensubjekt direkt oder indirekt nicht mehr identifiziert werden kann, entweder durch die Datensteuerung allein oder in Zusammenarbeit mit irgendeiner anderen Partei“. Eine risikobasierte Anonymisierung (oder De-Identifikation) basiert auf einer Reduzierung des Risikos einer erneuten Identifizierung während einer Maximierung einer Datennutzung. Re-Identifikation ist der Prozess, durch welchen anonymisierte Daten mit ihrem wahren Eigentümer abgeglichen werden. Zum Beispiel war ein Rechercheur in der Lage, eine leicht zu erwerbende Wählerregistrierungsliste mit „anonymisierten“ Krankenhausdaten zu verknüpfen. Bei den Krankenhausdaten waren nur die Namen der Patienten entfernt worden, aber ihr Geburtsdatum, ihr Geschlecht und ihre Postleitzahl waren immer noch in den Daten enthalten. Der Rechercheur bzw. Forscher zeigte, dass diese drei Merkmale bzw. Attribute ausreichten, um 87% der US-Bevölkerung wieder zu identifizieren.
  • Eine Möglichkeit, Daten zu anonymisieren, wird k-Anonymität genannt. k-Anonymität modifiziert direkte Identifizierer bzw. Identifikatoren und indirekte oder Quasi- Identifizierer bzw. -Identifikatoren so, dass jeder individuelle Datensatz wenigstens k-1 andere Datensätze mit übereinstimmenden Quasi-Identifikatoren gemeinsam hat. Die Gruppen von Datensätzen mit übereinstimmenden Quasi-Identifikatoren sind als Äquivalenzklassen bekannt. Eine Transformation der Daten redigiert direkte Identifikatoren vollständig, während Quasi-Identifikatoren verallgemeinert oder unterdrückt werden, um die k-Einschränkung zu erfüllen, während sie einen Informationsverlust minimieren. Dies ist vor allem ein NP-schweres Problem, weil der Suchraum exponentiell in Bezug auf die Anzahl der Quasi-Identifikatoren wächst und die Ziele weder konvex noch kontinuierlich sind. Bei einer Ausführungsform anonymisiert die Verarbeitungslogik die Daten in der Anonymisierungsansicht durch Anwenden eines k-Anonymitätsalgorithmus, so dass die quasi-identifizierbaren Daten verallgemeinert werden, um die k-Einschränkung zu erfüllen.
  • Bei einer Ausführungsform kann die Verarbeitungslogik Quasi-Identifikatordaten durch Verwenden einer Datenhierarchie, Anwenden einer Regel, Abbilden der Daten auf einen Bereich oder ein Muster und/oder eine andere Art von Transformation verallgemeinern. Bei dieser Ausführungsform kann ein Anwenden einer Regel für formatierte Daten verwendet werden, wie beispielsweise ein Löschen der am weitesten rechtsstehenden Ziffer(n) aus einer Postleitzahl oder IP-Adresse. Zusätzlich kann ein Abbilden der Daten auf einen Bereich für Altersdaten durchgeführt werden, die ein spezifisches Alter auf einen Bereich von Altersgruppen abbilden. Bei einem Schritt 608 erzeugt die Verarbeitungslogik eine anonymisierte Ansicht für den Datensatz unter Verwendung der oben bestimmten Anonymisierungsdaten.
  • 7 ist ein schematisches Blockdiagramm von einer Ausführungsform einer Anonymisierungsoperation 700 auf einer Eingabetabelle. In 7 enthält die Eingabetabelle 702 Spalten für einen Namen 708A, ein Geschlecht 708B, ein Alter 708C, eine Postleitzahl 708D und einen Aufenthalt 708E. Bei einer Ausführungsform identifiziert der Klassifikator die Spalten für den Namen 708A als einen Identifikator bzw. Identifizierer, die Spalten für das Alter 708C und die Postleitzahl 708D als Quasi-identifizierbar und die Spalten für das Geschlecht 708B und den Aufenthalt 708E als andere (z.B. kein Identifikator, Quasi-Identifikator oder sensibel). Die Anonymisierungsoperation führt zwei unterschiedliche Operationen durch, um die Daten zu anonymisieren: Generalisierung bzw. Verallgemeinerung und Unterdrückung (704). Eine Verallgemeinerung verallgemeinert die Daten unter Verwendung einer k-Anonymitätsoperation (oder eines anderen Anonymisierungsschemas) unter Verwendung einer Datenhierarchie oder eines anderen Typs von Operation. Eine Unterdrückung verhindert, dass die Daten angeschaut werden. In 7 wird eine Unterdrückung auf die Namensspalte angewendet, was darin resultiert, dass keine Daten in der Namensspalte 710A einer Ausgabeansicht 706 sichtbar sind. Spalte 710B-D (Alter und Postleitzahl) sind verallgemeinert. Zum Beispiel und bei einer Ausführungsform werden die Altersdaten von einem spezifischen Alter zu einem Altersbereich in Spalte 710C umgewandelt und werden die Postleitzahlendaten durch Entfernen der letzten drei Ziffern der Postleitzahl verallgemeinert. Da die Spalten für Geschlecht und Aufenthalt als sonstige bzw. andere klassifiziert sind, werden diese Daten in der Regel nicht transformiert.
  • Bei einer Ausführungsform wird dann, wenn eine Zeile Daten enthält, die nicht in eine Gruppe verallgemeinert werden können, diese Zeile unterdrückt. Zum Beispiel und bei einer Ausführungsform hat die Zeile mit dem Namen Travis Ortega ein Alter von 70, das außerhalb des Altersbereichs von 55 - 56 Jahren ist, und es gibt nur eine Person im Alter von oder um das Alter von 70. Weil es nur eine Person in dieser Altersgruppe gibt, wird diese Zeile in der Ausgabetabelle 706 unterdrückt (außer für die Daten in der Aufenthaltsspalte 71 0E).
  • 8 ist ein schematisches Blockdiagramm von einer Ausführungsform eines Erstellens 800 einer anonymisierenden Ansicht 808 für eine Eingabetabelle. In 8 werden die Basistabelle 802 und die Datenhierarchien 804 in die Äquivalenzklassen-(EC (= Equivalent Class)-)größen 806 zugeführt bzw. eingespeist. Bei einer Ausführungsform ist, wenn ein k-anonymer Algorithmus auf einen Datensatz angewendet wird, k die minimale anonyme Klassengröße für die Quasi-Identifikatordaten. Wenn Daten auf eine Größe kleiner als die k-Klasse anonymisiert werden, dann werden die Daten unterdrückt (wie es in 7 oben gezeigt ist). Dies wird die anonymisierte Ansicht 806 erzeugen.
  • 9 ist ein schematisches Blockdiagramm von einer Ausführungsform einer Bildungsdatenhierarchie 900. Bei einer Ausführungsform ist eine Datenhierarchie eine Hierarchie, die spezifischere Daten mit weniger spezifischen Daten in Beziehung setzt. In 9 ist die Datenhierarchie 900 eine Bildungsdatenhierarchie, die spezifische Bildungsebenen bzw. -niveaus mit einer allgemeineren Bildungsebene bzw. einem allgemeineren Bildungsniveau in Beziehung setzt. Die Datenhierarchie 900 enthält drei Ebenen in der Hierarchie, beginnend mit dem Wurzelknoten bzw. Stammknoten 902, der einen Wert von NULL hat. Die nächste Ebene enthält Knoten 904A-C, die eine breite Ebene von Bildungsgruppen repräsentieren bzw. darstellen, wie beispielsweise Hochschulbildung 904A, Sekundarbildung 904B und die Grundschul- bzw. Primärbildung 904C. Jeder der Knoten 904A-C ist ein Kind bzw. untergeordnetes Element des Stammknotens 902. Zusätzlich enthält jeder der Knoten 904A-C einen oder mehrere untergeordnete Knoten, die eine spezifischere Art von Bildung darstellen. Zum Beispiel und bei einer Ausführungsform hat der Hochschulbildungsknoten 904A untergeordnete Knoten für Absolventen 906A, Studenten 906B und Berufsausbildung 906C. Bei diesem Beispiel repräsentieren Absolventen 906A, Studenten 906B und Berufsausbildung 906C jeweils eine spezifischere Art von Hochschulbildung. Weiterhin hat der sekundäre Knoten 904B den untergeordneten Knoten Hochschule 906D, der eine spezifischere Art der Sekundärbildung darstellt. Zusätzlich hat der Primärbildungsknoten 904C einen untergeordneten Knoten für eine Grundschule 906E, der eine spezifischere Art von Primärbildung darstellt.
  • Bei einer Ausführungsform kann die Datenhierarchie 900 verwendet werden, um die Daten zu anonymisieren, die sich auf das Bildungsniveau beziehen. Zum Beispiel und bei einer Ausführungsform kann eine Spalte, die eine Bildung auf Collegeebene enthält, anonymisiert werden, indem ein spezifisches Bildungsniveau auf Collegeebene durch „Hochschulbildung“ ersetzt wird.
  • 10 ist ein Blockdiagramm einer beispielhaften Rechenvorrichtung 1000, die eine oder mehrere der hierin beschriebenen Operationen durchführen kann, gemäß einigen Ausführungsformen. Die Rechenvorrichtung 1000 kann mit anderen Rechenvorrichtungen in einem LAN, einem Intranet, einem Extranet und/oder dem Internet verbunden sein. Die Rechenvorrichtung kann in der Eigenschaft eines Server-Rechners in einer Client-Server-Netzwerkumgebung oder in der Eigenschaft eines Clients in einer Peer-to-Peer-Netzwerkumgebung in Betrieb sein. Die Rechenvorrichtung kann durch einen Personalcomputer (PC), eine Set-Top-Box (STB), einen Server, einen Netzwerkrouter, einen Switch oder eine Bridge oder eine andere Maschine bereitgestellt werden, die in der Lage ist, einen Satz von Anweisungen (sequenziell oder auf andere Weise) auszuführen, die durch diese Maschine auszuführende Aktionen spezifizieren. Weiterhin soll, während nur eine einzelne Rechenvorrichtung dargestellt ist, der Ausdruck bzw. Begriff „Rechenvorrichtung“ auch so zu verstehen sein, dass er jede Sammlung von Rechenvorrichtungen enthält, die einzeln oder gemeinsam einen Satz (oder mehrere Sätze) von Anweisungen ausführen, um die hierin diskutierten Verfahren durchzuführen.
  • Die beispielhafte Rechenvorrichtung 1000 kann eine Verarbeitungsvorrichtung (z.B. einen Allzweckprozessor, eine programmierbare logische Schaltung PLD (= Programmable Logic Device)) 1002, einen Hauptspeicher 1004 (z.B. einen synchronen dynamischen Direktzugriffsspeicher (DRAM), einen Nur-Lese-Speicher (ROM)), einen statischen Speicher 1006 (z.B. einen Flash-Speicher und eine Datenspeichervorrichtung 1010) enthalten, die über einen Bus 1030 miteinander kommunizieren können.
  • Die Verarbeitungsvorrichtung 1002 kann durch eine oder mehrere Allzweck-Verarbeitungsvorrichtungen, wie beispielsweise einen Mikroprozessor, eine zentrale Verarbeitungseinheit oder dergleichen, bereitgestellt werden. Bei einem illustrativen Beispiel kann die Verarbeitungsvorrichtung 1002 einen CISC-(Complex Instruction Set Computing (= Berechnung mit komplexem Befehlssatz))Mikroprozessor, einen RISC-(Reduced Instruction Set Computing (= Berechnung mit reduziertem Befehlssatz))Mikroprozessor, einen VLIW-(Very Long Instruction Word (sehr langes Befehlswort))Mikroprozessor oder einen Prozessor, der andere Befehlssätze implementiert, oder Prozessoren, die eine Kombination von Befehlssätzen implementieren, umfassen. Die Verarbeitungsvorrichtung 1002 kann auch eine oder mehrere Verarbeitungsvorrichtungen für spezielle Zwecke umfassen, wie beispielsweise eine anwendungsspezifische integrierte Schaltung (ASIC (= Application Specific Integrated Circuit)), eine im Feld programmierbare (Logik-)Gatter-Anordnung (FPGA (= Field Programmable Gate Array)), einen digitalen Signalprozessor (DSP (= Digital Signal Processor)), einen Netzwerkprozessor oder dergleichen. Die Verarbeitungsvorrichtung 1002 kann so konfiguriert sein, dass sie die hierin beschriebenen Operationen gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung zum Durchführen der hierin diskutierten Operationen und Schritte auszuführt. Bei einer Ausführungsform stellt die Verarbeitungsvorrichtung 1002 eine Cloud-Computing-Plattform 110 der 1 dar. Bei einer anderen Ausführungsform stellt die Verarbeitungsvorrichtung 1002 eine Verarbeitungsvorrichtung einer Client-Vorrichtung (z.B. der Client-Vorrichtungen 101-104) dar.
  • Die Rechenvorrichtung 1000 kann weiterhin eine Netzwerkschnittstellenvorrichtung 1008 enthalten, die mit einem Netzwerk 1020 kommunizieren kann. Die Rechenvorrichtung 1000 kann auch eine Videoanzeigeeinheit 1010 (z.B. eine Flüssigkristallanzeige (LCD (= Liquid Crystal Display)) oder eine Kathodenstrahlröhre (CRT (= Cathode Ray Tube))), eine alphanumerische Eingabevorrichtung 1012 (z.B. eine Tastatur), eine Cursorsteuervorrichtung 1014 (z.B. eine Maus) und eine Akustiksignal-Erzeugungsvorrichtung 1016 (z.B. einen Lautsprecher) enthalten. Bei einer Ausführungsform können die Videoanzeigeeinheit 1010, die alphanumerische Eingabevorrichtung 1012 und die Cursorsteuervorrichtung 1014 in eine einzige Komponente oder Vorrichtung (z.B. einen LCD-Touchscreen) kombiniert werden.
  • Die Datenspeichervorrichtung 1018 kann ein computerlesbares Speichermedium 1028 umfassen, auf dem ein oder mehrere Sätze von ML-Modell-Drift-Managementanweisungen 625, z.B. Anweisungen zum Ausführen der hierin beschriebenen Operationen, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung gespeichert werden können. Die Klassifizierungsanweisungen 1026 können sich auch, ganz oder wenigstens teilweise, innerhalb des Hauptspeichers 1004 und/oder innerhalb der Verarbeitungsvorrichtung 1002 während ihrer Ausführung durch die Rechenvorrichtung 600, den Hauptspeicher 604 und die Verarbeitungsvorrichtung 602 befinden, die auch computerlesbare Medien bilden. Die Anweisungen können weiterhin über ein Netzwerk 1020 über die Netzwerkschnittstellenvorrichtung 1008 übertragen oder empfangen werden.
  • Während das computerlesbare Speichermedium 1028 bei einem illustrativen Beispiel derart gezeigt ist, dass es ein einzelnes Medium ist, sollte der Ausdruck bzw. Begriff „computerlesbares Speichermedium“ so verstanden werden, dass er ein einzelnes Medium oder mehrere Medien (z.B. eine zentralisierte oder verteilte Datenbank und/oder assoziierte Caches und Server) enthält, die den einen oder die mehreren Sätze von Anweisungen speichern. Der Begriff „computerlesbares Speichermedium“ soll auch so verstanden werden, dass er jedes Medium enthält, das in der Lage ist, einen Satz von Anweisungen zur Ausführung durch die Maschine zu speichern, zu codieren oder zu tragen, die veranlassen, dass die Maschine die hierin beschriebenen Verfahren durchführt. Der Begriff „computerlesbares Speichermedium“ soll demgemäß so verstanden werden, dass er Festkörperspeicher, optische Medien und magnetische Medien enthält, aber nicht darauf beschränkt ist.
  • Sofern es nicht ausdrücklich anders angegeben ist, beziehen sich Begriffe wie „Abrufen“, „Erzeugen“, „Auswählen“, „Bestimmen“, „Anonymisieren“, „Berechnen“, „Anwenden“, „Anpassen“ oder dergleichen auf Aktionen und Prozesse, die durch Rechenvorrichtungen ausgeführt oder implementiert sind, was als physische (elektronische) Größen innerhalb der Register und Speicher der Rechenvorrichtung dargestellte Daten in andere als physische Größen innerhalb der Speicher oder Register der Rechenvorrichtung oder von anderen derartigen Informationsspeicher-, Übertragungs- oder Anzeigevorrichtungen auf ähnliche Weise dargestellte Daten manipuliert und transformiert. Auch die Begriffe „erster“, „zweiter“, „dritter“, „vierter“ usw., wie sie hierin verwendet werden, sind als Bezeichnungen zur Unterscheidung zwischen verschiedenen Elementen gedacht und haben möglicherweise nicht unbedingt eine ordinale Bedeutung gemäß ihrer numerischen Bezeichnung.
  • Hierin beschriebene Beispiele beziehen sich auch auf eine Vorrichtung zum Durchführen der hierin beschriebenen Operationen. Diese Vorrichtung kann speziell für die erforderlichen Zwecke konstruiert sein oder sie kann eine Allzweck-Rechenvorrichtung umfassen, die selektiv durch ein Computerprogramm programmiert ist, das in der Rechenvorrichtung gespeichert ist. Ein solches Computerprogramm kann auf einem computerlesbaren, nichtflüchtigen Speichermedium gespeichert werden.
  • Die hierin beschriebenen Verfahren und illustrativen Beispiele sind nicht von Natur aus auf einen bestimmten Computer oder eine andere Vorrichtung bezogen. Verschiedene Allzwecksysteme können gemäß den hierin beschriebenen Lehren verwendet werden, oder es kann sich als zweckmäßig erweisen, speziellere Vorrichtungen zu konstruieren, um die erforderlichen Verfahrensschritte durchzuführen. Die erforderliche Struktur für eine Vielfalt dieser Systeme wird in Erscheinung treten, wie es in der obigen Beschreibung aufgezeigt ist.
  • Die obige Beschreibung soll illustrativ und nicht beschränkend sein. Obwohl die vorliegende Offenbarung mit Verweisen auf spezifische illustrative Beispiele beschrieben worden ist, wird erkannt werden, dass die vorliegende Offenbarung nicht auf die beschriebenen Beispiele beschränkt ist. Der Schutzumfang der Offenbarung sollte unter Bezugnahme auf die folgenden Ansprüche zusammen mit dem vollständigen Schutzumfang von Äquivalenten, die die Ansprüche beanspruchen, bestimmt werden.
  • Wie es hierin verwendet ist, sollen die Singularformen „ein“, „eine“, „einer“ und „der“, „die“, „das“ auch die Pluralformen einschließen, es sei denn, dass der Kontext eindeutig etwas anderes angibt. Es wird weiterhin verstanden werden, dass die Begriffe „umfasst“, „umfassend“, „enthält“ und/oder „einschließlich“, wenn sie hierin verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, aber nicht das Vorhandensein oder Hinzufügen eines oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließen. Daher dient die hierin verwendete Terminologie nur dem Zweck, bestimmte Ausführungsformen zu beschreiben, und soll nicht einschränkend sein.
  • Es sollte auch beachtet werden, dass bei einigen alternativen Implementierungen die angegebenen Funktionen/Handlungen außerhalb der in den Figuren angegebenen Reihenfolge auftreten können. Zum Beispiel können zwei in Aufeinanderfolge gezeigte Figuren tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder können manchmal in umgekehrter Reihenfolge ausgeführt werden, und zwar in Abhängigkeit von Funktionalität/Handlungen, die beteiligt ist/sind.
  • Obwohl die Verfahrensoperationen in einer spezifischen Reihenfolge beschrieben wurden, sollte es verstanden werden, dass zwischen den beschriebenen Operationen andere Operationen ausgeführt werden können, beschriebene Operationen so eingestellt werden können, dass sie zu geringfügig unterschiedlichen Zeiten auftreten, oder die beschriebenen Operationen in einem System verteilt sein können, das das Auftreten der Verarbeitungsoperationen in verschiedenen Intervallen zulässt, die mit der Verarbeitung assoziiert sind.
  • Verschiedene Einheiten, Schaltungen oder andere Komponenten können derart beschrieben oder beansprucht sein, dass sie „konfiguriert sind, um“ oder „konfigurierbar sind, um“ eine oder mehrere Aufgaben auszuführen. In solchen Kontexten wird die Formulierung „konfiguriert, um“ oder „konfigurierbar, um“ verwendet, um Struktur zu konnotieren, indem angezeigt wird, dass die Einheiten/Schaltungen/Komponenten eine Struktur (z.B. Schaltung) enthalten, die die Aufgabe oder Aufgaben während einer Operation ausführt. Daher kann man sagen, dass die Einheit/Schaltung/Komponente konfiguriert ist, um die Aufgabe auszuführen, oder konfigurierbar ist, um die Aufgabe auszuführen, selbst wenn die spezifizierte Einheit/Schaltung/Komponente aktuell nicht in Betrieb ist (z.B. nicht eingeschaltet ist). Die mit der Sprache „konfiguriert, um“ oder „konfigurierbar, um“ verwendeten Einheiten/Schaltungen/Komponenten enthalten Hardware - zum Beispiel Schaltungen, einen Programmanweisungen speichernden Speicher, die ausführbar sind, um die Operation zu implementieren, usw. Ein Vortragen, dass eine Einheit/Schaltung/Komponente „konfiguriert ist, um“ eine oder mehrere Aufgaben auszuführen oder „konfigurierbar ist, um“ eine oder mehrere Aufgaben auszuführen, ist ausdrücklich nicht dazu gedacht, sich auf 35 USC 112, para. 6 für diese Einheit/Schaltung/Komponente zu berufen. Zusätzlich kann „konfiguriert, um“ oder „konfigurierbar, um“ eine generische Struktur (z.B. generische Schaltung) enthalten, die durch Software und/oder Firmware (z.B. FPGA oder einen Allzweckprozessor, der Software ausführt) manipuliert wird, um auf eine Weise zu arbeiten, die in der Lage ist, die anstehende(n) Aufgabe(n) durchzuführen. „Konfiguriert, um“ kann auch ein Anpassen eines Herstellungsprozesses (z.B. einer Halbleiterfertigungsanlage) enthalten, um Vorrichtungen (z.B. integrierte Schaltungen) zu fertigen, die angepasst sind, um eine oder mehrere Aufgaben zu implementieren oder durchzuführen. „Konfigurierbar, um“ ist ausdrücklich nicht dazu bestimmt, auf leere Medien, einen nicht programmierten Prozessor oder einen nicht programmierten generischen Computer oder eine nicht programmierte programmierbare Logikvorrichtung, eine programmierbare Gate-Anordnung oder eine andere nicht programmierte Vorrichtung angewendet zu werden, es sei denn, sie wird durch ein programmiertes Medium begleitet, das der nicht programmierten Vorrichtung die Fähigkeit verleiht, derart konfiguriert zu werden, dass sie die offenbarte(n) Funktion(en) durchführt.
  • Eine beliebige Kombination aus einem oder mehreren computerverwendbaren oder computerlesbaren Medien kann verwendet werden. Zum Beispiel kann ein computerlesbares Medium eines oder mehreres von einer tragbaren Computerdiskette, einer Festplatte, einer Direktzugriffsspeicher-(RAM-)Vorrichtung, einer Nur-Lese-Speicher-(ROM-)Vorrichtung, einer löschbaren programmierbaren Nur-Lese-Speicher-(EPROM- oder Flash-Speicher-)Vorrichtung, einer tragbaren Nur-Lese-Speicher-Compactdisk (CDROM), einer optischen Speichervorrichtung und einer magnetischen Speichervorrichtung enthalten. Ein Computerprogrammcode zum Ausführen von Operationen der vorliegenden Offenbarung kann in einer beliebigen Kombination von einer oder mehreren Programmiersprachen geschrieben sein. Ein solcher Code kann aus einem Quellcode in eine computerlesbare Assemblersprache oder einen Maschinencode, die oder der für die Vorrichtung oder den Computer geeignet ist, auf der oder dem der Code ausgeführt wird, kompiliert werden.
  • Ausführungsformen können auch in Cloud-Computing-Umgebungen implementiert werden. In dieser Beschreibung und den folgenden Ansprüchen kann „Cloud Computing“ definiert werden als ein Modell zum Ermöglichen eines allgegenwärtigen, bequemen, bedarfsgerechten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Rechenressourcen (z.B. Netzwerke, Server, Speicher, Anwendungen und Dienste), die schnell bereitgestellt (einschließlich über Virtualisierung) und mit minimalem Management- bzw. Verwaltungsaufwand oder Interaktion mit einem Dienstanbieter freigegeben und dann entsprechend skaliert werden können. Ein Cloud-Modell kann sich aus verschiedenen Merkmalen (z.B. bedarfsgerechte Selbstbedienung (On-Demand-Self-Service), breiter Netzwerkzugriff, Ressourcenpooling, schnelle Elastizität und gemessener Dienst), Dienstmodellen (z.B. Software als Dienst („SaaS“ (= Software as a Service)), Plattform als Dienst („PaaS“ (= Platform as a Service)) und Infrastruktur als Dienst („IaaS“ (= Infrastructure as a Service))) und Einsatz- bzw. Nutzungs- bzw. Bereitstellungsmodellen (z.B. Private Cloud, Gemeinschafts-Cloud bzw. Community Cloud, Öffentliche bzw. Public Cloud und Hybride Cloud) zusammensetzen. Die Ablaufdiagramme und Blockdiagramme in den beigefügten Figuren stellen die Architektur, Funktionalität und den Betreib bzw. die Funktionsweise möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung dar. In dieser Hinsicht kann jeder Block in den Fluss- bzw. Ablaufdiagrammen oder Blockdiagrammen ein Modul, ein Segment oder einen Teilbereich des Codes darstellen, der eine oder mehrere ausführbare Anweisungen zum Implementieren der spezifizierten logischen Funktion(en) umfasst. Es wird auch angemerkt werden, dass jeder Block der Blockdiagramme oder Fluss- bzw. Ablaufdiagramme und Kombinationen von Blöcken in den Blockdiagrammen oder Flussdiagrammen durch hardwarebasierte Systeme für spezielle Zwecke, die die spezifizierten Funktionen oder Handlungen durchführen, oder Kombinationen von Hardware für spezielle Zwecke und Computeranweisungen implementiert werden können. Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung führen bzw. anweisen kann, auf eine bestimmten Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsgegenstand erzeugen, der Anweisungsmittel enthält, die die Funktion/Handlung implementieren, die in dem Block oder den Blöcken des Flussdiagramms und/oder des Blockdiagramms spezifiziert ist.
  • Die vorstehende Beschreibung ist zum Zwecke einer Erklärung unter Bezugnahme auf spezifische Ausführungsformen beschrieben worden. Die obigen illustrativen Diskussionen sollen jedoch nicht erschöpfend sein oder die Erfindung auf die offenbarten präzisen Formen beschränken. Viele Modifikationen und Variationen sind im Hinblick auf die obigen Lehren möglich. Die Ausführungsformen wurden ausgewählt und beschrieben, um die Prinzipien der Ausführungsformen und ihre praktischen Anwendungen am besten zu erklären, um dadurch andere Fachleute auf dem Gebiet in die Lage zu versetzen, die Ausführungsformen und verschiedene Modifikationen, wie sie für die besondere betrachtete bzw. angedachte Verwendung geeignet sein können, am besten zu nutzen. Demgemäß sind die vorliegenden Ausführungsformen als illustrativ und nicht als einschränkend zu betrachten und ist die Erfindung nicht auf die hierin angegebenen Details zu beschränken, sondern kann innerhalb des Umfangs und der Äquivalente der beigefügten Ansprüche modifiziert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 17/163156 [0001]

Claims (20)

  1. Computerprogramm, das Anweisungen umfasst, die dann, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, veranlassen, dass der eine oder die mehreren Computer Operationen durchführt oder durchführen, wobei die Operationen folgendes umfassen: Abrufen von Daten aus einem Datensatz, wobei die Daten in einer Vielzahl von Spalten organisiert sind; und für jede Spalte in der Vielzahl von Spalten: Erzeugen von einer oder mehreren semantischen Kandidatenkategorien für diese Spalte, wobei jede von der einen oder den mehreren semantischen Kandidatenkategorien eine entsprechende Wahrscheinlichkeit hat, Erstellen eines Merkmalsvektors für diese Spalte aus der einen oder den mehreren semantischen Kandidatenkategorien und den entsprechenden Wahrscheinlichkeiten, und Auswählen einer semantischen Spaltenkategorie aus der einen oder den mehreren semantischen Kandidatenkategorien unter Verwendung von wenigstens dem Merkmalsvektor und einem trainierten Maschinenlern-Modell.
  2. Computerprogramm nach Anspruch 1, wobei es eine Vielzahl von semantischen Kandidatenkategorien für wenigstens eine Spalte gibt.
  3. Computerprogramm nach Anspruch 1, wobei die Operationen weiterhin folgendes umfassen: Bestimmen eines Typs einer semantischen Kategorie für jede der Vielzahl von Spalten basierend auf wenigstens der semantischen Spaltenkategorie für diese Spalte.
  4. Computerprogramm nach Anspruch 3, wobei ein Typ einer semantischen Kategorie aus der Gruppe ausgewählt wird, die aus einem Identifikator bzw. Identifizierer, einem Quasi-Identifikator bzw. Quasi-Identifizierer und sensibel besteht.
  5. Computerprogramm nach Anspruch 3, wobei die Operationen weiterhin folgendes umfassen: Anonymisieren der Daten unter Verwendung der Typen einer semantischen Kategorie für jede der Vielzahl von Spalten.
  6. Computerprogramm nach Anspruch 1, wobei eine Erzeugung von einer oder mehreren semantischen Kandidatenkategorien folgendes umfasst: Erzeugen der Wahrscheinlichkeit für jede der Vielzahl von einer oder mehreren semantischen Kandidatenkategorien.
  7. Computerprogramm nach Anspruch 6, wobei die Erzeugung der Wahrscheinlichkeiten folgendes umfasst: Auswählen einer Spalte aus der Vielzahl von Spalten; Anwenden eines Bloom-Filters mit einer potenziellen semantischen Kategorie auf die Daten dieser Spalte; und Berechnen einer Wahrscheinlichkeit basierend auf einem Satz von Ergebnissen aus der Anwendung des Bloom-Filters auf die Spaltendaten.
  8. Computerprogramm nach Anspruch 6, wobei das Bloom-Filter eines von einem Whitelist-Bloom-Filter und einem Blacklist-Bloom-Filter ist.
  9. Computerprogramm nach Anspruch 1, wobei das trainierte Maschinenlern-Modell ein mit Zufallswald (Random Forest) trainiertes Maschinenlern-Modell ist.
  10. System, umfassend: eine Gruppe von Speicherressourcen; einen Abfrageprozessor, um: Daten aus einem Datensatz abzurufen, wobei die Daten in einer Vielzahl von Spalten organisiert sind; und für jede Spalte in der Vielzahl von Spalten: mit dem Abfrageprozessor eine oder mehrere semantische Kandidatenkategorien für diese Spalte zu erzeugen, wobei jede von der einen oder den mehreren semantischen Kandidatenkategorien eine entsprechende Wahrscheinlichkeit hat, einen Merkmalsvektor für diese Spalte aus der einen oder den mehreren semantischen Kandidatenkategorien und den entsprechenden Wahrscheinlichkeiten zu erstellen, und eine semantische Spaltenkategorie aus der einen oder den mehreren semantischen Kandidatenkategorien unter Verwendung des Merkmalsvektors und eines trainierten Maschinenlern-Modells auszuwählen.
  11. System nach Anspruch 10, wobei es eine Vielzahl von semantischen Kandidatenkategorien für wenigstens eine Spalte gibt.
  12. System nach Anspruch 10, wobei der Abfrageprozessor weiterhin dazu dient, um: einen Typ einer semantischen Kategorie für jede der Vielzahl von Spalten basierend auf wenigstens der semantischen Spaltenkategorie für diese Spalte zu bestimmen.
  13. System nach Anspruch 12, wobei ein Typ einer semantischen Kategorie aus der Gruppe ausgewählt wird, die aus einem Identifikator bzw. Identifizierer, einem Quasi-Identifikator bzw. Quasi-Identifizierer und sensibel besteht.
  14. System nach Anspruch 12, wobei der Abfrageprozessor weiterhin dazu dient, um: die Daten unter Verwendung der Typen einer semantischen Kategorie für jede der Vielzahl von Spalten zu anonymisieren.
  15. System nach Anspruch 10, wobei für die Erzeugung von einer oder mehreren semantischen Kandidatenkategorien der Abfrageprozessor weiterhin dazu dient, um: die Wahrscheinlichkeit für jede der Vielzahl von einer oder mehreren semantischen Kandidatenkategorien zu erzeugen.
  16. System nach Anspruch 15, wobei für die Erzeugung der Wahrscheinlichkeiten der Abfrageprozessor weiterhin dazu dient, um: eine Spalte aus der Vielzahl von Spalten auszuwählen; ein Bloom-Filter mit einer potenziellen semantischen Kategorie auf die Daten dieser Spalte anzuwenden; und eine Wahrscheinlichkeit basierend auf einem Satz von Ergebnissen aus der Anwendung des Bloom-Filters auf die Spaltendaten zu berechnen.
  17. System nach Anspruch 10, wobei das Bloom-Filter eines von einem Whitelist-Bloom-Filter und einem Blacklist-Bloom-Filter ist.
  18. System nach Anspruch 10, wobei das trainierte Maschinenlern-Modell ein mit Zufallswald (Random Forest) trainiertes Maschinenlern-Modell ist.
  19. Nichtflüchtiges, maschinenlesbares Medium, das Anweisungen speichert, die dann, wenn sie durch einen oder mehrere Prozessoren einer Rechenvorrichtung ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen: Daten aus einem Datensatz abzurufen, wobei die Daten in einer Vielzahl von Spalten organisiert sind; und für jede Spalte in der Vielzahl von Spalten: mit dem Abfrageprozessor eine oder mehrere semantische Kandidatenkategorien für diese Spalte zu erzeugen, wobei jede von der einen oder den mehreren semantischen Kandidatenkategorien eine entsprechende Wahrscheinlichkeit hat, einen Merkmalsvektor für diese Spalte aus der einen oder den mehreren semantischen Kandidatenkategorien und den entsprechenden Wahrscheinlichkeiten zu erstellen, und eine semantische Spaltenkategorie aus der einen oder den mehreren semantischen Kandidatenkategorien unter Verwendung des Merkmalsvektors und eines trainierten Maschinenlern-Modells auszuwählen.
  20. System nach Anspruch 10, wobei die Anweisungen weiterhin veranlassen, dass der eine oder die mehreren Prozessoren einen Typ einer semantischen Kategorie für jede der Vielzahl von Spalten basierend auf wenigstens der semantischen Spaltenkategorie für diese Spalte bestimmt oder bestimmen.
DE202022002899.7U 2021-01-29 2022-01-18 Metadaten-Klassifizierung Active DE202022002899U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/163,156 US11630853B2 (en) 2021-01-29 2021-01-29 Metadata classification
US17/163,156 2021-01-29

Publications (1)

Publication Number Publication Date
DE202022002899U1 true DE202022002899U1 (de) 2023-12-23

Family

ID=82612466

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202022002899.7U Active DE202022002899U1 (de) 2021-01-29 2022-01-18 Metadaten-Klassifizierung

Country Status (5)

Country Link
US (3) US11630853B2 (de)
EP (1) EP4285239A4 (de)
CN (1) CN116762069A (de)
DE (1) DE202022002899U1 (de)
WO (1) WO2022164676A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11657407B1 (en) * 2017-03-13 2023-05-23 Amazon Technologies, Inc. Filtering data with probabilistic filters for content selection
WO2021091522A1 (en) * 2019-11-04 2021-05-14 Hewlett-Packard Development Company, L. P. Anonymization protocols
JP2022121227A (ja) * 2021-02-08 2022-08-19 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11977660B2 (en) * 2021-09-15 2024-05-07 Citibank, N.A. Machine learning modeling to identify sensitive data
US11627155B1 (en) 2021-09-20 2023-04-11 Normalyze, Inc. Cloud infrastructure detection with resource path tracing
US11816582B2 (en) * 2021-10-21 2023-11-14 Snowflake Inc. Heuristic search for k-anonymization
WO2024064705A1 (en) * 2022-09-20 2024-03-28 Ab Initio Technology Llc Techniques for discovering and updating semantic meaning of data fields

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192360B1 (en) * 1998-06-23 2001-02-20 Microsoft Corporation Methods and apparatus for classifying text and for building a text classifier
US7272608B2 (en) * 2002-11-27 2007-09-18 Zyvex Labs, Llc Isosurface extraction into splat hierarchy
JP2004326465A (ja) * 2003-04-24 2004-11-18 Matsushita Electric Ind Co Ltd 文書分類用の学習装置、及びこれを用いた文書分類方法並びに文書分類装置
JP5241370B2 (ja) * 2008-08-01 2013-07-17 三菱電機株式会社 テーブル分類装置、テーブル分類方法及びテーブル分類プログラム
US8306807B2 (en) * 2009-08-17 2012-11-06 N T repid Corporation Structured data translation apparatus, system and method
US20130091138A1 (en) * 2011-10-05 2013-04-11 Microsoft Corporation Contextualization, mapping, and other categorization for data semantics
US9235812B2 (en) * 2012-12-04 2016-01-12 Msc Intellectual Properties B.V. System and method for automatic document classification in ediscovery, compliance and legacy information clean-up
US9792323B2 (en) * 2013-07-02 2017-10-17 Convida Wireless, Llc Mechanisms for semantics publishing and discovery
US9542412B2 (en) * 2014-03-28 2017-01-10 Tamr, Inc. Method and system for large scale data curation
US9940380B2 (en) * 2014-12-02 2018-04-10 International Business Machines Corporation Automatic modeling of column and pivot table layout tabular data
US9842215B2 (en) * 2015-11-03 2017-12-12 Palo Alto Research Center Incorporated Computer-implemented system and method for anonymizing encrypted data
US10650000B2 (en) * 2016-09-15 2020-05-12 Oracle International Corporation Techniques for relationship discovery between datasets
US10997228B2 (en) * 2017-10-26 2021-05-04 International Business Machines Corporation Comparing tables with semantic vectors
US10740488B2 (en) * 2017-11-17 2020-08-11 International Business Machines Corporation Cognitive data anonymization
US10956677B2 (en) * 2018-02-05 2021-03-23 International Business Machines Corporation Statistical preparation of data using semantic clustering
US10404757B1 (en) * 2018-06-21 2019-09-03 Bluebird Labs, Inc. Privacy enforcement in the storage and access of data in computer systems
SG11202107620QA (en) * 2019-01-17 2021-08-30 Visa Int Service Ass A deep learning model for learning program embeddings
US11423425B2 (en) * 2019-01-24 2022-08-23 Qualtrics, Llc Digital survey creation by providing optimized suggested content
US11106719B2 (en) * 2019-02-22 2021-08-31 International Business Machines Corporation Heuristic dimension reduction in metadata modeling
US11216459B2 (en) * 2019-03-25 2022-01-04 Microsoft Technology Licensing, Llc Multi-layer semantic search
US11030257B2 (en) * 2019-05-20 2021-06-08 Adobe Inc. Automatically generating theme-based folders by clustering media items in a semantic space
US11178022B2 (en) * 2019-09-26 2021-11-16 International Business Machines Corporation Evidence mining for compliance management
US11126793B2 (en) * 2019-10-04 2021-09-21 Omilia Natural Language Solutions Ltd. Unsupervised induction of user intents from conversational customer service corpora
US20220019741A1 (en) * 2020-07-16 2022-01-20 Optum Technology, Inc. An unsupervised approach to assignment of pre-defined labels to text documents
US20220180214A1 (en) * 2020-12-09 2022-06-09 Here Global B.V. Method, apparatus, and system for providing semantic categorization of an arbitrarily granular location

Also Published As

Publication number Publication date
EP4285239A4 (de) 2024-06-19
US20220245175A1 (en) 2022-08-04
WO2022164676A1 (en) 2022-08-04
CN116762069A (zh) 2023-09-15
US11630853B2 (en) 2023-04-18
US11853329B2 (en) 2023-12-26
US20240078253A1 (en) 2024-03-07
US20230222142A1 (en) 2023-07-13
EP4285239A1 (de) 2023-12-06

Similar Documents

Publication Publication Date Title
DE112018004946B4 (de) Kognitive datenanonymisierung
DE202022002899U1 (de) Metadaten-Klassifizierung
DE102013222384B4 (de) Sicherheits-Screening auf Kontextgrundlage für Zugriff auf Daten
US9703808B2 (en) Data masking setup
EP3387575B1 (de) Richtliniendurchsetzung für computerknoten
DE112020002600T5 (de) Entdecken einer semantischen bedeutung von datenfeldern anhand von profildaten der datenfelder
DE202020005687U1 (de) Gemeinsame Datennutzung bzw. Datenteilung und materilisierte Ansichten in Datenbanken
DE202018006561U1 (de) Gemeinsames Nutzen bzw. Teilen von Daten in einem mandantenfähigen Datenbanksystem
DE202016005239U1 (de) Graph-basierte Abfragen
DE202020106393U1 (de) Datenaustausch
US20170091279A1 (en) Architecture to facilitate organizational data sharing and consumption while maintaining data governance
DE202015009874U1 (de) Implementierung semistrukturierter Daten als ein Datenbankelement erster Klasse
DE112018005725T5 (de) Daten-deidentifikation auf der grundlage eines erkennens von zulässigen konfigurationen für daten-deidentifikationsprozesse
EP3563261B1 (de) Bitsequenzbasiertes datenklassifikationssystem
DE112020006402T5 (de) Maschinelle lernmodelle basierend auf veränderter daten sowie systeme und verfahren zum trainieren und deren verwendung
DE112020000554T5 (de) Verfahren zum zugreifen auf datensätze eines stammdatenverwaltungssystems
CN111625867A (zh) 用于实现隐私防火墙的系统和方法
DE112020002892T5 (de) Aktives lernen für den datenabgleich
DE112021001743T5 (de) Vektoreinbettungsmodelle für relationale tabellen mit null- oder äquivalenten werten
DE102023200361A1 (de) Multivariate Ausreißer-Erkennung zum Datenschutz
DE112022003063T5 (de) Data-governance-systeme und -verfahren
DE112022000886T5 (de) Datenverarbeitungssystem mit manipulation logischer datensatzgruppen
US11610023B2 (en) High-dimensional data anonymization for in-memory applications
DE112020003141T5 (de) Abfrage-relaxation unter verwendung externen domänenwissenes zur beantwortung von abfragen
US20230281326A1 (en) Database Integrated Secure View

Legal Events

Date Code Title Description
R207 Utility model specification