DE112019004387T5 - Unterteilen eines wissensgraphen - Google Patents

Unterteilen eines wissensgraphen Download PDF

Info

Publication number
DE112019004387T5
DE112019004387T5 DE112019004387.0T DE112019004387T DE112019004387T5 DE 112019004387 T5 DE112019004387 T5 DE 112019004387T5 DE 112019004387 T DE112019004387 T DE 112019004387T DE 112019004387 T5 DE112019004387 T5 DE 112019004387T5
Authority
DE
Germany
Prior art keywords
cluster
edges
knowledge graph
predefined
core
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
DE112019004387.0T
Other languages
English (en)
Inventor
Tim Scheideler
Erik Rueger
Stefan Ravizza
Frederik Floether
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.)
Kyndryl Inc
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 DE112019004387T5 publication Critical patent/DE112019004387T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ein Verfahren zum Unterteilen eines Wissensgraphen wird bereitgestellt. Das Verfahren analysiert vergangene Suchvorgänge und ermittelt eine Zugriffshäufigkeit auf eine Mehrzahl von Kanten. Das Verfahren markiert Kanten mit den höchsten Zugriffshäufigkeiten als Zwischen-Cluster-Kerne, ordnet die markierten Zwischen-Cluster-Kerne gemäß ihrer Zugriffshäufigkeiten und wählt einen ersten Cluster-Kern mit der höchsten Zugriffshäufigkeit aus. Das Verfahren weist erste Kanten in einem ersten Radius um den ersten Cluster-Kern herum zu, um den ersten Cluster zu erstellen. Das Verfahren wählt einen zweiten Cluster-Kern aus, der abgesehen von Kanten des ersten Clusters die höchste Zugriffshäufigkeit aufweist, und weist zweite Kanten in einem zweiten Radius um den zweiten Cluster-Kern herum zu, um den zweiten Cluster zu erstellen. Das Verfahren unterteilt den Wissensgraphen in einen ersten Teilwissensgraphen, der den ersten Cluster aufweist, und einen zweiten Teilwissensgraphen, der den zweiten Cluster aufweist.

