DE112021003262T5 - Erkennen von quelldatensätzen, die zu einem transferlernverfahren für eine zieldomäne passen - Google Patents

Erkennen von quelldatensätzen, die zu einem transferlernverfahren für eine zieldomäne passen Download PDF

Info

Publication number
DE112021003262T5
DE112021003262T5 DE112021003262.3T DE112021003262T DE112021003262T5 DE 112021003262 T5 DE112021003262 T5 DE 112021003262T5 DE 112021003262 T DE112021003262 T DE 112021003262T DE 112021003262 T5 DE112021003262 T5 DE 112021003262T5
Authority
DE
Germany
Prior art keywords
source
record
pair
destination
data set
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.)
Pending
Application number
DE112021003262.3T
Other languages
English (en)
Inventor
Bar Haim
Haifa Finkelshtein
Eitan Menahem
Noga Agmon
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112021003262T5 publication Critical patent/DE112021003262T5/de
Pending legal-status Critical Current

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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/2282Tablespace storage structures; 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/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)

Abstract

Es ist ein Verfahren zum Quantifizieren einer Ähnlichkeit zwischen einem Zieldatensatz und mehreren Quelldatensätzen und Erkennen eines oder mehrerer Quelldatensätze vorgesehen, die dem Zieldatensatz am ähnlichsten sind. Das Verfahren umfasst ein Empfangen von Quelldatensätzen in Bezug auf eine Quelldomäne und eines Zieldatensatzes in Bezug auf eine Zieldomäne von Interesse an einem Computersystem. Jeder Datensatz ist in einem tabellarischen Format mit Spalten und Zeilen angeordnet, und die Quelldatensätze und der Zieldatensatz enthalten einen gleichen Merkmalsraum. Das Verfahren umfasst auch ein Vorverarbeiten, durch einen Prozessor des Computersystems, jedes Quell-Ziel-Datensatzpaares, um nicht überlappende Spalten zu entfernen. Das Verfahren umfasst ferner ein Berechnen von mindestens zwei eines Datensatz-Ähnlichkeitswerts, eines Zeilen-Ähnlichkeitswerts und eines Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar und ein Zusammenfassen der berechneten Ähnlichkeitswerte, um einen oder mehrere Quelldatensätze zu erkennen, die dem Zieldatensatz am ähnlichsten sind.

