DE112022000630T5 - Abgleichen von informationen durch verwenden von untergraphen - Google Patents

Abgleichen von informationen durch verwenden von untergraphen Download PDF

Info

Publication number
DE112022000630T5
DE112022000630T5 DE112022000630.7T DE112022000630T DE112022000630T5 DE 112022000630 T5 DE112022000630 T5 DE 112022000630T5 DE 112022000630 T DE112022000630 T DE 112022000630T DE 112022000630 T5 DE112022000630 T5 DE 112022000630T5
Authority
DE
Germany
Prior art keywords
node
nodes
neighboring nodes
neighboring
center
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
DE112022000630.7T
Other languages
English (en)
Inventor
Mohammad KHATIBI
Eitan Daniel Farchi
Martin Oberhofer
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 DE112022000630T5 publication Critical patent/DE112022000630T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • 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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/231Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2323Non-hierarchical techniques based on graph theory, e.g. minimum spanning trees [MST] or graph cuts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

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)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Discrete Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Ein Verfahren gleicht Informationen ab. Ein erster Mittelknoten in einem ersten Untergraphen und ein zweiter Mittelknoten in einem zweiten Untergraphen werden identifiziert. Gruppen von benachbarten Knoten mit benachbarten Knoten aus beiden Untergraphen werden identifiziert. Eine Gruppe der benachbarten Knoten in den Gruppen hat die benachbarten Knoten mit einem selben Knotentyp. Ein am besten übereinstimmendes Knotenpaar der benachbarten Knoten in jedem Cluster wird identifiziert. Die benachbarten Knoten in jedem am besten übereinstimmenden Knotenpaar weisen einen ersten Knoten aus dem ersten Untergraphen und einen zweiten Knoten aus dem zweiten Untergraphen auf. Ob die Mittelknoten übereinstimmen, wird auf Grundlage eines Gesamtabstands zwischen den Mittelknoten bestimmt, wozu der erste und der zweite Mittelknoten und die am besten übereinstimmenden Knotenpaar-Paare verwendet werden.

