-
GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft eine Ähnlichkeitssuche, im Allgemeinen
zum Durchsuchen von Datenbanken, und betrifft die Clusterbildung
und das Abgleichen von Posten in einer Datenbank. Eine Ähnlichkeitssuche
wird ebenso als Suche des nächstliegenden
Nachbarn („nearest
neighbor search")
oder als Nähesuche
(„proximity
search") bezeichnet.
-
HINTERGRUND DER ERFINDUNG
-
Die Ähnlichkeitssuche
zielt darauf ab, Posten in einer Sammlung von Posten zu identifizieren, welche
einem gegebenen Posten oder einer Spezifizierung ähnlich sind.
Die Ähnlichkeitssuche
hat zahlreiche Anwendungen, welche von Empfehlungsmaschinen für den elektronischen
Handel (z.B. Bereitstellen der Fähigkeit,
einer Nutzerin Bücher
zu zeigen, welche einem Buch ähnlich
sind, das sie gekauft hat und mag) bis Suchmaschinen für Bioinformatik (z.B.
Bereitstellen der Fähigkeit,
einem Nutzer Gene zu zeigen, welche ähnliche Eigenschaften wie ein Gen
mit bekannten Eigenschaften hat).
-
Herkömmlicherweise
ist das Problem der Ähnlichkeitssuche
hinsichtlich der Euklidischen geometrischen Distanz im Euklidischen
Raum definiert worden. Die euklidisch-geometrische Ansatz ist seit seiner
Verwendung in einem sehr frühen
Werk, welches sich auf die Ähnlichkeitssuche
bezieht, in großem
Umfang auf die Ähnlichkeitssuche
angewendet worden. Das Teile-und-Erobere-Verfahren
(„divide-and-conquer
method") zum Berechnen
der nächstliegenden
Nachbarn eines Punkts in einem zweidimensionalen geometrischen Raum,
welches in M.I. Shamos und D. Hoey, "Closest-Point Problems" in Proceedings of
the 16th Annual Symposium an Foundations
of Computer Science, IEEE, 1975, vorgeschlagen wurde, ist ein Beispiel
eines derartigen frühen
Werks, in diesem Fall in zwei Dimensionen.
-
Spätere Arbeit
verallgemeinerte das Problem der Ähnlichkeitssuche über zweidimensionale Räume hinaus
auf geometische Räume
höherer
Dimension. Z.B. stellt die Indexstruktur, welche in A. Goodman, "R-Trees: A dynamic
index structure for special searching" in Proceedings of the ACM SIG-MOD Conference,
1984, vorgeschlagen ist, ein allgemeines Verfahren bereit, um die Ähnlichkeitssuche
für geometrische
Daten mit niedriger Dimension anzugehen.
-
Die Ähnlichkeitssuche
von geometrischen Daten hoher Dimension stellt große Anforderungen an
Ressourcen und lässt
Leistungsprobleme entstehen. Indexstrukturen, wie R-Bäume („R-Trees"), haben eine schwache
Leistung bei hochdimensionalen Räume
und werden im Allgemeinen durch Ansätze „roher Gewalt" („brute-force
approaches") (d.h. durchscannen
des gesamten Datensatzes) ausgeführt,
wenn die Anzahl von Dimensionen 30 erreicht (oder sogar weniger).
Dieses Problem ist als der „Fluch
der Dimensionalität" ("Curse of Dimensionality") bekannt. Die Kosten
der „brute-force"-Ansätze sind
proportional zu der Größe des Datensatzes,
was sie unpraktisch macht für
Anwendungen, welche interaktive Erwiderungszeiten für Ähnlichkeitssuchen auf
großen
Datensätzen
bereitstellen müssen.
-
Jüngere Werke
schlagen vor, dass sogar dann, wenn es möglich ist, Leistungsprobleme
zu lösen
und eine Vorrichtung zu bauen, welche das Problem der Ähnlichkeitssuche
für hochdimensionale geometrische
Daten effizient löst,
es immer noch ein Qualitätsproblem
bei den Ergebnissen geben kann, nämlich, dass die Ausgabe einer
derartigen Vorrichtung einen geringen. Wert für Daten aus der echten Welt
hat. Der Grund für
dieses Problem ist bei K. Beyer, J. Goldstein, R. Ramakrishnan,
U. Schaft, "When is
nearest neighbour meaningfull?" in
Proceedings of the 7th International Conference
an Database Theory, 1999, diskutiert. Zusammenfassend gesagt, nähert sich
unter einem weiten Satz von Bedingungen, wenn die Anzahl der Dimensionen
zunimmt, die Distanz von dem gegebenen Datenpunkt zu dem nächstliegenden
Datenpunkt in der Sammlung der Distanz zu dem am weitesten entfernt liegenden
Datenpunkt, wodurch das Bemerken eines nächstliegenden Nachbarn bedeutungslos
gemacht wird.
-
Dass
sich das Euklidische geometrische Modells üblicherweise auf geometrische
Begriffe verlässt,
um nächstliegende
Nachbarn und die Suche eines nächstliegenden
Nachbarn zu definieren, schränkt
die Verallgemeinerung des Modells ein. Nach Maßgabe des Modells wird insbesondere
angenommen, dass eine Sammlung von Materialien, an welchen eine Ähnlichkeitssuche
ausgeführt
werden soll, aus einer Sammlung von Punkten in einem Euklidischen
Raum von n Dimensionen Rn besteht. Wenn n
2 oder 3 ist, kann dieser Raum eine buchstäbliche geometrische Interpretation
haben, welche einer zwei- oder dreidimensionalen pyhsikalischen
Wirklichkeit entspricht. Bei vielen Anwendungen jedoch ist die Sammlung
von Materialien nicht in einem physikalischen Raum angeordnet. Vielmehr
sind typischerweise jedem Posten in einer Sammlung bis zu n Eigenschaften
zugeordnet, und die Eigenschaften sind auf n real-wertige Dimensionen
gemappt, um den Euklidischen Raum Rn zu
bilden. Jeder Posten mappt auf einen Punkt in Rn,
welcher durch einen Vektor repräsentiert
sein kann.
-
Dieses
Mapping kann viele Probleme darstellen. Eigenschaften von Posten
in der Sammlung mappen vielleicht nicht unbedingt auf real-wertige
Dimensionen. Insbesondere kann eine Eigenschaft einen Satz von diskreten
ungeordneten Werten annehmen, z.B. das Geschlecht ist eines aus
{männlich, weiblich}.
Derartige Werte lassen sich nicht natürlich in real-wertige Dimensionen übersetzen.
Ebenso haben, allgemein gesprochen, die Werte für unterschiedliche Eigenschaften,
sogar dann, wenn sie real-wertig sind, vielleicht nicht dieselben
Einheiten. Demgemäß ist die
Normalisierung von Eigenschaften ein weiteres Thema.
-
Ein
weiteres bedeutsames Thema bei dem euklidisch-geometrischen Modell
entsteht aus den Korrelationen zwischen den Eigenschaften. Die Euklidische
Distanzmetrik bei Rn ist dann anwendbar, wenn
die n Abmessungen unabhängig
und identisch verteilt sind. Eine Normalisierung kann ein Fehlen einer
identischen Verteilung überwinden,
aber eine Normalisierung geht im Allgemeinen nicht eine Abhängigkeit
zwischen den Eigenschaften an. Eigenschaften können verschiedene Typen von
Abhängigkeit
vorweisen. Ein starker Abhängigkeitstyp
ist Implizierung. Zwei Eigenschaften sind dann durch Implizierung
aufeinander bezogen, wenn das Vorhandensein der Eigenschaft X das
Vorhandensein der Eigenschaft Y impliziert. Zum Beispiel Örtlichkeit:
Nordpol impliziert Klima: eiskalt, was eine Abhängigkeit definiert. Viele Abhängigkeiten
jedoch sind viel subtiler. Abhängigkeiten
können
mehr als zwei Eigenschaften umfassen, und die Sammlung von Abhängigkeiten
für eine
Sammlung von Materialien kann schwierig zu erfassen und unpraktisch
aufzuzählen sein.
Sogar dann, wenn die Dimensionen normalisiert sind, fakturiert eine
Euklidische Distanzmetrik beim Bestimmen der Distanz zwischen zwei
Posten in jeder Eigenschaft unabhängig. Als Folge können Abhängigkeiten
die Nützlichkeit
der euklidisch-geometrischen Annäherung
bei der Euklidischen Distanzmetrik für das Problem der Ähnlichkeitssuche verringern.
-
Zum
Beispiel kann ein Modell einer Sammlung von Videos jedes Video als
einen Vektor auf Grundlage von den Schauspielern repräsentieren, welche
Hauptrollen in ihm spielen. In einem euklidisch-geometrischen Modell
würde jeder
Schauspieler auf seine oder ihre eigene Dimension gemappt sein,
d.h. es würde
so viele Dimensionen in dem Raum geben, wie unterschiedliche Schauspieler
in einer Sammlung von Videos repräsentiert sind. Eine Annahme,
welche gemacht werden könnte,
um das Modell zu vereinfachen, ist, dass das Vorhandensein eines
Schauspielers in einem Video eine binäre Information ist, d.h. die
einzig bezogene, in dem Modell erhältliche Information ist, ob
ein gegebener Schauspieler eine Hauptrolle in einem gegebenen Video gespielt
hat oder nicht. Somit würde
jedes Video als ein n-dimensionaler Vektor von 0/1-Werten repräsentiert
werden, wobei n die Anzahl von Schauspielern in der Sammlung ist.
Ein Video mit Aaron Eckhart, Matt Mallow und Stacy Edwards z.B.
würde als
ein Vektor in R" repräsentiert
werden, welcher Werte von 1 für die
Dimensionen entsprechend denjenigen drei Schauspielern umfasst,
und Werte von 0 für
alle anderen Dimensionen.
-
Während diese
Vektorrepräsentierung
prinzipiell vernünftig
erscheint, stellt sie Probleme für
die Ähnlichkeitssuche
dar. Die Distanz zwischen zwei Videos ist eine Funktion davon, wie
viele Schauspieler die zwei Videos gemeinsam haben. Typischerweise würde definiert
werden, dass die Distanz umgekehrt zu der Anzahl von Schauspielern
bezogen ist, welche die zwei Videos gemeinsam haben. Die Distanzfunktion
verursacht dann Probleme, wenn ein Satz von Schauspielern üblicherweise
in vielen derselben Videos spielt. Zum Beispiel ist es wahrscheinlich,
dass in einem Video mit Wiliam Shatner ebenso Leonard Nimoy, DeForest
Kelley und der Rest der Star Trek-Besetzung spielt. In der Tat ist
es wahrscheinlich, dass alle beliebigen zwei Star Trek-Videos ein Dutzend
Schauspieler gemeinsam haben. Im Gegensatz dazu wären zwei
Videos in einer Reihe mit weniger regelmäßig wiederkehrenden Schauspielern (z.B. „Star Wars"/Krieg der Sterne)
gemäß dieser
Euklidischen Distanzfunktion weiter entfernt, obwohl die Star Trek-Spielfilme
nicht unbedingt "ähnlicher" sind als die Star
Wars-Spielfilme. Die Abhängigkeit
zwischen den Schauspielern in den Star Trek-Spielfilmen ist derart,
dass sie beinahe als ein einziger Schauspieler behandelt werden
sollten.
-
Eine
Annäherung
zum Lösen
dieses Problems ist es, die Dimensionen zu normalisieren. Eine derartige
Annäherung
würde die
n-Dimensionen transformieren, indem jedem Schauspieler eine Gewichtung
zugewiesen wird, d.h. indem bestimmte Schauspieler in der Sammlung
mehr zählen
als andere. Somit würde
zwei Videos, welche einen stark-gewichteten Schauspieler gemeinsam
haben, mehr Ähnlichkeit
zugedacht als zwei Videos, welche einen weniger bedeutenden Schauspieler
gemeinsam haben.
-
Ein
derartiger Ansatz richtet sich jedoch im Allgemeinen lediglich an
isolierte Abhängigkeiten. Wenn
der Satz von Schauspielern sauber in unverbundene Gruppen von Schauspielern
geteilt werden kann, welche immer zusammen spielen, dann wird die
Normalisierung effektiv sein. Die Realität ist jedoch, dass Schauspieler
nicht so sauber getrennt werden können. Schauspieler gehören im Allgemeinen
mehrfachen, nicht-unverbundenen Gruppen an, und diese Gruppen spielen
nicht immer zusammen. Mit anderen Worten gibt es komplexe Abhängigkeiten.
Sogar mit einer Normalisierung kann eine Euklidische Distanzmetrik
nicht genau Daten modellieren, welche diese Arten von Abhängigkeiten
vorweisen. Eine Normalisierung berücksichtigt keinen Kontext. Und
derartige Abhängigkeiten
sind bei Daten der Wirklichkeit eher die Regel als die Ausnahme,
Modifizierungen an dem euklidisch-geometrischen Modell und der Euklidischen
Distanzmetrik können
in der Lage sein, einige dieser Nachteile anzugehen. A. Hinneburg,
C. Aggarwal und D. Keim, "What
is the nearest neighbour in high dimensional spaces?" in Proceedings of
the 26th VLDB Conference, 2000, hat eine
Variation der herkömmlichen
Definition einer Ähnlichkeitssuche
vorgeschlagen, um das Problem von Abhängigkeiten anzugehen. Das Verfahren
von Hinneburg et al. verwendet eine Heuristik, um den Datensatz
auf einen Unterraum mit niedrigen Dimensionen zu projizieren, dessen
Dimensionen auf Grundlage des Punkts gewählt werden, auf welchen die Ähnlichkeitssuche
ausgeführt
wird. Da dieser Ansatz in der Euklidischen Geometrie verankert ist,
verkörpert
sie immer noch einige innewohnende Nachteile von Euklidischen Ansätzen.
-
Das
Problem der Clusterbildung ist mit dem Problem der Ähnlichkeitssuche
verwandt. Das Problem der Clusterbildung ist, einen Satz von Posten
in Cluster zu teilen, sodass zwei Posten in demselben Cluster ähnlicher
sind als zwei Posten in verschiedenen Clustern. Die meisten mathematischen
Formulierungen des Problems der Clusterbildung reduzieren sich auf
NP-vollständige
Entscheidungsprobleme, und somit glaubt man nicht, dass es effiziente
Algorithmen gibt, welche optimale Lösungen garantieren können. Bestehende
Lösungen
des Problems der Clusterbildung beruhen im Allgemeinen auf den oben
diskutierten Typen geometrischer Algorithmen, um den Ähnlichkeitsgrad
zwischen Posten zu bestimmen, und sind Gegenstand ihrer Beschränkungen.
-
Das
Problem des Abgleichens bezieht sich ebenso auf das Problem der Ähnlichkeitssuche.
Das Problem des Abgleichens ist, Paare von Posten aus einem Satz
von Posten zu bilden, sodass ein Paar von Posten, welches miteinander
abgeglichen ist, ähnlicher
ist als zwei Posten, welche nicht miteinander abgeglichen sind.
Es gibt zwei Arten von Abgleich-Problemen des Abgleichens: zweiteilige
und nicht-zwietilige. Bei einem zweiteiligen Problem des Abgleichens
sind die Posten in zwei unverbundene und vorzugsweise gleich große Untersätze geteilt; das
Ziel ist es, jeden Posten in dem ersten Untersatz mit einem Posten
in dem zweiten Untersatz abzugleichen. Nicht-zweiteiliges Abgleichen ist ein spezieller Fall
von Clusterbildung. Bestehende Lösungen
für das
Problem des Abgleichens beruhen im Allgemeinen auf die oben diskutierten
Typen von geometrischen Algorithmen, um den Ähnlichkeitsgrad zwischen Posten
zu bestimmen, und sind Gegenstand ihrer Beschränkungen.
-
Ein
Artikel mit dem Titel "Term-Weighting
Approaches in Automatic Text Retrieval" von Salton, G. et al., in Information
Processing and Management, Vol. 24, Nr. 5, S. 513–523, 1988,
diskutiert Ansätze bei
Textindexsystemen auf Grundlage der Zuweisung von geeignet gewichteten
einzelnen Begriffen. Die diskutierten Gewichtungen umfassen eine
inverse Dokumentfrequenz, welche invers zu der Anzahl von Dokumenten
in einer Sammlung schwankt, welchen ein Begriff zugewiesen ist.
-
ABRISS DER ERFINDUNG
-
Die
Erfindung stellt ein Computer-implementiertes Verfahren, wie in
Anspruch 1 dargelegt ist, ein Computerprogrammprodukt, wie in Anspruch
31 dargelegt ist, und ein Computersystem bereit, um Datenaufzeichnungen
zu verwalten, wie in Anspruch 36 dargelegt ist.
-
Im
Allgemeinen stellen die Ausführungsformen
ein Verfahren einer Ähnlichkeitssuche
sowie ein System bereit, welches einen alternativen, nicht-Euklidischen Ansatz
verwendet, sind auf eine Vielzahl von Typen von Datensätzen anwendbar
und geben Ergebnisse zurück,
welche für
die Datensätze
der Wirklichkeit bedeutungsvoll sind. Ausführungsformen arbeiten an einer
Sammlung von Posten, von welchen jedem eine oder mehrere Eigenschaften
zugeordnet ist, und verwenden eine Distanzmetrik, welche als Distanz
zwischen zwei Sätzen
von Eigenschaften definiert ist. Die Distanzmetrik ist durch eine Funktion
definiert, welche mit der Anzahl von Posten in der Sammlung korreliert
ist, denen Eigenschaften in der Schnittmenge der zwei Sätze von
Eigenschaften zugeordnet sind. Wenn die Anzahl von Posten niedrig
ist, wird die Distanz typischerweise niedrig sein; und wenn die
Anzahl von Posten hoch ist, wird die Distanz typischerweise hoch
sein. Bei einer Distanzfunktion nach Maßgabe der Erfindung ist die
Distanz äquivalent
mit der Anzahl von Posten in der Sammlung, welchen alle Eigenschaften
in der Schnittmenge der zwei Sätze
von Eigenschaften zugeordnet sind. Zum Identifizieren der nächstliegenden
Nachbarn eines einzelnen Postens oder einer Gruppe von Posten in
einer Sammlung von Posten wird die Distanzmetrik zwischen dem Satz
von Eigenschaften, welche dem Referenzposten oder den Referenzposten
zugeordnet sind, und den Sätzen
von Eigenschaften, welche den anderen Posten der Sammlung zugeordnet
sind, im Allgemeinen individuell angewendet. Die Posten können dann
nach Maßgabe
ihrer Distanzen von der Referenz geordnet werden, um die nächstliegenden
Nachbarn der Referenz zu bestimmen.
-
Die
Erfindung hat eine weitreichende Anwendbarkeit und ist im Allgemeinen
nicht auf bestimmte Typen von Posten oder Eigenschaften begrenzt.
Die Erfindung geht einige der Schwächen des euklidisch-geometrischen
Ansatzes an. Die vorliegende Erfindung hängt nicht von einem Algorithmus ab,
welcher nächstliegende
Nachbarn auf Grundlage von Euklidischen oder anderen geometrischen
Distanzmetriken berechnet. Der Prozess der Ähnlichkeitssuche der vorliegenden
Erfindung stellt bedeutungsvolle Ausgaben bereit, sogar für einige
Datensätze,
welche vielleicht nicht unter Verwendung von euklidisch-geometrischen
Ansätzen,
wie z.B. hochdimensionale Datensätze,
effektiv durchsuchbar sind. Die vorliegende Erfindung weist eine
besondere Nützlichkeit
dabei auf, die Qualitäts-
und Leistungsprobleme anzugehen, welche bestehende Ansätze zum
Problem der Ähnlichkeitssuche
konfrontieren.
-
Ein
Suchsystem nach Maßgabe
der vorliegenden Erfindung implementiert das Verfahren der vorliegenden
Erfindung. In exemplarischen Ausführungsformen der Erfindung
führt das
System eine Ähnlichkeitssuche
für einen
Referenzposten oder eine Mehrzahl von Posten an einer Sammlung von Posten
aus, welche in einer Datenbank enthalten sind, in der jedem Posten
eine oder mehrere Eigenschaften zugeordnet sind. Ausführungsformen
des Suchsystems gestatten vorzugsweise einem Nutzer, einen Referenzposten
oder eine Gruppe von Posten oder einen Satz von Eigenschaften zu
identifizieren, um eine Ähnlichkeitssuchabfrage
zu initiieren. Das Ergebnis der Ähnlichkeitssuche
umfasst die nächstliegenden
Nachbarn oder den Referenzposten oder die Referenzposten, d.h. die
Posten, welche sich am nächsten
bei dem Referenzposten oder den Referenzposten befinden, und zwar
nach Maßgabe
der Distanzfunktion des Systems. Einige Ausführungsformen eines Suchsystems
nach Maßgabe
der vorliegenden Erfindung identifizieren vorzugsweise Posten, deren
Distanz von dem Referenzposten oder der Gruppe von Posten gleich
oder niedriger als ein expliziter oder impliziter Schwellenwert
ist, als die nächstliegenden
Nachbarn der Referenz.
-
Bei
einem weiteren Gesichtspunkt der Erfindung unterstützen Ausführungsformen
des Suchsystems vorzugsweise ebenso die Verwendung einer Abfragesprache,
welche eine allgemeine Abfrage für alle
Posten ermöglicht,
die einem gewünschten
Satz einer oder mehrerer Eigenschaften zugeordnet sind. Das Ergebnis
für eine
derartige Abfrage ist der Satz von derartigen Posten. Wenn sichzwei
Posten in der Sammlung von Posten befinden, dann ist, hinsichtlich
der Abfrage-Sprachfunktion, die Distanz zwischen ihnen nach Maßgabe der
oben beschriebenen besonderen Distanzfunktion, die kleinste Anzahl
von Posten, welche durch jede der Abfragen zurückgegeben wird, deren Ergebnisse
beide Posten umfassen.
-
Bei
den Ausführungsformen
der Erfindung können
mehrdimensionale Datensätze
auf einer Vielzahl von Weisen abhängig von dem Wesen der Daten
verschlüsselt
werden. Insbesondere können
Eigenschaften verschiedenartig sein, wie z.B. binär, teilweise
geordnet oder numerisch. Der Vektor für einen Posten (d.h. Datenpunkt)
kann aus Zahlen, binären
Werten oder Werten aus einem teilweise geordneten Satz bestehen.
Die vorliegende Erfindung kann an eine breite Vielzahl von numerischen
und nicht-numerischen Datentypen angepasst werden.
-
Bei
einem weiteren Gesichtspunkt der Erfindung bildet das Verfahren
der Ähnlichkeitssuche
und das System der vorliegenden Erfindung ebenso einen Baublock
für Verfahren
des Abgleichens und des Clusterbildens. Anwendungen zum Abgleich
und zur Clusterbildung können
z.B. dadurch implementiert werden, dass ein Satz von Materialien
entweder explizit oder implizit als ein Graph repräsentiert
wird, bei welchem die Knoten die Materialien repräsentieren, und
die Ränder,
welche die Knoten verbinden, Gewichtungen aufweisen, die den Grad
an Ähnlichkeit oder
Unähnlichkeit
der Materialien entsprechend ihren Endpunkten repräsentieren.
Bei diesen Anwendungen können
das Verfahren und das System der Ähnlichkeitssuche der vorliegenden
Erfindung verwendet werden, um die Randgewichtungen eines derartigen
Graphen zu bestimmen. Sobald derartige Gewichte zugewiesen werden
(explizit oder implizit), können
abgleichende oder Cluster-bildende Algorithmen auf den Graph angewendet
werden.
-
Kurze Beschreibung der Zeichnungen
-
Die
Erfindung kann weiterhin anhand der folgenden Beschreibung und der
beiliegenden Zeichnungen verstanden werden. Es stellt dar:
-
1 ist
ein Diagramm, welches eine teilweise Ordnung als einen gerichteten
azyklischen Graph darstellt.
-
2 ist
ein Diagramm, welches eine teilweise Ordnung von numerischen Bereichen
als einen gerichteten azyklischen Graph darstellt.
-
3 ist
ein Diagramm, welches den Satz aller Untersätze von Referenzeigenschaften
für einen
Such-Referenzspielfilm in einem Spielfilmkatalog darstellt.
-
4 ist
ein Diagramm, welches eine Ausführungsform
der vorliegenden Erfindung als einen Ablaufplan darstellt.
-
5 ist
ein Diagramm, welches eine Architektur für eine Ausführungsform der vorliegenden
Erfindung darstellt.
-
Ausführliche Beschreibung der bevorzugten
Ausführungsformen
-
Ausführungsformen
der vorliegenden Erfindung repräsentieren
Posten als Sätze
von Eigenschaften anstelle von Vektoren in R. Diese Repräsentation
als Sätze
von Eigenschaften ist auf viele Typen von Eigenschaften in einem
weiten Bereich anwendbar und erfordert keine allgemeine Umwandlung
von nicht-numerischen
Eigenschaften in Reelle Zahlen. Eine Beziehung eines besonderen
Postens mit einer besonderen Eigenschaft in dem System kann in einfacher
Weise als eine binäre
Variable repräsentiert werden.
-
Diese
Repräsentation
kann z.B. auf Eigenschaften angewendet werden, welche durch eine
teilweise Ordnung in Bezug gesetzt werden kann. Eine teilweise Ordnung
ist eine Beziehung bei einem Satz von Eigenschaften, welche die
folgenden Bedingungen erfüllt:
- i. Gegeben seien zwei unterschiedliche Eigenschaften
X und Y, von welchen genau eine der folgenden Aussagen wahr ist:
1.
X ist ein Vorgänger
von Y (geschrieben entweder als X > Y
oder Y < X)
2.
Y ist ein Vorgänger
von X (geschrieben entweder als X < Y
oder Y > X)
3.
X und Y sind unvergleichbar (geschrieben als X <> Y)
- ii. Die teilweise Ordnung ist transitiv: wenn X > Y und Y > Z gilt, dann gilt
X > Z.
-
Es
gibt zahlreiche Beispiele von teilweisen Ordnungen in Datensätzen der
Wirklichkeit. In einer Datenbank einer technischen Literatur z.B.
können Subjektbereiche
in einer teilweisen Ordnung repräsentiert
werden. Diese teilweise Ordnung könnte Beziehungen umfassen,
wie z.B.:
Mathematik > Algorithmus
Mathematik > Algebra
Algebra > lineare Algebra
Computerwissenschaft > Betriebssysteme
Computerwissenschaft > künstliche Intelligenz
Computerwissenschaft > Algorithmus
-
Die
Transitivität
impliziert weiterhin, dass Mathematik > lineare Algebra gilt. Viele Paare von
Eigenschaften sind unvergleichbar, z.B. lineare Algebra <> Algorithmus. Das Diagramm in 1 stellt
die oben beschriebene teilweise Ordnung als einen gerichteten azyklischen
Graphen 100 dar.
-
Numerische
Bereiche weisen ebenso eine natürliche
teilweise Ordnung auf. Gegeben seien zwei unterschiedliche numerische
Bereiche [x, y] und [x',
y'], [x, y] > [x', y']
wenn x ≤ x' und y ≥ y'. Zum Beispiel:
[1,
4] < [1, 3]
[1,
4] < [2, 4]
[1,
3] < [1, 2]
[1,
3] < [2, 3]
[2,
4] < [2, 3]
[2,
4] < [3, 4]
-
Transitivität impliziert
ebenso, dass [1, 4] > [2,
3]. Ein Beispiel eines unvergleichbaren Paars von Bereichen ist,
dass [1, 3] <> [2, 4]. Das Diagramm
in 2 stellt die teilweise Ordnung von oben beschriebenen
numerischen Bereichen als einen gerichteten azyklischen Graphen 200 dar.
-
In
einigen Ausführungsformen
der Erfindung werden teilweise geordnete Eigenschaften angegangen,
indem der Eigenschaftssatz eines jeden Postens mit allen Vorgängern seiner
Eigenschaften vermehrt wird. Zum Beispiel würde einem Posten, welchem lineare
Algebra zugeordnet ist, ebenso Algebra und Mathematik zugeordnet
sein. Nach Maßgabe
der bevorzugten Ausführungsformen
der Erfindung wird angenommen, dass alle im Folgenden diskutierten Eigenschaftssätze vermehrt
werden, d.h. wenn eine Eigenschaft sich in einem Satz befindet,
dann gilt dies auch für
alle Vorgänger
dieser Eigenschaft.
-
Die
Distanz zwischen Posten wird hinsichtlich ihrer Eigenschaftssätze analysiert.
Ein Gesichtspunkt der vorliegenden Erfindung ist die Distanzmetrik,
welche zur Bestimmung der Distanz zwischen zwei Eigenschaftssätzen verwendet
wird. Eine Distanzmetrik nach Maßgabe der Erfindung kann wie folgt
definiert werden: Gegeben seien zwei Eigenschaftssätze S1 und S2, wobei die
Distanz zwischen S1 und S2 gleich
der Anzahl von Posten ist, welche allen Eigenschaften in der Schnittmenge
S1 ∩ S2 zugeordnet sind. Nach Maßgabe dieser
Metrik wird die Distanz zwischen zwei Posten wenigstens 2 und höchstens
die Anzahl von Posten in der Sammlung betragen. Die Distanzmetrik
wird für
den Rest der ausführlichen
Beschreibung der bevorzugten Ausführungsformen verwendet, aber
man sollte verstehen, dass Variationen dieser Messung ähnliche
Ergebnisse erzielen würden.
Distanzmetriken auf Grundlage von Funktionen, welche mit der Anzahl von
Posten korrelieren, die allen Eigenschaften in der Schnittmenge
S1 ∩ S2 zugeordnet sind, können z.B. ebenso verwendet
werden.
-
Diese
Distanzmetrik trägt
zu der Ähnlichkeit zwischen
Posten nicht nur auf Grundlage von dem gemeinsamen Vorhandensein
von Eigenschaften bei, sondern ebenso auf Grundlage ihrer Häufigkeit. Zudem
ist diese Distanzmetrik teilweise bedeutungsvoll, da sie die Abhängigkeit
zwischen Eigenschaften in den Daten einfängt. Normalisierte Euklidische
Distanzmetriken können
die Häufigkeit
von Eigenschaften berücksichtigen,
aber sie berücksichtigen
jede Eigenschaft unabhängig.
Die Distanzmetrik der vorliegenden Erfindung berücksichtigt die Häufigkeiten von
Kombinationen von Eigenschaften. Zum Beispiel können Anwalt, College-Absolvent
und High-School-Abgänger
alle häufig auftretende
Eigenschaften sein, aber die Kombination Anwalt + College-Absolvent ist viel
häufiger
als die Kombination Anwalt + High-School-Abgänger. Somit würden zwei Anwälte, welche
beide die High-School verlassen haben, als ähnlicher betrachtet werden
als zwei Anwälte,
welche beide das College absolviert haben. Eine derartige Beobachtung
kann gemacht werden, wenn die Distanzmetrik die Abhängigkeit
zwischen den Eigenschaften berücksichtigt.
Allgemein gesprochen werden nicht alle Eigenschaften in den Daten
für die Ähnlichkeitssuche
nützlich
sein. Zwei Leute, die den 29. Februar als Geburtstag teilen, können Teil
einer Wahl-Gruppe sein, aber es ist unwahrscheinlich, dass diese
Gemeinsamkeit irgendeine bedeutungsvolle Ähnlichkeit aufzeigt. Somit
werden in bestimmten Ausführungsformen
der vorliegenden Erfindung lediglich Eigenschaften, welche für eine Beurteilung der Ähnlichkeit
bedeutungsvoll erscheinen, durch das Verfahren der Ähnlichkeitssuche
berücksichtigt. Eigenschaften,
welche für
die Suche irrelevant erscheinen, können ignoriert werden.
-
Ein
Beispiel auf Grundlage eines Spielfilmkatalogs wird verwendet werden,
um zu zeigen, wie die Distanzmetrik auf eine Sammlung von Posten
angewendet werden kann. In einem derartigen Katalog könnte eine
Sammlung von Spielfilmen mit den folgenden Eigenschaftssätzen repräsentiert
werden:
- 1. Die Hard
Regisseur: John McTiernan
Hauptdarsteller:
Bruce Willis
Hauptdarsteller: Bonnie Bedelia
Genre: Action
Genre:
Thriller
Reihe: Die Hard
- 2. Die Hard 2
Regisseur: Renny Harlin
Hauptdarsteller:
Bruce Willis
Genre: Action
Genre: Thriller
Reihe:
Die Hard
- 3. Die Hard: With a Vengeance
Regisseur: John McTiernan
Hauptdarsteller:
Bruce Willis
Hauptdarsteller: Samuel L. Jackson
Genre:
Action
Genre: Thriller
Reihe: Die Hard
- 4. Star Wars
Regisseur: George Lucas
Hauptdarsteller:
Mark Hamill
Hauptdarsteller: Harrison Ford
Genre: Science
Fiction
Genre: Action
Genre: Abenteuer
Reihe: Star
Wars
- 5. Star Wars: Empire strikes back
Regisseur: Irvin Kershner
Hauptdarsteller:
Mark Hamill
Hauptdarsteller: Harrison Ford
Genre: Science
Fiction
Genre: Action
Genre: Abenteuer
Reihe: Star
Wars
- 6. Star Wars: Retum of the Jedi
Regisseur: Richard Marquand
Hauptdarsteller:
Mark Hamill
Hauptdarsteller: Harrison Ford
Genre: Science
Fiction
Genre: Action
Genre: Abenteuer
Reihe: Star
Wars
- 7. Star Wars: The Phantom Menace
Regisseur: George Lucas
Hauptdarsteller:
Liam Neeson
Hauptdarsteller: Ewan McGregor
Hauptdarstellerin:
Natalie Portman
Genre: Science Fiction
Genre: Action
Genre: Abenteuer
Reihe: Star Wars
- 8. Raiders of the Lost Ark
Regisseur: Stephen Spielberg
Hauptdarsteller:
Harrison Ford
Hauptdarstellerin: Karen Allen
Genre: Action
Genre:
Abenteuer
Reihe: Indiana Jones
- 9. Indiana Jones and the Temple of Doom
Regisseur: Stephen
Spielberg
Hauptdarsteller: Harrison Ford
Hauptdarstellerin:
Kate Capshaw
Genre: Action
Genre: Abenteuer
Reihe:
Indiana Jones
- 10. Indiana Jones and the Last Crusade
Regisseur: Stephen
Spielberg
Hauptdarsteller: Harrison Ford
Hauptdarsteller:
Jean Connery
Genre: Action
Genre: Abenteuer
Reihe:
Indiana Jones
- 11. Close Encounters of the Third Kind
Regisseur: Stephen
Spielberg
Hauptdarsteller: Richard Dreyfuss
Hauptdarsteller:
Francois Truffaut
Genre: Drama
Genre: Science Fiction
- 12. E. T: The Extra-Terrestrial
Regisseur: Stephen Spielberg
Hauptdarsteller:
Dee Wallace-Stone
Hauptdarsteller: Henry Thomas
Genre:
Famile
Genre: Science Fiction
Genre: Abenteuer
- 13. Until the End of the World
Regisseur: Wim Wenders
Hauptdarstellerin:
Solveig Dommartin
Hauptdarsteller: Pietro Falcone
Genre:
Drama
Genre: Science Fiction
- 14. Wings of Desire
Regisseur: Wim Wenders
Hauptdarstellerin:
Solveig Dommartin
Hauptdarsteller: Bruno Ganz
Genre: Drama
Genre:
Fantasy
Genre: Romanze
- 15. Buena Vista Social Club
Regisseur: Wim Wenders
Hauptdarsteller:
Ry Cooder
Genre: Dokumentarfilm
Vermutlich würde ein
echter Spielfilmkatalog viel mehr als 15 Filme enthalten, aber die
obige Sammlung dient als ein darstellendes Beispiel.
-
Die
Distanz zwischen Die Hard und Die Hard 2 wird wie folgt berechnet.
Die Schnittmenge ihrer Eigenschaftssätze ist {Hauptdarsteller: Bruce
Willis, Genre: Action, Genre: Thriller, Reihe: Die Hard}. Alle drei
Spielfilme in der Die Hard- Reihe
(aber keine weiteren Spielfilme in diesem Musterkatalog) weisen
alle diese Eigenschaften auf. Somit ist die Distanz zwischen den
zwei Spielfilmen 3.
-
Im
Gegensatz dazu weisen Die Hard und Die Hard with a Vengeance ebenfalls
denselben Regisseur auf. Die Schnittmenge ihrer Eigenschaftssätze ist
{Regisseur: John McTiernan, Hauptdarsteller: Bruce Willis, Genre:
Action, Genre: Thriller, Reihe. Die Hard}. Lediglich diese zwei
Spielfilme teilen alle diese Eigenschaften; somit beträgt die Distanz
zwischen den zwei Spielfilmen 2.
-
Die
obigen Spielfilme sind offensichtlich sehr ähnlich. Ein Beispiel von zwei
sehr unähnlichen Spielfilmen
ist Star Wars und Buena Vista Social Club. Diese zwei Spielfilme
haben keine Eigenschaften gemeinsam, und der Referenzsatz von Eigenschaften
ist der leere Satz; alle Spielfilme in der Sammlung können den
Referenzsatz erfüllen.
Somit beträgt
die Distanz zwischen den zwei Spielfilmen 15, d.h. die gesamte Anzahl
von Spielfilmen in der Sammlung.
-
Ein
Zwischenbeispiel ist Star Wars: The Phantom Menace und E.T.: The
Extra-Terrestrial.
Die Schnittmenge ihrer Eigenschaftssätze ist {Genre: Science-Fiction, Genre: Abenteuer}.
Fünf Spielfilme weisen
beide dieser Eigenschaften auf (die vier Star Wars-Spielfilme und
E.T.); somit beträgt
die Distanz zwischen den zwei Spielfilmen 5.
-
Unter
Verwendung der gegebenen Distanzmetrik ist es möglich, die Spielfilme gemäß ihrer
Distanz von einem Referenzspielfilm oder von einem beliebigen Eigenschaftssatz
aus zu ordnen. Zum Beispiel betragen die Distanzen aller obigen
Spielfilme von Die Hard aus wie folgt:
- 1. Die
Hard: 1
- 2. Die Hard 2: 3
- 3. Die Hard: With a Vengeance: 2
- 4. Star Wars: 10
- 5. Star Wars: Empire Strikes Back: 10
- 6. Star Wars: Return of the Jedi: 10
- 7. Star Wars: The Phantom Menace: 10
- 8. Raiders of the Lost Ark: 10
- 9. Indiana Jones and the Temple of Doom: 10
- 10. Indiana Jones and the Last Crusade: 10
- 11. Close Encounters of the Third Kind: 15
- 12. E.T.: The Extra-Terrestrial: 15
- 13. Until the End of the World: 15
- 14. Wings of Desire: 15
- 15. Buena Vista Social Club: 15
-
Um
diese Distanzeinstufung zusammenzufassen: Die drei Spielfilme in
der Die Hard-Reihe befinden sich alle innerhalb der Distanz 3 – wobei
Die Hard: With a Vengeance wegen des gemeinsam Regisseurs bei einer
Distanz von 2 ist – und
sich die zehn Actionfilme alle innerhalb der Distanz von 10 befinden.
Die verbleibenden Spielfilme haben nichts mit der Referenz gemeinsam
und befinden sich deshalb bei einer Distanz von 15.
-
Um
die Distanzordnung von Posten weiter darzustellen, betragen die
Distanzen aller obiger Filme von Raiders of the Lost Ark aus wie
folgt:
- 1. Die Hard: 10
- 2. Die Hard 2: 10
- 3. Die Hard: With a Vengeance: 10
- 4. Star Wars: 6
- 5. Star Wars: Empire Strikes Back: 6
- 6. Star Wars: Retum of the Jedi: 6
- 7. Star Wars: The Phantom Menace: 10
- 8. Raiders of the Lost Ark: 1
- 9. Indiana Jones and the Temple of Doom: 3
- 10. Indiana Jones and the Last Crusade: 3
- 11. Close Encounters of the Third Kind: 5
- 12. E.T.: The Extra-Terrestrial: 5
- 13. Until the End of the World: 15
- 14. Wings of Desire: 15
- 15. Buena Vista Social Club: 15
-
In
diesem Fall befinden sich die zwei anderen Spielfilme in der Indiana
Jones-Reihe bei
Distanz 3; die zwei Spielberg-Filme, welche nicht in der Indiana
Jones-Reihe sind, befinden sich bei einer Distanz von 5; die Star
Wars-Filme mit Harrison Ford befinden sich bei einer Distanz von
6; die verbleibenden Actionfilme bei einer Distanz von 10; und die
anderen Filme bei einer Distanz von 15.
-
Nach
Maßgabe
von Ausführungsformen
der Erfindung wird die Sammlung von Posten vorzugsweise unter Verwendung
eines Systems gespeichert, welches eine effiziente Berechnung des
Untersatzes von Posten in der Sammlung ermöglicht, die einen gegebenen
Satz von Eigenschaften enthalten.
-
Ein
System auf Grundlage von invertierten Indizes könnte verwendet werden, um ein
derartiges System zu implementieren. Ein invertierter Index ist eine
Datenstruktur, welche eine Eigenschaft auf den Satz von Posten mappt,
der ihn enthält.
Relationale Datenbank-Managementsysteme (RDBMS/"Relational Database Management Systems") z.B. verwenden
invertierte Indizes, um Zeilenwerte zu dem Satz von Zeilen zu mappen,
welche diese Werte aufweisen. Suchmaschinen verwenden ebenfalls
invertierte Indizes, um Wörter
auf die Dokumente zu mappen, welche diese Wörter enthalten. Die invertierten
Indizes eines RDBMS, eine Suchmaschine oder ein beliebiges weiteres
Informationsabfragesystem könnte verwendet
werden, um das Verfahren der vorliegenden Erfindung zu implementieren.
-
Invertierte
Indizes sind insbesondere nützlich,
um eine konjunktive Abfrage durchzuführen – d.h., um den Untersatz von
Posten in einer Sammlung zu berechnen, welcher alle Eigenschaften
eines gegebenen Satzes von Eigenschaften enthält. Diese Berechnung kann durchgeführt werden,
indem für jede
Eigenschaft der Satz von Posten erhalten wird, welcher sie enthält, und
indem dann die Schnittmenge dieser Sätze berechnet wird. Diese Berechnung kann
auf Anfrage durchgeführt
werden, im Voraus vorberechnet werden oder auf Anfrage unter Verwendung
von Teilinformationen berechnet werden, welche im Voraus vorberechnet
werden.
-
Ein
Informationsabfragesystem, welches ein Verfahren zum effizienten
Ausführen
dieser Berechnung bereitstellt, ist ebenso in folgenden parallel
anhängigen
Anmeldungen beschrieben: "Hierarchical Data-Driven
Navigation System and Method for Information Retrieval", US-Anm. Aktz. 09/573,305,
eingereicht am 18. Mai 2000, und "Scalable Hierarchical Data-Driven Navigation
System and Method for Information Retrieval", US-Anm. Aktz. 09/961,131, eingereicht
am 21. Oktober 2001, von welchen beide eine Anmelderin mit der vorliegenden
Anmeldung gemeinsam haben.
-
Wenn
ein System, wie die oben beschriebenen, gegeben ist, ist es möglich, die
Distanz zwischen zwei Posten in der Sammlung zu berechnen – oder allgemein
zwischen zwei Eigenschaftssätzen – indem
die Anzahl von Posten in der Sammlung gezählt oder anders evaluiert wird,
welche alle Eigenschaften in der Schnittmenge der zwei relevanten
Eigenschaftssätze
enthalten.
-
5 ist
ein Diagramm, welches eine Architektur 500 darstellt, die
verwendet werden kann, um eine Ausführungsform der vorliegenden
Erfindung zu implementieren. Es stellt eine Sammlung von Nutzern 502 und
Systemanwendungen 504 dar, welche ein Internet oder Intranet 506 nutzen,
um Zugang zu einem System 510 zu haben, das die vorliegende
Erfindung verkörpert.
Das System 510 wiederum besteht aus vier Untersystemen,
einem Untersystem für eine Ähnlichkeitssuche 512,
einem Untersystem für eine
Informationsabfrage 514, einem Untersystem zur Clusterbildung 516 und
einem Untersystem zum Abgleichen 518. Wie oben beschrieben
ist, kann die Ähnlichkeitssuche
auf den invertierten Indizes des Informationsabfrageuntersystems
beruhen. Wie oben beschrieben ist, können die Clusterbildung und
das Abgleichen auf dem Ähnlichkeitssucheuntersystem beruhen.
-
Wie
früher
diskutiert wurde, gestattet die vorliegende Erfindung, dass die
Distanzfunktion mit der Anzahl von Posten in der Sammlung korreliert
und optionalerweise, aber nicht notwendigerweise, gleich der Anzahl
von Posten in der Sammlung ist, welche die Schnittmenge der zwei
relevanten Eigenschaftssätze
enthalten. Eine derartige Funktion ist praktisch, solange ihr Wert
in effizienter Weise berechnet werden kann, indem eine Relationale
Datenbank oder ein anderes Informationsabfragesystem verwendet wird.
-
Diese
Distanzmetrik kann verwendet werden, um die nächstliegenden Nachbarn eines
Bezugspostens zu berechnen, indem sein Eigenschaftssatz oder ein
gewünschter
Eigenschaftssatz verwendet wird. Eine Abfrage kann hinsichtlich
eines besonderen Postens oder einer Gruppe von Posten oder hinsichtlich
eines Satzes von Eigenschaften spezifiziert werden. Zusätzlich kann
eine Abfrage, welche nicht als ein Satz von gültigen Eigenschaften formuliert
ist, auf einen Referenzsatz von Eigenschaften gemappt werden, um
nach den nächstliegenden
Nachbarn der Abfrage zu suchen. Das System kann bestimmen, welcher
Posten oder welche Posten, absolut gesehen oder innerhalb eines
gewünschten
Grads, zu dem Referenzeigenschaftssatz unter dieser Distanzmetrik
am nächstliegenden
sind. Innerhalb einer Distanzschwelle von 5 sind z.B. die vier nächstliegenden
Nachbarn von Raiders of the Lost Ark Indiana Jones and the Temple
of Doome und Indiana Jones and the Last Crusade bei einer Distanz von
3 (die absolut nächstliegenden
Nachbarn) und Close Encounters of the Third Kind und E.T.: The Extra-Terrestrial
bei einer Distanz von 5 (ebenso innerhalb des gewünschten
Grads von 5).
-
Es
ist möglich,
die nächstliegenden
Nachbarn eines Eigenschaftssatzes zu berechnen, indem Distanzen
zu allen Posten in der Sammlung berechnet werden, und indem dann
die Posten in einer nicht-abnehmenden Reihenfolge der Distanz sortiert werden.
Die "nächstliegenden" Nachbarn des Referenzeigenschaftssatzes
können
dann aus einer derartigen sortierten Liste unter Verwendung mehrerer verschiedener
Verfahren gewählt
werden. Zum Beispiel können
alle Posten innerhalb eines gewünschten
Distanzgrads als die nächstliegenden
Nachbarn gewählt
werden. Alternativ kann eine besondere Anzahl von Posten als die
nächstliegenden
Nachbarn gewählt
werden. In dem letztgenannten Fall kann es notwendig sein, dass
ein tie-break-Verfahren eine be grenzte Anzahl von nächstliegenden
Nachbarn dann auswählt,
wenn sich mehr als diese gewünschte
Anzahl von Posten innerhalb eines bestimmten Nähegrads befindet. Das tie-break-Verfahren
kann willkürlich
sein oder auf anwendungsabhängigen
Kriterien beruhen. Die Schwelle für die Nähe kann in einem System vordefiniert
sein oder durch einen Nutzer auswählbar sein. Ein Ansatz auf
Grundlage einer Berechnung von Distanzen zu allen Posten in der Sammlung
wird richtige Ergebnisse bereitstellen, aber es ist unwahrscheinlich,
dass sie eine adäquate Leistung
bereitstellt, wenn die Sammlung von Posten groß ist.
-
Während das
vorangegangene Verfahren für die
Suche des nächstliegenden
Nachbarn die Distanzfunktion explizit anwendet, kann die Distanzmetrik
der vorliegenden Erfindung ebenso implizit, und zwar durch ein Verfahren
angewendet werden, welches die Distanzmetrik verkörpert, ohne
notwendigerweise die Distanzen explizit zu berechnen. Ein weiteres
Verfahren, um die nächstliegenden
Nachbarn eines Referenzeigenschaftssatzes zu berechnen, ist z.B.
durch dessen Untersätze
zu iterieren, und dann für
jeden Untersatz die Anzahl von Posten in der Sammlung zu zählen, welche
alle der Eigenschaften in diesem Untersatz enthalten. Dieses Verfahren
kann z.B. implementiert werden, indem eine Prioritäten-Warteschlange
verwendet wird, in welcher die Priorität eines jeden Untersatzes zu
der Anzahl von Posten in der Sammlung in Bezug steht, welche alle
der Eigenschaften in diesem Untersatz enthalten. Je kleiner die
Anzahl von Posten ist, welche einen Untersatz von Eigenschaften
enthalten, desto höher
ist die Priorität
dieses Untersatzes. Die Prioritäten-Warteschlange enthält anfangs
einen einzigen Untersatz: den vollständigen Referenzsatz von Eigenschaften.
Bei jeder Iteration wird der höchste Prioritätenuntersatz
auf der Warteschlange bereitgestellt, und alle Untersätze des
höchsten
Prioritätenuntersatzes,
welche erhalten sein können,
indem eine einzelne Eigenschaft aus diesem höchsten Prioritätenuntersatz
entfernt wird, werden in die Warteschlange eingeführt. Dieses
Verfahren umfasst eine Verarbeitung aller Untersätze von Eigenschaften in der
Reihenfolge ihrer Distanz von dem ursprünglichen Eigenschaftssatz.
Das Verfahren kann beendet werden, sobald eine gewünschte Anzahl
von Ergebnissen oder ein gewünschter
Nähegrad
erreicht worden ist.
-
Das
folgende Beispiel stellt eine Anwendung dieses Verfahrens einer
Prioritäten-Warteschlange zur
Suche der nächstliegenden
Nachbarn einer Abfrage auf Grundlage eines Spielfilms nach Maßgabe einer
Ausführungsform
der Erfindung dar, indem der früher
diskutierte Spielfilmkatalog verwendet wird. Die Film E.T.: The
Extra-Terrestrial kann aus diesem Katalog als der gewünschte Referenzfilm
oder als das Ziel ausgewählt
werden, für
welches eine Ähnlichkeitssuche
in dem Filmkatalog ausgebildet wird. In dem Katalog weist dieser
Film die folgenden 6 Eigenschaften auf:
Regisseur: Stephen
Spielberg
Hauptdarsteller: Dee Wallace-Stone
Hauptdarsteller:
Henry Thomas
Genre: Familie
Genre: Science-Fiction
Genre:
Abenteuer
-
In
diesem Beispiel sind die Schauspieler unberücksichtigt, was den Regisseur
und das Genre/die Genres als die gewünschten Referenzeigenschaften
lässt.
Somit weist der Zielfilm die folgenden 4 Bezugseigenschaften auf,
welche die Abfrage für diese
Suche bilden: {Spielberg, Familie, Science-Fiction, Abenteuer}.
-
3 zeigt
als ein gerichteter azyklischer Graph 300 den Satz aller
Untersätze
dieser vier Eigenschaften. Die Anzahl rechts von jedem Kasten zeigt
die Anzahl von Spielilmen, welche alle Eigenschaften in diesem Untersatz
enthalten.
-
Um
die Ähnlichkeitssuche
unter Verwendung dieses Verfahrens einer Prioritäten-Warteschlange auszuführen, enthält die Warteschlange
anfangs lediglich einen Untersatz – nämlich den Satz von allen 4
Eigenschaften 302, Spielberg, Familie, Science-Fiction
und Abenteuer. Dieser Untersatz weist eine Priorität von 1
auf, da lediglich ein Film, d.h. der Referenzfilm, alle vier Eigenschaften
enthält.
Je niedriger die Anzahl von Spielilmen ist, desto höher ist
die Priorität;
somit ist 1 die höchstmögliche Priorität.
-
Wenn
definiert wird, dass die Distanz gleich der Anzahl von Spielilmen
ist, welche die Schnittmenge von Eigenschaften in zwei Eigenschaftssätzen teilt,
ist die Priorität
eines Untersatzes in dieser Implementierung genau gleich der Distanz
des Untersatzes von der Abfrage. Anderenfalls ist nach Maßgabe dieser
Distanzmetrik der vorliegenden Erfindung die Priorität mit der
Distanz des Untersatzes aus der Abfrage korreliert. Obwohl die Prioritäten aller
Untersätze
nach Maßgabe
von 3 vor dem Implementieren der Prioritäten-Warteschlange berechnet
werden könnten,
kann die Priorität
eines Untersatzes dann berechnet werden, wenn der Untersatz zu der
Warteschlange addiert wird. Ebenso können Filme zu dem Suchergebnis
dann addiert werden, wenn der erste Untersatz, welcher dem Spielfilm
zugeordnet ist, aus der Warteschlange entfernt wird.
-
Wenn
dieser Satz von 4 Eigenschaften 302 aus der Prioritäten-Warteschlange
entfernt wird, wird er durch 4 Untersätze mit 3 Eigenschaften 304, 306, 308 und 310 ersetzt;
diese sind in 3 in dem zweiten Niveau von
oben gezeigt. In diesem Beispiel gibt jeder der vier Untersätze 304, 306, 308 und 310 immer
noch lediglich den einzigen Zielspielfilm zurück, und alle diese Untersätze haben
ebenso die Priorität 1.
-
Wenn
jedoch der Untersatz der Priorität
1 (Spielberg, Familie, Science-Fiction) 304 aus der Warteschlange
entfernt wird, wird er durch 3 Untersätze 312, 314 und 316 ersetzt:
(Spielberg, Familie) und (Familie, Science-Fiction), jeder mit Priorität 1 und
(Spielberg, Science-Fiction) mit Priorität 2. Wenn dieser letzte Satz 316 schließlich aus
dieser Warteschlange entfernt wird, kann der Spielberg Science-Fiction-Film
Close Encounters of the Third Kind zu dem Suchergebnis addiert werden.
-
Da
bei jeder Iteration ein Untersatz mit einer höchsten Priorität (die wenigsten Spielfilme)
aus der Reihe ausgewählt
wird, werden Untersätze
in einer abnehmenden Prioritätenreihenfolge
ausgewählt werden.
Somit werden sich Spielfilme in einer Reihenfolge zunehmender Distanz
von der Abfrage zeigen. Der Prozess kann dann beendet werden, wenn eine
Schwellenanzahl von Suchergebnissen gefunden worden ist, oder dann,
wenn eine Schwellendistanz erreicht worden ist, oder dann, wenn
alle Untersätze
berücksichtigt
worden sind. Um zum Zwecke der Effizienz zu vermeiden, dass eine
Evaluierung desselben Untersatzes mehr als einmal evaluiert wird,
wenn die Untersätze
auf die Warteschlange geschoben werden, kann das System diejenigen
beseitigen, welche bereits gesehen worden sind. Allgemein gesprochen,
kann dieser Verfahrenstyp keine angemessene Leistung zur Berechnung
der nächstliegenden
Nachbarn eines großen
Eigenschaftssatzes bereitstellen.
-
Implementierungen,
welche die nächstliegenden
Nachbarn eines Eigenschaftssatzes berechnen, ohne notwendigerweise
seine Distanz zu jedem Posten in der Sammlung oder jedem Untersatz
des Eigenschaftssatzes zu berechnen, können effizienter sein. Insbesondere
dann, wenn die Sammlung groß ist,
können
bevorzugte Implementierungen lediglich Distanzen zu einem kleinen
Untersatz von Posten in der Sammlung oder zu einem kleinen Untersatz
der Eigenschaften berücksichtigen.
Einige Ausführungsformen
der vorliegenden Erfindung berechnen die nächstliegenden Nachbarn eines
Eigenschaftssatzes unter Verwendung eines Zufallsgangprozesses.
Dieser Ansatz ist in seinem Wesen wahrscheinlichkeitstheoretisch
und kann derart eingestellt werden, dass Genauigkeit gegen Leistung
getauscht wird.
-
Jede
Iteration des Zufallsgangprozesses simuliert die Handlung eines
Nutzers, welcher von dem leeren Eigenschaftssatz aus startet und
zunehmend den Satz zu einem Soll-Eigenschaftssatz S entlang eines
zufällig
ausgewählten
Wegs verengt. Der simulierte Nutzer jedoch kann mitten in der Aufgabe
bei einem mittleren Untersatz von S anhalten und dann zufällig einen
Posten nehmen, welcher alle Eigenschaften in diesem Zwischen-Untersatz
aufweist. Es ist wahrscheinlicher, dass Posten ausgewählt werden, welche
sich gemäß der zuvor
beschriebenen Distanzfunktion näher
bei dem Soll-Eigenschaftssatz S befinden, da es wahrscheinlicher
ist, dass sie in dem Satz von zurückbleibenden Posten verbleiben,
wenn der simulierte Nutzer den Satz von Posten durch Auswahl von
Eigenschaften verengt.
-
Eine
Implementierung des Zufallsgangprozesses erzeugt eine Zufalls-Variable
R(S) für
einen Eigenschaftssatz S mit den folgenden Eigenschaften:
- 1. Der Bereich von R(S) ist der Satz von Posten {x1, x2, ..., xn} in der Sammlung.
- 2. Pr(R(S) = xi) > 0 für
alle Posten xi in der Sammlung.
(Das
heißt,
für jeden
Posten xi in der Sammlung gibt es eine von
Null abweichende Wahrscheinlichkeit, dass R(S) die Eigenschaft xi annimmt).
- 3. Pr(R(S) = xi) ≥ Pr(R(S) = xj),
wenn und nur wenn dist (S, xi) ≤ dist (S,
xj). (Das heißt, die Wahrscheinlichkeit,
dass R(S) die Eigenschaft x annimmt, ist eine monotone Funktion
der Distanz dist (S, x)) Die Zufalls-Variable wird zu xi hin
mit den Eigenschaftssätzen
gewichtet, welche sich relativ näher
bei dem Eigenschaftssatz S befinden.
-
Der
Eigenschaftssatz S ist der Referenzeigenschaftssatz für eine Ähnlichkeitssuche.
Eine Anzahl von Zufallsgangprozessen kann in der Lage sein, eine
Zufalls-Variable R(S) mit einer Verteilung zu erzeugen, welche diese
Eigenschaften, wie oben beschrieben, erfüllt. Ein Zufallsgangprozess 400 nach
Maßgabe
von Ausführungsformen
der Erfindung ist in dem Ablaufplan von 4 dargestellt.
Die Zustände
dieses Zufallsgangs 400 sind Eigenschaftssätze, welche
den Posten in der Sammlung entsprechen können. Der Zufallsgangprozess 400 schreitet
wie folgt fort:
-
Schritt 401:
Initialisiere dass SR, der Zustand des Zufallsgangs,
der leere Eigenschaftssatz ist.
-
Schritt 402:
X(SR) sei der Untersatz von Posten in der
Sammlung, welche alle Eigenschaften in SR enthalten.
-
Schritt 403:
Wenn X(SR) = X(S), dann wähle in
-
Schritt 403a oder
mit der Wahrscheinlichkeit p, welche in den Schritten 403b und 403c unter
Verwendung einer gleichförmigen
Zufallsverteilung bestimmt wird, einen Posten aus X(SR)
und gib ihn in Schritt 403d zurück, womit der Prozess beendet
wird.
-
Schritt 404:
Anderenfalls nehme eine Eigenschaft aus S – SR – d.h. der
Satz von Eigenschaften, welche in S, aber nicht in SR sind.
Diese Eigenschaft wird unter Verwendung einer Wahrscheinlichkeitsverteilung
dort aufgenommen, wo die Wahrscheinlichkeit, die Eigenschaft a aus
S – SR aufzunehmen, umgekehrt proportional zu
der Anzahl von Posten in der Sammlung ist, welche alle Eigenschaften
in der Schnittmenge SR U a enthalten.
-
Schritt 405:
SR sei gleich SR U
a sein.
-
Schritt 406:
Gehe zurück
zu Schritt 402.
-
Der
Posten, welcher durch jede Iteration dieses Zufallsgangprozesses
zurückgegeben
wird, wird eine Zufallsvariable R(S) sein, deren Verteilung die oben
umrissenen Eigenschaften erfüllt.
Die Ausgabe von mehrfachen unabhängigen
Iterationen dieses Prozesses werden zu der Verteilung dieser Zufallsvariablen
konvergieren. Jede Iteration des Zufallsgangprozesses verwendet
implizit die Distanzmetrik der vorliegenden Erfindung darin, dass
für einen
Eigenschaftssatz SR der Zufallsgang inhärent Posten
innerhalb einer bestimmten Distanz von S auswählt. In Schritt 403 endet
ein Zufallsgang mit der Wahrscheinlichkeit p, außer dort, wo die gesamte Sammlung
bereits durchquert worden ist. Die Wahrscheinlichkeit p ist ein
Parameter, welcher auf Grundlage von den gewünschten Merkmalen, insbesondere
Genauigkeit und Leistung, des Systems ausgewählt werden kann. Wenn p klein
ist, werden beliebige Ergebnisse relativ näher bei der Referenz sein,
aber der Prozess wird relativ langsam sein. Wenn p groß ist, können beliebige
Ergebnisse weiter von dem Bezug ausgehend schwanken, aber der Prozess
wird relativ schneller sein.
-
Unter
Verwendung dieses Zufallsgangprozesses ist es möglich, die nächstliegenden
Nachbarn eines Eigenschaftssatzes zu bestimmen, indem mehrfache
unabhängige
Iterationen des Zufallsgangprozesses ausgeführt werden und indem dann die zurückgegebenen
Posten in einer abnehmenden Reihenfolge der Häufigkeit sortiert werden. Das heißt, die
häufiger
zurückgegebenen
Posten werden die näherliegenden
Nachbarn des Referenzeigenschaftssatzes sein. Die nächstliegenden
Nachbarn können
nach Maßgabe
des gewünschten
Nähegrads ausgewählt werden.
Die Wahl des Parameters p in dem Zufallsgangprozess und die Wahl
der Anzahl von Iterationen gestatten gemeinsam einen Tausch von
Leistung gegen Genauigkeit.
-
Das
folgende Beispiel stellt eine Anwendung dieses Zufallsgangverfahrens
für das
früher
vorgestellte E.T.-Beispiel unter Verwendung des Verfahrens der Prioritätenwarteschlange
dar. Erneut ist die Abfrage als der Satz der folgenden 4 Eigenschaften formuliert:
{Spielberg, Familie, Science-Fiction, Abenteuer}. Man erinnere sich,
dass 3 als ein gerichteter azyklischer Graph 300 den
Satz aller Untersätze
für diese
vier Eigenschaften zeigt.
-
SR, der Zustand des Zufallsgangs, wird derart
initialisiert, dass er der leere Eigenschaftssatz ist. X(SR), der Untersatz von Posten in der Sammlung, welche
alle Eigenschaften in SR enthalten, ist
der Satz aller 15 Spielfilme in der Sammlung. Wenn man eine zufällig erzeugte
Zahl zwischen 0 und 1 erhält, wenn
die Zufallszahl geringer als p ist, dann wird einer von diesen 15
Spielfilmen per Zufall ausgewählt und
zurückgegeben.
-
Anderenfalls
wird eine Eigenschaft aus S – SR – d.h.
der Satz von Eigenschaften, welche sich in dem Zielsatz S, aber
nicht in SR befinden, ausgewählt und
zu SR addiert. Da SR leer
ist, wird eine Eigenschaft aus {Spielberg, Familie, Science-Fiction, Abenteuer}
ausgewählt.
Diese Eigenschaft wird unter Verwendung einer Wahrscheinlichkeitsverteilung dort
gewählt,
wo die Wahrscheinlichkeit, eine Eigenschaft a aus S – SR zu wählen,
umgekehrt proportional zu der Anzahl von Posten in der Sammlung
ist, welche alle Eigenschaften in der Vereinigung SR U
a enthalten. Somit wird Spielberg mit einer Wahrscheinlichkeit,
welche umgekehrt proportional zu 5 ist, ausgewählt; Familie wird mit einer
Wahrscheinlichkeit umgekehrt proportional zu 1 ausgewählt; Science-Fiction
mit einer Wahrscheinlichkeit umgekehrt proportional zu 6; und Abenteuer
mit einer Wahrscheinlichkeit umgekehrt proportional zu B. Normalerweise
erhalten wir die folgende Wahrscheinlichkeitsverteilung: Spielberg
hat die Wahrscheinlichkeit 24/179; Familie hat die Wahrscheinlichkeit
120/179; Science-Fiction hat die Wahrscheinlichkeit 20/179; und
Abenteuer hat die Wahrscheinlichkeit 15/179.
-
Wenn
Familie genommen wird, dann wird E.T. zurückgegeben, da es der einzige
Spielfilm sein wird, welcher in X(SR) übrig ist.
Wenn man den Prozess mit der Auswahl Spielberg fortführt, ist
SR nun {Spielberg}, und X(SR)
enthält
die 5 Spielberg-Filme. Dann, wenn eine neue zufällig erzeugte Zahl kleiner als
p ist, wird einer dieser 5 Spielfilme per Zufall ausgewählt und
zurückgegeben.
-
Anderenfalls
wird eine weitere Eigenschaft aus S – SR ausgewählt und
zu SR addiert. Da SR {Spielberg}
ist, wird die Eigenschaft aus {Familie, Science-Fiction, Abenteuer} wie folgt ausgewählt: Familie
mit der Wahrscheinlichkeit umgekehrt proportional zu 1 (1 Spielfilm
entspricht {Spielberg, Familie}); Science-Fiction mit der Wahrscheinlichkeit
umgekehrt proportional zu 2 (2 Spielfilme entsprechen {Spielberg,
Science-Fiction}); und Abenteuer mit der Wahrscheinlichkeit umgekehrt
proportional zu 4 (4 Spielfilme entsprechen {Spielberg, Abenteuer}).
Normalerweise erhalten wir die folgende Wahrscheinlichkeitsverteilung:
Familie hat die Wahrscheinlichkeit 4/7; Science-Fiction hat die
Wahrscheinlichkeit 2/7; und Abenteuer hat die Wahrscheinlichkeit
1/7.
-
Wiederum
wird dann, wenn Familie genommen wird, E.T. zurückgegeben, da es der einzige Spielfilm
sein wird, welcher in X(SR) zurückbleibt.
In der Annahme, dass Science-Fiction ausgewählt wird, ist SR nun
{Spielberg, Science-Fiction},
und X(SR) enthält die zwei Spielfilme mit
diesen zwei Eigenschaften.
-
Dann,
wenn eine neue zufällig
erzeugte Zahl kleiner als p ist, wird einer von diesen zwei Spielfilmen
per Zufall ausgewählt
und zurückgegeben.
Anderenfalls stellt die nachfolgende Auswahl von entweder Familie
oder Abenteuer sicher, dass E.T. zurückgegeben werden wird.
-
Der
Zufallsgangprozess kann so oft wie angemessen iteriert werden, um
den gewünschten
Genauigkeitsgrad mit einem akzeptablen Leistungsniveau bereitzustellen.
Die Ergebnisse des Zufallsgangprozesses werden gemäß der Häufigkeit
kompiliert und eingestuft. Posten mit höheren Häufigkeiten innerhalb einer
gewünschten
Schwelle können
als die nächstliegenden
Nachbarn der Abfrage ausgewählt
werden.
-
Die
vorliegende Erfindung stellt eine allgemeine Lösung für das Problem der Ähnlichkeitssuche bereit
und gestattet viele variierte Ausführungsformen, einschließlich Variationen,
welche konstruiert sind, um die Leistung zu verbessern oder um die
Ergebnisse einzuschränken.
-
Eine
Variation der Leistung ist insbesondere dann geeignet, wenn die Ähnlichkeitssuche
an einem Referenzposten x in der Sammlung durchgeführt wird.
In diesem Fall ist es nützlich,
dass die Ähnlichkeitssuche
nicht den Posten selbst zurückgibt.
Diese Variation kann durchgeführt
werden, indem Schritt 403 des Zufallsgangprozesses verändert wird.
Anstatt einen Posten aus X(SR) zufällig auszuwählen, wählt der
Schritt zufällig
einen Posten aus X(SR) – x. Unter diesen Umständen ist
es möglich,
dass eine bestimmte Iteration des Prozesses enden wird, ohne einen
Posten zurückzugeben,
da X(SR) – x leer sein kann. Über eine
Anzahl von folgenden Iterationen sollte jedoch der Zufallsgangprozess
Posten zurückgeben.
-
Eine
weitere Variation ist, die Bedingung in Schritt 403, Beendigung
mit der Wahrscheinlichkeit p, durch eine Bedingung zu ersetzen,
dass der Prozess dann endet, wenn X(SR)
unterhalb einer spezifizierten Schwellengröße ist. Ein Vorteil dieser
Implementierung ist, dass es nicht länger notwendig ist, p einzustellen.
Eine weitere Variation ist es, das Verhalten in Schritt 403 (Zurückgeben
eines Postens, welcher aus X(SR) ausgewählt wird,
indem eine gleichmäßige Zufallsverteilung
verwendet wird) durch das Zurückgeben
aller oder einiger der Posten in X(SR) zu ersetzen.
Ein Vorteil dieser Implementierung ist es, dass einzelne Iterationen
des Zufallsgangprozesses zusätzliche
Datenpunkte erzeugen.
-
Eine
weitere Variation ist, den Zufallsgang einzuschränken, indem der Anfangszustand nicht-leer
gemacht wird. Indem so verfahren wird, wird sichergestellt, dass
der Prozess lediglich Posten zurückgeben
wird, welche alle Eigenschaften in dem Anfangszustand enthalten.
Derartige Einschränkungen
können
bei vielen Anwendungen nützlich
sein.
-
Eine
weitere Variation ist es, auf verschiedene Arten und Weisen das
oben beschriebene Verfahren für
die Ähnlichkeitssuche
in Verbindung mit weiteren Maßnahmen
der Ähnlichkeitssuche,
wie z.B. Maßnahmen
der Ähnlichkeitssuche
auf Grundlage der Euklidischen Distanz, zu verwenden. Zum Beispiel
kann die Ähnlichkeitssuche
für eine
bestimmte Referenz unter Verwendung sowohl einer Distanzmetrik nach
Maßgabe
der vorliegenden Erfindung als auch einer geometrischen Distanzmetrik
bei derselben Sammlung von Materialien durchgeführt werden, und die Ergebnisse
zusammenzufügen,
um ein Ergebnis für
die Suche bereitzustellen. Alternativ könnte eine geometrische Distanzmetrik
verwendet werden, um ein Anfangsergebnis zu berechnen, und die Distanzmetrik
der vorliegenden Erfindung könnte verwendet
werden, um das Anfangsergebnis zu analysieren, um ein Ergebnis für die Suche
bereitzustellen. Die Erfindung kann ebenso in einem System implementiert
werden, welches weitere Such- und Navigationsverfahren enthält, wie
z.B. die Freitextsuche, geführte
Navigation usw.
-
Eine
weitere Variation ist es, Eigenschaften in Äquivalenzklassen zu gruppieren,
und dann Eigenschaften in derselben Äquivalenzklasse beim Berechnen
der Distanzfunktion als identisch anzusehen. Die Äquivalenzklassen
selbst können
bestimmt werden, indem ein Cluster-bildender Algorithmus auf die
Eigenschaften angewendet wird.
-
Der
Gesichtspunkt der Ähnlichkeitssuche der
vorliegenden Erfindung ist für
beinahe jede Anwendung nützlich,
wo die Ähnlichkeitssuche
gebraucht wird oder nützlich
ist. Die vorliegende Erfindung kann besonders nützlich sein für den Handel, Datenentdeckung,
Datenreinigung und Geschäftsspionage.
-
Die
beschriebene Distanzmetrik ist zusätzlich zu der Ähnlichkeitssuche
ebenso nützlich
für Anwendungen,
wie z.B. Clusterbildung und Abgleich. Das Problem der Clusterbildung
umfasst ein Teilen eines Satzes von Posten in Cluster, sodass zwei
Posten in demselben Cluster ähnlicher
sind als zwei Posten in verschiedenen Clustern. Es gibt zahlreiche
mathematische Formulierungen des Problems der Clusterbildung. Im
Allgemeinen ist ein Satz S von n Posten i1,
i2, ..., in , und diese Posten sollen in einen Satz von
k Clustern c1, c2,...,
ck geteilt werden – wobei die Anzahl der Cluster
k im Allgemeinen im Voraus spezifiziert wird, aber durch den Cluster-bildenden
Algorithmus bestimmt werden kann.
-
Da
es viele ausführbare
Lösungen
für das Problem
der Clusterbildung gibt, definiert eine Cluster-bildende Anwendung
eine Funktion, welche die Qualität
einer Lösung
bestimmt, wobei das Ziel ist, eine ausführbare Lösung zu finden, welche bezogen auf
diese Funktion optimal ist. Im Allgemeinen ist diese Funktion derart
definiert, dass die Qualität
verbessert wird, indem entweder die Distanzen zwischen Posten in
demselben Cluster verringert werden oder indem die Distanzen zwischen
Posten in verschiedenen Clustern vergrößert werden. Somit verwenden Lösungen für das Problem
der Clusterbildung typischerweise eine Distanzfunktion, um die Distanz
zwischen zwei Posten zu bestimmen. Herkömmlicherweise ist diese Distanzmetrik
Euklidisch. Cluster-bildende Algorithmen können auf der Distanzfunktion basieren,
welche von der vorliegenden Erfindung verwendet wird.
-
Die
Folgenden sind Beispiele von Qualitätsfunktionen mit einer Anzeige
danach, ob sie minimiert oder maximiert werden sollen, um Cluster
mit höherer
Qualität
zu erhalten:
- • Die maximale Distanz zwischen
zwei Posten in demselben Cluster (minimieren).
- • Die
Durchschnittsdistanz (arithmetisches Mittel) zwischen zwei Posten
in demselben Cluster (minimieren).
- • Die
minimale Distanz zwischen zwei Posten in unterschiedlichen Clustern
(maximieren).
- • Die
Durchschnittsdistanz (arithmetisches Mittel) zwischen zwei Posten
in verschiedenen Clustern (maximieren).
-
Die
Qualitätsfunktion
kann eine der obigen Funktionen oder eine andere Funktion sein,
welche das Ziel widerspiegelt, dass Posten in demselben Cluster ähnlicher
sind als Posten in unterschiedlichen Clustern.
-
Das
Verfahren und das System der Ähnlichkeitssuche
können
verwendet werden, um die Distanz zwischen zwei Posten im Kontext
des Problems der Clusterbildung zu definieren und zu berechnen. Das
Problem der Clusterbildung wird oftmals hinsichtlich eines Graphen
aus Knoten und Rändern
repräsentiert.
Die Knoten repräsentieren
die Posten und die Ränder
verbindenden Knoten haben Gewichtungen, welche den Ähnlichkeits-
oder Unähnlichkeitsgrad
der entsprechenden Posten repräsentieren.
Bei dieser Repräsentation
ist eine Clusterbildung eine Teilung des Satzes von Knoten in unverbundene Untersätze. In
dem Graph, welcher das Problem der Clusterbildung repräsentiert,
kann das System der Ähnlichkeitssuche
verwendet werden, um die Randgewichtungen eines derartigen Graphen
zu bestimmen. Sobald derartige Gewichtungen (explizit oder implizit)
zugewiesen werden, können
bekannte Cluster-bildende Algorithmen auf den Graphen angewendet
werden. Allgemeiner gesprochen kann die Distanzfunktion der vorliegenden
Erfindung in Kombination mit einem beliebigen Cluster-bildenden
Algorithmus, exakt oder heuristisch, verwendet werden, welcher eine
Qualitätsfunktion
auf Grundlage der Distanzen zwischen den Posten definiert.
-
Dem
Problem der Clusterbildung begegnet man im Allgemeinen mit Kombinationsoptimierungsalgorithmen.
Da sich die meisten Formulierungen der Probleme der Clusterbildung
zu NP-vollständigen Entscheidungsproblemen
reduzieren, glaubt man nicht, dass es effiziente Algorithmen gibt,
welche optimale Lösungen
garantieren können.
Folglich sind die meisten Clusterbildenden Algorithmen Heuristiken,
von welchen – durch
Analyse oder empirische Studien – gezeigt wurde, dass sie gute,
wenn auch nicht notwendigerweise optimale Lösungen bereitstellen.
-
Beispiele
von heuristischen, Cluster-bildenden Algorithmen umfassen den Minimal-Spannweiten-Baumalgorithmus
(„minimal
spanning tree algortihm")
und den k-Mittelalgorithmus. Bei dem Minimal-Spannweiten-Baumalgorithmus
wird jeder Posten anfangs seinem eigenen Cluster zugewiesen. Dann
werden die zwei Cluster mit der minimalen Distanz zwischen ihnen
zusammengeführt,
um einen einzigen Cluster zu bilden. Dieser Prozess wird wiederholt,
bis alle Posten in die schließlich
erforderliche Anzahl von Clustern gruppiert wurden. Bei dem k-Mittelalgorithmus
werden die Posten anfangs willkürlich den
k Clustern zugewiesen. Dann wird bei einer Reihe von Iterationen
jeder Posten dem Cluster erneut zugewiesen, welchem er am nächstliegenden
ist. Wenn die Cluster stabilisieren – oder nach einer spezifizierten
Anzahl von Iterationen – ist
der Algorithmus ausgeführt.
-
Sowohl
der Minimal-Spannweiten-Baumalgorithmus als auch der k-Mittelalgorithmus
erfordern eine Berechnung der Distanz zwischen Clustern – oder zwischen
einem Posten und einem Cluster. Herkömmlicherweise ist diese Distanzmetrik
Euklidisch. Das Distanzmaß,
welches von der vorliegenden Erfindung verwendet wird, kann für diesen
Zweck auf verschiedene Weisen verallgemeinert werden. Die Distanz
zwischen einem Posten und einem Cluster kann z.B. als eine Durchschnitts-,
Minimum- oder Maximum-Distanz zwischen dem Posten und allen Posten
in dem Cluster definiert werden. Die Distanz zwischen zwei Clustern
kann z.B. als die Durchschnitts-, Minimum- oder Maximum-Distanz
zwischen einem Posten in einem Cluster von dem anderen Cluster definiert
werden. Wie bei der Qualitätsfunktion
gibt es zahlreiche weitere mögliche
Posten-Cluster und Cluster-Cluster-Distanzfunktionen auf Grundlage
der Posten-Posten-Distanzfunktion, welche abhängig vom Bedarf einer besonderen
Cluster-bildenden Anwendung verwendet werden können.
-
Bei
einigen Variationen der Clusterbildung wird gestattet, dass die
Cluster überlappen – d.h. die Posten
sind nicht streng in Cluster eingeteilt, sondern vielmehr kann ein
Posten mehr als einem Cluster zugewiesen sein. Diese Variation erweitert
den Raum von ausführbaren
Lösungen,
aber kann immer noch in Kombination mit der oben beschriebenen Qualitäts- und
Distanzfunktion verwendet werden.
-
Um
die Ausführung
eines Cluster-bildenden Algorithmus zu verbessern, kann es wünschenswert sein,
den Graph auszudünnen,
indem lediglich Ränder
zwischen Knoten enthalten sind, welche sich relativ nahe beieinander
befinden. Eine Art und Weise, diese Ausdünnung zu implementieren, ist
es, für
jeden Posten dessen Satz von nächstliegenden
Nachbarn zu berechnen und dann lediglich Ränder zwischen einem Posten
und seinen nächstliegenden Nachbarn
zu umfassen.
-
Eine
Anwendung von Clusterbildung ist es, die Eigenschaften zu clustern,
welche für
einen Satz von Posten relevant sind, um Äquivalenzklassen von Eigenschaften
für die Ähnlichkeitssuche
zu erzeugen. Die Clusterbildung in Äquivalenzklassen kann unter
Verwendung der Distanzmetrik durchgeführt werden, welche von der
vorliegenden Erfindung verwendet wird. Um die Distanzmetrik der
vorliegenden Erfindung anzuwenden, können die Eigenschaften selbst
den Unter-Eigenschaften zugeordnet werden, sodass die Eigenschaften
als Posten zum Berechnen von Distanzen zwischen ihnen behandelt
werden. Eine Unter-Eigenschaft, welche den Eigenschaften z.B. zugeordnet
sein kann, sind die Posten in der Sammlung, welchen die Eigenschaften
ursprünglich zugeordnet
sind. Das Problem des Abgleichens umfasst eine Paarbildung von Posten
aus einem Satz von Posten, sodass ein Paar von Posten, welche miteinander
abgeglichen werden, ähnlicher
ist als zwei Posten, welche nicht miteinander abgeglichen werden.
Es gibt zwei Arten von Problemen des Abgleichens: zweiteilige und
nicht-zweiteilige. Bei einem Problem des zweiteiligen Abgleichens
werden die Posten in zwei unverbundene und vorzugsweise gleich große Untersätze geteilt;
das Ziel ist es, jeden Posten in dem ersten Untersatz mit einem
Posten in dem zweiten Untersatz abzugleichen. In der Graph-Repräsentation
des Clusterbildungs-Problems entspricht dieser Fall einem zweiteiligen Graph.
Bei einem nicht-zweiteiligen, oder allgemein gesprochen, Problem
der Clusterbildung ist der Graph nicht geteilt, sodass ein Posten
mit einem beliebigen weiteren Posten abgeglichen werden könnte.
-
Die
zuvor beschriebenen Cluster-bildenden Ansätze können für das nicht-zweiteilige Abgleichen verwendet werden.
Wenn es n-Posten gibt (wobei n vorzugsweise eine gerade Zahl ist),
werden sie im Allgemeinen in n/2 Cluster geteilt werden, wobei jeder
2 Posten enthält.
-
Was
die Algorithmen zum zweiteiligen Abgleichen betrifft, welche die
Verwendung einer Distanzfunktion umfassen, kann der Eingabegraph
aufgebaut sein, indem ein Knoten für jeden Posten erzeugt wird,
und indem definiert wird, dass die Gewichtung des Randes, welcher
zwei Posten verbindet, die Distanz zwischen den zwei Posten nach Maßgabe der
Distanzfunktion ist, welche von der vorliegenden Erfindung verwendet
wird. Das Abgleichen kann dann nach Maßgabe der verbleibenden Schritte der
bekannten Algorithmen ausgeführt
werden.
-
Was
die Clusterbildung betrifft, ist es möglich, eine Ausdünnung zu
verwenden, um die Durchführung
eines Abgleich-Algorithmus zu verbessern – d.h. indem lediglich Ränder zwischen
Knoten umfasst werden, welche sich relativ nahe beieinander befinden.
Diese Ausdünnung
kann implementiert werden, indem für jeden Posten dessen Satz
von nächstliegenden
Nachbarn berechnet wird, und dann lediglich Ränder zwischen einem Posten
und dessen nächstliegenden
Nachbarn umfasst werden.
-
Die
vorangegangene Beschreibung wurde auf spezifische Ausführungsformen
der Erfindung gerichtet. Die Erfindung kann in weiteren spezifischen
Formen verkörpert
werden, ohne von dem Rahmen der Erfindung abzuweichen. Insbe sondere kann
die Erfindung in einem beliebigen System oder Verfahren angewendet
werden, welches die Verwendung einer Distanzfunktion umfasst, um
die Distanz zwischen zwei Posten oder Untergruppen von Posten in
einer Gruppe von Posten zu bestimmen. Die Posten können z.B.
Dokumente oder Aufzeichnungen in einer Datenbank sein, welche durchsuchbar sind,
indem die Datenbank abgefragt wird. Ein System, welches die vorliegende
Erfindung verkörpert, kann
z.B. eine menschliche Nutzerschnittstelle oder eine Anwendungsprogrammschnittstelle
umfassen. Die hierbei verwendeten Ausführungsformen, Figuren, Begriffe
und Beispiele sind lediglich als Bezugnahme und Darstellung und
nicht als Begrenzung beabsichtigt. Der Rahmen der Erfindung ist
durch die angehängten
Ansprüche
angezeigt.