Description

  • HINTERGRUND
  • Die vorliegende Offenbarung betrifft das Gebiet des maschinellen Lernens und des Transferlernens. Genauer gesagt betrifft die vorliegende Offenbarung ein Erkennen eines oder mehrerer Quelldatensätze, die einem Zieldatensatz ähneln und somit zu einem Transferlernverfahren für eine Zieldomäne passen.
  • KURZDARSTELLUNG
  • Gemäß einer hierin beschriebenen Ausführungsform ist ein Verfahren zum Quantifizieren einer Ähnlichkeit zwischen einem Zieldatensatz und mehreren Quelldatensätzen und zum Erkennen mindestens eines Quelldatensatzes vorgesehen, der dem Zieldatensatz am ähnlichsten ist. Das Verfahren umfasst ein Empfangen, an einem Computersystem, eines Quelldatensatzes in Bezug auf eine Quelldomäne und eines Zieldatensatzes in Bezug auf eine Zieldomäne von Interesse, wobei jeder Datensatz in einem Tabellenformat angeordnet ist, das Spalten, die Merkmalen des Datensatzes entsprechen, und Zeilen enthält, die Instanzen des Datensatzes entsprechen, und wobei die Quelldatensätze und der Zieldatensatz einen gleichen Merkmalsraum enthalten. Das Verfahren umfasst auch ein Vorverarbeiten, durch einen Prozessor des Computersystems, jedes Quell-Ziel-Datensatzpaares, um alle nicht überlappenden Spalten zu entfernen. Das Verfahren umfasst ferner ein Berechnen, durch den Prozessor, von mindestens zwei eines Datensatz-Ähnlichkeitswerts, eines Zeilen-Ähnlichkeitswerts und eines Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar und ein Zusammenfassen, durch den Prozessor, der mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar, um mindestens einen Quelldatensatz zu erkennen, der dem Zieldatensatz am ähnlichsten ist.
  • In einer weiteren Ausführungsform ist ein Computersystem vorgesehen. Das Computersystem umfasst eine Schnittstelle zum Empfangen von Quelldatensätzen in Bezug auf eine Quelldomäne und eines Zieldatensatzes in Bezug auf eine Zieldomäne von Interesse, wobei jeder Datensatz in einem Tabellenformat angeordnet ist, das Spalten, die Merkmalen des Datensatzes entsprechen, und Zeilen enthält, die Instanzen des Datensatzes entsprechen, und wobei die Quelldatensätze und der Zieldatensatz einen gleichen Merkmalsraum enthalten. Das Computersystem umfasst auch einen Prozessor und ein von einem Computer lesbares Speichermedium, das Programmanweisungen speichert, die den Prozessor anweisen, jedes Quell-Ziel-Datensatzpaar vorzuverarbeiten, um alle nicht überlappenden Spalten zu entfernen. Das von einem Computer lesbare Speichermedium speichert auch Programmanweisungen, die den Prozessor anweisen, für jedes Quell-Ziel-Datensatzpaar mindestens zwei eines Datensatz-Ähnlichkeitswerts, eines Zeilen-Ähnlichkeitswerts und eines Spalten-Ähnlichkeitswerts zu berechnen. Das von einem Computer lesbare Speichermedium speichert ferner Programmanweisungen, die den Prozessor anweisen, die mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar zusammenzufassen, um mindestens einen Quelldatensatz zu erkennen, der dem Zieldatensatz am ähnlichsten ist.
  • In noch einer weiteren Ausführungsform ist ein Computerprogrammprodukt vorgesehen. Das Computerprogrammprodukt umfasst ein von einem Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen, wobei das von einem Computer lesbare Speichermedium nicht per se aus einem flüchtigen Signal besteht. Die Programmanweisungen sind von einem Prozessor ausführbar, um den Prozessor zu veranlassen, Quelldatensätze bezüglich einer Quelldomäne und einen Zieldatensatz bezüglich einer Zieldomäne von Interesse zu empfangen, wobei jeder Datensatz in einem tabellarischen Format angeordnet ist, das Spalten, die Merkmalen des Datensatzes entsprechen, und Zeilen enthält, die Instanzen des Datensatzes entsprechen, und wobei die Quelldatensätze und der Zieldatensatz einen gleichen Merkmalsraum enthalten. Die Programmanweisungen sind auch durch einen Prozessor ausführbar, um den Prozessor zu veranlassen, jedes Quell-Ziel-Datensatzpaar vorzuverarbeiten, um alle nicht überlappenden Spalten zu entfernen. Die Programmanweisungen sind ferner von einem Prozessor ausführbar, um den Prozessor zu veranlassen, mindestens zwei eines Datensatz-Ähnlichkeitswerts, eines Zeilen-Ähnlichkeitswerts und eines Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar zu berechnen und die mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar zusammenzufassen, um mindestens einen Quelldatensatz zu erkennen, der dem Zieldatensatz am ähnlichsten ist.
  • Figurenliste
    • 1 ist ein vereinfachtes Blockschema eines beispielhaften Computersystems, das verwendet werden kann, um die hierin beschriebenen Datensatz-Erkennungstechniken umzusetzen;
    • 2 ist ein Verfahrensflussdiagramm einer beispielhaften Ausführungsform des hierin beschriebenen Datensatz-Erkennungsverfahrens;
    • 3 ist eine graphische Darstellung, die zeigt, wie beispielhafte Ähnlichkeitswerte unter Verwendung von Verteilungshistogrammen in Verbindung mit der Pearson-Korrelationsfunktion berechnet werden können;
    • 4 ist ein vereinfachtes Verfahrensflussdiagramm eines Verfahrens zum Quantifizieren der Ähnlichkeit zwischen einem Zieldatensatz und mehreren Quelldatensätzen und zum Erkennen eines oder mehrerer Quelldatensätze, die dem Zieldatensatz am ähnlichsten sind;
    • 5 ist eine schematische Ansicht einer beispielhaften Cloud-Computing-Umgebung; und
    • 6 ist eine vereinfachte schematische Ansicht beispielhafter funktionaler Abstraktionsschichten, die von der in 5 gezeigten Cloud-Computing-Umgebung bereitgestellt werden.
  • DETAILLIERTE BESCHREIBUNG
  • Bei herkömmlichen überwachten maschinellen Lerntechniken werden Quelldatensätze verwendet, um ein Modell für eine bestimmte Aufgabe und Domäne zu trainieren. Insbesondere bestehen die Quelldatensätze aus Eingabedaten gepaart mit entsprechenden Ausgabedaten. Während des Trainingsverfahrens lernt der überwachte maschinelle Lernalgorithmus anhand von Beispielen, indem er nach Mustern in den Eingabedaten sucht, die mit den Ausgabedaten korrelieren. Wenn das Trainingsverfahren abgeschlossen ist, kann das resultierende überwachte maschinelle Lernmodell verwendet werden, um neue Eingabedaten zu markieren bzw. zu klassifizieren, die sich auf dieselbe Aufgabe und Domäne beziehen.
  • Solche überwachten maschinellen Lerntechniken erfordern eine ausreichende Anzahl von Quelldatensätzen, um das Modell für die spezifische Aufgabe und Domäne zu trainieren. Leider ist es in vielen realweltlichen Szenarien schwierig oder sogar unmöglich, eine ausreichende Anzahl von Quelldatensätzen für eine Zieldomäne von Interesse zu erhalten. Bei einem bestimmten Zieldatensatz für die Zieldomäne gibt es jedoch häufig ähnliche Quelldatensätze aus anderen verwandten Quelldomänen. Somit können die ähnlichen Quelldatensätze verwendet werden, um ein Transferlernverfahren für die Zieldomäne auszuführen.
  • Im Bereich des maschinellen Lernens ist Transferlernen der Prozess eines Wissenstransfers zwischen unterschiedlichen Domänen. Genauer gesagt umfasst Transferlernen ein Anwenden von Wissen und Fähigkeiten, die in Bezug auf eine frühere Quelldomäne für eine bestimmte Aufgabe erlernt wurden, auf eine neue Zieldomäne von Interesse für die bestimmte Aufgabe, indem Gemeinsamkeiten bzw. Ähnlichkeiten zwischen den beiden Domänen erkannt werden. Um das Transferlernverfahren erfolgreich auf die Zieldomäne anzuwenden, müssen geeignete Quelldatensätze aus der Quelldomäne erkannt werden. Die Quelldatensätze werden dann verwendet, um ein korrektes Modell für die Zieldomäne zu trainieren. Im Betrieb ist es jedoch oft rechenintensiv und zeitaufwändig, Quelldatensätze zu erkennen, die für das Transferlernverfahren für die Zieldomäne gut geeignet sind.
  • Dementsprechend beschreibt die vorliegende Offenbarung Techniken zum Erkennen von Quelldatensätzen, die einem Zieldatensatz ähneln und somit zum Trainieren eines korrekten Modells für die Zieldomäne unter Verwendung eines Transferlernverfahrens geeignet sind. Mit anderen Worten erkennen bei einer gegebenen Anzahl von Quelldatensätzen und einem einzelnen Zieldatensatz die hierin beschriebenen Techniken einen oder mehrere Quelldatensätze, die am wahrscheinlichsten für ein Transferlernverfahren für die Zieldomäne geeignet sind. Dies wird erreicht, indem mehrere Verfahren eines paarweisen Vergleichs zwischen Paaren des Quelldatensatzes und des Zieldatensatzes (d.h. „Quell-Ziel-Datensatzpaaren“) ausgeführt werden, um Ähnlichkeitswerte in Bezug auf jedes Quell-Ziel-Datensatzpaar zu erzeugen. Die Ähnlichkeitswerte werden dann zusammengefasst, um den einen oder die mehreren Quelldatensätze zu erkennen, die dem Zieldatensatz am ähnlichsten bzw. nächsten sind. Der eine oder die mehreren erkannten Quelldatensätze können dann für das Transferlernverfahren für die Zieldomäne verwendet werden.
  • In einigen Ausführungsformen werden hierin beschriebene Techniken zur Erkennung von Finanzbetrug verwendet. Beispielsweise verwenden Banken häufig überwachte maschinelle Lerntechniken, um Modelle zu trainieren, die automatisch Transaktionen, etwa Kreditkartenzahlungen, auf Grundlage bestimmter Transaktionsdetails wie z.B. des Zahlungsbetrags, des Händlers, des Ortes, der Zeit usw. als regelkonform oder betrügerisch klassifizieren können. Solche Modelle sind für große Banken wirksam, da große Banken üblicherweise über eine ausreichende Anzahl markierter Instanzen verfügen, um einen Klassifikator genau für ihre spezielle Aufgabe und Domäne zu trainieren. Kleinere Banken verfügen jedoch häufig nicht über eine ausreichende Anzahl von markierten Instanzen oder anderen Ressourcen, um von solchen überwachten maschinellen Lerntechniken zu profitieren. Obwohl solche Banken an derselben Aufgabe interessiert sein können, dürften sich ihre Domänen um Einiges von denen größerer Banken unterscheiden, was es schwierig oder unmöglich macht, die von den größeren Banken erlernten Modelle zu verwenden.
  • Somit kann in einigen Fällen ein Transferlernverfahren verwendet werden, um das Wissen und die Fähigkeiten, die in Bezug auf eine frühere Domäne und Aufgabe für eine größere Bank erlernt wurden, auf eine neue Zieldomäne von Interesse in Bezug auf dieselbe Aufgabe für eine kleinere Bank anzuwenden. Insbesondere kann das Transferlernverfahren Quelldatensätze aus der vorherigen Domäne in Bezug auf die größere Bank verwenden, um einen korrekten Klassifikator für die Zieldomäne in Bezug auf die kleinere Bank zu trainieren. Damit das Transferlernverfahren jedoch erfolgreich ist, müssen bestimmte Quelldatensätze aus der vorherigen Domäne erkannt werden, die einem Zieldatensatz für die Zieldomäne ähneln. In verschiedenen Ausführungsformen wird dies unter Verwendung der hierin beschriebenen Datensatz-Erkennungstechniken erreicht.
  • Hierin beschriebene Ausführungsformen betreffen die Verwendung der Datensatz-Erkennungstechniken, um bei der Erkennung von Finanzbetrug zu helfen. Fachleute werden jedoch erkennen, dass die hierin beschriebenen Datensatz-Erkennungstechniken für jede Transferlernaufgabe nützlich sind, die von der Erkennung eines oder mehrerer Quelldatensätze profitieren würde, die einem Zieldatensatz ähneln.
  • 1 ist ein vereinfachtes Blockschema eines beispielhaften Computersystems 100, das verwendet werden kann, um die hierin beschriebenen Datensatz-Erkennungstechniken umzusetzen. Das Computersystem 100 kann einen oder mehrere Server, eine oder mehrere Allzweck-Datenverarbeitungseinheiten, eine oder mehrere Spezial-Datenverarbeitungseinheiten, eine oder mehrere virtuelle Maschinen und/oder eine oder mehrere beliebige andere geeignete Arten von Datenverarbeitungseinheiten umfassen. Beispielsweise kann das Computersystem 100 aus einem Desktop-Computer, einem Laptop-Computer, einem Tablet-Computer oder einem Smartphone bestehen. Darüber hinaus ist das Computersystem 100 in einigen Ausführungsformen ein Cloud-Computing-Knoten.
  • Das Computersystem 100 umfasst einen Prozessor 102, der geeignet ist, gespeicherte Programmanweisungen wie beispielsweise Programmmodule auszuführen, sowie eine Speichereinheit 104, die temporären Speicherplatz für die Programmanweisungen während der Ausführung bietet. Der Prozessor 102 kann jede geeignete Verarbeitungseinheit oder -vorrichtung umfassen, etwa einen Einzelkernprozessor, einen Einzelkernprozessor mit Software-Multithread-Ausführungsfähigkeit; einen Mehrkernprozessor, einen Mehrkernprozessor mit Software-Multithread-Ausführungsfähigkeit, einen Rechencluster, parallele Plattformen, parallele Plattformen mit gemeinsam genutztem Speicher oder eine beliebige Anzahl anderer Konfigurationen. Darüber hinaus kann der Prozessor 102 eine integrierte Schaltung, eine anwendungsspezifische integrierte Schaltung (ASIC), einen digitalen Signalprozessor (DSP), ein vor Ort programmierbares Gatter-Array (FPGA), eine speicherprogrammierbare Steuerung (PLC), eine komplexe programmierbare Logikeinheit (CPLD), diskrete Gatter- oder Transistorlogik, diskrete Hardwarekomponenten oder beliebige Kombinationen davon umfassen, die dazu ausgelegt sind, die hierin beschriebenen Aufgaben auszuführen. Die Speichereinheit 104 kann flüchtige Speicherkomponenten, nichtflüchtige Speicherkomponenten oder sowohl flüchtige als auch nichtflüchtige Speicherkomponenten enthalten. Die nichtflüchtigen Speicherkomponenten können zum Beispiel Nur-Lese-Speicher (ROM), programmierbaren ROM (PROM), elektrisch programmierbaren ROM (EPROM), elektrisch löschbaren ROM (EEROM), Flash-Speicher oder nichtflüchtigen Direktzugriffsspeicher (RAM) (z.B. ferroelektrischen RAM (FeRAM)) umfassen. Die flüchtigen Speicherkomponenten können beispielsweise RAM umfassen, der als externer Cache-Speicher fungieren kann. RAM ist in vielen Formen verfügbar, wie zum Beispiel als synchroner RAM (SRAM), dynamischer RAM (DRAM), synchroner dynamischer RAM (SDRAM) und dergleichen.
  • In einigen Ausführungsformen wird das Computersystem 100 in einer verteilten Cloud-Computing-Umgebung ausgeführt, in der Aufgaben von fernen Verarbeitungseinheiten ausgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in fernen Datenverarbeitungseinheiten befinden.
  • Der Prozessor 102 ist über eine Systemverbindung 106 (z.B. PCI®, PCI-Express® usw.) mit einer Eingabe/Ausgabe- (E/A) -Einheitenschnittstelle 108 verbunden, die dafür ausgelegt ist, das Computersystem 100 mit einem oder mehreren E/A-Einheiten 110 zu verbinden. Die E/A-Einheiten 110 können beispielsweise eine Tastatur und eine Zeigeeinheit umfassen, wobei die Zeigeeinheit unter anderem ein Touchpad oder einen Touchscreen umfassen kann. Die E/A-Einheiten 110 können aus eingebauten Komponenten des Computersystems 100 bestehen oder können aus Einheiten bestehen, die extern mit dem Computersystem 100 verbunden sind.
  • Der Prozessor 102 ist über die Systemverbindung 106 auch mit einer Anzeigeschnittstelle 112 verbunden, die geeignet ist, das Computersystem 100 mit einer Anzeigeeinheit 114 zu verbinden. Die Anzeigeeinheit 114 kann einen Anzeigebildschirm umfassen, der eine eingebaute Komponente des Computersystems 100 ist. Die Anzeigeeinheit 114 kann unter anderem auch einen Computermonitor, Fernseher oder Projektor umfassen, der extern mit dem Computersystem 100 verbunden ist. Zusätzlich ist ein Netzwerkschnittstellen-Controller (NIC) 116 geeignet, das Computersystem 100 über die Systemverbindung 106 mit dem Netzwerk 118 zu verbinden. In einigen Ausführungsformen kann der NIC 116 Daten unter Verwendung einer beliebigen geeigneten Schnittstelle oder eines geeigneten Protokolls wie unter anderem iSCSI („internet Small Computer System Interface“) übertragen. Das Netzwerk 118 kann unter anderem ein Mobilfunknetz, ein Funknetzwerk, ein Weitverkehrsnetzwerk (WAN), ein lokales Netzwerk (LAN) oder das Internet sein. Das Netzwerk 118 kann zugehörige Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragungseinheiten, Router, Firewalls, Switches, Gateway-Computer, Edge-Server und dergleichen umfassen.
  • Eine oder mehrere ferne Einheiten 120 können optional über das Netzwerk 118 mit dem Computersystem 100 verbunden sein. Zusätzlich können eine oder mehrere Datenbanken 122 optional über das Netzwerk 118 mit dem Computersystem 100 verbunden sein. In einigen Ausführungsformen speichern die eine oder mehreren Datenbanken 122 Daten in Bezug auf maschinelle Lernaufgaben und/oder Transferlernaufgaben. Beispielsweise können die eine oder mehreren Datenbanken 122 Quelldatensätze aus einer oder mehreren verwandten Quelldomänen enthalten. In solchen Ausführungsformen kann das Computersystem 100 während des hierin beschriebenen Datensatz-Erkennungsverfahrens auf mindestens einen Teil der Quelldatensätze einer Quelldomäne zugreifen oder diese herunterladen.
  • Das Computersystem 100 umfasst auch ein von einem Computer lesbares Speichermedium (oder Medien) 124, das Programmanweisungen enthält, die vom Prozessor 102 ausgeführt werden können, um verschiedene Operationen ausführen, wie etwa das hierin beschriebene Datensatz-Erkennungsverfahren. Das von einem Computer lesbare Speichermedium 124 kann in das Computersystem 100 integriert sein oder kann aus einer externen Einheit bestehen, die im Gebrauch mit dem Computersystem 100 verbunden ist. Das von einem Computer lesbare Speichermedium 124 kann beispielsweise eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine beliebige geeignete Kombination der Vorstehenden umfassen. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums 124 gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Darüber hinaus soll der Begriff eines „durch einen Computer lesbaren Speichermediums“ in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale. In einigen Ausführungsformen empfängt der NIC 116 Programmanweisungen von dem Netzwerk 118 und leitet die Programmanweisungen zur Speicherung in dem von einem Computer lesbaren Speichermedium 124 in dem Computersystem 100 weiter.
  • Im Allgemeinen können die Programmanweisungen, beispielsweise die Programmmodule, Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. umfassen, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Bei den Programmanweisungen kann es sich zum Beispiel um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die Programmanweisungen können vollständig auf dem Computersystem 100, teilweise auf dem Computersystem 100 als eigenständiges Softwarepaket, teilweise auf dem Computersystem 100 und teilweise auf einem fernen Computer oder Server, der über das Netzwerk 118 mit dem Computersystem 100 verbunden ist, oder vollständig auf einem solchen fernen Computer oder Server ausgeführt werden. In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Arrays (FPGA, field programmable gate arrays) oder programmierbare Logik-Arrays (PLA, programmable logic arrays), die Programmanweisungen ausführen, indem sie Zustandsinformationen der Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden technischen Lösungen auszuführen.
  • Gemäß hierin beschriebenen Ausführungsformen umfasst das von einem Computer lesbare Speichermedium 124 Programmmodule zum Ausführen des hierin beschriebenen Datensatz-Erkennungsverfahrens. Insbesondere enthält das von einem Computer lesbare Speichermedium 124 ein Datensatz-Vorverarbeitungsmodul 126, ein Merkmal-Auswahlmodul 128, ein Datensatz-Ähnlichkeitsberechnungsmodul 130, ein Zeilen-Ähnlichkeitsberechnungsmodul 132, ein Spalten-Ähnlichkeitsberechnungsmodul 134 und ein Ähnlichkeitswert-Zusammenfassungsmodul 136. Die Art und Weise, in der solche Module ausgeführt werden können, um das hierin beschriebene Datensatz-Erkennungsverfahren auszuführen, wird weiter unter Bezugnahme auf die 2 bis 4 beschrieben.
  • Es versteht sich, dass das Blockschema von 1 nicht implizieren soll, dass das Computersystem 100 alle in 1 gezeigten Komponenten umfassen muss. Vielmehr kann das Computersystem 100 weniger oder mehr Komponenten umfassen, die nicht in 1 gezeigt sind (z.B. zusätzliche Prozessoren, zusätzliche Speicherkomponenten, eingebettete Controller, zusätzliche Module, zusätzliche Netzwerkschnittstellen usw.). Darüber hinaus sind alle Funktionalitäten, die sich auf das hierin beschriebene Datensatz-Erkennungsverfahren beziehen, teilweise oder vollständig in Hardware und/oder im Prozessor 102 umgesetzt. Beispielsweise können solche Funktionalitäten unter anderem mit einer ASIC, einer in einem eingebetteten Controller umgesetzten Logik und/oder in einer im Prozessor 102 umgesetzten Logik umgesetzt werden. In einigen Ausführungsformen werden die Funktionalitäten in Bezug auf das hierin beschriebene Datensatz-Erkennungsverfahren mit Logik umgesetzt, wobei die hier genannte Logik jede geeignete Hardware (z.B. unter anderem einen Prozessor), Software (z.B. unter anderem eine Anwendung), Firmware oder jede geeignete Kombination aus Hardware, Software und Firmware umfassen kann.
  • 2 ist ein Verfahrensflussdiagramm einer beispielhaften Ausführungsform des hierin beschriebenen Datensatz-Erkennungsverfahrens 200. Identisch gekennzeichnete Elemente gleichen den in Bezug auf 1 beschriebenen. In verschiedenen Ausführungsformen wird das Verfahren 200 durch das in Bezug auf 1 beschriebene Computersystem 100 umgesetzt. Insbesondere kann das Verfahren 200 durch den Prozessor 102 über die Ausführung der Module 126 bis 136 in dem von einem Computer lesbaren Speichermedium 124 ausgeführt werden.
  • Gemäß hierin beschriebenen Ausführungsformen umfasst das Datensatz-Erkennungsverfahren 200 zwei Eingabeformen: (1) mehrere Quelldatensätze 202, die sich auf eine Quelldomäne beziehen; und (2) einen einzelnen Zieldatensatz 204, der sich auf eine Zieldomäne von Interesse bezieht. In verschiedenen Ausführungsformen sind die Daten in jedem der Datensätze 202 und 204 als Vektoren numerischer Werte dargestellt, die in einem Tabellenformat angeordnet sind, das eine Anzahl von Zeilen und eine Anzahl von Spalten enthält, wobei die Spalten die Zeilen schneiden, so dass einzelne Zellen innerhalb der Tabelle definiert sind. Jede Spalte in einem bestimmten Datensatz stellt ein Merkmal des Datensatzes dar. Darüber hinaus stellt jede Zeile in einem bestimmten Datensatz eine einzelne Instanz des Datensatzes dar. Wenn darüber hinaus die numerischen Werte in jeder Zelle einer bestimmten Zeile, d.h. Instanz, zu einzelnen Vektoren zusammengefügt werden, stellt jeder Vektor einen einzelnen Merkmalsvektor des Datensatzes dar. Gemäß hierin beschriebenen Ausführungsformen geht das Datensatz-Erkennungsverfahren 200 davon aus, dass die Quelldatensätze 202 und der Zieldatensatz 204 aus demselben Merkmalsraum stammen, was bedeutet, dass ein großer Teil der Spalten in den Datensätzen 202 und 204 identisch sind, oder anders ausgedrückt, dass sich die Spalten größtenteils überlappen.
  • Bei Block 206 wird jedes Quell-Ziel-Datensatzpaar vorverarbeitet. In verschiedenen Ausführungsformen umfasst dies eine Verwendung von standardmäßigen Datenvorverarbeitungstechniken, um die Datensätze für das Datensatz-Erkennungsverfahren 200 vorzubereiten. Dies umfasst insbesondere ein Entfernen von nicht überlappenden Spalten aus den Datensätzen (falls vorhanden), so dass die Datensätze nur überlappende Spalten enthalten. Darüber hinaus kann die Vorverarbeitung der Datensätze einen (oder alle) der folgenden Schritte umfassen: (1) Auffüllen fehlender Werte in den Datensätzen; (2) Entfernen aller irrelevanten bzw. unwichtigen Spalten aus den Datensätzen; (3) Ausrichten der Datensätze derart, dass die überlappenden Spalten in der gleichen Reihenfolge stehen und somit die Vektoren numerischer Werte direkt zwischen den Datensätzen korreliert sind; und (4) Standardisieren der Werte in den Datensätzen. Darüber hinaus kann, abhängig von den Einzelheiten der spezifischen Umsetzung, eine beliebige Anzahl zusätzlicher oder alternativer Vorverarbeitungsschritte durchgeführt werden.
  • Bei Block 208 wird optional eine Merkmalsauswahl für jedes Quell-Ziel-Datensatzpaar ausgeführt. In einigen Ausführungsformen umfasst die Merkmalsauswahl ein Erkennen und Entfernen der Best-Splitting-Spalten aus jedem Quell-Ziel-Datensatzpaar. Genauer gesagt wird für jedes Quell-Ziel-Datensatzpaar eine vorbestimmte Anzahl von Spalten, die den Datensatz am meisten auszeichnet, erkannt und entfernt. Gemäß hierin beschriebenen Ausführungsformen wird dies erreicht, indem zuerst jede Instanz jedes Quelldatensatzes als „0“ und jede Instanz des Zieldatensatzes als „1“ markiert wird. Für jedes Quell-Ziel-Datensatzpaar wird dann ein maschinelles Lernmodell trainiert, um zwischen den beiden Datensätzen zu unterscheiden. Das maschinelle Lernmodell kann beispielsweise ein Entscheidungsbaummodell, ein Deep-Learning-Modell, ein einfaches Klassifizierungsmodell, ein Regressionsmodell oder ein Irrgarten-gestütztes Modell umfassen. In verschiedenen Ausführungsformen enthält das maschinelle Lernmodell für jedes Quell-Ziel-Datensatzpaar ein wichtigstes Merkmal. Das wichtigste Merkmal ist dasjenige Merkmal, das den höchsten Grad an Unähnlichkeit zwischen den beiden Datensätzen umfasst, die für jeden Datensatz domänenbezogen sein kann. Wenn die beiden Datensätze beispielsweise aus verschiedenen Ländern stammen, kann das wichtigste Merkmal das Sprachmerkmal oder das Ländermerkmal sein. In verschiedenen Ausführungsformen schwankt die Art und Weise, in der das wichtigste Merkmal erkannt wird, abhängig von der Art des verwendeten Modells. Wenn das maschinelle Lernmodell beispielsweise ein Entscheidungsbaummodell ist, kann das Modell automatisch verschiedene Metriken ausgeben, beispielsweise eine Rangfolge von Merkmalen nach Wichtigkeit.
  • Nachdem das wichtigste Merkmal erkannt wurde, wird die Spalte, die dem wichtigsten Merkmal entspricht, aus beiden Datensätzen in dem Quell-Ziel-Datensatzpaar entfernt. Gemäß hierin beschriebenen Ausführungsformen wird die Spalte, die dem wichtigsten Merkmal entspricht, als „Best-Splitting-Spalte“ bezeichnet, da sie die Spalte ist, die die unterschiedlichsten (bzw. am stärksten unterscheidenden) Werte zwischen den zwei Datensätzen enthält. Darüber hinaus führt das Entfernen der Best-Splitting-Spalte dazu, dass die Datensätze ähnlicher werden und somit die gesamte Aufgabe des maschinellen Lernens schwieriger wird.
  • Nachdem die Best-Splitting-Spalte entfernt wurde, wird das maschinelle Lernmodell neu trainiert, um zwischen den beiden Datensätzen zu unterscheiden. Dieses Verfahren des Trainierens des maschinellen Lernmodells und des nachfolgenden Entfernens der Best-Splitting-Spalte wird für eine vorbestimmte Anzahl k von Iterationen wiederholt. Nachdem dieses iterative Verfahren für jedes Quell-Ziel-Datensatzpaar abgeschlossen ist, wurden somit die Quelldatensätze und der Zieldatensatz gefiltert, um die vorbestimmte Anzahl k von Best-Splitting-Spalten zu entfernen. Das Datensatz-Erkennungsverfahren 200 kann dann unter Verwendung der gefilterten Datensätze zu den Ähnlichkeitsberechnungsschritten der Blöcke 210 bis 214 fortschreiten.
  • In verschiedenen Ausführungsformen schwankt der Wert von k je nach Anzahl der überlappenden Spalten in den Datensätzen. Zum Beispiel kann der Wert von k etwa 10 % der Gesamtzahl der überlappenden Spalten betragen. Wenn als spezifischeres Beispiel die Datensätze 1.000 überlappende Spalten enthalten, können insgesamt etwa 100 Best-Splitting-Spalten entfernt werden. Darüber hinaus wird in einigen Ausführungsformen während jeder Iteration mehr als eine Best-Splitting-Spalte entfernt. Beispielsweise können während jeder Iteration etwa 2 bis 10 Best-Splitting-Spalten entfernt werden. Unter Verwendung desselben Beispiels können dann 10 bis 50 Iterationen verwendet werden, um insgesamt 100 Best-Splitting-Spalten aus den Datensätzen zu entfernen. Daher kann in solchen Ausführungsformen die vorbestimmte Anzahl von Iterationen als n bezeichnet werden, während die vorbestimmte Anzahl von Best-Splitting-Spalten als k bezeichnet werden kann.
  • In weiteren Ausführungsformen umfasst die Merkmalsauswahl ein Herausfiltern von Spalten, in denen die Verteilung von Werten zwischen dem Quelldatensatz und dem Zieldatensatz in jedem Quell-Ziel-Datensatzpaar am unterschiedlichsten ist. In einigen Ausführungsformen wird dies erreicht, indem für die Werte jeder Spalte in dem Quelldatensatz und jeder Spalte in dem Zieldatensatz eine Werteverteilungsnäherung erstellt wird, etwa ein Verteilungshistogramm. Die Werteverteilungsnäherung für eine bestimmte Spalte des Quelldatensatzes kann dann mit der Werteverteilungsnäherung für die entsprechende Spalte des Zieldatensatzes verglichen werden. Dieser Vergleich kann unter Verwendung einer beliebigen geeigneten Ähnlichkeitsfunktion ausgeführt werden, wie zum Beispiel der Pearson-Korrelationsfunktion, der Kosinus-Ähnlichkeitsfunktion oder der euklidischen Abstandsfunktion. In verschiedenen Ausführungsformen wird ein Schwellenwert für die Ähnlichkeitsfunktion eingestellt, wie zum Beispiel ein Intervallschwellenwert von > 0.3, wenn die Pearson-Korrelationsfunktion verwendet wird. Auf diese Weise werden die unterschiedlichsten Spalten aus jedem Quell-Ziel-Datensatzpaar herausgefiltert, was dazu führt, dass die verbleibenden Spalten bzw. Merkmale für das Datensatz-Erkennungsverfahren 200 ausgewählt werden. Anstatt einen Schwellenwert für die Ähnlichkeitsfunktion festzulegen, wird in weiteren Ausführungsformen ein vorbestimmter Prozentsatz der Spalten mit dem niedrigsten Verteilungs-Ähnlichkeitswert herausgefiltert, und die verbleibenden Spalten bzw. Merkmale werden für das Datensatz-Erkennungsverfahren 200 verwendet.
  • Als weiteres Beispiel kann die Merkmalsauswahl bei Ausführungsformen, bei denen die Quelldatensätze markiert sind, die Verwendung vorhandener Merkmalsauswahlverfahren umfassen, um Merkmale auf Grundlage der relativen Wichtigkeit der Merkmale zum Lösen der maschinellen Lernaufgabe für jedes Quell-Ziel-Datensatzpaar auszuwählen. Beispiele für solche Verfahren umfassen die korrelationsgestützte Merkmalsauswahl, die Informationsgewinn-gestützte Merkmalsauswahl und die Lerner-gestützte Merkmalsauswahl. Nachdem die Merkmale nach Wichtigkeit geordnet sind, werden in solchen Ausführungsformen die Spalten, die den am wenigsten wichtigen Merkmalen entsprechen, aus den Datensätzen herausgefiltert, und die verbleibenden Spalten oder Merkmale werden für das Datensatz-Erkennungsverfahren 200 verwendet.
  • Bei Block 210 wird ein Datensatz-Ähnlichkeitswert für jedes Quell-Ziel-Datensatzpaar berechnet. In Ausführungsformen, bei denen die Merkmalsauswahl bei Block 208 das Erkennen der Best-Splitting-Spalten in jedem Quell-Ziel-Datensatzpaar umfasst, kann die Ausgabe von Block 208 verwendet werden, um den Datensatz-Ähnlichkeitswert für jedes Quell-Ziel-Datensatzpaar zu berechnen. In einigen Ausführungsformen kann der Prozess des Trainierens des maschinellen Lernmodells und des nachfolgenden Entfernens der Best-Splitting-Spalten zusätzlich für eine vorbestimmte Anzahl von zusätzlichen Iterationen zusätzlich zu den k Iterationen wiederholt werden, die in der Merkmalsauswahlstufe von Block 208 ausgeführt wurden. In solchen Ausführungsformen kann die Ausgabe von Block 208 zusammen mit der Ausgabe, die aus der vorbestimmten Anzahl von zusätzlichen Iterationen erhalten wird, zum Berechnen des Datensatz-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar verwendet werden. Darüber hinaus wird in Ausführungsformen, bei denen keine Best-Splitting-Spalten in jedem Quell-Ziel-Datensatzpaar bei Block 208 erkannt werden, das iterative Best-Splitting-Spaltenerkennungsverfahren, das in Bezug auf Block 208 beschrieben wurde, bei Block 210 ausgeführt. Für jedes Quell-Ziel-Datensatzpaar ist die Ausgabe dieses iterativen Verfahrens für jede Iteration ein maschinelles Lernmodell, wobei jedes maschinelle Lernmodell so trainiert wurde, dass es zwischen den beiden Datensätzen in dem Quell-Ziel-Datensatzpaar unterscheidet, nachdem ein oder mehrere Best-Splitting-Spalten während der jeweiligen Iteration entfernt wurden.
  • Für jedes Quell-Ziel-Datensatzpaar können die Ergebnisse des maschinellen Lernmodells aus jeder Iteration dann analysiert werden, indem beispielsweise allgemeine Metriken in Bezug auf das Modell geprüft werden. Wenn das maschinelle Lernmodell für eine bestimmte Iteration Ergebnisse von geringer Qualität liefert, bedeutet dies, dass das Modell nicht in der Lage war, zwischen den beiden Datensätzen zu unterscheiden, und die beiden Datensätze daher relativ ähnliche Werte enthalten. Wenn das maschinelle Lernmodell im Gegensatz dazu Ergebnisse hoher Qualität liefert, bedeutet dies, dass das Modell in der Lage war, wirksam zwischen den beiden Datensätzen zu unterscheiden, und daher enthalten die beiden Datensätze relativ unterschiedliche Werte. Gemäß hierin beschriebenen Ausführungsformen wird dieses Konzept verwendet, um einen Datensatz-Ähnlichkeitswert für jedes Quell-Ziel-Datensatzpaar zu erzeugen. Dies wird erreicht, indem zunächst die Gesamtgenauigkeit der maschinellen Lernmodelle für das Quell-Ziel-Datensatzpaar ermittelt wird, wobei der Begriff „Genauigkeit“ das Verhältnis der Anzahl der von einem Modell getroffenen korrekten Vorhersagen zur Gesamtzahl der von dem Modell getroffenen Vorhersagen bezeichnet. In verschiedenen Ausführungsformen kann die Gesamtgenauigkeit der Modelle unter Verwendung einer beliebigen geeigneten Art von Bewertungsmetrik in Bezug auf Probleme des maschinellen Lernens ermittelt werden. Beispielsweise kann die Gesamtgenauigkeit der Modelle ermittelt werden, indem die mittlere Genauigkeit aller Modelle berechnet wird, die für das bestimmte Quell-Ziel-Datensatzpaar erzeugt wurden, oder indem der Kurven-Flächenwert (AUC) des während der letzten Iteration des Verfahrens erzeugten Modells berechnet wird.
  • Dann wird für jedes Quell-Ziel-Datensatzpaar ein Datensatz-Ähnlichkeitswert berechnet, wobei der Datensatz-Ähnlichkeitswert gleich (1 - Gesamtgenauigkeit) ist. Da eine höhere Gesamtgenauigkeit bedeutet, dass sich die Datensätze weniger ähneln, bedeutet ein niedrigerer Datensatz-Ähnlichkeitswert ebenfalls, dass die Datensätze sich weniger ähneln. Als Ergebnis sind die Quell-Ziel-Datensatzpaare mit den höchsten Datensatz-Ähnlichkeitswerten die gemäß dem paarweisen Vergleichsverfahren von Block 210 ähnlichsten.
  • Bei Block 212 werden Zeilen-Ähnlichkeitswerte für jedes Quell-Ziel-Datensatzpaar berechnet. In verschiedenen Ausführungsformen wird dies durch Berechnen eines Abstandswerts zwischen jeder Instanz des Zieldatensatzes und jeder Instanz jedes Quelldatensatzes erreicht. Im Betrieb können die Abstandswerte berechnet werden, indem die Merkmalsvektoren in jedem Quell-Ziel-Datensatzpaar verglichen werden. Als nächstes werden die Abstandswerte für jede Instanz jedes Quell-Ziel-Datensatzpaares in eine Rangfolge gebracht und zusammengefasst, um den Mittelwert (oder den gewichteten Mittelwert) eines vorbestimmten Prozentsatzes, wie beispielsweise 5 %, der maximalen Abstandswerte für jedes Quell-Ziel-Datensatzpaar zu ermitteln. Der resultierende mittlere minimale Abstandswert für jedes Quell-Ziel-Datensatzpaar wird dann als Zeilen-Ähnlichkeitswert für das Quell-Ziel-Datensatzpaar ausgegeben.
  • In verschiedenen Ausführungsformen kann dieses paarweise Vergleichsverfahren rechentechnisch schwierig und zeitaufwändig sein, da jede Instanz in jedem Datensatz verglichen werden muss. Daher kann gemäß hierin beschriebenen Ausführungsformen ein clustergestütztes Optimierungsverfahren verwendet werden, um den paarweisen Vergleich schneller und wirtschaftlicher auszuführen. In verschiedenen Ausführungsformen umfasst das clustergestützte Optimierungsverfahren ein Ausführen mehrerer Schritte für jedes Quell-Ziel-Datensatzpaar. Zunächst wird unter Verwendung eines Clustering-Algorithmus, etwa des k-Means-Clustering-Algorithmus (auch als Lloyd-Algorithmus bezeichnet), das Clusterzentrum für jede Instanz jedes Quelldatensatzes berechnet. Jeder Merkmalsvektor für jeden Quelldatensatz wird dann mit dem nächstgelegenen Zentrum annotiert. Zweitens wird das nächstgelegene Zentrum für jede Instanz des Zieldatensatzes berechnet. Drittens wird der minimale Abstand zwischen jedem Merkmalsvektor in dem Zieldatensatz und jedem Merkmalsvektor der Quelldatensätze, der auf dem nächstgelegenen Cluster liegt, berechnet. Nur die minimalen Abstände für die Merkmalsvektoren der Quelldatensätze zu berechnen, die auf den nächstgelegenen Clustern liegen, vermeidet unnötige Berechnungen und spart somit Zeit. Viertens werden die oben beschriebenen Abstandszusammenfassungsschritte ausgeführt, um den mittleren minimalen Abstandswert für jedes Quell-Ziel-Datensatzpaar zu ermitteln, der gleich dem Zeilen-Ähnlichkeitswert für das Quell-Ziel-Datensatzpaar ist.
  • Bei Block 214 werden Spalten-Ähnlichkeitswerte für jedes Quell-Ziel-Datensatzpaar berechnet. Da die Quelldatensätze und der Zieldatensatz entsprechende Spalten enthalten, werden insbesondere Ähnlichkeitswerte für jedes Quell-Ziel-Datensatzpaar auf spaltenweiser Grundlage berechnet. In verschiedenen Ausführungsformen werden solche Ähnlichkeitswerte berechnet, indem für die Werte jeder Spalte eine Werteverteilungsnäherung wie beispielsweise ein Verteilungshistogramm erstellt wird. Die Werteverteilungsnäherung für eine bestimmte Spalte des Quelldatensatzes kann dann mit der Werteverteilungsnäherung für die entsprechende Spalte des Zieldatensatzes verglichen werden. Dieser Vergleich kann unter Verwendung einer beliebigen geeigneten Ähnlichkeitsfunktion ausgeführt werden, wie zum Beispiel der Pearson-Korrelationsfunktion, der Kosinus-Ähnlichkeitsfunktion oder der euklidischen Abstandsfunktion. Die resultierenden Ähnlichkeitswerte für die entsprechenden Spalten in jedem Quell-Ziel-Datensatzpaar werden dann zusammengefasst, um einen einzelnen Spalten-Ähnlichkeitswert für jedes Quell-Ziel-Datensatzpaar auszugeben. Darüber hinaus versteht es sich für Fachleute, dass Ausführungsformen hierin zwar in Bezug auf die Verwendung von Verteilungshistogrammen zum Berechnen der Spalten-Ähnlichkeitswerte beschrieben sind, dass jedoch eine beliebige Anzahl anderer geeigneter Werteverteilungsnäherungen ebenfalls verwendet werden können, um die Spalten-Ähnlichkeitswerte zu berechnen.
  • In einigen Ausführungsformen werden die Ähnlichkeitswerte für die Spalten zusammengefasst, indem der Mittelwert aller Ähnlichkeitswerte ermittelt wird. In weiteren Ausführungsformen werden die Ähnlichkeitswerte für die Spalten zusammengefasst, indem der gewichtete Mittelwert aller Ähnlichkeitswerte ermittelt wird, wobei die Gewichtungen auf Grundlage der relativen Wichtigkeit jeder Spalte ermittelt wurden. Wenn die Quelldatensätze markiert sind, können in solchen Ausführungsformen bestehende Merkmalsrangfolgeverfahren auf Grundlage der Aufgabe für die Quelldomäne verwendet werden, um die Gewichtung für jedes Merkmal zu ermitteln. Beispiele für solche bestehenden Merkmalsrangfolgeverfahren umfassen Informationsgewinnungstechniken und Varianzanalyse- (ANOVA) -Techniken. Wenn die Quelldatensätze nicht markiert sind, kann alternativ ein geeignetes heuristisches Verfahren wie zum Beispiel ein heuristisches Verfahren, das eine Entropiemetrik verwendet, verwendet werden, um Gewichtungen für die Merkmale zu bestimmen. In verschiedenen Ausführungsformen ermöglicht das Zusammenfassen der Ähnlichkeitswerte durch Berechnen gewichteter Mittelwerte auf diese Weise, dass wichtigere Merkmale einen größeren Einfluss darauf haben, ob sich die Datensätze ähneln. Darüber hinaus können in weiteren Ausführungsformen auch beliebige andere Techniken verwendet werden, um die Ähnlichkeitswerte für die Spalten so zusammenzufassen, dass ein einziger Spalten-Ähnlichkeitswert für jedes Quell-Ziel-Datensatzpaar erhalten wird.
  • In einigen Ausführungsformen werden für jede Umsetzung des Datensatz-Erkennungsverfahrens 200 zwei der Ähnlichkeitsberechnungsschritte der Blöcke 210 bis 214 ausgeführt. Beispielsweise werden in einigen Ausführungsformen nur Datensatz-Ähnlichkeitswerte und Zeilen-Ähnlichkeitswerte berechnet. In weiteren Ausführungsformen werden nur Zeilen-Ähnlichkeitswerte und Spalten-Ähnlichkeitswerte berechnet. In weiteren Ausführungsformen werden nur Datensatz-Ähnlichkeitswerte und Spalten-Ähnlichkeitswerte berechnet. Darüber hinaus wird in weiteren Ausführungsformen für jede Umsetzung des Datensatz-Erkennungsverfahrens 200 nur einer der Ähnlichkeitsberechnungsschritte der Blöcke 210 bis 214 ausgeführt. Darüber hinaus werden in weiteren Ausführungsformen für jede Umsetzung des Datensatz-Erkennungsverfahrens 200 alle drei Ähnlichkeitsberechnungsschritte der Blöcke 210 bis 214 ausgeführt.
  • In verschiedenen Ausführungsformen enthält das von einem Computer lesbare Speichermedium 124 Programmanweisungen, z.B. ein Programmmodul (nicht gezeigt), die den Prozessor 102 anweisen, zu ermitteln, welche Ähnlichkeitsberechnungsschritte für jede Umsetzung des Datensatz-Erkennungsverfahrens 200 auszuführen sind. In einigen Ausführungsformen kann diese Ermittlung beispielsweise auf einer allgemeinen Bewertung der Quelldatensätze und des Zieldatensatzes, einer Art der auszuführenden Aufgabe und/oder einer vorhergesagten Genauigkeit jeder der Arten von Ähnlichkeitswerten beruhen. Darüber hinaus umfasst das von einem Computer lesbare Speichermedium 124 in einigen Ausführungsformen auch (oder alternativ) Programmanweisungen (nicht gezeigt), die den Prozessor 102 anweisen, zu ermitteln, welche Ähnlichkeitswerte für den in Bezug auf Block 216 beschriebenen Zusammenfassungsschritt zu verwenden sind. Beispielsweise können in einigen Ausführungsformen alle drei Ähnlichkeitswerte in den Blöcken 210 bis 214 berechnet werden; der Prozessor 102 könnte jedoch nur zwei der berechneten Ähnlichkeitswerte auswählen, die für den Zusammenfassungsschritt verwendet werden, wenn der Prozessor 102 ermittelt hat, dass der andere Ähnlichkeitswert nicht sehr relevant oder sehr genau ist.
  • Bei Block 216 werden die Ähnlichkeitswerte der Blöcke 210, 212 und/oder 214 für Umsetzungen des Datensatz-Erkennungsverfahrens 200 zusammengefasst, wobei mindestens zwei der Ähnlichkeitsberechnungsschritte der Blöcke 210 bis 214 ausgeführt werden. Mit anderen Worten werden der Datensatz-Ähnlichkeitswert, der Zeilen-Ähnlichkeitswert und/oder der Spalten-Ähnlichkeitswert für jedes Quell-Ziel-Datensatzpaar zusammengeführt, um einen Gesamt-Ähnlichkeitswert zwischen jedem Quell-Ziel-Datensatzpaar zu ermitteln. In einigen Ausführungsformen umfasst dies ein Normieren des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und/oder des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar und dann ein einfaches Summieren der Werte, um den Gesamt-Ähnlichkeitswert für das Quell-Ziel-Datensatzpaar zu ermitteln. In weiteren Ausführungsformen umfasst dies ein Ermitteln des mittleren Ähnlichkeitswerts, des Medians der Ähnlichkeitswerte und/oder des Maximums der Ähnlichkeitswerte für jedes Quell-Ziel-Datensatzpaar. In weiteren Ausführungsformen umfasst dies ein Ermitteln des gewichteten Mittelwerts des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und/oder des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar. In weiteren Ausführungsformen umfasst dies eine Verwendung einer Aggregierfunktion zum Ermitteln des Gesamt-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar auf Grundlage des entsprechenden Datensatz-Ähnlichkeitswerts, Zeilen-Ähnlichkeitswerts und/oder Spalten-Ähnlichkeitswerts. Darüber hinaus versteht es sich für Fachleute, dass jede geeignete Zusammenfassungstechnik verwendet werden kann, um die Ähnlichkeitswerte in Abhängigkeit von den Details der spezifischen Umsetzung zusammenzufassen.
  • Bei Block 218 gibt das Datensatz-Erkennungsverfahren 200 den einen oder die mehreren Quelldatensätze mit den höchsten Bewertungen aus. Beispielsweise gibt das Datensatz-Erkennungsverfahren 200 in einigen Ausführungsformen eine Liste von Quelldatensätzen mit den höchsten Gesamt-Ähnlichkeitswerten und/oder eine Rangfolge der Quelldatensätze nach Gesamt-Ähnlichkeitswert aus. In einigen Ausführungsformen veranlasst der Prozessor 102 des Computersystems 100, dass die Liste bzw. Rangfolge einem Benutzer über die Anzeigeeinheit 114 und/oder über das Netzwerk 118 einem oder mehreren fernen Benutzern der einen oder mehreren fernen Einheiten 120 angezeigt wird. Beispielsweise kann die Liste bzw. Rangfolge als ein oder mehrere Diagramme, Schemata und/oder Graphen angezeigt werden. Das Anzeigen der Liste bzw. der Rangfolge für den Benutzer kann eine Auswahl von einem oder mehreren Quelldatensätzen mit dem einen oder den mehreren höchsten Gesamt-Ähnlichkeitswerten, die für das Transferlernverfahren für die Zieldomäne verwendet werden sollen, durch den Benutzer erleichtern.
  • In weiteren Ausführungsformen enthält das von einem Computer lesbare Speichermedium 124 Programmanweisungen (nicht gezeigt), die den Prozessor 102 anweisen, autonom eine bestimmte Anzahl von Quelldatensätzen mit den höchsten Gesamt-Ähnlichkeitswerten auszuwählen, die für das Transferlernverfahren für die Zieldomäne verwendet werden sollen. Die angegebene Anzahl von Quelldatensätzen kann beispielsweise etwa 2 bis 5 Quelldatensätze betragen, abhängig von den Details der spezifischen Umsetzung. In einigen Ausführungsformen bewirkt der Prozessor 102 des Computersystems 100, dass ein oder mehrere Diagramme, Schemata und/oder Graphen dem Benutzer angezeigt werden, um für eine Erläuterung der autonomen Auswahl zu sorgen.
  • Das Blockschema von 2 soll nicht implizieren, dass die Blöcke 206 bis 218 des Datensatz-Erkennungsverfahrens 200 in irgendeiner bestimmten Reihenfolge auszuführen sind oder dass alle Blöcke 206 bis 218 des Datensatz-Erkennungsverfahrens 200 in jedem Fall einbezogen sein müssen. Darüber hinaus kann abhängig von den Einzelheiten der spezifischen Umsetzung eine beliebige Anzahl weiterer Blöcke in das Verfahren 200 aufgenommen werden. In einigen Ausführungsformen umfasst das Datensatz-Erkennungsverfahren 200 beispielsweise eine Verwendung des einen oder der mehreren Quelldatensätze mit den höchsten Gesamt-Ähnlichkeitswerten, um ein Klassifizierungsmodell für die Zieldomäne unter Verwendung eines Transferlernverfahrenes zu trainieren. Insbesondere können der eine oder die mehreren ausgewählten Quelldatensätze verwendet werden, um den Klassifizierer für das Klassifizierungsmodell zu trainieren.
  • 3 ist eine grafische Darstellung, die zeigt, wie beispielhafte Ähnlichkeitswerte 300A und 300B unter Verwendung der Verteilungshistogramme 302A bis D in Verbindung mit der Pearson-Korrelationsfunktion berechnet werden können. Gemäß dem in 3 gezeigten Beispiel wurden die Verteilungshistogramme 302A und 302B sowie die Verteilungshistogramme 302C und 302D unter Verwendung entsprechender Spalten in einem Quelldatensatz und dem Zieldatensatz erstellt. Mit anderen Worten beziehen sich die Verteilungshistogramme 302A und 302B und die Verteilungshistogramme 302C und 302D auf dasselbe Merkmal. Die Pearson-Korrelationsfunktion wird dann verwendet, um die Verteilungshistogramme 302A und 302B sowie die Verteilungshistogramme 302C und 302D zu vergleichen. Die Pearson-Korrelationsfunktion gibt nun Ähnlichkeitswerte 300A und 300B für die zwei Spalten aus, wobei Ähnlichkeitswerte, die näher an 1 liegen, anzeigen, dass die Spalten ähnlicher sind. Wie in 3 gezeigt, haben die Verteilungshistogramme 302C und 302D einen Ähnlichkeitswert 300A von 0,4363, während die Verteilungshistogramme 302A und 302B einen Ähnlichkeitswert 300A von -0,3351 haben. Daher sind die Spalten, die sich auf die Verteilungshistogramme 302C und 302D beziehen, relativ ähnlich, während die Spalten, die sich auf die Verteilungshistogramme 302A und 302B beziehen, sehr unterschiedlich sind.
  • 4 ist ein vereinfachtes Verfahrensflussdiagramm eines Verfahrens 400 zum Quantifizieren einer Ähnlichkeit zwischen einem Zieldatensatz und mehreren Quelldatensätzen und zum Erkennen eines oder mehrerer Quelldatensätze, die dem Zieldatensatz am ähnlichsten sind. In verschiedenen Ausführungsformen wird das Verfahren 400 durch das in Bezug auf 1 beschriebene Computersystem 100 umgesetzt. Insbesondere kann das Verfahren 400 durch den Prozessor 102 über die Ausführung der Module 126 bis 136 in dem von einem Computer lesbaren Speichermedium 124 ausgeführt werden.
  • Das Verfahren 400 beginnt bei Block 402, bei dem Quelldatensätze, die sich auf eine Quelldomäne beziehen, und ein Zieldatensatz, der sich auf eine Zieldomäne von Interesse bezieht, am Computersystem empfangen werden. Jeder Datensatz ist in einem tabellarischen Format angeordnet, das Spalten, die Merkmalen des Datensatzes entsprechen, und Zeilen enthält, die Instanzen des Datensatzes entsprechen. Außerdem enthalten die Quelldatensätze und der Zieldatensatz einen gleichen Merkmalsraum. Darüber hinaus beziehen sich in verschiedenen Ausführungsformen die Quelldomäne und die Zieldomäne auf dieselbe Aufgabe, wie zum Beispiel die Erkennung von Finanzbetrug.
  • Bei Block 404 wird jedes Quell-Ziel-Datensatzpaar durch einen Prozessor des Computersystems vorverarbeitet, um alle nicht überlappenden Spalten zu entfernen. In einigen Ausführungsformen wird jedes Quell-Ziel-Datensatzpaar auch vorverarbeitet, um fehlende Werte einzufüllen, irrelevante bzw. unwichtige Spalten zu entfernen, die Datensätze so auszurichten, dass die Spalten in der gleichen Reihenfolge stehen, und/oder Werte in den Datensätzen zu standardisieren.
  • Bei Block 406 werden für jedes Quell-Ziel-Datensatzpaar durch den Prozessor mindestens zwei eines Datensatz-Ähnlichkeitswerts, eines Zeilen-Ähnlichkeitswerts und eines Spalten-Ähnlichkeitswerts berechnet. In verschiedenen Ausführungsformen umfasst das Berechnen des Datensatz-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar ein iteratives Ausführen für jedes Quell-Ziel-Datensatzpaar, bis eine vorbestimmte Anzahl von Best-Splitting-Spalten aus dem Quell-Ziel-Datensatzpaar entfernt wurde, des Folgenden: (1) Trainieren eines maschinellen Lernmodells, um zwischen dem Quelldatensatz und dem Zieldatensatz in dem Quell-Ziel-Datensatzpaar zu unterscheiden; (2) Erkennen eines oder mehrerer wichtigster Merkmale für das maschinelle Lernmodell, wobei jedes des einen oder der mehreren wichtigsten Merkmale einer Best-Splitting-Spalte in dem Quell-Ziel-Datensatzpaar entspricht; und (3) Entfernen der einen oder mehreren Best-Splitting-Spalten, die dem einen oder den mehreren wichtigsten Merkmalen entsprechen, aus jedem Quell-Ziel-Datensatzpaar. Darüber hinaus umfasst das Berechnen des Datensatz-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar ein Ausführen des Folgenden für jedes Quell-Ziel-Datensatzpaar, nachdem die vorbestimmte Anzahl von Best-Splitting-Spalten entfernt wurde: (1) Ermitteln einer Gesamtgenauigkeit der maschinellen Lernmodelle, die während jeder Iteration erzeugt wurden; und (2) Berechnen des Datensatz-Ähnlichkeitswerts für das Quell-Ziel-Datensatzpaar, wobei der Datensatz-Ähnlichkeitswert gleich 1 minus der Gesamtgenauigkeit der maschinellen Lernmodelle ist und wobei Datensatz-Ähnlichkeitswerte näher an 1 anzeigen, dass der Quelldatensatz und der Zieldatensatz ähnlicher sind. Zusätzlich umfasst das Berechnen des Zeilen-Ähnlichkeitswerts in verschiedenen Ausführungsformen ein Ausführen des Folgenden für jedes Quell-Ziel-Datensatzpaar: (1) Berechnen eines Abstandswerts zwischen jeder Instanz des Zieldatensatzes und jeder Instanz des Quelldatensatzes durch Ausführen eines clustergestützten Optimierungsverfahrens; (2) Zusammenfassen der Abstandswerte, um einen mittleren minimalen Abstandswert für das Quell-Ziel-Datensatzpaar zu ermitteln; und (3) Ausgeben des mittleren minimalen Abstandswerts als Zeilen-Ähnlichkeitswert für das Quell-Ziel-Datensatzpaar. Darüber hinaus umfasst das Berechnen des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar in verschiedenen Ausführungsformen ein Ausführen des Folgenden für jedes Quell-Ziel-Datensatzpaar: (1) Erstellen einer Werteverteilungsnäherung, beispielsweise eines Verteilungshistogramms, für jede Spalte in dem Quelldatensatz und für jede Spalte in dem Zieldatensatz; (2) Vergleichen der Werteverteilungsnäherungen für entsprechende Spalten in dem Quelldatensatz und dem Zieldatensatz unter Verwendung einer Ähnlichkeitsfunktion, wobei eine Ausgabe der Ähnlichkeitsfunktion einen Ähnlichkeitswert für jede entsprechende Spalte darstellt; und (3) Zusammenfassen der Ähnlichkeitswerte für die entsprechenden Spalten zum Ermitteln des Spalten-Ähnlichkeitswerts für das Quell-Ziel-Datensatzpaar.
  • Bei Block 408 werden die berechneten Ähnlichkeitswerte für jedes Quell-Ziel-Datensatzpaar durch den Prozessor zusammengefasst, um einen oder mehrere Quelldatensätze zu erkennen, die dem Zieldatensatz am ähnlichsten sind. In verschiedenen Ausführungsformen umfasst dies ein Ermitteln einer Summe, eines Mittelwerts, eines Medianwerts, eines Maximums, eines gewichteten Mittelwerts, einer Aggregation oder einer anderen Zusammenfassungsstatistik der berechneten Ähnlichkeitswerte für jedes Quell-Ziel-Datensatzpaar und ein Ausgeben der Summe, des Mittelwerts, des Median, des Maximums, des gewichteten Mittelwerts, der Aggregation oder der anderen Zusammenfassungsstatistik der berechneten Ähnlichkeitswerte als Gesamt-Ähnlichkeitswert für jedes Quell-Ziel-Datensatzpaar.
  • Das Blockschema von 4 soll nicht implizieren, dass die Blöcke 402 bis 408 des Verfahrens 400 in irgendeiner bestimmten Reihenfolge auszuführen sind oder dass alle Blöcke 402 bis 408 des Verfahrens 400 in jedem Fall vorgesehen sein müssen. Darüber hinaus kann abhängig von den Einzelheiten der speziellen Umsetzung eine beliebige Anzahl weiterer Blöcke in das Verfahren 400 aufgenommen werden. Beispielsweise umfasst das Verfahren 400 in einigen Ausführungsformen auch ein Trainieren eines Klassifizierungsmodells durch ein Transferlernverfahren für die Zieldomäne unter Verwendung von mindestens einem Quelldatensatz, der dem Zieldatensatz am ähnlichsten ist. Darüber hinaus umfasst das Verfahren 400 in einigen Ausführungsformen ein Anzeigen einer Liste oder Rangordnung der Quelldatensätze, die dem Zieldatensatz am ähnlichsten sind, über eine Anzeigeeinheit des Computersystems. Dies kann die Auswahl eines oder mehrerer Quelldatensätze durch den Benutzer zur Verwendung für das Transferlernverfahren erleichtern. In weiteren Ausführungsformen wählt das Computersystem autonom einen oder mehrere Quelldatensätze zur Verwendung für das Transferlernverfahren aus und zeigt dem Benutzer optional ein oder mehrere Diagramme, Schemata und/oder Graphen an, um eine Erläuterung der autonomen Auswahl bereitzustellen.
  • In verschiedenen Ausführungsformen umfasst das Verfahren 400 auch ein Durchführen einer Merkmalsauswahl für jedes Quell-Ziel-Datensatzpaar durch den Prozessor vor dem Berechnen der mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar. In einigen Ausführungsformen umfasst das Durchführen der Merkmalsauswahl ein iteratives Durchführen für jedes Quell-Ziel-Datensatzpaar, bis eine vorbestimmte Anzahl von Best-Splitting-Spalten aus dem Quell-Ziel-Datensatzpaar entfernt wurde, des Folgenden: (1) Trainieren eines maschinellen Lernmodells, um zwischen dem Quelldatensatz und dem Zieldatensatz in dem Quell-Ziel-Datensatzpaar zu unterscheiden; (2) Erkennen eines oder mehrerer wichtigster Merkmale für das maschinelle Lernmodell, wobei jedes des einen oder der mehreren wichtigsten Merkmale einer Best-Splitting-Spalte in dem Quell-Ziel-Datensatzpaar entspricht; und (3) Entfernen der einen oder mehreren Best-Splitting-Spalten, die dem einen oder den mehreren wichtigsten Merkmalen entsprechen, aus jedem Quell-Ziel-Datensatzpaar. Außerdem umfasst das Durchführen der Merkmalsauswahl in solchen Ausführungsformen ein Kennzeichnen der verbleibenden Spalten in dem Quell-Ziel-Datensatzpaar als die ausgewählten Merkmale. Darüber hinaus können in solchen Ausführungsformen die Ergebnisse des Merkmalsauswahlverfahrens zum Berechnen der Datensatz-Ähnlichkeitswerte für die Quell-Ziel-Datensatzpaare verwendet werden, wodurch das gesamte Datensatz-Ähnlichkeitswert-Berechnungsverfahren vereinfacht wird.
  • Bei der vorliegenden Erfindung kann es sich um ein Computersystem, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion enthalten. In einigen alternativen Ausführungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • In einigen Szenarien können die hierin beschriebenen Techniken in einer Cloud-Computing-Umgebung umgesetzt sein, wie ausführlicher in Bezug auf die 5 und 6 beschrieben wird. Es versteht sich im Voraus, dass obwohl diese Offenbarung eine Beschreibung von Cloud Computing enthalten kann, eine Umsetzung der hierin beschriebenen Techniken nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Vielmehr können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Dienst-Bereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerken, Netzwerkbandbreite, Servern, Verarbeitungseinheiten, Speicher, Speichereinheiten, Anwendungen, virtuellen Maschinen und Diensten), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle umfassen.
  • Die mindestens fünf Merkmale sind wie folgt:
    • (1) On-Demand-Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
    • (2) Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
    • (3) Resource Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
    • (4) Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
    • (5) Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Die mindestens drei Dienstmodelle sind wie folgt:
    • (1) Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, Anwendungen des Anbieters zu verwenden, die in einer Cloud-Infrastruktur ausgeführt werden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
    • (2) Plattform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
    • (3) Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Die mindestens vier Bereitstellungsmodelle sind wie folgt:
    • (1) Private Cloud: Die Cloud-Infrastruktur wird ausschließlich für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
    • (2) Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.
    • (3) Öffentliche Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
    • (4) Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk von zusammengeschalteten Knoten umfasst.
  • 5 ist eine schematische Ansicht einer beispielhaften Cloud-Computing-Umgebung 500. Wie gezeigt, umfasst die Cloud-Computing-Umgebung 500 einen oder mehrere Cloud-Computing-Knoten 502, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, personal digital assistant) oder das Mobiltelefon 504A, der Desktop-Computer 504B, der Laptop-Computer 504C und/oder das Automobil-Computer-System 504N Daten austauschen können. Die Cloud-Computing-Knoten 502 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 500, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 5 gezeigten Datenverarbeitungseinheiten 504A bis N lediglich beispielhaft sein sollen und dass die Cloud-Computing-Knoten 502 und die Cloud-Computing-Umgebung 500 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • 6 ist eine vereinfachte schematische Ansicht beispielhafter funktionaler Abstraktionsschichten 600, die von der in 5 gezeigten Cloud-Computing-Umgebung 500 bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 6 gezeigten Komponenten, Schichten und Funktionen lediglich beispielhaft sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie gezeigt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt.
  • Eine Hardware- und Software-Schicht 602 umfasst Hardware- und SoftwareKomponenten. Beispiele für Hardwarekomponenten umfassen Mainframes, in einem Beispiel IBM® zSeries®-Systeme; auf RISC-Architektur („Reduced Instruction Set Computer“) beruhende Server, in einem Beispiel IBM pSeries®-Systeme; IBM xSeries®-Systeme; IBM BladeCenter®-Systeme; Speichereinheiten; Netzwerke und Netzwerkkomponenten. Beispiele für Softwarekomponenten umfassen Netzwerkanwendungsserver-Software, in einem Beispiel IBM WebSphere®-Anwendungsserversoftware; und Datenbanksoftware, in einem Beispiel IBM DB2®-Datenbanksoftware. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere und DB2 sind Marken der International Business Machines Corporation, die in vielen Gerichtsbarkeiten weltweit eingetragen sind).
  • Eine Virtualisierungsschicht 604 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server, virtueller Speicher, virtuelle Netzwerke, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme; und virtuelle Clients. In einem Beispiel kann eine Verwaltungsschicht 606 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen umfassen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einer SLA bereit.
  • Eine Arbeitslastschicht 608 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation; Softwareentwicklung und Lebenszyklusverwaltung; Bereitstellung von Ausbildung in virtuellen Klassenzimmern; Datenanalytikverarbeitung; Transaktionsverarbeitung; und Ausführung von Quelldatensatz-Erkennungstechniken.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zu Zwecken der Veranschaulichung angegeben, sind aber nicht als erschöpfend oder auf die offenbarten Ausführungsformen beschränkt anzusehen. Viele Modifikationen und Varianten sind für Fachleute offensichtlich, ohne vom Umfang und Geist der beschriebenen Ausführungsformen abzuweichen. Die hier verwendete Terminologie wurde ausgewählt, um die Grundsätze der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber Technologien, die am Markt vorhanden sind, am besten zu beschreiben oder anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.

