DE69900854T2 - Ein suchsystem und verfahren zum zurückholen von daten und die anwendung in einem suchgerät - Google Patents

Ein suchsystem und verfahren zum zurückholen von daten und die anwendung in einem suchgerät

Info

Publication number
DE69900854T2
DE69900854T2 DE69900854T DE69900854T DE69900854T2 DE 69900854 T2 DE69900854 T2 DE 69900854T2 DE 69900854 T DE69900854 T DE 69900854T DE 69900854 T DE69900854 T DE 69900854T DE 69900854 T2 DE69900854 T2 DE 69900854T2
Authority
DE
Germany
Prior art keywords
words
text
word
query
sequences
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
DE69900854T
Other languages
English (en)
Other versions
DE69900854D1 (de
Inventor
Magne Risvik
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.)
Altaba Inc
Original Assignee
Fast Search and Transfer AS
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 Fast Search and Transfer AS filed Critical Fast Search and Transfer AS
Publication of DE69900854D1 publication Critical patent/DE69900854D1/de
Application granted granted Critical
Publication of DE69900854T2 publication Critical patent/DE69900854T2/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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Liquid Crystal Substances (AREA)
  • Automobile Manufacture Line, Endless Track Vehicle, Trailer (AREA)

Description

  • Die Erfindung betrifft ein Suchsystem für eine Informationswiedergewinnung, insbesondere für Information, die in Form von Text gespeichert ist, wobei ein Text T Wörter und/oder Symbole s und Sequenzen S hieraus umfaßt, wobei die Informationsgewinnung mit einem gegebenen oder variierenden Grad von Übereinstimmung zwischen einer Anfrage Q und wiedergewonnener Information R abläuft, wobei die Anfrage Q Wörter und/oder Symbole q und Sequenzen P hieraus umfaßt und die Information R Wörter und/oder Symbole und Sequenzen hieraus aus dem Text umfaßt, wobei das Suchsystem eine Datenstruktur zum Speichern wenigstens eines Teils des Textes T und ein Maß bzw. eine Metrik M umfaßt, welche(s) den Grad der Übereinstimmung zwischen der Anfrage Q der wiedergewonnen Information R mißt, und wobei das Suchsystem einen Suchalgorithmus zur Ausführung einer Suche realisiert, insbesondere einer Volltextsuche auf der Basis von Schlüsselwörtern kw. Die Erfindung bezieht sich weiterhin auf ein Verfahren in einem Suchsystem für Informationswiedergewinnung, insbesondere von Information, die in Form von Text gespeichert ist, wobei ein Text T Wörter und/oder Symbole s und Sequenzen S hieraus umfaßt, wobei die Informationswiedergewinnung mit einem gegebenen oder variierenden Grad an Übereinstimmung zwischen einer Anfrage Q und wiedergewonnener Information R abläuft, wobei die Anfrage Q Wörter und/oder Symbole q und Sequenzen P hieraus umfaßt und wobei wiedergewonnene Information R Wörter und/oder Symbole und Sequenzen hieraus aus dem Text T umfaßt, wobei das Suchsystem eine Datenstruktur zum Speichern wenigstens eines Teils des Textes T und ein Maß bzw. eine Metrik M umfaßt, welche(s) den Grad der Übereinstimmung zwischen der Anfrage Q und der wiedergewonnenen Information R mißt, und wobei das Suchsystem einen Suchalgorithmus zur Ausführung einer Suche realisiert, insbesondere einer Volltextsuche auf der Basis von Schlüsselwörtern kw, wobei die Information in dem Text T in Wörter s und Wortsequenzen S aufgeteilt wird, wobei die Wörter Unterstrings des gesamten Textes sind, welche durch Wortgrenzterme getrennt sind und eine Sequenz von Symbolen bilden, wobei jedes Wort als eine Sequenz von Symbolen strukturiert ist.
  • Die Erfindung betrifft die Nutzung des Suchsystems.
  • In verschiedenen Bereichen des menschlichen Wissens wird eine sehr große Menge von Information gesammelt und in Computerspeichersystemen gespeichert. Weil die Computerspeichersysteme immer mehr in öffentlich zugänglichen Datenkommunikationsnetzwerken verbunden sind, wird zunehmend ein Aufwand betrieben, um Systeme und Verfahren zum Suchen und zum Wiedergewinnen von Information für öffentliche oder persönlich Nutzung zu entwickeln. Bekannte Suchverfahren für Daten weisen jedoch Grenzen auf, die die Möglichkeit einer effizienten Wiedergewinnung und Nutzung von Information, die in dieser Art gespeichert ist, ernsthaft vermindert.
  • Information kann in Form verschiedener Datentypen gespeichert werden. Im Zusammenhang mit der Informationssuche und der Informationswiedergewinnung ist es nützlich, zwischen dynamischen Daten und statischen Daten zu unterscheiden. Dynamische Daten sind Daten, die sich oft und fortlaufend ändern, so daß ein Satz gültiger Daten ständig variiert, während statische Daten sich nur selten oder überhaupt nicht ändert. Beispielsweise unterliegen ökonomische Daten, wie Aktienwerte oder meteorologische Daten, sehr schnellen Änderungen und sind folglich dynamisch. Andererseits ist die Archivspeicherung von Büchern und Dokumenten üblicherweise dauerhaft, so daß es sich um statische Daten handelt. Das Konzept der Flüchtigkeit von Daten bezieht sich darauf, wie lange die Information gültig ist. Die Flüchtigkeit von Daten hat Auswirkungen darauf, wie die Information durchsucht und wiedergewönnen werden soll. Große Datenmengen verlangen eine Struktur, um das Suchen zu erleichtern, wobei der zeitliche Aufwand zum Ausbilden solcher Strukturen jedoch nicht höher als die Zeit der Gültigkeit der Daten sein darf. Die Kosten für das Ausbilden einer Struktur hängen vom Datenumfang ab. Folglich sollte der Aufbau von Datenstrukturen zum Suchen der Information sowohl den Datenumfang als auch die Flüchtigkeit in Betracht ziehen. Die gesammelte Information wird in Datenbanken gespeichert. Dieses kann strukturiert oder unstrukturiert geschehen. Darüber hinaus können die Datenbanken verschiedene Arten von Dokumenten enthalten, einschließlich zusammengesetzter Dokumente, welche Bilder, Videos, Ton oder formatierten oder kommentierten Text umfassen. Insbesondere strukturierte Datenbanken weisen üblicherweise Indizes auf, um das Suchen und Wiedergewinnen der Daten zu erleichtern. Das Wachstum des World Wide Web (WWW) offeriert eine ständig zunehmende Sammlung von zusammengesetzten Dokumenten und Hyperlink-Dokumenten. Eine Mehrzahl dieser werden nicht in strukturierten Datenbanken gesammelt, und es existieren keine Indizes, die eine schnelle Suche erleichtern. Der Bedarf für das Suchen von Dokumenten in dem World Wide Web ist jedoch offensichtlich, und folglich wurde eine Anzahl von sogenannten Suchmaschinen entwickelt, die das Suchen von wenigstens Teilen der Information in dem World Wide Web ermöglichen.
  • Unter einer Suchmaschine werden allgemein ein oder mehrere Werkzeuge bzw. Hilfsmittel zum Suchen und zum Wiedergewinnen von Information verstanden. Zusätzlich zu dem Suchsystem umfaßt eine Suchmaschine geeigneterweise auch einen Index, welcher beispielsweise einen Text mit einer großen Anzahl von "uniform resource locators" (URLs) enthält. Beispiele solcher Suchmaschinen sind Alta Vista; HotBot mit Inktomi-Technologie, Infoseek, Excite und Yahoo. Alle bieten Möglichkeiten zum Ausführen des Suchens und des Wiedergewinnens von Information im World Wide Web. Die Geschwindigkeit und die Effizienz entsprechen jedoch nicht der riesigen Menge von Information, die im World Wide Web verfügbar ist, und folglich bleiben in Anbetracht der Such- und Wiedergewinnungseffizienz dieser Suchmaschinen viele Wünsche offen.
  • Das Durchsuchen einer großen Sammlung von Textdokumenten kann üblicherweise mit verschiedenen Anfragetypen ausgeführt werden. Der häufigste Anfragetyp ist das Übereinstimmen und Varianten hiervon. Mit Hilfe des Spezifizierens eines Stichworts oder einer Folge von Stichworten, die in der angefragten Information vorhanden sein muß, gewinnt das Suchsystem alle Dokumente wieder, die diese Anforderung erfüllen. Das Basissuchverfahren beruht auf der sogenannten Einzelwort-Übereinstimmung. Das Stichwort p wird gesucht, und alle Dokumente, die dieses enthalten, werden wiedergewonnen. Es besteht die Möglichkeit, nach einem Stichwort-Präfix pj zu suchen, und alle Dokumente, in denen dieser Präfix in irgendeinem Stichwort vorhanden ist, werden wiedergewonnen. Anstelle der Suche mit Stichworten basiert die Suche manchmal auf einer sogenannten exakten Phrasenübereinstimmung, bei der die Suche mehrere einzelne Stichworte in einer bestimmten Abfolge nutzt. Wie dem Fachmann bekannt ist, kann die exakte Übereinstimmung von Stichwortphrasen in vielen Suchsystemen durch die Nutzung von Boolschen Operatoren ausgeführt werden, beispielsweise basierend auf Operatoren UND (AND), ODER (OR) und NEIN (NOT), welche ein Filtern der Information ermöglichen. Beispielsweise führt die Nutzung von UND dazu, daß alle Dokumente, die zwei durch den UND-Operator verbundene Stichwörter enthalten, wiedergewonnen werden. Darüber hinaus wird ein Nähe(NEAR)-Operator genutzt, um nur die Dokumente mit den Stichworten zurückzugeben, die übereinstimmen und in dem Dokumententext "in der Nähe" zueinander angeordnet sind. In vielen strukturierten Datenbanken sind die enthaltenen Dokumente kommentiert, beispielsweise sind Felder vorgesehen, die bestimmte Teile oder Arten der Information in dem Dokument bezeichnen. Dieses erlaubt die Suche von Übereinstimmungen in nur Teilen der Dokumente und ist nützlich, wenn der Typ der angefragten Information im voraus bekannt ist.
  • Wenn in Textdokumenten gesucht wird, werden die Daten strukturiert und sind wahrscheinlich in einigen natürlichen Sprachen, wie Englisch, Norwegisch usw. vorhanden. Wenn nach Dokumenten mit einem bestimmten Kontext gesucht wird, ist es möglich, Näherungskriterien zum Übereinstimmen von Stichworten oder Phrasen zu nutzten, die mit der Anfrage näherungsweise übereinstimmen. Übliche Verfahren für die Näherung erlauben Fehler in den Stichworten und Phrasen. Das Nutzen von Lexika ist ein anderes übliches Verfahren. Eine Näherungssuche verlangt nur, daß eine teilweise Übereinstimmung zwischen der wiederzugewinnenden Information und der Anfrage besteht. Die veröffentlichte internationale Anmeldung WO96/00945 mit dem Titel "Variable length data sequence matching method and apparatus" (Döringer & al.), deren Inhaber International Business Machines, Corp. ist, offenbart das Ausbilden, das Unterhalten und das Nutzen einer Datenbank mit einer baumähnlichen Struktur zum Speichern von Einträgen und zum Wiedergewinnen wenigstens einer teilweisen Übereinstimmung, vorzugsweise der längsten teilweisen Übereinstimmung oder aller teilweisen Übereinstimmungen für ein Suchargument (Eingabeschlüssel) der Einträge.
  • Zur weiteren Darstellung des allgemeinen Standes der Technik können die veröffentlichte internationale Patentanmeldung WO92/15954 (Kimball & al., Inhaberin Red Brick System, USA) und das US-Patent 5,627,748 (Baker & al., Inhaberin Lucent Technologies, Inc., USA) genannt werden, die beide Datenstrukturen in Form von Suffix-Bäumen zum Suchen/Übereinstimmen in einer Quadratmatrix offenbaren. Keine der beiden Publikationen offenbart irgend etwas über einen regulären Suffix-Baum hinaus, mit Ausnahme der Nutzung einer verbundenen Liste während des Übereinstimmens und lehrt oder schlägt Lösungen zum Begrenzen des Suchraums vor, wenn nach näherungsweisen Übereinstimmungen gesucht wird. Solche Lösungen wären jedoch sehr wünschenswert, wenn Datenstrukturen durchsucht werden, die auf Suffix-Bäumen basieren, insbesondere zum näherungsweisen Übereinstimmen in sehr großen Dokumentensammlungen, wie sie beispielsweise im World Wibe Web gefunden werden.
  • Aufgabe der Erfindung ist es deshalb, ein Suchsystem und ein Verfahren für eine schnelle und effiziente Suche und Wiedergewinnung von Information in großen Datenmengen anzugeben. Es ist insbesondere Aufgabe der Erfindung, ein Suchsystem anzugeben, das zum Implementieren von Suchmaschinen zum Durchsuchen von Informationssystemen mit verteilten großen Datenspeichermengen, beispielsweise das Internet, geeignet ist. Es wird darauf hingewiesen, daß das erfindungsgemäße Suchsystem nicht auf das Suchen und das Wiedergewinnen von Information begrenzt ist, die in Form alphanumerischer Zeichen gespeichert ist. Das erfindungsgemäße Suchsystem kann in gleicher Weise zum Suchen und zum Wiedergewinnen von Information genutzt werden, die in Form digitaler Bilder oder graphischer Symbole gespeichert sind. Genauso kann das Wort Text in der hier genutzten Form als Bilder interpretiert werden, wenn diese vollständig oder teilweise als Folge von Symbolen repräsentiert werden. Es wird weiterhin darauf hingewiesen, daß das erfindungsgemäße Suchsystem als Software implementiert werden kann, die in einer geeigneten Hochsprache auf kommerziell verfügbaren Computersystemen geschrieben ist. Darüber hinaus kann das erfindungsgemäße Suchsystem auch in Form einer zweckgebundenen Prozessoreinrichtung zum Suchen und zum Wiedergewinnen von Information der vorgenannten Art implementiert werden.
  • Die vorgenannten Aufgaben und Vorteile werden erfindungsgemäß mit einem Suchsystem realisiert, welches dadurch gekennzeichnet ist, daß die Datenstruktur eine Baumstruktur in der Form eines nicht gleichmäßig verteilten dünnbesiedelten Suffix-Baums ST(T) zum Speichern von Suffixen von Wörtern und/oder Symbolen s und Sequenzen S daraus in dem Text T umfaßt, daß das Maß M eine Kombination aus einem Edit-Abstandsmaß D(s, q) für einen ungefähren Grad an Übereinstimmung zwischen Wörtern und/oder Symbolen s; q in dem Text T bzw. einer Anfrage Q und ein Edit-Abstandsmaß Dws(S, P) für einen ungefähren Grad an Übereinstimmung zwischen Sequenzen S von Wörtern und/oder Symbolen s in dem Text T und einer Anfragesequenz P von Wörtern und/oder Symbolen q in der Anfrage Q umfaßt, wobei das zuletzt genannte Edit-Abstandsmaß eine Gewicht-Kostenfunktion für Editieroperationen umfaßt, welche Sequenzen von Wörtern und/oder Symbolen s in dem Text T in die Sequenz P von Wörtern und/oder Symbolen q in der Anfrage Q transformiert, wobei die Gewichtung mit einem Wert erfolgt, der proportional zu einer Änderung der Länge der Sequenz S bei einer Transformation oder abhängig von der Größe der Wörter und/oder Symbole s; q in den abzugleichenden Sequenzen S; P ist, daß der implementierte Suchalgorithmus einen ersten Algorithmus zum Ermitteln des Grades der Übereinstimmung zwischen Wörtern und/oder Symbolen s; q in der Suffix-Baumdarstellung des Textes T bzw. einer Anfrage Q und einen zweiten Algorithmus zum Ermitteln des Grades der Übereinstimmung zwischen Sequenzen S;P von Wörtern und/oder Symbolen s; q in der Suffix-Baumdarstellung des Textes T bzw. der Anfrage Q umfaßt, wobei der erste und/oder zweite Algorithmus die Datenstrukturen mit Anfragen Q in der Form von entweder Wörtern, Symbolen, Wortsequenzen oder Symbolsequenzen oder Kombinationen daraus absucht, so daß Information R auf der Basis der Anfrage Q mit einem bestimmten Grad an Übereinstimmung zwischen ersterer und letzterer wiedergewonnen wird, und daß der Suchalgorithmus optional auch einen dritten Algorithmus zum Ermitteln der exakten Übereinstimmung zwischen Wörtern und/oder Symbolen s; q in der Suffix-Baumdarstellung des Textes T bzw. der Anfrage Q und/oder einen vierten Algorithmus zum Ermitteln der exakten Übereinstimmung zwischen Sequenzen S; P von Wörtern und/oder Symbolen s; q in der Suffix-Baumdarstellung des Textes T bzw. der Anfrage Q umfaßt, wobei der dritte und/oder vierte Algorithmus die Datenstruktur mit Anfragen Q in der Form von entweder Wörtern, Symbolen, Wortsequenzen oder Symbolsequenzen oder Kombinationen daraus absuchen, so daß Information R auf der Basis der Anfrage Q mit einer exakten Übereinstimmung zwischen ersterer und letzerer wiedergewonnen wird.
  • Bei einer vorteilhaften Ausführungsform des erfindungsgemäßen Suchsystems ist der Suffix- Baum ST(T) ein dünnbesiedelter Wortabstand-Suffix-Baum SSTws(T), der nur eine Untermenge der Suffixe in dem Text T umfaßt.
  • Es ist bevorzugt, daß der dünnbesiedelte Wortabstand-Suffix-Baum SSTws(T) ein dünnbesiedelter Stichwort-Abstand-Suffix-Baum SSTkws(T) ist.
  • Bei einer weiteren vorteilhaften Ausführungsform des erfindungsgemäßen Suchsystems ist vorgesehen, daß der erste Algorithmus zum Erfassen des Grads der Stichwortübereinstimmung in einem dünnbesiedelten Stichwort-Abstand-Suffix-Baum SSTkws(T) in der im abhängigen Anspruch 4 beschriebenen Art implementiert ist. Es kann weiterhin vorgesehen sein, daß der zweite Algorithmus zum Bestimmen des Grads der Übereinstimmung in einem dünnbesiedelten Stichwort-Abstand-Suffix-Baum SSTkws(T) implementiert ist, wie dieses in dem abhängigen Anspruch 5 beschrieben ist, wobei eine Unterroutine des zweiten Algorithmus vorzugsweise implementiert ist, wie dieses im abhängigen Anspruch 6 offenbart ist. Der dritte Algorithmus zum Bestimmen einer exakten Stichwortübereinstimmung in einem dünnbesiedelten Stichwort-Abstand-Suffix-Baum SSTkws(T) ist bei einer Ausführungsform der Erfindung implementiert, wie dieses im abhängigen Anspruch 7 beschrieben ist. Letztlich ist bei einer Ausführungsform der Erfindung der vierte Algorithmus zum Bestimmen einer exakten Stichwortsequenzübereinstimmung in einem dünnbesiedelten Stichwort-Abstand-Suffix- Baum SSTkws(T) gemäß dem abhängigen Anspruch 8 implementiert.
  • Die oben beschriebenen Aufgaben und Vorteile werden erfindungsgemäß auch mit einem Verfahren realisiert, welches durch die folgenden Schritte gekennzeichnet ist: Erzeugen der Datenstruktur als einen dünnbesiedelten Wortabstand-Suffix-Baum SSTws(T) eines Textes T zum Darstellen aller Suffixe, die bei einem Worttrennsymbol in dem Text T beginnen; Speichern von Sequenzinformation der Wörter s in dem Text T in dem dünnbesiedelten Wortabstand-Suffix-Baum SSTws(T); Erzeugen eines kombinierten Editabstandsmaßes M, daß ein Editabstandsmaß D(s, q) für Wörter s in dem Text T und ein Anfragewort q in einer Anfrage Q und ein wortgrößenabhängiges Editabstandsmaß Dws(S; P) für Wortsequenzen S in dem Text T und eine Wortsequenz P in der Anfrage Q umfaßt, wobei das Editabstandsmaß Dws(S; P) die minimale Summe der Kosten für Editieroperationen ist, welche eine Sequenz S in die Sequenz P umwandeln, wobei die minimale Summe der Kosten die minimale Summe der Kostenfunktionen für jede Editieroperation ist, gewichtet mit einem Wert, der proportional zur Änderung in der Gesamtlänge der Sequenz S ist, oder mit dem Verhältnis der momentanen Wortlänge und der mittleren Wortlänge in der Sequenz S; P; und Bestimmen des Grads der Übereinstimmung zwischen Wörtern s, q durch Berechnen des Editabstandsmaßes D(s, q) zwischen den Wörtern s der wiedergewonnenen Information R und den Wörtern q einer Anfrage Q, oder indem Fall, daß die Wörter s, q mehr als k Fehler voneinander abweichen, Bestimmen des Grads der Übereinstimmung zwischen den Wortfolgen SR; PQ der wiedergewonnenen Information R bzw. einer Anfrage Q durch Berechnen des Editabstandsmaßes Dws(SRPQ) für alle Übereinstimmungen.
  • Vorteilhaft kann das erfindungsgemäße Verfahren das zusätzliche Gewichten einer Editieroperation umfassen, die ein Wort s in eine Wort q ändert, mit einem Parameter für die Nähe zwischen den Zeichen der Wörter s; q, und somit Berücksichtigen der Ähnlichkeit der Wörter s; q bei der Ermittlung der Kosten der in Rede stehenden Editieroperation.
  • Bei einer vorteilhaften Ausführungsform des erfindungsgemäßen Verfahrens ist die Anzahl der Übereinstimmungen durch Berechnen des Editabstands Dws(SR, PQ) für eine beschränkte Anzahl von Wörtern in der Anfragewortsequenz PQ begrenzt.
  • Bei einer anderen vorteilhaften Ausführungsform des erfindungsgemäßen Verfahrens wird der Editabstand D(s, q) zwischen dem Wort s und einem Wort q auf rekursive Weise definiert und mittels einer dynamischen Programmierprozedur berechnet. Eine vorteilhafte Ausführungsform des erfindungsgemäßen Verfahrens kann weiterhin vorsehen, daß der Editabstand Dws(S, P) zwischen Sequenzen S und einer Sequenz P entsprechend auf rekursive Weise definiert und mittels einer dynamischen Programmierprozedur berechnet wird.
  • Erfindungsgemäß werden die oben genannten Aufgaben und Vorteile auch mittels der Nutzung des erfindungsgemäßen Suchsystems in einer Näherungs-Suchmaschine realisiert.
  • Die Erfindung wird im folgenden anhand von Ausführungsbeispielen unter Bezugnahme auf eine Zeichnung näher erläutert. Hierbei zeigen:
  • Fig. 1 ein Beispiel für einen Suffix-Baum;
  • Fig. 2 Beispiele für dünnbesiedelte Wort-Abstand-Suffix-Bäume, wie sie mit der Erfindung genutzt werden;
  • Fig. 3 ein Beispiel für einen sogenannten PATRICIA-Baum gemäß dem Stand der Technik;
  • Fig. 4 ein weiteres Beispiel für einen dünnbesiedelten Wort-Abstand-Suffix-Baum, wie er bei der Erfindung genutzt wird;
  • Fig. 5 ein Beispiel einer explizit gespeicherten Wortsequenz-Information, wie sie mit der Erfindung genutzt wird;
  • Fig. 6 eine Blattknotenstruktur, wie sie bei der Erfindung genutzt wird; und
  • Fig. 7 schematisch die Struktur einer Suchmaschine mit dem erfindungsgemäßen Suchsystem.
  • Das erfindungsgemäße Suchsystem besteht im wesentlichen aus drei Teilen, nämlich der Datenstruktur, dem Maß bzw. der Metrik für eine genäherte Übereinstimmung und dem Suchalgorithmus. Wenn eine Volltextwiedergewinnung das Ziel ist, wie es für das erfindungsgemäße System im wesentlichen der Fall ist, wird die gesamte wiederzugewinnende Datenfolge in einer Datenstruktur gespeichert, die eine Hochleistungsanfrage unterstützt.
  • Zunächst wird das der Erfindung zugrunde liegende Konzept erläutert. Die in Form eines Textes T gespeicherte Information wir in Wörter s und Wortsequenzen S unterteilt. Wörter sind Unterstrings des gesamten Textes, der durch Wortgrenzterme getrennt ist. Die Folge von Wortgrenztermen wird als BTword bezeichnet. Eine übliche Folge von Wortgrenztermen könnte die Folge {'\t', ':', '\t', '\n', '\0', '.', ';', '?'} sein, wobei t ein Tabellenzeichen, \n ein Zeilenvorschubzeichen und \0 ein Zeichen für ein Dokumentenende sind. In Verbindung mit der folgenden Beschreibung der Erfindung sind einige Definitionen betreffend Strings und Sequenzen nützlich.
  • Definition 1: String
  • Ein String ist eine Folge von Symbolen aus einem Alphabet, beispielsweise den ASCII- Zeichen. Die Länge eines Strings ist die Anzahl von Objekten aus Symbolen oder Zeichen, die den String bilden, und wird als x bezeichnet. Wenn x eine Länge m aufweist, kann der String auch als x&sub1; x&sub2; ... xi ... xm geschrieben werden, wobei xi das i-te Symbol in dem String repräsentiert.
  • Ein Unterstring von x ist ein String, der durch eine angrenzende Gruppe von Symbolen innerhalb von x gegeben ist. Deshalb kann ein Unterstring aus x mittels des Löschens eines oder mehrerer Zeichen am Anfang oder am Ende des Strings erhalten werden.
  • Definition 2: Unterstring, Suffix und Präfix
  • Ein Unterstring von x ist ein String x = xi xi + 1 ... xj für einige 1 ≤ i ≤ j ≤ n. Der String xi = x xi ... xn ist ein Suffix des Strings x, und der String xj = x = x&sub1; x&sub2; ... xj ist ein Präfix des Strings x. Darüber hinaus wird die Notation einer Wortsequenz genutzt.
  • Definition 3: Wortsequenz
  • Eine Wortsequenz ist eine Sequenz getrennter, aufeinanderfolgender Wörter. Ein Wort ist eine Sequenz S = s&sub1;, s&sub2;, ..., sn, die aus n einzelnen Worten (oder Strings) s&sub1;, s&sub2; bis sn besteht.
  • Wortsequenzen werden durch Sequenzgrenzterme abgegrenzt. Die Sequenzgrenzterme einer Folge werden mit BTseq bezeichnet. Eine gemeinsame Folge von Sequenzgrenztermen könnte die Folge {'0\'} sein, wobei \0 einen Markierer für das Ende des Dokuments anzeigt.
  • Das Konzept der näherungsweisen Wortübereinstimmung kann wie folgt beschrieben werden.
  • Gegeben sind ein String s = s&sub1; s&sub2; ... sn und ein Anfrageterm q = q&sub1; q&sub2; ... qm. Die Aufgabe besteht dann darin, alle Erscheinungen von q in s zu finden, die sich höchstens um k-Fehler von dem originalen Anfrageterm q unterscheiden. Eine Näherungsmetrik bzw. ein Näherungsmaß bestimmt, wie die Fehler zwischen q und einer potentiellen Übereinstimmung si ... sj zu berechnen sind.
  • Eine übliche Metrik bzw. ein übliches Maß für eine näherungsweise Wortübereinstimmung ist der Levenstein-Abstand oder Edit-Abstand (V. I. Levenstein, "Binary codes capable of correcting deletions, insertions, and reversals", (Russisch) Doklady Akademii nauk SSSR, Vol. 163, No. 4, Seiten 845-8 (1965); auch Cybernetics and Control Theory, Vol. 10, No. 8, Seiten 707-10, (1966)). Dieses Maß ist als die minimale Anzahl von Editier-Operationen definiert, die zum Transformieren eines Strings in einen anderen benötigt werden. Eine Editier- Operation wird durch irgendeine Überschreibregel gegeben, beispielsweise:
  • - (a → ε), Löschen
  • - (ε → a), Einfügen
  • - (a → b), Ändern
  • p und m seien zwei Wörter der Länge i bzw. j. D(i,j) bezeichnet den Edit-Abstand zwischen dem i-ten-Präfix von p und dem j-ten-Präfix von m. Der Edit-Abstand kann dann rekursiv wie folgt definiert werden:
  • D(i,0) = D(0,i) = i
  • wobei
  • ∂(i,j) = 0if p&sub1; = mj sonst 1
  • Es ist auch möglich, eine näherungsweise Übereinstimmung auf dem Wörterniveau in einer Wortsequenz zu definieren, und dieses kann wie folgt beschrieben werden.
  • Es ist ein Text T mit den n Wörtern w&sub1;, w&sub2; ... wn gegeben, wobei jedes Wort ein String von Zeichen ist. Ein Sequenzmuster P besteht aus m-Wörtern p&sub1;, p&sub2; ..., pm. Das Sequenzmuster P soll ein näherungsweises Auftreten in T haben, wenn die Sequenz p&sub1;, p&sub2;, ..., pm sich mit höchstens k- Fehlern von einer Sequenz wi, wi+1 ..., wj für einige i, j unterscheidet, so daß 1 ≤ i ≤ j ≤ n. Wiederum bestimmt ein Näherungsmaß, wie die Anzahl von Fehlern zwischen den zwei Sequenzen zu berechnen ist.
  • Ein Text, der in einem Suchsystem wiedergewonnen werden soll, muß in einer Art und Weise indexiert werden, die das Suchen der Daten unterstützt. Folglich ist die Datenstruktur eine Kerndatenstruktur des erfindungsgemäßen Suchsystems und basiert auf sogenannten Suffix- Bäumen, insbesondere einem dünnbesiedelten Suffix-Baum. Diese zwei Arten von Strukturen werden im folgenden definiert. Ein Suffix-Baum S(T) ist ein Baum-Repräsentation aller möglichen Suffixe in dem Text T. Alle unären Knoten in einem Suffix-Baum S(T) sind mit ihrem Kind verkettet, um eine kompakte Variante zu schaffen.
  • Fig. 1 zeigt den Suffix-Baum für den Text T = "structure".
  • Die vorliegende Erfindung basiert insbesondere auf dünnbesiedelten Suffix-Bäumen. Diese wurden von J. Kärkkäinen & E. Ukkonen in "Sparse Suffix Trees", Proceedings of the Second Annual International Computing and Combinatorics Conference (COCOON '96), Springer Verlag, Seiten 219-230 eingeführt, was auf Ideen basiert, die durch D. R. Morrison, "PATRICIA - Practical Algorithm To Retrieve Information Coded in Alphanumeric", Journal of the ACM, 15, Seiten 514-534 (1968) publiziert wurden. Ein dünnbesiedelter Suffix-Baum ist wie folgt definiert.
  • Definition 4: Dünnbesiedelter Suffix-Baum
  • Ein dünnbesiedelter Suffix-Baum SST(T) des Textes T ist ein Suffix-Baum, der nur eine Teilfolge der in dem Suffix-Baum ST(T) des Textes vorhandenen Suffixe enthält.
  • Wenn das erfindungsgemäße Suchsystem zum Suchen ganzer Wörter genutzt wird, kann durch das ausschließliche Speichern von Suffixen, die an Wortgrenzen beginnen, vorteilhaft ein nicht gleichmäßig verteilter dünnbesiedelter Suffix-Baum erzeugt werden. Das Konzept des dünnbesiedelten Wortabstand-Suffix-Baums ist wie folgt definiert.
  • Definition 5: Dünnbesiedelter Wortabstand-Suffix-Baum
  • Ein dünnbesiedelter Wortabstand-Suffix-Baum SSTws(T) eines Textes T ist ein dünnbesiedelter Suffix-Baum SST(T), der nur die Suffixe enthält, die in dem Text bei einem Wort- Separator-Zeichen beginnen.
  • Fig. 2 zeigt zwei Beispiele für dünnbesiedelte Wortabstand-Suffx-Bäume. Teile der Suffixe wurden weggelassen, um die Lesbarkeit zu verbessern. Der dünnbesiedelte Wortabstand- Suffix-Baum für T = "to be the best" ist die linke Struktur, und T = "to make the only major modifcation" ist die rechte Struktur in Fig. 2.
  • In dem erfindungsgemäßen Suchsystem wird der Text naturgemäß in Wörter unterteilt, die in dem dünnbesiedelten Wortabstand-Suffix-Baum unabhängig gespeichert werden. Weil der atomare Suchterm zum Suchen das Wort selbst ist, wird jeder Suffix vorteilhaft am Ende des Worts abgeschlossen. Dieses reduziert den dünnbesiedelten Suffix-Baum zu einem sogenannten PATRICIA-Baum (Morrison, op. cit.). Ein Trie wird in der Literatur als ein Stammbaum mit den Eigenschaften definiert, daß jeder Knoten, mit Ausnahme des Stamms, ein Symbol des Alphabets enthält und daß zwei Kinder des selben Knotens das selbe Symbol enthalten. Es wird darauf hingewiesen, daß das Wort "Trie" von dem Wort "retrieval" (Zurück bzw. Wiedergewinnung) abgeleitet ist und folglich anzeigt, daß der Trie eine für die Wiedergewinnung von Daten geeignete Baumstruktur ist. Ein PATRICIA-Trie ist definiert als ein dünnbesiedelter Stichwortabstand-Suffix-Baum (KWS-Baum), wobei die in den Blattknoten gespeicherten Suffixe durch Stichwort-Trennzeichen begrenzt sind. In Fig. 3 ist ein Beispiel eines PATRICIA-Tries für die Folge von Stichwörtern {"avoid", "abuse", "be", "become", "breathe", "say"} gezeigt. Die in dem erfindungsgemäßen Suchsystem genutzte Struktur unterscheidet sich von dem PATRICIA-Trie, weil das Suchsystem explizit Sequenzinformation der Wörter speichert. Das Vermindern der Suffix-Länge verlangt, daß die Repräsentation des Blattknotens geändert wird. Zeiger des Originaltextes werden durch den Suffix-String selbst ersetzt. Eine Suffix-Längenreduktion dieser Art ist in Fig. 4 für einen der Strings aus Fig. 2 gezeigt. Fig. 4 zeigt mit anderen Worten den dünnbesiedelten Wortabstand-Suffix-Baum für T = "to make the only major modification" und Suffixe, die an Wortgrenzen abgeschnitten sind. Ein Blattknoten enthält eine Liste aller Positionen, wo das durch den Blattknoten repräsentierte Wort auftritt.
  • Anstelle der Nutzung der impliziten Sequenz von Informationen, die in dem Originaltext gefunden wird, speichert die vorliegende Erfindung explizit Sequenzinformation in dem dünnbesiedelten Wortabstand-Suffix-Baum. Dieses wird dadurch ausgeführt, daß Zeiger zwischen den Blattknoten genutzt werden, die aufeinanderfolgende Wörter in dem Originaltext repräsentieren. Weil letztlich sämtliche Auftritte des durch einen speziellen Blattknoten repräsentierten Worts verfügbar sind, muß ein Zeiger zu dem nächsten folgenden Blatt addiert werden.
  • Ein Blattknoten enthält nur den Suffix des Worts, welches er repräsentiert, so daß nur die Suffixe jedes der aufeinanderfolgenden Wörter wiedergewonnen werden, wenn die Sequenzzeiger in der Auftrittsliste gekreuzt werden. Dieses wird mittels des Speicherns des gesamten Worts in dem Blattknoten anstelle einer ausschließlichen Speicherung des Suffixes gehandhabt, und deshalb unterscheidet sich auch die Datenstruktur der Erfindung von den PATRICIA-Trie in dieser Hinsicht. In Fig. 5 ist die Datenstruktur zum expliziten Speichern von Wortsequenzinformation in einer Auftrittsliste mit Zeigern auf das nächstfolgende Wort und auf sein Auftreten gezeigt.
  • Das erfindungsgemäße Suchsystem nutzt einen PATRICIA-Trie zum Organisieren der Auftritts- bzw. Erscheinungsliste (Morrison, vgl. oben). Der PATRICIA-Trie ermöglicht es dem Suchsystem, die Liste aller aufeinanderfolgender Wörter, die mit dem String p&sub2; zu einer Zeit O( p&sub2; ) übereinstimmen, zuzugreifen, wobei p&sub2; selbstverständlich die Länge von p&sub2; ist. Mittels der Nutzung eines PATRICIA-Tries zum Organisieren der Liste der Erscheinungen bzw. Auftritte wird zum Speichern der Wörter eines Textes und zum Unterhalten der Sequenzinformation eine vollständig definierte Baumstruktur erhalten. In Fig. 6 ist ein typischer Blattknoten mit einem PATRICIA-Trie für die organisierte Auftrittsliste und die unsortierte Extraliste für Auftritte gezeigt. Die Speicheranforderungen für eine Auftritts- bzw. Erscheinungsliste, wie sie in Verbindung mit dem erfindungsgemäßen Suchsystem genutzt wird, weist beispielsweise die folgenden Merkmale auf: Eine Datenbank mit etwa 742 358 Dokumenten umfaßt insgesamt 333 856 744 Wörter und ein Lexikon mit 538 244 unterschiedlichen Wörtern. Der Gesamtbereich der Datenbank beträgt 2054.52 MB. Die mittlere Wortlänge ist dann 6.45 Bytes. Ein dünnbesiedelter Suffix-Raum nutzt 8 Byte für jeden internen Knoten, wobei 32 Bit-Zeiger genutzt werden. Es wird angenommen, daß für jedes Wort im Mittel drei interne Knoten genutzt werden. Der Blattknoten würde dann 6.45 Bytes zum Speichern des gesamten Wortes plus 32 Bits für einen Zeiger auf eine Erscheinungsliste verlangen. 34.45 Bytes/Wort ergeben insgesamt eine Größe von 18.108 MB. Darüber hinaus weist die Auftrittsliste eine Größe von 4 Bytes pro Eintrag und 12 Bytes auf, wenn die Vollversion genutzt wird. Folglich variiert der Gesamtspeicherbedarf für die Auftrittsliste von 1273 MB bis 3820 MB. Die Datenstruktur, welche einen dünnbesiedelten Suffix-Baum nutzt, weist eine Größe zwischen 60 % bis 200% des Originaltextes auf. Dieses ist vergleichbar mit den Anforderungen einer invertierten Datei, wobei jedoch der dünnbesiedelte Suffix-Baum, wie er in Verbindung mit der Erfindung genutzt wird, ein viel schnelleres Suchen ermöglicht, ein näherungsweises Übereinstimmen erlaubt und das Ausführen von Sequenzübereinstimmung leicht ausführbar macht.
  • Beim näherungsweisen Suchen wird eine Metrik bzw. ein Maß genutzt, um eine Fehlermessung einer möglichen Übereinstimmung zu liefern. Das erfindungsgemäße Suchsystem wendet verschiedene Maße an, insbesondere eine einzigartige Kombination von Maßen. Diese Maße werden im folgenden zusammen mit dem kombinierten Maß diskutiert.
  • Ein Edit-Abstandsmaß, wie es oben definiert wurde, ermöglicht die Operationen Löschen, Einfügen und Verändern, welche sowohl Wörter als auch Zeichen unmittelbar erfassen. Übliche Fehler in Übereinstimmungsausdrücken sind fehlende, zusätzlich oder geänderte Wörter.
  • Deshalb soll das vorher definierte Edit-Abstandsmaß angepaßt und erweitert werden, um für das näherungsweise Wortsequenz-Übereinstimmungsproblem angewendet zu werden. Edit- Operationen für Sequenzen werden unten definiert.
  • Definition 6: Edit-Operationen für Sequenzen
  • Zum Transformieren einer Sequenz S mit Wörtern in eine andere Sequenz P mit Wörtern können die für das Wort in den Sequenzen erlaubten Edit-Operationen gemäß der folgenden Umschreibregeln geschrieben werden:
  • - (a → ε), Löschen von Wort a aus der Sequenz
  • - (ε → a), Einfügen von Wort a in die Sequenz
  • - (a → b), Ändern von Wort a in Wort b
  • - (ab → ba), Transponieren benachbarter Wörter a und b.
  • Anstelle des Anwendens der Edit-Operationen auf Zeichen, wie Atome, wendet das erfindungsgemäße Suchsystem diese auf Wörter an, welche dann als die Operationsatome zu betrachten sind.
  • Eine Kostenfunktion cedit(x → y) ist eine Konstante, die wie folgt definiert ist:
  • wobei ∂(x,y,) definiert ist als
  • Mittels des Nutzens der oben definierten Edit-Operationen kann nun der Edit-Abstand für Sequenzen definiert werden.
  • Definition 7: Edit-Abstand für Sequenzen
  • Das Edit-Abstand-Maß für Sequenzen definiert den Abstand Dseq(S,P) zwischen der Sequenz S = s&sub1;, s&sub2;, ..., sn und der Sequenz P = p&sub1;, p&sub2;, ..., pm als die minimale Summe von Kosten c(x → y) für die Sequenz von Edit-Operationen, die die Sequenz S in die Sequenz P transformieren.
  • Das erfindungsgemäße Suchsystem vergrößert die Edit-Abstände-Maß für Sequenzen zum Wichten der Kosten der Edit-Operationen um die Größe der Wörter, für die die Operationen ausgeführt werden.
  • Definition 8: Wortgrößenabhängiger Edit-Abstand für Sequenzen
  • Der wortgrößenabhängige Edit-Abstand für Sequenzen ist definiert als die minimale Summe von Kosten für die Editieroperationen, die benötigt werden, um eine Sequenz in eine andere zu transformieren. Die Kostenfunktionen hängen von der Wortgröße ihrer Operanten ab.
  • In dem erfindungsgemäßen Suchsystem ist eine Definition der Kostenfunktionen durch die folgenden Gleichungen gegeben:
  • CEinfügen (ε → a) = a /l
  • CLöschen (a → ε) = a /l
  • CTranspornieren (ab → ba) = 1
  • cÄnderen (a ® b) = max( a - b ,l)/l
  • wobei l die mittlere Länge eines Wortes in zwei Sequenzen bezeichnet, die verglichen werden. Die Kosten jeder Edit-Operation werden mit einem zu der Änderung der Gesamtlänge der Sequenz proportionalen Wert oder einem Verhältnis der momentanen Wortlänge und der mittleren Wortlänge in den betrachteten Sequenzen gewichtet.
  • Das Abstandsmaß reflektiert jetzt die Annahme einer Beziehung zwischen der Wortlänge und wie bedeutend das Wort für den semantischen Kontext der Wortsequenz ist. Darüber hinaus wendet das erfindungsgemäße Suchsystem eine Näherung auf dem Zeichenniveau an, wenn die Ändern-Edit-Operation (a → b) genutzt wird. Das Ersetzen eines Wortes a durch ein anderes Wort b sollte in Beziehung zu der Ähnlichkeit zwischen diesen zwei Worten stehen. Die neue Kostenfunktion für die Ändern-Edit-Operation ist deshalb wie folgt gegeben:
  • Cchange (a → b) = ∂Näherung(a, b)max( a - b ,l)/l (5)
  • wobei
  • ∂Näherung(a,b) = D(a, b) (6)
  • wobei D(a, b) die normalisierte Edit-Abstand-Meßfunktion für Wörter ist, 0 bedeutet volle Ähnlichkeit, 1 bedeutet keine Ähnlichkeit.
  • Das erfindungsgemäße Suchsystem kombiniert das Edit-Abstands-Maß für Sequenzen mit den Kostenfunktionen gemäß den Formeln 4, 5 und 6 mit einem Edit-Abstands-Maß für Wörter gemäß Formel 1. Dieses bedeutet, daß die Sequenz-Edit-Operationen nur genutzt werden, wenn die übereinstimmenden Wörter sich um mehr als k Fehler voneinander unterscheiden.
  • Die in den erfindungsgemäßen Suchsystemen verwendeten Algorithmen führen eine effiziente Suche der beschriebenen Strukturen aus. Übereinstimmungen werden gemäß den Maßen gefunden, die oben beschrieben sind.
  • Näherungsweise Wortübereinstimmung in einem dünnbesiedelten Wort-Abstand-Sufix-Baum wird mittels des Kombinierens der Berechnung der Edit-Abstand-Matrix und einer Durchquerung des Sufix-Baums ausgeführt. Ein Algorithmus hierfür ist in Pseudo-Code geschrieben und kann Tabelle 1 entnommen werden.
  • Dieser Algorithmus entspricht einem angepaßten Trie-Übereinstimmungsalgorithmus, wie er von H. Shang & T. H. Merrettal in "Tries for Approximate String Matching", IEEE Transactions on Knowledge and Data Engineering, Vol. 5, No. 4, pp. 540-547 (1996) vorgeschlagen wurde. Die erwartete Laufzeit des Algorithmus im ungünstigsten Fall ist nach Shang & Merrettal (vgl. oben) O(k Σ k).
  • Die näherungsweise Wortsequenz-Übereinstimmung erfordert die Berechnung des Wortsequenz-Eidt-Abstands für alle möglichen Übereinstimmungen. Die Anzahl der möglichen Übereinstimmungen kann jedoch dadurch begrenzt werden, daß die Berechnung des Edit- Abstands nur für die möglichen Wörter begonnen wird. Die Kosten zum Löschen eines Worts aus den Sequenzen bestimmt die Anzahl der möglichen Startwörter. Wenn die akkumulierten Kosten zum Löschen der i ersten Wörter in einer Anfragesequenz PQ einen vorgegebenen Fehlerschwellwert übersteigen, kann die Kandidatensequenz, die mit dem i-ten Wort der Anfrage beginnt, keine mögliche Übereinstimmung sein. Deshalb werden für eine Anfragesequenz PQ mit i-Wörtern höchstens i mögliche Startwörter versucht. Weil in der Sequenzstruktur des Baumes keine Rückzeiger existieren, wird nicht sichergestellt, daß alle möglichen Übereinstimmung erhalten werden. Das Hinzufügen von Rückzeigern würde dieses Problem lösen. Der in dem erfindungsgemäßen Suchsystem genutzt Algorithmus zur näherungsweisen Wortsequenz-Übereinstimmung ist in Tabelle II in Pseudo-Code angegeben. Dieser Algorithmus testet die Übereinstimmung des ersten Stichworts mit p&sub1;, p&sub2; ... aufeinanderfolgend, wobei alle möglichen Startpositionen getestet werden.
  • In dem ApproxSequenceMatch-Algorithmus in Tabelle II wird die ApproxMatchRest- Funktion durch den Algorithmus nach Tabelle III definiert. Diese Funktion testet die Übereinstimmung der verbleibenden Sequenz, wobei ein Anfangsfehlerwert genutzt wird. Tabelle I Tabelle II Tabelle III
  • Die Algorithmen in den Tabellen II und III sind in dem selben Pseudo-Code wie der Algorithmus in Tabelle I geschrieben.
  • Die FindExact-Funktion, welche genutzt wird, um den Blattknoten zu finden, der mit dem ersten Wort in der Sequenz übereinstimmt, führt eine einfache Durchquerung des Baums aus, und ihre Laufzeit ist O p&sub1; , wobei p&sub1; das erste Wort in einer Anfragesequenz PQ bezeichnet. Das Berechnen des Edit-Abstands kann mittels einfacher dynamischer Programmierungen P ²-Zeit oder mittels verbesserter Versionen des Berechnungsalgorithmus (vergleiche E. Ukkonen, "Finding Approximate Patterns in Strings", Journal of Algorithmus, vol. 6, Seiten 132- 137 (1985)) in O(k)-Zeit ausgeführt werden (wobei k den Fehlerschwellwert bezeichnet).
  • Wenn Σnocc(pi) die Gesamtsumme der Anzahl von Erscheinungen bzw. Auftritten jedes Worts pi in der Wortsequenz bezeichnet, beträgt die Laufzeit im ungünstigsten Fall O(kΣnocc(pi)).
  • Abschließend wird die Implementierung einer Suchmaschine auf der Basis des erfindungsgemäßen Suchsystems kurz beschrieben. Eine auf dem erfindungsgemäßen Suchsystem basierende Suchmaschine wird insbesondere als eine Näherungs-Suchmaschine (ASE), ist als eine Suchmaschine zum Indixieren großer Dokumentsammlungen vorgesehen und liefert Algorithmen zum exakten und näherungsweisen Durchsuchen dieser Dokumentensammlungen. Die ASE liefert eine Datenstruktur zum Speichern großer Texte oder einer großen Sammlung von Dokumenten. Es wird darauf hingewiesen, daß die Datenstruktur aus Dokumenten erzeugt werden kann, welche zusätzliche Information enthalten, beispielsweise Abbildungen, Video, Ton, und der Text kann formatiert und/oder geändert werden. Die Datenstruktur ist identisch zu dem oben diskutierten dünnbesiedelten Wortabstand-Suffix-Baum, und es wird deshalb darauf hingewiesen, daß selbstverständlich die Wörter die Stichwörter des Suchsystems sind, weshalb der dünnbesiedelte Wortabstand-SuffixBaum auch als ein dünnbesiedelter Stichwortabstand-Suffix-Baum (KWS-Baum) bezeichnet werden kann. Die ASE umfaßt Algorithmen zum Indexieren von Dokumenten in dem KWS-Baum. Diese Algorithmen sind selbstverständlich nicht Teil des erfindungsgemäßen Suchsystems sondern sind dem Fachmann bekannt und in der Literatur beschrieben (vergleiche z. B. J Kärkkäinen & E. Ukkonen (vgl. oben) und D. R. Morrison (vgl. oben).
  • Das erfindungsgemäße Suchsystem, wie es in der ASE genutzt wird, wendet Algorithmen sowohl für die exakte als auch die näherungsweise Übereinstimmung eines Musters in einem KWS-Baum an. Die in den Tabellen I und II oben angegebenen Algorithmen werden zum Testen der näherungsweisen Übereinstimmung eines Worts oder einer Wortsequenz genutzt, wobei der nicht gleichmäßige Edit-Abstand als ein Maß genutzt wird. Das Auffinden einer exakten Übereinstimmung des Stichworts p mit der Länge m in einem KWS-Baum ist bekannt und auf einfache Weise als ein einfaches Durchqueren der Baumstruktur implementierbar. Ein entsprechender Algorithmus für eine exakte Stichwortübereinstimmung ist Pseudo- Code in Tabelle IV gezeigt. Das erfindungsgemäße Suchsystem soll auch in der Lage sein, Algorithmen für eine exakte Stichwort-Sequenzübereinstimmung zu unterstützen. Algorithmen für eine exakte Stichwort-Sequenzübereinstimmung sind bekannt und können einfach implementiert werden, wie es beispielsweise mit dem Pseudo-Code in Tabelle V gezeigt ist. Der hier dargestellte Algorithmus findet die exakte Übereinstimmung des ersten Stichworts, sofern eine solche existiert. Er überprüft dann für alle Erscheinungen des ersten Stichworts, ob das zweite Stichwort mit dem zweiten Stichwort in der Anfrage übereinstimmt. Wenn dies der Fall ist, wird die MatchRest-Prozedur in Tabelle V genutzt, um zu bestimmen, ob die Erscheinung der ersten zwei Stichwörter in der gesamten Sequenz übereinstimmen. Für eine näherungsweise Stichwort-Übereinstimmung in einem KWS-Baum implementiert das Suchsystem den Algorithmus nach Tabelle I. Für eine näherungsweise Stichwort- Sequenzübereinstimmung implementiert das Suchsystem den Algorithmus nach Tabelle II, wobei ein erstes Stichwort nacheinander auf Übereinstimmung mit p1, p2 ... überprüft wird, alle möglichen Startpositionen getestet werden und die ApproxMatchRest-Funktion gemäß Tabelle III angewendet wird, um die Übereinstimmung einer Sequenz zu testen, die an einer bestimmten Position beginnt, und den Anfangsfehlerwert zu handhaben.
  • Schließlich benötigt die ASE eine einfache Oberfläche, die es dem Nutzer ermöglicht, das Indexieren und das Anfragen in der Dokumentensammlung zu steuern. Die Oberfläche sollte darüber hinaus das Liefern von Statistiken der Dokumentensammlung ermöglichen und eine Netzwerkschnittstelle für einen Fernzugriff, beispielsweise über WWW, und eine lokale Server-Nutzerschnittstelle liefern.
  • Die ASE mit dem erfindungsgemäßen Suchsystem sollte allgemein in einer Art ausgebildet sein, die das Hinzufügen neuer Indexier- und Suchalgorithmen leicht ermöglicht. Darüber hinaus sollte das Speichern von Extrainformationen über jedes Dokument oder über ein Stichwort auf einfache Weise implementierbar sein. Insbesondere sollte die Oberfläche unabhängig von der Datenstruktur und den Suchalgorithmen sein, so daß interne Änderungen hiervon keine Auswirkungen auf das Design der Oberfläche haben.
  • Die Nutzung des erfindungsgemäßen Suchsystems in der ASE sollte so ausgestaltet sein, daß in der Datenstruktur ein Speicherüberhang so gering wie möglich ist. Darüber hinaus sollte das Suchen so geschaffen sein, daß es so schnell wie möglich ist. Üblicherweise werden Abweichungen zwischen diesen beiden Faktoren auftreten. Tabelle IV Tabelle V
  • Zusammenfassend sollte eine ASE mit einem erfindungsgemäßen Suchsystem vier Hauptmodule umfassen:
  • 1. Dokument-Indexiermodul DIM zum Indexieren von Dokumenten in der KWS- Baumstruktur. Dieses Modul sollte auch Erweiterungen zum Unterstützen mehrerer Dokumenttypen enthalten.
  • 2. Datenspeichermodul DSM, welches auf einem dünnbesiedeltem Stichwortabstand-Suffix- Baum (KWS-Baum) basiert.
  • 3. Suchalgorithmusmodul SAM zum Durchsuchen des KWS-Baums, welches Algorithmen für eine exakte und/oder eine näherungsweise Übereinstimmung von Wörtern bzw. Wortsequenzen umfaßt.
  • 4. Benutzerschnittstelle-Oberflächenmodul FEM mit einer lokalen Server-Nutzerschnittstelle und einer Netzwerkschnittstelle für Fernabfragen.
  • Die vier Module der ASE arbeiten zusammen, um eine komplette Suchmaschinen- Funktionalität zur Verfügung zu stellen. Der Datenfluß zwischen den verschiedenen Module ist in Fig. 7 gezeigt. Das Indexieren einer Sammlung von Dokumenten wird in dem Dokument-Indexiermodul DIM ausgeführt, welches Indexier-Algorithmen umfaßt. Dieses Modul ist selbstverständlich nicht Teil des erfindungsgemäßen Suchsystems. Indexier-Algorithmen, die genutzt werden können, sind Stand der Technik. Der in den Dokumenten gefundene Text wird an das Datenspeicher-DSM-Modul zum Speichern übergeben. Das Datenspeichermodul ist selbstverständlich nicht Teil des erfindungsgemäßen Suchsystems und basiert auf der KWS-Baumstruktur, wie bereits ausgeführt wurde. Das Suchalgorithmus-Modul SAM enthält Algorithmen zum Durchsuchen der Daten, die in dem Datenspeichermodul angeordnet sind. Dieses Modul implementiert das erfindungsgemäße Suchsystem und ermöglicht einen Suchprozeß, der die Datenstruktur nach Baum- und Knoteninformation abfragt, während Zustandsvariablen unterhalten werden. Das Oberflächenmodul kann selbstverständlich auf einem Arbeitsplatzrechner oder einem Personalcomputer oder dergleichen implementiert werden, wobei die oben beschriebene Funktionalität zur Verfügung gestellt wird.
  • Wie bereits in der Einleitung ausgeführt wurde, wird darauf hingewiesen, daß das erfindungsgemäße Suchsystem als Software implementiert werden kann, die in einer geeigneten Hochsprache auf einem kommerziell verfügbaren Computersystem geschrieben ist, einschließlich Arbeitsplatzrechnern. Wie bereits ausgeführt, kann es auch in Form einer geeigneten Prozessoreinrichtung implementiert werden, welche zweckmäßig eine große Anzahl von parallelen Prozessoren umfaßt, die für eine näherungsweise Übereinstimmung mit einer großen Anzahl von Abfragewortsequenzen eine große Anzahl von Wortsequenzen parallel verarbeiten können. Die festen Betriebsparameter des Prozessors können dann in einem Niedrigcode eingegeben werden, während Stichwortsequenz-Eingaben der KWS-Baumstruktur eine sehr schnelle Verarbeitung von Anfragen für eine große Datenmenge erlauben. Das erfindungsgemäße Suchsystem ist deshalb im hohen Maße zum Ausführen von Suchen, beispielsweise in dem World Wide Web, geeignet, auch in einer KWS-Baumstruktur, die groß genug ist, um alle Dokumente zu indexieren, die gegenwärtig im World Wide Web verfügbar sind, und darüber hinaus den erwarteten Datenvolumenzuwachs des World Wide Webs in der Zukunft zu handhaben.

Claims (14)

1. Suchsystem für die Informationswiedergewinnung, insbesondere für Information, die in Form von Text gespeichert ist, wobei ein Text T Wörter und/oder Symbole s und Sequenzen S hieraus umfaßt, wobei die Informationswiedergewinnung mit einem gegebenen oder variierenden Grad von Übereinstimmung zwischen einer Anfrage Q und wiedergewonnener Information R abläuft, wobei die Anfrage Q Wörter und/oder Symbole q und Sequenzen P hieraus umfaßt und wobei die Information R Wörter und/oder Symbole und Sequenzen hieraus aus dem Text T umfaßt, wobei das Suchsystem eine Datenstruktur zum Speichern wenigstens eines Teils des Textes T und ein Maß M umfaßt, welches den Grad der Übereinstimmung zwischen der Anfrage Q und der wiedergewonnenen Information R mißt, und wobei das Suchsystem einen Suchalgorithmus zur Ausführung einer Suche realisiert, insbesondere einer Volltextsuche auf der Basis von Schlüsselwörtern kw, dadurch gekennzeichnet, daß die Datenstruktur eine Baumstruktur in der Form eines nicht gleichmäßigen verteilten dünnbesiedelten Suffix-Baums ST(T) zum Speichern von Suffixen von Wörtern und/oder Symbolen s und Sequenzen S daraus in dem Text T umfaßt, daß das Maß M eine Kombination aus einem Edit-Abstandsmaß D(s, q) für einen ungefähren Grad an Übereinstimmung zwischen Wörtern und/oder Symbolen s; q in dem Text T bzw. einer Anfrage Q und ein Edit-Abstandsmaß Dws(S, P) für einen ungefähren Grad an Übereinstimmung zwischen Sequenzen S von Wörtern und/oder Symbolen s in dem Text T und einer Anfragesequenz P von Wörtern und/oder Symbolen q in der Anfrage Q umfaßt, wobei das zuletzt genannte Edit-Abstandsmaß eine Gewicht-Kostenfunktion für Editieroperationen umfaßt, welche Sequenzen von Wörtern und/oder Symbolen s in dem Text T in die Sequenz P von Wörtern und/oder Symbolen q in der Anfrage Q transformiert, wobei die Gewichtung mit einem Wert erfolgt, der proportional zu einer Änderung der Länge der Sequenz S bei einer Transformation oder abhängig von der Größe der Wörter und/oder Symbole s; q in den abzugleichenden Sequenzen S. P ist, daß der implementierte Suchalgorithmus einen ersten Algorithmus zum Ermitteln des Grades der Übereinstimmung zwischen Wörtern und/oder Symbolen s; q in der Suffix-Baumdarstellung des Textes T bzw. einer Anfrage Q und einen zweiten Algorithmus zum Ermitteln des Grades der Übereinstimmung zwischen Sequenzen S; P von Wörtern und/oder Symbolen s; q in der Suffix-Baumdarstellung des Textes T bzw. der Anfrage Q umfaßt, wobei der erste und/oder zweite Algorithmus die Datenstrukturen mit Anfragen Q in der Form von entweder Wörtern, Symbolen, Wortsequenzen oder Symbolsequenzen oder Kombinationen daraus absucht, so daß Information R auf der Basis der Anfrage Q mit einem bestimmten Grad an Übereinstimmung zwischen ersterer und letzterer wiedergewonnen wird, und daß der Suchalgorithmus optional auch einen dritten Algorithmus zum Ermitteln der exakten Übereinstimmung zwischen Wörtern und/oder Symbolen s; q in der Suffix- Baumdarstellung des Textes T bzw. der Anfrage Q und/oder einen vierten Algorithmus zum Ermitteln der exakten Übereinstimmung zwischen Sequenzen S; P von Wörtern und/oder Symbolen s; q in der Suffix-Baumdarstellung des Textes T bzw. der Anfrage Q umfaßt, wobei der dritte und/oder vierte Algorithmus die Datenstruktur mit Anfragen Q in der Form von entweder Wörtern, Symbolen, Wortsequenzen oder Symbolsequenzen oder Kombinationen daraus absuchen, so daß Information R auf der Basis der Anfrage Q mit einer exakten Übereinstimmung zwischen ersterer und letzerer wiedergewonnen wird.
2. Suchsystem nach Anspruch 1, dadurch gekennzeichnet, daß der nicht gleichmäßig verteilte dünnbesiedelte Suffix-Baum ST (T) ein dünnbesiedelter Wortabstand-Suffix- Baum SSTws(T) ist, der nur eine Untermenge der Suffixe in dem Text T umfaßt.
3. Suchsystem nach Anspruch 2, dadurch gekennzeichnet, daß der dünnbesiedelte Wortabstand-Suffix-Baum SSTws(T) ein dünnbesidelter Stichwort-Abstand-Suffix-Baum SSTkws(T) ist.
4. Suchsystem nach Anspruch 3, dadurch gekennzeichnet, daß der erste Algorithmus zum Erfassen des Grads der Stichwortübereinstimmung in einem dünnbesiedelten Stichwort- Abstand-Suffix-Baum SSTkws(T) in Pseudo-Code wie folgt implementiert wird:
5. Suchsystem nach Anspruch 3, dadurch gekennzeichnet, daß der zweite Algorithmus zum Bestimmen des Grads der Übereinstimmung einer Stichwortsequenz in einem dünnbesiedelten Stichwort-Abstand-Suffix-Baum SSTkws(T) in Pseudo-Code wie folgt implementiert wird:
6. Suchsystem nach Anspruch 7, dadurch gekennzeichnet, daß die Unterroutine ApproxMatchRest des zweiten Algorithmus in Pseudo-Code wie folgt implementiert wird:
7. Suchsystem nach Anspruch 3, dadurch gekennzeichnet, daß der dritte Algorithmus zum Ermitteln der exakten Stichwortübereinstimmung in einem dünnbesiedelten Stichwort- Abstand-Suffix-Baum SSTkws(T) in Pseudo-Code wie folgt implementiert wird:
8. Suchsystem nach einem der Ansprüche 3 bis 7, dadurch gekennzeichnet, daß der vierte Algorithmus zum Ermitteln der exakten Übereinstimmung einer Stichwortsequenz in einem dünnbesiedelten Stichwort-Abstand-Suffix-Baum SSTkws(T) in Pseudo-Code wie folgt implementiert wird:
9. Verfahren in einem Suchsystem für die Informationswiedergewinnung, insbesondere von Information, die in Form von Text gespeichert ist, wobei ein Text T Wörter und/oder Symbole s und Sequenzen S hieraus umfaßt, wobei die Informationswiedergewinnung mit einem gegebenen oder variierenden Grad an Übereinstimmung zwischen einer Anfrage Q und wiedergewonnene Information R abläuft, wobei die Anfrage Q Wörter und/oder Symbole q und Sequenzen P hieraus umfaßt und wobei die Information R Wörter und/oder Symbole und Sequenzen hieraus aus dem Text T umfaßt, wobei das Suchsystem eine Datenstruktur zum Speichern wenigstens eines Teils des Textes T und ein Maß M umfaßt, welches den Grad der Übereinstimmung zwischen der Anfrage Q und der wiedergewonnenen Information R mißt, und wobei das Suchsystem einen Suchalgorithmus zur Ausführung einer Suche realisiert, insbesondere einer Volltextsuche auf der Basis von Schlüsselwörtern kw, wobei die Information in dem Text T in Wörter s und Wortsequenzen S aufgeteilt wird, wobei die Wörter Unterstrings des gesamten Textes sind, welche durch Wortgrenzterme getrennt sind und eine Symbolsequenz bilden, wobei jedes Wort als eine Symbolsequenz strukturiert ist, gekennzeichnet durch:
Erzeugen der Datenstruktur als einen dünnbesiedelten Wortabstand-Suffix-Baum SSTws(T) eines Textes T zum Darstellen aller Suffixe, die bei einem Worttrennsymbol in dem Text T beginnen;
Speichern von Sequenzinformation der Wörter s in dem Text T in dem dünnbesiedelten Wortabstand-Suffix-Baum SSTws(T),
Erzeugen eines kombinierten Editabstandsmaßes M, daß ein Editabstandsmaß D(s, q) für Wörter s in dem Text T und ein Anfragewort q in einer Anfrage Q und ein wortgrößenabhängiges Editabstandsmaß Dws(S, P) für Wortsequenzen S in dem Text T und eine Wortsequenz P in der Anfrage Q umfaßt, wobei das Editabstandsmaß Dws(S, P) die minimale Summe der Kosten für Editieroperationen ist, welche eine Sequenz S in die Sequenz P umwandeln, wobei die minimale Summe der Kosten die minimale Summe der Kostenfunktionen für jede Editieroperation ist, gewichtet mit einem Wert, der proportional zur Änderung in der Gesamtlänge der Sequenz S ist, oder mit dem Verhältnis der momentanen Wortlänge und der mittleren Wortlänge in der Sequenz S; P; und
Bestimmen des Grads der Übereinstimmung zwischen Wörtern s, q durch Berechnen des Editabstandsmaßes D(s, q) zwischen den Wörtern s der wiedergewonnenen Information R und den Wörtern q einer Anfrage Q, oder in dem Fall, daß die Wörter s, q mehr als k Fehler voneinander abweichen, Bestimmen des Grads der Übereinstimmung zwischen den Wortfolgen SR; PQ der wiedergewonnenen Information R bzw. einer Anfrage Q durch Berechnen des Editabstandsmaßes Dws(SR,PQ) für alle Übereinstimmungen.
10. Verfahren nach Anspruch 9, gekennzeichnet durch das zusätzliche Gewichten einer Editieroperation, die ein Wort s in ein Wort q ändert, mit einem Parameter für die Nähe zwischen den Zeichen der Wörter s; q, und somit Berücksichtigen der Ähnlichkeit der Wörter s; q bei der Ermittlung der Kosten der in Rede stehenden Editieroperation.
11. Verfahren nach Anspruch 9, gekennzeichnet durch:
Begrenzen der Anzahl der Übereinstimmungen durch Berechnen des Editabstandsmaßes Dws(SR, PQ) für eine beschränke Anzahl von Wörtern in der Anfragewortsequenz PQ.
12. Verfahren nach Anspruch 9, gekennzeichnet durch:
Definieren des Editabstandsmaßes D(s, q) zwischen Wörtern s und einem Wort q auf rekursive Weise und Berechnen des Editabstandsmaßes D(s, q) mit Hilfe einer dynamischen Programmierprozedur.
13. Verfahren nach Anspruch 9, gekennzeichnet durch:
Definieren des Editabstandsmaßes Dws(S, P) zwischen Sequenzen S und einer Sequenz P auf rekursive Weise und Berechnen des Editabstandsmaßes Dws(S, P) mit Hilfe einer dynamischen Programmierprozedur.
14. Verwendung des Suchsystems nach Anspruch 1 in einer Näherungs-Suchmaschine.
DE69900854T 1998-07-10 1999-07-09 Ein suchsystem und verfahren zum zurückholen von daten und die anwendung in einem suchgerät Expired - Lifetime DE69900854T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NO983175A NO983175L (no) 1998-07-10 1998-07-10 Soekesystem for gjenfinning av data
PCT/NO1999/000233 WO2000003315A2 (en) 1998-07-10 1999-07-09 A search system and method for retrieval of data, and the use thereof in a search engine

Publications (2)

Publication Number Publication Date
DE69900854D1 DE69900854D1 (de) 2002-03-14
DE69900854T2 true DE69900854T2 (de) 2002-08-22

Family

ID=19902243

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69900854T Expired - Lifetime DE69900854T2 (de) 1998-07-10 1999-07-09 Ein suchsystem und verfahren zum zurückholen von daten und die anwendung in einem suchgerät

Country Status (20)

Country Link
US (1) US6377945B1 (de)
EP (1) EP1095326B1 (de)
JP (1) JP3581652B2 (de)
KR (1) KR100414236B1 (de)
CN (1) CN1317114A (de)
AT (1) ATE212736T1 (de)
AU (2) AU772525B2 (de)
BR (1) BR9912015B1 (de)
CA (1) CA2337079C (de)
DE (1) DE69900854T2 (de)
DK (1) DK1095326T3 (de)
ES (1) ES2173752T3 (de)
HK (1) HK1040784A1 (de)
HU (1) HUP0201630A2 (de)
IL (1) IL140606A0 (de)
IS (1) IS5796A (de)
NO (1) NO983175L (de)
PL (1) PL345714A1 (de)
PT (1) PT1095326E (de)
WO (1) WO2000003315A2 (de)

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564206B1 (en) * 1998-10-05 2003-05-13 Canon Kabushiki Kaisha Information search apparatus and method, and storage medium
US6584465B1 (en) * 2000-02-25 2003-06-24 Eastman Kodak Company Method and system for search and retrieval of similar patterns
US7127450B1 (en) * 2000-05-02 2006-10-24 International Business Machines Corporation Intelligent discard in information access system
US6704728B1 (en) * 2000-05-02 2004-03-09 Iphase.Com, Inc. Accessing information from a collection of data
US8478732B1 (en) 2000-05-02 2013-07-02 International Business Machines Corporation Database aliasing in information access system
US6745181B1 (en) * 2000-05-02 2004-06-01 Iphrase.Com, Inc. Information access method
US6711561B1 (en) * 2000-05-02 2004-03-23 Iphrase.Com, Inc. Prose feedback in information access system
US6718325B1 (en) * 2000-06-14 2004-04-06 Sun Microsystems, Inc. Approximate string matcher for delimited strings
US9699129B1 (en) 2000-06-21 2017-07-04 International Business Machines Corporation System and method for increasing email productivity
US6408277B1 (en) 2000-06-21 2002-06-18 Banter Limited System and method for automatic task prioritization
US8290768B1 (en) 2000-06-21 2012-10-16 International Business Machines Corporation System and method for determining a set of attributes based on content of communications
US7103838B1 (en) * 2000-08-18 2006-09-05 Firstrain, Inc. Method and apparatus for extracting relevant data
US7080073B1 (en) 2000-08-18 2006-07-18 Firstrain, Inc. Method and apparatus for focused crawling
US6915294B1 (en) * 2000-08-18 2005-07-05 Firstrain, Inc. Method and apparatus for searching network resources
US20020152202A1 (en) * 2000-08-30 2002-10-17 Perro David J. Method and system for retrieving information using natural language queries
GB2368414B (en) * 2000-10-27 2002-09-11 One Stop To Ltd Searching procedures
US7644057B2 (en) * 2001-01-03 2010-01-05 International Business Machines Corporation System and method for electronic communication management
US6681219B2 (en) * 2001-03-29 2004-01-20 Matsushita Electric Industrial Co., Ltd. Method for keyword proximity searching in a document database
US6976016B2 (en) * 2001-04-02 2005-12-13 Vima Technologies, Inc. Maximizing expected generalization for learning complex query concepts
US7136846B2 (en) 2001-04-06 2006-11-14 2005 Keel Company, Inc. Wireless information retrieval
US7054855B2 (en) * 2001-07-03 2006-05-30 International Business Machines Corporation Method and system for performing a pattern match search for text strings
US7209913B2 (en) * 2001-12-28 2007-04-24 International Business Machines Corporation Method and system for searching and retrieving documents
US7343372B2 (en) * 2002-02-22 2008-03-11 International Business Machines Corporation Direct navigation for information retrieval
US7287026B2 (en) * 2002-04-05 2007-10-23 Oommen John B Method of comparing the closeness of a target tree to other trees using noisy sub-sequence tree processing
US6928445B2 (en) * 2002-06-25 2005-08-09 International Business Machines Corporation Cost conversant classification of objects
FI121583B (fi) * 2002-07-05 2011-01-14 Syslore Oy Symbolijonon etsintä
US6983280B2 (en) * 2002-09-13 2006-01-03 Overture Services Inc. Automated processing of appropriateness determination of content for search listings in wide area network searches
US7970621B2 (en) * 2002-10-18 2011-06-28 Cerner Innovation, Inc. Automated order entry system and method
US8495002B2 (en) * 2003-05-06 2013-07-23 International Business Machines Corporation Software tool for training and testing a knowledge base
US20050187913A1 (en) 2003-05-06 2005-08-25 Yoram Nelken Web-based customer service interface
CA2429909A1 (en) * 2003-05-27 2004-11-27 Cognos Incorporated Transformation of tabular and cross-tabulated queries based upon e/r schema into multi-dimensional expression queries
CN1567303A (zh) * 2003-07-03 2005-01-19 富士通株式会社 结构文档信息块的自动分割方法和装置
US7640232B2 (en) 2003-10-14 2009-12-29 Aol Llc Search enhancement system with information from a selected source
US7165119B2 (en) 2003-10-14 2007-01-16 America Online, Inc. Search enhancement system and method having rankings, explicitly specified by the user, based upon applicability and validity of search parameters in regard to a subject matter
US7657423B1 (en) * 2003-10-31 2010-02-02 Google Inc. Automatic completion of fragments of text
US7418455B2 (en) * 2003-11-26 2008-08-26 International Business Machines Corporation System and method for indexing weighted-sequences in large databases
US7343378B2 (en) * 2004-03-29 2008-03-11 Microsoft Corporation Generation of meaningful names in flattened hierarchical structures
IL161874A (en) * 2004-05-07 2012-09-24 Yves Villaret System and method for searching strings of records
US20080077570A1 (en) * 2004-10-25 2008-03-27 Infovell, Inc. Full Text Query and Search Systems and Method of Use
EP1825395A4 (de) * 2004-10-25 2010-07-07 Yuanhua Tang Volltextanfrage- und -suchsysteme und benutzungsverfahren
US20060101504A1 (en) * 2004-11-09 2006-05-11 Veveo.Tv, Inc. Method and system for performing searches for television content and channels using a non-intrusive television interface and with reduced text input
US7895218B2 (en) 2004-11-09 2011-02-22 Veveo, Inc. Method and system for performing searches for television content using reduced text input
US20070266406A1 (en) * 2004-11-09 2007-11-15 Murali Aravamudan Method and system for performing actions using a non-intrusive television with reduced text input
CN1614607B (zh) * 2004-11-25 2011-08-31 中国科学院计算技术研究所 垃圾邮件过滤的方法和***
CA2509496A1 (en) * 2005-06-06 2006-12-06 3618633 Canada Inc. Search-enhanced trie-based syntactic pattern recognition of sequences
US9041744B2 (en) 2005-07-14 2015-05-26 Telecommunication Systems, Inc. Tiled map display on a wireless device
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US7779011B2 (en) * 2005-08-26 2010-08-17 Veveo, Inc. Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof
US7644054B2 (en) * 2005-11-23 2010-01-05 Veveo, Inc. System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and typographic errors
US7882119B2 (en) * 2005-12-22 2011-02-01 Xerox Corporation Document alignment systems for legacy document conversions
US7664343B2 (en) * 2006-01-23 2010-02-16 Lockheed Martin Corporation Modified Levenshtein distance algorithm for coding
WO2007103938A2 (en) 2006-03-06 2007-09-13 Veveo, Inc. Methods and systems for selecting and presenting content based on learned user preferences
US8073860B2 (en) 2006-03-30 2011-12-06 Veveo, Inc. Method and system for incrementally selecting and providing relevant search engines in response to a user query
EP3822819A1 (de) 2006-04-20 2021-05-19 Veveo, Inc. Benutzerschnittstellenverfahren und systeme zur auswahl und darstellung von inhalt auf der basis von benutzernavigation sowie auswahlaktionen in zusammenhang mit dem inhalt
CN100401300C (zh) * 2006-04-29 2008-07-09 上海世纪互联信息***有限公司 具有自动分类功能的搜索引擎
US20070260595A1 (en) * 2006-05-02 2007-11-08 Microsoft Corporation Fuzzy string matching using tree data structure
US7849078B2 (en) * 2006-06-07 2010-12-07 Sap Ag Generating searchable keywords
US8577328B2 (en) 2006-08-21 2013-11-05 Telecommunication Systems, Inc. Associating metro street address guide (MSAG) validated addresses with geographic map data
CA2989780C (en) * 2006-09-14 2022-08-09 Veveo, Inc. Methods and systems for dynamically rearranging search results into hierarchically organized concept clusters
JP4274221B2 (ja) * 2006-10-02 2009-06-03 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
WO2008045690A2 (en) 2006-10-06 2008-04-17 Veveo, Inc. Linear character selection display interface for ambiguous text input
WO2008063987A2 (en) 2006-11-13 2008-05-29 Veveo, Inc. Method of and system for selecting and presenting content based on user identification
US8131722B2 (en) * 2006-11-20 2012-03-06 Ebay Inc. Search clustering
US20080172380A1 (en) * 2007-01-17 2008-07-17 Wojciech Czyz Information retrieval based on information location in the information space.
US8082240B2 (en) 2007-02-28 2011-12-20 Classe Qsl, S.L. System for retrieving information units
US8549424B2 (en) * 2007-05-25 2013-10-01 Veveo, Inc. System and method for text disambiguation and context designation in incremental search
US20090055436A1 (en) * 2007-08-20 2009-02-26 Olakunle Olaniyi Ayeni System and Method for Integrating on Demand/Pull and Push Flow of Goods-and-Services Meta-Data, Including Coupon and Advertising, with Mobile and Wireless Applications
US20090055242A1 (en) * 2007-08-24 2009-02-26 Gaurav Rewari Content identification and classification apparatus, systems, and methods
US20090098889A1 (en) * 2007-09-11 2009-04-16 Bob Barcklay Wireless device location alerts on battery notification events
US7716228B2 (en) * 2007-09-25 2010-05-11 Firstrain, Inc. Content quality apparatus, systems, and methods
US7904433B2 (en) * 2007-10-09 2011-03-08 O2Micro International Limited Apparatus and methods for performing a rule matching
WO2009061501A1 (en) * 2007-11-09 2009-05-14 Telecommunication Systems, Inc. Points-of-interest panning on a displayed map with a persistent search on a wireless phone
CN101246501B (zh) * 2008-03-27 2010-06-23 腾讯科技(深圳)有限公司 一种聚合相同主题网络文档的方法及***
US20090265340A1 (en) * 2008-04-07 2009-10-22 Bob Barcklay Proximity search for point-of-interest names combining inexact string match with an expanding radius search
US8027990B1 (en) * 2008-07-09 2011-09-27 Google Inc. Dynamic query suggestion
US8027973B2 (en) * 2008-08-04 2011-09-27 Microsoft Corporation Searching questions based on topic and focus
US9424339B2 (en) 2008-08-15 2016-08-23 Athena A. Smyros Systems and methods utilizing a search engine
US7882143B2 (en) * 2008-08-15 2011-02-01 Athena Ann Smyros Systems and methods for indexing information for a search engine
US9092517B2 (en) * 2008-09-23 2015-07-28 Microsoft Technology Licensing, Llc Generating synonyms based on query log data
WO2010042172A1 (en) * 2008-10-06 2010-04-15 Telecommunication Systems, Inc. Probabilistic reverse geocoding
US8594627B2 (en) 2008-10-06 2013-11-26 Telecommunications Systems, Inc. Remotely provisioned wirelessly proxy
DE102008062830B3 (de) * 2008-12-23 2010-07-22 Cerebrix Gmbh Vorrichtung und Verfahren zum Speichern, Suchen und Darstellen von Informationen
US20100287177A1 (en) * 2009-05-06 2010-11-11 Foundationip, Llc Method, System, and Apparatus for Searching an Electronic Document Collection
US20100287148A1 (en) * 2009-05-08 2010-11-11 Cpa Global Patent Research Limited Method, System, and Apparatus for Targeted Searching of Multi-Sectional Documents within an Electronic Document Collection
US20100293179A1 (en) * 2009-05-14 2010-11-18 Microsoft Corporation Identifying synonyms of entities using web search
US8533203B2 (en) * 2009-06-04 2013-09-10 Microsoft Corporation Identifying synonyms of entities using a document collection
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US8364679B2 (en) * 2009-09-17 2013-01-29 Cpa Global Patent Research Limited Method, system, and apparatus for delivering query results from an electronic document collection
US20110082839A1 (en) * 2009-10-02 2011-04-07 Foundationip, Llc Generating intellectual property intelligence using a patent search engine
WO2011056086A2 (en) * 2009-11-05 2011-05-12 Google Inc. Statistical stemming
US20110119250A1 (en) * 2009-11-16 2011-05-19 Cpa Global Patent Research Limited Forward Progress Search Platform
US8244754B2 (en) 2010-02-01 2012-08-14 International Business Machines Corporation System and method for object searching in virtual worlds
US20110191332A1 (en) 2010-02-04 2011-08-04 Veveo, Inc. Method of and System for Updating Locally Cached Content Descriptor Information
US8339094B2 (en) * 2010-03-11 2012-12-25 GM Global Technology Operations LLC Methods, systems and apparatus for overmodulation of a five-phase machine
US8805840B1 (en) 2010-03-23 2014-08-12 Firstrain, Inc. Classification of documents
US11367295B1 (en) 2010-03-23 2022-06-21 Aurea Software, Inc. Graphical user interface for presentation of events
US10546311B1 (en) 2010-03-23 2020-01-28 Aurea Software, Inc. Identifying competitors of companies
US10643227B1 (en) 2010-03-23 2020-05-05 Aurea Software, Inc. Business lines
US9600566B2 (en) 2010-05-14 2017-03-21 Microsoft Technology Licensing, Llc Identifying entity synonyms
EP2423830A1 (de) 2010-08-25 2012-02-29 Omikron Data Quality GmbH Verfahren zum Suchen in einer Vielzahl von Datensätzen und Suchmaschine
US8745061B2 (en) * 2010-11-09 2014-06-03 Tibco Software Inc. Suffix array candidate selection and index data structure
US20130262485A1 (en) * 2010-12-14 2013-10-03 The Regents Of The University Of California High Efficiency Prefix Search Algorithm Supporting Interactive, Fuzzy Search on Geographical Structured Data
US9069767B1 (en) 2010-12-28 2015-06-30 Amazon Technologies, Inc. Aligning content items to identify differences
US9846688B1 (en) 2010-12-28 2017-12-19 Amazon Technologies, Inc. Book version mapping
US8798366B1 (en) * 2010-12-28 2014-08-05 Amazon Technologies, Inc. Electronic book pagination
US9881009B1 (en) 2011-03-15 2018-01-30 Amazon Technologies, Inc. Identifying book title sets
US8782042B1 (en) 2011-10-14 2014-07-15 Firstrain, Inc. Method and system for identifying entities
US8745019B2 (en) 2012-03-05 2014-06-03 Microsoft Corporation Robust discovery of entity synonyms using query logs
US9292505B1 (en) 2012-06-12 2016-03-22 Firstrain, Inc. Graphical user interface for recurring searches
US10032131B2 (en) 2012-06-20 2018-07-24 Microsoft Technology Licensing, Llc Data services for enterprises leveraging search system data assets
US9594831B2 (en) 2012-06-22 2017-03-14 Microsoft Technology Licensing, Llc Targeted disambiguation of named entities
US9229924B2 (en) 2012-08-24 2016-01-05 Microsoft Technology Licensing, Llc Word detection and domain dictionary recommendation
KR101355254B1 (ko) * 2012-10-22 2014-01-28 인하대학교 산학협력단 접미사 트리의 병렬 생성을 위한 트라이 자료구조 기반 접미사 병렬 분할 방법
US9256593B2 (en) 2012-11-28 2016-02-09 Wal-Mart Stores, Inc. Identifying product references in user-generated content
US10592480B1 (en) 2012-12-30 2020-03-17 Aurea Software, Inc. Affinity scoring
US8935272B2 (en) 2013-03-17 2015-01-13 Alation, Inc. Curated answers community automatically populated through user query monitoring
US9589074B2 (en) 2014-08-20 2017-03-07 Oracle International Corporation Multidimensional spatial searching for identifying duplicate crash dumps
CN105446957B (zh) 2015-12-03 2018-07-20 小米科技有限责任公司 相似性确定方法、装置及终端
CN108595584B (zh) * 2018-04-18 2022-06-07 卓望数码技术(深圳)有限公司 一种基于数字标记的汉字输出方法和***
US10761965B2 (en) * 2018-09-28 2020-09-01 Atlassian Pty Ltd. Detecting method calls based on stack trace data
CN110517050A (zh) * 2019-08-12 2019-11-29 太平洋医疗健康管理有限公司 一种医保反欺诈串换编码挖掘***及方法
CN111415708B (zh) * 2020-03-24 2023-05-05 山东大学 双缓冲模型实现大规模数据库聚类方法及***
CN111860443A (zh) * 2020-07-31 2020-10-30 上海掌学教育科技有限公司 语文作业题目文字识别方法、搜索方法、服务器及***

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU620994B2 (en) * 1989-07-12 1992-02-27 Digital Equipment Corporation Compressed prefix matching database searching
WO1992015954A1 (en) 1991-03-08 1992-09-17 Red Brick System Compaction of a querying in relational databases
US5953006A (en) * 1992-03-18 1999-09-14 Lucent Technologies Inc. Methods and apparatus for detecting and displaying similarities in large data sets
US5511159A (en) * 1992-03-18 1996-04-23 At&T Corp. Method of identifying parameterized matches in a string
US5412807A (en) * 1992-08-20 1995-05-02 Microsoft Corporation System and method for text searching using an n-ary search tree
JPH07210569A (ja) * 1994-01-19 1995-08-11 Oki Electric Ind Co Ltd 情報検索方法および情報検索装置
DE69422935T2 (de) * 1994-06-30 2000-08-17 International Business Machines Corp., Armonk Verfahren und vorrichtung zum vergleichen von datensequenzen variabler länge
JP2829259B2 (ja) * 1994-09-14 1998-11-25 株式会社東芝 データ処理装置、データ検索装置、データ処理方法及びデータ検索方法
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
KR980004154A (ko) * 1996-06-29 1998-03-30 김광호 접두어를 이용한 전자 사전 및 그에 접합한 압축 및 검색 방법
KR100284777B1 (ko) * 1997-11-19 2001-03-15 정선종 지도 용어 사전을 위한 트라이 사전과 그 등록 및 검색 방법

Also Published As

Publication number Publication date
DK1095326T3 (da) 2002-05-13
WO2000003315A2 (en) 2000-01-20
CA2337079C (en) 2006-07-04
CN1317114A (zh) 2001-10-10
US6377945B1 (en) 2002-04-23
ES2173752T3 (es) 2002-10-16
KR20010071841A (ko) 2001-07-31
HUP0201630A2 (en) 2002-08-28
AU2004203480A1 (en) 2004-08-26
HK1040784A1 (zh) 2002-06-21
BR9912015A (pt) 2001-04-10
PL345714A1 (en) 2002-01-02
ATE212736T1 (de) 2002-02-15
CA2337079A1 (en) 2000-01-20
BR9912015B1 (pt) 2011-12-13
WO2000003315A3 (en) 2000-02-24
DE69900854D1 (de) 2002-03-14
IL140606A0 (en) 2002-02-10
KR100414236B1 (ko) 2004-01-07
JP2002520712A (ja) 2002-07-09
EP1095326B1 (de) 2002-01-30
JP3581652B2 (ja) 2004-10-27
AU772525B2 (en) 2004-04-29
IS5796A (is) 2000-12-29
PT1095326E (pt) 2002-07-31
EP1095326A1 (de) 2001-05-02
AU4937099A (en) 2000-02-01
NO983175L (no) 2000-01-11

Similar Documents

Publication Publication Date Title
DE69900854T2 (de) Ein suchsystem und verfahren zum zurückholen von daten und die anwendung in einem suchgerät
DE69804495T2 (de) Informationsmanagement und wiedergewinnung von schlüsselbegriffen
DE3788750T2 (de) Schätzeinrichtung des Indexschlüsselbereiches.
JP4944405B2 (ja) 情報検索システムにおけるフレーズに基づくインデックス化方法
JP4944406B2 (ja) フレーズに基づく文書説明の生成方法
JP5175005B2 (ja) 情報検索システムにおけるフレーズに基づく検索方法
DE69631457T2 (de) Vorrichtung und verfahren zum übertragbaren indexieren von dokumenten gemäss einer n-gram-wortzerlegung
JP4976666B2 (ja) 情報検索システムにおけるフレーズ識別方法
DE69811066T2 (de) Datenzusammenfassungsgerät.
DE69229204T2 (de) Iteratives Verfahren zum Suchen von Satzteilen und Informationsauffindungssystem, welches dieses benützt
DE69904588T2 (de) Datenbankzugangswerkzeug
DE69432575T2 (de) Dokumentenerkennungssystem mit verbesserter Wirksamkeit der Dokumentenerkennung
DE69820343T2 (de) Linguistisches Suchsystem
DE69032693T2 (de) Suchverfahren zum Identifizieren des nächstgleichen Datensatzes eines Datenbankverzeichnisses
DE68927743T2 (de) Sortier-/Mischausgabe
DE69834386T2 (de) Textverarbeitungsverfahren und rückholsystem und verfahren
DE69032712T2 (de) Hierarchischer vorsuch-typ dokument suchverfahren, vorrichtung dazu, sowie eine magnetische plattenanordnung für diese vorrichtung
DE102007037646B4 (de) Computerspeichersystem und Verfahren zum Indizieren, Durchsuchen und zur Datenwiedergewinnung von Datenbanken
DE19954534A1 (de) Rückwärtsindexieren von Zeichenketten in einer relationalen Datenbank zum Suchen mit Joker
DE69934195T2 (de) Identifikation einer Wortgruppe durch modifizierte Schlüsselwörter, die aus Transformationen von aufeinanderfolgenden Suffixen erzeugt sind
DE69733294T2 (de) Einrichtung und Verfahren zum Zugriff auf eine Datenbank
DE69933123T2 (de) Zugriff auf eine semi-strukturierte datenbank
DE2000340A1 (de) Verfahren und Vorrichtung zum Suchen verdichteter gespeicherter Informationen
EP1276056A1 (de) Verfahren zum Verwalten einer Datenbank
DE69330908T2 (de) Kompakt-gespeicherte Wortgruppen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: OVERTURE SERVICES, INC., PASADENA, CALIF., US

8327 Change in the person/name/address of the patent owner

Owner name: YAHOO| INC. (N.D.GES.D. STAATES DELAWARE), SUN, US

8328 Change in the person/name/address of the agent

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER,

8328 Change in the person/name/address of the agent

Representative=s name: BOEHMERT & BOEHMERT, 80336 MUENCHEN

8328 Change in the person/name/address of the agent

Representative=s name: WEICKMANN & WEICKMANN, 81679 MUENCHEN