-
Hintergrund
-
Die Erfindung betrifft eine Vorrichtung und ein Verfahren zur Schlüsselwortsuche in einem Datensatz, wobei Daten des Datensatzes durch einen Wissensgraphen dargestellt sind. Ein Ergebnis der Suche kann automatisch bestimmt werden, indem ein Teilgraph gefunden wird, welcher eine Kostenfunktion optimiert.
-
Offenbarung
-
Eine Ausführungsform bezieht sich auf ein computerimplementiertes Verfahren zur Schlüsselwortsuche in einem Datensatz, wobei Daten des Datensatzes durch einen Wissensgraphen dargestellt sind, wobei der Wissensgraph Knoten, die Entitäten des Datensatzes darstellen, und Kanten, die Beziehungen zwischen diesen Entitäten darstellen, umfasst, wobei das Verfahren die Schritte umfasst: Empfangen einer Schlüsselwortanfrage, die eine Menge von Schlüsselwörtern umfasst;
Bestimmen einer optimalen Wegmenge, wobei die optimale Wegmenge Wege in dem Wissensgraphen umfasst, welche Knoten verbinden, die mit den Schlüsselwörtern der Schlüsselwortanfrage übereinstimmen, und wobei die optimale Wegmenge optimal im Hinblick auf minimale Kosten der Wegmenge ist, wobei die Kosten auf einer Linearkombination des Gesamtgewichts von Knoten der optimalen Wegmenge und paarweisen semantischen Abständen zwischen den Knoten der optimalen Wegmenge basieren, und
Extrahieren einer Antwort auf die Schlüsselwortanfrage aus der optimalen Wegmenge.
-
Eine Wegmenge wird als eine Menge von Wegen betrachtet, die einen gemeinsamen Wurzelknoten mit Knoten verbinden, die mit den Schlüsselwörtern der Schlüsselwortanfrage übereinstimmen.
-
Die optimale Wegmenge wird als die Menge von Wegen mit minimalen Kosten betrachtet.
-
Die Antwort auf die Schlüsselwortanfrage basiert auf der optimalen Wegmenge. Daher ist die Antwort selbst optimal im Hinblick auf minimale Kosten.
Die Kosten der optimalen Wegmenge basieren auf einer Linearkombination des Gesamtgewichts von Knoten der optimalen Wegmenge und paarweisen semantischen Abständen zwischen den Knoten der optimalen Wegmenge.
-
Gemäß einer Ausführungsform repräsentiert das Gesamtgewicht eines Knotens eine Salienz, und/oder der paarweise semantische Abstand zwischen zwei Knoten repräsentiert eine semantische Kohäsion. Gewichte werden in dem Wissensgraphen seinen Knoten und/oder Kanten zugewiesen. Semantische Abstände werden in dem Wissensgraphen Paaren seiner Knoten zugewiesen. Die Gewichte und semantischen Abstände werden vorzugsweise im Voraus berechnet und im Voraus gespeichert, zum Beispiel in einem Hauptspeicher oder einer Datenbank, zum Beispiel zusammen mit dem Wissensgraphen.
-
Graphenelemente mit höherer Salienz weisen kleinere Gewichte auf. Weniger saliente Graphenelemente weisen größere Gewichte auf. Der semantische Abstand ist nicht mit dem Abstand im Graphen zu verwechseln. Tatsächlich können zwei Entitäten, die in der Graphenstruktur nahe beieinander sind, semantisch weit voneinander entfernt sein, z. B. zu nicht im Zusammenhang stehenden Themen im Wissensgraphen gehören. Stärker kohäsive Graphenelemente weisen einen kleinen semantischen Abstand auf. Weniger kohäsive Graphenelemente weisen einen größeren semantischen Abstand auf. Durch Integrieren des semantischen Abstands in das Verfahren kann die semantische Kohäsion einer Antwort verbessert werden.
-
Das Verfahren löst das Problem des Berechnens semantisch kohäsiver Antworten auf Schlüsselwortanfragen.
-
Gemäß einer Ausführungsform umfasst der Schritt des Bestimmens einer optimalen Wegmenge:
- Bestimmen, für einen Wurzelknoten des Wissensgraphen, einer lokal optimalen Wegmenge, wobei die Wegmenge Wege in dem Wissensgraphen umfasst, die den Wurzelknoten mit Knoten verbinden, die mit den Schlüsselwörtern der Schlüsselwortanfrage übereinstimmen, und wobei die lokal optimale Wegmenge optimal im Hinblick auf minimale Kosten der Wegmenge für den jeweiligen Wurzelknoten ist.
-
Ein Wurzelknoten ist ein Knoten des Wissensgraphen in einer Wegmenge, wobei die Wege der Wegmengen den gemeinsamen Wurzelknoten mit Knoten verbinden, die mit den Schlüsselwörtern der Schlüsselwortanfrage übereinstimmen.
-
Gemäß einer Ausführungsform sind die Kosten einer Wegmenge gegeben durch die Summe des Gesamtgewichts des Wurzelknotens und der Gesamtgewichte der Knoten, die mit den Schlüsselwörtern der Schlüsselwortanfrage übereinstimmen, und der paarweisen semantischen Abstände zwischen dem Wurzelknoten und den Knoten, die mit den Schlüsselwörtern der Schlüsselwortanfrage übereinstimmen.
-
Gemäß einer Ausführungsform umfasst der Schritt des Bestimmens einer optimalen Wegmenge:
- Gewinnen der lokal optimalen Wegmenge mit den minimalen Kosten als optimale Wegmenge. Der Schritt kann einen iterativen Prozess zum Berechnen lokal optimaler Wegmengen und Aktualisieren der optimalen Wegmenge, falls eine lokal optimale Wegmenge mit niedrigeren Kosten gefunden wird, umfassen.
-
Gemäß einer Ausführungsform umfasst das Verfahren einen Vorverarbeitungsschritt des Rankings der Wurzelknoten. Somit kann die Reihenfolge der Aufzählung von Wurzelknoten geändert werden, was zu einer unterschiedlichen Laufzeit führen kann.
-
Gemäß einer Ausführungsform wird der Schritt des Bestimmens einer lokal optimalen Wegmenge für einen Wurzelknoten des Wissensgraphen um wenigstens eine Pruning-Strategie erweitert. Durch Pruning (Beschneiden) kann der Suchraum begrenzt werden, was die praktische Leistungsfähigkeit des Verfahrens verbessern kann.
-
Gemäß einer Ausführungsform umfasst der Schritt des Extrahierens der Antwort aus der optimalen Wegmenge das Vereinigen der Wege der optimalen Wegmenge zu einem Teilgraphen des Wissensgraphen. Der Teilgraph ist über den jeweiligen Wurzelknoten verbunden und enthält Knoten, die mit den Schlüsselwörtern übereinstimmen.
-
Gemäß einer Ausführungsform umfasst der Schritt des Extrahierens der Antwort aus der optimalen Wegmenge ferner:
- Entfernen unnötiger Knoten und/oder Kanten aus dem Teilgraphen. Dies ermöglicht es, die Strukturgröße der Antwort zu verringern. Der Schritt des Entfernens unnötiger Knoten und/oder Kanten kann wiederholt werden, bis die Antwort strukturell minimal wird. Strukturelle Minimalität besagt, dass die Antwort, insbesondere der Teilgraph, eine Baumstruktur aufweist, wobei Blattknoten Schlüsselwortknoten sind.
-
Weitere Ausführungsformen betreffen eine Vorrichtung zur Schlüsselwortsuche in einem Datensatz, wobei Daten des Datensatzes durch einen Wissensgraphen dargestellt sind, wobei der Wissensgraph Knoten, die Entitäten des Datensatzes darstellen, und Kanten, die Beziehungen zwischen diesen Entitäten darstellen, umfasst, wobei die Vorrichtung einen Eingang umfasst, der dafür ausgelegt ist, eine Schlüsselwortanfrage zu empfangen, die eine Menge von Schlüsselwörtern umfasst, und dafür ausgelegt ist, Schlüsselwörter auf Knoten des Wissensgraphen abzubilden,
wobei die Vorrichtung ferner einen Prozessor umfasst, wobei der Prozessor ausgelegt ist zum
Bestimmen einer optimalen Wegmenge, wobei die optimale Wegmenge Wege in dem Wissensgraphen umfasst, welche Knoten verbinden, die mit den Schlüsselwörtern der Schlüsselwortanfrage übereinstimmen, und wobei die optimale Wegmenge optimal im Hinblick auf minimale Kosten der Wegmenge ist, wobei die Kosten auf einer Linearkombination des Gesamtgewichts von Knoten der optimalen Wegmenge und paarweisen semantischen Abständen zwischen den Knoten der optimalen Wegmenge basieren, und
-
Extrahieren einer Antwort auf die Schlüsselwortanfrage aus der optimalen Wegmenge, und wobei die Vorrichtung einen Ausgang umfasst, der dafür ausgelegt ist, die Antwort auf ein Ergebnis der Schlüsselwortanfrage abzubilden, und dafür ausgelegt ist, das Ergebnis auszugeben.
-
Gemäß einer Ausführungsform ist die Vorrichtung dafür ausgelegt, Schritte des Verfahrens gemäß den beschriebenen Ausführungsformen auszuführen.
-
Weitere Ausführungsformen betreffen ein Computerprogramm zur Schlüsselwortsuche in einem Datensatz, das computerlesbare Anweisungen umfasst, welche, wenn sie von einem Computer ausgeführt werden, bewirken, dass der Computer Schritte des beschriebenen Verfahrens ausführt.
-
Weitere Ausführungsformen sind aus der folgenden Beschreibung und der Zeichnung ableitbar. In der Zeichnung zeigen:
- 1 einen beispielhaften Wissensgraphen;
- 2 Aspekte einer Vorrichtung zur Schlüsselwortsuche; und
- 3 Aspekte eines Verfahrens zur Schlüsselwortsuche.
-
1 zeigt einen beispielhaften Wissensgraphen (Knowledge Graph, KG) 100.
-
Der KG 100 umfasst einen ersten Knoten 102, einen zweiten Knoten 104, einen dritten Knoten 106, einen vierten Knoten 108, einen fünften Knoten 110, einen sechsten Knoten 112, einen siebenten Knoten 114, einen achten Knoten 116, einen neunten Knoten 118, einen zehnten Knoten 120, einen elften Knoten 122 und einen zwölften Knoten 124. Eine Kante 126 des KG 100 beginnt am Knoten 104 und endet am Knoten 102. Eine Kante 128 des KG 100 beginnt am Knoten 106 und endet am Knoten 104. Eine Kante 130 des KG 100 beginnt am Knoten 106 und endet am Knoten 108. Eine Kante 132 des KG 100 beginnt am Knoten 108 und endet am Knoten 110. Weitere Kanten des KG 100 sind die Kante 134 zwischen dem Knoten 104 und dem Knoten 112, Kante 136 zwischen dem Knoten 108 und dem Knoten 114, Kante 138 zwischen dem Knoten 108 und dem Knoten 116, Kante 140 zwischen dem Knoten 118 und dem Knoten 112, Kante 142 zwischen dem Knoten 112 und dem Knoten 120, Kante 144 zwischen dem Knoten 114 und dem Knoten 122, die Kante 146 zwischen dem Knoten 114 und dem Knoten 124, Kante 148 zwischen dem Knoten 114 und dem Knoten 116 und Kante 150 zwischen dem Knoten 120 und dem Knoten 122.
-
Der KG 100 kann auch mehr oder weniger Knoten und/oder mehr oder weniger Kanten umfassen. In dem Beispiel repräsentiert der KG 100 beispielhaftes Wissen. Zur Analyse von Daten aus anderen Gebieten, insbesondere technischen Gebieten, können entsprechende KGs verwendet werden.
-
In dem Beispiel werden die Informationen auf die Knoten und die Kanten gemäß der folgenden Abbildung von Knoten-Bezugszahlen auf Schlüsselwörter und der folgenden Abbildung von Kanten-Bezugszeichen auf Schlüsselwörter abgebildet:
- 102
- Republikanische Partei
- 104
- George H. W. Bush
- 106
- Anne Hutchinson
- 108
- Franklin D. Roosevelt
- 110
- John Aspinwall Roosevelt
- 112
- Barbara Bush
- 114
- James Roosevelt
- 116
- Demokratische Partei
- 118
- The After Party: The last Party 3
- 120
- Mercedes
- 122
- Deutschland
- 124
- Zweiter Weltkrieg
- 126
- Partei
- 128
- Nachkomme
- 130
- Nachkomme
- 132
- Kind
- 134
- Enkelkind
- 136
- Kind
- 138
- Partei
- 140
- spielt eine Hauptrolle
- 142
- fährt
- 144
- besuchte
- 146
- Schlacht
- 148
- Partei
- 150
- hergestellt in
-
Der KG 100 wird in dem Beispiel als ein Datensatz zur Schlüsselwortsuche in dem Datensatz verwendet. Die Erfindung ist nicht auf Schlüsselwörter beschränkt, welche für einen Menschen lesbar oder verständlich sind. Der Begriff „Schlüsselwort“ bezieht sich in diesem Zusammenhang allgemeiner auf ein beliebiges Symbol oder Muster in den Daten, welches mit einem entsprechenden KG analysiert werden kann.
-
Ein erster Teilgraph 152, der ein beispielhaftes Ergebnis der Schlüsselwortsuche darstellt, umfasst den zweiten Knoten 104, den dritten Knoten 106, die vierten Knoten 108, den sechsten Knoten 112, den siebenten Knoten 114 und die Kanten zwischen diesen Knoten. Der erste Teilgraph 152 repräsentiert in diesem Beispiel eine Antwort auf eine Anfrage, welche durch ein erstes Schlüsselwort „Barbara Bush“ und ein zweites Schlüsselwort „James Roosevelt“ repräsentiert wird.
-
Ein zweiter Teilgraph 154, der ein anderes beispielhaftes Ergebnis der Schlüsselwortsuche darstellt, umfasst den sechsten Knoten 112, den siebenten Knoten 114, den zehnten Knoten 120 und den elften Knoten 122 und die Kanten zwischen diesen Knoten. Der zweite Teilgraph 154 repräsentiert in diesem Beispiel eine andere Antwort auf die Anfrage, welche durch die Schlüsselwörter „Barbara Bush“ und „James Roosevelt“ repräsentiert wird.
-
Aspekte einer Vorrichtung 200 zur Schlüsselwortsuche in dem Datensatz sind in 2 dargestellt.
-
Die Vorrichtung 200 umfasst einen Eingang 202, einen Prozessor 204 und einen Ausgang 206. Der Eingang 202 stellt in dem Beispiel eine Schnittstelle für Schlüsselwörter der Daten bereit, welche durchsucht werden sollen. Der Prozessor 204 ist dafür ausgelegt, den ersten Teilgraph 152 und/oder den zweiten Teilgraph 154 zu bestimmen. Der Ausgang 206 ist dafür ausgelegt, die Antwort auf ein Ergebnis der Schlüsselwortanfrage abzubilden, und dafür ausgelegt, das Ergebnis der Schlüsselwortsuche auszugeben.
-
Der KG 100 kann in einem Speicher 208 in der Vorrichtung 200 gespeichert sein. Der KG 100 kann in einem Speicher gespeichert sein, welcher sich außerhalb der Vorrichtung 200 befindet. Datenverbindungen verbinden den Eingang 202 und den Prozessor 204, den Ausgang 206 und den Prozessor 204 und den Speicher 208 und den Prozessor 204. Computerlesbare Anweisungen können in dem Speicher 208 oder in einem anderen Speicher gespeichert sein. Der Prozessor 204 ist in dem Beispiel dafür ausgelegt, die computerlesbaren Anweisungen auszuführen, um die Schlüsselwortsuche gemäß dem Verfahren durchzuführen, welches im Folgenden unter Bezugnahme auf 3 beschrieben wird.
-
Das Verfahren zur automatischen Analyse von Daten wird nun für einen Wissensgraphen G = 〈V, E〉 beschrieben, wobei V eine Menge von n numerischen Darstellungen von Knoten v1, ..., vn ist und E ⊆ V × V eine Menge von m numerischen Darstellungen von gerichteten Kanten ist, welche Beziehungen zwischen Entitäten repräsentieren, welche durch die Knoten dargestellt werden. Entitäten und Beziehungen können mit Text erläutert werden, z. B. mit ihren Namen. Die Kanten in dem Graphen können in verschiedene Richtungen gerichtet sein. In dem beispielhaften KG 100 ist n = 12 und m = 13.
-
Die Schlüsselwortsuche basiert auf einer Schlüsselwortanfrage Q = {k1, ..., kg}, welche die g Schlüsselwörter k1, ..., kg umfasst.
-
In einem Schritt 302 wird eine Schlüsselwortanfrage Q empfangen, die eine Menge von Schlüsselwörtern k1, ..., kg umfasst. Die Schlüsselwörter werden auf numerische Darstellungen von Knoten abgebildet. In dem Beispiel werden die g Schlüsselwörter k1, ..., kg auf g numerische Darstellungen von Knoten v1, ..., vg abgebildet. Ein Schlüsselwort kann auf mehrere Knoten abgebildet werden. Gemäß einem Aspekt wird wenigstens eines der g Schlüsselwörter k1,...,kg auf wenigstens eine numerische Darstellung von Knoten v1, ...,vg abgebildet. Um ein Ergebnis für jedes der g Schlüsselwörter k1, ...,kg zu erhalten, wird jedes der g Schlüsselwörter k1, ..., kg auf wenigstens eine numerische Darstellung von Knoten v1, ..., vg abgebildet. Falls ein Schlüsselwort nicht auf irgendeinen Knoten in dem Wissensgraphen abgebildet werden kann, dann kann das Ergebnis leer sein.
-
Es kann eine Schlüsselwortabgleichsfunktion verwendet werden, um ein Schlüsselwort auf einen beliebigen Knoten des Wissensgraphen abzubilden. Zum Beispiel kann die Abgleichsfunktion auf schriftlichen Annotationen basieren, welche ein Schlüsselwort umfassen. Die Erfindung ist jedoch nicht auf irgendeine spezielle Abbildungsfunktion beschränkt.
-
Gemäß dem Beispiel umfasst die Anfrage g = 2 Schlüsselwörter, und das erste Schlüsselwort k1 = „Barbara Bush“ wird auf die numerische Darstellung des Knotens 112 abgebildet, und das zweite Schlüsselwort k2 = „James Roosevelt“ wird auf die numerische Darstellung des Knotens 114 abgebildet.
-
Gemäß einem Aspekt kann eine Funktion hits (Treffer): K → 2
V verwendet werden, um eine Menge
von Schlüsselwörtern auf eine Teilmenge der numerischen Darstellungen der Knoten des Wissensgraphen G abzubilden. Die konkrete Implementierung von hits, d. h. die Art und Weise des Abgleichens von Schlüsselwörtern mit Annotationen von Entitäten, ist nicht Gegenstand der Offenbarung. Gemäß diesem Aspekt wird hits(k
i) als K
i für 1 ≤ i ≤ g bezeichnet, wobei K
i die numerischen Darstellungen einer Menge von Knoten sind, auf die das Schlüsselwort abgebildet wird, auch Schlüsselwortknoten genannt. Das Verfahren ist nicht auf diese Art und Weise des Abbildens beschränkt.
-
In der Offenbarung wird nicht auf das Abbilden von Kanten eingegangen, jedoch kann das Abbilden von Kanten durch Aufteilen von Kanten in das Abbilden von Knoten transformiert werden. Insbesondere liefert die Aufteilung einer Kante (u, v) einen neuen Knoten w mit den Annotationen der Kante (u, v) und ersetzt dann (u, v) durch zwei neue Kanten (u, w) und (w, v).
-
Für einen gegebenen G = (V, E) ist eine Antwort auf Q definiert als ein Teilgraph von G, der mit T = 〈VT, ET〉 bezeichnet wird, wobei der Teilgraph T die folgenden Anforderungen erfüllt. (1) T ist verbunden. (2) T enthält wenigstens einen Schlüsselwortknoten aus jedem Ki für 1 ≤ i ≤ g, d.h., TT n Ki ≠ Ø. (3) T ist strukturell minimal für (1) und (2), d.h., keiner seiner echten Teilgraphen genügt sowohl (1) als auch (2). Strukturelle Minimalität besagt, dass T eine Baumstruktur aufweist, wobei Blattknoten Schlüsselwortknoten sind.
-
Im Folgenden wird der Prozess der Berechnung der Antwort beschrieben.
-
In einem Schritt 304 wird eine optimale Wegmenge in dem Wissensgraphen G bestimmt. Die optimale Wegmenge umfasst Wege in dem Wissensgraphen G, welche Knoten verbinden, die mit den Schlüsselwörtern der Schlüsselwortanfrage übereinstimmen. Die optimale Wegmenge ist optimal im Hinblick auf minimale Kosten der Wegmenge ist, wobei die Kosten auf einer Linearkombination des Gesamtgewichts von Knoten der optimalen Wegmenge und paarweisen semantischen Abständen zwischen den Knoten der optimalen Wegmenge basieren.
-
Für G = 〈V, E〉 bildet eine Gewichtsfunktion Knoten auf nichtnegative reelle Zahlen ab, bezeichnet mit wt: V → ℝ≥0.
-
Eine semantische Abstandsfunktion sd bildet Paare von Knoten auf nichtnegative reelle Zahlen ab, bezeichnet mit sd: V × V ↦ ℝ≥0. Diese pseudometrische Funktion erfüllt für alle u, v, w ∈ V:
- sd(v, v) = 0, d. h. Nichtunterscheidbarkeit identischer Knoten,
- sd(u, v) = sd(v, u), d. h. Symmetrie, und
- sd(u, v) ≤ sd(u, w) + sd(w, v), d. h. eine Dreiecksungleichung.
-
Die Messung eines semantischen Abstands kann unabhängig von der Graphenstruktur und von den Knotengewichten erfolgen. Insbesondere unterscheidet sie sich vom Abstand im Graphen, nämlich der Anzahl der Kanten eines kürzesten Weges. Zum Beispiel können benachbarte Knoten semantisch entfernt voneinander sein.
-
Die Kosten einer Antwort T = 〈V
T, E
T 〉 sind das Gesamtgewicht ihrer Knoten und ihrer paarweisen semantischen Abstände:
wobei α ∈ [0,1] ein Parameter ist. In der Kostengleichung repräsentiert der erste Term die Salienz der Knoten von T, und der zweite Term charakterisiert ihre semantische Kohäsion. Das Verfahren erfordert keine spezielle Implementierung des Gewichts wt und des semantischen Abstands sd. Das Gewicht wt und die Art und Weise, wie der semantische Abstand sd bestimmt wird, können so gewählt werden, dass die Relevanz der Anfrage, die Zentralität in einer Graphenstruktur, die Semantik in Annotationen usw. berücksichtigt werden. Edmund Ihler, 1991, The Complexity of Approximating the Class Steiner Tree Problem, in WG 1991, 85-96, https://doi.org/10.1007/3-540-55121-2_8, liefert ein Beispiel für das Gewicht wt. Gaurav Bhalotia, Arvind Hulgeri, Charuta Nakhe, Soumen Chakrabarti, and S. Sudarshan, 2002, Keyword Searching and Browsing in Databases using BANKS, in ICDE 2002, 431-440, https://doi.org/10.1109/ICDE.2002.994756, liefert ein Beispiel für den semantischen Abstand sd. Kleine Gewichte repräsentieren Salienz, und ein kleiner semantischer Abstand repräsentiert Kohäsion. Die Berechnung des Gewichts wt und die des semantischen Abstands sd können unabhängig voneinander erfolgen. In dem Wissensgraphen werden Gewichte seinen Knoten zugewiesen. Gewichte von Knoten werden zum Beispiel im Voraus berechnet, z. B. unter Verwendung von normiertem pageRank.
-
In dem Wissensgraphen sind Kanten zum Beispiel vorausberechnete Beziehungen zwischen Knoten.
-
In dem Wissensgraphen werden semantische Abstände zum Beispiel für Paare seiner Knoten vorausberechnet.
-
Ein Ziel des Verfahrens 300 ist es, eine optimale Antwort zu bestimmen, wobei eine optimale Antwort eine Antwort ist, welche Kosten minimiert. Das Verfahren 300 erweitert das bekannte Group Steiner Tree, GST, Problem des minimalen Gewichts, das zum Beispiel in Edmund Ihler, 1991, The Complexity of Approximating the Class Steiner Tree Problem, beschrieben ist, indem quadratische Terme sd(vi, vj) in die Zielfunktion eingeführt werden, welche zusätzliche Kosten repräsentieren, die bezahlt werden, falls zwei Knoten vi und vj beide in T enthalten sind.
-
Der Schritt 304 wird in Bezug auf die folgenden Schritte ausführlich beschrieben:
- einen Schritt 306 des Bestimmens, für einen Wurzelknoten r des Wissensgraphen G, einer lokal optimalen Wegmenge r-RPS, wobei die Wegmenge Wege in dem Wissensgraphen G umfasst, die den Wurzelknoten r mit Knoten verbinden, die mit den Schlüsselwörtern der Schlüsselwortanfrage übereinstimmen, und wobei die lokal optimale Wegmenge optimal im Hinblick auf minimale Kosten der Wegmenge für den jeweiligen Wurzelknoten r ist.
- und einen Schritt 308 des Gewinnens der lokal optimalen Wegmenge r-RPS mit den minimalen Kosten als optimale Wegmenge.
- In G = 〈V, E〉, ist eine RPS (Relevant Path Set, RPS) eine Menge von Wegen, welche für eine Anfrage Q = {k1,..., kg} relevant sind. Speziell ist, wenn r ∈ V gegeben ist, welches Wurzelknoten genannt wird, eine lokal optimale Wegmenge r-RPS, mit Pr = {P1,...Pg} bezeichnet, eine solche Menge von g Wegen, dass für 1 ≤ i ≤ g jedes Pi = 〈VPii EPi ) ein Weg r - Ki ist, oder, genauer, ein Weg r - vi, welcher r mit einem Schlüsselwortknoten vi ∈ Ki verbindet. Es ist anzumerken, dass es für i ≠ j möglich ist, dass Ki n Kj ≠ Ø und Pi = Pj ist.
-
Kosten einer r-RPS, bezeichnet mit P
r = {P
1,..., P
g} mit P
i = 〈V
Pi E
Pi 〉 für 1 ≤ i ≤ g, sind durch die folgende Kostenfunktion gegeben:
-
Die Funktion vnum zählt die Knoten in einer a RPS. Sie zählt absichtlich den Wurzelknoten r nur einmal:
-
Für jeden Wurzelknoten r ∈ V wird eine lokal optimale Wegmenge r-RPS bestimmt, d. h. eine r-RPS, welche pcost minimiert:
-
Gemäß einem Aspekt der Offenbarung wird die folgende Variante von pcost definiert:
-
Da αwt(r) in der Funktion pcost eines jeden r-RPS erscheint, ist das Minimieren der Funktion pcost' äquivalent zum Minimieren von pcost:
-
Das Minimieren der Funktion pcost' berechnet die Summe der Kosten einer Menge von Wegen.
-
pcost' enthält jedoch vnum(Pr), welches von Pr abhängt und unbekannt ist, wenn ein Weg mit minimalen Kosten berechnet wird.
-
Daher wird jeder mögliche Wert von vnum(Pr) betrachtet, und somit wird er in jedem Fall eine Konstante.
-
Zum Beispiel P
r, wenn vnum(Pr) = n ist. Für einen Weg P = 〈V
P, E
p〉, der mit dem Wurzelknoten r beginnt, ist definiert:
-
Für v ∈ V wird das minimale pl
n von Wegen r-v, welche genau m Kanten umfassen, iterativ wie folgt berechnet:
wobei N(v) die Menge der Nachbarn von v in G ist. Das minimale pln von Wegen r-K
i, welche genau m Kanten umfassen, wird bezeichnet mit
-
Für 1 ≤ I ≤ g, seien Q
I ⊆ Q die ersten I Schlüsselwörter in Q:
-
Das minimale pcost' von r-RPSen, welche eine Gesamtzahl von genau m Kanten enthalten und für Q, relevant sind (d. h. I Wege umfassen, einen Weg r-K
i für jedes 1 ≤ i ≤ I), wird iterativ berechnet durch:
-
Da P
r, wenn vnum{P
r) = n ist, eine Gesamtzahl von n - 1 Kanten enthält, wird pc
n [g] in - 1] betrachtet. Schließlich wird, über alle möglichen Werte von vnum(P
r),
erhalten.
-
Für jedes n wird pcn [g] [n - 1] berechnet, und es wird Pr, die tatsächliche r-RPS mit minimalem-pcost', wenn vnum = n ist, rekonstruiert. Die Rekonstruktion kann durch Nachschlagen in Hilfs-Arrays implementiert werden, in denen berechnete Wege mit minimalen Kosten und RPSen standardmäßig verzeichnet sind.
-
Schließlich wird
aktualisiert, und die r-RPS mit lokal minimalem pcost wird als optimale Wegmenge P
# zurückgegeben, wobei P
# die RPS mit global minimalem pcost bezeichnet,.
-
Dies geschieht durch den Schritt 308 des Gewinnens der lokal optimalen Wegmenge r-RPS mit den minimalen Kosten als die optimale Wegmenge P#.
-
Das Verfahren umfasst ferner einen Schritt 310 des Extrahierens einer Antwort auf die Schlüsselwortanfrage aus der optimalen Wegmenge P#.
-
Die Antwort ist definiert als
-
Der Schritt 310 wird im Hinblick auf einen Schritt 312 des Vereinigens der Wege der optimalen Wegmenge zu einem Teilgraphen des Wissensgraphen und einen Schritt 314 des Entfernens unnötiger Knoten und Kanten aus dem Teilgraphen ausführlicher beschrieben.
-
Die optimale Wegmenge P# wird wie folgt in eine Antwort T# transformiert. Alle Wege r-vi in Pr werden zu einem Teilgraphen T# von G vereinigt, welcher über einen Wurzelknoten r verbunden ist und vi ∈ Ki für 1 ≤ i ≤ g enthält.
-
Gemäß den oben beschriebenen Anforderungen an eine Antwort T muss T die Anforderung erfüllen, strukturell minimal zu sein. Daher ist die Antwort T# eine optimale Antwort, wenn sie strukturell minimal ist. Andernfalls wird der Schritt 314 des Entfernens unnötiger Knoten und Kanten aus dem Teilgraphen wiederholt ausgeführt, bis dieser strukturell minimal ist.
-
Gemäß dem beispielhaften Wissensgraphen 100, der in 1 dargestellt ist, wird eine Antwort auf die Suchanfrage zum Beispiel durch den Teilgraphen 152 gegeben. Der Teilgraph 152 ist semantisch kohäsiv, im Gegensatz zu dem anderen Teilgraphen 154, welcher nicht semantisch kohäsiv ist. Daher ist der Teilgraph 152 die bevorzugte Antwort gemäß dieser Ausführungsform.
-
In einem Schritt 316 kann die Antwort auf ein Ergebnis der Schlüsselwortanfrage abgebildet werden, und das Schlüsselwortsuche kann ausgegeben werden.
-
Gemäß einem Aspekt der Offenbarung kann der Schritt 306 durch den folgenden Algorithmus implementiert werden, welcher Zeilen 1 bis 20 umfasst:
-
Gemäß einer Ausführungsform umfasst das Verfahren 300 einen Vorverarbeitungsschritt 318 des Rankings der Wurzelknoten. Eine RPS, die kurze Wege umfasst, weist wahrscheinlich ein kleines pcost auf. Für jeden potentielln Wurzelknoten r ∈ V wird die Länge eines kürzesten Weges r-Ki für 1 ≤ i ≤ g berechnet, bezeichnet durch eine Funktion dist[r] [i]. Die Funktion dist[r] [i] wird implementiert, indem g Breitensuchen durchgeführt werden, wobei jede Suche mit den Schlüsselwortknoten in einem einzigen Ki beginnt. Es wird die kleinste Gesamtanzahl von Kanten berechnet, die in einem r-RPS enthalten sind, bezeichnet mit R[r]. Wurzelknoten werden in aufsteigender Reihenfolge von R geordnet. Es seien Uτ ⊆ V τ bestplatzierte Wurzelknoten der Rangfolge, zum Bespiel τ = 10. Vorteilhafterweise kann in dem oben angegebenen beispielhaften Algorithmus für Schritt 306 die Schleife von Zeile 2 zum Aufzählen von V in der Rangfolge implementiert werden. In diesem Fall wird Schritt 306 bis zu den τ bestplatzierten Wurzelknoten verarbeitet, und nicht für all möglichen Wurzelknoten. Diese Maßnahme verringert die Laufzeit von Schritt 306 auf vorteilhafte Weise. Die praktische Leistungsfähigkeit des Verfahrens kann verbessert werden.
-
Gemäß einer anderen Ausführungsform wird das Verfahren 300, insbesondere der Schritt 306 des Bestimmens, für einen Wurzelknoten des Wissensgraphen, einer lokal optimalen Wegmenge um wenigstens eine Pruning-Strategie erweitert.
-
Im Folgenden werden drei Pruning-Strategien vorgestellt, welche die praktische Leistungsfähigkeit des Schrittes 306 des Verfahrens 300 wesentlich verbessern können.
-
Die erste Strategie bezieht sich auf das Pruning (Abschneiden) kleiner Werte von n, welches in dem oben angegebenen beispielhaften Algorithmus zum Einsatz kommen kann. In dem Algorithmus für Schritt 306 beginnt die äußerste Schleife in Zeile 2 mit n = 1. Gemäß der ersten Pruning-Strategie wird eine untere Schranke für vnum(Pr) (d h. n) berechnet, um kleine Werte von n „abzuschneiden“. Der Algorithmus kann wie folgt erweitert werden. Am Anfang des Algorithmus kann eine Breitensuche von G eingefügt werden, die mit r beginnt, um die kleinste Anzahl von Kanten in Wegen r-K
i für jedes 1 ≤ i ≤ g zu berechnen, bezeichnet mit l
r,i. Eine untere Schranke für vnum(Pr) ist gegeben durch
-
Daher kann die äußerste Schleife in Zeile 2 mit n = Lr begonnen werden.
-
Die erste Strategie bezieht sich auf das Pruning großer Werte von n. In dem oben angegebenen beispielhaften Algorithmus für Schritt 306 endet die äußerste Schleife in Zeile 2 mit n = (|V|- 1), was ein großer Wert sein kann. Gemäß der zweiten Pruning-Strategie wird eine untere Schranke für pcost(P
r), wenn vnum(Pr) = n ist, berechnet, um große Werte von n „abzuschneiden“. pcost(P
r) ist gegeben durch
-
Die Funktion pcost' berechnet die Summe der Kosten von g Wegen - einem Weg r-Ki für jedes 1 ≤ i ≤ g.
-
Durch Abbilden der Kosten eines Weges r-K
i auf die Länge, d. h. das Gesamtgewicht der Kanten eines Weges r-K
i in einem Graphen mit gewichteten Kanten kann ihre untere Schranke erhalten werden, indem die Länge eines kürzesten, d. h. ein minimales Gewicht aufweisenden Weges r-K
i in diesem Graphen mit gewichteten Kanten berechnet wird. Dies kann implementiert werden, indem der Algorithmus wie folgt erweitert wird. Am Anfang der äußersten Schleife wird ein gerichteter Graph mit gewichteten Kanten G
r,n = 〈V
r,
n, E
r,
n〉 erzeugt, wobei V
r,n = V und jede Kante (u, v) ∈ E zwei gerichteten Kanten (u, v), (v, u) ∈ E
r,
n entspricht. Jede gerichtete Kante (u, v) ∈ E
r,
n wird gewichtet mit
-
Der Dijkstra-Algorithmus kann auf G
r,n angewendet werden, um einen Weg r- K
i mit minimalem Gewicht für jedes 1 ≤ i ≤ g zu berechnen, bezeichnet mit P
r,n,i. Er weist das kleinste Gesamtgewicht der Kanten unter den Wegen r-K
i in G
r,n auf, bezeichnet mit d
r,n,i. Daher ist eine untere Schranke für pcost(P
r), wenn vnum(Pr) = n ist, gegeben durch
-
D
r,n wächst, wenn n wächst, daher kann die folgende Ungleichung geprüft werden:
-
Falls sie für das aktuelle n und
gilt, wird die äußerste Schleife abgebrochen, und das aktuelle
wird zurückgegeben, da für den aktuellen und die größeren Werte von n, d. h. vnum(Pr), kein P
r existiert, das ein kleineres pcost aufweist. In ähnlicher Weise kann die folgende Ungleichung geprüft werden:
-
Falls sie für das aktuelle n und P
#, welches die RPS mit global minimalem pcost im Algorithmus QO ist, gilt, wird die äußerste Schleife abgebrochen, und das aktuelle
wird zurückgegeben.
-
Die dritte Strategie bezieht sich auf das Pruning großer Werte von m, welches in dem oben angegebenen beispielhaften Algorithmus zum Einsatz kommen kann. In dem oben angegebenen beispielhaften Algorithmus für Schritt 306 enden einige innere Schleifen, zum Beispiel die Zeilen 10 und 16, mit m = min{n - 1, |V| - 1} oder x = min{m, |V|- 1}, was große Werte sein können. Diese m und x repräsentieren die Anzahl der Kanten in einem Weg r-Ki für 1 ≤ i ≤ g. Durch Berechnen einer oberen Schranke für diese Anzahl der Kanten können große Werte von m und x „abgeschnitten“ werden.
-
Gemäß der dritten Pruning-Strategie kann der Weg r- Ki mit minimalem Gewicht für jedes 1 ≤ i ≤ g, bezeichnet mit Pr,n,i, der gemäß der zweiten Pruning-Strategie berechnet wurde, ausgewertet werden. Die Anzahl der Kanten in Pr,n,i ist durch die Anzahl lr,n,i gegeben.
-
Es wird angenommen, dass eine r-RPS Pr, für die vnum(Pr) = n ist für das aktuelle n, eine r-RPS mit lokal minimalem pcost ist. Falls für irgendein 1 ≤ i ≤ der Weg r- Ki Pi ∈ Pr mehr als lr,n,i Kanten enthält, wird Pi durch Pr,n,i ersetzt, um eine andere r-RPS Pr' zu erzeugen. Ihr definiertes Gesamtgewicht der Kanten ist nicht größer als dasjenige von Pr, und ihr vnum ist kleiner. Daher ist pcost(Pr') ≤ pcost(Pr), d. h. Pr' ist auch eine r-RPS mit lokal minimalem pcost, wobei diese und/oder einige andere r-RPS mit lokal minimalem pcost in vorhergehenden Iterationen der äußersten Schleife für kleinere Werte von n gefunden worden sind. Es ist daher unnötig, Pr für das aktuelle n zu betrachten. Dies kann implementiert werden, indem der Algorithmus wie folgt erweitert wird: Verkleinern der Bereiche von m und x:
- Zeile 12: m bis min{n - 1, |V| - 1, lr,n,i,
- Zeile 15: m bis min{n - 1, Σ1≤i≤I lr,n,i,
- Zeile 16: max{0,m - Σ1≤i≤I-1 lr,n,i} ≤ x ≤ min{m, |V|- 1, lr,n,i},
- Zeile 10: m bis min{n - 1, |V| - 1,lr,n,i,
- Zeile 6: m bis