Claims (20)

  1. Verfahren zum Quantifizieren einer Ähnlichkeit zwischen einem Zieldatensatz und mehreren Quelldatensätzen und Erkennen mindestens eines Quelldatensatzes, der dem Zieldatensatz am ähnlichsten ist, aufweisend: Empfangen, an einem Computersystem, eines Quelldatensatzes in Bezug auf eine Quelldomäne und eines Zieldatensatzes in Bezug auf eine Zieldomäne von Interesse, wobei jeder Datensatz in einem Tabellenformat angeordnet ist, das Spalten, die Merkmalen des Datensatzes entsprechen, und Zeilen aufweist, die Instanzen des Datensatzes entsprechen, und wobei die Quelldatensätze und der Zieldatensatz einen gleichen Merkmalsraum aufweisen; Vorverarbeiten, durch einen Prozessor des Computersystems, jedes Quell-Ziel-Datensatzpaares, um alle nicht überlappenden Spalten zu entfernen; Berechnen, durch den Prozessor, von mindestens zwei eines Datensatz-Ähnlichkeitswerts, eines Zeilen-Ähnlichkeitswerts und eines Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar; und Zusammenfassen, durch den Prozessor, der mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar, um mindestens einen Quelldatensatz zu erkennen, der dem Zieldatensatz am ähnlichsten ist.
  2. Verfahren nach Anspruch 1, aufweisend ein Trainieren eines Klassifizierungsmodells für die Zieldomäne durch ein Transferlernverfahren, das den mindestens einen Quelldatensatz verwendet, der dem Zieldatensatz am ähnlichsten ist.
  3. Verfahren nach Anspruch 1, wobei das Vorverarbeiten jedes Quell-Ziel-Datensatzpaares ferner mindestens eines aufweist von: Auffüllen fehlender Werte in jedem Quell-Ziel-Datensatzpaar; Entfernen irrelevanter bzw. unwichtiger Spalten aus jedem Quell-Ziel-Datensatzpaar; Ausrichten des Quelldatensatzes und des Zieldatensatzes in jedem Quell-Ziel-Datensatzpaar so, dass die Spalten in derselben Reihenfolge stehen; und Standardisieren von Werten in jedem Quell-Ziel-Datensatzpaar.
  4. Verfahren nach Anspruch 1, aufweisend ein Ausführen, durch den Prozessor, einer Merkmalsauswahl für jedes Quell-Ziel-Datensatzpaar vor dem Berechnen der mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar.
  5. Verfahren nach Anspruch 4, wobei das Ausführen der Merkmalsauswahl für jedes Quell-Ziel-Datensatzpaar aufweist: Iteratives Ausführen für jedes Quell-Ziel-Datensatzpaar, bis eine vorbestimmte Anzahl von Best-Splitting-Spalten aus dem Quell-Ziel-Datensatzpaar entfernt wurde, des Folgenden: Trainieren eines maschinellen Lernmodells, um zwischen dem Quelldatensatz und dem Zieldatensatz in dem Quell-Ziel-Datensatzpaar zu unterscheiden; Erkennen eines oder mehrerer wichtigster Merkmale für das maschinelle Lernmodell, wobei jedes des einen oder der mehreren wichtigsten Merkmale einer Best-Splitting-Spalte in dem Quell-Ziel-Datensatzpaar entspricht; und Entfernen der einen oder mehreren Best-Splitting-Spalten, die dem einen oder den mehreren wichtigsten Merkmalen entsprechen, aus dem Quell-Ziel-Datensatzpaar; und Kennzeichnen der verbleibenden Spalten in jedem Quell-Ziel-Datensatzpaar als die ausgewählten Merkmale.
  6. Verfahren nach Anspruch 1, wobei das Berechnen des Datensatz-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar für jedes Quell-Ziel-Datensatzpaar aufweist: iteratives Ausführen für das Quell-Ziel-Datensatzpaar, bis eine vorbestimmte Anzahl von Best-Splitting-Spalten aus dem Quell-Ziel-Datensatzpaar entfernt wurde, des Folgenden: Trainieren eines maschinellen Lernmodells, um zwischen dem Quelldatensatz und dem Zieldatensatz in dem Quell-Ziel-Datensatzpaar zu unterscheiden; Erkennen eines oder mehrerer wichtigster Merkmale für das maschinelle Lernmodell, wobei jedes des einen oder der mehreren wichtigsten Merkmale einer Best-Splitting-Spalte in dem Quell-Ziel-Datensatzpaar entspricht; und Entfernen der einen oder mehreren Best-Splitting-Spalten, die dem einen oder den mehreren wichtigsten Merkmalen entsprechen, aus dem Quell-Ziel-Datensatzpaar; Ermitteln einer Gesamtgenauigkeit der maschinellen Lernmodelle, die während jeder Iteration erzeugt wurden; und Berechnen des Datensatz-Ähnlichkeitswerts für das Quell-Ziel-Datensatzpaar, wobei der Datensatz-Ähnlichkeitswert gleich 1 minus der Gesamtgenauigkeit der maschinellen Lernmodelle ist, und wobei Datensatz-Ähnlichkeitswerte näher an 1 anzeigen, dass der Quelldatensatz und der Zieldatensatz ähnlicher sind.
  7. Verfahren nach Anspruch 1, wobei das Berechnen des Zeilen-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar für jedes Quell-Ziel-Datensatzpaar aufweist: Berechnen eines Abstandswerts zwischen jeder Instanz des Zieldatensatzes und jeder Instanz des Quelldatensatzes durch Ausführen eines clustergestützten Optimierungsverfahrens; Zusammenfassen der Abstandswerte, um einen mittleren minimalen Abstandswert für das Quell-Ziel-Datensatzpaar zu ermitteln; und Ausgeben des mittleren minimalen Abstandswerts als Zeilen-Ähnlichkeitswert für das Quell-Ziel-Datensatzpaar.
  8. Verfahren nach Anspruch 1, wobei das Berechnen des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar für jedes Quell-Ziel-Datensatzpaar aufweist: Erstellen einer Werteverteilungsnäherung für jede Spalte in dem Quelldatensatz und jede Spalte in dem Zieldatensatz; Vergleichen der Werteverteilungsnäherungen für entsprechende Spalten in dem Quelldatensatz und dem Zieldatensatz unter Verwendung einer Ähnlichkeitsfunktion, wobei eine Ausgabe der Ähnlichkeitsfunktion einen Ähnlichkeitswert für jede entsprechende Spalte darstellt; und Zusammenfassen der Ähnlichkeitswerte für die entsprechenden Spalten, um den Spalten-Ähnlichkeitswert für das Quell-Ziel-Datensatzpaar zu ermitteln.
  9. Verfahren nach Anspruch 1, wobei das Zusammenfassen der mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar aufweist: Ermitteln einer Summe, eines Mittelwerts, eines Median, eines Maximums, eines gewichteten Mittelwerts, einer Aggregation oder einer anderen Zusammenfassungsstatistik der mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar; und Ausgeben der Summe, des Mittelwerts, des Median, des Maximums, des gewichteten Mittelwerts, der Aggregation oder der anderen Zusammenfassungsstatistik der mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts als Gesamt-Ähnlichkeitswert für jedes Quell-Ziel-Datensatzpaar.
  10. Computersystem, aufweisend: eine Schnittstelle zum Empfangen von Quelldatensätzen in Bezug auf eine Quelldomäne und eines Zieldatensatzes in Bezug auf ein Zieldomäne von Interesse, wobei jeder Datensatz in einem Tabellenformat angeordnet ist, das Spalten, die Merkmalen des Datensatzes entsprechen, und Zeilen aufweist, die Instanzen des Datensatzes entsprechen, und wobei die Quelldatensätze und der Zieldatensatz einen gleichen Merkmalsraum aufweisen; einen Prozessor; und ein von einem Computer lesbares Speichermedium, das Programmanweisungen speichert, die den Prozessor anweisen zum: Vorverarbeiten jedes Quell-Ziel-Datensatzpaares, um alle nicht überlappenden Spalten zu entfernen; Berechnen von mindestens zwei eines Datensatz-Ähnlichkeitswerts, eines Zeilen-Ähnlichkeitswerts und eines Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar; und Zusammenfassen der mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar, um mindestens einen Quelldatensatz zu erkennen, der dem Zieldatensatz am ähnlichsten ist.
  11. System nach Anspruch 10, wobei das von einem Computer lesbare Speichermedium Programmanweisungen speichert, die den Prozessor anweisen, ein Klassifizierungsmodell für die Zieldomäne durch ein Transferlernverfahren zu trainieren, das den mindestens einen Quelldatensatz verwendet, der dem Zieldatensatz am ähnlichsten ist.
  12. System nach Anspruch 10, wobei das von einem Computer lesbare Speichermedium Programmanweisungen speichert, die den Prozessor anweisen, ferner jedes Quell-Ziel-Datensatzpaar vorzuverarbeiten, um mindestens eines auszuführen von: Auffüllen fehlender Werte in jedem Quell-Ziel-Datensatzpaar; Entfernen irrelevanter bzw. unwichtiger Spalten aus jedem Quell-Ziel-Datensatzpaar; Ausrichten des Quelldatensatzes und des Zieldatensatzes in jedem Quell-Ziel-Datensatzpaar so, dass die Spalten in derselben Reihenfolge stehen; und Standardisieren von Werten in jedem Quell-Ziel-Datensatzpaar.
  13. System nach Anspruch 10, wobei das von einem Computer lesbare Speichermedium Programmanweisungen speichert, die den Prozessor anweisen, eine Merkmalsauswahl für jedes Quell-Ziel-Datensatzpaar vor dem Berechnen der mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar auszuführen.
  14. System nach Anspruch 13, wobei das von einem Computer lesbare Speichermedium Programmanweisungen speichert, die den Prozessor anweisen, die Merkmalsauswahl für jedes Quell-Ziel-Datensatzpaar auszuführen durch: Iteratives Ausführen für jedes Quell-Ziel-Datensatzpaar, bis eine vorbestimmte Anzahl von Best-Splitting-Spalten aus dem Quell-Ziel-Datensatzpaar entfernt wurde, des Folgenden: Trainieren eines maschinellen Lernmodells, um zwischen dem Quelldatensatz und dem Zieldatensatz in dem Quell-Ziel-Datensatzpaar zu unterscheiden; Erkennen eines oder mehrerer wichtigster Merkmale für das maschinelle Lernmodell, wobei jedes des einen oder der mehreren wichtigsten Merkmale einer Best-Splitting-Spalte in dem Quell-Ziel-Datensatzpaar entspricht; und Entfernen der einen oder mehreren Best-Splitting-Spalten, die dem einen oder den mehreren wichtigsten Merkmalen entsprechen, aus dem Quell-Ziel-Datensatzpaar; und Kennzeichnen der verbleibenden Spalten in jedem Quell-Ziel-Datensatzpaar als die ausgewählten Merkmale.
  15. System nach Anspruch 10, wobei das von einem Computer lesbare Speichermedium Programmanweisungen speichert, die den Prozessor anweisen, den Datensatz-Ähnlichkeitswert für jedes Quell-Ziel-Datensatzpaar zu berechnen durch: Iteratives Ausführen für jedes Quell-Ziel-Datensatzpaar, bis eine vorbestimmte Anzahl von Best-Splitting-Spalten aus dem Quell-Ziel-Datensatzpaar entfernt wurde, des Folgenden: Trainieren eines maschinellen Lernmodells, um zwischen dem Quelldatensatz und dem Zieldatensatz in dem Quell-Ziel-Datensatzpaar zu unterscheiden; Erkennen eines oder mehrerer wichtigster Merkmale für das maschinelle Lernmodell, wobei jedes des einen oder der mehreren wichtigsten Merkmale einer Best-Splitting-Spalte in dem Quell-Ziel-Datensatzpaar entspricht; und Entfernen der einen oder mehreren Best-Splitting-Spalten, die dem einen oder den mehreren wichtigsten Merkmalen entsprechen, aus dem Quell-Ziel-Datensatzpaar; Ermitteln einer Gesamtgenauigkeit der maschinellen Lernmodelle, die während jeder Iteration für jedes Quell-Ziel-Datensatzpaar erzeugt wurden; und Berechnen des Datensatz-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar, wobei der Datensatz-Ähnlichkeitswert gleich 1 minus der Gesamtgenauigkeit der maschinellen Lernmodelle ist, und wobei Datensatz-Ähnlichkeitswerte näher an 1 anzeigen, dass der Quelldatensatz und der Zieldatensatz ähnlicher sind.
  16. System nach Anspruch 10, wobei das von einem Computer lesbare Speichermedium Programmanweisungen speichert, die den Prozessor anweisen, den Zeilen-Ähnlichkeitswert für jedes Quell-Ziel-Datensatzpaar zu berechnen durch: Berechnen eines Abstandswerts zwischen jeder Instanz des Zieldatensatzes und jeder Instanz des Quelldatensatzes durch Ausführen eines clustergestützten Optimierungsverfahrens; Zusammenfassen der Abstandswerte, um einen mittleren minimalen Abstandswert für das Quell-Ziel-Datensatzpaar zu ermitteln; und Ausgeben des mittleren minimalen Abstandswerts als Zeilen-Ähnlichkeitswert für das Quell-Ziel-Datensatzpaar.
  17. System nach Anspruch 10, wobei das von einem Computer lesbare Speichermedium Programmanweisungen speichert, die den Prozessor anweisen, den Spalten-Ähnlichkeitswert für jedes Quell-Ziel-Datensatzpaar zu berechnen durch: Erstellen einer Werteverteilungsnäherung für jede Spalte in dem Quelldatensatz und jede Spalte in dem Zieldatensatz; Vergleichen der Werteverteilungsnäherungen für entsprechende Spalten in dem Quelldatensatz und dem Zieldatensatz unter Verwendung einer Ähnlichkeitsfunktion, wobei eine Ausgabe der Ähnlichkeitsfunktion einen Ähnlichkeitswert für jede entsprechende Spalte darstellt; und Zusammenfassen der Ähnlichkeitswerte für die entsprechenden Spalten, um den Spalten-Ähnlichkeitswert für das Quell-Ziel-Datensatzpaar zu ermitteln.
  18. System nach Anspruch 10, wobei das von einem Computer lesbare Speichermedium Programmanweisungen speichert, die den Prozessor anweisen, die mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar zusammenzufassen durch: Ermitteln einer Summe, eines Mittelwerts, eines Median, eines Maximums, eines gewichteten Mittelwerts, einer Aggregation oder einer anderen Zusammenfassungsstatistik der mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar; und Ausgeben der Summe, des Mittelwerts, des Median, des Maximums, des gewichteten Mittelwerts, der Aggregation oder der anderen Zusammenfassungsstatistik der mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts als Gesamt-Ähnlichkeitswert für jedes Quell-Ziel-Datensatzpaar.
  19. Computerprogrammprodukt, aufweisend ein von einem Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen, wobei das von einem Computer lesbare Speichermedium als solches kein flüchtiges Signal ist, und wobei die Programmanweisungen von einem Prozessor ausführbar sind, um den Prozessor zu veranlassen zum: Empfangen eines Quelldatensatzes in Bezug auf eine Quelldomäne und eines Zieldatensatzes in Bezug auf eine Zieldomäne von Interesse, wobei jeder Datensatz in einem Tabellenformat angeordnet ist, das Spalten, die Merkmalen des Datensatzes entsprechen, und Zeilen aufweist, die Instanzen des Datensatzes entsprechen, und wobei die Quelldatensätze und der Zieldatensatz einen gleichen Merkmalsraum aufweisen; Vorverarbeiten jedes Quell-Ziel-Datensatzpaares, um alle nicht überlappenden Spalten zu entfernen; Berechnen von mindestens zwei eines Datensatz-Ähnlichkeitswerts, eines Zeilen-Ähnlichkeitswerts und eines Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar; und Zusammenfassen der mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar, um mindestens einen Quelldatensatz zu erkennen, der dem Zieldatensatz am ähnlichsten ist.
  20. Computerprogrammprodukt nach Anspruch 19, wobei die Programmanweisungen durch einen Prozessor ausführbar sind, um den Prozessor zu veranlassen, eine Merkmalsauswahl für jedes Quell-Ziel-Datensatzpaar auszuführen, bevor die mindestens zwei des Datensatz-Ähnlichkeitswerts, des Zeilen-Ähnlichkeitswerts und des Spalten-Ähnlichkeitswerts für jedes Quell-Ziel-Datensatzpaar berechnet werden.