Description

  • HINTERGRUND
  • 1. Gebiet:
  • Die Offenbarung betrifft allgemein ein verbessertes Computersystem und insbesondere ein Verfahren, eine Vorrichtung, ein System und ein Computerprogrammprodukt zum Abgleichen von Untergraphen.
  • 2. Beschreibung des einschlägigen Stands der Technik:
  • Firmen und andere Organisationen haben viele Datenquellen. Diese Datenquellen enthalten Datensätze für Personen, Organisationen, Lieferanten, Produkte, Marketingpläne oder andere Typen von Elementen. Diese Datensätze werden oft in mehreren operativen Systemen verwaltet, die tägliche Transaktionen einer Firma verarbeiten. Analysesysteme verschieben oder greifen auf diese Datensätze zu, um Berichte zu erzeugen. Diese Berichte umfassen Umsatz nach Kunde, Umsatz nach Produkt, Absatzentwicklungen, Auslastungsberichte oder andere Berichtstypen. Beim Generieren von Berichten in Analysesystemen können doppelte Datensätze Ungenauigkeiten in der Analyse und den sich daraus ergebenden Berichten verursachen. Infolgedessen werden die doppelten Datensätze in den Daten identifiziert und abgestimmt, um die Berichtsanforderungen zu erfüllen.
  • Software-Abgleichalgorithmen wurden zum Identifizieren von doppelten Datensätzen in oder über verschiedene Datensätze übergreifend verwendet. Diese Abgleichalgorithmen setzen zum Beispiel deterministisches Matching, probabilistisches Fuzzy-Matching und andere Typen von Abgleichprozessen um. Der Schwerpunkt dieser Software-Abgleichalgorithmen liegt auf relationalen und Spaltendaten-Strukturen für die Datensätze, um zu bestimmen, ob doppelte Datensätze vorhanden sind. Mit zunehmender Anzahl von Datensätzen, die verglichen werden, kann sich der Zeitaufwand und der Ressourcenanteil drastisch erhöhen.
  • Es wäre daher wünschenswert, über ein Verfahren und eine Vorrichtung zu verfügen, die wenigstens einige der oben erläuterten Probleme sowie wie andere mögliche Probleme berücksichtigen. Es wäre zum Beispiel wünschenswert, ein Verfahren und eine Vorrichtung zu haben, die ein technisches Problem mit dem Zeitaufwand und den Ressourcen bewältigen, die für einen Abgleich einer großen Anzahl von Datensätzen benötigt werden.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Gemäß einer Ausführungsform der vorliegenden Erfindung gleicht ein Verfahren Informationen ab. Ein erster Mittelknoten in einem ersten Untergraphen und ein zweiter Mittelknoten in einem zweiten Untergraphen werden durch ein Computersystem identifiziert. Gruppen von benachbarten Knoten, die die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen haben, werden durch das Computersystem identifiziert. Eine Gruppe der benachbarten Knoten in den Gruppen der benachbarten Knoten hat die benachbarten Knoten mit einem gleichen Knotentyp. Ein am besten übereinstimmendes Knotenpaar der benachbarten Knoten wird durch das Computersystem in jeder Gruppe der benachbarten Knoten identifiziert, um einen Satz von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern zu bilden, wobei jedes am besten übereinstimmende Knotenpaar einen ersten benachbarten Knoten aus dem ersten Untergraphen und einen zweiten benachbarten Knoten aus dem zweiten Untergraphen aufweist. Ob der erste Mittelknoten und der zweite Mittelknoten durch Verwenden des ersten Mittelknotens, des zweiten Mittelknotens und des Satzes von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern übereinstimmen, wird durch das Computersystem bestimmt.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung gleicht ein Verfahren Informationen ab. Ein Computersystem weist benachbarten Knoten von zwei Mittelknoten in zwei Untergraphen zu Gruppen nach einem Knotentyp zu, wobei die Gruppen die benachbarten Knoten aus beiden der zwei Untergraphen enthalten. Das Computersystem wählt ein am besten übereinstimmendes Knotenpaar der benachbartem Knoten für jede Gruppe von benachbarten Knoten durch Verwenden eines Hausdorff-Abstands aus, um einen Satz von am besten übereinstimmenden Knotenpaaren der benachbarten Knoten für die Gruppe der benachbarten Knoten zu bilden, wobei ein am besten übereinstimmendes Knotenpaar in dem Satz von am besten übereinstimmenden Knotenpaaren einen benachbarten Knoten aus jedem der beiden Untergraphen hat. Das Computersystem bestimmt einen Gesamtabstand zwischen den beiden Mittelknoten durch Verwenden der beiden Mittelknoten und des Satzes von am besten übereinstimmenden Knotenpaaren der benachbarten Knoten. Der Gesamtabstand zwischen den beiden Mittelknoten berücksichtigt den Satz der am besten übereinstimmenden Knotenpaare für jeden der beiden Mittelknoten. Das Computersystem bestimmt, ob eine Übereinstimmung zwischen den beiden Mittelknoten auf Grundlage des Gesamtabstands zwischen den beiden Mittelknoten vorhanden ist.
  • Gemäß noch einer weiteren Ausführungsform der vorliegenden Erfindung weist ein Informationsverwaltungssystem ein Computersystem auf, das Programmanweisungen ausführt, um einen ersten Mittelknoten in einem ersten Untergraphen und einen zweiten Mittelknoten in einem zweiten Untergraphen zu identifizieren. Das Computersystem führt die Programmanweisungen aus, um Gruppen von benachbarten Knoten zu identifizieren, die die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen haben. Eine Gruppe der benachbarten Knoten in den Gruppen der benachbarten Knoten hat die benachbarten Knoten mit einem selben Knotentyp. Das Computersystem führt die Programmanweisungen aus, um ein am besten übereinstimmendes Knotenpaar der benachbarten Knoten in jeder Gruppe der benachbarten Knoten zu identifizieren, um einen Satz von am besten übereinstimmenden Knotenpaaren zu bilden. Jedes am besten übereinstimmende Knotenpaar weist einen ersten benachbarten Knoten aus dem ersten Untergraphen und einen zweiten benachbarten Knoten aus dem zweiten Untergraphen auf. Das Computersystem führt die Programmanweisungen aus, um zu bestimmen, ob der erste Mittelknoten und der zweite Mittelknoten übereinstimmen, wozu der erste Mittelknoten, der zweite Mittelknoten und der Satz von am besten übereinstimmenden Knotenpaaren verwendet wird.
  • Gemäß noch einer weiteren Ausführungsform der vorliegenden Erfindung weist ein Informationsverwaltungssystem ein Computersystem auf, das Programmanweisungen ausführt, um benachbarte Knoten von zwei Mittelknoten in zwei Untergraphen zu Gruppen nach einem Knotentyp zuzuweisen. Die Gruppen enthalten die benachbarten Knoten aus beiden der zwei Untergraphen. Das Computersystem führt die Programmanweisungen aus, um ein am besten übereinstimmendes Knotenpaar der benachbarten Knoten für jede Gruppe der benachbarten Knoten durch Verwenden eines Hausdorff-Abstands auszuwählen, um einen Satz von am besten übereinstimmenden Knotenpaaren der benachbarten Knoten für den Satz von Clustern zu bilden. Ein am besten übereinstimmendes Knotenpaar in dem Satz von am besten übereinstimmenden Knotenpaaren hat einen benachbarten Knoten aus jedem der beiden Untergraphen. Das Computersystem führt die Programmanweisungen aus, um einen Gesamtabstand zwischen den beiden Mittelknoten zu bestimmen, wozu die beiden Mittelknoten und der Satz von am besten übereinstimmenden Knotenpaaren der benachbarten Knoten verwendet werden. Der Gesamtabstand zwischen den beiden Mittelknoten berücksichtigt den Satz der am besten übereinstimmenden Knotenpaare für jeden der beiden Mittelknoten. Das Computersystem führt die Programmanweisungen aus, um zu bestimmen, ob eine Übereinstimmung zwischen den beiden Mittelknoten auf Grundlage des Gesamtabstands zwischen den beiden Mittelknoten vorhanden ist.
  • Gemäß noch einer weiteren Ausführungsform der vorliegenden Erfindung weist ein Computerprogrammprodukt zum Abgleichen von Informationen ein durch einen Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen auf. Die Programmanweisungen sind durch ein Computersystem ausführbar, um den Computer zu veranlassen, ein Verfahren durchzuführen, das ein Identifizieren, durch das Computersystem, eines ersten Mittelknotens in einem ersten Untergraphen und eines zweiten Mittelknotens in einem zweiten Untergraphen; ein Identifizieren, durch das Computersystem, von Gruppen von benachbarten Knoten, die die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch dem zweiten Untergraphen haben, wobei eine Gruppe der benachbarten Knoten in den Gruppen der benachbarten Knoten die benachbarten Knoten mit einem selben Knotentyp hat; ein Identifizieren, durch das Computersystem, eines am besten übereinstimmenden Knotenpaars der benachbarten Knoten in jeder Gruppe der benachbarten Knoten, um einen Satz von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern zu bilden, wobei die benachbarten Knoten in dem am besten übereinstimmende Knotenpaar einen ersten benachbarten Knoten aus dem ersten Untergraphen und einen zweiten benachbarten Knoten aus dem zweiten Untergraphen aufweisen; und ein Bestimmen aufweist, durch das Computersystem, ob der erste Mittelknoten und der zweite Mittelknoten übereinstimmen, wozu der erste Mittelknoten, der zweite Mittelknoten und der Satz von am besten übereinstimmenden Knotenpaaren verwendet wird.
  • Somit können die verschiedenen veranschaulichten Ausführungsformen im Vergleich mit aktuellen Techniken, die keine Untergraphen vergleichen, mindestens entweder einen Zeitaufwand und/oder Ressourcen reduzieren, die zum Bestimmen verwendet werden, ob Teile von Informationen übereinstimmen. Ferner können verschiedene veranschaulichte Beispiele auch die Genauigkeit beim Abgleichen von Teilen der Informationen in mindestens einem Abgleichen erster Ordnung oder einem Abgleichen zweiter Ordnung erhöhen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
    • 1 ist eine bildliche Darstellung eines Netzwerks von Datenverarbeitungssystemen, in denen veranschaulichte Ausführungsformen umgesetzt werden können;
    • 2 ist ein Satz von funktionalen Abstraktionsschichten, die durch eine Cloud-Computing-Umgebung 50 von 1 gemäß einer veranschaulichenden Ausführungsform bereitgestellt wird;
    • 3 ist eine bildliche Darstellung eines Netzwerks von Datenverarbeitungssystemen, in denen veranschaulichte Ausführungsformen umgesetzt werden können;
    • 4 ist ein Blockschaubild einer Informationsumgebung gemäß einer veranschaulichten Ausführungsform;
    • 5 ist eine Veranschaulichung von zwei Untergraphen mit benachbarten Knoten, die Gruppen gemäß einer veranschaulichten Ausführungsform zugewiesen sind;
    • 6 ist eine Veranschaulichung von Gruppen von benachbarten Knoten gemäß einer veranschaulichten Ausführungsform;
    • 7 ist eine Veranschaulichung von Clustern, die aus Gruppen von benachbarten Entitäten gemäß einer veranschaulichten Ausführungsform erstellt wurden;
    • 8 ist eine Veranschaulichung von Teilen von Informationen in benachbarten Knoten gemäß einer veranschaulichten Ausführungsform;
    • 9 ist ein Ablaufplan eines Prozesses zum Verwalten von Informationen gemäß einer veranschaulichten Ausführungsform;
    • 10 ist ein Ablaufplan eines Prozesses zum Abgleichen von Mittelknoten gemäß einer veranschaulichten Ausführungsform;
    • 11 ist ein Ablaufplan eines Prozesses zum Identifizieren von Gruppen von benachbarten Knoten gemäß einer veranschaulichten Ausführungsform;
    • 12 ist ein Ablaufplan zum Erstellen eines Satzes von Clustern gemäß einer veranschaulichten Ausführungsform;
    • 13 ist ein Ablaufplan eines Prozesses zum Identifizieren von am besten übereinstimmenden Paaren von benachbarten Knoten gemäß einer veranschaulichten Ausführungsform;
    • 14 ist ein Ablaufplan eines Prozesses zum Bestimmen, ob ein erster Mittelknoten eines Untergraphen und ein zweiter Mittelknoten gemäß einer veranschaulichten Ausführungsform übereinstimmen;
    • 15 ist ein Ablaufplan eines Prozesses zum Bestimmen, ob ein erster Mittelknoten und ein zweiter Mittelknoten gemäß einer veranschaulichten Ausführungsform übereinstimmen;
    • 16 ist ein Ablaufplan eines Prozesses zum Abgleichen von Untergraphen gemäß einer veranschaulichten Ausführungsform;
    • 17 ist ein Ablaufplan eines Prozesses zum Zuweisen von benachbarten Knoten zu Gruppen gemäß einer veranschaulichten Ausführungsform;
    • 18 ist ein Ablaufplan eines Prozesses zum Auswählen von am besten übereinstimmenden Knotenpaaren von benachbarten Knoten für jedes Cluster gemäß einer veranschaulichten Ausführungsform;
    • 19 ist ein Ablaufplan eines Prozesses zum Generieren eines Merkmalsvektors gemäß einer veranschaulichten Ausführungsform;
    • 20 ist ein Ablaufplan eines Prozesses zum Abgleichen von Mittelknoten gemäß einer veranschaulichten Ausführungsform; und
    • 21 ist ein Blockschaubild eines Datenverarbeitungssystems gemäß einer veranschaulichten Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailintegrationsebene handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) enthalten, auf dem durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zum Ausführen von Anweisungen beibehalten und speichern kann. Das durch einen Computer lesbare Speichermedium kann zum Beispiel eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiter-Speichereinheit oder jede geeignete Kombination aus dem Vorgenannten sein, es ist aber nicht darauf beschränkt. Zu einer nicht erschöpfenden Liste von spezifischeren Beispielen des durch einen Computer lesbaren Speichermediums 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 CD-ROM, eine DVD, 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 des Vorgenannten. Ein durch einen Computer lesbares Speichermedium, wie hierin verwendet, soll nicht als flüchtige Signale per se aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch jeden Typ von Netzwerk verbunden werden, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Veranschaulichungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es sollte klar sein, dass jeder Block der Ablaufplanveranschaulichungen und/oder der Blockschaubilder und Kombinationen von Blöcken in den Ablaufplanveranschaulichungen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen umgesetzt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können für einen Prozessor eines Computers oder eine andere programmierbare Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. eine andere programmierbare Datenverarbeitungsvorrichtung ausgeführten Anweisungen Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte erstellen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, die Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Arbeitsschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und 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 den Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Umsetzen der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Umsetzungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt auftreten. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich als ein Schritt erreicht werden, der gleichzeitig, im Wesentlichen gleichzeitig, in einer teilweise oder vollständig zeitlich überlappenden Weise ausgeführt wird, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, was von der beteiligten Funktionalität abhängt. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellungen sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die angegebenen Funktionen oder Handlungen durchführen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die veranschaulichten Ausführungsformen würdigen und berücksichtigen eine Anzahl von verschiedenen Überlegungen. Zum Beispiel würdigen und berücksichtigen die veranschaulichten Ausführungsformen, dass aktuelle Abgleichalgorithmen ein Beziehungsnetzwerk von Datensätzen mit Daten, die als ein Graph dargestellt sind, nicht berücksichtigen. Zum Beispiel würdigen und berücksichtigen die veranschaulichten Ausführungsform, dass beim Vergleichen von zwei Datensätzen für eine Person, wenn die Datensätze dieselbe Beziehung zu benachbarten Knoten in einem Graphen haben, diese Datensätze wahrscheinlich für dieselbe Person sind. Die veranschaulichten Ausführungsformen würdigen und berücksichtigen, dass ein Vergleichen von Untergraphen einen stärkeren Hinweis darauf bereitstellen kann, dass die Datensätze Duplikate sind im Vergleich zu einem Bestimmen der Namensähnlichkeit in den Datensätzen selbst. Somit würdigen und berücksichtigen die veranschaulichten Datensätze, dass eine Berücksichtigung von Untergraph-Vergleichen Abgleichergebnisse in einem Abgleichprozess verbessern kann.
  • Somit stellen die veranschaulichten Ausführungsformen ein Verfahren, eine Vorrichtung, ein System und ein Computerprogrammprodukt zum Abgleichen von Informationen bereit. In einem veranschaulichten Beispiel werden ein erster Mittelknoten in einem ersten Untergraphen und ein zweiter Mittelknoten in einem zweiten Untergraphen identifiziert. Gruppen von benachbarten Knoten, die die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen haben, werden durch das Computersystem identifiziert. Eine Gruppe der benachbarten Knoten in den Gruppen der benachbarten Knoten hat die benachbarten Knoten mit einem selben Knotentyp. Ein Satz von Clustern aus jeder Gruppe der benachbarten Knoten wird durch das Computersystem erstellt, sodass jedes Cluster in dem Satz von Clustern die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen hat. Ein am besten übereinstimmendes Knotenpaar der benachbarten Knoten in jedem Cluster in dem Satz von Clustern wird durch das Computersystem identifiziert, um einen Satz von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern zu bilden, wobei die benachbarten Knoten in dem am besten übereinstimmenden Knotenpaar einen ersten Knoten aus dem ersten Untergraphen und einen zweiten Knoten aus dem zweiten Untergraphen aufweisen. Ob der erste Mittelknoten und der zweite Mittelknoten übereinstimmen, wird durch das Computersystem auf Grundlage eines Gesamtabstands zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten durch Verwenden des ersten Mittelknotens, des zweiten Mittelknotens und des Satzes von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern bestimmt.
  • Wie hierin verwendet, bedeutet ein „Satz von“ bei Verwenden in Bezug auf Elemente ein oder mehrere Elemente. Zum Beispiel bedeutet ein „Satz von Clustern“ ein oder mehrere Cluster. Ferner bedeutet eine „Gruppe von“ bei Verwenden in Bezug auf Elemente ebenfalls ein oder mehrere Elemente. Zum Beispiel ist unter der „Gruppe von benachbarten Knoten“ ein benachbarter oder mehrere benachbarte Knoten zu verstehen.
  • Unter folgender Bezugnahme auf 1 wird eine Veranschaulichung einer Cloud-Computing-Umgebung 50 dargestellt. Wie gezeigt, enthält die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10, mit denen lokale Datenverarbeitungseinheiten, die von Nutzern der Cloud verwendet werden, wie beispielsweise Personal Digital Assistant (PDA) oder Mobiltelefon 54A, Desktop-Computer 548, Laptop-Computer 54C und/oder Fahrzeug-Computersystem 54N, Daten austauschen können. Die Cloud-Computing-Knoten 10 können untereinander Daten austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken gruppiert sein (nicht gezeigt), wie beispielsweise Private, Community, Public oder Hybrid Cloud, wie hierin oben beschrieben, oder in einer Kombination davon. Damit hat die Cloud-Computing-Umgebung 50 die Möglichkeit, eine Infrastruktur, Plattformen und/oder Software als Dienste anzubieten, für die ein Cloud-Nutzer keinerlei Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sollte klar sein, dass die in 1 gezeigten Typen von Datenverarbeitungseinheiten 54A bis N nur zur Veranschaulichung dienen sollen, und dass die Cloud-Computing-Knoten 10 in der Cloud-Computing-Umgebung 50 mit jedem Typ einer computerisierten Einheit über jeden Typ von Netzwerk und/oder eine über ein Netzwerk adressierbare Verbindung (z.B. unter Verwendung eines Web-Browsers) Daten austauschen können.
  • Unter folgender Bezugnahme auf 2 wird eine Gruppe von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 in 1 bereitgestellt werden. Dabei sollte von Anfang an klar sein, dass die in 2 gezeigten Komponenten, Schichten und Funktionen lediglich zur Veranschaulichung dienen sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt.
  • Eine Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten zählen: Mainframes 61; Server auf Grundlage einer RISC- (Reduced Instruction Set Computer) Architektur 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke und Vernetzungskomponenten 66. In einigen Ausführungsformen enthalten Software-Komponenten Software für Netzwerkanwendungsserver 67 und Datenbank-Software 68.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, von der aus die folgenden beispielhaften virtuellen Entitäten bereitgestellt werden können: virtuelle Server 71; virtueller Speicher 72; virtuelle Netzwerke 73, einschließlich virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann eine Verwaltungsschicht 80 die im Folgenden beschriebenen Funktionen bereitstellen. Eine Ressourcenbereitstellung 81 sorgt für eine dynamische Beschaffung von Datenverarbeitungsressourcen und weiteren Ressourcen, die zum Ausführen von Aufgaben innerhalb der Cloud-Computing-Umgebung eingesetzt werden. Messung und Preisbestimmung 82 ermöglichen beim Einsatz von Ressourcen innerhalb der Cloud-Computing-Umgebung eine Kostenverfolgung und eine Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware umfassen. Eine Sicherheitsfunktion stellt eine Identitätsprüfung für Cloud-Nutzer und -Aufgaben sowie einen Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt den Zugang zur Cloud-Computing-Umgebung für Nutzer und Systemadministratoren bereit. Eine Service-Level- (Dienstgüte) Verwaltung 84 sorgt für Zuweisung und Verwaltung von Cloud-Computing-Ressourcen, sodass erforderliche Service-Levels eingehalten werden. Planung und Vertragserfüllung des Service Level Agreement (SLA) (Dienstgütevereinbarung) 85 stellen eine Vorab-Vereinbarung für und Beschaffung von Cloud-Computing-Ressourcen bereit, für die gemäß eines SLA eine zukünftige Anforderung erwartet wird.
  • Eine Arbeitslastenschicht 90 stellt Beispiele für eine Funktionalität bereit, für welche die Cloud-Computing-Umgebung genutzt werden kann. Zu Beispielen von Arbeitslasten und Funktionen, die von dieser Schicht aus bereitgestellt werden können, zählen: Zuordnung und Navigation 91; Software-Entwicklung und Lifecycle-Management 92; Bereitstellung von virtuellen Schulungen 93; Datenanalyseverarbeitung 94; Transaktionsverarbeitung 95; und Datenverwaltung 96. Die Datenverwaltung 96 stellt einen Dienst zum Verwalten von Daten in der Cloud-Computing-Umgebung 50 in 1 oder ein Netzwerk in einer physischen Position bereit, das auf die Cloud-Computing-Umgebung 50 in 1 zugreift.
  • Zum Beispiel kann die Datenverwaltung 96 als ein Stammdaten-Verwaltungsdienst oder in einem Datenverwaltungsdienst umgesetzt werden, in dem mindestens eine Einheitlichkeit, Genauigkeit, semantische Konsistenz und/oder Verantwortlichkeit in der Verwaltung von Informationen erhöht werden kann. Die Verwaltung von Information durch die Datenverwaltung 96 kann nützlich sein, wenn mehr als eine Kopie von Informationen vorhanden ist. Die Datenverwaltung 96 kann eine Single Version of the Truth (einzige Version der Wahrheit) über sämtliche Kopien der Informationen verwalten. In einem veranschaulichten Beispiel kann die Datenverwaltung 96 zum Verwalten von Information wie zum Beispiel Datensätzen verwendet werden, die sich in mehreren Betriebssystem befinden. In einem veranschaulichten Beispiel kann die Datenverwaltung 96 doppelte Datensätze identifizieren. Die Datenverwaltung 96 kann auch doppelte Datensätze abstimmen, die identifiziert worden sind. In dem veranschaulichten Beispiel kann die Datenverwaltung 96 Abgleichprozesse beim Verarbeiten von Informationen wie beispielsweise von Datensätzen verwenden, um doppelte Teile der Informationen zu identifizieren.
  • Unter folgender Bezugnahme auf 3 wird eine bildliche Darstellung eines Netzwerks von Datenverarbeitungssystemen dargestellt, in denen veranschaulichte Ausführungsformen umgesetzt werden können. Ein Netzwerk-Datenverarbeitungssystem 300 ist ein Netzwerk von Computern, in dem die veranschaulichten Ausführungsformen umgesetzt werden können. Das Netzwerk-Datenverarbeitungssystem 300 enthält ein Netzwerk 302, welches das Medium ist, das zum Bereitstellen von Datenübertragungsverbindungen zwischen verschiedenen Einheiten und Computern verwendet wird, die in dem Netzwerk-Datenverarbeitungssystem 300 miteinander verbunden sind. Das Netzwerk 302 kann Verbindungen umfassen, wie beispielsweise drahtgebundene, drahtlose Datenübertragungsverbindungen oder Lichtwellenleiterkabel.
  • In dem dargestellten Beispiel sind ein Server-Computer 304 und ein Server-Computer 306 zusammen mit einer Speichereinheit 308 mit dem Netzwerk 302 verbunden. Außerdem sind Client-Einheiten 310 mit dem Netzwerk 302 verbunden. Wie dargestellt, umfassen die Client-Einheiten 310 einen Client-Computer 312, einen Client-Computer 314 und einen Client-Computer 316. Die Client-Einheiten 310 können zum Beispiel Computer, Workstations oder Netzwerkcomputer sein. In dem dargestellten Beispiel kann der Server-Computer 304 Informationen wie zum Beispiel Boot-Dateien, Betriebssystemabbildungen und Anwendungen für die Client-Einheiten 310 bereitstellen. Ferner können die Client-Einheiten 310 auch andere Typen von Client-Einheiten umfassen, wie zum Beispiel ein Mobiltelefon 318, ein Tablet-Computer 320 und oder eine Smart-Brille 322. In diesem veranschaulichten Beispiel sind der Server-Computer 304, der Server-Computer 306, die Speichereinheit 308 und die Client-Einheiten 310 Netzwerkeinheiten, die mit dem Netzwerk 302 verbunden sind, wobei das Netzwerk 302 das Datenübertragungsmedium für diese Netzwerkeinheiten ist. Einige oder alle der Client-Einheiten 310 können ein Internet of Things (loT) bilden, in dem diese physischen Einheiten mit dem Netzwerk 302 verbunden sein und untereinander über das Netzwerk 302 Daten austauschen können.
  • Die Client-Einheiten 310 sind in diesem Beispiel Clients des Server-Computers 304. Das Netzwerk-Datenverarbeitungssystem 300 kann zusätzliche Server-Computer, Client-Computer und andere nicht gezeigte Einheiten umfassen. Die Client-Einheiten 310 werden durch Verwenden von mindestens einer drahtgebundenen, einer Lichtwellenleiter- und/oder einer drahtlosen Verbindung mit dem Netzwerk 302 verbunden.
  • Ein in dem Netzwerk-Datenverarbeitungssystem 300 befindlicher Programmcode kann auf einem durch einen Computer lesbaren Speichermedium gespeichert und auf ein Datenverarbeitungssystem oder eine andere Einheit zur Verwendung heruntergeladen werden. Zum Beispiel kann der Programmcode auf einem durch einen Computer lesbaren Speichermedium auf dem Server-Computer 304 gespeichert und auf die Client-Einheiten 310 über das Netzwerk 302 zur Verwendung auf den Client-Einheiten 310 heruntergeladen werden.
  • In dem dargestellten Beispiel ist das Netzwerk-Datenverarbeitungssystem 300 das Internet, wobei das Netzwerk 302 für eine weltweite Sammlung von Netzwerken und Gateways steht, welche die Protokoll-Suite Transmission Control Protocol/Internet Protocol (TCP/IP) für den Datenaustausch untereinander verwenden. Das Kernstück des Internets ist ein Backbone von Hochgeschwindigkeits-Datenübertragungsleitungen zwischen Hauptknoten oder Host-Computern, die aus Tausenden von gewerblichen, behördlichen, schulischen und anderen Computersystemen bestehen, die Daten und Nachrichten weiterleiten. Natürlich kann das Netzwerk-Datenverarbeitungssystem 300 auch durch Verwenden einer Anzahl von verschiedenen Typen von Netzwerken umgesetzt werden. Zum Beispiel kann sich das Netzwerk 302 aus mindestens dem Internet, einem Intranet, einem lokalen Netzwerk (LAN), einem Stadtnetzwerk (MAN) und/oder einem Weitverkehrsnetzwerk (WAN) zusammensetzen. 3 ist als Beispiel und nicht als architekturbezogene Einschränkung für die verschiedenen veranschaulichten Ausführungsformen gedacht.
  • Wie hierin verwendet, bedeutet eine „Anzahl von“ bei Verwendung in Bezug auf Elemente ein oder mehrere Elemente. Zum Beispiel bedeutet eine „Anzahl verschiedener Typen von Netzwerken“ einen oder mehrere verschiedene Typen von Netzwerken.
  • Ferner bedeutet der Ausdruck „mindestens eine/s von“ bei Verwendung mit einer Liste von Elementen, dass verschiedene Kombinationen von einem oder mehreren der aufgelisteten Elemente verwendet werden können, und nur eines von jedem Element in der Liste erforderlich sein kann. Mit anderen Worten, „mindestens einer/eine/eines von“ bedeutet, dass jede Kombination von Elementen und Anzahl von Elementen aus der Liste verwendet werden kann, dass aber nicht alle Elemente in der Liste erforderlich sind. Das Element kann ein bestimmtes Objekt, ein Ding oder eine Kategorie sein.
  • Zum Beispiel kann „mindestens eines von Element A, Element B oder Element C“ Element A, Element A und Element B oder Element B umfassen. Dieses Beispiel kann auch Element A, Element B und Element C oder Element B und Element C umfassen. Selbstverständlich können alle Kombinationen dieser Elemente vorhanden sein. In einigen veranschaulichten Beispielen kann „mindestens eine/s von“ zum Beispiel ohne Einschränkung zwei Elemente A; ein Element B; und zehn Elemente C; vier Element B und sieben Elemente C; oder andere geeignete Kombinationen sein.
  • In diesem veranschaulichten Beispiel befindet sich ein Informationsmanager 330 in dem Server-Computer 304. Der Informationsmanager 330 kann Kopien von Informationen in der Form von Datensätzen 332 verwalten, die sich in Repositorys 334 befinden. Zum Beispiel kann der Informationsmanager 330 doppelte Datensätze 336 in den Datensätzen 332 identifizieren. In dem dargestellten Beispiel können die Datensätze 332 für Objekte stehen, die aus mindestens einer Person, einer Firma, einer Organisation, einem Lieferanten, einer Behörde, einem Haushalt, einem Produkt, einem Dienst und/oder anderen geeigneten Objekttypen ausgewählt wurden.
  • Wenn in den Datensätzen 332 eine Übereinstimmung identifiziert wurde, kann eine Abstimmung durchgeführt werden. Diese Abstimmung kann ein Entfernen von doppelten Kopien eines Datensatzes, ein Zusammenführen von Datensätzen oder andere geeignete Aktionen umfassen. In diesem veranschaulichten Beispiel können die doppelten Datensätze 336 eine exakte Übereinstimmung sein oder ausreichend übereinstimmen, um dasselbe Objekt dazustellen. Mit anderen Worten, eine 100-prozentige Übereinstimmung zwischen zwei Datensätzen kann in einigen Beispielen nicht erforderlich sein, damit diese beiden Datensätze übereinstimmen und als doppelte Datensätze 336 bezeichnet werden.
  • Zum Beispiel können zwei Datensätze für Personen als doppelte Datensätze 336 betrachtet werden, obwohl die Namen nicht exakt gleich buchstabiert sind. Zum Beispiel kann ein Datensatz für „John Smith“ vorhanden sein, während ein anderer Datensatz für „Jon Smith“ vorhanden ist. Andere Informationen in den Datensätzen können ausreichend nahe beieinander liegen, sodass die Datensätze als Übereinstimmung betrachtet werden, obwohl die Namen keiner exakten Übereinstimmung entsprechen. Als weiteres Beispiel können „144 River Lane“ und „144 River Ln.“ als eine Übereinstimmung für eine Adresse in einem Datensatz betrachtet werden.
  • In diesem veranschaulichten Beispiel kann der Vergleich der Datensätze 332 durch den Informationsmanager 330 durch Verwenden von Untergraphen durchgeführt werden. Zum Beispiel kann der Informationsmanager 330 zwei Mittelknoten 338 in zwei Untergraphen 340 identifizieren, wobei sich jeder der beiden Mittelknoten 338 in einem der beiden Untergraphen 340 befindet. Wie dargestellt, umfassen die beiden Untergraphen 340 auch benachbarte Knoten 342. Jeder der beiden Untergraphen 340 kann einen Teil der benachbarten Knoten 342 umfassen.
  • In diesem veranschaulichten Beispiel kann jeder benachbarte Knoten in den benachbarten Knoten 342 einen Datensatz in den Datensätzen 332 darstellen. Zum Beispiel können die beiden Mittelknoten 338 jeweils einen Datensatz für eine Person darstellen. Die benachbarten Knoten 342 können Datensätze oder andere Datenstrukturen sein, die Objekte darstellen, die mit zwei Mittelknoten 338 verbunden oder verknüpft sind. Die Objekte können aus mindestens einem Freund, einem Arbeitgeber, einem Wohnort, einem Vertrag, einem Fahrzeug, einer benachbarten Person, einem Verwandten, einem Geschäftspartner, einem Gebäude, einem Arbeitsplatz und/oder irgendeinem anderen geeigneten Objekt ausgewählt werden, das eine Verbindung zu einem oder mehreren von zwei Mittelknoten 338 hat.
  • In diesem veranschaulichten Beispiel werden die zwei Untergraphen 340 verglichen, um zu bestimmen, ob eine Übereinstimmung zwischen den Datensätzen 332 für die beiden Mittelknoten 338 vorhanden ist. In diesem veranschaulichten Beispiel kann die Identifizierung von den beiden Mittelknoten 338 durch den Informationsmanager 330 durch Verwenden aller aktuell verfügbaren Abgleichtechniken vorgenommen werden. Die Informationen der beiden Mittelknoten 338 können zum Generieren von Merkmalsergebnissen 344 verglichen werden. Merkmale sind Eigenschaften aus dem Vergleich von Informationen in den Mittelknoten.
  • Zum Beispiel können Informationen aus verschiedenen Feldern in einem Datensatz abgeleitet werden. Zum Beispiel können die Informationen ein Name, ein Nachname, ein Vorname, eine Geschäftsadresse, ein Fahrzeug, eine Telefonnummer, eine Postleitzahl, eine Vorwahl oder irgendwelche anderen Informationen sein, die in einem Datensatz vorhanden sein können.
  • Ein Merkmal kann in dem Vergleich der Informationen charakteristisch sein. Zum Beispiel kann ein Merkmal eine exakte Übereinstimmung, eine teilweise Übereinstimmung, fehlende Informationen, keine Übereinstimmung oder andere Typen von Merkmalen sein. Diese Merkmalsergebnisse 344 können als Werte oder Zahlen in einem Vektor ausgedrückt werden. Diese Merkmalsergebnisse 344 können auch verwendet werden, um Kandidaten-Datensätze für eine Analyse durch den Informationsmanager 330 zu identifizieren. Die Merkmalsergebnisse 344 können auch Merkmale auf Grundlage des Abstands zwischen zwei Knoten sein, wie zum Beispiel zwei Mittelknoten 338.
  • In diesem Beispiel können die Merkmalsergebnisse 344 verwendet werden, um zu bestimmen, welche Datensätze in den Datensätzen 332 durch den Informationsmanager 330 weiterverarbeitet werden können. Mit anderen Worten, die Merkmalsergebnisse 344 können verwendet werden, um die Anzahl von Datensätzen, die verglichen werden, zu reduzieren, wenn die doppelten Datensätze 336 identifiziert werden.
  • Mit der Identifizierung der beiden Mittelknoten 338 in den beiden Untergraphen 340 kann der Informationsmanager 330 eine Ähnlichkeit 348 der beiden Untergraphen 340 bestimmen, wenn bestimmt wird, ob die Datensätze 332, die von den beiden Mittelknoten 338 dargestellt werden, die doppelten Datensätze 336 sind. In diesem veranschaulichten Beispiel kann die Ähnlichkeit 348 auf dem Abstand zwischen den beiden Untergraphen 340 beruhen, wie im Folgenden beschrieben. Infolgedessen kann ein Wert 350 durch Verwenden der Ähnlichkeit 348 oder sowohl der Ähnlichkeit 348 als auch der Merkmalsergebnisse 344 generiert werden, um zu bestimmen, ob die beiden Mittelknoten 338 die doppelten Datensätze 336 darstellen.
  • In diesem veranschaulichten Beispiel kann der Informationsmanager 330 diese Bestimmung durch Vergleichen des Werts 350 mit einer Anzahl von Schwellenwerten 352 vornehmen. Diese Schwellenwerte können übergeordnete Schwellenwerte sein oder können Verwendungsbereiche zum Vergleichen des Werts 350 definieren, um zu bestimmen, ob die beiden Mittelknoten 338 die doppelten Datensätze 336 darstellen.
  • Somit kann der Informationsmanager 330 die Genauigkeit beim Identifizieren der doppelten Datensätze 336 erhöhen. Ferner kann diese Genauigkeit in einem Abgleich erster Ordnung für eine Entität wie beispielsweise eine Person, eine Organisation, eine Behörde oder irgendeine andere singuläre Entität erhöht werden. Außerdem kann die Genauigkeit auch in einem Abgleich zweiter Ordnung für Entitäten wie zum Beispiel einen Haushalt erhöht werden. Ein Bestimmen der Ähnlichkeit 348 der beiden Mittelknoten 338 in den zwei Untergraphen 340 kann eine erhöhte Genauigkeit für einen Abgleich zweiter Ordnung aufweisen, wenn Beziehungsinformationen in den beiden Untergraphen 340 analysiert werden.
  • Wie dargestellt, kann der Informationsmanager 330 die beiden Mittelknoten 338 und die benachbarten Knoten 342 in den beiden Untergraphen 340 für die beiden Mittelknoten 338 als Eingaben verwenden, um die Ähnlichkeit 348 der beiden Mittelknoten 338 zu bestimmen. Wie dargestellt, weist der Informationsmanager 330 die benachbarten Knoten 342 zu Gruppen 354 zu. Jede Gruppe in den Gruppen 354 stellt einen verschiedenen Knotentyp dar. Jede Gruppe in den Gruppen 354 hat die benachbarten Knoten 342 aus beiden der zwei Untergraphen 340. Ein Bilden von Clustern kann durchgeführt werden, um Cluster 356 in den Gruppen 354 zu bestimmen. Mit anderen Worten, jedes Cluster der benachbarten Knoten 342 ist das Cluster der benachbarten Knoten 342 desselben Typs.
  • Diese Clusterbildung kann durch Verwenden jedes geeigneten Clusterbildungsprozesses durchgeführt werden. Zum Beispiel kann eine Clusterbildung auf Dichte-Grundlage an den benachbarten Knoten 342 in einer Gruppe aus den beiden Untergraphen 340 durchgeführt werden.
  • Wie dargestellt, enthält jedes Cluster in den Clustern 356 die benachbarten Knoten 342 aus beiden der zwei Untergraphen 340. Mit anderen Worten, jedes Cluster umfasst mindestens einen benachbarten Knoten aus jedem Untergraphen in den zwei Untergraphen 340.
  • Der Informationsmanager 330 kann ein am besten übereinstimmendes Knotenpaar für jedes Cluster in den Clustern 356 identifizieren, um am besten übereinstimmende Knotenpaare 358 zu bilden. Diese Bestimmung kann durch Bestimmen eines Hausdorff-Abstands erfolgen, in dem ein Nachbarabstand zwischen zwei benachbarten Knoten aus jedem Untergraphen in einem Cluster berechnet wird. Dieser Nachbarabstand kann auf einem Vergleichen der benachbarten Knoten, den Verknüpfungen für die verglichenen benachbarten Knoten und dem Index der benachbarten Knoten beruhen, die verglichen werden. Die verschiedenen Abstände können verwendet werden, um einen Gesamtabstand 360 zu bestimmen, der die Ähnlichkeit 348 zwischen den beiden Mittelknoten 338 angeben kann. Der Gesamtabstand 360 ist der Abstand zwischen den beiden Mittelknoten 338, der die benachbarten Knoten 342 berücksichtigt. Mit anderen Worten, der Abstand zwischen den beiden Mittelknoten 338 kann sich ändern, wenn die benachbarten Knoten 342 berücksichtigt werden. In diesem Beispiel sind die benachbarten Knoten 342 die am besten übereinstimmenden Knotenpaare für die beiden Mittelknoten 338. Der Gesamtabstand 360 für die beiden Mittelknoten 338 kann verwendet werden, um zu bestimmen, ob die Datensätze 332 für die beiden Mittelknoten 338 ausreichend ähnlich sind, um als die doppelten Datensätze 336 berücksichtigt zu werden.
  • Unter folgender Bezugnahme auf 4 wird ein Blockschaubild einer Informationsumgebung gemäß einer veranschaulichten Ausführungsform dargestellt. In diesem veranschaulichten Beispiel umfasst eine Informationsumgebung 400 Komponenten, die in Hardware umgesetzt werden können, wie zum Beispiel die Hardware, die in dem Netzwerk-Datenverarbeitungssystem 300 in 3 gezeigt ist.
  • Wie dargestellt, ist die Informationsumgebung 400 eine Umgebung, in der Informationen 402 verwaltet werden können. In diesem veranschaulichten Beispiel kann eine Verwaltung der Informationen 402 ein Abstimmen der Informationen 402 umfassen, die sich in einem oder mehreren Datensätzen 404 befinden. Diese Datensätze können sich in einem oder mehreren Repositorys befinden. Diese Repositorys können zum Beispiel mindestens ein Data Warehouse, einen Datensee (data lake), einen Data Mart, eine Datenbank und/oder irgendeine andere geeignete Datenspeicher-Entität umfassen.
  • Die Informationen 402 können verschiedene Formen annehmen. Zum Beispiel können die Informationen 402 die Form von Datensätzen 406 annehmen. Ein Datensatz in den Datensätzen 406 ist eine Datenstruktur, die zum Organisieren der Informationen 402 verwendet wird. Zum Beispiel kann ein Datensatz eine Sammlung von Feldern mit verschiedenen Datentypen sein. Die Datensätze 406 können in Datenbanken, Tabellen oder anderen geeigneten Konstrukten gespeichert werden.
  • Ein Informationsverwaltungssystem 408 in der Informationsumgebung 400 kann arbeiten, um die Informationen 402 zu verwalten. Diese Verwaltung der Informationen 402 kann ein Speichern, Hinzufügen, Entfernen, Modifizieren oder Durchführen anderer Operationen in Bezug auf die Informationen 402 umfassen. Zum Beispiel kann das Informationsverwaltungssystem 408 doppelte Informationen in einem oder mehreren Datensätzen 404 suchen. Diese Duplikate können dann abgestimmt werden, wobei Aktionen wie Deduplizierung, Zusammenführen von doppelten Informationen oder andere Aktionen durchgeführt werden können.
  • In diesem veranschaulichten Beispiel weist das Informationsverwaltungssystem 408 eine Anzahl von verschiedenen Komponenten auf. Wie dargestellt, weist das Informationsverwaltungssystem 408 ein Computersystem 410 und einen Informationsmanager 412 auf.
  • Der Informationsmanager 412 kann in Software, Hardware, Firmware oder einer Kombination davon umgesetzt werden. Wenn Software verwendet wird, können die Operationen, die durch den Informationsmanager 412 durchgeführt werden, in einem Programmcode umgesetzt werden, der für ein Ausführen auf Hardware konfiguriert ist, wie zum Beispiel einer Prozessoreinheit. Wenn Firmware verwendet wird, können die Operationen, die durch den Informationsmanager 412 durchgeführt werden, in einem Programmcode und Daten umgesetzt und in einem permanenten Arbeitsspeicher gespeichert werden, um auf einer Prozessoreinheit ausgeführt zu werden. Wenn Hardware verwendet wird, kann die Hardware Schaltungen umfassen, die betrieben werden, um die Operationen in dem Informationsmanager 412 durchzuführen.
  • In den veranschaulichten Beispielen kann die Hardware eine Form annehmen, die aus mindestens einem Schaltungssystem, einer integrierten Schaltung, einer anwendungsspezifischen integrierten Schaltung (ASIC), einer programmierbaren Logikeinheit und/oder irgendeinem anderen geeigneten Typ von Hardware ausgewählt wird, der zum Durchführen einer Anzahl von Operationen konfiguriert ist. Bei einer programmierbaren Logikeinheit kann die Einheit konfiguriert werden, die Anzahl von Operationen durchzuführen. Die Einheit kann zu einem späteren Zeitpunkt neu konfiguriert werden oder kann permanent konfiguriert werden, um die Anzahl von Operationen durchzuführen. Programmierbare Logikeinheiten umfassen zum Beispiel ein programmierbares Logik-Array, eine programmierbare Array-Logik, ein feldprogrammierbares Logik-Array, ein feldprogrammierbares Gate-Array und andere geeignete Hardware-Einheiten. Außerdem können die Prozesse in organischen Komponenten umgesetzt werden, die in anorganische Komponenten integriert sind und können vollständig aus organischen Komponenten bestehen, ausgenommen ein menschliches Wesen. Zum Beispiel können die Prozesse als Schaltungen in organischen Halbleitern umgesetzt werden.
  • Das Computersystem 410 ist ein physisches Hardware-System und umfasst ein oder mehrere Datenverarbeitungssysteme. Wenn mehr als ein Datenverarbeitungssystem in dem Computersystem 410 vorhanden ist, stehen diese Datenverarbeitungssysteme durch Verwenden eines Datenübertragungsmediums miteinander in Datenaustausch. Das Datenübertragungsmedium kann ein Netzwerk sein. Die Datenverarbeitungssysteme können aus mindestens einem Computer, einem Server-Computer, einem Tablet-Computer und/oder irgendeinem anderen geeigneten Datenverarbeitungssystem ausgewählt werden.
  • In diesem veranschaulichten Beispiel identifiziert der Informationsmanager 412 in dem Computersystem 410 einen ersten Mittelknoten 414 in einem ersten Untergraphen 416 und einen zweiten Mittelknoten 418 in einem zweiten Untergraphen 420. Diese Identifizierung kann auf verschiedene Arten durchgeführt werden. Zum Beispiel können aktuell verfügbare Vergleichsalgorithmen, die verwendet werden, um Teile von Informationen, wie zum Beispiel die Datensätze 406, miteinander zu vergleichen, zum Identifizieren des ersten Mittelknotens 414 und des zweiten Mittelknotens 418 aus den Informationen 402 verwendet werden. Diese Vergleichsalgorithmen umfassen zum Beispiel einen annähernden Zeichenkettenabgleich, eine Datensatzverknüpfung oder andere Prozesse. In einem veranschaulichten Beispiel kann jeder dieser Mittelknoten ein Datensatz in den Datensätzen 406 sein. Dieser anfängliche Abgleichprozess kann von dem Informationsmanager 412 verwendet werden, um Kandidaten-Mittelknoten für eine Analyse zu identifizieren.
  • Außerdem identifiziert der Informationsmanager 412 in diesem Beispiel den ersten Untergraphen 416 und den zweiten Untergraphen 420. Benachbarte Knoten 422 in diesen beiden Untergraphen sind mit einem des ersten Mittelknotens 414 und des zweiten Mittelknotens 418 verknüpft.
  • Wie dargestellt, identifiziert der Informationsmanager 412 Gruppen 424 von benachbarten Knoten 422, die die benachbarten Knoten 422 sowohl aus dem ersten Untergraphen 416 als auch aus dem zweiten Untergraphen 420 mit einem gleichen Knotentyp 428 in einem Knotentyp 430 haben. Der Knotentyp 430 kann strukturelle Metadaten sein und Metadaten für die verschiedenen Felder für Teile von Informationen in einem Knoten enthalten. Diese Metadaten können einen Feldnamen, einen Datentyp, eine Granularität und andere Informationen umfassen. Zum Beispiel kann ein Knotentyp eine Person, eine Organisation, eine Behörde, ein Lieferant, ein Familienhaushalt, ein Haus, ein Fahrzeug, ein Vertrag, eine Versicherung, eine Garantie, ein Dienst oder andere geeignete Typen von Metadaten sein.
  • In diesem veranschaulichten Beispiel ist ein Knoten eine Sammlung von Informationen für den Knotentyp 430. Ein Knoten kann zum Beispiel ein Datensatz oder irgendein anderer geeigneter Teil von Informationen 402 sein.
  • Beim Erstellen der Gruppen 424 kann der Informationsmanager 412 die benachbarten Knoten 422 aus jedem Untergraphen auf Grundlage des Knotentyps 430 für die benachbarten Knoten 422 in anfänglichen Gruppen 432 platzieren. Der Informationsmanager 412 kann jede anfängliche Gruppe in den anfänglichen Gruppen 432 auswählen, die die benachbarten Knoten 422 sowohl aus dem ersten Untergraphen 416 der benachbarten Knoten 422 als auch aus dem zweiten Untergraphen 420 der benachbarten Knoten 422 haben, um die Gruppen 424 der benachbarten Knoten 422 zu bilden, die die benachbarten Knoten 422 sowohl aus dem ersten Untergraphen 416 als auch aus dem zweiten Untergraphen 420 haben.
  • In diesem veranschaulichten Beispiel erstellt der Informationsmanager 412 einen Satz von Clustern 434 aus jeder Gruppe der benachbarten Knoten 422, sodass jedes Cluster in dem Satz von Clustern 434 die benachbarten Knoten 422 sowohl aus dem ersten Untergraphen 416 als auch aus dem zweiten Untergraphen 420 hat. Beim Erstellen des Satzes von Clustern 434 kann der Informationsmanager 412 Kandidaten-Cluster 436 in jeder Gruppe der benachbarten Knoten 422 in den Gruppen 424 der benachbarten Knoten 422 erstellen. Der Informationsmanager 412 kann jedes Cluster in den Kandidaten-Clustern 436 auswählen, die die benachbarten Knoten 422 sowohl aus dem ersten Untergraphen 416 der benachbarten Knoten 422 als auch aus dem zweiten Untergraphen 420 der benachbarten Knoten 422 haben, um den Satz von Clustern 434 zu bilden.
  • In dem veranschaulichten Beispiel identifiziert der Informationsmanager 412 ein am besten übereinstimmendes Knotenpaar 438 der benachbarten Knoten 422 in jedem Cluster des Satzes von Clustern 434, um einen Satz von am besten übereinstimmenden Knotenpaaren 440 in dem Satz von Clustern 434 zu bilden. Die beiden benachbarten Knoten in dem am besten übereinstimmenden Knotenpaar 438 weisen einen ersten benachbarten Knoten 442 in den benachbarten Knoten 422 aus dem ersten Untergraphen 416 und einen zweiten benachbarten Knoten 444 in den benachbarten Knoten 422 aus dem zweiten Untergraphen 420 auf.
  • Beim Identifizieren des am besten übereinstimmenden Knotenpaars 438 kann der Informationsmanager 412 Nachbarabstände 450 für die benachbartem Knoten 422 bestimmen, die in einem Cluster verglichen werden. Dieser Vergleich kann darauf beruhen, dass die benachbarten Knoten 422 verglichen werden, Verknüpfungen für die benachbarten Knoten 422 verglichen werden, und Tiefen für die benachbarten Knoten 422 verglichen werden. Der Informationsmanager 412 kann das am besten übereinstimmende Paar 438 für jedes Cluster in dem Satz von Clustern 434 als zwei Knoten in dem Cluster identifizieren, die einen kürzesten Nachbarabstand 452 haben, um den Satz der am besten übereinstimmenden Knotenpaare 440 für den Satz von Clustern 434 zu bilden.
  • Wie in diesem Beispiel dargestellt, bestimmt der Informationsmanager 412, ob der erste Mittelknoten 414 und der zweite Mittelknoten 418 auf Grundlage eines Gesamtabstands 446 zwischen dem ersten Mittelknoten 414 und dem zweiten Mittelknoten 418 durch Verwenden des ersten Mittelknotens 414, des zweiten Mittelknotens 418 und des Satzes der am besten übereinstimmen Knotenpaare 440 in dem Satz von Clustern 434 übereinstimmen.
  • Ferner kann der Informationsmanager 412 Merkmalsergebnisse 448 zum Identifizieren von Kandidaten-Mittelknoten für eine Analyse verwenden. Wenn zwei Mittelknoten nahe genug beieinander liegen, können zusätzliche Schritte zum Bestimmen des Gesamtabstands 446 durchgeführt werden.
  • In diesem veranschaulichten Beispiel können die Merkmalsergebnisse 448 Merkmale in Bezug auf den Vergleich von Informationen zwischen dem ersten Mittelknoten 414 und dem zweiten Mittelknoten 418 umfassen. Die Merkmalsergebnisse 448 können auch Merkmale auf Grundlage eines Abstands zwischen dem ersten Mittelknoten 414 und dem zweiten Mittelknoten 418 sein. Die Merkmalsergebnisse 448 können auch eine Summe auf Grundlage der Summe von Merkmalen sein, die durch Vergleichen von Informationen zwischen dem ersten Mittelknoten 414 und dem zweiten Mittelknoten 418 erhalten wird. Mit anderen Worten, ein Merkmal ist eine Eigenschaft von Interesse, die in den Informationen vorhanden sein kann, die verglichen werden.
  • Zum Beispiel kann das Vorkommen eines Merkmals durch Vergleichen von Informationen bestimmt werden, wie zum Beispiel ein Vorname, ein Nachname, eine Vertragsbezeichnung, ein Fahrzeughersteller, ein Fahrzeugmodell oder andere Typen von Informationen zwischen zwei Mittelknoten. Das Merkmal kann zum Beispiel eine exakte Übereinstimmung, eine teilweise Übereinstimmung, ein ähnlicher Name, ein weggelassener Name, ein einmaliger Name, eine Anzahl exakter Wörter, eine Anzahl ähnlicher Wörter, eine Anzahl von weggelassenen Wörtern, eine Anzahl von einmaligen Wörtern und andere Typen von Merkmalen sein, die von Interesse sein können. Diese Typen von Merkmalen sind Vergleichsmerkmale. Die Merkmalsergebnisse 448 können mindestens einzelne Werte für die verschiedenen Merkmale und/oder einen Gesamtwert auf Grundlage aller Merkmale umfassen. Diese Werte können in der Form eines Merkmalsvektors organisiert werden, wobei jedes Element in dem Merkmalsvektor die Vorkommen eines bestimmten Merkmals darstellt. In einem Beispiel können die Merkmalsergebnisse 448 durch Verwenden von aktuell verfügbaren Vergleichsalgorithmen bestimmt werden, die zum Identifizieren des ersten Mittelknotens 414 und des zweiten Mittelknotens 418 verwendet werden.
  • Wenn die beiden Mittelknoten übereinstimmen, kann der Informationsmanager 412 einen Satz von Aktionen 454 in Bezug auf die Teile der Informationen 402 für den ersten Mittelknoten 414 und den zweiten Mittelknoten 418 durchführen. Der Satz von Aktionen 454 umfasst zum Beispiel eine Deduplizierung, ein Kombinieren der Informationen 402, ein Korrigieren der Informationen 402 oder andere geeignete Aktionen.
  • In einem veranschaulichten Beispiel sind eine oder mehrere technische Lösungen vorhanden, die ein technisches Problem mit dem Zeitaufwand und den Ressourcen bewältigen, die für einen Abgleich einer großen Anzahl von Datensätzen benötigt werden. Infolgedessen können eine oder mehrere technische Lösungen eine technische Auswirkung auf ein Reduzieren von mindestens einem Zeitaufwand und/oder von Ressourcen bereitstellen, die zum Verarbeiten der Informationen 402 benötigt werden, um zu bestimmen, ob doppelte Teile der Informationen 402 vorhanden sind. In einem veranschaulichten Beispiel sind eine oder mehrere technische Lösungen vorhanden, die ein Vergleichen von Untergraphen auf eine Weise ermöglichen, die eine stärkere Angabe dafür bereitstellt, ob Teile von Informationen wie zum Beispiel Datensätze, die in den Untergraphen als Mittelknoten dargestellt werden, im Vergleich zu einem Bestimmen der Ähnlichkeits-Datensätze selbst Duplikate sind. In einem veranschaulichten Beispiel sind eine oder mehrere technische Lösungen vorhanden, in denen Untergraph-Vergleiche durchgeführt werden, um die Genauigkeit von Ergebnissen eines Abgleichs von Datensätzen zu verbessern.
  • Das Computersystem 410 kann konfiguriert werden, um mindestens einen bzw. eine der Schritte, Operationen und/oder Aktionen durchzuführen, die in den verschiedenen veranschaulichten Beispielen mit einem Verwenden von Software, Hardware, Firmware oder einer Kombination davon beschrieben wurden. Infolgedessen arbeitet das Computersystem 410 als ein Sonderzweck-Computersystem, in dem der Informationsmanager 412 in dem Computersystem 410 ein Bestimmen ermöglicht, ob Teile der Informationen 402 übereinstimmen, indem mindestens ein geringerer Zeitaufwand und/oder weniger Ressourcen im Vergleich zu aktuellen Techniken verwendet werden. Insbesondere wandelt der Informationsmanager 412 das Computersystem 410 im Vergleich zu aktuell verfügbaren Universal-Computersystemen, die keinen Informationsmanager 412 haben, in ein Sonderzweck-Computersystem um.
  • In dem veranschaulichten Beispiel integriert die Verwendung des Informationsmanagers 412 in dem Computersystem 410 Prozesse in eine praktische Anwendung zum Verwalten der Informationen 402, wodurch die Leistung des Computersystems 410 erhöht wird. Mit anderen Worten, der Informationsmanager 412 in dem Computersystem 410 richtet sich an eine praktische Anwendung von Prozessen, die in den Informationsmanager 412 in dem Computersystem 410 integriert sind, der durch Verwenden einer Untergraph-Analyse bestimmt, ob eine Übereinstimmung zwischen Informationen vorliegt. In diesem veranschaulichten Beispiel kann der Informationsmanager 412 in dem Computersystem 410 zwei Mittelknoten und die Untergraphen für die beiden Mittelknoten und die benachbarten Knoten identifizieren. Der Informationsmanager 412 identifiziert Gruppen von benachbarten Knoten der beiden Mittelknoten aus beiden Untergraphen auf Grundlage eines Knotentyps der benachbarten Knoten. Mit anderen Worten, jede Gruppe für einen bestimmten Knotentyp enthält mindestens einen benachbarten Knoten aus jedem der Untergraphen. Ein oder mehrere Cluster werden durch den Informationsmanager 412 für benachbarte Knoten in jeder der Gruppen identifiziert. In diesem veranschaulichten Beispiel umfasst jedes dieser Cluster mindestens einen benachbarten Knoten aus jedem der beiden Untergraphen. Der Informationsmanager 412 identifiziert ein am besten übereinstimmendes Knotenpaar von benachbarten Knoten für jedes Cluster. Diese Identifizierung kann durch Identifizieren des Abstands zwischen Knotenpaaren und Auswählen des Knotenpaars mit dem kürzesten Abstand als das am besten übereinstimmende Paar in einem Cluster vorgenommen werden. Der Informationsmanager 412 kann einen Gesamtabstand zwischen diesen beiden Mittelknoten durch Verwenden der beiden Mittelknoten und der am besten übereinstimmenden Knotenpaare bestimmen, die für die Cluster identifiziert wurden. Der Informationsmanager 412 kann bestimmen, ob eine Übereinstimmung zwischen den beiden Mittelknoten auf Grundlage eines Gesamtabstands 446 zwischen den beiden Mittelknoten vorhanden ist. Der Gesamtabstand 446 ist der Abstand zwischen dem ersten Mittelknoten 414 und dem zweiten Mittelknoten 418, der die benachbarten Knoten 442 wie zum Beispiel den Satz der am besten übereinstimmenden Knotenpaare 444 für den ersten Mittelknoten 414 und den zweiten Mittelknoten 418 berücksichtigt.
  • Auf diese Weise erfolgt eine Bestimmung, ob zwei Teile der Informationen wie zum Beispiel zwei Datensätze, die den beiden Mittelknoten entsprechen, eine Übereinstimmung sind. Auf diese Weise stellt der Informationsmanager 412 in dem Computersystem 410 eine praktische Anwendung für einen Abgleich von Informationen bereit, sodass sich die Funktionsweise des Computersystems 410 verbessert. Zum Beispiel kann der Informationsmanager 412 in dem Computersystem 410 durch Abgleichen von Untergraphen eine erhöhte Genauigkeit beim Bestimmen bereitstellen, ob zwischen zwei Teilen der Informationen eine Übereinstimmung vorhanden ist. In dem veranschaulichten Beispiel kann der Informationsmanager 412 den Gesamtabstand 446 zwischen den beiden Mittelknoten verwenden, um zu bestimmen, ob eine Übereinstimmung vorhanden ist.
  • Die Veranschaulichung der Informationsumgebung 400 in 4 soll keine physischen oder architekturbedingten Einschränkungen der Art und Weise implizieren, in der eine veranschaulichte Ausführungsform umgesetzt werden kann. Andere Komponenten können zusätzlich zu den oder anstelle der veranschaulichten verwendet werden. Einige Komponenten können unnötig sein. Des Weiteren werden die Blöcke dargestellt, um einige funktionale Komponenten zu veranschaulichen. Einer oder mehrere dieser Blöcke kann bzw. können beim Umsetzen in einer veranschaulichten Ausführungsform in verschiedene Blöcke kombiniert, geteilt oder kombiniert und geteilt werden. Obwohl die Datensätze 404 zum Beispiel als außerhalb des Computersystem 410 befindlich gezeigt werden, können sich ein oder mehrere Datensätze 404 in dem Computersystem 410 befinden. Wenn das Computersystem 410 ferner mehrere Datenverarbeitungssysteme umfasst, kann der Informationsmanager 412 verteilt werden und Komponenten aufweisen, die sich in mehreren Datenverarbeitungssystemen befinden. In einem weiteren Beispiel kann der erste Untergraph 416 keinen der benachbartem Knoten 422 umfassen, während der zweite Untergraph 420 alle der benachbarten Knoten 422 enthält.
  • 5 bis 7 sind Veranschaulichungen von Untergraphen, die durch den Informationsmanager 412 in 4 verarbeitet werden können. Unter nächster Bezugnahme auf 5 wird eine Veranschaulichung von zwei Untergraphen mit benachbarten Knoten, die Gruppen zugewiesen sind, gemäß einer veranschaulichten Ausführungsform dargestellt. In diesem veranschaulichenden Beispiel weist ein erster Untergraph 500 einen ersten Mittelknoten CN1 502, einen benachbarten Knoten 504, einen benachbarten Knoten 506, einen benachbarten Knoten 508, einen benachbarten Knoten 510, einen benachbarten Knoten 512, einen benachbarten Knoten 514, einen benachbarten Knoten 516 und einen benachbarten Knoten 518 auf. Ein zweiter Untergraph 520 weist einen ersten Mittelknoten CN2 522, einen benachbarten Knoten 524, einen benachbarten Knoten 526, einen benachbarten Knoten 528, einen benachbarten Knoten 530, einen benachbarten Knoten 532, einen benachbarten Knoten 534, einen benachbarten Knoten 536 und einen benachbarten Knoten 538 auf. Wie dargestellt, hat jeder der benachbarten Knoten einen Knotentyp. Diese beiden Untergraphen sind beispielhafte Umsetzungen für den ersten Untergraphen 416 und den zweiten Untergraphen 420 in 4.
  • Unter nächster Bezugnahme auf 6 wird eine Veranschaulichung von Gruppen von benachbarten Knoten gemäß einer veranschaulichten Ausführungsform dargestellt. In den veranschaulichten Beispielen kann dasselbe Bezugszeichen in mehr als einer Figur verwendet werden. Diese Wiederverwendung eines Bezugszeichens in verschiedenen Figuren stellt dasselbe Element in den verschiedenen Figuren dar.
  • Wie in dieser Figur dargestellt, werden die benachbarten Entitäten in dem ersten Untergraphen 500 und dem zweiten Untergraphen 520 in Gruppen auf Grundlage eines Knotentyps zugewiesen oder platziert. Mit anderen Worten, alle benachbarten Knoten in einer Gruppe haben denselben Knotentyp.
  • Wie in dieser Figur dargestellt, weist eine Gruppe 600 einen benachbarten Knoten 512, einen benachbarten Knoten 514 und einen benachbarten Knoten 516 aus dem ersten Untergraphen 500 und einen benachbarten Knoten 534 aus dem zweiten Untergraphen 520 auf. Eine Gruppe 602 weist einen benachbarten Knoten 504 und einen benachbarten Knoten 506 aus dem ersten Untergraphen 500 und einen benachbarten Knoten 524, einen benachbarten Knoten 526 und einen benachbarten Knoten 528 aus dem zweiten Untergraphen 520 auf. Die Gruppe 604 weist einen benachbarten Knoten 508 und einen benachbarten Knoten 510 aus dem ersten Untergraphen 500 und einen benachbarten Knoten 530 und einen benachbarten Knoten 532 aus dem zweiten Untergraphen 520 auf.
  • In diesem veranschaulichten Beispiel weist eine Gruppe 606 einen benachbarten Knoten 536 und einen benachbarten Knoten 538 aus dem zweiten Untergraphen 520 auf. Die Gruppe 606 umfasst keine benachbarten Knoten aus dem ersten Untergraphen 500. Eine Gruppe 608 umfasst einen benachbarten Knoten 518 aus dem ersten Untergraphen 500. Diese Gruppe umfasst keine benachbarten Knoten aus dem zweiten Untergraphen 520.
  • Die Gruppen werden aus Gruppen ausgewählt, in denen benachbarte Knoten aus beiden Untergraphen vorhanden sind. In diesem Beispiel weisen die Gruppen die Gruppe 600, die Gruppe 602 und die Gruppe 604 auf. Die Gruppe 606 und die Gruppe 608 sind nicht in den Gruppen für eine weitere Verarbeitung vorhanden. Diese Gruppen umfassen keine benachbarten Knoten aus beiden Untergraphen. Infolgedessen können keine Vergleiche in Bezug auf Abstände oder Merkmale zwischen verschiedenen Untergraphen durch Verwenden dieser Gruppen vorgenommen werden.
  • Unter folgender Bezugnahme auf 7 wird eine Veranschaulichung von Clustern gemäß einer veranschaulichten Ausführungsform dargestellt, die aus Gruppen von benachbarten Entitäten erstellt wurden. In diesem veranschaulichten Beispiel werden Cluster aus jeder Gruppe von benachbarten Knoten erstellt, in denen benachbarte Knoten aus beiden Untergraphen in einer Gruppe vorhanden sind. Die Clusterbildung wird durchgeführt, um benachbarte Knoten so zu gruppieren, dass die benachbarten Knoten in einem Cluster von benachbarten Knoten einander ähnlicher als die benachbarten Knoten in anderen Clustern sind.
  • Die Clusterbildung kann durch Verwenden eines Algorithmus oder eine durch ein Maschinenlernmodell umgesetzte Clusterbildung gebildet werden. Diese Clusterbildung kann durch Verwenden von verschiedenen Clusterbildungstechniken durchgeführt werden. Zum Beispiel kann eine räumliche Clusterbildung auf Dichtegrundlage von Anwendungen mit Rauschen (BDSCAN), einer k-Means-Clusterbildung, einer Clusterbildung auf Verteilungsgrundlage, einer Clusterbildung auf Dichtegrundlage oder anderen Typen einer Clusterbildung verwendet werden.
  • Wie dargestellt, führt die Clusterbildung zur Erstellung eines Clusters 700 und eines Clusters 702 in der Gruppe 600; eines Clusters 704, eines Clusters 706 und eines Clustern 708 in der Gruppe 602; und eines Clusters 710 in der Gruppe 604. In diesem veranschaulichten Beispiel sind die Cluster, die für eine weitere Verarbeitung ausgewählt werden, Cluster, die benachbarte Knoten aus beiden Untergraphen umfassen. Wie dargestellt, werden das Cluster 702 und das Cluster 708 entfernt, weil diese Cluster nur Knoten aus einem der beiden Untergraphen umfassen. Das Resultat einer Clusterbildung kann ein oder mehrere Cluster sein, wobei jedes Cluster einen Satz von benachbarten Knoten desselben Typs aus jedem der Untergraphen aufweist. In diesem Beispiel verbleiben vier Cluster, wobei diese Cluster benachbarte Knoten desselben Typs aus jedem der Untergraphen enthalten.
  • Aus diesen Clustern können die am besten übereinstimmenden Knotenpaare bestimmt werden. Ein am besten übereinstimmendes Knotenpaar kann für jedes der Cluster bestimmt werden, die benachbarte Knoten aus beiden der Untergraphen enthalten. Das am besten übereinstimmende Knotenpaar in einem Cluster ist ein Paar von Knoten aus den verschiedenen Untergraphen mit dem kürzesten Abstand. Mit anderen Worten, ein am besten übereinstimmendes Knotenpaar weist einen ersten benachbarten Knoten aus dem ersten Untergraphen 500 und einen zweiten benachbarten Knoten aus dem zweiten Untergraphen 520 auf, wobei diese beiden benachbarten Knoten den kürzesten Abstand zwischen sich in dem Cluster im Vergleich mit anderen Paaren von benachbarten Knoten in dem Cluster haben.
  • Wenn zum Beispiel der Abstand in dem Cluster 700 zwischen dem benachbarten Knoten 516 und dem benachbarten Knoten 534 0,1 beträgt, und der Abstand zwischen dem benachbarten Knoten 514 und dem benachbarten Knoten 534 0,6 beträgt, ist das am besten übereinstimmende Paar der benachbarte Knoten 516 und der benachbarte Knoten 534.
  • Als weiteres Beispiel ist das am besten übereinstimmende Knotenpaar in einem Cluster 704 der benachbarte Knoten 504 und der benachbarte Knoten 524. In dem Cluster sind dies die einzigen beiden Knoten. Der benachbarte Knoten 506 und der benachbarte Knoten 526 sind das am besten übereinstimmende Knotenpaar in dem Cluster 706.
  • In einem Cluster 710 beträgt der Abstand zwischen dem benachbarten Knoten 510 und dem benachbarten Knoten 532 0,2; der Abstand zwischen dem benachbarten Knoten 510 und dem benachbarten Knoten 530 beträgt 0,3; der Abstand zwischen dem benachbarten Knoten 508 und dem benachbarten Knoten 532 beträgt 0,6; und der Abstand zwischen dem benachbarten Knoten 508 und dem benachbarten Knoten 530 beträgt 0,4. In diesem Beispiel weist das am besten übereinstimmende Knotenpaar in dem Cluster 710 den benachbarten Knoten 510 und den benachbarten Knoten 532 auf. Wie ersichtlich ist, werden die Abstände zwischen Knotenpaaren berechnet, wobei jedes Knotenpaar einen benachbarten Knoten aus jedem der beiden Untergraphen aufweist.
  • Diese identifizierten Mindestabstände können ein Hausdorff-Abstand sein, der auf die verschiedenen untergeordneten Sätze von Knoten-Clustern angewendet wird. Mathematisch gesehen misst der Hausdorff-Abstand, wie weit zwei untergeordnete Sätze eines metrischen Raums voneinander entfernt sind. Der Hausdorff-Abstand wird auch als Hausdorff-Metrik bezeichnet. Zum Beispiel kann der Hausdorff-Abstand für das Cluster 700 dH = min(0,1, 0,6) = 0,1 betragen. Der Hausdorff-Abstand für das Cluster 704 beträgt dH = min(0,2) = 0,2 und für das Cluster 706 dH = min(0,5) = 0,5. Der Hausdorff-Abstand für das Cluster 710 beträgt dH = min(0,2, 0,3, 0,6 und 0,4) = 0,2.
  • Infolgedessen beträgt die Sammlung der Hausdorff-Abstände [0,1, 0,2, 0,5, 0,2], wobei jeder dieser Werte der Mindestwert für die am besten übereinstimmenden Knotenpaare in den Clustern ist, die für die Gruppen aus dem ersten Untergraphen 500 und dem zweiten Untergraphen 520 identifiziert wurden.
  • In diesem veranschaulichten Beispiel kann ein Abstands-Merkmalsvektor auf Grundlage eines Abstands für die benachbarten Knoten auf Grundlage von Anzahlen von Abständen bestimmt werden, die innerhalb verschiedener Schwellenwerte oder Bereiche liegen. Zum Beispiel kann der Abstands-Merkmalsvektor wie folgt bestimmt werden: Merkmalsvektor fv(i) = [Anzahl von dHs ≤ 0,3, Anzahl von 0,7 > dHs > 0,3, Anzahl von dHs]. Infolgedessen lautet der Merkmalsvektor in diesem Beispiel fv(i) = [3, 1, 0].
  • Ein Vergleichs-Merkmalsvektor kann aus begleitenden Informationen in den Mittelknoten bestimmt werden. Wenn zum Beispiel der erste Mittelknoten 502 [John Smith Jr.] lautet und der zweite Mittelknoten 522 [Johnny Smith] lautet, können Merkmale auf Grundlage des Vergleiches von Informationen zwischen diesen beiden Mittelknoten identifiziert werden. Die Merkmale auf Grundlage eines Vergleiches von Informationen können zum Beispiel [name_exact, name_similar, name_leftout, name_unmatched] sein. In diesem Beispiel lautet der Vergleichs-Merkmalsvektor für die Mittelknoten fv(i) = [1, 1, 1, 0]. In diesem spezifischen Beispiel ist die erste 1 die Anzahl von [Smith vs. Smith], die zweite 1 ist die Anzahl von [John vs. Johnny], und die dritte 1 ist die Anzahl von [Jr. vs. none].
  • Infolgedessen lautet der Gesamt-Merkmalsvektor, der Vergleichsmerkmale der Mittelknoten und Abstandsmerkmale von benachbarten Knoten enthält, fv(i) = [1, 1, 1, 0, 3, 1,0]. Dieser Merkmalsvektor kann zum Bestimmen der Ähnlichkeit des ersten Untergraphen 500 und des zweiten Untergraphen 520 verwendet werden, wobei die Ähnlichkeit den ersten Mittelknoten 502, den zweiten Mittelknoten 522 und die am besten übereinstimmenden Knotenpaare berücksichtigt.
  • In diesem Beispiel kann die Ähnlichkeit durch den Gesamtabstand zwischen dem ersten Mittelknoten 502 und dem zweiten Mittelknoten 522 gemessen werden. In diesem bestimmten Beispiel kann der Abstand (distance) mit einem Merkmalsvektor fv und einem Koeffizientenvektor cv berechnet werden als:
    distance = max ( c v ) ( i = 1 n c v ( i ) f v ( i ) ) / ( i = 0 n f v ( i ) ) max ( c v ) min ( c v )
    Figure DE112022000630T5_0001
    wobei cv(i) ein Koeffizientenvektor ist, fv(i) ein Merkmalsvektor ist, der die Vergleichsmerkmale und die Abstandsmerkmale aufweist, max(cv) ein Element in dem Koeffizientenvektor mit einem maximalen Wert ist, min(cv) das Element in dem Koeffizientenvektor mit einem Mindestwert ist, i ein Indexwert ist, und n eine Anzahl von Elementen in dem Merkmalsvektor ist.
  • In diesem Beispiel kann dieser Merkmalsvektor, der Vergleichsmerkmale aus dem Vergleichs-Merkmalsvektor und Abstandsmerkmale aus dem Abstands-Merkmalsvektor aufweist, zum Bestimmen des Gesamtabstands zwischen dem ersten Mittelknoten 502 und dem zweiten Mittelknoten 522 verwendet werden. Ferner kann eine Gewichtung auf die verschiedenen Merkmalsvektoren durch Verwenden von Merkmalsvektor-Koeffizienten angewendet werden. Diese Koeffizienten können vorgegeben sein. Die Koeffizienten können durch Verwenden eines Fachexperten oder eines Maschinenlernmodells festgelegt werden. Zum Beispiel können höhere Merkmalsvektor-Koeffizienten für bestimmte Elemente in dem Merkmalsvektor verwendet werden, denen beim Bestimmen der Ähnlichkeit der zwei Mittelknoten größere Wichtigkeit beigemessen werden soll.
  • In dem in 5 bis 7 dargestellten Beispiel für einen Merkmalsvektor von [1, 1, 1, 0, 3, 1, 0] und einen Koeffizientenvektor von [10, 7, -5, -10, 5, 2, 0,5] kann der Gesamtabstand (overall distance) zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten bestimmt werden als:
    overall distance = 10 ( ( 10 * 1 + 7 * 1 + ( 5 ) * 1 + ( 10 ) * 0 + 5 * 3 + 2 * 1 + 0.5 * 0 ) / ( 1 + 1 + 1 + 0 + 3 + 1 + 0 ) 10   ( 10 ) = 0,293
    Figure DE112022000630T5_0002
    was ein genauerer Abstand im Vergleich zu dem Fall ist, in dem diese beiden Mittelknoten verglichen wurden, ohne benachbarte Knoten in ihren Untergraphen zu berücksichtigen: overall distance = 10 ( ( 10 * 1 + 7 * 1 + ( 5 ) * 1 + ( 10 ) * 0 ) / ( 1 + 1 + 1 + 0 ) 10 ( 10 ) = 0,3
    Figure DE112022000630T5_0003
  • In diesem dargestellten Beispiel stellt ein Vergleichen von Untergraphen für Mittelknoten eine höhere Genauigkeit und Granularität beim Bestimmen der Ähnlichkeit zwischen Datensätzen oder Informationen für die Mittelknoten im Vergleich zu einem reinen Vergleichen von Datensätzen für die Mittelknoten bereit. Mit anderen Worten, der Vergleich der Untergraphen kann durch ein Bestimmen des Abstands zwischen den Mittelknoten und ein Anpassen des bestimmten Abstands zwischen den Mittelknoten auf Grundlage der benachbarten Knoten in den Untergraphen durchgeführt werden, wobei der angepasste Abstand ein Gesamtabstand für die beiden Mittelknoten ist.
  • Die Veranschaulichungen der beiden Mittelknoten und der benachbarten Knoten für die beiden Untergraphen in 5 bis 7 werden zum Zweck einer Veranschaulichung einer Art und Weise dargestellt, in der verschiedene Operationen an Untergraphen in einem veranschaulichten Beispiel durchgeführt werden können, und sie sind nicht dazu gedacht, die Art und Weise einzuschränken, in der andere veranschaulichte Beispiele umgesetzt werden können. Zum Beispiel werden für jeden Graphen acht benachbarte Knoten gezeigt. In anderen veranschaulichten Beispielen können andere Anzahlen von benachbarten Knoten vorhanden sein. Zum Beispiel können 3, 25, 300 oder irgendeine andere Anzahl von benachbarten Knoten in jedem Untergraphen vorhanden sein. Ein Untergraph hat möglicherweise nicht dieselbe Anzahl von benachbarten Knoten wie der andere Untergraph, der analysiert wird. Als weiteres Beispiel werden die benachbarten Knoten mit nur einer Tiefe von eins von dem Mittelknoten gezeigt. In anderen veranschaulichten Beispielen können benachbarte Knoten andere Tiefen wie beispielsweise 2, 3, 6 oder irgendeine andere Tiefe in dem Untergraphen haben. Zum Beispiel kann ein bestimmter benachbarter Knoten eine Tiefe von 2 von einem Mittelknoten haben. Mit anderen Worten, der bestimmte benachbarte Knoten kann eine Verknüpfung zu einem weiteren benachbarten Knoten haben, der mit dem Mittelknoten verknüpft ist. In einem weiteren veranschaulichten Beispiel kann der Merkmalsvektor nur Abstandsmerkmale des Abstands-Merkmalsvektors für die benachbarten Knoten umfassen.
  • In einem weiteren veranschaulichten Beispiel kann ein Merkmalsvektor direkt aus Vergleichsmerkmalen und Abstandsmerkmalen generiert werden, ohne einen Vergleichs-Merkmalsvektor und den Abstands-Merkmalsvektor generieren zu müssen. In einigen veranschaulichten Beispielen kann der Merkmalsvektor Abstandsmerkmale ohne die Vergleichsmerkmale umfassen. In noch einem weiteren veranschaulichten Beispiel kann ein Merkmalsvektor aus einem Vergleich der beiden Mittelknoten generiert werden, wobei der Merkmalsvektor sowohl Vergleichsmerkmale als auch Abstandsmerkmale umfasst. Die Abstandsmerkmal beruhen in diesem Beispiel auf eine Abstand, der zwischen den beiden Mittelknoten berechnet wird.
  • Unter nächster Bezugnahme auf 8 wird eine Veranschaulichung von Teilen von Informationen in benachbarten Knoten gemäß einer veranschaulichten Ausführungsform dargestellt. In diesem veranschaulichten Beispiel veranschaulicht eine Tabelle 800 Informationen, die für benachbarte Knoten vorhanden sein können.
  • Wie dargestellt, umfasst die Tabelle 800 eine Anzahl von verschiedenen Spalten. In diesem Beispiel umfassen diese Spalten den benachbarten Knoten 516 und den benachbarten Knoten 534, die in diesem Beispiel von demselben Knotentyp sind.
  • In diesem veranschaulichten Beispiel hat die Tabelle 800 eine Anzahl von verschiedenen Spalten, die Informationen für benachbarte Knoten identifizieren. Diese Spalten umfassen benachbarte Knoten 802, einen Untergraphen 804, einen Verknüpfungstyp 806, eine Tiefe 808, eine benachbarte Person 810 und eine Adresse 812.
  • Der benachbarte Knoten 802 ist eine Kennung des benachbarten Knotens. In diesem Beispiel entspricht der benachbarte Knoten in einer Zeile 814 dem benachbarten Knoten 516, und der benachbarte Knoten in einer Zeile 816 entspricht dem benachbarten Knoten 534.
  • Der Untergraph 804 identifiziert den Untergraphen, zu dem ein benachbarter Knoten in diesem Beispiel gehört. Der Verknüpfungstyp 806 ist eine Kennung eines bestimmten Verknüpfungstyps, der den benachbarten Knoten mit einem weiteren Knoten verbindet. Der andere Knoten kann ein weiterer benachbarter Knoten oder ein Mittelknoten sein. Die Werte in dem Verknüpfungstyp 806 geben an, welcher Typ von strukturellen Metadaten, die Informationen für die Beziehung zwischen zwei benachbarten Knotentypen enthalten, vorhanden ist. In diesem veranschaulichten Beispiel gibt der Verknüpfungstyp 806 eine Verknüpfung zu einem Knoten einer benachbarten Person an. Die Tiefe 808 identifiziert die Anzahl von Verknüpfungen, die den benachbarten Knoten mit dem Mittelknoten verbinden. In diesem Beispiel beträgt die Tiefe für beide benachbarten Knoten 1.
  • In diesem veranschaulichten Beispiel ist die benachbarte Person 810 ein Typ einer Bucket-Gruppe. Die Hash-Werte in der benachbarten Person 810 sind Hash-Werte, die aus einem Hashen des Namens der benachbarten Person generiert wurden. Die Adresse 812 ist ein Bucket für eine Adresse der benachbarten Person, die in der benachbarten Person 810 identifiziert wurde. Die Hash-Werte in der Adresse 812 werden aus einem Hashen der Adresse für jede benachbarte Person generiert. Andere Beispiele von Kategorien für Buckets umfassen Telefonnummer, Geschäftsadresse, Fahrzeugmodell, Ort, Land oder andere geeignete Kategorien.
  • In diesem veranschaulichten Beispiel können Hash-Werte für ein Feld oder ein Attribut generiert werden. Die verschiedenen Aktionen können generiert werden, um bekannte oder akzeptable Variationen für eine bestimmte Kategorie wie zum Beispiel einen Namen zu berücksichtigen. Auf diese Weise können teilweise Übereinstimmungen identifiziert werden, um Dateneingabefehler zu berücksichtigen. Dieser Typ einer Hash-Generierung von mehrfachen Buckets für ein einzelnes Attribut kann auf Daten angewendet werden, wie beispielsweise eine Telefonnummer, ein Geburtsdatum oder andere geeignete Informationen.
  • Die Darstellung der Tabelle 800 stellt eingeschränkte Datentypen zum Zweck einer Veranschaulichung von verschiedenen Merkmalen in einem veranschaulichten Beispiel dar. Umsetzungen von veranschaulichten Beispielen können viele weitere Buckets oder andere Informationen in benachbarten Knoten haben. Außerdem kann ein Bucket mehr als eine Kategorie umfassen. Zum Beispiel kann ein Bucket ein Name und eine Ortskennzahl sein. Als weiteres Beispiel kann ein Bucket ein Vertrag, Jones und Seattle sein.
  • Unter folgender Bezugnahme auf 9 wird ein Ablaufplan eines Prozesses zum Verwalten von Informationen gemäß einer veranschaulichten Ausführungsform dargestellt. Der Prozess in 9 kann in Hardware, Software oder beidem umgesetzt werden. Bei einer Umsetzung in Software kann der Prozess die Form von Programmcode annehmen, der von einer oder mehreren Prozessoreinheiten ausgeführt wird, die sich in einer oder mehreren Hardware-Einheiten in einem oder mehreren Computersystemen befindet bzw. befinden. Der Prozess kann in der Datenverwaltung 96 in 2 umgesetzt werden. In dem veranschaulichten Beispiel kann der Prozess in dem Informationsmanager 330 in dem Netzwerk-Datenverarbeitungssystem 300 in 3 und in dem Informationsmanager 412 in dem Computersystem 410 in 4 umgesetzt werden. Dieser Prozess kann verwendet werden, um Teile von Informationen zu verwalten. In diesem Beispiel können die Teile von Informationen in der Form von Datensätzen vorliegen, können aber in der bestimmten Umsetzung andere Formen annehmen.
  • Der Prozess beginnt mit einem Bestimmen von Datensätzen in einem oder in mehreren Datensätzen, die ähnlich genug sind, um Mittelknoten zum Verwenden beim Bestimmen von Ähnlichkeit von Untergraphen zwischen den Mittelknoten zu sein (in einem Schritt 900). Im Schritt 900 können Vergleiche zwischen den Datensätzen zum Erhalten von Merkmalsergebnissen ausgeführt werden, wie zum Beispiel die Merkmalsergebnisse 448 in 4. Die Ergebnisse dieser Vergleiche können zum Identifizieren verwendet werden, welche Mittelknoten einander nahe genug oder ähnlich genug sind, um eine weitere Verarbeitung zu rechtfertigen. Mit anderen Worten, der Schritt 900 kann als ein erster Arbeitsgang beim Identifizieren von Kandidaten-Mittelknoten aus den Datensätzen durchgeführt werden. Diese Vergleiche berücksichtigen in diesem Beispiel keine benachbarten Knoten in den Untergraphen. Zum Beispiel kann ein Abstand zwischen Mittelknoten nur auf Grundlage der Mittelknoten selbst bestimmt werden.
  • Im Schritt 900 kann die Identifizierung einer Übereinstimmung zwischen den Mittelknoten die Anzahl von Vergleichen reduzieren, die vorgenommen werden. Infolgedessen muss kein detaillierter Vergleich der Untergraphen für einen Mittelknoten mit den Untergraphen für jeden anderen Mittelknoten vorgenommen werden.
  • Wenn zwei Mittelknoten als ausreichend ähnlich für eine weitere Verarbeitung identifiziert werden, kann ein Vergleichen der Ähnlichkeit der kontextbezogenen und unabhängigen Netzwerke der beiden Mittelknoten die Gesamtkonfidenz durch ein Feststellen, ob die beiden Mittelknoten ähnlich oder verschieden sind, erhöhen oder verringern. Diese verschiedenen Netzwerke sind Untergraphen für die beiden Mittelknoten.
  • Der Prozess identifiziert die Untergraphen für identifizierte Mittelknoten (in einem Schritt 902). Der Prozess bestimmt eine Gesamtähnlichkeit zwischen den Mittelknoten (in einem Schritt 904). Im Schritt 904 kann der Prozess eine Gesamtähnlichkeit zwischen den Mittelknoten bestimmen, indem die Mittelknoten und die benachbarten Knoten in den Untergraphen für die Mittelknoten berücksichtigt werden. Zum Beispiel, wenn die beiden Mittelknoten für „John Smith“ verglichen werden, die selbst etwas ähnlich sein könnten. Wenn der erste Mittelknoten nur mit einer Entität „ABC Company in Canada“ mit einem Arbeitsverhältnis in Beziehung steht, und der zweite Mittelknoten nur mit „XYZ“ mit einem Arbeitsverhältnis in Beziehung steht, kann eine Interpretation erfolgen, dass die Mittelknoten weniger wahrscheinlich ähnlich sind. Wenn der zweite Mittelknoten jedoch ein zusätzliches Arbeitsverhältnis mit „ABC Company“ hat, das möglicherweise ein von „ABC Company in Canada“ verschiedener Knoten sein kann, der mit dem ersten Knoten in Beziehung steht, kann die Situation zu dem Schluss führen, dass die beiden Mittelknoten höchstwahrscheinlich ähnlich sind.
  • Der Prozess bestimmt, ob Paare von Datensätzen auf Grundlage der Gesamtähnlichkeit von Paaren der Untergraphen für die Paare von Datensätzen übereinstimmen (in einem Schritt 906). In diesem veranschaulichten Beispiel kann die Bestimmung auch eine Analyse der Merkmalsergebnisse umfassen, die durch die anfängliche Analyse von Datensätzen bestimmt wurden, um die Mittelknoten zu identifizieren. Im Schritt 906 können die Datensätze Mittelknoten sein.
  • Der Prozess führt dann einen Satz von Aktionen auf Grundlage dessen durch, ob eine Übereinstimmung vorhanden ist (in einem Schritt 908). Danach endet der Prozess. Im Schritt 908 können die Aktionen mindestens eine Deduplizierung, ein Zusammenführen von übereinstimmenden Datensätzen und/oder andere geeignete Aktionen umfassen, die durchgeführt werden können. Auf diese Weise kann eine Konsistenz zwischen Informationen in verschiedenen Datensätzen erhalten werden, um Operationen wie zum Beispiel Berichtserstellung, Transaktionen oder andere geeignete Operationen durchzuführen, die mindestens eine Genauigkeit und/oder Konsistenz in Datensätzen erfordern, die in einem oder mehreren Datensätzen gefunden wurden.
  • Unter folgender Bezugnahme auf 10 wird ein Ablaufplan eines Prozesses zum Abgleichen von Mittelknoten gemäß einer veranschaulichten Ausführungsform dargestellt. Der Prozess in 10 kann in Hardware, Software oder beidem umgesetzt werden. Bei einer Umsetzung in Software kann der Prozess die Form von Programmcode annehmen, der von einer oder mehreren Prozessoreinheiten ausgeführt wird, die sich in einer oder mehreren Hardware-Einheiten in einem oder mehreren Computersystemen befindet bzw. befinden. Der Prozess kann in der Datenverwaltung 96 in 2 umgesetzt werden. In dem veranschaulichten Beispiel kann der Prozess in dem Informationsmanager 330 in dem Netzwerk-Datenverarbeitungssystem 300 in 3 oder in dem Informationsmanager 412 in dem Computersystem 410 in 4 umgesetzt werden. Der Prozess in diesem Schritt kann verwendet werden, um den Schritt 908 in 9 umzusetzen.
  • Der Prozess beginnt mit einem Identifizieren eines ersten Mittelknotens in einem ersten Untergraphen und eines zweiten Mittelknotens in einem zweiten Untergraphen (in einem Schritt 1000). Der Prozess identifiziert Gruppen von benachbarten Knoten, die benachbarte Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen haben, wobei eine Gruppe der benachbarten Knoten in den Gruppen von benachbarten Knoten die benachbarten Knoten mit einem selben Knotentyp hat (in einem Schritt 1002).
  • Der Prozess erstellt einen Satz von Clustern aus jeder Gruppe der benachbarten Knoten, sodass jedes Cluster in dem Satz von Clustern die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen hat (in einem Schritt 1004). Der Prozess identifiziert ein am besten übereinstimmendes Knotenpaar der benachbartem Knoten in jedem Cluster in dem Satz von Clustern, um einen Satz von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern zu bilden (in einem Schritt 1006). Im Schritt 1006 weisen die benachbarten Knoten in dem am besten übereinstimmenden Knotenpaar einen ersten benachbarten Knoten aus dem ersten Untergraphen und einen zweiten benachbarten Knoten aus dem zweiten Untergraphen auf.
  • Der Prozess bestimmt, ob der erste Mittelknoten in dem ersten Untergraphen und der zweite Mittelknoten in dem zweiten Untergraphen auf Grundlage eines Gesamtabstands zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten übereinstimmen, wozu der erste Mittelknoten, der zweite Mittelknoten und der Satz von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern verwendet wird (in einem Schritt 1008). Im Schritt 1008 ist der Gesamtabstand von dem Abstand zwischen den beiden Mittelknoten ohne Berücksichtigung der benachbarten Knoten in den Untergraphen verschieden. Danach endet der Prozess.
  • Unter Bezugnahme auf 11 wird ein Ablaufplan eines Prozesses zum Identifizieren von benachbarten Knoten gemäß einer veranschaulichten Ausführungsform dargestellt. Der Prozess in dieser Figur ist ein Beispiel für eine Umsetzung des Schritts 1002 in 10.
  • Der Prozess beginnt mit einem Platzieren der benachbarten Knoten aus jedem Untergraphen in anfänglichen Gruppen auf Grundlage eines Knotentyps für die benachbarten Knoten (in einem Schritt 1100). Der Prozess wählt jede anfängliche Gruppe in den anfänglichen Gruppen aus, die die benachbarten Knoten sowohl aus einem des ersten Untergraphen der benachbarten Knoten als auch des zweiten Untergraphen der benachbarten Knoten hat, um die Gruppen der benachbarten Knoten zu bilden, die die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen haben (in einem Schritt 1102). Danach endet der Prozess.
  • Unter folgender Bezugnahme auf 12 wird ein Ablaufplan zum Erstellen eines Satzes von Clustern gemäß einer veranschaulichten Ausführungsform dargestellt. Der Prozess in dieser Figur ist ein Beispiel für eine Umsetzung des Schritts 1004 in 10.
  • Der Prozess beginnt mit einem Erstellen von Kandidaten-Clustern in jeder Gruppe von benachbarten Knoten in Gruppen der benachbarten Knoten (in einem Schritt 1200). Der Prozess wählt jedes Clusters in den Kandidaten-Clustern aus, das benachbarte Knoten sowohl aus einem ersten Untergraphen der benachbarten Knoten als auch aus einem zweiten Untergraphen der benachbarten Knoten hat, um einen Satz von Clustern zu bilden (in einem Schritt 1202). Danach endet der Prozess.
  • Unter Bezugnahme auf 13 wird ein Ablaufplan eines Prozesses zum Identifizieren von am besten übereinstimmenden Paaren von benachbarten Knoten gemäß einer veranschaulichten Ausführungsform dargestellt. Der Prozess in dieser Figur ist ein Beispiel für eine Umsetzung des Schritts 1006 in 10.
  • Der Prozess beginnt mit einem Bestimmen von Nachbarabständen für benachbarte Knoten, die in einem Cluster verglichen werden, auf Grundlage der benachbarten Knoten, die verglichen werden, von Verknüpfungen für die benachbarten Knoten, die verglichen werden, und von Tiefen für die benachbarten Knoten, die verglichen werden (in einem Schritt 1300). Im Schritt 1300 können die Nachbarabstände auf verschiedene Art und Weise bestimmt werden. Zum Beispiel sind Breitensuche, Dijkstra-Algorithmus oder Bellman-Ford-Algorithmus Beispiele für Algorithmen, die zum Bestimmen dieser Abstände (distances) verwendet werden können.
  • In diesem Beispiel werden die Nachbarabstände für die benachbarten Knoten in dem Cluster auf Grundlage der benachbarten Knoten, die verglichen werden, der Verknüpfungen (links) für die benachbarten Knoten, die vergleichen werden, und der Tiefen für die benachbarten Knoten, die verglichen werden, durch Verwenden von einer der folgenden Gleichungen berechnet: d ( x , y ) = e ( l o g ( 1 d i s t a n c e ( x , y ) ) + l o g ( 1 d i s t a n c e ( l i n k ( X ) , l i n k ( Y ) ) ) + l o g ( c o n s t d e p   ( x , y ) ) )
    Figure DE112022000630T5_0004
    wobei ein Abstand (x, y) ein Abstand zwischen einem Knoten x und einem Knoten y in einem Cluster ist, eine Tiefe (x, y) eine durchschnittliche Tiefe einer ersten Tiefe für den Knoten x und einer zweiten Tiefe für den Knoten y ist, und const ein konstanter Wert ist, der größer als 0 und kleiner oder gleich 1 ist. Eine Tiefe für einen Knoten x ist die Anzahl von Verknüpfungen mit dem kürzesten Pfad von dem Knoten zu dem Mittelknoten für den Knoten x. In diesem Beispiel kann die Tiefe (x, y) auch ein Durchschnittswert von (1) der Anzahl von kürzesten Verknüpfungen zwischen einem Knoten X und dem ersten Mittelknoten und (2) der Anzahl von kürzesten Verknüpfungen zwischen einem Knoten Y und dem zweiten Mittelknoten sein. d ( x , y ) = 1 ( ( 1 d i s t a n c e ( x , y ) ) ( 1 d i s t a n c e ( l i n k x , l i n k Y ) ) c o n s t d e p t   ( x , y ) )
    Figure DE112022000630T5_0005
    wobei der Abstand (x, y) ein Abstand zwischen einem Knoten x und einem Knoten y in einem Cluster ist, die Tiefe (x, y) eine durchschnittliche Tiefe einer ersten Tiefe für den Knoten x und einer zweiten Tiefe für den Knoten y ist, und const ein konstanter Wert ist, der größer als 0 und kleiner oder gleich 1 ist. Eine Tiefe für einen Knoten x ist die Anzahl von Verknüpfungen mit dem kürzesten Pfad von dem Knoten zu dem Mittelknoten für den Knoten x.
  • Der Prozess identifiziert ein am besten übereinstimmendes Knotenpaar für jedes Cluster in dem Satz von Clustern als zwei Knoten in dem Cluster mit einem kürzesten Nachbarabstand, um einen Satz von am besten übereinstimmenden Knotenpaaren für den Satz von Clustern zu bilden (in einem Schritt 1302). Danach endet der Prozess.
  • In 14 wird ein Ablaufplan eines Prozesses zum Bestimmen, ob ein erster Mittelknoten und ein zweiter Mittelknoten übereinstimmen, gemäß einer veranschaulichten Ausführungsform dargestellt. Der Prozess in dieser Figur ist ein Beispiel für eine Umsetzung des Schritts 1008 in 10.
  • Der Prozess beginnt mit einem Bestimmen eines Gesamtabstands (overall distance) zwischen einem ersten Mittelknoten und einem zweiten Mittelknoten, wozu ein erster Mittelknoten, ein zweiter Mittelknoten und ein Satz von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern wie folgt verwendet wird: o v e r a l l   d i s t a n c e = 1 ( ( 1 d i s t a n c e ( C e n t e r N o d e 1 , C e n t e r N o d e 2 ) ) + n = 1 M ( 1 d   x , y ) ) ) M + 1
    Figure DE112022000630T5_0006
    wobei ein Abstand (Mittelknoten1, Mittelknoten2 (CenterNode1, CenterNode2)) der Abstand zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten ist, dH(x, y) der Abstand zwischen dem benachbarten Knoten x und dem benachbarten Knoten y in einem am besten übereinstimmenden Knotenpaar ist, und M eine Anzahl von Knotentypen mit einem am besten übereinstimmenden benachbarten Knotenpaar in den Gruppen ist (in einem Schritt 1400). In diesem veranschaulichten Beispiel ist ein Abstand, der durch dH(x, y) dargestellt wird, ein Wert zwischen 0 bis 1. Auch der Abstand (CenterNode1, CenterNode2) ist ein Wert zwischen 0 und 1. Infolgedessen ist der Gesamtabstand in diesem veranschaulichten Beispiel ein Wert zwischen 0 und 1. In diesem Beispiel bedeutet ein Wert von 0, dass zwischen den Daten, die verglichen werden, eine exakte Übereinstimmung vorhanden ist, und ein Wert von 1 bedeutet, dass die Daten, die verglichen werden, völlig verschieden sind. In einigen Fällen können einige Nachbarknoten eines bestimmten Knotentyps in dem ersten Untergraphen vorhanden sein, während kein Nachbarknoten desselben Knotentyps in dem zweiten Untergraphen vorhanden ist. Diese Knotentypen ohne Übereinstimmungen zwischen den beiden Untergraphen sind in M nicht enthalten.
  • In diesem Beispiel kann der benachbarte Knoten x durch CenterNode, verbunden werden und der benachbarte Knoten y kann mit CenterNode2 verbunden werden. Die Verbindung kann direkt oder indirekt mit dazwischenliegenden Knoten sein. In diesem Beispiel ist dH(x, y) ein Mindestabstand, der für verschiedene Kombinationen von benachbarten Knoten, dem benachbarten Knoten x und dem benachbarten Knoten y, in einem Cluster bestimmt werden kann.
  • Der Prozess bestimmt, ob der erste Untergraph und der zweite Untergraph auf Grundlage des Gesamtabstands übereinstimmen, der zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten berechnet wurde (in einem Schritt 1402). Danach endet der Prozess.
  • Unter folgender Bezugnahme auf 15 wird ein Ablaufplan eines Prozesses zum Bestimmen, ob ein erster Mittelknoten und ein zweiter Mittelknoten übereinstimmen, gemäß einer veranschaulichten Ausführungsform dargestellt. Der Prozess in dieser Figur ist ein Beispiel für eine Umsetzung des Schritts 1008 in 10.
  • Der Prozess beginnt mit einen Bestimmen von Vergleichsmerkmalen zwischen einem ersten Mittelknoten und einem zweiten Mittelknoten für einen Vergleichs-Merkmalsvektor für den ersten Mittelknoten und den zweiten Mittelknoten (in einem Schritt 1500). Ein Merkmal ist eine Eigenschaft von Interesse zwischen den Informationen, die verglichen werden Dieser Merkmalstyp ist ein Vergleichsmerkmal. Zum Beispiel können beim Vergleichen der Namen in dem Mittelknoten die Merkmale von Interesse für den Vergleich von Namen [eine Anzahl von exakten Wörtern, eine Anzahl von ähnlichen Wörtern, eine Anzahl von weggelassenen Wörtern, eine Anzahl von einmaligen Wörtern] sein. Beim Vergleichen von „John Smith Jr.“ mit „Johnny Smith“ für diese Merkmale ist eine Anzahl von 1 für die Elemente des Vergleichs-Merkmalsvektors für die Anzahl von exakten Wörtern [Smith, Smith] vorhanden. Das zweite Merkmal, die Anzahl von ähnlichen Wörtern, ist mit [John, Johnny] vorhanden. Das dritte Merkmal, die Anzahl von weggelassenen Wörtern, ist in Bezug auf eine Unterscheidung [Jr., none] vorhanden. Das vierte Merkmal der Anzahl von einmaligen Wörtern ist 0, da Übereinstimmungen vorhanden sind. Infolgedessen lautet der Vergleichs-Merkmalsvektor in diesem Beispiel fv = [1, 1, 0].
  • Der Prozess bestimmt ein Abstandsmerkmal aus einem geringsten Abstand für jedes Cluster in dem Satz von Clustern (in einem Schritt 1502). In diesem Beispiel kann ein Abstandsmerkmal darauf beruhen, ob ein bestimmter Abstand innerhalb eines Schwellenwertbereichs liegt, der für das Abstandsmerkmal spezifiziert wurde. Zum Beispiel können Abstandsmerkmale [distance_less­_than_0,3, distance_between_0,3_0,7 und distance_larger than 0,7] sein. In diesem Beispiel sind drei Abstandsmerkmale vorhanden, und der Abstands-Merkmalsvektor gibt eine Anzahl an, wie viele Knoten für jedes der bestimmten Merkmale vorhanden sind.
  • Der Prozess bestimmt einen Gesamtabstand zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten durch Verwenden eines Vergleichs-Merkmalsvektors und des Abstands-Merkmalsvektors (in einem Schritt 1504). Im Schritt 1504 bezieht sich der Vergleichs-Merkmalsvektor auf die Mittelknoten, und der Abstands-Merkmalsvektor wird für den benachbarten Knoten bestimmt. Im Schritt 1504 wird der Gesamtabstand zwischen zwei Mittelknoten, der ihre benachbarten Knoten in der Form der am besten übereinstimmenden Knotenpaare berücksichtigt, wie folgt bestimmt. o v e r a l l   d i s t a n c e = max ( c v ) ( i = 1 n c v ( i ) f v ( i ) ) / ( i = 0 n f v ( i ) ) max ( c v ) min ( c v )
    Figure DE112022000630T5_0007
    wobei cv(i) das Element an einem Index i des Koeffizientenvektors ist, fv(i) das Element an einem Index i des Merkmalsvektors ist, der den Vergleichs-Merkmalsvektor und den Abstands-Merkmalsvektor aufweist, max(cv) ein Element in dem Koeffizientenvektor mit einem maximalen Wert ist, min(cv) das Element in dem Koeffizientenvektor mit einem Mindestwert ist, i ein Indexwert ist, und n eine Anzahl von Elementen in dem Merkmalsvektor ist. In diesem bestimmten Beispiel umfasst der Merkmalsvektor fv sowohl die Vergleichsmerkmale für die Mittelknoten als auch die Abstandsmerkmale für die Cluster.
  • Der Merkmalsvektor in diesem Beispiel enthält Elemente für Vergleichsmerkmale in den Mittelknoten und ein Abstandsmerkmal für benachbarte Knoten. Der Koeffizientenvektor weist Elemente auf, die beim Anwenden von Gewichtungen auf entsprechende Merkmale in dem Merkmalsvektor verwendet werden. Diese Koeffizientenvektoren können verwendet werden, um die Bedeutung jedes Merkmals in dem Merkmalsvektor für die Gesamtberechnung zu zeigen. Die Koeffizientenvektoren können vorab bestimmt oder durch Verwenden eines Maschinenlernmodells generiert werden.
  • Der Prozess bestimmt, ob der Gesamtabstand innerhalb eines Schwellenwerts für den ersten Mittelknoten und den zweiten Mittelknoten liegt, um übereinzustimmen (in einem Schritt 1506). Danach endet der Prozess.
  • Unter folgender Bezugnahme auf 16 wird ein Ablaufplan eines Prozesses zum Abgleichen von Untergraphen gemäß einer veranschaulichten Ausführungsform dargestellt. Der Prozess in 16 kann in Hardware, Software oder beidem umgesetzt werden. Bei einer Umsetzung in Software kann der Prozess die Form von Programmcode annehmen, der von einer oder mehreren Prozessoreinheiten ausgeführt wird, die sich in einer oder mehreren Hardware-Einheiten in einem oder mehreren Computersystemen befindet bzw. befinden. Der Prozess kann in der Datenverwaltung 96 in 2 umgesetzt werden. In dem veranschaulichten Beispiel kann der Prozess in dem Informationsmanager 330 in dem Netzwerk-Datenverarbeitungssystem 300 in 3 und in dem Informationsmanager 412 in dem Computersystem 410 in 4 umgesetzt werden. Der Prozess in diesem Schritt kann verwendet werden, um den Schritt 908 in 9 umzusetzen.
  • Der Prozess beginnt mit einem Identifizieren von zwei Mittelknoten in zwei Untergraphen, wobei sich jeder der beiden Mittelknoten in einem der beiden Untergraphen befindet (in einem Schritt 1600). Der Prozess weist benachbarte Knoten der beiden Mittelknoten in den beiden Untergraphen Gruppen nach einem Knotentyp zu, wobei die Gruppen die benachbarten Knoten aus beiden der zwei Untergraphen enthalten (in einem Schritt 1602). Der Prozess fasst die benachbarten Knoten eines selben Knotentyps in den Gruppen zu Clustern zusammen, um einen Satz von Clustern zu bilden, wobei ein Cluster in dem Satz von Clustern mindestens einen benachbarten Knoten aus jedem der beiden Untergraphen hat (in einem Schritt 1604).
  • Der Prozess wählt ein am besten übereinstimmendes Knotenpaar von benachbarten Knoten für jedes Cluster durch Verwenden eines Hausdorff-Abstands aus, um einen Satz von am besten übereinstimmenden Knotenpaaren von benachbarten Knoten für den Satz von Clustern zu bilden (in einem Schritt 1606). In diesem Beispiel hat ein am besten übereinstimmendes Knotenpaar in dem Satz von am besten übereinstimmenden Knotenpaaren einen benachbarten Knoten aus jedem der beiden Untergraphen.
  • Der Prozess bestimmt einen Gesamtabstand zwischen den beiden Mittelknoten durch Verwenden der beiden Mittelknoten und des Satzes von am besten übereinstimmenden Knotenpaaren der benachbarten Knoten (in einem Schritt 1608). Im Schritt 1608 berücksichtigt der Gesamtabstand zwischen den beiden Mittelknoten den Satz der am besten übereinstimmenden Knotenpaare für die beiden Mittelknoten. Der Prozess bestimmt, ob eine Übereinstimmung zwischen den beiden Mittelknoten auf Grundlage des Gesamtabstands zwischen den beiden Mittelknoten vorhanden ist (in einem Schritt 1610). Danach endet der Prozess.
  • In 17 wird ein Ablaufplan eines Prozesses zum Zuweisen von benachbarten Knoten zu Gruppen gemäß einer veranschaulichten Ausführungsform dargestellt. Der Prozess in dieser Figur ist ein Beispiel für eine Umsetzung des Schritts 1602 in 16.
  • Der Prozess beginnt mit einem Platzieren von benachbarten Knoten aus jedem Untergraphen von zwei Untergraphen in anfänglichen Gruppen auf Grundlage eines Knotentyps für die benachbarten Knoten (in einem Schritt 1700). Der Prozess wählt jede anfängliche Gruppe in den anfänglichen Gruppen aus, die die benachbarten Knoten aus beiden der zwei Untergraphen hat, um die Gruppen zu bilden (in einem Schritt 1702). Danach endet der Prozess.
  • Unter folgender Bezugnahme auf 18 wird ein Ablaufplan eines Prozesses zum Auswählen eines am besten übereinstimmenden Knotenpaars von benachbarten Knoten für jedes Cluster gemäß einer veranschaulichten Ausführungsform dargestellt. Der Prozess in dieser Figur ist ein Beispiel für eine Umsetzung des Schritts 1604 in 16.
  • Der Prozess beginnt mit einem Bestimmen von Nachbarabständen für benachbarte Knoten, die in einem Cluster verglichen werden, auf Grundlage der benachbarten Knoten, die verglichen werden, von Verknüpfungen für die benachbarten Knoten, die verglichen werden, und von Tiefen für die benachbarten Knoten, die verglichen werden (in einem Schritt 1800). Der Prozess identifiziert ein am besten übereinstimmendes Knotenpaar für jedes Cluster in dem Satz von Clustern als zwei Knoten in dem Cluster mit einem kürzesten Nachbarabstand, um einen Satz von am besten übereinstimmenden Knotenpaaren für den Satz von Clustern zu bilden (in einem Schritt 1802). Danach endet der Prozess.
  • Unter folgender Bezugnahme auf 19 wird ein Ablaufplan eines Prozesses zum Generieren eines Funktionsvektors gemäß einer veranschaulichten Ausführungsform dargestellt. Der Prozess in 19 kann in Hardware, Software oder beidem umgesetzt werden. Bei einer Umsetzung in Software kann der Prozess die Form von Programmcode annehmen, der von einer oder mehreren Prozessoreinheiten ausgeführt wird, die sich in einer oder mehreren Hardware-Einheiten in einem oder mehreren Computersystemen befindet bzw. befinden. Der Prozess kann in der Datenverwaltung 96 in 2 umgesetzt werden. In dem veranschaulichten Beispiel kann der Prozess in dem Informationsmanager 330 in dem Netzwerk-Datenverarbeitungssystem 300 in 3 und in dem Informationsmanager 412 in dem Computersystem 410 in 4 umgesetzt werden.
  • Der Prozess beginnt mit einem Bestimmen von Vergleichsmerkmalen für zwei Mittelknoten (in einem Schritt 1900). Im Schritt 1900 ist ein Merkmal eine Eigenschaft von Interesse, die in Informationen vorhanden ist, die zwischen den beiden Mittelknoten verglichen werden. Der Prozess bestimmt dann einen Vergleichs-Merkmalsvektor für die Vergleichsmerkmale (in einem Schritt 1902). Im Schritt 1902 identifiziert jedes Element in dem Vergleichs-Merkmalsvektor die Anzahl von Vorkommen für ein bestimmtes Merkmal.
  • Zum Beispiel können beim Vergleichen der Namen in dem Mittelknoten die Merkmale von Interesse für den Vergleich von Namen [ein exakter Name, ein ähnlicher Name, eine weggelassener Name, ein einmaliger Name] sein. Beim Vergleichen von „John Smith Jr.“ mit „Johnny Smith“ für diese Merkmale ist eine Anzahl von 1 für die Elemente des Vergleichs-Merkmalsvektor für den exakten Namen [Smith, Smith] vorhanden. Das zweite Merkmal, der ähnliche Name, ist mit [John, Johnny] vorhanden. Das dritte Merkmal, der weggelassene Name, ist in Bezug auf eine Unterscheidung [Jr., none] vorhanden. Das vierte Merkmal einer Einmaligkeit ist 0, da Übereinstimmungen vorhanden sind. Infolgedessen lautet der Vergleichs-Merkmalsvektor in diesem Beispiel fv = [1, 1, 0].
  • Der Prozess bestimmt dann Abstandsmerkmale für Cluster, die für die Mittelknoten identifiziert wurden (in einem Schritt 1904). Im Schritt 1904 beruhen die Merkmale auf dem geringsten Abstand in einem Cluster von benachbarten Knoten. Mit anderen Worten, die Merkmale beruhen auf dem Abstand, der zwischen den beiden benachbarten Knoten in einem am besten übereinstimmenden Knotenpaar bestimmt wurde. Der Prozess generiert einen Abstands-Merkmalsvektor aus den Abstandsmerkmalen (in einem Schritt 1906). Jedes Element in dem Abstands-Merkmalsvektor gibt eine Anzahl von Vorkommen für ein bestimmtes Merkmal an. Ein Merkmal kann ein Schwellenwert oder Bereich eines Abstands zwischen den benachbarten Knoten sein.
  • Zum Beispiel können Abstandsmerkmale [distance_less_than_0,3, distance_between_0,3_0,7 und distance_larger_than_0,7] sein. In diesem Beispiel sind drei Abstandsmerkmale vorhanden, und der Abstands-Merkmalsvektor gibt eine Anzahl an, wie viele Knoten für jedes der bestimmten Merkmale vorhanden sind.
  • Der Prozess generiert dann einen Merkmalsvektor, der die Vergleichsmerkmal in dem Vergleichs-Merkmalsvektor und die Abstandsmerkmale in dem Abstands-Merkmalsvektor aufweist (in einem Schritt 1108). Danach endet der Prozess. Dieser Merkmalsvektor kann in einem Ansatz zum Bestimmen des Gesamtabstands zwischen den Mittelknoten verwendet werden.
  • Unter folgender Bezugnahme auf 20 wird ein Ablaufplan eines Prozesses zum Abgleichen von Mittelknoten gemäß einer veranschaulichten Ausführungsform dargestellt. Der Prozess in 20 kann in Hardware, Software oder beidem umgesetzt werden. Bei einer Umsetzung in Software kann der Prozess die Form von Programmcode annehmen, der von einer oder mehreren Prozessoreinheiten ausgeführt wird, die sich in einer oder mehreren Hardware-Einheiten in einem oder mehreren Computersystemen befindet bzw. befinden. Der Prozess kann in der Datenverwaltung 96 in 2 umgesetzt werden. In dem veranschaulichten Beispiel kann der Prozess in dem Informationsmanager 330 in dem Netzwerk-Datenverarbeitungssystem 300 in 3 oder in dem Informationsmanager 412 in dem Computersystem 410 in 4 umgesetzt werden. Der Prozess in diesem Schritt kann verwendet werden, um den Schritt 908 in 9 umzusetzen.
  • Dieser Prozess ähnelt den Schritten, die im Ablaufplan in 10 durchgeführt wurden. In einem veranschaulichten Beispiel ist ein Erstellen eines Satzes von Clustern ein optionaler Schritt.
  • Der Prozess beginnt mit einem Identifizieren eines ersten Mittelknotens in einem ersten Untergraphen und eines zweiten Mittelknoten in einem zweiten Untergraphen (in einem Schritt 2000). Der Prozess identifiziert Gruppen von benachbarten Knoten, die die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen haben, wobei eine Gruppe der benachbarten Knoten in den Gruppen der benachbarten Knoten die benachbarten Knoten mit einem selben Knotentyp hat (in einem Schritt 2002).
  • Der Prozess identifiziert ein am besten übereinstimmendes Knotenpaar der benachbartem Knoten in jeder Gruppe von benachbarten Knoten, um einen Satz von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern zu bilden (in einem Schritt 2004). Im Schritt 2004 weisen die benachbarten Knoten in jedem am besten übereinstimmenden Knotenpaar einen ersten benachbarten Knoten aus dem ersten Untergraphen und einen zweiten benachbarten Knoten aus dem zweiten Untergraphen auf.
  • Der Prozess bestimmt, ob der erste Mittelknoten und der zweite Mittelknoten auf Grundlage eines Gesamtabstands zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten übereinstimmen, wozu der erste Mittelknoten, der zweite Mittelknoten und der Satz von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern verwendet wird (in einem Schritt 2006). Danach endet der Prozess.
  • Die Ablaufpläne und Blockschaubilder in den verschiedenen dargestellten Ausführungsformen veranschaulichen die Architektur, Funktionalität und Funktionsweise von einigen möglichen Umsetzungen von Vorrichtungen und Verfahren in einer veranschaulichten Ausführungsform. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern mindestens ein Modul, ein Segment, eine Funktion und/oder einen Abschnitt einer Operation oder eines Schritts darstellen. Zum Beispiel kann ein Block bzw. können mehrere der Blöcke als Programmcode, Hardware oder eine Kombination des Programmcodes und der Hardware umgesetzt werden. Bei einer Umsetzung in Hardware kann die Hardware zum Beispiel die Form von integrierten Schaltungen annehmen, die hergestellt oder konfiguriert werden, um eine oder mehrere Operationen in den Ablaufplänen oder Blockschaubildern durchzuführen. Bei einer Umsetzung als eine Kombination von Programmcode und Hardware kann die Umsetzung die Form von Firmware annehmen. Jeder Block in den Ablaufplänen oder den Blockschaubildern kann durch Verwenden von Sonderzweck-Hardwaresystemen, die die verschiedenen Operationen durchführen, oder von Kombinationen aus Sonderzweck-Hardware und Programmcode umgesetzt werden, der von der Sonderzweck-Hardware ausgeführt wird.
  • In einigen alternativen Umsetzungen einer veranschaulichten Ausführungsform kann bzw. können die in den Blöcken angegebene Funktion bzw. angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt auftreten. Zum Beispiel können in einigen Fällen zwei nacheinander gezeigte Blöcke im Wesentlichen parallel durchgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge durchgeführt werden, was von der beteiligten Funktionalität abhängt. Des Weiteren können andere Blöcke zusätzlich zu den in einem Ablaufplan oder Blockschaubild veranschaulichten Blöcken hinzugefügt werden.
  • Unter folgender Bezugnahme auf 21 wird ein Blockschaubild eines Datenverarbeitungssystems gemäß einer veranschaulichten Ausführungsform dargestellt. Ein Datenverarbeitungssystem 2100 kann verwendet werden, um die Cloud-Computing-Knoten 10 in 1 und Hardware-Komponenten in der Hardware- und Software-Schicht 60 in 2 umzusetzen. Das Datenverarbeitungssystem 2100 kann auch verwendet werden, um den Server-Computer 304, den Server-Computer 306 und die Client-Einheiten 310 in 3 umzusetzen. Das Datenverarbeitungssystem 2100 kann auch zum Umsetzen des Computersystems 410 in 4 verwendet werden. In diesem veranschaulichten Beispiel umfasst das Datenverarbeitungssystem 2100 ein Datenübertragungs-Framework 2102, das Datenübertragungen zwischen einer Prozessoreinheit 2104, einem Arbeitsspeicher 2106, einem permanenten Speicher 2108, einer Datenübertragungseinheit 2110, einer Eingabe/Ausgabe- (E/A) Einheit 2112 und einer Anzeige 2114 bereitstellt. In diesem Beispiel liegt das Datenübertragungs-Framework 2102 in Form eines Bussystems vor.
  • Die Prozessoreinheit 2104 dient zum Ausführen von Anweisungen für Software, die in den Arbeitsspeicher 2106 geladen werden kann. Die Prozessoreinheit 2104 umfasst einen oder mehrere Prozessoren. Zum Beispiel kann die Prozessoreinheit 2104 aus mindestens einem Mehrkern-Prozessor, einer Zentraleinheit (CPU), einer Grafikverarbeitungseinheit (GPU), einer Physikbeschleuniger- (PPU) Einheit, einem Digitalsignalprozessor (DSP), einem Netzwerkprozessor und/oder irgendeinem anderen geeigneten Prozessortyp ausgewählt werden. Ferner kann die Prozessoreinheit 2104 durch Verwenden von einem oder mehreren heterogenen Prozessorsystemen umgesetzt werden, in dem bzw. in denen ein Hauptprozessor mit sekundären Prozessoren auf einem einzelnen Chip vorhanden ist. Als weiteres veranschaulichtes Beispiel kann die Prozessoreinheit 2104 ein symmetrisches Multiprozessorsystem sein, das mehrere Prozessoren desselben Typs auf einem einzelnen Chip enthält.
  • Der Arbeitsspeicher 2106 und der permanente Speicher 2108 sind Beispiele für Speichereinheiten 2116. Eine Speichereinheit ist jedes Element von Hardware, das fähig ist, Informationen zu speichern, wie zum Beispiel ohne Einschränkung mindestens Daten, Programmcode in funktionaler Form und/oder andere geeignete Informationen entweder auf temporärer Grundlage, auf permanenter Grundlage oder sowohl auf einer temporären Grundlage und einer permanenten Grundlage. Die Speichereinheiten 2116 können in diesen veranschaulichten Beispielen auch als durch einen Computer lesbare Speichereinheiten bezeichnet werden. Der Arbeitsspeicher 2106 kann beispielsweise in diesen Beispielen ein Direktzugriffsspeicher oder jede andere geeignete flüchtige oder nicht flüchtige Speichereinheit sein. Der permanente Speicher 2108 kann abhängig von der jeweiligen Umsetzung verschiedene Formen annehmen.
  • Zum Beispiel kann der permanente Speicher 2108 eine oder mehrere Komponenten oder Einheiten enthalten. Zum Beispiel kann der permanente Speicher 2108 eine Festplatte, eine Solid-State-Einheit (SSD), ein Flash-Speicher, ein wiederbeschreibbares optisches Plattenlaufwerk, ein wiederbeschreibbares Magnetband oder eine beliebige Kombination des Vorgenannten sein. Die von dem permanenten Speicher 2108 verwendeten Medien können auch entfernbar sein. Zum Beispiel kann eine entfernbare Festplatte für den permanenten Speicher 2108 verwendet werden.
  • Die Datenübertragungseinheit 2110 stellt in diesen veranschaulichten Beispielen Datenübertragungen mit anderen Datenverarbeitungssystemen oder-einheiten bereit. In diesen veranschaulichten Beispielen ist die Datenübertragungseinheit 2110 eine Netzwerk-Schnittstellenkarte.
  • Eine E/A-Einheit 2112 ermöglicht die Eingabe und Ausgabe von Daten mit anderen Einheiten, die mit dem Datenverarbeitungssystem 2100 verbunden sein können. Zum Beispiel kann die Eingabe/Ausgabe-Einheit 2112 eine Verbindung für eine Benutzereingabe mindestens über eine Tastatur, eine Maus und/oder irgendeine andere geeignete Eingabeeinheit bereitstellen. Ferner kann die Eingabe/Ausgabe-Einheit 2112 Ausgaben an einen Drucker senden. Die Anzeige 2114 stellt einen Mechanismus zum Anzeigen von Informationen für einen Benutzer bereit.
  • Anweisungen für mindestens das Betriebssystem, Anwendungen und/oder Programme können sich in den Speichereinheiten 2116 befinden, die über das Datenübertragungs-Framework 2102 in Datenaustausch mit der Prozessoreinheit 2104 stehen. Die Prozesse der verschiedenen Ausführungsformen können von der Prozessoreinheit 2104 durch Verwenden von durch einen Computer umgesetzten Anweisungen durchgeführt werden, die sich in einem Arbeitsspeicher wie beispielsweise dem Arbeitsspeicher 2106 befinden können.
  • Diese Anweisungen sind Programmanweisungen und werden auch als Programmcode, durch einen Computer verwendbarer Programmcode oder durch einen Computer lesbarer Programmcode bezeichnet, der durch einen Prozessor in der Prozessoreinheit 2104 gelesen und ausgeführt werden kann. Der Programmcode in den verschiedenen Ausführungsformen kann auf verschiedenen physischen oder durch einen Computer lesbaren Speichermedien verkörpert sein, wie zum Beispiel auf dem Arbeitsspeicher 2106 oder dem permanenten Speicher 2108.
  • Ein Programmcode 2118 befindet sich in einer funktionalen Form auf durch einen Computer lesbaren Medien 2120, die selektiv entfernbar sind, und zur Ausführung durch die Prozessoreinheit 2104 auf das Datenverarbeitungssystem 2100 geladen oder übertragen werden können. Der Programmcode 2118 und die durch einen Computer lesbaren Medien 2120 bilden in diesen veranschaulichten Beispielen ein Computerprogrammprodukt 2122. In dem veranschaulichten Beispiel sind die durch einen Computer lesbaren Medien 2120 durch einen Computer lesbare Speichermedien 2124.
  • Die durch einen Computer lesbaren Speichermedien 2124 sind eine physische oder konkrete Speichereinheit, die zum Speichern von Programmcode 2118 verwendet wird, und kein Medium, das den Programmcode 2118 propagiert oder überträgt. Die durch einen Computer lesbaren Speichermedien 2124 sollen, wie hierin verwendet, nicht als flüchtige Signale per se aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Alternativ kann der Programmcode 2118 durch Verwenden von durch einen Computer lesbaren Signalmedien zu dem Datenverarbeitungssystem 2100 übertragen werden. Die durch einen Computer lesbaren Signalmedien können zum Beispiel ein propagiertes Datensignal sein, das den Programmcode 2118 enthält. Zum Beispiel können die durch einen Computer lesbaren Signalmedien ein elektromagnetisches Signal, ein optisches Signal oder irgendein anderer geeigneter Signaltyp sein. Diese Signale können über Verbindungen übertragen werden, wie zum Beispiel drahtlose Verbindungen, ein optisches Lichtwellenleiterkabel, ein Koaxialkabel, einen Draht oder irgendeinen anderen geeigneten Typ von Datenübertragungsverbindung.
  • Ferner, wie hierin verwendet, können die „durch einen Computer lesbaren Medien 2120“ in der Einzahl oder Mehrzahl verstanden werden. Zum Beispiel kann sich der Programmcode 2118 in den durch einen Computer lesbaren Medien 2120 in der Form einer einzelnen Speichereinheit oder eines Speichersystems befinden. In einem weiteren Beispiel kann sich der Programmcode 2118 in den durch einen Computer lesbaren Medien 2120 befinden, die in mehreren Datenverarbeitungssystemen verteilt sind. Mit anderen Worten, einige Anweisungen im Programmcode 2118 können sich in einem Datenverarbeitungssystem befinden, während sich andere Anweisungen im Programmcode 2118 in einem Datenverarbeitungssystemen befinden können. Zum Beispiel kann sich ein Abschnitt des Programmcodes 2118 in den durch einen Computer lesbaren Medien 2120 in einem Server-Computer befinden, während sich ein weiterer Abschnitt des Programmcodes 2118 in durch einen Computer lesbaren Medien 2120 befinden kann, die sich in einem Satz von Client-Computern befinden.
  • Die verschiedenen für das Datenverarbeitungssystem 2100 veranschaulichten Komponenten sind nicht als architekturbedingte Einschränkungen der Art und Weise aufzufassen, in der verschiedene Ausführungsformen umgesetzt werden können. In einigen veranschaulichten Beispielen können eine oder mehrere der Komponenten in einen Abschnitt einer weiteren Komponente integriert sein oder anderweitig einen Abschnitt davon bilden. Zum Beispiel kann der Arbeitsspeicher 2106 oder können Abschnitte davon in einigen veranschaulichten Beispielen in die Prozessoreinheit 2104 integriert sein. Die verschiedenen veranschaulichten Ausführungsformen können in einem Datenverarbeitungssystem umgesetzt werden, das Komponenten zusätzlich zu oder anstelle von denjenigen umfasst, die für das Datenverarbeitungssystem 2100 veranschaulicht sind. Andere in 21 gezeigte Komponenten können von den gezeigten veranschaulichten Beispielen abweichen. Die verschiedenen Ausführungsformen können durch Verwenden jeder Hardware-Einheit oder jedes Systems umgesetzt werden, die bzw. das fähig ist, den Programmcode 2118 auszuführen.
  • Somit stellen die veranschaulichten Beispiele ein durch einen Computer umgesetztes Verfahren, ein Computersystem und ein Computerprogrammprodukt zum Abgleichen von Informationen bereit. Ein erster Mittelknoten in einem ersten Untergraphen und ein zweiter Mittelknoten in einem zweiten Untergraphen werden durch ein Computersystem identifiziert. Gruppen von benachbarten Knoten, die die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen haben, werden durch das Computersystem identifiziert. Eine Gruppe der benachbarten Knoten in den Gruppen der benachbarten Knoten hat die benachbarten Knoten mit einem selben Knotentyp. Ein Satz von Clustern wird durch das Computersystem aus jeder Gruppe der benachbarten Knoten erstellt, sodass jedes Cluster in dem Satz von Clustern die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen hat. Ein am besten übereinstimmendes Knotenpaar der benachbarten Knoten wird durch das Computersystem in jedem Cluster in dem Satz von Clustern identifiziert, um einen Satz von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern zu bilden, wobei die benachbarten Knoten in dem am besten übereinstimmenden Knotenpaar einen ersten benachbarten Knoten aus dem ersten Untergraphen und einen zweiten benachbarten Knoten aus dem zweiten Untergraphen aufweisen. Ob der erste Mittelknoten und der zweite Mittelknoten auf Grundlage eines Gesamtabstands zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten durch Verwenden des ersten Mittelknotens, des zweiten Mittelknotens und des Satzes von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern übereinstimmen, wird durch das Computersystem bestimmt.
  • Somit können die verschiedenen veranschaulichten Ausführungsformen mindestens entweder den Zeitaufwand oder die Ressourcen reduzieren, die zum Bestimmen in Anspruch genommen werden, ob Teile der Informationen im Vergleich mit aktuellen Techniken, die Mittelknoten und die benachbarten Knoten in den Untergraphen für die Mittelknoten nicht vergleichen, übereinstimmen. Ferner können verschiedene veranschaulichte Beispiele auch die Genauigkeit in übereinstimmenden Teilen von Informationen in mindestens einem Abgleich erster Ordnung oder einem ersten Abgleich zweiter Ordnung erhöhen.
  • Die Beschreibung der verschiedenen veranschaulichten Ausführungsformen wurde zum Zweck der Veranschaulichung und Beschreibung erstellt, sie soll aber keineswegs erschöpfend oder auf die Ausführungsformen in der offenbarten Form eingeschränkt sein. Die verschiedenen veranschaulichten Beispiele beschreiben Komponenten, die Aktionen oder Operationen durchführen. In einer veranschaulichten Ausführungsform kann eine Komponente konfiguriert werden, um die beschriebene Aktion oder Operation durchzuführen. Zum Beispiel kann die Komponente eine Konfiguration oder Auslegung für eine Struktur haben, die die Komponente befähigt, die Aktion oder Operation durchzuführen, die in dem veranschaulichten Beispiel als von der Komponente durchgeführt beschrieben wird. In dem Ausmaß, in dem Begriffe wie „umfasst“, „umfassend“, „hat“, „enthält“ und Varianten davon hierin verwendet werden, sollen solche Begriffe ferner auf eine Weise inklusiv sein, die dem Begriff „weist auf“ als offenes Übergangswort ähnlich sind, ohne irgendwelche zusätzlichen oder anderen Elemente auszuschließen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zweck einer Veranschaulichung erstellt, sie sollen aber keineswegs erschöpfend oder auf die offenbarten Ausführungsformen eingeschränkt sein. Nicht alle Ausführungsformen umfassen sämtliche der in den veranschaulichten Beispielen beschriebenen Merkmale. Ferner können verschiedene veranschaulichte Ausführungsformen verschiedene Merkmale im Vergleich mit anderen veranschaulichten Ausführungsformen bereitstellen. Für Fachleute sind viele Modifizierungen und Variationen offenkundig, die nicht von dem Schutzumfang der beschriebenen Ausführungsform abweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsform, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt gefundenen Technologien bestmöglich zu erklären oder um anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.

Claims (25)

  1. Verfahren zum Abgleichen von Informationen, wobei das Verfahren aufweist: Identifizieren, durch ein Computersystem, eines ersten Mittelknotens in einem ersten Untergraphen und eines zweiten Mittelknotens in einem zweiten Untergraphen; Identifizieren, durch das Computersystem, von Gruppen von benachbarten Knoten mit den benachbarten Knoten sowohl aus dem ersten Untergraphen als auch dem zweiten Untergraphen, wobei eine Gruppe der benachbarten Knoten in den Gruppen der benachbarten Knoten die benachbarten Knoten mit einem selben Knotentyp hat; Identifizieren, durch das Computersystem, eines am besten übereinstimmenden Knotenpaars der benachbarten Knoten in jeder Gruppe der benachbarten Knoten, um einen Satz von am besten übereinstimmenden Knotenpaaren zu bilden, wobei jedes am besten übereinstimmende Knotenpaar einen ersten benachbarten Knoten aus dem ersten Untergraphen und einen zweiten benachbarten Knoten aus dem zweiten Untergraphen aufweist; und Bestimmen, durch das Computersystem, ob der erste Mittelknoten und der zweite Mittelknoten übereinstimmen, wozu der erste Mittelknoten, der zweite Mittelknoten und der Satz von am besten übereinstimmenden Knotenpaaren verwendet wird.
  2. Verfahren nach Anspruch 1, das ferner aufweist: Erstellen, durch das Computersystem, eines Satzes von Clustern aus jeder Gruppe der benachbarten Knoten, sodass jedes Cluster in dem Satz von Clustern die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch dem zweiten Untergraphen hat, wobei durch das Computersystem das am besten übereinstimmende Knotenpaar der benachbarten Knoten in jeder Gruppe der benachbarten Knoten identifiziert wird, um den Satz von am besten übereinstimmenden Knotenpaaren zu bilden, wobei die benachbarten Knoten in dem am besten übereinstimmenden Knotenpaar den ersten benachbarten Knoten aus dem ersten Untergraphen aufweisen und den zweiten benachbarten Knoten aus dem zweiten Untergraphen aufweisen: Identifizieren, durch das Computersystem, des am besten übereinstimmenden Knotenpaars der benachbarten Knoten in jedem Cluster in dem Satz von Clustern, um den Satz von am besten übereinstimmenden Knotenpaaren zu bilden, wobei jedes am besten übereinstimmende Knotenpaar den ersten benachbarten Knoten aus dem ersten Untergraphen und den zweiten benachbarten Knoten aus dem zweiten Untergraphen aufweist.
  3. Verfahren nach Anspruch 1, wobei ein Identifizieren, durch das Computersystem, der Gruppen der benachbarten Knoten für die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch dem zweiten Untergraphen, wobei die Gruppe der benachbarten Knoten in den Gruppen der benachbarten Knoten die benachbarten Knoten mit demselben Knotentyp hat, aufweist: Platzieren, durch das Computersystem, der benachbarten Knoten aus jedem Untergraphen in anfänglichen Gruppen auf Grundlage eines Knotentyps für die benachbarten Knoten; und Auswählen, durch das Computersystem, jeder anfänglichen Gruppe in den anfänglichen Gruppen, die die benachbarten Knoten sowohl aus einem des ersten Untergraphen der benachbarten Knoten als auch des zweiten Untergraphen der benachbarten Knoten hat, um die Gruppen der benachbarten Knoten mit den benachbarten Knoten sowohl aus dem ersten Untergraphen als auch dem zweiten Untergraphen zu bilden.
  4. Verfahren nach Anspruch 2, wobei ein Erstellen, durch das Computersystem, des Satzes von Clustern aus jeder Gruppe der benachbarten Knoten, sodass jedes Cluster in dem Satz von Clustern, das die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch dem zweiten Untergraphen hat, aufweist: Erstellen, durch das Computersystem, von Kandidaten-Clustern in jeder Gruppe der benachbarten Knoten in den Gruppen der benachbarten Knoten; und Auswählen, durch das Computersystem, jedes Clusters in den Kandidaten-Clustern, das benachbarte Knoten sowohl aus dem ersten Untergraphen der benachbarten Knoten als auch dem zweiten Untergraphen der benachbarten Knoten hat, um den Satz von Clustern zu bilden.
  5. Verfahren nach Anspruch 2, wobei das Identifizieren, durch das Computersystem, des am besten übereinstimmenden Knotenpaars in jedem Cluster in dem Satz von Clustern aufweist: Bestimmen, durch das Computersystem, von Nachbarabständen für die benachbartem Knoten, die verglichen werden, in einem Cluster auf Grundlage der benachbarten Knoten, die verglichen werden, von Verknüpfungen für die benachbarten Knoten, die verglichen werden, und von Tiefen für die benachbarten Knoten, die verglichen werden; und Identifizieren, durch das Computersystem, des am besten übereinstimmenden Knotenpaars für jedes Cluster in dem Satz von Clustern als zwei Knoten in dem Cluster, die einen kürzesten Nachbarabstand haben, um den Satz von am besten übereinstimmenden Knotenpaaren für den Satz von Clustern zu bilden.
  6. Verfahren nach Anspruch 5, wobei die Nachbarabstände für die benachbarten Knoten in dem Cluster auf Grundlage der benachbarten Knoten, die verglichen werden, Verknüpfungen (links) für die benachbarten Knoten, die verglichen werden, und Tiefen für die benachbarten Knoten, die verglichen werden, durch Verwenden von einer der folgenden Gleichungen berechnet werden: d ( x , y ) = e ( l o g ( 1 d i s t a n c   ( x , y ) ) + l o g ( 1 d i s t a n c   ( l i n k ( X ) , l i n k ( Y ) ) ) + l o g ( c o n s t d e p t h ( x , y ) ) )
    Figure DE112022000630T5_0008
    wobei ein Abstand (x, y) (distance (x, y)) ein Abstand zwischen einem Knoten x und einem Knoten y in dem Cluster ist, eine Tiefe (x, y) (depth (x, y)) eine durchschnittliche Tiefe einer ersten Tiefe für den Knoten x und einer zweiten Tiefe für den Knoten y ist, und const ein konstanter Wert ist, der größer als 0 und kleiner oder gleich 1 ist; und d ( x , y ) = 1 ( ( 1 d i s t a n c e ( x , y ) ) ( 1 d i s t a n c e ( l i n k x , l i n k Y ) ) c o n s t d e p t h )
    Figure DE112022000630T5_0009
    wobei der Abstand (x, y) der Abstand zwischen dem Knoten x und dem Knoten y in dem Cluster ist, die Tiefe (x, y) eine durchschnittliche Tiefe der ersten Tiefe für den Knoten x und der zweiten Tiefe für den Knoten y ist, und const der konstante Wert ist, der größer als 0 und kleiner oder gleich 1 ist.
  7. Verfahren nach Anspruch 2, wobei das Bestimmen, durch das Computersystem, ob der erste Mittelknoten und der zweite Mittelknoten übereinstimmen, durch Verwenden des ersten Mittelknotens, des zweiten Mittelknotens und des Satzes von am besten übereinstimmenden Knotenpaaren aufweist: Bestimmen, durch das Computersystem, eines Gesamtabstands (overall distance) zwischen dem ersten Mittelknoten (CenterNode) und dem zweiten Mittelknoten durch Verwenden des ersten Mittelknotens, des zweiten Mittelknotens und des Satzes von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern wie folgt: o v e r a l l   d i s t a n c e = 1 ( ( 1 d i s t a n c e ( C e n t e r N o d e 1 , C e n t e r N o d e 2 ) ) + n = 1 M ( 1 d H ( x , y ) ) ) M + 1
    Figure DE112022000630T5_0010
    wobei ein Abstand (CenterNode1, CenterNode2) ein Abstand zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten ist, dH(x, y) ein Abstand zwischen dem benachbarten Knoten x und dem benachbarten Knoten y in dem am besten übereinstimmenden Knotenpaar ist, und M eine Anzahl von Knotentypen mit einem am besten übereinstimmenden benachbarten Knotenpaar in den Gruppen ist; und Bestimmen, durch das Computersystem, ob der erste Mittelknoten und der zweite Mittelknoten auf Grundlage des Gesamtabstands übereinstimmen, der zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten berechnet wurde.
  8. Verfahren nach Anspruch 2, wobei das Bestimmen, durch das Computersystem, ob der erste Mittelknoten und der zweite Mittelknoten übereinstimmen, durch Verwenden des ersten Mittelknotens, des zweiten Mittelknotens und des Satzes von am besten übereinstimmenden Knotenpaaren aufweist: Vergleichen, durch das Computersystem, des ersten Mittelknotens und des zweiten Mittelknotens, um Merkmale eines Vergleiches für den ersten Mittelknoten und den zweiten Mittelknoten zu bestimmen; Bestimmen, durch das Computersystem, von Abstandsmerkmalen aus einem geringsten Abstand zwischen den benachbarten Knoten in jedem Cluster in dem Satz von Clustern; Bestimmen, durch das Computersystem, eines Gesamtabstands zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten durch Verwenden der Vergleichsmerkmale und der Abstandsmerkmale; und Bestimmen, durch das Computersystem, ob der Gesamtabstand innerhalb eines Schwellenwerts für den ersten Mittelknoten und den zweiten Mittelknoten liegt, um übereinzustimmen.
  9. Verfahren nach Anspruch 8, wobei der Gesamtabstand zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten wie folgt bestimmt wird: o v e r a l l   d i s t a n c e = max ( c v ) ( i = 0 n c v ( i ) f v ( i ) ) / ( i = 0 n f v ( i ) ) max ( c v ) min ( c v )
    Figure DE112022000630T5_0011
    wobei cv(i) ein Koeffizientenvektor ist, fv(i) ein Merkmalsvektor ist, der die Vergleichsmerkmale und die Abstandsmerkmale aufweist, max(cv) ein Element in dem Koeffizientenvektor mit einem maximalen Wert ist, min(cv) das Element in dem Koeffizientenvektor mit einem Mindestwert ist, i ein Indexwert ist, und n eine Anzahl von Elementen in dem Merkmalsvektor ist.
  10. Verfahren zum Abgleichen von Informationen, wobei das Verfahren aufweist: Zuweisen, durch ein Computersystem, von benachbarten Knoten von zwei Mittelknoten in zwei Untergraphen zu Gruppen nach einem Knotentyp, wobei die Gruppen benachbarte Knoten aus beiden der zwei Untergraphen aufweisen; Auswählen, durch das Computersystem, eines am besten übereinstimmenden Knotenpaars der benachbartem Knoten für jede Gruppe von benachbartem Knoten durch Verwenden eines Hausdorff-Abstands, um einen Satz von am besten übereinstimmenden Knotenpaaren der benachbarten Knoten für die Gruppe der benachbarten Knoten zu bilden, wobei das am besten übereinstimmende Knotenpaar in dem Satz von am besten übereinstimmenden Knotenpaaren einen benachbarten Knoten aus jedem der beiden Untergraphen hat; Bestimmen, durch das Computersystem, eines Gesamtabstands zwischen den beiden Mittelknoten durch Verwenden der beiden Mittelknoten und des Satzes von am besten übereinstimmenden Knotenpaaren der benachbarten Knoten, wobei der Gesamtabstand zwischen den beiden Mittelknoten den Satz von am besten übereinstimmenden Knotenpaaren für jeden der beiden Mittelknoten berücksichtigt; und Bestimmen, ob eine Übereinstimmung zwischen den beiden Mittelknoten auf Grundlage des Gesamtabstands zwischen den beiden Mittelknoten vorhanden ist.
  11. Verfahren nach Anspruch 10, das ferner aufweist: Bilden eines Clusters, durch das Computersystem, von benachbarten Knoten eines selben Knotentyps in den Gruppen, um einen Satz von Clustern zu bilden, wobei ein Cluster in dem Satz von Clustern mindestens einen benachbarten Knoten aus jedem der beiden Untergraphen hat; wobei ein Auswählen, durch das Computersystem, des am besten übereinstimmenden Knotenpaars der benachbartem Knoten für jede Gruppe der benachbartem Knoten durch Verwenden des Hausdorff-Abstands, um den Satz von am besten übereinstimmenden Knotenpaaren der benachbarten Knoten für die Gruppe der benachbarten Knoten zu bilden, wobei das am besten übereinstimmende Knotenpaar in dem Satz von am besten übereinstimmenden Knotenpaaren einen benachbarten Knoten aus jedem der beiden Untergraphen hat, aufweist; Auswählen, durch das Computersystem, des am besten übereinstimmenden Knotenpaars der benachbarten Knoten für jedes Cluster durch Verwenden des Hausdorff-Abstands, um den Satz von am besten übereinstimmenden Knotenpaaren der benachbarten Knoten für den Satz von Clustern zu bilden, wobei das am besten übereinstimmende Knotenpaar in dem Satz von am besten übereinstimmenden Knotenpaaren einen benachbarten Knoten aus jedem der beiden Untergraphen hat.
  12. Verfahren nach Anspruch 11, wobei das Zuweisen, durch das Computersystem, der benachbarten Knoten der beiden Mittelknoten in den beiden Untergraphen zu den Gruppen nach dem Knotentyp, wobei die Gruppen die benachbarten Knoten aus beiden der zwei Untergraphen enthalten, aufweist; Platzieren, durch das Computersystem, der benachbarten Knoten aus jedem Untergraphen der beiden Untergraphen in anfänglichen Gruppen auf Grundlage des Knotentyps für die benachbarten Knoten; und Auswählen, durch das Computersystem, jeder anfänglichen Gruppe in den anfänglichen Gruppen, die die benachbarten Knoten aus beiden der zwei Untergraphen hat.
  13. Informationsverwaltungssystem, das aufweist: ein Computersystem, das Programmanweisungen ausführt zum: Identifizieren eines ersten Mittelknotens in einem ersten Untergraphen und eines zweiten Mittelknotens in einem zweiten Untergraphen; Identifizieren von Gruppen von benachbarten Knoten, die die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen haben, wobei eine Gruppe der benachbarten Knoten in den Gruppen der benachbarten Knoten die benachbarten Knoten mit einem selben Knotentyp hat; Identifizieren eines am besten übereinstimmenden Knotenpaars der benachbarten Knoten in jeder Gruppe der benachbarten Knoten, um einen Satz von am besten übereinstimmenden Knotenpaaren zu bilden, wobei jedes am besten übereinstimmende Knotenpaar einen ersten benachbarten Knoten aus dem ersten Untergraphen und einen zweiten benachbarten Knoten aus dem zweiten Untergraphen aufweist; und Bestimmen, ob der erste Mittelknoten und der zweite Mittelknoten übereinstimmen, wozu der erste Mittelknoten, der zweite Mittelknoten und der Satz von am besten übereinstimmenden Knotenpaaren verwendet wird.
  14. Informationsverwaltungssystem nach Anspruch 13, wobei das Computersystem Programmanweisungen ausführt zum: Erstellen eines Satzes von Clustern aus jeder Gruppe der benachbarten Knoten, sodass jedes Cluster in dem Satz von Clustern die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen hat, wobei beim Identifizieren des am besten übereinstimmenden Knotenpaars der benachbarten Knoten in jeder Gruppe der benachbarten Knoten, um einen Satz von am besten übereinstimmenden Knotenpaaren zu bilden, wobei die benachbarten Knoten in dem am besten übereinstimmenden Knotenpaar den ersten benachbarten Knoten aus dem ersten Untergraphen und den zweiten benachbarten Knoten aus dem zweiten Untergraphen aufweisen, das Computersystem Programmanweisungen ausführt zum: Identifizieren des am besten übereinstimmenden Knotenpaars der benachbarten Knoten in jedem Cluster in dem Satz von Clustern, um den Satz von am besten übereinstimmenden Knotenpaaren zu bilden, wobei jedes am besten übereinstimmende Knotenpaar den ersten benachbarten Knoten aus dem ersten Untergraphen und den zweiten benachbarten Knoten aus dem zweiten Untergraphen aufweist.
  15. Informationsverwaltungssystem nach Anspruch 13, wobei beim Identifizieren der Gruppen der benachbarten Knoten, die die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen haben, wobei die Gruppe der benachbarten Knoten in den Gruppen der benachbarten Knoten die benachbarten Knoten mit demselben Knotentyp hat, das Computersystem die Programmanweisungen ausführt zum: Platzieren der benachbarten Knoten aus jedem Untergraphen in anfänglichen Gruppen auf Grundlage eines Knotentyps für die benachbarten Knoten; und Auswählen jeder anfänglichen Gruppe in den anfänglichen Gruppen, die die benachbarten Knoten sowohl aus einem des ersten Untergraphen der benachbarten Knoten als auch des zweiten Untergraphen der benachbarten Knoten hat, um die Gruppen der benachbarten Knoten mit den benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen zu bilden.
  16. Informationsverwaltungssystem nach Anspruch 14, wobei beim Erstellen des Satzes von Clustern aus jeder Gruppe der benachbarten Knoten, sodass jedes Cluster in dem Satz von Clustern die benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen hat, das Computersystem die Programmanweisungen ausführt zum: Erstellen von Kandidaten-Clustern in jeder Gruppe der benachbarten Knoten in den Gruppen der benachbarten Knoten; und Auswählen jedes Clusters in den Kandidaten-Clustern, das benachbarte Knoten sowohl aus dem ersten Untergraphen der benachbarten Knoten als auch aus dem zweiten Untergraphen der benachbarten Knoten hat, um den Satz von Clustern zu bilden.
  17. Informationsverwaltungssystem nach Anspruch 14, wobei beim Identifizieren des am besten übereinstimmenden Knotenpaars in jedem Cluster in dem Satz von Clustern das Computersystem die Programmanweisungen ausführt zum: Bestimmen von Nachbarabständen für die benachbartem Knoten, die verglichen werden, in einem Cluster auf Grundlage der benachbarten Knoten, die verglichen werden, von Verknüpfungen für die benachbarten Knoten, die verglichen werden, und von Tiefen für die benachbarten Knoten, die verglichen werden; und Identifizieren des am besten übereinstimmenden Knotenpaars für jedes Cluster in dem Satz von Clustern als zwei Knoten in dem Cluster mit einem kürzesten Nachbarabstand, um den Satz von am besten übereinstimmenden Knotenpaaren für den Satz von Clustern zu bilden.
  18. Informationsverwaltungssystem nach Anspruch 17, wobei die Nachbarabstände für die benachbarten Knoten in dem Cluster auf Grundlage der benachbarten Knoten, die verglichen werden, Verknüpfungen für die benachbarten Knoten, die verglichen werden, und Tiefen für die benachbarten Knoten, die verglichen werden, durch Verwenden von einer der folgenden Gleichungen berechnet werden: d ( x , y ) = e ( l o g ( 1 d i s t a n c   ( x , y ) ) + l o g ( 1 d i s t a n c e ( l i n k ( X ) , l i n k ( Y ) ) ) + l o g ( c o n s t d e p t   ( x , y ) ) )
    Figure DE112022000630T5_0012
    wobei ein Abstand (x, y) ein Abstand zwischen einem Knoten x und einem Knoten y in dem Cluster ist, eine Tiefe (x, y) eine durchschnittliche Tiefe einer ersten Tiefe für den Knoten x und einer zweiten Tiefe für den Knoten y ist, und const ein konstanter Wert ist, der größer als 0 und kleiner oder gleich 1 ist; und d ( x , y ) = 1 ( ( 1 d i s t a n c e ( x , y ) ) ( 1 d i s t a n c e ( l i n k x , l i n k Y ) ) c o n s t d e p t h )
    Figure DE112022000630T5_0013
    wobei der Abstand (x, y) der Abstand zwischen dem Knoten x und dem Knoten y in dem Cluster ist, die Tiefe (x, y) eine durchschnittliche Tiefe der ersten Tiefe für den Knoten x und der zweiten Tiefe für den Knoten y ist, und const der konstante Wert ist, der größer als 0 und kleiner oder gleich 1 ist.
  19. Informationsverwaltungssystem nach Anspruch 14, wobei beim Bestimmen, ob der erste Mittelknoten und der zweite Mittelknoten übereinstimmen, wozu der erste Mittelknoten, der zweite Mittelknoten und der Satz von am besten übereinstimmenden Knotenpaaren verwendet wird, das Computersystem die Programmanweisungen ausführt zum: Bestimmen eines Gesamtabstands zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten durch Verwenden des ersten Mittelknotens, des zweiten Mittelknotens und des Satzes von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern wie folgt: o v e r a l l   d i s t a n c e = 1 ( ( 1 d i s t a n c e ( C e n t e r N o d e 1 , C e n t e r N o d e 2 ) ) + n = 1 M ( 1 d H ( x , y ) ) ) M + 1
    Figure DE112022000630T5_0014
    wobei ein Abstand (CenterNode1, CenterNode2) ein Abstand zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten ist, dH(x, y) ein Abstand zwischen dem benachbarten Knoten x und dem benachbarten Knoten y in dem am besten übereinstimmenden Knotenpaar ist, und M eine Anzahl von Knotentypen mit einem am besten übereinstimmenden benachbarten Knotenpaar in den Gruppen ist; und Bestimmen, ob der erste Mittelknoten und der zweite Mittelknoten auf Grundlage des Gesamtabstands übereinstimmen, der zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten berechnet wurde.
  20. Informationsverwaltungssystem nach Anspruch 19, wobei beim Bestimmen, ob der erste Mittelknoten und der zweite Mittelknoten übereinstimmen, wozu der erste Mittelknoten, der zweite Mittelknoten und der Satz von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern verwendet wird, das Computersystem die Programmanweisungen ausführt zum: Vergleichen des ersten Mittelknotens und des zweiten Mittelknotens, um Vergleichsmerkmale für den ersten Mittelknoten und den zweiten Mittelknoten zu bestimmen; Bestimmen von Abstandsmerkmalen aus einem geringsten Abstand zwischen benachbarten Knoten in jedem Cluster in dem Satz von Clustern; Bestimmen des Gesamtabstands aus dem Abstand zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten durch Verwenden der Vergleichsmerkmale und der Abstandsmerkmale; und Bestimmen, ob der Gesamtabstand innerhalb eines Schwellenwerts für den ersten Mittelknoten und den zweiten Mittelknoten liegt, um übereinzustimmen.
  21. Informationsverwaltungssystem nach Anspruch 20, wobei der Gesamtabstand zwischen dem ersten Mittelknoten und dem zweiten Mittelknoten wie folgt bestimmt wird: o v e r a l l   d i s t a n c e = max ( c v ) ( i = 0 n c v ( i ) f v ( i ) ) / ( i = 0 n f v ( i ) ) max ( c v ) min ( c v )
    Figure DE112022000630T5_0015
    wobei cv(i) ein Koeffizientenvektor ist, fv(i) ein Merkmalsvektor ist, der die Vergleichsmerkmale und die Abstandsmerkmale aufweist, max(cv) ein Element in dem Koeffizientenvektor mit einem maximalen Wert ist, min(cv) das Element in dem Koeffizientenvektor mit einem Mindestwert ist, i ein Indexwert ist, und n eine Anzahl von Elementen in dem Merkmalsvektor ist.
  22. Informationsverwaltungssystem, das aufweist: ein Computersystem, das Programmanweisungen ausführt zum: Zuweisen von benachbarten Knoten von zwei Mittelknoten in zwei Untergraphen zu Gruppen nach einem Knotentyp, wobei die Gruppen die benachbarten Knoten aus beiden der zwei Untergraphen enthalten; Auswählen eines am besten übereinstimmenden Knotenpaars der benachbartem Knoten für jede Gruppe der benachbartem Knoten durch Verwenden eines Hausdorff-Abstands, um einen Satz von am besten übereinstimmenden Knotenpaaren der benachbarten Knoten für die Gruppe der benachbarten Knoten zu bilden, wobei das am besten übereinstimmende Knotenpaar in dem Satz von am besten übereinstimmenden Knotenpaaren einen benachbarten Knoten aus jedem der beiden Untergraphen hat; Bestimmen eines Gesamtabstands zwischen den beiden Mittelknoten durch Verwenden der beiden Mittelknoten und des Satzes von am besten übereinstimmenden Knotenpaaren der benachbarten Knoten, wobei der Gesamtabstand zwischen den beiden Mittelknoten den Satz von am besten übereinstimmenden Knotenpaaren für jeden der beiden Mittelknoten berücksichtigt; und Bestimmen, ob eine Übereinstimmung zwischen den beiden Mittelknoten auf Grundlage des Gesamtabstands zwischen den beiden Mittelknoten vorhanden ist.
  23. Informationsverwaltungssystem nach Anspruch 22, wobei das Computersystem die Programmanweisungen ausführt zum: Bilden eines Clusters der benachbarten Knoten eines selben Knotentyps in den Gruppen, um einen Satz von Clustern zu bilden, wobei ein Cluster in dem Satz von Clustern mindestens einen benachbarten Knoten aus jedem der beiden Untergraphen hat, wobei ein Auswählen des am besten übereinstimmenden Knotenpaars der benachbartem Knoten für jede Gruppe der benachbartem Knoten durch Verwenden des Hausdorff-Abstands, um den Satz von am besten übereinstimmenden Knotenpaaren für die Gruppe der benachbarten Knoten zu bilden, wobei das am besten übereinstimmende Knotenpaar in dem Satz von am besten übereinstimmenden Knotenpaaren einen benachbarten Knoten aus jedem der beiden Untergraphen hat, das Computersystem die Programmanweisungen ausführt zum: Auswählen des am besten übereinstimmenden Knotenpaars der benachbarten Knoten für jedes Cluster durch Verwenden des Hausdorff-Abstands, um den Satz von am besten übereinstimmenden Knotenpaaren der benachbarten Knoten für den Satz von Clustern zu bilden, wobei das am besten übereinstimmende Knotenpaar in dem Satz von am besten übereinstimmenden Knotenpaaren einen benachbarten Knoten aus jedem der beiden Untergraphen hat.
  24. Informationsverwaltungssystem nach Anspruch 22, wobei beim Zuweisen der benachbarten Knoten der beiden Mittelknoten in den beiden Untergraphen zu den Gruppen nach dem Knotentyp, wobei die Gruppen die benachbarten Knoten aus beiden der zwei Untergraphen enthalten, das Computersystem die Programmanweisungen ausführt zum: Platzieren der benachbarten Knoten aus jedem Untergraphen der beiden Untergraphen in anfänglichen Gruppen auf Grundlage des Knotentyps für die benachbarten Knoten; und Auswählen jeder anfänglichen Gruppe in den anfänglichen Gruppen, die die benachbarten Knoten aus beiden der zwei Untergraphen hat.
  25. Computerprogrammprodukt zum Abgleichen von Informationen, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen aufweist, wobei die Programmanweisungen durch ein Computersystem ausführbar sind, um den Computer zu veranlassen, ein Verfahren durchzuführen, das aufweist: Identifizieren, durch das Computersystem, eines ersten Mittelknotens in einem ersten Untergraphen und eines zweiten Mittelknotens in einem zweiten Untergraphen; Identifizieren, durch das Computersystem, von Gruppen von benachbarten Knoten mit den benachbarten Knoten sowohl aus dem ersten Untergraphen als auch aus dem zweiten Untergraphen, wobei eine Gruppe der benachbarten Knoten in den Gruppen der benachbarten Knoten die benachbarten Knoten mit einem selben Knotentyp hat; Identifizieren, durch das Computersystem, eines am besten übereinstimmenden Knotenpaars der benachbarten Knoten in jeder Gruppe der benachbarten Knoten, um einen Satz von am besten übereinstimmenden Knotenpaaren in dem Satz von Clustern zu bilden, wobei die benachbarten Knoten in dem am besten übereinstimmende Knotenpaar einen ersten benachbarten Knoten aus dem ersten Untergraphen und einen zweiten benachbarten Knoten aus dem zweiten Untergraphen aufweisen; und Bestimmen, durch das Computersystem, ob der erste Mittelknoten und der zweite Mittelknoten übereinstimmen, wozu der erste Mittelknoten, der zweite Mittelknoten und der Satz von am besten übereinstimmenden Knotenpaaren verwendet wird.
DE112022000630.7T 2021-01-13 2022-01-11 Abgleichen von informationen durch verwenden von untergraphen Pending DE112022000630T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/148,412 2021-01-13
US17/148,412 US20220222543A1 (en) 2021-01-13 2021-01-13 Information Matching Using Subgraphs
PCT/CN2022/071202 WO2022152103A1 (en) 2021-01-13 2022-01-11 Information matching using subgraphs

Publications (1)

Publication Number Publication Date
DE112022000630T5 true DE112022000630T5 (de) 2023-11-09

Family

ID=82322879

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022000630.7T Pending DE112022000630T5 (de) 2021-01-13 2022-01-11 Abgleichen von informationen durch verwenden von untergraphen

Country Status (8)

Country Link
US (1) US20220222543A1 (de)
JP (1) JP2024503444A (de)
KR (1) KR20230125229A (de)
CN (1) CN116806337A (de)
AU (1) AU2022208873B2 (de)
DE (1) DE112022000630T5 (de)
GB (1) GB2617996A (de)
WO (1) WO2022152103A1 (de)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661482A (zh) * 2008-08-27 2010-03-03 国际商业机器公司 在网络中识别相似子图的方法和设备
US20170337293A1 (en) * 2016-05-18 2017-11-23 Sisense Ltd. System and method of rendering multi-variant graphs
CN109788013B (zh) * 2017-11-14 2022-02-25 阿里巴巴集团控股有限公司 分布式系统中作业资源分配方法、装置及设备
CN109947565B (zh) * 2019-03-08 2021-10-15 北京百度网讯科技有限公司 用于分配计算任务的方法和装置
CN111460234B (zh) * 2020-03-26 2023-06-09 平安科技(深圳)有限公司 图查询方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
GB202311465D0 (en) 2023-09-06
GB2617996A (en) 2023-10-25
US20220222543A1 (en) 2022-07-14
JP2024503444A (ja) 2024-01-25
CN116806337A (zh) 2023-09-26
WO2022152103A1 (en) 2022-07-21
AU2022208873A1 (en) 2023-07-27
AU2022208873B2 (en) 2023-11-16
KR20230125229A (ko) 2023-08-29

Similar Documents

Publication Publication Date Title
DE112020003820T5 (de) Erkennung von Anomalien und Abweichungen unter Verwendung eines domänenindizierten Einschränkungs-Repository
DE112019003405T5 (de) Automatische feinabstimmungsvorrichtung für einbettungen von cloud-mikrodiensten
DE112019003042B4 (de) Erkennung von verdächtigen aktivitäten in computernetzwerken
DE112021004197T5 (de) Semantisches Lernen in einem System für ein föderiertes Lernen
DE112020002110T5 (de) Ressourcenarme entitätsauflösung mit transfer learning
DE112018005167T5 (de) Aktualisieren von trainingsdaten
DE112018005725T5 (de) Daten-deidentifikation auf der grundlage eines erkennens von zulässigen konfigurationen für daten-deidentifikationsprozesse
DE112021001986T5 (de) Verfahren und System zum Verarbeiten von Datenaufzeichnungen
DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
DE112021005422T5 (de) Auf lernen beruhende arbeitslast-ressourcenoptimierung für datenbank-managementsysteme
DE112021002572T5 (de) Multikriterielles optimieren von anwendungen
DE112020000554T5 (de) Verfahren zum zugreifen auf datensätze eines stammdatenverwaltungssystems
DE112021004061T5 (de) Datenqualitätsanalyse in echtzeit
DE112021000338B4 (de) Auslagern der statistikerfassung
DE112021003908T5 (de) Föderales maschinenlernen durch verwenden von ortsabhängigem hashing
DE112021003262T5 (de) Erkennen von quelldatensätzen, die zu einem transferlernverfahren für eine zieldomäne passen
DE112020000545T5 (de) Deep-forest-modell-entwicklung und -training
DE112021001163T5 (de) Dynamisches erstellen von facetten unter verwendung von graphpartitionierung
DE112021000627T5 (de) Dynamische erkennung und korrektur von datenqualitätsproblemen
DE112021000689T5 (de) Attestierung von neuronalen abläufen
DE102021123578A1 (de) Messen der datenqualität von daten in einer graphendatenbank
DE112021004092T5 (de) Effiziente datenqualitätsanalyse in echtzeit
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE112018005424T5 (de) Automatisches Verbinden von externen Daten mit einem Geschäftsanalyseprozess
DE112021001743T5 (de) Vektoreinbettungsmodelle für relationale tabellen mit null- oder äquivalenten werten

Legal Events

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