Description

  • HINTERGRUND
  • Die vorliegende Offenbarung bezieht sich allgemein auf ein Verfahren zum Unterteilen eines Wissensgraphen und genauer gesagt auf ein auf einem Computer implementiertes Verfahren zum Unterteilen eines Wissensgraphen, der eine Mehrzahl von Knoten und Kanten aufweist. Die vorliegende Offenbarung bezieht sich des Weiteren auf ein verwandtes System zum Unterteilen eines Wissensgraphen und auf ein Com puterprogra m m produ kt.
  • In der kognitiven Datenverarbeitung werden Wissensgraphen dazu verwendet, Informationen zu speichern und zu verarbeiten. Ein Wissensgraph besteht aus Fakten (die aus verschiedenen Quellen gesammelt werden), die an den Ecken oder Knoten eines Netzes gespeichert sind, und Kanten, die auch als Verknüpfungen bekannt sind, die die Beziehung zwischen dem Fakt, den Knoten, den Ecken speichern. Die Kanten können zugehörige Attribute aufweisen, die die Art und/oder die Intensität der Beziehung beschreiben.
  • Die erste und herausragendste Operation, die im Hinblick auf Datenverarbeitungsoperationen auf Wissensgraphen durchgeführt werden, sind die Suchoperationen. Das Konzept des Parallelisierens von Suchvorgängen in Graphen ist in der Forschung weithin untersucht worden. Der herkömmliche Parallelisierungsansatz zum Suchen in einem Wissensgraphen beruht auf dem Aufteilen von Suchprozessen, wenn eine bestimmte Bedingung erfüllt ist (z.B. wenn eine ausreichende Anzahl von Kanten an dem aktuellen Punkt des Suchpfads ihren Ursprung hat). Bei einem Ausführen von gleichzeitig ablaufenden Threads muss ein Überqueren/Zusammenführen von Suchpfaden gesteuert werden, und der Parallelisierungsaufwand darf den Gewinn an Leistungsfähigkeit nicht überwiegen.
  • Dieser Ansatz zur Parallelisierung einer Suchanforderung berücksichtigt jedoch keine Ergebnisse früherer Suchvorgänge. Jede Suche wird unabhängig voneinander mithilfe eines statischen Algorithmus durchgeführt. Der Algorithmus berücksichtigt nicht die spezifische Struktur des Wissensgraphen, auf dem die Suche durchgeführt wird.
  • Statt Regeln zum Aufteilen der Prozesse in Teilprozesse zu definieren, die auf der Gesamtheit des Wissensgraphen ausgeführt werden, wird ein alternativer Ansatz gewünscht, um die Leistungsfähigkeit und die Genauigkeit zu erhöhen.
  • Es sind mehrere Offenbarungen in Bezug auf ein auf einem Computer implementiertes Verfahren zum Unterteilen eines Wissensgraphen vorhanden.
  • Das Dokument US 2018/0 052 884 A1 offenbart eine Verarbeitung von natürlichsprachlichen Benutzereingaben in eine formalere, durch eine Maschine lesbare, strukturierte Abfragedarstellung, die zum Erstellen einer Artikelempfehlung verwendet wird. Analysen von Benutzereingaben werden über einen Wissensgraphen koordiniert, der aus Kategorien, Attributen und Attributwerten aufgebaut ist, die relativ häufig auftretende frühere Interaktionen verschiedener Benutzer mit einem elektronischen Markt beschreiben. Der Wissensgraph weist gerichtete Kanten mit jeweils einem Bewertungswert, der auf den bedingten Wahrscheinlichkeiten der Interaktion von Kategorien/Attributen/Attributwerten basiert, die aus den Verhaltensmustern des Benutzers berechnet werden, Assoziationen zwischen Benutzeranfragen und strukturierten Daten, die auf historischen Verhaltensmustern von Käufern auf dem Markt basieren, Metadaten von Artikeln, die von Verkäufern zum Kauf angeboten werden, die verwendet werden, um die Anforderungen von Käufern besser zu definieren, und/oder Weltwissen über Wetter, Standorte/Orte, Anlässe und erhaltene Artikel, die auf bestandsbezogene Daten abgebildet werden, auf, um relevante Aufforderungen für weitere Benutzereingaben zu erzeugen.
  • Das Dokument US 2018/0 144 424 A1 beschreibt Verfahren und Systeme zum Abfragen mehrerer auf das Gesundheitswesen bezogener Wissensgraphen. Das Verfahren enthält ein Empfangen eines Satzes von auf das Gesundheitswesen bezogenen Antwortteilgraphen von einer Mehrzahl von auf das Gesundheitswesen bezogenen Wissensgraphen auf Grundlage der Abfrage auf Grundlage eines Schüsselwortes. Teilgraphen werden in eine Rangfolge gebracht, und neue Teilgraphen werden erzeugt.
  • Ein Nachteil bekannter Lösungen kann in dem Umstand bestehen, dass die vorgeschlagenen Verfahren mehr oder weniger statisch sind, domänenspezifisch sind und/oder ihnen eine Parallelität für solche Aktivitäten fehlt.
  • KURZDARSTELLUNG
  • Gemäß einem Aspekt der vorliegenden Offenbarung kann ein auf einem Computer implementiertes Verfahren zum Unterteilen eines Wissensgraphen bereitgestellt werden. Der Wissensgraph kann eine Mehrzahl von Knoten und eine Mehrzahl von Kanten aufweisen, wobei die Kanten ausgewählte der Knoten verknüpfen können. Das Verfahren kann ein Analysieren eines Satzes von vergangenen Suchvorgängen und darauf beruhend ein Ermitteln einer Zugriffshäufigkeit auf jede der Mehrzahl von Kanten in dem Wissensgraphen und ein Markieren eines vordefinierten Prozentsatzes von Kanten, die die höchsten Zugriffshäufigkeiten in dem Wissensgraphen aufweisen, als Zwischen-Cluster-Kerne aufweisen.
  • Das Verfahren kann des Weiteren ein Ordnen der markierten Zwischen-Cluster-Kerne - d.h. hinsichtlich der Kanten - gemäß ihrer Zugriffshäufigkeiten, ein Auswählen desjenigen als ersten Cluster-Kern des Zwischen-Cluster-Kerns, der die höchste Zugriffshäufigkeit aufweist, und ein Zuweisen von ersten Kanten in einem vordefinierten ersten Radius um den ersten Cluster-Kern herum aufweisen, wobei der erste Cluster-Kern und die ersten Kanten den ersten Cluster erstellen.
  • Zusätzlich kann das Verfahren ein Auswählen desjenigen als zweiten Cluster-Kern der Zwischen-Cluster-Kerne, der abgesehen von den Kanten des ersten Clusters die höchste Zugriffshäufigkeit aufweist, und ein Zuweisen von zweiten Kanten in einem vordefinierten zweiten Radius um den zweiten Cluster-Kern herum, wobei der zweite Cluster-Kern und die zweiten Kanten den zweiten Cluster erstellen, und ein Unterteilen des Wissensgraphen in einen ersten Teilwissensgraphen, der den ersten Cluster aufweist, und einen zweiten Teilwissensgraphen aufweisen, der den zweiten Cluster aufweist.
  • Gemäß einem weiteren Aspekt der vorliegenden Offenbarung kann ein System zum Unterteilen eines Wissensgraphen bereitgestellt werden. Der Wissensgraph kann eine Mehrzahl von Knoten und eine Mehrzahl von Kanten aufweisen, wobei die Kanten ausgewählte der Knoten verknüpfen können. Das System kann eine Analyseeinheit, die zum Analysieren eines Satzes von vergangenen Suchvorgängen und darauf beruhend zum Ermitteln einer Zugriffshäufigkeit auf jede der Mehrzahl von Kanten in dem Wissensgraphen gestaltet ist, eine Markierungseinheit, die zum Markieren eines vordefinierten Prozentsatzes von Kanten, die die höchsten Zugriffshäufigkeiten in dem Wissensgraphen aufweisen, als Zwischen-Cluster-Kerne gestaltet ist, und ein Ordnungsmodul aufweisen, das die markierten Zwischen-Cluster-Kerne gemäß ihrer Zugriffshäufigkeiten ordnet.
  • Zusätzlich kann das System eine Auswahleinheit aufweisen, die zum Auswählen desjenigen als ersten Cluster-Kern des Zwischen-Cluster-Kerns, der die höchste Zugriffshäufigkeit aufweist, und zum Zuweisen von ersten Kanten in einem vordefinierten ersten Radius um den ersten Cluster-Kern herum gestaltet ist, wobei der erste Cluster-Kern und die ersten Kanten den ersten Cluster erstellen. Die Auswahleinheit kann darüber hinaus zum Auswählen desjenigen als zweiten Cluster-Kern der Zwischen-Cluster-Kerne, der abgesehen von den Kanten des ersten Clusters die höchste Zugriffshäufigkeit aufweist, und zum Zuweisen von zweiten Kanten in einem vordefinierten zweiten Radius um den zweiten Cluster-Kern herum gestaltet sein. Der zweite Cluster-Kern und die zweiten Kanten können den zweiten Cluster erstellen.
  • Des Weiteren kann das System ein Unterteilungsmodul aufweisen, das zum Unterteilen des Wissensgraphen in einen ersten Teilwissensgraphen, der den ersten Cluster aufweist, und einen zweiten Teilwissensgraphen gestaltet ist, der den zweiten Cluster aufweist.
  • Das vorgeschlagene auf einem Computer implementierte Verfahren zum Unterteilen eines Wissensgraphen kann mehrere Vorteile und technische Auswirkungen bieten:
  • Durch (logisches) Trennen eines großen und komplexen Wissensgraphen in Teilwissensgraphen oder Teilgraphen können solche Prozesse schneller ausgeführt werden, was zu einer kürzeren Antwortzeit auf Benutzeranfragen führt. Statt mehrere Suchprozesse in demselben großen Wissensgraphen zu starten - wie es bei bekannten Technologien der Fall ist - können lokale Suchmaschinen von einer globalen Suchmaschine verzweigt werden, die eine Suchanforderung empfangen hat. Die lokalen Suchmaschinen können in erster Linie mithilfe nur eines der logisch getrennten Teilgraphen ausgeführt werden. Dies kann die Anforderung zum Verwalten von Interaktionen zwischen den verschiedenen Suchprozessen auf einem einzelnen Wissensgraphen verringern. Darüber hinaus kann es auch möglich sein, in den verschiedenen Teilgraphen nach verschiedenen Themen zu suchen. Wenn ein Suchpfad die Grenze eines Teilgraphen, d.h., eines Clusters, erreicht, kann der Suchprozess der lokalen Suchmaschine des Weiteren an eine parallele lokale Suchmaschine übergeben werden, die an den sonstigen Teilgraphen funktionsfähig ist. Dies kann den Aufwand zum Pflegen eines Konfliktbehandlungsmechanismus verringern, wenn parallele Suchmaschinen auf dem einzelnen großen Wissensgraphen arbeiten.
  • Nach dem Unterteilen des Wissensgraphen können die einzelnen Teilgraphen leichter in einen konsistenten Zustand gebracht werden (d.h., alle Operationen in der Warteschlange werden festgeschrieben); danach kann der gesamte Wissensgraph z.B. für ein leichteres Archivieren in einen konsistenten Zustand versetzt werden. Dies kann einen effizienteren Ansatz zum Sichern und Archivieren eines Teilgraphen statt des gesamten Wissensgraphen ermöglichen. Darüber hinaus kann eine größere Leistungsfähigkeit für Aktualisierungs(d.h., Schreib)-Operationen erzielt werden, die ebenfalls einen Warteschlangen-Festschreibungszyklus erfordern können, wenn sie unabhängig auf Teilgraphen durchgeführt werden, statt sie auf dem gesamten Wissensgraphen durchzuführen.
  • Im Folgenden werden zusätzliche Ausführungsformen des erfinderischen Konzepts beschrieben.
  • Gemäß einer Ausführungsform weist das Verfahren ein iteratives Auswählen von zusätzlichen Zwischen-Cluster-Kernen, die abgesehen von den Kanten der bereits erstellten Cluster (z.B. zuvor ausgewählte Cluster) jeweils die höchste Zugriffshäufigkeit aufweisen, und ein Zuweisen jeweiliger Kanten in einem jeweiligen vordefinierten Radius um jeden der zusätzlichen Zwischen-Cluster-Kerne herum auf, wobei jede(r) der zusätzlichen Zwischen-Cluster-Kerne und die jeweiligen Kanten einen weiteren Cluster erstellen. Daher kann das vorgeschlagene Konzept leicht erweiterbar sein, um den ursprünglichen gesamten Wissensgraphen in eine Mehrzahl von Teilwissensgraphen oder Wissensteilgraphen aufzuteilen oder zu unterteilen.
  • Gemäß einer möglichen Ausführungsform des Verfahrens können der erste Radius, der zweite Radius und der jeweilige Radius jeweils eine vordefinierte Pfadlänge um den jeweiligen Cluster-Kern herum sein. In dieser Version kann ein mehr oder weniger radialer und symmetrischer Schutzbereich für sonstige Cluster-Kerne erzeugt werden.
  • Gemäß einer Ausführungsform des Verfahrens können der erste Radius, der zweite Radius und der jeweilige Radius jeweils der vordefinierte Pfadlängenwert einer Summe von invertierten Werten der Zugriffshäufigkeiten auf die Kanten sein. Ein solcher Ansatz kann in Bereichen, die häufiger von Suchvorgängen durchlaufen werden, mehr Kanten daran hindern, zu einem weiteren Cluster-Kern zu werden. Auf diese Weise kann der Cluster entlang der häufigen Suchpfade ausgebildet werden, statt kreisförmig zu sein, und somit eine Leistungsfähigkeit für spätere Suchanforderungen erhöhen.
  • Gemäß einer Ausführungsform kann das Verfahren darüber hinaus für jede Kante - zusätzlich zu sonstigen Attributen und Attributwerten jeder Kante - ein Führen eines Zugriffszählerwerts aufweisen, der jedes Mal inkrementiert werden kann, wenn ein Suchpfad die Kante durchläuft. Ein weiteres Attribut für jeden Mittelwert kann ein geführter Bewertungswert sein, der die Zugriffshäufigkeit eines die jeweilige Kante durchlaufenden Suchpfades darstellt. Ein Aufteilen des Zählers und der Bewertung mag überflüssig erscheinen; dies kann jedoch einen erheblichen Vorteil haben, da die jüngsten Suchvorgänge stärker betont werden können.
  • Gemäß einer weiteren vorteilhaften Ausführungsform kann das Verfahren auch ein Aktualisieren des Bewertungswerts auf einer zeitlich regelmäßigen Grundlage auf dem Zugriffszählerwert beruhend und ein Zurücksetzen des Zugriffszählerwerts auf null aufweisen. Dieses Verfahren kann eine Bewertung anwenden, die den jüngsten Suchpfaddurchläufen durch die Kante mehr Gewicht und früheren Suchpfaddurchläufen weniger Gewicht verleiht. Als Beispiel kann die neue Bewertung als aktuelle Bewertung dividiert durch zwei und der aktuelle Zähler dividiert durch zwei berechnet werden. Auf diese Weise trägt der aktuelle Zählerstand mit 50 % bei, der Zählerstand der vorherigen Periode trägt mit 25 % bei, der Zählerstand der vorvorherigen Periode trägt mit 12,5 % bei usw. Damit ist eine dynamisch adaptive Reaktion auf solche Anforderungen in dem Wissensgraphen unkompliziert zu implementieren.
  • Gemäß einer zweckmäßigen Ausführungsform des Verfahrens kann das Unterteilen des Wissensgraphen darüber hinaus ein Ermitteln eines kürzesten Pfades zwischen zwei angrenzenden Cluster-Kernen (z.B. Cluster-Kernen von zwei angrenzenden Clustern), wobei der kürzeste Pfad der Pfad mit der niedrigsten Summe von Zugriffshäufigkeiten auf die jeweiligen Kanten entlang des jeweiligen Pfades ist, ein Markieren der Kante mit der niedrigsten Zugriffshäufigkeit auf dem ermittelten kürzesten Pfad als Trennstelle - die als zusätzliches Attribut einer Kante übergeben werden kann - zwischen den angrenzenden Clustern (z.B. zwei angrenzenden Clustern, die den zwei angrenzenden Cluster-Kernen entsprechen), und ein Wiederholen des Schritts des Ermittelns eines kürzesten Pfades und des Schritts des Markierens der Kante als Trennstelle aufweisen, bis kein Pfad zwischen den angrenzenden Clustern mehr vorhanden ist, der frei von Kanten ist, die die Trennstellenmarkierung aufweisen. Auf diese Weise können zwei Teilgraphen auf vergleichsweise einfache Weise voneinander getrennt werden. Es stellt darüber hinaus eine dynamische Möglichkeit zum Trennen von Teilgraphen dar, da die tatsächliche Zugriffshäufigkeit von vergangenen Suchvorgängen widergespiegelt werden kann, statt einen statischen Ansatz zum Unterteilen eines Wissensgraphen zu verwenden.
  • Gemäß einer nachfolgenden vorteilhaften Ausführungsform kann das Verfahren darüber hinaus aufweisen
    beim Empfangen einer neuen Suchanforderung - d.h., nach dem Unterteilen - an den Wissensgraphen Zuweisen einer lokalen Suchmaschine zu jedem der Teilwissensgraphen, Übergeben der neuen Suchanforderung an jede der den Teilwissensgraphen zugewiesenen lokalen Suchmaschinen, und
    paralleles Durchführen der neuen Suchanforderungen in den Teilwissensgraphen durch die lokalen Suchmaschinen. Der Verwendungsalgorithmus darf möglicherweise einen beliebigen Startpunkt für die Suche in den jeweiligen Teilwissensgraphen wählen. Es können jedoch spezielle Regeln angewendet werden, um einen am besten geeigneten Startpunkt für die Suchvorgänge in den Teilgraphen zu wählen.
  • Gemäß einer weiteren und nachfolgenden vorteilhaften Ausführungsform kann das Verfahren auch ein Starten der neuen Suchanforderung in jedem der jeweiligen Teilwissensgraphen an einem mit dem jeweiligen Cluster-Kern verknüpften Kern aufweisen. Dies kann die Leistungsfähigkeit der Suchprozesse in den Teilgraphen und dementsprechend der anfänglich empfangenen Suchanforderung verbessern, da die Wahrscheinlichkeit, einen schnellen Treffer in einem der Knoten zu erzielen, die der Mitte der Teilgraphen am nächsten liegen, d.h., der jeweiligen Cluster-Mitte, die in der Vergangenheit eine hohe Zugriffshäufigkeit aufgewiesen hat, überproportional hoch sein kann.
  • Gemäß einer weiteren vorteilhaften Ausführungsform kann das Verfahren darüber hinaus ein Übergeben eines Such-Threads einer lokalen Suchmaschine von der lokalen Suchmaschine an eine weitere lokale Suchmaschine in einem weiteren Teilwissensgraphen aufweisen, wenn der jeweilige Suchpfad eine Grenze des Teilwissensgraphen überquert. Auf diese Weise kann die Parallelität von Suchprozessen der lokalen Suchmaschinen fortgesetzt werden, auch wenn ein Suchpfad eine Grenze zwischen den unterteilten Teilgraphen durchläuft. Dies ist möglich, weil die zugehörigen Kanten nicht wirklich entfernt, sondern nur als Trennstellen markiert worden sind.
  • Ausführungsformen können des Weiteren die Form eines verwandten Computerprogrammprodukts annehmen, auf das von einem durch einen Computer verwendbaren oder durch einen Computer lesbaren Medium zugegriffen werden kann, das Programmcode zur Verwendung durch oder in Verbindung mit einem Computer oder einem beliebigen Anweisungsausführungssystem bereitstellt. Im Sinne dieser Beschreibung kann ein durch einen Computer verwendbares oder durch einen Computer lesbares Medium eine beliebige Vorrichtung sein, die Mittel zum Speichern, Austauschen von Daten, Verbreiten oder Transportieren des Programms zur Verwendung durch das System, die Vorrichtung oder die Einheit zur Anweisungsausführung oder in Verbindung mit diesen enthalten kann.
  • Figurenliste
  • Es ist zu beachten, dass Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf verschiedene Gegenstände beschrieben werden. Im Besonderen werden einige Ausführungsformen unter Bezugnahme auf Ansprüche des Verfahrenstyps beschrieben, wohingegen andere Ausführungsformen unter Bezugnahme auf Ansprüche des Vorrichtungstyps beschrieben werden. Ein Fachmann wird jedoch dem Vorstehenden und der folgenden Beschreibung entnehmen, dass, sofern nichts anderes angegeben wird, zusätzlich zu einer beliebigen Kombination von Merkmalen, die zu einem Gegenstandstyp gehören, auch eine beliebige Kombination von Merkmalen, die sich auf unterschiedliche Gegenstände beziehen, im Besonderen aus Merkmalen der Ansprüche vom Verfahrenstyp und Merkmalen der Ansprüche vom Vorrichtungstyp, als in diesem Dokument offenbart betrachtet wird.
  • Die oben definierten Aspekte und weitere Aspekte der vorliegenden Offenbarung sind aus den Beispielen für Ausführungsformen ersichtlich, die im Folgenden zu beschreiben sind und unter Bezugnahme auf die Beispiele von Ausführungsformen erläutert werden, auf die die vorliegende Offenbarung jedoch nicht beschränkt ist.
  • Einige Ausführungsformen der vorliegenden Offenbarung werden lediglich als Beispiel und unter Bezugnahme auf die folgenden Zeichnungen beschrieben:
    • 1 stellt ein Blockschaubild einer Ausführungsform des erfinderischen auf einem Computer implementierten Verfahrens zum Unterteilen eines Wissensgraphen dar.
    • 2 stellt ein Blockschaubild einer Ausführungsform eines Abschnitts des Wissensgraphen mit einem Cluster-Kern dar.
    • 3 stellt ein Blockschaubild einer Ausführungsform eines Wissensgraphen in einem ersten Schritt eines Unterteilens von Teilgraphen dar.
    • 4 stellt ein Blockschaubild einer Ausführungsform eines Wissensgraphen in einem zweiten Schritt eines Unterteilens von Teilgraphen dar.
    • 5 stellt ein Blockschaubild einer Ausführungsform eines Wissensgraphen in einem dritten Schritt eines Unterteilens von Teilgraphen dar.
    • 6 stellt ein Blockschaubild einer Ausführungsform eines Wissensgraphen in einem vierten und fünften Schritt eines Unterteilens von Teilgraphen dar.
    • 7 stellt ein Blockschaubild einer Ausführungsform des offenbarten Systems zum Unterteilen eines Wissensgraphen dar.
    • 8 stellt ein Blockschaubild einer Ausführungsform eines Datenverarbeitungssystems dar, das das System gemäß 7 aufweist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Im Zusammenhang mit dieser Beschreibung können die folgenden Konventionen, Begriffe und/oder Ausdrücke verwendet werden:
  • Der Begriff „Wissensgraph‟ kann eine vernetzte Datenstruktur bezeichnen, die Fakten - dargestellt in Knoten - und Kanten - aufweist, die Verbindungen oder Verknüpfungen zwischen den Knoten darstellen. Auf diese Weise kann der Wissensgraph eine Wissensbasis für eine Organisation von sogenannten unstrukturierten Daten, d.h., Fakten, und deren semantischen Beziehungen darstellen. Wissensgraphen werden häufig durch Suchmaschinen verwendet. Die Kanten können durch zugehörige Attribute charakterisiert werden, die z.B. die Stärke einer Verknüpfung zwischen zwei verbundenen Knoten beschreiben. Sonstige Attribute wie Zugriffszähler usw. können ebenfalls verwendet werden. Die Kanten und die Knoten können mithilfe von eindeutigen Kennungen (identifiers, ID) verwaltet werden.
  • Der Begriff „Unterteilen eines Wissensgraphen‟ kann eine Aktivität eines Trennens eines ursprünglich vollständigen Wissensgraphen in zumindest zwei oder mehr typischerweise nicht überlappende Teilwissensgraphen bezeichnen. Die Trennung soll jedoch eine logische Trennung oder eine virtuelle Trennung in dem Sinne sein, dass die jeweiligen Kanten nicht vollständig von dem ursprünglich vollständigen Wissensgraphen entfernt werden. Die jeweiligen Kanten der Trennung werden jedoch als eine Trennstelle als zusätzliches Attribut des Mittelwertes aufweisend markiert. Auf diese Weise kann der Suchalgorithmus während seines Suchprozesses von Knoten zu Knoten über die jeweiligen Kanten die logischen Ränder oder Grenzen der Teilgraphen überqueren. Das Ergebnis eines Unterteilens eines Wissensgraphen kann als Teilwissensgraph oder kurz als Teilgraph bezeichnet werden.
  • Folglich handelt es sich bei einem Teilgraphen um einen Satz von Knoten, die (logisch oder virtuell) von dem gesamten oder ursprünglichen Wissensgraphen getrennt sind. Der Teilgraph weist sämtliche Kanten auf, die mit den Knoten verbunden sind, darunter auch die Kanten, die durch das oben erwähnte Unterteilungsverfahren „logisch entfernt“ worden sind (d.h., eine A-Stelle aufweisen).
  • Der Begriff „vergangene Suchvorgänge‟ kann Informationen über Suchpfade des Wissensgraphen für eine Vielfalt unterschiedlicher Suchanforderungen in der Vergangenheit bezeichnen. Die jeweiligen Informationen können Informationen wie zum Beispiel einen Startpunkt, d.h., einen Startknoten des Suchprozesses, die Kanten, auf die für das Endergebnis zugegriffen wird, und letztendlich auch eine Verarbeitungszeit zum Ausführen der Anforderung und Liefern eines Ergebnisses aufweisen.
  • Der Begriff „Zugriffshäufigkeit‟ - insbesondere eine Zugriffshäufigkeit auf eine Kante - kann eine Anzahl von Zugriffen eines Suchprozesses auf eine bestimmte Kante während einer Mehrzahl von Suchprozessen in einem Wissensgraphen bezeichnen. Somit kann die Zugriffshäufigkeit als Synonym für die Zugriffsanzahl verwendet werden. Jedes Mal, wenn eine Kante von einem Suchprozess durchlaufen wird, wird ein zugehöriger Zugriffszähler um 1 erhöht. Das Attribut Zugriffshäufigkeit auf eine Kante kann also tatsächlich durch einen Zugriffszählerwert dargestellt werden.
  • Der Begriff „Zwischen-Cluster-Kerne‟ kann eine Mehrzahl von Kanten in einem Wissensgraphen bezeichnen, für die - nach einer Analyse - die höchsten Zugriffshäufigkeiten auf die jeweiligen Kanten ermittelt worden sind. Da die Zugriffshäufigkeit auf jede Kante in dem Wissensgraphen protokolliert wird - z.B. als zusätzliches Attribut der Kante - kann sie leicht ermittelbar sein. Alle Kanten sind diejenigen, die die höchste Zugriffshäufigkeit aufweisen. Ein vordefinierter Prozentsatz der Kanten - z.B. die obersten 5 % (sonstige Prozentzahlen sind möglich) in der nach der Zugriffshäufigkeit geordneten Liste von Kanten - kann dann als Zwischen-Cluster-Kerne definiert werden. Es kann zweckmäßig sein, auf diese Weise eine deutlich höhere Anzahl von Zwischen-Cluster-Kernen zu erzeugen, als die Anzahl von Clustern, in die der vollständige Wissensgraph unterteilt werden sollte.
  • Der Begriff „erster Cluster-Kern‟ kann den Zwischen-Cluster-Kern bezeichnen, der von allen Zwischen-Cluster-Kernen die höchste Anzahl von Zugriffshäufigkeiten aufweist. Wenn zwei Kanten dieselbe Anzahl von Zugriffshäufigkeiten zeigen, kann ein Zufallsprozess entscheiden, welche der beiden Kanten als erster Cluster-Kern ausgewählt werden kann.
  • Der Begriff „zweiter Cluster-Kern‟ kann die Kante bezeichnen, die die zweithöchste Zugriffshäufigkeit in der Liste der Zwischen-Cluster-Kerne aufweist. Dies ist aber möglicherweise nur dann der Fall, wenn die Kante mit der zweithöchsten Zugriffshäufigkeit nicht in der Schutzzone um den ersten Cluster-Kern herum liegt, d.h., innerhalb des Radius um den ersten Cluster-Kern herum. Der zweite Cluster-Kern kann jedoch als die Kante ausgewählt werden, die die höchste Zugriffshäufigkeit abgesehen von den Elementen des ersten Teilgraphen aufweist, d.h., dem ersten Cluster-Kern und allen Knoten innerhalb des Radius um den ersten Cluster-Kern herum.
  • Der Begriff ,Radius' kann einen vordefinierten oder dynamisch ermittelten physikalischen oder logischen Radius um einen Cluster-Kern herum bezeichnen.
  • Der Begriff „Zugriffszählerwert‟ kann ein Attribut einer Kante bezeichnen, das jedes Mal erhöht werden kann, wenn ein Suchprozess die spezifische Kante während einer Ausführung einer Suchanforderung verwenden darf.
  • Der Begriff „Bewertungswert‟ kann einen Messwert für einen Zugriffszählerwert bezeichnen, der auch die Zeit als zusätzlichen Parameter widerspiegelt. Der Bewertungswert kann auch als zusätzliches Attribut einer Kante implementiert sein. Der Bewertungswert kann einen als „front-loaded“ bezeichneten Zugriffszählerwert in dem Sinne darstellen, dass die jüngeren Zugriffe auf die Kante höher gewichtet werden können.
  • Der Begriff „kürzester Pfad‟ kann eine Kombination von Knoten und Kanten bezeichnen, die die kürzeste Anzahl von Sprüngen von einem Quellknoten zu einem Zielknoten darstellt. Als Teil der Ermittlung der Anzahl von Sprüngen kann auch ein Gewichtungsfaktor der Kanten (und/oder der Knoten) in der Zählung widergespiegelt werden. Bei dem hier verwendeten Gewichtungsfaktor kann es sich um die Zugriffshäufigkeit auf eine Kante handeln. Folglich kann der kürzeste Pfad zwischen einem Quellknoten und einem Zielknoten als Summe der Zugriffshäufigkeit eines langen Pfades definiert sein.
  • Der Begriff „Trennstelle‟ kann ein Attribut einer Kante bezeichnen, das logisch markiert, dass eine Kante oder eine Verknüpfung von einem Knoten zu dem anderen virtuell getrennt oder entfernt worden ist. Die Trennstelle markiert im Grunde die äußere Grenze eines Teilgraphen.
  • Der Begriff neue Suchanforderung‟ kann eine Suchanforderung nach einem Unterteilen des Wissensgraphen in die Teilgraphen bezeichnen.
  • Der Begriff lokale Suchmaschine‟ kann einen Prozess - im rechnerischen Sinne - bezeichnen, der eine Suchanforderung in einem Teilgraphen ausführt. Die Teilgraphen können das Ergebnis des hier offenbarten Unterteilungsprozesses sein.
  • Der Begriff „Überlappungszone‟ eines Teilgraphen kann den Satz aller Knoten bezeichnen, die auf einem Pfad erreicht werden können, der höchstens aus einer vordefinierten Anzahl von k Kanten besteht, und die selbst nicht Teil des Teilgraphen sind. Ein bestimmter Knoten kann sich innerhalb mehrerer Überlappungszonen befinden.
  • Es folgt eine ausführliche Beschreibung der Figuren. Alle Anweisungen in den Figuren sind schematisch. Zuerst wird ein Blockschaubild einer Ausführungsform des erfinderischen auf einem Computer implementierten Verfahrens zum Unterteilen eines Wissensgraphen angeführt. Anschließend werden weitere Ausführungsformen sowie Ausführungsformen des Systems zum Unterteilen eines Wissensgraphen beschrieben.
  • 1 stellt ein Blockschaubild einer Ausführungsform des auf einem Computer implementierten Verfahrens 100 zum Unterteilen eines Wissensgraphen dar. Der Wissensgraph weist eine Mehrzahl von Knoten und eine Mehrzahl von Kanten auf, wobei die Kanten ausgewählte der Knoten verknüpfen. Die Kanten können eine Mehrzahl von Attributen aufweisen, und die Knoten können Fakten aufweisen.
  • Das Verfahren 100 weist ein Analysieren, 102, eines Satzes vergangener Suchvorgänge und darauf beruhend ein Ermitteln, 104, einer Zugriffshäufigkeit auf jede der Mehrzahl von Kanten in dem Wissensgraphen auf. Suchvorgänge in dem Wissensgraphen können von verschiedenen Knoten aus gestartet sein; grundsätzlich werden die Suchpfade im Hinblick auf ihre Zugriffshäufigkeit, d.h., den Zugriffszählerwert, während der Suchvorgänge analysiert.
  • Das Verfahren 100 weist ein Markieren, 106, eines vordefinierten Prozentsatzes - z.B. 5 %-von Kanten (nicht von Knoten) mit den höchsten Zugriffshäufigkeiten in dem Wissensgraphen als Zwischen-Cluster-Kerne, ein Ordnen, 108 - im Besonderen mithilfe einer Liste - der markierten Zwischen-Cluster-Kerne, d.h., der Kanten, gemäß ihrer Zugriffshäufigkeiten und ein Auswählen, 110, desjenigen mit der höchsten Zugriffshäufigkeit als ersten Cluster-Kern des Zwischen-Cluster-Kerns und ein Zuweisen, 112, von ersten Kanten in einem vordefinierten ersten Radius um den ersten Cluster-Kern herum auf, wobei der erste Cluster-Kern und die ersten Kanten den ersten Cluster erstellen. Für die Angabe des Radius können verschiedene Ansätze verwendet werden.
  • Des Weiteren weist das Verfahren 100 ein Auswählen, 114, desjenigen als zweiten Cluster-Kern der Zwischen-Cluster-Kerne, der abgesehen von den Kanten des ersten Clusters die höchste Zugriffshäufigkeit aufweist, und ein Zuweisen, 116, von zweiten Kanten in einem vordefinierten zweiten Radius um den zweiten Cluster-Kern herum, wobei der zweite Cluster-Kern und die zweiten Kanten den zweiten Cluster erstellen, und ein Unterteilen, 118, des Wissensgraphen in einen ersten Teilwissensgraphen, der den ersten Cluster aufweist, und einen zweiten Teilwissensgraphen auf, der den zweiten Cluster aufweist.
  • 2 stellt ein Blockschaubild einer Ausführungsform eines Abschnitts eines Wissensgraphen 200 mit einem Cluster-Kern dar. Im Besonderen wird eine beispielhafte Verteilung von Suchpfadhäufigkeiten über einen Satz von Kanten aus vergangenen Suchvorgängen dargestellt. Die Knoten von Ecken werden als kreisförmige Elemente dargestellt, von denen einige ein Bezugszeichen (z.B. 202, 204, 206, 208) aufweisen. Die Figur dient als Beispiel für die beiden Szenarien: Erstens startet eine Suche von dem Knoten 202 aus, der mit dem Punkt markiert ist. Zweitens startet eine Suche außerhalb des in der Figur dargestellten Satzes von Knoten, und die Suchpfade durchlaufen die in der Figur dargestellten Knoten. Die gepunkteten Linien geben Kanten zu sonstigen Ecken an, die in der Figur nicht dargestellt sind.
  • Die Verknüpfungen, d.h., die Kanten zwischen den Knoten werden als Geraden dargestellt. Die Zahlen neben den Kanten stellen beispielhafte Suchpfadhäufigkeiten der Kanten dar. Dieser Parameter wird durch das Wissensgraphen-Verwaltungssystem als getrenntes Attribut der Kanten verwaltet. Folglich betrug die Zugriffshäufigkeit zwischen dem Knoten 202 und dem Knoten 204 10 an der Kante 210; als weiteres Beispiel betrug die Zugriffshäufigkeit zwischen dem Knoten 202 und dem Knoten 206 5, und die Zugriffshäufigkeit zwischen den Knoten 206 und 208 betrug 2. Die gepunkteten Linien an den umfangsseitigen Knoten, die in 2 dargestellt sind, geben an, dass sich der Wissensgraph noch weiter erstreckt. Es ist jedoch ebenfalls zu sehen, dass die Kante zwischen den Knoten 202 und 204 diejenige ist, die die höchste Zugriffshäufigkeit aufweist, nämlich 10. Folglich kann diese Kante als Cluster-Kern der dargestellten Knoten betrachtet werden, wenn davon ausgegangen wird, dass diese Knoten ein Cluster sind.
  • Der allgemeine Ansatz zum Erkennen eines Cluster-Kerns wird auf die folgende Weise durchgeführt: Das System speichert die eindeutige Kennnummer (ID) der vordefinierten Menge (z.B. 5 %, sonstige Werte sind möglich) von Kanten, auf die durch Suchpfade am häufigsten zugegriffen wird, in einer Liste. Die Liste ist nach Zugriffshäufigkeit in einem Suchpfad von oben nach unten geordnet.
  • Die Kante, auf die am häufigsten zugegriffen wird, (d.h., die primäre Kante) bildet die Mitte des ersten Teilgraphen aus. IDs von Kanten, die sich in einem vordefinierten Radius der primären Kante befinden, werden aus der Liste entfernt oder in der Liste als nicht weiter widerzuspiegeln markiert. Bei einer Implementierung ist der Radius als Pfadlänge, d.h., eine Anzahl von Kanten (unabhängig von jeglichem sonstigen Attribut von Kanten) definiert. Bei einer weiteren Implementierung ist der Radius als Summe der invertierten Werte der Suchhäufigkeit jeder Kante definiert. Der letztere Ansatz entfernt mehr Kanten in Bereichen, die durch Suchvorgänge häufiger durchlaufen werden oder auf die durch Suchvorgänge häufiger zugegriffen wird. Auf diese Weise wird der Cluster entlang der häufigen Suchpfade ausgebildet, statt kreisförmig zu sein.
  • Der Radius steht mit der Gesamtgröße des Wissensgraphen in Zusammenhang. Beispielsweise wäre für einen Wissensgraphen mit 106 Knoten, der in 10 Teilgraphen (d.h., ungefähr 105 Ecken pro Bereich) unterteilt ist, ein Radius von 100 angemessen. Falls der Radius so ausgewählt wird, dass er relativ groß ist, würden Mitten von Teilgraphen im Randbereich des Wissensgraphen bevorzugt. Ein kleiner Radius führt dazu, dass Mitten von Teilgraphen in der Mitte des gesamten Wissensgraphen erkannt werden.
  • Nach einem Entfernen oder Blockieren der ID von Kanten um die primäre Kante herum (innerhalb des Radius) wird die Kante oben auf der Liste als Mitte des zweiten Teilgraphen (d.h., als sekundäre Kante) erkannt. Anschließend werden die IDs von Kanten, die sich in dem vordefinierten Radius der sekundären Kante befinden, aus der Liste entfernt oder als nicht für die nächste Cluster-Mitte zu verwenden markiert. Es sei außerdem angemerkt, dass der Radius von Cluster- zu Cluster-Mitte variieren kann, z.B. verringert werden kann. Dies würde widerspiegeln, dass die Cluster-Mitten höherer Ordnung/geringerer Dominanz bei Suchvorgängen nicht so oft durchlaufen werden wie die zuvor erkannten Cluster-Mitten/Kanten.
  • Der Prozess wird iteriert (z.B. zweimal oder mehrmals mit variierenden Parametern oder stufenweise unter Ausschluss von Knoten oder Kanten durchgeführt), bis so viele Kanten (d.h., Cluster-Mitten) wie die vordefinierte Anzahl von Teilgraphen erkannt worden sind. Bei einigen Ausführungsformen kann der Prozess enden, wenn eine Anzahl von Kanten oder Cluster-Mitten einer vordefinierten Anzahl von Teilgraphen gleichkommt. Obwohl es als auf einem Beenden beruhendes Abgleichen von Werten mit einer vordefinierten Anzahl von Teilgraphen beschrieben wird, werden in einigen Ausführungsformen,
  • 3 stellt ein Blockschaubild einer Ausführungsform eines Wissensgraphen 300 in einem ersten Schritt eines Unterteilens von Teilgraphen dar.
  • Das offenbarte Verfahren zum Aufteilen eines Wissensgraphen iteriert zwei Schritte: 1.) Ermitteln des kürzesten Pfades zwischen zwei Mitten, wobei die Pfadlänge als Summe der Suchhäufigkeit jeder Kante definiert ist. 2.) Entfernen der Kante mit der geringsten Suchhäufigkeit in diesem Pfad.
  • Das Verfahren startet durch Trennen des gesamten Wissensgraphen 300 in zwei Teile, des Abschnitts, der eine primäre Kante 302 aufweist, von einer sekundären Kante 304. Die beiden obigen Schritte werden iteriert, bis kein Pfad mehr verbleibt, der die primäre Kante 302 mit der sekundären Kante 304 verbindet.
  • Anschließend trennt das Verfahren den Abschnitt des Wissensgraphen 300, der die primäre Kante 302 aufweist, von dem Abschnitt, der die tertiäre Kante 306 aufweist, und von allen sonstigen Kanten, die als Mitten von Teilgraphen erkannt worden sind. Die primäre Kante 302, die sekundäre Kante 304 und die tertiäre Kante 306 (z.B. die Kanten 302, 304, 306) der jeweiligen Cluster-Mitte sind in 3 zu Erkennungszwecken als fett gedruckte Linien zwischen den jeweiligen Knoten markiert.
  • Anschließend trennt das Verfahren die sekundäre Kante 304 von der tertiären Kante 306 usw., bis der gesamte Wissensgraph 300 in den vollständigen Satz von Teilgraphen (d.h., die zu ermittelnde Anzahl von vordefinierten Teilgraphen) unterteilt ist.
  • Das folgende Beispiel veranschaulicht das Verfahren in ausführlicheren Schritten. Die Anzahlen von Zugriffen auf Suchpfade (d.h., wie oft der Suchprozess diese Kante verwendet hat) in 3 dienen der Veranschaulichung und ergeben nicht notwendigerweise einen Suchpfad, der alle dargestellten Ecken durchläuft, wie in der vorherigen Figur.
  • In diesem Beispiel sind die drei Kanten 302, 304, 306 als Cluster-Mitten (z.B. die Cluster-Mitten 302, 304, 306) von Teilgraphen mithilfe des Listen- und Ordnungsansatzes erkannt worden, wie oben erläutert. Der kürzeste Pfad 308 zwischen dem primären und dem sekundären Teilgraphen weist eine Länge von 18, d.h., die Summe der Zugriffshäufigkeiten auf Kanten, auf. Die Kante 310 mit der geringsten Suchhäufigkeit, nämlich 1, erhält zuerst eine Trennmarkierung.
  • 4 stellt ein Blockschaubild einer Ausführungsform eines Wissensgraphen 300 in einem zweiten Schritt eines Unterteilens von Teilgraphen dar. Nach einem Entfernen der ersten Kante (3, 310) weist der kürzeste Pfad 402 nun die Länge 20 auf. Die Kante 404 mit der Zugriffshäufigkeit 1 erhält als Nächstes eine Trennmarkierung.
  • 5 stellt ein Blockschaubild einer Ausführungsform eines Wissensgraphen 300 in einem dritten Schritt eines Unterteilens von Teilgraphen dar. In diesem Fall erstreckt sich der kürzeste Pfad zwischen den Cluster-Mitten 302 und 304 entlang der gestrichelten Linie 502. Diesen Pfad entlang ist die Kante, die lediglich die beiden Cluster-Mitten 302 und 304 verbindet, die Kante 504. Diese Kante 504 erhält als Nächstes eine Trennmarkierung. Auf diese Weise hat der ursprünglich vollständige, verbundene Wissensgraph 300 Trennmarkierungen entlang der Kanten 310, 404 und 504 erhalten.
  • 6 stellt ein Blockschaubild einer Ausführungsform eines Wissensgraphen 300 in einem vierten und fünften Schritt eines Unterteilens der Teilgraphen dar. Auf diese Weise erhalten, wie im Zusammenhang mit 3 bis 5 erörtert, auch die Kanten 604 und 606 Trennmarkierungen. Dementsprechend verläuft der kürzeste Pfad in dem vierten Schritt zwischen den Cluster-Mitten 302 und 304 entlang der Linie 602. Es sei angemerkt, dass aus Gründen der Verständlichkeit nicht sämtliche mit Trennmarkierungen versehenen Kanten in den Figuren dargestellt sind; man kann sagen, sie sind virtuell entfernt worden. Die mit einer Trennmarkierung versehene Kante 606 trennt schließlich den Teil-Cluster um die Cluster-Mitte 302 herum von dem verbleibenden linken Abschnitt des ursprünglich vollständigen Wissensgraphen 300.
  • In einem abschließenden Schritt für diesen beispielhaften Teilwissensgraphen 300 erhält die Kante 608 eine Trennmarkierung (oder wird virtuell entfernt), um die Teilgraphen um die Cluster-Mitte 304 herum von einem Teilgraphen mit der Cluster-Mitte 306 zu trennen.
  • Wie verständlich geworden ist: ist das Unterteilen in Teilgraphen als logisches Konstrukt oder als virtuelles Trennen der Kanten zwischen den Teilgraphen zu verstehen. Weder wird eine Kopie erstellt, noch werden Daten verschoben oder entfernt, vielmehr werden die Knoten eines Teilgraphen als Elemente des jeweiligen Teilgraphen gekennzeichnet und erhalten eine für den Teilgraphen definierte Indexnummerierung.
  • Bevor mehr auf Hardware bezogene Aspekte beschrieben werden, können einige Aspekte einer Suche betrachtet werden: Im Grunde kann die Suche abhängig von der Struktur des Wissensgraphen und der Suchoperation an einem Knoten oder an mehreren Knoten des gesamten Wissensgraphen gestartet werden. In letzterem Fall wird die Suche an einem Knoten jedes Teilgraphen gestartet.
  • Auf einem Mehrkerncomputer oder einem Multi-Thread-Prozessor werden die Suchprozesse typischerweise über die Kerne oder Threads verteilt. Auf diese Weise wird der gesamte Wissensgraph auf der zugrunde liegenden Hardware abgebildet. Durch die Konstruktion der Teilgraphen bleiben die Prozesse meist innerhalb der Teilgraphen.
  • In jedem Teilgraphen kann der lokale Suchprozess in mehrere parallele Prozesse aufgeteilt werden, d.h., durch Generieren und Beenden von untergeordneten Prozessen.
  • Wenn ein Suchprozess jedoch einen Teilgraphen verlässt und in benachbarte Teilgraphen eindringt, verarbeitet das Verfahren die Suchprozesse abhängig von der Implementierung auf die folgenden Weisen:
    1. a) Der Suchprozess wird beendet. Dies gilt, wenn Suchprozesse in einer solchen Weise aufgebaut sind, dass die Gesamtheit eines bestimmten Bereichs abgedeckt ist.
    2. b) Der Suchprozess wird einer weiteren Verarbeitungseinheit übergeben. Der Übergabeprozess kann durch die empfangende Verarbeitungseinheit auf dieselbe Weise wie ein beliebiger sonstiger untergeordneter Suchprozess behandelt werden, der durch den ursprünglichen Hauptsuchprozess generiert wird, der auf dieser Verarbeitungseinheit ausgeführt wird.
    3. c) Der aktuelle Suchprozess, der einen Rand eines Teilgraphen überquert, wird beendet, und die Suchergebnisse werden zusammengestellt. Zusätzlich wird die letzte Position des Suchprozesses (d.h., der aktuelle Knoten und die aktuelle Kante, die die Richtung angeben) zu der Liste von Startpunkten zu dem Hauptsuchprozess dieses Teilgraphen hinzugefügt und gegebenenfalls ausgewählt.
  • Bei einer Implementierung erfolgt ein Queren in einen weiteren Teilgraphen immer dann, wenn ein Knoten getroffen wird, der nicht Teil des ursprünglichen Teilgraphen ist. Bei einer weiteren Implementierung wird eine Überlappungszone angegeben, wie oben definiert. Der Suchprozess eines Teilgraphen, der in der Überlappungszone ausgeführt wird, darf in benachbarte Zonen eindringen, ohne sofort unterbrochen (siehe Implementierung a) und c)) oder übergeben zu werden (wie in Implementierung b)). Falls der Suchprozess die Überlappungszone durch Eindringen in einen benachbarten Teilgraphen verlässt, wird der Suchprozess unterbrochen oder übergeben, wie oben beschrieben.
  • 7 stellt ein Blockschaubild einer Ausführungsform des offenbarten Systems 700 zum Unterteilen eines Wissensgraphen dar. Der Wissensgraph weist eine Mehrzahl von Knoten und eine Mehrzahl von Kanten auf, wobei die Kanten ausgewählte der Knoten verknüpfen. Das System weist eine Analyseeinheit 702, die zum Analysieren eines Satzes von vergangenen Suchvorgängen und darauf beruhend zum Ermitteln einer Zugriffshäufigkeit auf jede der Mehrzahl von Kanten in dem Wissensgraphen gestaltet ist, eine Markierungseinheit 704, die zum Markieren eines vordefinierten Prozentsatzes von Kanten, die die höchsten Zugriffshäufigkeiten in dem Wissensgraphen aufweisen, als Zwischen-Cluster-Kerne gestaltet ist, und ein Ordnungsmodul 706 auf, das dazu gestaltet ist, die markierten Zwischen-Cluster-Kerne gemäß ihrer Zugriffshäufigkeiten zu ordnen.
  • Eine Auswahleinheit 708 ist dazu gestaltet, als ersten Cluster-Kern der Zwischen-Cluster-Kerne einen Zwischen-Cluster-Kern (z.B. einen ersten Zwischen-Cluster-Kern oder eine erste Kante) auszuwählen, der eine höchste Zugriffshäufigkeit aufweist. Die Auswahleinheit 708 kann darüber hinaus dazu ausgebildet oder gestaltet sein, erste Kanten in einem vordefinierten ersten Radius um den ersten Cluster-Kern herum zuzuweisen. Der erste Cluster-Kern und die ersten Kanten können dadurch den ersten Cluster erstellen oder ausbilden. Bei einigen Ausführungsformen ist die Auswahleinheit 708 darüber hinaus dazu gestaltet oder ausgebildet, als zweiten Cluster-Kern der Zwischen-Cluster-Kerne einen Zwischen-Cluster-Kern (z.B. einen zweiten Zwischen-Cluster-Kern oder eine zweite Kante) auszuwählen, der abgesehen von Kanten des ersten Clusters eine höchste Zugriffshäufigkeit aufweist. Die Auswahleinheit 708 kann zweite Kanten in einem vordefinierten zweiten Radius um den zweiten Cluster-Kern herum zuweisen. Der zweite Cluster-Kern und die zweiten Kanten können dadurch den zweiten Cluster erstellen oder ausbilden.
  • Das System 700 weist ein Unterteilungsmodul 710 auf, das zum Unterteilen des Wissensgraphen in einen ersten Teilwissensgraphen, der den ersten Cluster aufweist, und einen zweiten Teilwissensgraphen gestaltet ist, der den zweiten Cluster aufweist.
  • Ausführungsformen der vorliegenden Offenbarung können unabhängig davon, ob die Plattform zum Speichern und/oder Ausführen vom Programmcode geeignet ist, zusammen mit praktisch jedem Typ von Computer implementiert werden. 8 stellt als Beispiel ein Datenverarbeitungssystem 800 dar, das dazu geeignet ist, Programmcode im Zusammenhang mit dem vorgeschlagenen Verfahren auszuführen.
  • Das Datenverarbeitungssystem 800 ist nur ein Beispiel für ein geeignetes Computersystem und soll keine Einschränkung hinsichtlich des Anwendungsbereichs oder der Funktionalität von hierin beschriebenen Ausführungsformen der vorliegenden Offenbarung nahelegen, unabhängig davon, ob das Computersystem 800 in der Lage ist, implementiert zu werden und/oder eine beliebige der oben dargelegten Funktionen durchzuführen. In dem Computersystem 800 befinden sich Komponenten, die mit zahlreichen sonstigen Universal- oder Spezial-Datenverarbeitungssystem-Umgebungen oder -Konfigurationen betrieben werden können. Zu Beispielen für allgemein bekannte Datenverarbeitungssysteme, -Umgebungen und/oder -Konfigurationen, die zur Verwendung mit dem Computersystem/Server 800 geeignet sein können, zählen Personal-Computersysteme, Server-Computersysteme, Thin Clients, Thick Clients, Hand- oder Laptop-Einheiten, Mehrprozessorsysteme, Systeme auf Grundlage von Mikroprozessoren, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Großrechnersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der obigen Systeme oder Einheiten enthalten, und dergleichen, ohne auf diese beschränkt zu sein. Das Computersystem/der Server 800 kann im allgemeinen Zusammenhang von Anweisungen beschrieben werden, die durch ein Computersystem ausführbar sind, wie zum Beispiel Programmmodule, die durch ein Computersystem 800 ausgeführt werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. enthalten, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen implementieren. Das Computersystem/der Server 800 kann in verteilten Cloud-Computing-Umgebungen angewendet werden, in denen Aufgaben durch entfernt angeordnete Verarbeitungseinheiten durchgeführt werden, die durch ein Datenübertragungsnetzwerk miteinander verbunden sind. Bei einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in entfernt angeordneten Computersystem-Speichermedien befinden, darunter in Speichereinheiten.
  • Wie in der Figur gezeigt, wird das Computersystem/der Server 800 in Form einer Universal-Datenverarbeitungseinheit dargestellt. Zu den Komponenten des Computersystems/Servers 800 können ein oder mehrere Prozessoren 802 (z.B. Verarbeitungseinheiten), ein Systemspeicher 804 (z.B. ein durch einen Computer lesbares Speichermedium, das mit dem einen oder den mehreren Prozessoren verbunden ist) und ein Bus 806 zählen, der verschiedene Systemkomponenten wie etwa den Systemspeicher 804 mit dem Prozessor 802 verbindet, ohne auf diese beschränkt zu sein. Der Bus 806 stellt einen oder mehrere von mehreren beliebigen Typen von Busstrukturen dar, darunter einen Speicherbus oder eine Speichersteuereinrichtung, einen Peripheriebus, einen Accelerated Graphics Port und einen Prozessor- oder einen lokalen Bus unter Verwenden einer beliebigen von einer Vielfalt von Busarchitekturen. Beispielsweise, und ohne einschränkend zu wirken, enthalten solche Architekturen einen Industry-Standard-Architecture(ISA)-Bus, einen Micro-Channel-Architecture(MCA)-Bus, einen Enhanced-ISA(EISA)-Bus, einen lokalen Video-Electronics-Standards-Association(VESA)-Bus und einen Peripheral-Component-Interconnects(PCI)-Bus. Das Computersystem/der Server 800 enthält üblicherweise eine Vielfalt von durch ein Computersystem lesbaren Medien. Bei solchen Medien kann es sich um beliebige verfügbare Medien handeln, auf die durch das Computersystem/den Server 800 zugegriffen werden kann, und sie enthalten sowohl flüchtige als auch nichtflüchtige Medien sowie austauschbare und nichtaustauschbare Medien.
  • Der Systemspeicher 804 kann durch ein Computersystem lesbare Medien in Form eines flüchtigen Speichers wie zum Beispiel eines Direktzugriffsspeichers (random access memory, RAM) 808 und/oder eines Cache 810 enthalten. Das Computersystem/der Server 800 kann des Weiteren sonstige austauschbare/nicht austauschbare, flüchtige/nichtflüchtige Computersystem-Speichermedien enthalten. Lediglich als Beispiel kann ein Speichersystem 812 zum Lesen von einem nicht austauschbaren, nichtflüchtigen (nicht dargestellten und üblicherweise als „Festplatte“ bezeichneten) Magnetmedium und zum Schreiben darauf bereitgestellt werden. Wenngleich es nicht dargestellt wird, kann ein Magnetplattenlaufwerk zum Lesen von einer austauschbaren, nichtflüchtigen Magnetplatte (z.B. einer „Diskette“) und zum Schreiben darauf und ein optisches Plattenlaufwerk zum Lesen von einer austauschbaren, nichtflüchtigen optischen Platte wie zum Beispiel einer CD-ROM, DVD-ROM oder sonstigen optischen Medien und zum Schreiben darauf bereitgestellt werden. In solchen Fällen kann jedes durch eine oder mehrere Datenmedien-Schnittstellen mit dem Bus 806 verbunden sein. Wie im Folgenden näher dargestellt und beschrieben wird, kann der Systemspeicher 804 zumindest ein Programmprodukt enthalten, das einen Satz (z.B. zumindest eins) von Programmmodulen aufweist, die dazu konfiguriert sind, die Funktionen von Ausführungsformen der vorliegenden Offenbarung auszuführen.
  • Das Programm/Dienstprogramm, das einen Satz (zumindest eins) von Programmmodulen 816 aufweist, kann als Beispiel, das keine Einschränkung darstellen soll, in dem Systemspeicher 804 gespeichert werden, wie auch ein Betriebssystem, ein oder mehrere Anwendungsprogramme, sonstige Programmmodule und Programmdaten. Von den Betriebssystemen, dem einen oder den mehreren Anwendungsprogrammen, den sonstigen Programmmodulen und Programmdaten und einigen Kombinationen von diesen kann jedes eine Implementierung einer Netzwerkumgebung enthalten. Die Programmmodule 816 führen im Allgemeinen die Funktionen und/oder Methoden von Ausführungsformen der vorliegenden Offenbarung aus, wie sie hierin beschrieben wird.
  • Das Computersystem/der Server 800 kann außerdem mit einer oder mehreren externen Einheiten 818 wie zum Beispiel einer Tastatur, einer Zeigeeinheit, einer Anzeige 820 usw., einer oder mehreren Einheiten, die einem Benutzer ermöglichen, mit dem Computersystem/dem Server 800 in Wechselwirkung zu treten, und/oder beliebigen Einheiten (z.B. einer Netzwerkkarte, einem Modem usw.) Daten austauschen, die dem Computersystem/Server 800 ermöglichen, Daten mit einer oder mehreren sonstigen Datenverarbeitungseinheiten auszutauschen. Ein solcher Datenaustausch kann über Eingabe-/Ausgabe(E/A)-Schnittstellen 814 durchgeführt werden. Weiterhin kann das Computersystem/der Server 800 mit einem oder mehreren Netzwerken wie zum Beispiel einem lokalen Netzwerk (lokal area network, LAN), einem allgemeinen Weitverkehrsnetzwerk (wide area network, WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet) über einen Netzwerkadapter 822 Daten austauschen. Wie dargestellt, kann der Netzwerkadapter 822 Daten mit den sonstigen Komponenten des Computersystems/Servers 800 über den Bus 806 austauschen. Es versteht sich, wenngleich dies nicht dargestellt wird, dass sonstige Hardware- und/oder Software-Komponenten zusammen mit dem Computersystem/Server 800 verwendet werden könnten. Zu Beispielen zählen Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Datenarchivierungs-Speichersysteme usw., ohne auf diese beschränkt zu sein.
  • Darüber hinaus kann das System 700 zum Unterteilen eines Wissensgraphen mit dem Bus 806 (z.B. einer Mehrzahl von Bussen, die ein Bussystem ausbilden) verbunden sein.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Offenbarung erfolgten zur Veranschaulichung, sind jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt gemeint. Viele Modifizierungen und Varianten sind für Fachleute ersichtlich, ohne vom Umfang und Wesensgehalt der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber auf dem Markt erhältlichen Technologien am besten zu erläutern oder um anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.
  • Die vorliegende Erfindung kann als System, als Verfahren und/oder als Computerprogrammprodukt verkörpert werden. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) enthalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem Medium kann es sich um ein elektronisches, magnetisches, optisches, elektromagnetisches Medium, ein Infrarot- oder ein Halbleitersystem für ein Verbreitungsmedium handeln. Zu Beispielen für ein durch einen Computer lesbares Medium können ein Halbleiter- bzw. Festkörperspeicher, ein Magnetband, eine auswechselbare Computer-Diskette, ein Speicher mit wahlfreiem Zugriff (random access memory, RAM), ein Festwertspeicher (read-only memory, ROM), eine starre Magnetplatte und eine optische Speicherplatte zählen. Zu aktuellen Beispielen für optische Speicherplatten zählen eine CD-ROM (compact disk-read only memory, Kompakt-Disk-Festwertspeicher), eine CD-R/W (compact disk-read/write, Compact-Disk-Schreib-Lese-Speicher), eine DVD und eine Blu-Ray-Platte.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Festwertspeicher (ROM), ein löschbarer programmierbarer Festwertspeicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatten-Festwertspeicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. durch ein Glasfaserkabel 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 Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Router, 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 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 herkömmliche 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 letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwenden eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gate-Arrays (FPGA) oder programmierbare Logik-Arrays (PLA) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsdaten der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen implementiert werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen Mittel zur Umsetzung der in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds festgelegten Funktionen/Schritte erzeugen. 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, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, sonstige programmierbare Datenverarbeitungsvorrichtungen oder eine weitere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der sonstigen programmierbaren Vorrichtungen oder sonstigen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, der sonstigen programmierbaren Vorrichtungen oder der sonstigen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder den Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder des Ablaufplans sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder des Ablaufplans durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die hierin verwendete Terminologie dient lediglich der Beschreibung bestimmter Ausführungsformen und soll die vorliegende Offenbarung nicht beschränken. So, wie sie hierin verwendet werden, sollen die Singularformen „ein“, „eine“ und „der“, „die“, „das“ auch die Pluralformen enthalten, sofern dies aus dem Kontext nicht eindeutig anders hervorgeht. Es versteht sich des Weiteren, dass die Begriffe „aufweist“ und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von angegebenen Merkmalen, Ganzzahlen, Schritten, Vorgängen, Elementen und/oder Komponenten bezeichnen, jedoch nicht das Vorhandensein bzw. die Beifügung von einem/einer bzw. mehreren anderen Merkmalen, Ganzzahlen, Schritten, Vorgängen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
  • Die entsprechenden Strukturen, Materialien, Vorgänge und Entsprechungen aller Mittel oder Schritt-plus-Funktion-Elementen in den nachstehenden Ansprüchen sollen jede Struktur, jedes Material bzw. jede Handlung zum Durchführen der Funktion in Kombination mit anderen beanspruchten Elementen als ausdrücklich beansprucht enthalten. Die Beschreibung der vorliegenden Offenbarung erfolgte zum Zweck der Veranschaulichung und Beschreibung, ist jedoch nicht erschöpfend oder auf die vorliegende Offenbarung in der dargestellten Form beschränkt gemeint. Zahlreiche Modifizierungen und Varianten sind für Fachleute ersichtlich, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Die Ausführungsformen werden ausgewählt und beschrieben, um die Grundgedanken der vorliegenden Offenbarung und die praktische Anwendung am besten zu erläutern und um anderen Fachleuten das Verständnis der vorliegenden Offenbarung für verschiedene Ausführungsformen mit verschiedenen, für den in Betracht gezogenen Einsatz geeigneten Modifizierungen zu ermöglichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 2018/0052884 A1 [0007]
    • US 2018/0144424 A1 [0008]