DE112021003262.3T 2020-07-21 2021-06-14 Erkennen von quelldatensätzen, die zu einem transferlernverfahren für eine zieldomäne passen Pending DE112021003262T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/934,492 2020-07-21
US16/934,492 US11308077B2 (en) 2020-07-21 2020-07-21 Identifying source datasets that fit a transfer learning process for a target domain
PCT/IB2021/055203 WO2022018538A1 (en) 2020-07-21 2021-06-14 Identifying source datasets that fit transfer learning process for target domain

Publications (1)

Publication Number Publication Date
DE112021003262T5 true DE112021003262T5 (de) 2023-03-30

Family

ID=79689004

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021003262.3T Pending DE112021003262T5 (de) 2020-07-21 2021-06-14 Erkennen von quelldatensätzen, die zu einem transferlernverfahren für eine zieldomäne passen

Country Status (6)

Country Link
US (1) US11308077B2 (de)
JP (1) JP2023535140A (de)
CN (1) CN116194936A (de)
DE (1) DE112021003262T5 (de)
GB (1) GB2611995A (de)
WO (1) WO2022018538A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020168356A2 (en) 2019-02-15 2020-08-20 Haggart Rick Systems and methods for cloud migration readiness
US11388046B2 (en) 2019-02-15 2022-07-12 Virtual Instruments Worldwide, Inc. Port configuration for cloud migration readiness
US11394770B1 (en) * 2021-10-08 2022-07-19 Virtual Instruments Worldwide, Inc. Application discovery in computer networks
US11977527B2 (en) * 2022-01-03 2024-05-07 Capital One Services, Llc Systems and methods for using machine learning to manage data
US12079365B2 (en) * 2022-01-03 2024-09-03 Capital One Services, Llc Systems and methods for using machine learning to manage data
US20240161017A1 (en) * 2022-05-17 2024-05-16 Derek Alexander Pisner Connectome Ensemble Transfer Learning
US20240095514A1 (en) * 2022-09-09 2024-03-21 Tencent America LLC Friend-training: methods, systems, and apparatus for learning from models of different but related tasks
JP2024113610A (ja) * 2023-02-09 2024-08-22 日本電気株式会社 機械学習装置、機械学習方法、及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694514B2 (en) * 2009-10-12 2014-04-08 Oracle International Corporation Collaborative filtering engine
WO2015143580A1 (en) * 2014-03-28 2015-10-01 Huawei Technologies Co., Ltd Method and system for verifying facial data
US20160147765A1 (en) 2014-11-25 2016-05-26 Quixey, Inc. Techniques for Using Similarity to Enhance Relevance in Search Results
US20160253597A1 (en) 2015-02-27 2016-09-01 Xerox Corporation Content-aware domain adaptation for cross-domain classification
US10489438B2 (en) 2016-05-19 2019-11-26 Conduent Business Services, Llc Method and system for data processing for text classification of a target domain
US20180143960A1 (en) 2016-11-18 2018-05-24 International Business Machines Corporation Modifying Tabular Data to be Rendered on a Display Device
US10776693B2 (en) * 2017-01-31 2020-09-15 Xerox Corporation Method and system for learning transferable feature representations from a source domain for a target domain
US10503981B2 (en) * 2017-06-27 2019-12-10 Canon Kabushiki Kaisha Method and apparatus for determining similarity of objects in images
CN107766567B (zh) 2017-11-08 2020-04-21 北京交通大学 网络表的实体扩展方法
US11586875B2 (en) 2017-11-22 2023-02-21 Massachusetts Institute Of Technology Systems and methods for optimization of a data model network architecture for target deployment
CN110619535B (zh) 2018-06-19 2023-07-14 华为技术有限公司 一种数据处理方法及其装置

