DE60221153T2 - Verfahren und vorrichtung für ähnlichkeitssuche und gruppenbildung - Google Patents

Verfahren und vorrichtung für ähnlichkeitssuche und gruppenbildung Download PDF

Info

Publication number
DE60221153T2
DE60221153T2 DE60221153T DE60221153T DE60221153T2 DE 60221153 T2 DE60221153 T2 DE 60221153T2 DE 60221153 T DE60221153 T DE 60221153T DE 60221153 T DE60221153 T DE 60221153T DE 60221153 T2 DE60221153 T2 DE 60221153T2
Authority
DE
Germany
Prior art keywords
properties
items
collection
distance
query
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60221153T
Other languages
English (en)
Other versions
DE60221153D1 (de
Inventor
Daniel Cambridge TUNKELANG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Endeca Technologies Inc
Original Assignee
Endeca Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Endeca Technologies Inc filed Critical Endeca Technologies Inc
Application granted granted Critical
Publication of DE60221153D1 publication Critical patent/DE60221153D1/de
Publication of DE60221153T2 publication Critical patent/DE60221153T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification

Description

  • 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.

Claims (37)

  1. Computerimplementiertes Verfahren zum Suchen einer Sammlung von Posten, wobei jeder Posten in der Sammlung einen Satz von Eigenschaften aufweist, umfassend die folgenden Schritte: Erhalten einer Abfrage, welche gebildet ist aus einem ersten Satz von zwei oder mehr Eigenschaften; Anwenden einer Distanzfunktion auf eine oder mehrere der Posten in der Sammlung; und Identifizieren von einem oder mehreren Ergebnisposten auf Grundlage der Distanzfunktion; dadurch gekennzeichnet, dass: die Distanzfunktion eine Distanz bestimmt zwischen der Abfrage und einem Posten in der Sammlung, und zwar auf Grundlage der Anzahl von Posten in der Sammlung, welche alle Eigenschaften in der Schnittmenge des ersten Satzes von Eigenschaften und des Satzes von Eigenschaften für den Posten aufweisen.
  2. Verfahren nach Anspruch 1, ferner umfassend den Schritt eines Zuordnens eines jeden Postens in der Sammlung zu einem Satz von Eigenschaften.
  3. Verfahren nach Anspruch 1, wobei der Schritt des Identifizierens von einem oder mehreren Ergebnisposten ein Identifizieren von Ergebnisposten umfasst, deren Distanz von der Abfrage sich innerhalb einer ersten Schwelle befindet.
  4. Verfahren nach Anspruch 3, wobei der Schritt des Identifizierens von einem oder mehreren Ergebnisposten ein Einstufen der Ergebnisposten nach Maßgabe ihrer Distanz von der Abfrage umfasst.
  5. Verfahren nach Anspruch 3, wobei die Schwelle definiert ist als eine Anzahl von Ergebnisposten.
  6. Verfahren nach Anspruch 3, wobei die Schwelle als eine Distanz definiert ist.
  7. Verfahren nach Anspruch 1, ferner umfassend den Schritt eines Zurückgebens der Ergebnisposten.
  8. Verfahren nach Anspruch 1, wobei der Schritt eines Erhaltens einer Abfrage den Schritt eines Mappings einer empfangenen Abfrage auf einen Satz von einer oder mehreren Eigenschaften umfasst.
  9. Verfahren nach Anspruch 1, wobei eine oder mehrere der Eigenschaften binär sind.
  10. Verfahren nach Anspruch 1, wobei eine oder mehrere der Eigenschaften durch eine Teilordnung verwandt sind, und wobei dann, wenn einem Posten eine Eigenschaft zugeordnet ist, dem Posten ebenso alle Vorgänger dieser Eigenschaft in der Teilordnung zugeordnet sind.
  11. Verfahren nach Anspruch 6, wobei eine oder mehrere der Eigenschaften numerische Werte oder Bereiche repräsentieren und wobei die Teilordnung einen Satz von Einschließungsbeziehungen zwischen den numerischen Werten oder Bereichen wiedergibt.
  12. Verfahren nach Anspruch 1, wobei die Eigenschaften zu Äquivalenzklassen gruppiert sind.
  13. Verfahren nach Anspruch 12, ferner umfassend den Schritt eines Kopierens der Eigenschaften zu Äquivalenzklassen unter Verwendung einer Clusterbildung.
  14. Verfahren nach Anspruch 13, wobei jede Eigenschaft einen Satz von Untereigenschaften aufweist, wobei die Clusterbildung derart ausgeführt wird, dass die Distanz zwischen zwei Eigenschaften in der Sammlung mit der Anzahl an Eigenschaften in der Sammlung korreliert ist, denen alle beiden Eigenschaften gemeinsamen Untereigenschaften zugeordnet sind.
  15. Verfahren nach Anspruch 1, wobei die Abfrage einem einzelnen Posten in der Sammlung entspricht.
  16. Verfahren nach Anspruch 1, wobei die Abfrage einer Mehrzahl von Posten der Sammlung entspricht.
  17. Verfahren nach Anspruch 1, wobei die Abfrage von den Posten in der Sammlung unabhängig ist.
  18. Verfahren nach Anspruch 1, wobei der Schritt eines Identifizierens von einem oder mehreren Ergebnisposten auf eine Untersammlung der Posten in der Sammlung eingeschränkt ist.
  19. Verfahren nach Anspruch 18, wobei die Untersammlung spezifiziert ist als ein Ausdruck von Eigenschaften.
  20. Verfahren nach Anspruch 19, wobei der Ausdruck einen Untersatz des Satzes von Eigenschaften umfasst, welche die Abfrage bilden.
  21. Verfahren nach Anspruch 1, wobei der Schritt eines Erhaltens einer Abfrage ein Identifizieren von bestimmten Eigenschaften umfasst, welche in dem Schritt eines Erhaltens eines Ergebnisses ignoriert werden sollen.
  22. Verfahren nach Anspruch 1, wobei die Distanzfunktion explizit angewendet wird.
  23. Verfahren nach Anspruch 1, wobei die Distanzfunktion implizit angewendet wird.
  24. Verfahren nach Anspruch 23, wobei der Schritt eines Identifizierens von einem oder mehreren Ergebnisposten den Schritt eines Iterierens eines Zufallsgangprozesses umfasst, um mögliche Ergebnisposten auszuwählen.
  25. Verfahren nach Anspruch 24, wobei der Schritt eines Identifizierens von einem oder mehreren Ergebnisposten ein Einstufen der möglichen Ergebnisposten nach der Frequenz und ein Auswählen der möglichen Ergebnisposten mit höheren Frequenzen umfasst.
  26. Verfahren nach Anspruch 23, wobei der Schritt eines Identifizierens von einem oder mehreren Ergebnisposten ein Iterieren durch einen oder mehrere Untersätze der Abfrage und ein Identifizieren von Posten, welche dem einen oder mehreren Untersätzen zugeordnet sind, umfasst.
  27. Verfahren nach Anspruch 26, wobei der eine oder die mehreren Untersätze nach Maßgabe der Anzahl an Posten in der Sammlung, welche alle Eigenschaften in jedem Untersatz aufweisen, priorisiert sind und wobei ein Iterieren durch einen oder mehrere Untersätze der Abfrage fortgesetzt wird, bis eine erste Schwelle erreicht wird.
  28. Verfahren nach Anspruch 1, wobei der Schritt eines Identifizierens von einem oder mehreren Ergebnisposten ein Anwenden einer Euklidschen Distanzfunktion umfasst.
  29. Verfahren nach Anspruch 28, wobei der Schritt eines Identifizierens von einem oder mehreren Ergebnisposten ein Zusammenführen eines ersten Ergebnisses, welches durch Anwenden der Distanzfunktion bestimmt wird, und eines zweiten Ergebnisses, welches durch Anwenden der Euklidschen Distanzfunktion bestimmt wird, umfasst.
  30. Verfahren nach Anspruch 28, wobei der Schritt eines Identifizierens von einem oder mehreren Ergebnisposten ein Bestimmen eines ersten Ergebnisses durch Anwenden entweder der Distanzfunktion oder der Euklidschen Distanzfunktion umfasst und ein Anwenden der anderen Distanzfunktion auf das erste Ergebnis umfasst.
  31. Computerprogrammprodukt, welche sich auf einem computerlesbaren Medium befindet, zur Verwendung beim Suchen einer Sammlung von Posten, wobei jeder Posten in der Sammlung einen Satz von Eigenschaften aufweist, wobei das Computerprogrammprodukt Anweisungen umfasst, um den Computer zu veranlassen: eine aus zwei oder mehreren Eigenschaften gebildete Abfrage zu empfangen; eine Distanzfunktion auf die Abfrage und eine oder mehrere Posten in der Sammlung anzuwenden; und einen oder mehrere Ergebnisposten auf Grundlage der Distanzfunktion zu identifizieren; dadurch gekennzeichnet, dass: die Distanzfunktion eine Distanz bestimmt zwischen der Abfrage einem Posten in der Sammlung, und zwar auf Grundlage der Anzahl von Posten in der Sammlung, welche alle Eigenschaften in der Schnittmenge des ersten Satzes von Eigenschaften und des Satzes von Eigenschaften für den Posten aufweisen.
  32. Computerprogrammprodukt nach Anspruch 31, wobei die Anweisungen den Computer veranlassen, durch Identifizieren genau der Posten, deren Distanz von der Abfrage innerhalb einer Schwelle liegt, ein Ergebnis bereitzustellen.
  33. Computerprogrammprodukt nach Anspruch 31, wobei die Anweisungen den Computer veranlassen, durch näherungsweises Identifizieren der Posten, deren Distanz von der Abfrage innerhalb einer Schwelle liegt, nach Maßgabe einer Heuristik ein Ergebnis bereitzustellen.
  34. Computerprogrammprodukt nach Anspruch 33, wobei die Heuristik einen Tausch zwischen der Genauigkeit und der Leistung einer Suche gestattet.
  35. Computerprogrammprodukt nach Anspruch 33, wobei die Heuristik die Verwendung eines Zufallsgangprozesses umfasst.
  36. Computersystem zum Verwalten von Datenaufzeichnungen, umfassend: ein Informationsabfrage-Untersystem (514), welches Datenaufzeichnungen speichert und abfragt, wobei jede Datenaufzeichnung einen Satz von Aufzeichnungseigenschaften aufweist; und ein Ähnlichkeitssuche-Untersystem (512), welches Ähnlichkeitssuche-Abfragen empfängt und Ähnlichkeitssuche-Abfragen auf Grundlage einer Distanzfunktion verarbeitet, wobei einer Ähnlichkeitssuche-Abfrage ein Satz von Abfrageeigenschaften zugeordnet ist, dadurch gekennzeichnet, dass: die Distanzfunktion eine Distanz bestimmt zwischen der Abfrage und einer Datenaufzeichnung in der Sammlung, und zwar auf Grundlage der Anzahl an Datenaufzeichnungen in der Sammlung, welche alle Eigenschaften in der Schnittmenge des Satzes von Abfrageeigenschaften und des Satzes von Aufzeichnungseigenschaften für die Datenaufzeichnung aufweisen.
  37. Computersystem nach Anspruch 36, ferner umfassend ein Clusterbildung- Untersystem (516), welches die Distanzfunktion des Ähnlichkeitssuche-Untersystems verwendet, um einen Graphen aufzubauen.
DE60221153T 2001-12-20 2002-08-09 Verfahren und vorrichtung für ähnlichkeitssuche und gruppenbildung Expired - Lifetime DE60221153T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/027,195 US20030120630A1 (en) 2001-12-20 2001-12-20 Method and system for similarity search and clustering
US27195 2001-12-20
PCT/US2002/025279 WO2003054746A1 (en) 2001-12-20 2002-08-09 Method and system for similarity search and clustering

Publications (2)

Publication Number Publication Date
DE60221153D1 DE60221153D1 (de) 2007-08-23
DE60221153T2 true DE60221153T2 (de) 2008-03-20

Family

ID=21836262

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60221153T Expired - Lifetime DE60221153T2 (de) 2001-12-20 2002-08-09 Verfahren und vorrichtung für ähnlichkeitssuche und gruppenbildung

Country Status (7)

Country Link
US (1) US20030120630A1 (de)
EP (1) EP1459206B1 (de)
AT (1) ATE366964T1 (de)
AU (1) AU2002337672A1 (de)
CA (1) CA2470899A1 (de)
DE (1) DE60221153T2 (de)
WO (1) WO2003054746A1 (de)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US7024419B1 (en) * 1999-09-13 2006-04-04 International Business Machines Corp. Network visualization tool utilizing iterative rearrangement of nodes on a grid lattice using gradient method
US7035864B1 (en) * 2000-05-18 2006-04-25 Endeca Technologies, Inc. Hierarchical data-driven navigation system and method for information retrieval
US7617184B2 (en) * 2000-05-18 2009-11-10 Endeca Technologies, Inc. Scalable hierarchical data-driven navigation system and method for information retrieval
AU6831801A (en) * 2000-06-12 2001-12-24 Previsor Inc Computer-implemented system for human resources management
US20030154181A1 (en) * 2002-01-25 2003-08-14 Nec Usa, Inc. Document clustering with cluster refinement and model selection capabilities
US20040117366A1 (en) * 2002-12-12 2004-06-17 Ferrari Adam J. Method and system for interpreting multiple-term queries
US8243636B2 (en) 2003-05-06 2012-08-14 Apple Inc. Messaging system and service
GB0322600D0 (en) * 2003-09-26 2003-10-29 Univ Ulster Thematic retrieval in heterogeneous data repositories
US7555441B2 (en) * 2003-10-10 2009-06-30 Kronos Talent Management Inc. Conceptualization of job candidate information
US7676739B2 (en) * 2003-11-26 2010-03-09 International Business Machines Corporation Methods and apparatus for knowledge base assisted annotation
US7975240B2 (en) * 2004-01-16 2011-07-05 Microsoft Corporation Systems and methods for controlling a visible results set
US7593478B2 (en) * 2004-04-26 2009-09-22 Qualcomm Incorporated Low peak to average ratio search algorithm
EP1835455A1 (de) * 2005-01-05 2007-09-19 Musicstrands, S.A.U. System und verfahren zum empfehlen von multimedia-elementen
US7693887B2 (en) * 2005-02-01 2010-04-06 Strands, Inc. Dynamic identification of a new set of media items responsive to an input mediaset
US7734569B2 (en) 2005-02-03 2010-06-08 Strands, Inc. Recommender system for identifying a new set of media items responsive to an input set of media items and knowledge base metrics
US7797321B2 (en) 2005-02-04 2010-09-14 Strands, Inc. System for browsing through a music catalog using correlation metrics of a knowledge base of mediasets
US7840570B2 (en) * 2005-04-22 2010-11-23 Strands, Inc. System and method for acquiring and adding data on the playing of elements or multimedia files
US20060287994A1 (en) * 2005-06-15 2006-12-21 George David A Method and apparatus for creating searches in peer-to-peer networks
JP4815887B2 (ja) * 2005-06-17 2011-11-16 日産自動車株式会社 情報処理装置及び情報処理用表示装置
US7877387B2 (en) * 2005-09-30 2011-01-25 Strands, Inc. Systems and methods for promotional media item selection and promotional program unit generation
US20090070267A9 (en) * 2005-09-30 2009-03-12 Musicstrands, Inc. User programmed media delivery service
JP4955690B2 (ja) 2005-10-04 2012-06-20 アップル インコーポレイテッド 音楽ライブラリをビジュアル化するための方法および装置
US7493317B2 (en) * 2005-10-20 2009-02-17 Omniture, Inc. Result-based triggering for presentation of online content
US8019752B2 (en) * 2005-11-10 2011-09-13 Endeca Technologies, Inc. System and method for information retrieval from object collections with complex interrelationships
EP1963957A4 (de) 2005-12-19 2009-05-06 Strands Inc Benutzer-zu-benutzer-empfehler
US20070162546A1 (en) * 2005-12-22 2007-07-12 Musicstrands, Inc. Sharing tags among individual user media libraries
US20070244880A1 (en) * 2006-02-03 2007-10-18 Francisco Martin Mediaset generation system
WO2007092053A1 (en) * 2006-02-10 2007-08-16 Strands, Inc. Dynamic interactive entertainment
JP5075132B2 (ja) 2006-02-10 2012-11-14 アップル インコーポレイテッド モバイルメディアプレーヤファイルに優先度を付けるためのシステムおよび方法
US8521611B2 (en) 2006-03-06 2013-08-27 Apple Inc. Article trading among members of a community
US8332386B2 (en) * 2006-03-29 2012-12-11 Oracle International Corporation Contextual search of a collaborative environment
US7526486B2 (en) 2006-05-22 2009-04-28 Initiate Systems, Inc. Method and system for indexing information about entities with respect to hierarchies
EP2030134A4 (de) * 2006-06-02 2010-06-23 Initiate Systems Inc System und verfahren für automatische gewichtsgenerierung für wahrscheinlichkeitsabgleich
US7949661B2 (en) * 2006-08-24 2011-05-24 Yahoo! Inc. System and method for identifying web communities from seed sets of web pages
KR20080024712A (ko) * 2006-09-14 2008-03-19 삼성전자주식회사 사용자의 검색 히스토리를 이용한 모바일 정보 검색 방법,분류 방법 및 정보 검색 시스템
US7685093B1 (en) 2006-09-15 2010-03-23 Initiate Systems, Inc. Method and system for comparing attributes such as business names
US7698268B1 (en) 2006-09-15 2010-04-13 Initiate Systems, Inc. Method and system for filtering false positives
US8356009B2 (en) 2006-09-15 2013-01-15 International Business Machines Corporation Implementation defined segments for relational database systems
US8533602B2 (en) 2006-10-05 2013-09-10 Adobe Systems Israel Ltd. Actionable reports
CN101611401B (zh) * 2006-10-20 2012-10-03 苹果公司 个人音乐推荐映射
US7830815B1 (en) * 2006-10-25 2010-11-09 At&T Intellectual Property Ii Method and apparatus for measuring and extracting proximity in networks
US7930313B1 (en) * 2006-11-22 2011-04-19 Adobe Systems Incorporated Controlling presentation of refinement options in online searches
US8676802B2 (en) * 2006-11-30 2014-03-18 Oracle Otc Subsidiary Llc Method and system for information retrieval with clustering
US20080133496A1 (en) * 2006-12-01 2008-06-05 International Business Machines Corporation Method, computer program product, and device for conducting a multi-criteria similarity search
US8359339B2 (en) 2007-02-05 2013-01-22 International Business Machines Corporation Graphical user interface for configuration of an algorithm for the matching of data records
US8515926B2 (en) * 2007-03-22 2013-08-20 International Business Machines Corporation Processing related data from information sources
WO2008121700A1 (en) 2007-03-29 2008-10-09 Initiate Systems, Inc. Method and system for managing entities
WO2008121170A1 (en) 2007-03-29 2008-10-09 Initiate Systems, Inc. Method and system for parsing languages
US8423514B2 (en) 2007-03-29 2013-04-16 International Business Machines Corporation Service provisioning
US8429220B2 (en) 2007-03-29 2013-04-23 International Business Machines Corporation Data exchange among data sources
US8671000B2 (en) 2007-04-24 2014-03-11 Apple Inc. Method and arrangement for providing content to multimedia devices
US8161040B2 (en) * 2007-04-30 2012-04-17 Piffany, Inc. Criteria-specific authority ranking
JP5306360B2 (ja) 2007-09-28 2013-10-02 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記録を一致させるシステムの分析のための方法およびシステム
BRPI0817530B1 (pt) 2007-09-28 2020-02-04 Initiate Systems Inc método e sistema para processamento de registros de dados em múltiplos idiomas e mídia de armazenamento legível por computador
US8713434B2 (en) 2007-09-28 2014-04-29 International Business Machines Corporation Indexing, relating and managing information about entities
US7856434B2 (en) 2007-11-12 2010-12-21 Endeca Technologies, Inc. System and method for filtering rules for manipulating search results in a hierarchical search and navigation system
US8775441B2 (en) 2008-01-16 2014-07-08 Ab Initio Technology Llc Managing an archive for approximate string matching
US20090276368A1 (en) * 2008-04-28 2009-11-05 Strands, Inc. Systems and methods for providing personalized recommendations of products and services based on explicit and implicit user data and feedback
US20090276351A1 (en) * 2008-04-30 2009-11-05 Strands, Inc. Scaleable system and method for distributed prediction markets
EP2304597A4 (de) * 2008-05-31 2012-10-31 Apple Inc Adaptive empfehlungsvorrichtungstechnologie
US20090299945A1 (en) * 2008-06-03 2009-12-03 Strands, Inc. Profile modeling for sharing individual user preferences
US9496003B2 (en) 2008-09-08 2016-11-15 Apple Inc. System and method for playlist generation based on similarity data
US8332406B2 (en) 2008-10-02 2012-12-11 Apple Inc. Real-time visualization of user consumption of media items
JP5535230B2 (ja) * 2008-10-23 2014-07-02 アビニシオ テクノロジー エルエルシー ファジーなデータ操作
US20100169328A1 (en) * 2008-12-31 2010-07-01 Strands, Inc. Systems and methods for making recommendations using model-based collaborative filtering with user communities and items collections
US20110060738A1 (en) 2009-09-08 2011-03-10 Apple Inc. Media item clustering based on similarity data
EP2423830A1 (de) 2010-08-25 2012-02-29 Omikron Data Quality GmbH Verfahren zum Suchen in einer Vielzahl von Datensätzen und Suchmaschine
US8751496B2 (en) 2010-11-16 2014-06-10 International Business Machines Corporation Systems and methods for phrase clustering
JP5792320B2 (ja) * 2010-12-29 2015-10-07 トムソン ライセンシングThomson Licensing 顔登録の方法
CN102646103B (zh) * 2011-02-18 2016-03-16 腾讯科技(深圳)有限公司 检索词的聚类方法和装置
US8983905B2 (en) 2011-10-03 2015-03-17 Apple Inc. Merging playlists from multiple sources
CA3098038C (en) 2011-11-15 2022-11-29 Ab Initio Technology Llc Data clustering, segmentation, and parallelization
US20130205235A1 (en) * 2012-02-03 2013-08-08 TrueMaps LLC Apparatus and Method for Comparing and Statistically Adjusting Search Engine Results
BR112014018810A2 (pt) * 2012-02-06 2021-05-25 Interdigital Madison Patent Holdings Pesquisa de conteúdo interativa usando comparações
US10438268B2 (en) * 2012-02-09 2019-10-08 Microsoft Technology Licensing, Llc Recommender system
US20130268457A1 (en) * 2012-04-05 2013-10-10 Fujitsu Limited System and Method for Extracting Aspect-Based Ratings from Product and Service Reviews
US10304036B2 (en) 2012-05-07 2019-05-28 Nasdaq, Inc. Social media profiling for one or more authors using one or more social media platforms
US9418389B2 (en) 2012-05-07 2016-08-16 Nasdaq, Inc. Social intelligence architecture using social media message queues
US9336302B1 (en) 2012-07-20 2016-05-10 Zuci Realty Llc Insight and algorithmic clustering for automated synthesis
US9754222B2 (en) * 2012-12-19 2017-09-05 Bull Hn Information Systems Inc. Method for summarized viewing of large numbers of performance metrics while retaining cognizance of potentially significant deviations
US10346551B2 (en) 2013-01-24 2019-07-09 New York University Systems, methods and computer-accessible mediums for utilizing pattern matching in stringomes
US20150324481A1 (en) * 2014-05-06 2015-11-12 International Business Machines Corporation Building Entity Relationship Networks from n-ary Relative Neighborhood Trees
CA3007844C (en) * 2015-12-11 2021-06-22 Servicenow, Inc. Computer network threat assessment
US9756478B2 (en) 2015-12-22 2017-09-05 Google Inc. Identification of similar users
US10068666B2 (en) * 2016-06-01 2018-09-04 Grand Rounds, Inc. Data driven analysis, modeling, and semi-supervised machine learning for qualitative and quantitative determinations
US11205103B2 (en) 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
US10860803B2 (en) 2017-05-07 2020-12-08 8X8, Inc. System for semantic determination of job titles
US10936653B2 (en) 2017-06-02 2021-03-02 Apple Inc. Automatically predicting relevant contexts for media items
US11106708B2 (en) * 2018-03-01 2021-08-31 Huawei Technologies Canada Co., Ltd. Layered locality sensitive hashing (LSH) partition indexing for big data applications
US20210133246A1 (en) * 2019-11-01 2021-05-06 Baidu Usa Llc Transformation for fast inner product search on graph
US11914669B2 (en) 2019-11-25 2024-02-27 Baidu Usa Llc Approximate nearest neighbor search for single instruction, multiple thread (SIMT) or single instruction, multiple data (SIMD) type processors
EP4104044A4 (de) * 2020-02-10 2023-12-27 Choral Systems, LLC Datenanalyse und -visualisierung mithilfe strukturierter datentabellen und knotennetzwerke
US20220261406A1 (en) * 2021-02-18 2022-08-18 Walmart Apollo, Llc Methods and apparatus for improving search retrieval
US20230061289A1 (en) * 2021-08-27 2023-03-02 Graphite Growth, Inc. Generation and use of topic graph for content authoring
US11741001B2 (en) * 2021-10-01 2023-08-29 International Business Machines Corporation Workload generation for optimal stress testing of big data management systems
CN115577696B (zh) * 2022-11-15 2023-04-07 四川省公路规划勘察设计研究院有限公司 一种基于wbs树的项目相似度评估及分析方法

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US83039A (en) * 1868-10-13 Carl august class
US95405A (en) * 1869-10-05 Eobeet a
US117366A (en) * 1871-07-25 William ball
JPS61220027A (ja) * 1985-03-27 1986-09-30 Hitachi Ltd 文書ファイリングシステム及び情報記憶検索システム
US5206949A (en) * 1986-09-19 1993-04-27 Nancy P. Cochran Database search and record retrieval system which continuously displays category names during scrolling and selection of individually displayed search terms
US4879648A (en) * 1986-09-19 1989-11-07 Nancy P. Cochran Search system which continuously displays search terms during scrolling and selections of individually displayed data sets
US4775935A (en) * 1986-09-22 1988-10-04 Westinghouse Electric Corp. Video merchandising system with variable and adoptive product sequence presentation order
US4996642A (en) * 1987-10-01 1991-02-26 Neonics, Inc. System and method for recommending items
US5241671C1 (en) * 1989-10-26 2002-07-02 Encyclopaedia Britannica Educa Multimedia search system using a plurality of entry path means which indicate interrelatedness of information
US5418717A (en) * 1990-08-27 1995-05-23 Su; Keh-Yih Multiple score language processing system
US5265065A (en) * 1991-10-08 1993-11-23 West Publishing Company Method and apparatus for information retrieval from a database by replacing domain specific stemmed phases in a natural language to create a search query
US5379422A (en) * 1992-01-16 1995-01-03 Digital Equipment Corporation Simple random sampling on pseudo-ranked hierarchical data structures in a data processing system
GB9220404D0 (en) * 1992-08-20 1992-11-11 Nat Security Agency Method of identifying,retrieving and sorting documents
US5634128A (en) * 1993-09-24 1997-05-27 International Business Machines Corporation Method and system for controlling access to objects in a data processing system
US6339767B1 (en) * 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
US5600831A (en) * 1994-02-28 1997-02-04 Lucent Technologies Inc. Apparatus and methods for retrieving information by modifying query plan based on description of information sources
US5548506A (en) * 1994-03-17 1996-08-20 Srinivasan; Seshan R. Automated, electronic network based, project management server system, for managing multiple work-groups
US5630125A (en) * 1994-05-23 1997-05-13 Zellweger; Paul Method and apparatus for information management using an open hierarchical data structure
US5600829A (en) * 1994-09-02 1997-02-04 Wisconsin Alumni Research Foundation Computer database matching a user query to queries indicating the contents of individual database tables
US5715444A (en) * 1994-10-14 1998-02-03 Danish; Mohamed Sherif Method and system for executing a guided parametric search
US6029195A (en) * 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
US5546576A (en) * 1995-02-17 1996-08-13 International Business Machines Corporation Query optimizer system that detects and prevents mutating table violations of database integrity in a query before execution plan generation
US5749081A (en) * 1995-04-06 1998-05-05 Firefly Network, Inc. System and method for recommending items to a user
US5675784A (en) * 1995-05-31 1997-10-07 International Business Machnes Corporation Data structure for a relational database system for collecting component and specification level data related to products
US6112186A (en) * 1995-06-30 2000-08-29 Microsoft Corporation Distributed system for facilitating exchange of user information and opinion using automated collaborative filtering
US6092049A (en) * 1995-06-30 2000-07-18 Microsoft Corporation Method and apparatus for efficiently recommending items using automated collaborative filtering and feature-guided automated collaborative filtering
US5724571A (en) * 1995-07-07 1998-03-03 Sun Microsystems, Inc. Method and apparatus for generating query responses in a computer-based document retrieval system
US5740425A (en) * 1995-09-26 1998-04-14 Povilus; David S. Data structure and method for publishing electronic and printed product catalogs
US5870746A (en) * 1995-10-12 1999-02-09 Ncr Corporation System and method for segmenting a database based upon data attributes
JPH09156438A (ja) * 1995-12-07 1997-06-17 Kansei Corp 乗員検出装置
US6014655A (en) * 1996-03-13 2000-01-11 Hitachi, Ltd. Method of retrieving database
US5926811A (en) * 1996-03-15 1999-07-20 Lexis-Nexis Statistical thesaurus, method of forming same, and use thereof in query expansion in automated text searching
US5768581A (en) * 1996-05-07 1998-06-16 Cochran; Nancy Pauline Apparatus and method for selecting records from a computer database by repeatedly displaying search terms from multiple list identifiers before either a list identifier or a search term is selected
US5920859A (en) * 1997-02-05 1999-07-06 Idd Enterprises, L.P. Hypertext document retrieval system and method
US5864845A (en) * 1996-06-28 1999-01-26 Siemens Corporate Research, Inc. Facilitating world wide web searches utilizing a multiple search engine query clustering fusion strategy
US5864846A (en) * 1996-06-28 1999-01-26 Siemens Corporate Research, Inc. Method for facilitating world wide web searches utilizing a document distribution fusion strategy
US5893104A (en) * 1996-07-09 1999-04-06 Oracle Corporation Method and system for processing queries in a database system using index structures that are not native to the database system
US5864863A (en) * 1996-08-09 1999-01-26 Digital Equipment Corporation Method for parsing, indexing and searching world-wide-web pages
US5897639A (en) * 1996-10-07 1999-04-27 Greef; Arthur Reginald Electronic catalog system and method with enhanced feature-based search
US5907838A (en) * 1996-12-10 1999-05-25 Seiko Epson Corporation Information search and collection method and system
US5950189A (en) * 1997-01-02 1999-09-07 At&T Corp Retrieval system and method
US5875446A (en) * 1997-02-24 1999-02-23 International Business Machines Corporation System and method for hierarchically grouping and ranking a set of objects in a query context based on one or more relationships
US6226745B1 (en) * 1997-03-21 2001-05-01 Gio Wiederhold Information sharing system and method with requester dependent sharing and security rules
US5895470A (en) * 1997-04-09 1999-04-20 Xerox Corporation System for categorizing documents in a linked collection of documents
US6272507B1 (en) * 1997-04-09 2001-08-07 Xerox Corporation System for ranking search results from a collection of documents using spreading activation techniques
US5835905A (en) * 1997-04-09 1998-11-10 Xerox Corporation System for predicting documents relevant to focus documents by spreading activation through network representations of a linked collection of documents
US5978788A (en) * 1997-04-14 1999-11-02 International Business Machines Corporation System and method for generating multi-representations of a data cube
US5878423A (en) * 1997-04-21 1999-03-02 Bellsouth Corporation Dynamically processing an index to create an ordered set of questions
US5875440A (en) * 1997-04-29 1999-02-23 Teleran Technologies, L.P. Hierarchically arranged knowledge domains
US5970489A (en) * 1997-05-20 1999-10-19 At&T Corp Method for using region-sets to focus searches in hierarchical structures
US5940821A (en) * 1997-05-21 1999-08-17 Oracle Corporation Information presentation in a knowledge base search and retrieval system
US6038560A (en) * 1997-05-21 2000-03-14 Oracle Corporation Concept knowledge base search and retrieval system
US5873075A (en) * 1997-06-30 1999-02-16 International Business Machines Corporation Synchronization of SQL actions in a relational database system
US6014665A (en) * 1997-08-01 2000-01-11 Culliss; Gary Method for organizing information
US6269368B1 (en) * 1997-10-17 2001-07-31 Textwise Llc Information retrieval using dynamic evidence combination
US6014639A (en) * 1997-11-05 2000-01-11 International Business Machines Corporation Electronic catalog system for exploring a multitude of hierarchies, using attribute relevance and forwarding-checking
US5943670A (en) * 1997-11-21 1999-08-24 International Business Machines Corporation System and method for categorizing objects in combined categories
US6014657A (en) * 1997-11-27 2000-01-11 International Business Machines Corporation Checking and enabling database updates with a dynamic multi-modal, rule base system
US6094650A (en) * 1997-12-15 2000-07-25 Manning & Napier Information Services Database analysis using a probabilistic ontology
US6260008B1 (en) * 1998-01-08 2001-07-10 Sharp Kabushiki Kaisha Method of and system for disambiguating syntactic word multiples
US6028605A (en) * 1998-02-03 2000-02-22 Documentum, Inc. Multi-dimensional analysis of objects by manipulating discovered semantic properties
US6038574A (en) * 1998-03-18 2000-03-14 Xerox Corporation Method and apparatus for clustering a collection of linked documents using co-citation analysis
US6049797A (en) * 1998-04-07 2000-04-11 Lucent Technologies, Inc. Method, apparatus and programmed medium for clustering databases with categorical attributes
US6424983B1 (en) * 1998-05-26 2002-07-23 Global Information Research And Technologies, Llc Spelling and grammar checking system
US6144958A (en) * 1998-07-15 2000-11-07 Amazon.Com, Inc. System and method for correcting spelling errors in search queries
US6035294A (en) * 1998-08-03 2000-03-07 Big Fat Fish, Inc. Wide access databases and database systems
US6243713B1 (en) * 1998-08-24 2001-06-05 Excalibur Technologies Corp. Multimedia document retrieval by application of multimedia queries to a unified index of multimedia data for a plurality of multimedia data types
US6356899B1 (en) * 1998-08-29 2002-03-12 International Business Machines Corporation Method for interactively creating an information database including preferred information elements, such as preferred-authority, world wide web pages
US6397221B1 (en) * 1998-09-12 2002-05-28 International Business Machines Corp. Method for creating and maintaining a frame-based hierarchically organized databases with tabularly organized data
US6317722B1 (en) * 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
US6236985B1 (en) * 1998-10-07 2001-05-22 International Business Machines Corporation System and method for searching databases with applications such as peer groups, collaborative filtering, and e-commerce
US6385602B1 (en) * 1998-11-03 2002-05-07 E-Centives, Inc. Presentation of search results using dynamic categorization
IT1303603B1 (it) * 1998-12-16 2000-11-14 Giovanni Sacco Procedimento a tassonomia dinamica per il reperimento di informazionisu grandi banche dati eterogenee.
US6598054B2 (en) * 1999-01-26 2003-07-22 Xerox Corporation System and method for clustering data objects in a collection
US6360227B1 (en) * 1999-01-29 2002-03-19 International Business Machines Corporation System and method for generating taxonomies with applications to content-based recommendations
US6611825B1 (en) * 1999-06-09 2003-08-26 The Boeing Company Method and system for text mining using multidimensional subspaces
US6571282B1 (en) * 1999-08-31 2003-05-27 Accenture Llp Block-based communication in a communication services patterns environment
US6845354B1 (en) * 1999-09-09 2005-01-18 Institute For Information Industry Information retrieval system with a neuro-fuzzy structure
US6618727B1 (en) * 1999-09-22 2003-09-09 Infoglide Corporation System and method for performing similarity searching
US6453315B1 (en) * 1999-09-22 2002-09-17 Applied Semantics, Inc. Meaning-based information organization and retrieval
US6345273B1 (en) * 1999-10-27 2002-02-05 Nancy P. Cochran Search system having user-interface for searching online information
US6446068B1 (en) * 1999-11-15 2002-09-03 Chris Alan Kortge System and method of finding near neighbors in large metric space databases
US6466918B1 (en) * 1999-11-18 2002-10-15 Amazon. Com, Inc. System and method for exposing popular nodes within a browse tree
US7007019B2 (en) * 1999-12-21 2006-02-28 Matsushita Electric Industrial Co., Ltd. Vector index preparing method, similar vector searching method, and apparatuses for the methods
US6542889B1 (en) * 2000-01-28 2003-04-01 International Business Machines Corporation Methods and apparatus for similarity text search based on conceptual indexing
WO2001075790A2 (en) * 2000-04-03 2001-10-11 3-Dimensional Pharmaceuticals, Inc. Method, system, and computer program product for representing object relationships in a multidimensional space
US7007174B2 (en) * 2000-04-26 2006-02-28 Infoglide Corporation System and method for determining user identity fraud using similarity searching
US6697800B1 (en) * 2000-05-19 2004-02-24 Roxio, Inc. System and method for determining affinity using objective and subjective data
US6633868B1 (en) * 2000-07-28 2003-10-14 Shermann Loyall Min System and method for context-based document retrieval
JP2002063209A (ja) * 2000-08-22 2002-02-28 Sony Corp 情報処理装置および方法、情報システム、並びに記録媒体
US6697801B1 (en) * 2000-08-31 2004-02-24 Novell, Inc. Methods of hierarchically parsing and indexing text
US6519618B1 (en) * 2000-11-02 2003-02-11 Steven L. Snyder Real estate database search method
US6778980B1 (en) * 2001-02-22 2004-08-17 Drugstore.Com Techniques for improved searching of electronically stored information
US6834278B2 (en) * 2001-04-05 2004-12-21 Thothe Technologies Private Limited Transformation-based method for indexing high-dimensional data for nearest neighbour queries
US7099885B2 (en) * 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
US6763351B1 (en) * 2001-06-18 2004-07-13 Siebel Systems, Inc. Method, apparatus, and system for attaching search results
US7284191B2 (en) * 2001-08-13 2007-10-16 Xerox Corporation Meta-document management system with document identifiers
US20050022114A1 (en) * 2001-08-13 2005-01-27 Xerox Corporation Meta-document management system with personality identifiers
US6778995B1 (en) * 2001-08-31 2004-08-17 Attenex Corporation System and method for efficiently generating cluster groupings in a multi-dimensional concept space

Also Published As

Publication number Publication date
US20030120630A1 (en) 2003-06-26
DE60221153D1 (de) 2007-08-23
ATE366964T1 (de) 2007-08-15
EP1459206B1 (de) 2007-07-11
EP1459206A1 (de) 2004-09-22
CA2470899A1 (en) 2003-07-03
WO2003054746A1 (en) 2003-07-03
AU2002337672A1 (en) 2003-07-09

Similar Documents

Publication Publication Date Title
DE60221153T2 (de) Verfahren und vorrichtung für ähnlichkeitssuche und gruppenbildung
DE69938339T2 (de) Ein skalierbares system zum gruppieren von grossen datenbänken
DE60121231T2 (de) Datenverarbeitungsverfahren
DE112017006517T5 (de) Visuelle kategoriedarstellung mit vielfältiger einstufung
DE69933187T2 (de) Dokumentensuchverfahren und Dienst
Hsu et al. Incremental clustering of mixed data based on distance hierarchy
US20030065635A1 (en) Method and apparatus for scalable probabilistic clustering using decision trees
DE102015009910A1 (de) Automatische Aggregation von Online-Benutzerprofilen
DE112016002395T5 (de) Zugriffskontrolle für Datenressourcen
DE102016014798A1 (de) Genaues Vorhersagen einer Etikettrelevanz bei einer Bildabfrage
WO2006066556A2 (de) Relationale komprimierte datenbank-abbilder (zur beschleunigten abfrage von datenbanken)
DE10247927A1 (de) Verbessertes Verfahren zum Bewerten von Einheiten innerhalb eines Empfehlungssystems auf der Grundlage zusätzlicher Kenntnisse über die Verknüpfung der Einheiten untereinander
WO2006018041A1 (de) Sprach- und textanalysevorrichtung und entsprechendes verfahren
DE60030735T2 (de) Voraussage der realisierbarkeit eines verbindungsweges
DE69719641T2 (de) Ein Verfahren, um Informationen auf Bildschirmgeräten in verschiedenen Grössen zu präsentieren
DE202013005812U1 (de) System zum indexieren elektronischer Inhalte
DE102012214196A1 (de) Erkennen nicht eindeutiger Namen in einer Gruppe von Namen
DE112020000554T5 (de) Verfahren zum zugreifen auf datensätze eines stammdatenverwaltungssystems
DE202017105863U1 (de) Einstufen von Suchergebnisdokumenten
DE102019212421A1 (de) Verfahren und Vorrichtung zur Ermittlung ähnlicher Dokumente
DE102012025349A1 (de) Bestimmung eines Ähnlichkeitsmaßes und Verarbeitung von Dokumenten
Machnik Documents Clustering Techniques
DE102021203300A1 (de) Computerimplementiertes Verfahren für Schlüsselwortsuche in einem Wissensgraphen
DE112019007599T5 (de) Informationsverarbeitungsvorrichtung, programm und informationsverarbeitungsverfahren
Gogoglou et al. The fractal dimension of a citation curve: quantifying an individual’s scientific output using the geometry of the entire curve

Legal Events

Date Code Title Description
8364 No opposition during term of opposition