Claims (21)

  1. Auf einem Computer implementiertes Verfahren, das aufweist: Analysieren eines Satzes von vergangenen Suchvorgängen und darauf beruhend Ermitteln einer Zugriffshäufigkeit auf jede einer Mehrzahl von Kanten in einem Wissensgraphen, der eine Mehrzahl von Knoten und die Mehrzahl von Kanten aufweist, die ausgewählte der Knoten verknüpfen; Markieren eines vordefinierten Prozentsatzes von Kanten mit höchsten Zugriffshäufigkeiten auf die Mehrzahl von Kanten innerhalb des Wissensgraphen als Zwischen-Cluster-Kerne; Ordnen der markierten Zwischen-Cluster-Kerne gemäß Zugriffshäufigkeiten auf den vordefinierten Prozentsatz von Kanten; Auswählen eines Zwischen-Cluster-Kerns mit einer höchsten Zugriffshäufigkeit als einen ersten Cluster-Kern und Zuweisen von ersten Kanten in einem vordefinierten ersten Radius um den ersten Cluster-Kern herum, wobei der erste Cluster-Kern und die ersten Kanten einen ersten Cluster erstellen; Auswählen eines Zwischen-Cluster-Kerns, der abgesehen von Kanten des ersten Clusters eine höchste Zugriffshäufigkeit aufweist, als einen zweiten Cluster-Kern und Zuweisen von zweiten Kanten in einem vordefinierten zweiten Radius um den zweiten Cluster-Kern herum, wobei der zweite Cluster-Kern und die zweiten Kanten einen zweiten Cluster erstellen; und Unterteilen des Wissensgraphen in einen ersten Teilwissensgraphen, der den ersten Cluster aufweist, und einen zweiten Teilwissensgraphen, der den zweiten Cluster aufweist.
  2. Verfahren nach Anspruch 1, das des Weiteren aufweist: iteratives Auswählen eines oder mehrerer zusätzlicher Zwischen-Cluster-Kerne, wobei jeder zusätzliche Zwischen-Cluster-Kern abgesehen von Kanten von zuvor ausgewählten Clustern eine höchste Zugriffshäufigkeit aufweist, und Zuweisen jeweiliger Kanten in einem jeweiligen vordefinierten Radius um jeden der zusätzlichen Zwischen-Cluster-Kerne herum, wobei jede(r) der zusätzlichen Zwischen-Cluster-Kerne und der jeweiligen Kanten einen weiteren Cluster erstellen.
  3. Verfahren nach Anspruch 2, wobei der vordefinierte erste Radius, der vordefinierte zweite Radius und der jeweilige vordefinierte Radius jeweils eine vordefinierte Pfadlänge um einen jeweiligen Cluster-Kern des einen oder der mehreren zusätzlichen Zwischen-Cluster-Kerne herum sind.
  4. Verfahren nach Anspruch 2, wobei der vordefinierte erste Radius, der vordefinierte zweite Radius und der jeweilige vordefinierte Radius jeweils ein vordefinierter Pfadlängenwert einer Summe von invertierten Werten der Zugriffshäufigkeiten auf die Kanten des Wissensgraphen sind.
  5. Verfahren nach Anspruch 1, das des Weiteren aufweist: Führen eines Zugriffszählerwerts für jede Kante, der jedes Mal erhöht wird, wenn ein Suchpfad die Kante durchläuft; und Führen eines Bewertungswerts, der die Zugriffshäufigkeit eines die Kante durchlaufenden Suchpfades darstellt.
  6. Verfahren nach Anspruch 5, das des Weiteren aufweist: Aktualisieren des Bewertungswerts auf einer zeitlich regelmäßigen Grundlage auf dem Zugriffszählerwert beruhend; und Zurücksetzen des Zugriffszählerwerts auf null.
  7. Verfahren nach Anspruch 1, wobei das Unterteilen des Wissensgraphen darüber hinaus aufweist: Ermitteln eines kürzesten Pfades zwischen zwei angrenzenden Cluster-Kernen von zwei angrenzenden Clustern, wobei der kürzeste Pfad ein Pfad mit einer niedrigsten Summe von Zugriffshäufigkeiten auf jeweilige Kanten entlang eines jeweiligen Pfades ist; Markieren einer Kante mit einer niedrigsten Zugriffshäufigkeit auf dem kürzesten Pfad als Trennstelle zwischen den beiden angrenzenden Clustern; und Wiederholen des Ermittelns eines kürzesten Pfades und des Markierens der Kante als Trennstelle, bis kein Pfad zwischen zwei angrenzenden Clustern mehr vorhanden ist, der frei von Kanten ist, die eine Trennstellenmarkierung aufweisen.
  8. Verfahren nach Anspruch 1, wobei das Verfahren beim Empfangen einer neuen Suchanforderung an den Wissensgraphen des Weiteren aufweist: Zuweisen einer lokalen Suchmaschine zu jedem des ersten und des zweiten Teilwissensgraphen; Übergeben der neuen Suchanforderung an jede der dem ersten und dem zweiten Teilwissensgraphen zugewiesenen lokalen Suchmaschinen; und paralleles Durchführen der neuen Suchanforderung in dem ersten und dem zweiten Teilwissensgraphen.
  9. Verfahren nach Anspruch 8, das des Weiteren aufweist: Starten der neuen Suchanforderung in jedem des ersten und des zweiten Teilwissensgraphen an einem mit einem oder mehreren des ersten und des zweiten Cluster-Kerns verknüpften Cluster-Kern.
  10. Verfahren nach Anspruch 8, das des Weiteren aufweist: Übergeben eines Such-Threads einer lokalen Suchmaschine von einer lokalen Suchmaschine an eine weitere lokale Suchmaschine in einem weiteren Teilwissensgraphen, wenn ein jeweiliger Suchpfad eine Grenze des Teilwissensgraphen überquert.
  11. System, das aufweist: einen oder mehrere Prozessoren; und ein durch einen Computer lesbares Speichermedium, das mit dem einen oder den mehreren Prozessoren verbunden ist, wobei das durch einen Computer lesbare Speichermedium Programmanweisungen speichert, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, bewirken, dass der eine oder die mehreren Prozessoren Operationen durchführen, die aufweisen: Analysieren eines Satzes von vergangenen Suchvorgängen und darauf beruhend Ermitteln einer Zugriffshäufigkeit auf jede einer Mehrzahl von Kanten in einem Wissensgraphen, der eine Mehrzahl von Knoten und die Mehrzahl von Kanten aufweist, die ausgewählte der Knoten verknüpfen; Markieren eines vordefinierten Prozentsatzes von Kanten mit höchsten Zugriffshäufigkeiten innerhalb des Wissensgraphen als Zwischen-Cluster-Kerne; Ordnen der markierten Zwischen-Cluster-Kerne gemäß Zugriffshäufigkeiten auf den vordefinierten Prozentsatz von Kanten; Auswählen eines Zwischen-Cluster-Kerns mit einer höchsten Zugriffshäufigkeit als einen ersten Cluster-Kern und Zuweisen von ersten Kanten in einem vordefinierten ersten Radius um den ersten Cluster-Kern herum, wobei der erste Cluster-Kern und die ersten Kanten einen ersten Cluster erstellen; Auswählen eines Zwischen-Cluster-Kerns, der abgesehen von Kanten des ersten Clusters eine höchste Zugriffshäufigkeit aufweist, als zweiten Cluster-Kern und Zuweisen von zweiten Kanten in einem vordefinierten zweiten Radius um den zweiten Cluster-Kern herum, wobei der zweite Cluster-Kern und die zweiten Kanten einen zweiten Cluster erstellen; und Unterteilen des Wissensgraphen in einen ersten Teilwissensgraphen, der den ersten Cluster aufweist, und einen zweiten Teilwissensgraphen, der den zweiten Cluster aufweist.
  12. System nach Anspruch 11, wobei die Operationen des Weiteren aufweisen: iteratives Auswählen eines oder mehrerer zusätzlicher Zwischen-Cluster-Kerne, wobei jeder zusätzliche Zwischen-Cluster-Kern abgesehen von Kanten von zuvor ausgewählten Clustern eine höchste Zugriffshäufigkeit aufweist, und Zuweisen jeweiliger Kanten in einem jeweiligen vordefinierten Radius um jeden der zusätzlichen Zwischen-Cluster-Kerne herum, wobei jede(r) der zusätzlichen Zwischen-Cluster-Kerne und der jeweiligen Kanten einen weiteren Cluster erstellen.
  13. System nach Anspruch 12, wobei der vordefinierte erste Radius, der vordefinierte zweite Radius und der jeweilige vordefinierte Radius jeweils eine vordefinierte Pfadlänge um einen jeweiligen Cluster-Kern des einen oder der mehreren zusätzlichen Zwischen-Cluster-Kerne herum sind.
  14. System nach Anspruch 12, wobei der vordefinierte erste Radius, der vordefinierte zweite Radius und der jeweilige vordefinierte Radius jeweils ein vordefinierter Pfadlängenwert einer Summe von invertierten Werten der Zugriffshäufigkeiten auf die Kanten des Wissensgraphen sind.
  15. System nach Anspruch 11, wobei die Operationen des Weiteren aufweisen: Führen eines Zugriffszählerwerts für jede Kante, der jedes Mal erhöht wird, wenn ein Suchpfad die Kante durchläuft; und Führen eines Bewertungswerts, der die Zugriffshäufigkeit eines die Kante durchlaufenden Suchpfades darstellt.
  16. System nach Anspruch 15, wobei die Operationen des Weiteren aufweisen: Aktualisieren des Bewertungswerts auf einer zeitlich regelmäßigen Grundlage auf dem Zugriffszählerwert beruhend; und Zurücksetzen des Zugriffszählerwerts auf null.
  17. System nach Anspruch 16, wobei die Operationen des Weiteren aufweisen: Ermitteln eines kürzesten Pfades zwischen zwei angrenzenden Cluster-Kernen von zwei angrenzenden Clustern, wobei der kürzeste Pfad ein Pfad mit einer niedrigsten Summe von Zugriffshäufigkeiten auf jeweilige Kanten entlang eines jeweiligen Pfades ist; Markieren einer Kante mit einer niedrigsten Zugriffshäufigkeit auf dem kürzesten Pfad als Trennstelle zwischen den beiden angrenzenden Clustern; und Wiederholen des Ermittelns eines kürzesten Pfades und des Markierens der Kante als Trennstelle, bis kein Pfad zwischen zwei angrenzenden Clustern mehr vorhanden ist, der frei von Kanten ist, die eine Trennstellenmarkierung aufweisen.
  18. System nach Anspruch 11, wobei die Operationen beim Empfangen einer neuen Suchanforderung an den Wissensgraphen des Weiteren aufweisen: Zuweisen einer lokalen Suchmaschine zu jedem des ersten und des zweiten Teilwissensgraphen; und Übergeben der neuen Suchanforderung an jede der dem ersten und dem zweiten Teilwissensgraphen zugewiesenen lokalen Suchmaschinen.
  19. System nach Anspruch 18, wobei die Operationen des Weiteren aufweisen: Durchführen der neuen Suchanforderung in jedem des ersten und des zweiten Teilwissensgraphen an einem mit einem oder mehreren des ersten und des zweiten Cluster-Kerns verknüpften Cluster-Kern.
  20. System nach Anspruch 18, wobei die Operationen des Weiteren aufweisen: Übergeben eines Such-Threads einer lokalen Suchmaschine von einer lokalen Suchmaschine an eine weitere lokale Suchmaschine in einem weiteren Teilwissensgraphen, wenn ein jeweiliger Suchpfad eine Grenze des Teilwissensgraphen überquert.
  21. Computerprogrammprodukt, das ein durch einen Computer lesbares Speichermedium aufweist, in dem Programmanweisungen verkörpert sind, wobei die Programmanweisungen durch einen oder mehrere Prozessoren ausführbar sind, um zu bewirken, dass der eine oder die mehreren Prozessoren Operationen durchführen, die aufweisen: Analysieren eines Satzes von vergangenen Suchvorgängen und darauf beruhend Ermitteln einer Zugriffshäufigkeit auf jede einer Mehrzahl von Kanten in einem Wissensgraphen, der eine Mehrzahl von Knoten und die Mehrzahl von Kanten aufweist, die ausgewählte der Knoten verknüpfen; Markieren eines vordefinierten Prozentsatzes von Kanten mit höchsten Zugriffshäufigkeiten innerhalb des Wissensgraphen als Zwischen-Cluster-Kerne; Ordnen der markierten Zwischen-Cluster-Kerne gemäß Zugriffshäufigkeiten auf den vordefinierten Prozentsatz von Kanten; Auswählen eines Zwischen-Cluster-Kerns mit einer höchsten Zugriffshäufigkeit als einen ersten Cluster-Kern und Zuweisen von ersten Kanten in einem vordefinierten ersten Radius um den ersten Cluster-Kern herum, wobei der erste Cluster-Kern und die ersten Kanten einen ersten Cluster erstellen; Auswählen eines Zwischen-Cluster-Kerns, der abgesehen von Kanten des ersten Clusters eine höchste Zugriffshäufigkeit aufweist, als zweiten Cluster-Kern und Zuweisen von zweiten Kanten in einem vordefinierten zweiten Radius um den zweiten Cluster-Kern herum, wobei der zweite Cluster-Kern und die zweiten Kanten einen zweiten Cluster erstellen; und Unterteilen des Wissensgraphen in einen ersten Teilwissensgraphen, der den ersten Cluster aufweist, und einen zweiten Teilwissensgraphen, der den zweiten Cluster aufweist.