Also Published As

Publication number Publication date
CN116194936A (zh) 2023-05-30
JP2023535140A (ja) 2023-08-16
GB2611995A (en) 2023-04-19
US11308077B2 (en) 2022-04-19
GB202301819D0 (en) 2023-03-29
WO2022018538A1 (en) 2022-01-27
US20220027339A1 (en) 2022-01-27

Similar Documents

Publication Publication Date Title
DE112021003262T5 (de) Erkennen von quelldatensätzen, die zu einem transferlernverfahren für eine zieldomäne passen
DE112016001902B4 (de) Schätzen von Rechenressourcen für die Ausführung von Data-Mining-Diensten
DE112020000526T5 (de) System und verfahren zum inkrementellen lernen für eine objekterkennung
DE112020002110T5 (de) Ressourcenarme entitätsauflösung mit transfer learning
DE112011104487T5 (de) Verfahren und System zur prädiktiven Modellierung
DE112021002572T5 (de) Multikriterielles optimieren von anwendungen
DE112021002820T5 (de) Dynamische automatisierung einer auswahl von pipeline-artefakten
DE112020005323T5 (de) Elastische ausführung von machine-learning-arbeitslasten unter verwendung einer anwendungsbasierten profilierung
DE112021002867T5 (de) Defektdetektion für eine leiterplattenbaugruppe
DE112021001566T5 (de) Ermitteln von abhängigkeiten multivariater zeitreihendaten
DE112021003908T5 (de) Föderales maschinenlernen durch verwenden von ortsabhängigem hashing
DE112021000810T5 (de) Optisches erkennen von zellenstrukturen unter verwendung hierarchischer neuronaler netzwerke und zellengrenzen zum strukturieren von clustern
DE112020000545T5 (de) Deep-forest-modell-entwicklung und -training
DE112020005306T5 (de) Implementierung von arbeitslasten in einer multi-cloud-umgebung
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE112021000627T5 (de) Dynamische erkennung und korrektur von datenqualitätsproblemen
DE112021004234T5 (de) Einsetzen von metalernen zum optimieren der automatischen auswahl von pipelinesdes maschinellen lernens
DE112021000390T5 (de) Anpassen der leistung eines datenverarbeitungssystems
DE112021001163T5 (de) Dynamisches erstellen von facetten unter verwendung von graphpartitionierung
DE112020005732T5 (de) Erzeugen von trainingsdaten zur objekterkennung
DE102021130359A1 (de) Ressourcenzuordnung auf der grundlage eines kontextbezogenen szenarios
DE112021000338T5 (de) Auslagern der statistikerfassung
DE112021003184T5 (de) Ermittlung von laufzeitumgebungen für software-container
DE112020005296T5 (de) Durchsuchen von gesprächsprotokollen eines systems mit virtuellen dialogagenten nach kontrastierenden zeitlichen mustern
DE112021004380T5 (de) Maschinelles merkmalslernen zur produktformulierung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R084 Declaration of willingness to licence