DE112019004387.0T 2018-11-27 2019-11-22 Unterteilen eines wissensgraphen Pending DE112019004387T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/200,757 2018-11-27
US16/200,757 US11086909B2 (en) 2018-11-27 2018-11-27 Partitioning knowledge graph
PCT/IB2019/060059 WO2020109946A1 (en) 2018-11-27 2019-11-22 Partitioning knowledge graph

Publications (1)

Publication Number Publication Date
DE112019004387T5 true DE112019004387T5 (de) 2021-05-20

Family

ID=70770750

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019004387.0T Pending DE112019004387T5 (de) 2018-11-27 2019-11-22 Unterteilen eines wissensgraphen

Country Status (6)

Country Link
US (1) US11086909B2 (de)
JP (1) JP7394129B2 (de)
CN (1) CN113015970B (de)
DE (1) DE112019004387T5 (de)
GB (1) GB2592335A (de)
WO (1) WO2020109946A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK201970121A1 (en) 2018-10-30 2020-06-04 Aptiv Technologies Limited GENERATION OF OPTIMAL TRAJECTORIES FOR NAVIGATION OF VEHICLES
US11803184B2 (en) * 2018-12-18 2023-10-31 Motional Ad Llc Methods for generating maps using hyper-graph data structures
JP7109522B2 (ja) * 2020-11-25 2022-07-29 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
CN112799928B (zh) * 2021-01-29 2023-08-18 索为技术股份有限公司 基于知识图谱的工业app关联性分析方法、装置及介质
CN112948593A (zh) * 2021-03-18 2021-06-11 北京中经惠众科技有限公司 知识图谱的生成方法、装置、设备和介质
WO2023282890A1 (en) * 2021-07-06 2023-01-12 Google Llc Real-time micro-profile generation using a dynamic tree structure
CN113704493A (zh) * 2021-08-27 2021-11-26 北京有竹居网络技术有限公司 展示信息确定方法、装置、设备及计算机可读存储介质
IL286186B2 (en) * 2021-09-05 2023-04-01 Velotix Ltd System and method for managing requests for access privileges
CN114415975B (zh) * 2022-03-28 2022-06-21 支付宝(杭州)信息技术有限公司 针对知识图谱进行划分分区的方法及装置
CN115146075B (zh) * 2022-07-11 2023-03-10 中科雨辰科技有限公司 一种获取知识图谱的数据处理系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4639615B2 (ja) 2004-03-15 2011-02-23 富士ゼロックス株式会社 人脈パス検索のためのプログラム、装置
JP5407169B2 (ja) 2008-04-11 2014-02-05 富士通株式会社 クラスタリングプログラム、検索プログラム、クラスタリング方法、検索方法、クラスタリング装置および検索装置
US20120197104A1 (en) * 2009-10-24 2012-08-02 Stc.Unm System and methods for automatic placement of spatial supression regions in mri and mrsi
US10303999B2 (en) * 2011-02-22 2019-05-28 Refinitiv Us Organization Llc Machine learning-based relationship association and related discovery and search engines
JP6036190B2 (ja) 2012-11-07 2016-11-30 富士通株式会社 情報処理装置、情報処理システムの制御方法及び情報処理システムの制御プログラム
US20150310129A1 (en) 2013-01-09 2015-10-29 Hitachi, Ltd. Method of managing database, management computer and storage medium
JP6086021B2 (ja) 2013-04-25 2017-03-01 富士通株式会社 検索システムおよび検索方法
US10713383B2 (en) * 2014-11-29 2020-07-14 Ethan Huang Methods and systems for anonymizing genome segments and sequences and associated information
US10664757B2 (en) * 2015-09-16 2020-05-26 International Business Machines Corporation Cognitive operations based on empirically constructed knowledge graphs
US20170091342A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Technologies for automatic partitioning of large graphs
US20180052884A1 (en) * 2016-08-16 2018-02-22 Ebay Inc. Knowledge graph construction for intelligent online personal assistant
US10606893B2 (en) * 2016-09-15 2020-03-31 International Business Machines Corporation Expanding knowledge graphs based on candidate missing edges to optimize hypothesis set adjudication
WO2018081628A1 (en) * 2016-10-28 2018-05-03 Roam Analytics, Inc. Dataset networking and database modeling
US20180144424A1 (en) * 2016-11-18 2018-05-24 Yen4Ken, Inc. Method and system for content processing to query multiple healthcare-related knowledge graphs
US10540345B2 (en) * 2016-12-09 2020-01-21 Microsoft Technology Licensing, Llc Reducing churn in knowledge graphs
US10198657B2 (en) 2016-12-12 2019-02-05 National Chung Shan Institute Of Science And Technology All-weather thermal-image pedestrian detection method
US10878309B2 (en) * 2017-01-03 2020-12-29 International Business Machines Corporation Determining context-aware distances using deep neural networks
CN108399180B (zh) 2017-02-08 2021-11-26 腾讯科技(深圳)有限公司 一种知识图谱构建方法、装置及服务器
CN107071084B (zh) 2017-04-01 2019-07-26 北京神州绿盟信息安全科技股份有限公司 一种dns的评价方法和装置

Also Published As

Publication number Publication date
CN113015970B (zh) 2024-01-19
US11086909B2 (en) 2021-08-10
CN113015970A (zh) 2021-06-22
GB202108987D0 (en) 2021-08-04
JP2022505545A (ja) 2022-01-14
WO2020109946A1 (en) 2020-06-04
GB2592335A (en) 2021-08-25
US20200167426A1 (en) 2020-05-28
JP7394129B2 (ja) 2023-12-07

Similar Documents

Publication Publication Date Title
DE112019004387T5 (de) Unterteilen eines wissensgraphen
DE112015000218B4 (de) Verfahren, System und Computerprogramm zum Abtasten einer Mehrzahl von Speicherbereichen in einem Arbeitsspeicher nach einer spezifizierten Anzahl von Ergebnissen
DE112021004197T5 (de) Semantisches Lernen in einem System für ein föderiertes Lernen
DE60118973T2 (de) Verfahren zum abfragen einer struktur komprimierter daten
EP3520014B1 (de) Verfahren und system zum anonymisieren von datenbeständen
DE112015003406T5 (de) Datenherkunftssummierung
DE112015000347T5 (de) Verarbeiten von Datensätzen in einer Ablage für große Datenmengen
DE112018005725T5 (de) Daten-deidentifikation auf der grundlage eines erkennens von zulässigen konfigurationen für daten-deidentifikationsprozesse
DE112018004222T5 (de) Datenbankaufteilung
DE112012005533T5 (de) Unterstützende Abfrage und ein Abfragen
DE10134229A1 (de) Verfahren und System zum Ermitteln von Abweichungen in Datentabellen
DE19955718A1 (de) Paralleler Datenbank-Support für Workflow-Management-Systeme
DE112011100819T5 (de) Speicherplatzreservierung in einem Deduplizierungssystem
DE102017207686A1 (de) Einblicke in die belegschaftsstrategie
DE112013005993T5 (de) Verfahren, Vorrichtung und computerlesbares Medium für eine optimale Bestimmung von Daten-Teilmengen
DE112020000554T5 (de) Verfahren zum zugreifen auf datensätze eines stammdatenverwaltungssystems
DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
DE112021001986T5 (de) Verfahren und System zum Verarbeiten von Datenaufzeichnungen
DE112020000545T5 (de) Deep-forest-modell-entwicklung und -training
DE112021006604T5 (de) Dynamisches in-rangordnung-bringen von facetten
DE112012004916T5 (de) Verbesserte Datenbankabfrage und Aufwandsschätzung
DE112020002344T5 (de) Feature engineering zur optimierung von neuronalen netzwerken
DE112018004462T5 (de) Abfrageverarbeitung
DE112018002626T5 (de) Verfahren und Systeme zur optimierten visuellen Zusammenfassung von Sequenzen mit zeitbezogenen Ereignisdaten
DE112021005313T5 (de) Topologiegesteuerte vervollständigung chemischer daten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)
R081 Change of applicant/patentee

Owner name: KYNDRYL, INC., NEW YORK, US

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, NY, US

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0016350000

Ipc: G06F0016360000

R016 Response to examination communication