DE60106209T2 - Prozess zum Extrahieren von Schlüsselwörtern - Google Patents

Prozess zum Extrahieren von Schlüsselwörtern Download PDF

Info

Publication number
DE60106209T2
DE60106209T2 DE60106209T DE60106209T DE60106209T2 DE 60106209 T2 DE60106209 T2 DE 60106209T2 DE 60106209 T DE60106209 T DE 60106209T DE 60106209 T DE60106209 T DE 60106209T DE 60106209 T2 DE60106209 T2 DE 60106209T2
Authority
DE
Germany
Prior art keywords
dictionary
elements
database
concatenation
sequence
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
DE60106209T
Other languages
English (en)
Other versions
DE60106209D1 (de
Inventor
François Bourdoncle
François Lagunas
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.)
Exalead SA
Original Assignee
Exalead SA
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 Exalead SA filed Critical Exalead SA
Publication of DE60106209D1 publication Critical patent/DE60106209D1/de
Application granted granted Critical
Publication of DE60106209T2 publication Critical patent/DE60106209T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Die Erfindung betrifft das Gebiet der Informationsgewinnung, und insbesondere Schlüsselwörter, die zum Wiedergewinnen von Informationen aus Texten und Text-Datenbanken verwendet werden. Sie bezieht sich insbesondere auf das Wiedergewinnen von Informationen aus dem Internet.
  • Eine Anzahl von Suchwerkzeugen existiert zum Suchen und Wiedergewinnen von Informationen im Internet. Die Alta Vista Company schlug eine Internet-Suchseite mit einer Anfragebox, wo der Benutzer Schlüsselwörter eingeben kann, zum Wiedergewinnen von Informationen vor. Die Sprache der Suche kann eingeschränkt sein. Andere Beispiele von Suchwerkzeugen sind von Google und Yahoo bereitgestellt.
  • US-A-5 463 773 offenbart das Aufbauen eines Dokument-Klassifizierungsbaums durch rekursive Optimierung einer Schlüsselwort-Auswahlfunktion. Es ist ein Wiedergewinnungsmittel zum Extrahieren von Schlüsselwörtern vorgeschlagen, wenn Dokumentdaten eingegeben werden, und zum Ausgeben einer Klassifizierung für die Dokumentdaten, wobei die Klassifizierung gemäß dem Klassifizierungs-Entscheidungsbaum ausgewählt ist. Zum Extrahieren von Schlüsselwörtern schlägt dieses Dokument das Extrahieren von Schlüsselwörtern vor, die durch Wort-Sequenzen definiert sind. Ein Lernprozess ist zum automatischen Aufbauen eines Dokument-Klassifizierungsbaums auf der Basis der extrahierten Schlüsselwörter vorgeschlagen. Das beschriebene Prozessziel ist, Dokumente zu klassifizieren, und nicht, einen Schlüsselausdruck-Wortvorrat aufzubauen. Schlüsselausdrücke werden zum Beschreiben von Dokumenten verwendet, und somit ist eine Schlüsselausdruck-Qualität keine zentrale Frage.
  • US-A-5 963 965 offenbart ein Verfahren, wo relevante Satzteile von Sätzen automatisch aus text-basierten Dokumenten extrahiert werden, zum Aufbauen eines Index für diese Dokumente. Diese Satzteile werden dann in Haufen zusammen gruppiert zum Bilden einer Mehrzahl von Karten, die hierarchische Beziehungen zwischen den Haufen grafisch beschreiben, und zum Extrahieren von relevanten Abschnitten der Dokumente in Antwort auf den Benutzer, der einen dieser Haufen auswählt, verwendet werden. Dieses Patent, wie das vorherige, beschreibt ein Klasseneinteilungs-basiertes Verfahren. Ein anderes Klasseneinteilungs-basiertes Verfahren ist in Y. Choueka, S. T. Klein, E. Neuwitz. 1983, Automatic retrieval of frequent idiomatic and collocational expressions in a large corpus, Journal of Literary and Linguistic Computer, 4: 34–38 offenbart.
  • Unüberwachte Spracherfassung, Carl. G. de Marcken, Dissertation, herausgegeben von dem Department of Electrical Engineering and Computer Science, MIT 1996, Kapitel 5, diskutiert das Lernen unter Störungsschema als das Suchen nach der Grammatik, die die kombinierte Länge der Eingabe und der Grammatik minimiert. Sie schlägt das Verwenden heuristischer Algorithmen vor, die eine Grammatik (oder ein Lexikon) durch Hinzufügen, Löschen und anderweitiges Manipulieren von Parametern aktualisieren und verbessern. Der Lernprozess ist aufgeteilt in eine Stufe, wo das stochastische Modell gemäß dem Lexikon verfeinert wird, und eine Stufe, wo das Modell zum Finden seiner zugrundeliegenden Struktur auf das Lexikon angewendet wird. Das Verfahren ist erläutert in seinem Gebrauch zum Gruppieren von Buchstaben in Wörter; jedoch gibt es keine Diskussion der Paradigmen, die zum Gruppieren der Buchstaben verwendet werden.
  • WO-A-99 27469 offenbart ein Verfahren zum Extrahieren von Schlüsselwörtern aus einem Datensatz, wobei jedes Schlüsselwort eine Gruppe von einem oder mehreren Wörtern ist. Es werden Gewichtungsstrategien zum Einstufen von Schlüsselwörtern nach Relevanz vorgeschlagen. Das Verwenden von Stammwortformen ist auch vorgeschlagen: Präfix und Suffix können ignoriert werden. Aber es gibt kein vorgeschlagenes Verfahren zum Entscheiden, ob ein berechneter Schlüsselterm tatsächlich ein linguistisch kohärenter Schlüsselterm ist.
  • US-B-6 173 298 beschreibt ein Verfahren zum Aufbauen eines dynamischen Klasseneinteilungs-Wörterbuchs. Gut bekannte Verfahren zum Auswählen von Bigrammen werden verwendet. Aber das Verfahren ist auf Wort-Bigramme beschränkt, so dass ein weiteres Überprüfen auf Schlüsselterme nicht auftreten kann: Abschneidungen von Schlüsselwörtern mit einer Länge von drei Wörtern können als relevante Bigramme ausgewählt werden.
  • Daher gibt es einen Bedarf für ein Verfahren zum Definieren von Schlüsselwörtern, das sich auf Datenbanken von Texten und Dokumenten bezieht.
  • In einem Ausführungsbeispiel schlägt die Erfindung das Verwenden eines entropischen Verfahrens zum Definieren von Schlüsselwörtern in einer Dokument-Datenbank vor. Das Verwenden eines entropischen Verfahrens extrahiert Schlüsselwörter, die eine Bedeutung in den Datenbanktexten aufweisen. Das Iterieren der Verfahrensschritte erlaubt, dass Schlüsselwörter, basierend auf bereits definierten Schlüsselwörtern, in einer hierarchischen oder strukturierten Weise, gebildet werden.
  • Insbesondere schafft die Erfindung ein Verfahren zum Extrahieren von Schlüsselwörtern aus einer Datenbank mit Texten, der die Schritte aufweist:
    • – (a) Bereitstellen eines Wörterbuches mit lexikalischen Elementen (Wi) aus Texten der Datenbank, wobei ein Element in dem Wörterbuch mit einer Zahl (NWi) verbunden ist, die seine Häufigkeit in den Texten verkörpert;
    • – (b) Bereitstellen einer Sammlung von Sequenzen (Sj) von lexikalischen Elementen von Texten der Datenbank;
    • – (c) Segmentieren jeder Sequenz in Elemente des Wörterbuchs;
    • – (d) Bereitstellen einer Sammlung von Verkettungen (Ck) der Elemente der segmentierten Sequenzen; wobei eine Verkettung in der Sammlung mit einer Anzahl (NCk) verbunden ist, die seine Häufigkeit in der Text-Datenbank verkörpert;
    • – (e) basierend auf der Anzahl (NCk), die mit einer Verkettung (Ck) der Sammlung von Verkettungen verbunden ist, und auf den Anzahlen (NWi), die in dem Wörterbuch mit den Elementen verbunden sind, die die Verkettungen bilden, Berechnen der Variation der Summe der Preise aller Elemente des Wörterbuchs, falls die Verkettungen dem Wörterbuch hinzugefügt wurden, wobei der Preis eines Elements als eine abnehmende und entropische Funktion der Anzahl berechnet wird, die mit dem Element verbunden ist, und
    • – (f) Hinzufügen der Verkettung zu dem Wörterbuch gemäß den Ergebnissen der Berechnung.
  • Das Verfahren kann ferner das Wiederholen der Schritte (c), (d) und (e) aufweisen. Die lexikalischen Elemente können unter Wörtern, Lemmas, Sätzen, die aus einem Wort gebildet sind, und ein Attribut davon, oder Sätzen, die aus einem Lemma gebildet sind und einem Attribut davon, ausgewählt werden.
  • Der Schritt (a) des Bereitstellens eines Wörterbuches kann das Auswählen lexikalischer Elemente unter allen lexikalischen Elementen von Texten der Datenbank aufweisen.
  • In diesem Schritt kann eine Sequenz ein geordneter Satz von lexikalischen Elementen, oder ein Satz von lexikalischen Elementen sein, die in einem Text der Datenbank benachbart sind.
  • Der Schritt des Bereitstellens einer Sammlung von Sequenzen kann durch Extrahieren von Sequenzen mit einer Länge, die kleiner als eine vorgegebene Länge Lmax ist, aus Texten der Datenbank ausgeführt werden.
  • Eine Verkettung in diesem Verfahren ist vorzugsweise ein Satz von Elementen des Wörterbuches, die in einer segmentierten Sequenz benachbart sind, oder ein geordneter Satz von Elementen des Wörterbuches, die in einer segmentierten Sequenz vorhanden sind.
  • Im Schritt (e) kann das Segmentieren jeder Sequenz aufweisen:
    • – (e1) Bestimmen aller möglichen Segmentationen einer Sequenz in Elemente des Wörterbuchs, und
    • – (e2) Auswählen einer der möglichen Segmentationen.
  • In diesem Fall kann der Schritt des Segmentierens ausgeführt werden durch
    • – (e21) Berechnen der Summe der Preise, die mit den Elementen des Wörterbuchs verbunden sind, für jede mögliche Segmentation;
    • – (e22) Auswählen der Segmentation mit der kleinsten Summe.
  • Vorzugsweise ist eine Sequenz in der Sammlung mit einer Anzahl (NSj) verbunden, die ihre Häufigkeit in den Texten verkörpert, und wobei die Anzahl (NCk), die die Häufigkeit einer Verkettung (Ck) verkörpert wird als die Summe der Anzahlen (NSj) berechnet, die in der Sammlung von Sequenzen mit Sequenzen (Sj) verbunden sind, die die Verkettung (Ck) aufweisen.
  • Der Schritt des Hinzufügens weist vorteilhaft auf:
    • – (f1) Vergleichen der Variation, die für Verkettung berechnet wurde, mit der Variation, die für andere Verkettungen berechnet wurde; und
    • – (f2) Hinzufügen einer Verkettung zu dem Wörterbuch gemäß den Ergebnissen des Berechnens.
  • Der Preis eines lexikalischen Elements (Wi) des Wörterbuchs kann berechnet werden, als ln(NWi/NW),wobei NWi die Anzahl von Vorkommen des lexikalischen Elements in der Datenbank und NW die Anzahl von Elementen in dem Wörterbuch ist.
  • In diesem Fall kann die Variation in Schritt (e) berechnet werden als g(x) = –NCk*ln(NCk/NW) – (NWk1 – NCk + 1)*ln((NWk1 – NCk + 1)/NW) – (NWk2 – NCk + 1)*ln((NWk2 – NCk + 1)/NW) – (–NWk1*ln(NWk1/NW) – NWk2*ln(NWk2/NW)),wobei NWk1 und NWk2 die Anzahlen sind, die jeweils mit den Elementen Wk1 bzw. Wk2, die die Verkettung Ck bilden, verbunden sind.
  • Man kann in der Text-Datenbank auch ein Protokoll für Benutzeranfragen verwenden. Es ist auch möglich, für einen Eintrag des Wörterbuchs einer Anzeigeform des Eintrags bereitzustellen. In diesem Fall kann die Anzeigeform für einen Eintrag des Wörterbuches als die häufigste von allen Ausdrücken oder Textformen der Text-Datenbank sein, die mit dem Eintrag verbunden sind.
  • Ein Verfahren, das die Erfindung verkörpert, wird nun beschrieben, nur als Beispiel, und in Bezugnahme auf die angefügten Zeichnungen, wo
  • 1 eine Ansicht eines Wörterbuchs zum Starten des Verfahrens eines Ausführungsbeispiels der Erfindung ist;
  • 2 eine Ansicht einer Sammlung von Sequenzen ist, die in einem Ausführungsbeispiel der Erfindung verwendet wird;
  • 3 bis 5 ein Flußdiagramm eines Verfahrens gemäß der Erfindung zeigen.
  • Die Erfindung basiert auf der Überlegung, dass es die Anwendung der Informationstheorie auf lexikalische Elemente in einer Datenbank aus Texteinträgen möglich macht, aus der Datenbank Kombinationen von lexikalischen Elementen zu extrahieren, die eine Bedeutung in den Texten haben. Aus Vereinfachungsgründen, werden solche Kombinationen von lexikalischen Elementen in dem Rest dieser Beschreibung als "Schlüsselwörter" bezeichnet; tatsächlich sind Schlüsselwörter die Hauptverwendung solcher Kombinationen von lexikalischen Elementen. In dieser Hinsicht weisen lexikalische Elemente in dieser Beschreibung Wörter oder Lemmas auf; diese sind lexikalische Elemente, im Gegensatz zu Buchstaben oder Anhäufungen von Buchstaben.
  • Zum Erläutern der Erfindung wird in dem Rest dieser Beschreibung eine Datenbank aus Texten in der englischen Sprache vorausgesetzt. Die Datenbank weist eine Anzahl von Einträgen auf; jeder Eintrag ist ein Text – das ist eine geordnete Ansammlung von Wörtern in der englischen Sprache. Die Erfindung bezieht sich auf die Definition von Schlüsselwörtern zum Durchsuchen dieser Datenbank und zum Erlauben, dass Informationen aus dieser Datenbank wiedergewonnen werden. Das Wiedergewinnen von Informationen – die tatsächliche Verwendung der Schlüsselwörter – ist nicht der Hauptzweck dieser Erfindung; das kann durch jedes in der Technik bekannte Verfahren ausgeführt werden, und wird hier nicht diskutiert.
  • Das Verfahren verwendet ein Wörterbuch. Jeder Eintrag des Wörterbuchs weist ein lexikalisches Element oder ein Element, dass aus lexikalischen Elementen gebildet ist, die in dem Wörterbuch enthalten sind, auf. Das lexikalische Element könnte ein Wort oder ein Lemma der Datenbanktexte sein; ein Element, dass aus anderen Elementen gebildet ist, kann ein Satz von Lemmas des Wörterbuchs sein, der geordnet ist oder nicht. Andere Beispiele sind unten gegeben.
  • Zusätzlich weist jeder Eintrag eine Nummer auf. Diese Nummer ist die Anzahl von Häufigkeiten des lexikalischen Elements des Eintrags in der Datenbank. In dem Rest dieser Beschreibung wird NWi die Anzahl der Häufigkeiten von lexikalischen Elementen oder Sätzen von lexikalischen Elementen Wi bezeichnen.
  • Obwohl das ein Missbrauch der Sprache ist, kann man sich in dem Rest dieser Beschreibung auf ein lexikalisches Element als einen Eintrag des Wörterbuchs beziehen – der Eintrag ist genau gesprochen aus dem lexikalischen Element und seiner zugeordneten Nummer gebildet.
  • Die Anzahl NWi der Häufigkeiten des Eintrags Wi macht es möglich "Preise" dieses Eintrags, unter Verwendung einer Funktion f, die die Preise mit dieser Anzahl NWi verbindet, zu berechnen. Die Funktion ist so gewählt und das Wörterbuch so aufgebaut, um die folgenden Eigenschaften zu erfüllen:
    • – zuerst, die Funktion f ist streng fallend; d. h. falls NWk < NWj, dann ist f(NWk) < f(NWj);
    • – zweitens, für ein Element des Wörterbuchs, das aus anderen Elementen des Wörterbuchs gebildet ist, ist der Preis dieses Elements kleiner als die Summe der Preise von Elementen, die es bilden.
  • Die Tatsache, das die Funktion fallend ist, spiegelt wieder, dass je häufiger ein Element ist, desto kleiner sein Preis sein sollte.
  • Das zweite Kriterium ist nützlich zum Auswählen neuer Einträge, die dem Wörterbuch hinzuzufügen sind – diese Einträge werden aus Einträgen gebildet, die schon in dem Wörterbuch vorhanden sind; es hilft daher, das Wörterbuch mit neuen Einträgen, die relevant sind, zu vervollständigen. Seien W1, W2, ..., Wn Einträge des Wörterbuchs, und NW1, NW2, ..., NWn die Nummern, die jeweils mit diesen Einträgen verbunden sind; sei W1+2+...+n ein neues Element des Wörterbuchs, das aus Elementen W1, W2, ..., Wn gebildet ist, und NW1+2+...+n die Nummer, die mit W1+2+...+n verbunden ist, sei NW die Gesamtanzahl der Häufigkeiten, die mit den Einträgen verbunden ist. Mit diesen Bezeichnungen wird das zweite Kriterium durch die folgende Formel zusammengefasst: f(NW1+2+...n) < f (NW1) + f(NW2) + ... + f(NWn)d. h., der Preis NW1+2+...+n der Kombination W1+2+...+n ist kleiner als die Kombination der Preise NW1, NW2, ..., NWn von W1, W2, ..., Wn.
  • Zum Beispiel können die folgenden Funktionen als Entropiefunktion verwendet werden:
    f(x) = –ln(x/NW), wobei NW die Gesamtanzahl der Häufigkeiten und x die Anzahl der Häufigkeiten eines Elements ist,
    f(x) = 1/x.
  • Die erste ist durch die Informationstheorie gestützt. Sie misst die optimale Kodelänge, die mit dem Eintrag zu verbinden ist, in anderen Worten, sie misst die Informationsmenge, die von dem Eintrag gehalten wird. Die zweite ist eine heuristische, die ein von der vorherigen unterschiedliches Verhalten definiert: berechnete Preise für häufige Einträge werden höher sein, und für seltene Einträge werden sie niedriger sein. Folglich werden, unter Berücksichtigung des vorher beschriebenen Kriteriums, häufige Einträge leichter gruppiert als vorher. Diese zweite Formel kann verwendet werden, wenn ein selektiverer Filter benötigt wird: Das endgültige Wörterbuch wird sehr relevante Einträge aufweisen.
  • Die Funktion kann als "entropisch" betrachtet werden. Es ist anzumerken, dass die oben gegebene Definition von "entropisch" vom üblichen Begriff einer entropischen Funktion, der in der Funktionstheorie verwendet wird, verschieden sein kann.
  • 1 zeigt ein Wörterbuch am Beginn der ersten Iteration des Verfahrens; dieses Wörterbuch wird als ein Startpunkt für ein Ausführungsbeispiel des Schlüsselwort-Definitionsverfahrens verwendet. Das Wörterbuch ist aus den Einträgen der Datenbank aufgebaut. Es enthält alle lexikalischen Elemente Wi der Datenbank. Aus Gründen der Vereinfachung wird man im Rest dieses Beispiels berücksichtigen, dass lexikalische Elemente Wörter sind; es sollte berücksichtigt werden, dass Lemmas oder andere lexikalische Elemente zum Bevölkern des Wörterbuchs verwendet werden können.
  • Wie oben erklärt, weist das Wörterbuch, zusätzlich zu Wörtern, für jedes Wort Wi eine Nummer NWi auf, die seine Anzahl von Vorkommen in der Datenbank verkörpert.
  • 1 zeigt daher eine begrenzte Anzahl von Wörtern des Wörterbuchs zusammen mit ihrer zugeordneten Nummer. Vom Standpunkt der Datenverarbeitung aus, kann das Wörterbuch aus 1 als eine Hash-Tabelle eingerichtet sein, während das Programm zum Bevölkern des Wörterbuchs einfach über alle Dokumente laufen gelassen wird.
  • Jenseits des Wörterbuchs ist der andere Startpunkt für das Verfahren eine Sammlung von Sequenzen Sj von Wörtern, die in der Datenbank auftauchen. Eine "Sequenz" ist ein Satz von wenigstens zwei Wörtern, die in wenigstens einem Text der Datenbank auftauchen; in dem Beispiel aus 2, ist jede Sequenz geordnet, die Ordnung der Wörter ist die Ordnung, in der sie im Text auftauchen.
  • 2 zeigt einen Teil dieser Sammlung; in dieser Sammlung verwendet man Lemmas und nicht Wörter. Nur einige der Sequenzen sind in 2 verkörpert. Wie in dieser Figur gezeigt ist, weisen einige Sequenzen eine Bedeutung auf, zum Beispiel die Sequenz "press relea", die die Sequenz von Lemmas für "press release" ist, oder die Sequenz "web site". Andere Sequenzen sind bedeutungslos; das ist der Fall für die Sequenz "add search", die einfach aus zwei Wörtern gebildet ist, die in einem gegebenen Text der Datenbank benachbart sind. Jede Sequenz Sj in dieser Sammlung ist mit einer Nummer NSj verbunden, die ihre Häufigkeit in der Datenbank verkörpert.
  • Das Wörterbuch und die Sammlung von Sequenzen können wie jetzt diskutiert gebildet werden. Zum Bevölkern des Wörterbuchs ist ein einfacher Weg, einfach alle Texte in der Datenbank abzutasten und alle Wörter zu dem Wörterbuch hinzuzufügen. Jedes Mal, wenn ein neues Wort zu dem Wörterbuch hinzugefügt wird, wird seine zugeordnete Nummer auf 1 eingestellt. Wenn ein Wort beim Abtasten der Datenbankeinträge angetroffen wird, das bereits in dem Wörterbuch enthalten ist, wird die Nummer, die mit diesem Wort verbunden ist, um 1 erhöht. Wenn die Datenbank abgetastet wird, wird das Wörterbuch mit den Wörtern der Datenbank bevölkert, verbunden mit ihrer Anzahl von Vorkommen in der Datenbank. Das in diesem Absatz offenbarte Verfahren ist das einfachste, das zum Bevölkern des Wörterbuchs in Betracht gezogen werden kann; andere Verfahren oder Heuristiken können zum Bevölkern des Wörterbuchs verwendet werden.
  • Zum Bevölkern der Sammlung kann das in dem vorherigen Absatz diskutierte Verfahren verwendet werden; anstatt das Wörterbuch mit Wörtern zu bevölkern, wird die Sammlung jedoch mit Sequenzen von Wörtern bevölkert. Das kann ausgeführt werden, indem zuerst alle Sequenzen, die aus einem Wort gebildet sind, in einem ersten Abtasten der Datenbank, in die Sammlung hinzugefügt werden – das ist gleichbedeutend mit dem Aufbauen des Wörterbuchs. In einem zweiten Abtasten der Datenbank kann man in die Sammlung alle Sequenzen hinzufügen, die aus zwei Wörtern gebildet sind. Man kann dann bei jedem nachfolgenden Abtasten neue Sequenzen von Wörtern der Datenbank hinzufügen, bis zu Sequenzen mit einer gegebenen Größe Lmax. Man erhält daher eine Sammlung von Sequenzen von Wörtern mit einer Länge zwischen 1 und Lmax; diese Sequenzen tauchen in der Datenbank auf, und sind mit einer Nummer verbunden, die ihre Häufigkeit in der Datenbank verkörpert; wie das für die Vorkommen in dem Wörterbuch der Fall ist, kann diese Nummer normalisiert sein.
  • Wieder ist dieses Verfahren zum Bevölkern der Sammlung von Sequenzen in einer endlichen Zeit auszuführen – da die Datenbank endlich ist und Lmax eine endliche Zahl ist. Andere Verfahren können zum Bevölkern der Sammlung von Sequenzen verwendet werden.
  • Vom Wörterbuch und der Sammlung von Sequenzen startend, fügt das Verfahren neue Einträge zu dem Wörterbuch hinzu, die aus der Sammlung von Sequenzen stammen. Die 3 bis 5 zeigen ein Flussdiagramm dieses Verfahrens. Der erste Schritt 6 besteht aus dem Bereitstellens des Wörterbuchs und dem Sammeln von Sequenzen, die als ein Startpunkt verwendet werden. Dieser Schritt kann wie oben diskutiert ausgeführt werden.
  • Der erste Teil des Verfahrens – von Schritt 8 bis 24, die in 3 abgebildet sind – segmentiert alle Sequenzen der Sammlung von Sequenzen in Elemente des Wörterbuchs. Für eine gegebene Sequenz kann es verschiedene Wege zum Segmentieren der Sequenz in Elemente des Wörterbuchs geben; jeder dieser Wege wird als eine "Ausschneidung" der Sequenz, oder als eine "segmentierte Sequenz" bezeichnet. Eine dieser Ausschneidungen wird für die folgenden Schritte des Verfahrens ausgewählt.
  • In Schritt 8 wird eine momentane Sequenz Sj in der Sammlung von Sequenzen berücksichtigt. Die Sequenz wird dann in Elemente ausgeschnitten, wobei jedes Element ein Wort oder eine kleinere Sequenz von Wörtern ist. Da die Länge der Sequenz wenigstens 2 ist, existiert wenigstens eine mögliche Ausschneidung der Sequenz: eine Sequenz mit zwei Wörtern kann in diese zwei Wörter ausgeschnitten werden. Zum Beispiel könnte die Sequenz der drei Wörter "die französische Republik", auf die folgenden Weisen ausgeschnitten werden:
    • – die/französische Republik;
    • – die französische/Republik;
    • – die/französische/Republik.
  • Diese Sequenz mit drei Wörtern kann daher auf drei verschiedenen Weisen ausgeschnitten werden – dieses berücksichtigt die Reihenfolge der Wörter in der Sequenz, wie oben für dieses Beispiel vorgeschlagen. In dem Beispiel weist die erste Ausschneidung ein erstes Element mit einem Wort und ein zweites Element mit zwei Wörtern auf. Eine Sequenz von Lmax Wörtern kann allgemeiner in eine endliche Anzahl von Weisen ausgeschnitten werden. Schritt 8 stellt für die momentan berücksichtigte Sequenz eine Reihe von Ausschneidungen bereit.
  • In dem nächsten Schritt 10 wird die erste Ausschneidung, die in Schritt 8 erhalten wird, berücksichtigt. Diese Ausschneidung ist aus einer Anzahl von Elementen des Wörterbuchs oder aus Kombinationen solcher Elemente gebildet. In Schritt 12 wird das Wörterbuch durchsucht, um zu versuchen, jedes der Elemente und Kombinationen, die die Ausschneidung bilden, ausfindig zu machen. In Schritt 14 wird bestimmt, ob die momentan berücksichtigte Ausschneidung aus Elementen des Wörterbuchs gebildet ist. Zum Beispiel in dem oben berücksichtigen Beispiel "die französische Republik", sind die ersten und zweiten Ausschneidungen nicht notwendigerweise aus Elementen des Wörterbuchs gebildet: tatsächlich tauchen "französische Republik" oder "die französische" nicht notwendigerweise in dem Wörterbuch in dieser Stufe des Verfahrens auf.
  • Falls das nicht der Fall ist, schreitet das Verfahren zu Schritt 16 voran; andernfalls, falls alle Elemente der Ausschneidung in dem Wörterbuch vorhanden sind, schreitet das Verfahren zu Schritt 18 voran.
  • In Schritt 16 wird bestimmt, ob alle Ausschneidungen der momentan berücksichtigten Sequenz analysiert wurden. Falls das der Fall ist, schreitet das Verfahren zu Schritt 22 voran; andernfalls schreitet das Verfahren zu Schritt 20 voran. In Schritt 20 wird die nächste Ausschneidung berücksichtigt, und das Verfahren schreitet wieder zu Schritt 12 voran.
  • In Schritt 18 sind alle Elemente der momentan berücksichtigten Ausschneidung im Wörterbuch vorhanden. Wie oben diskutiert, ist jeder Eintrag des Wörterbuchs mit einer Nummer NWi verbunden, die die Anzahl von Vorkommen des Elements in der Datenbank verkörpert; diese Nummer kann daher zum Berechnen eines Preises der Ausschneidung verwendet werden. Der Preis der Ausschneidung oder der segmentierten Sequenz kann daher z. B. basiert auf dem Preis, der in dem Wörterbuch mit jedem Element der Ausschneidung verbunden ist, berechnet werden. In dem einfachsten Ausführungsbeispiel wird der Preis der Ausschneidung als die Summe der Preise seiner Elemente berechnet.
  • Andere Ausführungsbeispiele zum Berechnen des Preises einer Ausschneidung sind möglich: Man kann z. B. die Anzahl von Elementen des Wörterbuchs, die die Ausschneidung bilden, berücksichtigen; das könnte gemacht werden, indem zu der Summe eine Menge hinzugefügt wird, die die Anzahl von Elementen verkörpert. Man kann auch berücksichtigen, dass der Preis einer Ausschneidung nur die Anzahl von Elementen verkörpert; diese Lösung ist gleichbedeutend mit dem Auswählen der Ausschneidung, die aus der kleinsten Anzahl von Elementen gebildet ist. Man kann auch eine festgelegte Summe hinzufügen, wobei diese festgelegte Summe eine Funktion der Anzahl von Elementen ist. Das Hinzufügen einer festgelegten Summe, wenn die Anzahl von Elementen größer als 3 ist, macht es z. B. möglich, Ausschneidungen mit zwei oder drei Elementen stark zu bevorzugen. Schritt 18 stellt daher für die momentan betrachtete Ausschneidung einen Preis bereit, der auf der Nummer basiert, die mit den Elementen der Ausschneidung in dem Wörterbuch verbunden ist. Das Verfahren schreitet dann für die Analyse der anderen Ausschneidungen zu Schritt 16 voran.
  • Das Verfahren läuft in Schleifen durch die Schritte 12, 14, 18, 16 und 20; es berechnet Preise für alle Ausschneidungen, die für die momentane Sequenz erhalten wurden – vorausgesetzt, dass die Elemente der Ausschneidungen in dem Wörterbuch auftauchen. Ein Preis kann für wenigstens eine Ausschneidung berechnet werden: eine der Ausschneidungen ist aus allen Wörtern der Sequenz gebildet; diese Wörter sind in dem Wörterbuch gegenwärtig, so dass ein Preis für diese Ausschneidung berechnet werden kann.
  • In Schritt 22 wählt das Verfahren für die momentane Sequenz die Ausschneidung mit dem kleinsten Preis aus. Da der Preis für wenigstens eine Ausschneidung berechnet werden kann, stellt Schritt 22 eine Ausschneidung für die momentane Sequenz bereit. Diese Ausschneidung ist tatsächlich eine Verkörperung der Sequenz in dem Wörterbuch: in anderen Worten, die Ausschneidung ist ein Weg zum Bilden der Sequenz unter Verwendung von Elementen des Wörterbuchs. In dem oben offenbarten Beispiel ist eine der möglichen Ausschneidungen ausgewählt; man könnte diesen Schritt auch überspringen und einfach die erste identifizierte Ausschneidung für eine Sequenz nehmen.
  • In dem nächsten Schritt 24 wird bestimmt, ob das Verfahren des Bestimmens einer Ausschneidung mit dem kleinsten Preis für jede Sequenz der Sammlung von Sequenzen ausgeführt wurde. Falls das der Fall ist, schreitet das Verfahren zu Schritt 26 voran. Andernfalls, falls es wenigstens eine übrige Sequenz gibt, schreitet das Verfahren zu Schritt 28 voran. Im Schritt 28 wird die nächste Sequenz berücksichtigt; das Verfahren geht dann zu Schritt 8.
  • Wenn das Verfahren zu Schritt 26 voranschreitet, ist eine Ausschneidung mit dem kleinsten Preis mit jeder Sequenz der Sammlung von Sequenzen verbunden; folglich wird jede Sequenz der Originalsammlung von Sequenzen in Elemente des Wörterbuchs segmentiert; man kann optional einen von verschiedenen Wegen zum Segmentieren einer gegebenen Sequenz auswählen. Das erste Mal, wenn das Verfahren zu Schritt 26 voranschreitet, sind die Sequenzen aus den Wörtern gebildet, mit denen in Schritt 6 das Wörterbuch ursprünglich bevölkert wurde; zu einem späteren Zeitpunkt, können die Ausschneidungen andere Einträge aufweisen, die vorher zu dem Wörterbuch hinzugefügt wurden.
  • In dem zweiten Teil des Verfahrens, von den Schritten 26 bis 40, 4, berücksichtigt man basierend auf der Sammlung von Ausschneidungen oder segmentierten Sequenzen, die in dem ersten Teil erhalten wurden, alle möglichen Verkettungen Ck von 2 (oder mehr) benachbarten Elementen in der Sammlung von Ausschneidungen. Eine gegebene Verkettung kann in einer Ausschneidung oder in mehr als einer auftauchen; für jede Verkettung wird eine Nummer NCk berechnet, die ihre Häufigkeit in der Datenbank verkörpert.
  • Das kann wie folgt durch Bevölkern einer Tabelle von Verkettungen ausgeführt werden. In Schritt 26 wird die erste Sequenz Sj berücksichtigt. Die Ausschneidung, die in dem ersten Teil dieses Verfahrens für diese Sequenz erhalten wurde, ist aus wenigstens zwei Elementen gebildet; in Schritt 28 berechnet man alle möglichen Verkettungen von zwei dieser Elemente; die erste dieser Verkettungen wird dann berücksichtigt.
  • In dem nächsten Schritt 30 wird die Verkettungstabelle nach der Verkettung Ck, die momentan berücksichtigt wird, durchsucht; falls diese Verkettung nicht in der Tabelle ist, schreitet das Verfahren zu Schritt 32 voran; andernfalls schreitet es zu Schritt 34 voran. Zu dem Zeitpunkt, wenn die erste Verkettung der ersten Sequenz berücksichtigt wird, ist die Tabelle natürlich leer.
  • In Schritt 32 wird die momentan berücksichtigte Verkettung Ck zu der Tabelle hinzugefügt; zur gleichen Zeit wird die Anzahl von Vorkommen NCk auf die Anzahl von Vorkommen NSj eingestellt, die mit der Sequenz Sj verbunden sind, wo die Verkettung gefunden wurde. Das Verfahren schreitet zu Schritt 36 voran.
  • In Schritt 34 ist die momentan berücksichtigte Verkettung Ck schon in der Verkettungstabelle. Die Anzahl NCk von Vorkommen für diese Verkettung in der Tabelle wird dann um die Anzahl von Vorkommen NSj, die mit der momentanen Sequenz Sj verbunden sind, erhöht. Das Verfahren schreitet dann zu Schritt 36 voran.
  • In Schritt 36 wird bestimmt, ob eine Verkettung für die momentan berücksichtigte Sequenz übrig bleibt. Falls das der Fall ist, schreitet das Verfahren zu Schritt 38 voran, andernfalls schreitet es zu Schritt 40 voran.
  • In Schritt 38 wird die folgende Verkettung berücksichtigt; das Verfahren schreitet dann zu Schritt 30 voran.
  • In Schritt 40 wird bestimmt, ob das Verfahren des Bestimmens von Verkettungen und des Bevölkerns der Verkettungstabelle für jede Sequenz der Sammlung von Sequenzen ausgeführt wurde. Falls das der Fall ist, schreitet das Verfahren zu Schritt 44 voran. Andernfalls, falls wenigstens eine Sequenz übrig ist, schreitet das Verfahren zu Schritt 42 voran. In Schritt 42 wird die nächste Sequenz berücksichtigt; das Verfahren geht dann zu Schritt 28.
  • Daher, wenn das Verfahren zu Schritt 44 voranschreitet, ist eine Verkettungstabelle bereitgestellt, die alle Verkettungen von zwei Einträgen des Wörterbuchs enthält, die in den Ausschneidungen der Sequenz gefunden wurden. Jede Verkettung ist mit der Anzahl ihrer Vorkommen in der Datenbank verbunden: Tatsächlich, die Berechnung, die in den Schritten 32 und 34 ausgeführt wurde, läuft auf das Addieren der Anzahl von Vorkommen in der Datenbank der Sequenz hinaus, in der die Verkettung gefunden werden kann:
  • Figure 00190001
  • Die ersten und zweiten Teile des Verfahrens stellen daher Verkettungen von Elementen des Wörterbuchs bereit, mit einer Nummer, die ihre Häufigkeit in der Datenbank verkörpert. Die Verkettungen sind aus segmentierten Sequenzen ausgewählt, möglicherweise mit einer Auswahl der Segmentation, die für eine gegebene Sequenz ausgeführt wird: daher sind die Verkettungen wahrscheinlich bedeutungsvoller als Verkettungen, die zufällig aus der Datenbank ausgewählt werden.
  • Im dritten Teil des Verfahrens, von Schritt 44 bis Schritt 56, 5, wird bestimmt, ob die Verkettungen, die bis jetzt erhalten wurden, zu dem Wörterbuch hinzugefügt werden sollen. Für eine gegebene Verkettung wird das ausgeführt, indem die Änderung des Gesamtpreises des Wörterbuchs berechnet wird, falls die Verkettung zu dem Wörterbuch hinzugefügt werden würde. Für eine gegebene Verkettung basiert diese Berechnung auf der Anzahl von Vorkommen NCk, die mit jeder Verkettung verbunden ist, und auf der Anzahl von Vorkommen, die in dem Wörterbuch mit den Einträgen verbunden ist, die die Verkettung in dem Wörterbuch bilden.
  • Das ist gleichbedeutend zum Bestimmen, ob das Kodieren der Datenbanktexte mit einem Wörterbuch, dass die Verkettung enthält, einen Kode bereitstellt, der kürzer oder komprimierter ist, als der Kode der Datenbanktexte mit dem Wörterbuch, dass die Verkettung nicht enthält. Die Erfindung basiert daher auf der Überlegung, dass das Anwenden, dass allgemein als ein Kompressionsschema für eine Text-Datenbank verstanden wird, Schlüsselwörter isoliert, d. h. Wörter mit einer Bedeutung in der Datenbank.
  • Daher wird in Schritt 44 die erste Verkettung Ck berücksichtigt; Angenommen, dass diese Verkettung aus m Elementen des Wörterbuchs, Wk1 bis Wkn gebildet ist, mit m ≤ Lmax: in Schritt 46 wird eine zweite Formel g auf die Nummer NCk, die die Häufigkeit der Verkettung in der Datenbank verkörpert, und auf die Nummern NWk1 bis NWkm, die mit diesen Elementen des Wörterbuchs, die die Verkettung bilden, verbunden sind, angewendet. Die zweite Formel verkörpert die Variation des Preises für das gesamte Wörterbuch, falls die Verkettung dem Wörterbuch hinzugefügt werden würde. Die zweite Formel verkörpert daher die Leichtigkeit zum Hinzufügen neuer Einträge in das Wörterbuch. Wie unten diskutiert ist, kann die zweite Formel nur eine Näherung der exakten Variation sein, oder eine Vorhersage dieser Variation, um die Rechnung lenkbar zu machen (vom Computer durchführbar) und die Erfindung einrichtbar zu machen.
  • Die zweite Formel muss mit der ersten Formel, die den Preis von Einzelelementen angibt, konsistent sein; sie kann unter bestimmten Näherungen von dieser ersten Formel abgeleitet sein. Die Näherungen können mehr oder weniger genau sein, abhängig von der Effizienz-getriebenen Auswahl des Algorithmus. Der Zweck ist in allen Fällen, dass das Wörterbuch noch mit den zwei oben gegebenen Kriterien übereinstimmt, wenn neue Einträge hinzugefügt werden.
  • In einem ersten Beispiel kann man wählen, keine Näherung für die zweite Formel zu machen: die genaue Variation des Preises des Wörterbuchs wird dann berechnet. Das einfachste Verfahren dafür weist die folgenden Schritte auf:
    • – Berechnen und Speichern des Preises für das gesamte Wörterbuch, definiert als die Summe aller Preise für seine Einträge;
    • – Hinzufügen der Verkettung zu dem Wörterbuch,
    • – Berechnen des Preises der Elemente des Wörterbuchs, vervollständigt mit der Verkettung, wie oben mit Bezugnahme zu Schritt 6 diskutiert
    • – Berechnen des Preises des Wörterbuchs, das mit der Verkettung vervollständigt ist;
    • – Subtrahieren von dem Preis des vervollständigten Wörterbuchs die gespeicherten Preise des originalen Wörterbuchs.
  • Man kann dann zu dem Originalzustand des Wörterbuchs zurückkehren – durch Entfernen der Verkettung – und einmal mehr die Berechnung des Preises laufen lassen. Es sollte offensichtlich sein, dass so eine Berechnung in den meisten praktischen Fällen unlenkbar ist.
  • Zweitens kann man wollen, einige Näherungen zum schnelleren Berechnen der erwarteten Variation zu verwenden. Zum Beispiel kann man berücksichtigen, dass die Gesamtanzahl von Einträgen NW ungefähr konstant ist, da es viele Einträge gibt, und das Auswählen, oder nicht, des Hinzufügens von einem es nicht in einer signifikanten Weise ändert. Das macht es möglich, die erwartete Variation des Preises zu berechnen als:
    • – die hinzugefügten Preise für die Verkettung;
    • – die Reduzierung von Preisen für die Elemente der Verkettung, die bereits in dem Wörterbuch auftauchten.
  • Tatsächlich wird das Hinzufügen einer Verkettung Ck zu dem Wörterbuch die Anzahl von Vorkommen der Elemente Wk1 bis Wkn, die diese Verkettung bilden, reduzieren, und daher einen Einfluss auf die Nummern NWk1 bis NWkn haben.
  • Zum Beispiel, unter der Annahme, dass die ausgewählte entropische Formel f(x) = –ln(x/NW) ist, und unter der Annahme, dass die Verkettung aus zwei Elementen des Wörterbuchs gebildet ist, würde die genäherte Variation von den Elementen der berücksichtigen Verkettung und der Verkettung selbst ausgehen. Dann könnte die entsprechende Formel, die g genannt wird sein: g(x) = –NCk*ln(NCk/NW) – (NWk1 – NCk + 1)*ln((NWk1 – NCk + 1)/NW) – (NWk2 – NCk + 1)*ln((NWk2 – NCk + 1)/NW) – (–NWk1*ln(NWk1/NW) – NWk2*ln(NWk2/NW)),wobei
    NCk die Anzahl von Vorkommen ist, die in Schritt 22 berechnet wurde;
    NW die Anzahl von Einträgen in das Wörterbuch ist;
    Wk1 und Wk2 die Elemente des Wörterbuchs sind, die die Verkettung bilden, NWk1 und NWk2 die Anzahlen sind, die mit diesen Elementen verbunden sind.
  • Zum Verstehen der Formulierung der Funktion "g" sollte bemerkt werden, dass der Beitrag zu der Gesamtkostenvariation für jedes Element des Wörterbuchs berechnet werden kann. Unter der Annahme, dass NW ungefähr konstant ist, ist diese Variation Null, außer für Wk1 und Wk2, da sich NWk nur für diese Elemente ändert.
  • Vor dem Hinzufügen ist der Beitrag von Wk1(–NWk1*ln(NWk1/NW)): sein Preis ist (–ln(NWk1/NW)) und er wird NWk1 – ma1 verwendet. Das gilt auch für Wk2.
  • Nach dem Hinzufügen von Ck (Wk1, Wk2) zu dem Wörterbuch, werden jedes Mal, wenn Ck in einer Ausschneidung verwendet wird, Wk1 und Wk2 nicht mehr verwendet, so dass ihre Anzahl von Vorkommen um Ck abnimmt. Schließlich werden Wk1 und Wk2 in dem Wörterbuch einmal verwendet, in der Verkörperung von Ck, sodass ihre Anzahl von Vorkommen um 1 erhöht wird. Das ergibt den endgültigen Preisbeitrag für Wk1 und Wk2: –(NWk1 – NCk + 1)*ln((NWk1 – NCk + 1)/NW) – (NWk2 – NCk + 1)*ln((NWk2 – NCk + 1)/NW)
  • Schließlich ist der Ck-Beitrag einfach –Ck*ln(NCk/NW).
  • So ein Ausdruck kann schnell mit nur zweimal Nachschauen in dem Wörterbuch zum Finden von NWk1 und NWk2 berechnet werden.
  • Diese Formel wurde geschrieben mit einem spezifischen Fall von f aus den möglichen Formeln, und für eine Verkettung, die aus zwei Elementen gebildet ist. Eine ähnliche genäherte Formel kann für andere Fälle berechnet werden.
  • Schritt 46 stellt daher eine erwartete Variation des Gesamtpreises des Wörterbuchs dar – die Summe der Preise f(NW1) für alle Elemente des Wörterbuchs – in dem Fall, dass die momentane Verkettung zu dem Wörterbuch hinzugefügt wird. Im Schritt 48 wird diese erwartete Variation mit einem vorgegebenen Grenzwert verglichen. Diese Grenze verkörpert die Leichtigkeit zum Hinzufügen neuer Einträge in das Wörterbuch und kann den Umständen entsprechend angepasst werden. In dem einfachsten Ausführungsbeispiel ist diese Grenze 0, und eine Verkettung wird hinzugefügt, falls sein Hinzufügen die Preise des Wörterbuchs verringert; andere Ausführungsbeispiele sind möglich, wie zum Beispiel das eine unten diskutierte, wo die erwartete Variation für alle Verkettungen berechnet wird und wo die Verkettung, die die höhere Variation verursacht (in absoluten Werten) zu dem Wörterbuch hinzugefügt wird. Falls die Variation kleiner ist als die Grenze, schreitet das Verfahren zu Schritt 50 voran; andernfalls geht es zu Schritt 52.
  • Wenn das Verfahren Schritt 50 erreicht, wird sichergestellt, dass die Verkettung zu dem Wörterbuch hinzugefügt werden sollte; das Verfahren berechnet dann eine Nummer, die diesem neuen Eintrag des Wörterbuchs hinzugefügt werden soll; man kann daher einfach die Nummer NCk, die früher berechnet wurde, und die Formel f verwenden. In diesem Schritt wird man auch wieder die Nummer berechnen, die mit den Elementen verbunden sind, die die Verkettung bilden, die gerade dem Wörterbuch hinzugefügt wurden; tatsächlich, wie oben diskutiert, wird das Hinzufügen einer Verkettung zu dem Wörterbuch die Anzahl von Vorkommen der Elemente der Verkettung beeinflussen.
  • In Schritt 52 erscheint es, dass die momentan berücksichtigte Verkettung, nicht zu dem Wörterbuch hinzugefügt werden braucht. Es wird daher bestimmt, ob es noch eine Verkettung gibt, die zu berücksichtigen ist. Falls das der Fall ist, schreitet das Verfahren zu Schritt 54 voran, andernfalls schreitet es zu Schritt 56 voran.
  • In Schritt 54 wird die nächste Verkettung berücksichtigt; das Verfahren schreitet dann zu Schritt 46. In Schritt 56 wurden alle Verkettungen berücksichtigt, und der dritte Teil des Verfahrens ist beendet – wenigstens für diese Iteration. Es wird dann bestimmt, ob eine andere Iteration ausgeführt werden soll. Falls das nicht der Fall ist, endet das Verfahren bei Schritt 58. Falls das der Fall ist, geht das Verfahren zurück zu Schritt 8, wo die erste Sequenz wieder berücksichtigt wird. Da jeder neue Eintrag in das Wörterbuch mit einer Anzahl von Vorkommen verbunden ist, kann das Verfahren basierend auf dem neuen Wörterbuch iteriert werden.
  • Jeder Iteration des Verfahrens führt zu einer Anzahl von neuen Einträgen, die in das Wörterbuch hinzugefügt werden. In der ersten Iteration ist das Wörterbuch ursprünglich ein Wörterbuch von Wörtern und neue Einträge sind aus zwei Wörtern gebildet. Ab der zweiten Iteration jedoch können neue Einträge mit drei oder vier Wörtern in dem Wörterbuch auftauchen. Jede Iteration wird Einträge in das Wörterbuch hinzufügen, die solange wie die Sequenzen sein können.
  • Die Anzahl von Iterationen kann variieren; man kann nur eine Iteration verwenden – d. h. die drei oben beschriebenen Teile nicht wiederholen. Man kann eine feste Anzahl von Iterationen auswählen, z. B. die Anzahl von Iterationen, die unten erläutert wird. Man kann auch entscheiden, das Iterieren im Hinblick auf die Anzahl von Einträgen, die in der letzten Iteration in das Wörterbuch hinzugefügt wurden, zu stoppen; auch andere Schemata sind möglich, z. B. kann das Verfahren das Iterieren stoppen, wenn das Wörterbuch eine gegebene Anzahl von Wörtern enthält, oder wenn alle Einträge, die in der vorherigen Iteration zu dem Wörterbuch hinzugefügt wurden, mit einer Anzahl von Vorkommen verbunden sind, die kleiner ist als eine vorgegebene Zahl.
  • Das Verfahren von 3 kann durch Programmieren in C auf einem Uniquesystem eingerichtet werden.
  • Ein Verfahren des Verfahrens von 3 wird jetzt gegeben. Die Textdatenbank weist 4·105 Texte in der englischen Sprache auf. Basierend auf dieser Datenbank wird ein Wörterbuch mit 4·105 Einträgen aufgebaut; die normalisierte Anzahl von Vorkommen variiert zwischen 4 und 104. Die maximale Sequenzlänge Lmax ist als 6 ausgewählt; die Sammlung von Sequenzen, die wie oben diskutiert gebaut ist, weist 1·106 Sequenzen auf. Das Verfahren gemäß Anspruch 3 wird ausgeführt; in Schritt 18 ist die Formel, die zum Berechnen des Preises von Ausschneidungs-Elementen verwendet wird f(x) = –ln(x/NW), und g ist das vorher definierte Näherungsbeispiel.
  • In der ersten Iteration werden 15·104 Einträge mit zwei Wörtern zu dem Wörterbuch hinzugefügt. Das Verfahren wird fünfmal iteriert. In der zweiten Iteration werden 5·104 Einträge mit zwei Wörtern, 9·104 Einträge mit drei Wörtern und 2·104 Einträge mit vier Wörtern zu dem Wörterbuch hinzugefügt. In der dritten Iteration werden 2·104 Einträge mit zwei Wörtern, 6·104 Einträge mit drei Wörtern, 4·104 Einträge mit vier Wörtern, 2·104 Einträge mit fünf Wörtern, und 103 Einträge mit sechs Wörtern zu dem Wörterbuch hinzugefügt. In der vierten Iteration werden 1·104 Einträge mit zwei Wörtern, 2·104 Einträge mit drei Wörtern, 4·104 Einträge mit vier Wörtern, 3·104 Einträge mit fünf Wörtern, und 2·104 Einträge mit sechs Wörtern zu dem Wörterbuch hinzugefügt. In der fünften und letzten Iteration werden 1·103 Einträge mit zwei Wörtern, 2·103 Einträge mit drei Wörtern, 2·104 Einträge mit vier Wörtern, 4·104 Einträge mit fünf Wörtern, und 4·104 Einträge mit sechs Wörtern zu dem Wörterbuch hinzugefügt.
  • Das Verfahren stellt einen hoch relevanten Satz von Schlüsselwörtern bereit: es wählt nur einen kleinen Satz unter den gesamten Kandidatensequenzen aus, typischerweise 10%. Es stellt einen Filter bereit, nicht nur eine Benotungsfunktion, was Klasseneinteilungs-basierte Verfahren betrifft: Klasseneinteilungs-basierte Verfahren verbinden nur Noten mit Sequenzen, dann werden Sequenzen durch diese Noten sortiert, und schließlich kann ein Teil der oberen ausgewählt werden, z. B. die erste Hälfte. Mit diesem Verfahren gibt es keinen Bedarf, a priori zu entscheiden, welche Noten-Schwelle zum Aufteilen zwischen schlechten und guten Schlüsselwörtern relevant ist.
  • Das am Ende dieses Verfahrens erhaltene Wörterbuch kann als ein Wörterbuch von Schlüsselwörtern zum Indizieren von Texten der Datenbank verwendet werden. Man kann als Schlüsselwörter auch nur einen Teil des Wörterbuchs verwenden, z. B.
    • – Einträge, die während des Verfahrens zu dem Wörterbuch hinzugefügt wurden; und/oder
    • – Originaleinträge, die eine Anzahl von Vorkommen über einem vorgegebenen Wert aufweisen.
  • Das oben diskutierte Verfahren kann angepasst werden. In einem Ausführungsbeispiel ist eine "Anzeige"-Form für die Schlüsselwörter definiert. Eines der oben angegebenen Beispiele war "Eric's Auto" und das "Auto von Eric"; es wurde erklärt, dass diese Ausdrücke das gleiche Schlüsselwort bereitstellen könnten, vorausgesetzt, ein gegebener Satz von Regeln wurde ausgewählt; das Schlüsselwort könnte aus den Lemmas der zwei Wörter (falls überhaupt) gebildet werden, oder kann für den Benutzer kaum verständlich sein. In so einem Fall kann man eine Anzeigeform definieren: die Anzeigeform eines Schlüsselworts, das zum Anzeigen des Schlüsselworts für den Benutzer verwendet wird, so das er mit einem einfach zu verstehenden Ausdruck konfrontiert wird. Die Anzeigeform eines Schlüsselworts kann z. B. als der Ausdruck oder die Textform ausgebildet werden, die die häufigste unter allen Ausdrücken oder Textformen ist, die in das gleiche Schlüsselwort abstrahiert sind.
  • In dem Beispiel, das mit Bezugnahme zu den 3 bis 5 diskutiert wurde, verwendet man eine Text-Datenbank als Basis für das Wörterbuch; zusätzlich oder alternativ zu so einer Text-Datenbank, kann man ein Protokoll von Anfragen, die von Benutzern eines Systems eingegeben wurden, verwenden. Man könnte auch von der Datenbank von Sequenzen von Wörtern mit begrenzter Länge starten, die aus einer Text-Datenbank extrahiert wurden. Das würde einen Satz von Schlüsselwörtern bereitstellen, die die Interessen der Benutzer eines Systems verkörpern. Ein Beispiel ist das folgende: für ein gegebenes Schlüsselwort wird die Häufigkeit in der Text-Datenbank mit der Häufigkeit in dem Protokoll von Anfragen verglichen. Gemäß den Ergebnissen dieses Vergleichs, werden die Schlüsselwörter eingestuft, bevor sie dem Benutzer angezeigt werden. Das hilft, die Anfragen zu berücksichtigen, die von den Benutzern gebildet werden, anstatt einfach die Text-Datenbank zu berücksichtigen. Man könnte auch von einer Datenbank von Sequenzen von Wörtern mit begrenzter Länge starten, die aus Texten extrahiert wurden, z. B. wie oben mit Bezug zu dem Aufbau der Sequenzen diskutiert. In diesem Fall ist die Sammlung von Sequenzen mit der Text-Datenbank identisch.
  • In dem Flussdiagramm der 3 bis 5 und in dem unmittelbar oben gegebenen Beispiel wurden die einfachsten Regeln berücksichtigt; speziell
    • – Einträge in dem Wörterbuch sind aus Wörtern gebildet;
    • – Sequenzen sind aus einer bestimmten Anzahl von Wörtern in der Reihenfolge gebildet, in der sie in den Texten der Datenbank gefunden werden;
    • – eine Verkettung ist aus benachbarten Worten einer Sequenz gebildet.
  • Diese Regeln können sich ändern.
  • Zuerst können, wie oben kurz erwähnt, Einträge in dem Wörterbuch Lemmas anstatt Wörter aufweisen; allgemeiner, jedes lexikalische Element der Datenbank kann berücksichtigt werden. Daher ist das Verfahren nicht auf Wörter oder Lemmas begrenzt, sondern bezieht sich auf jeden lexikalischen Elementtyp, der aus der Datenbank ausgewählt wird. Man könnte zum Beispiel den Satz, der aus einem Wort oder Lemma gebildet ist, zusammen mit einem Attribut dieses Worts oder Lemmas in dem Satz, wo es gefunden wurde, als lexikalischen Eintrag berücksichtigen. Das würde es möglich machen, zwischen den verschiedenen möglichen Verwendungen des gleichen Lemmas als Hauptwort, Verb, Adverb, usw. zu unterscheiden. Solche Attribute können aufgrund von Verfahren erhalten werden, die bereits bekannt sind, wie z. B. morpho-syntaktische Kennzeichen (morpho-syntactic taggers).
  • Zweitens, das Wörterbuch in dem oben angegebenen Beispiel ist mit allen Wörtern bevölkert, die in der Datenbank vorhanden sind; einige dieser Wörter können ignoriert werden. Das läuft auf das Filtern der lexikalischen Elemente zu dem Zeitpunkt hinaus, wenn das Wörterbuch bevölkert wird. Z. B. kann man entscheiden
    • – alle Wörter, die keine spezifische Bedeutung haben, wie z. B. Artikel, zu ignorieren;
    • – alle Wörter mit einer Anzahl von Vorkommen unterhalb/oberhalb eines vorgegebenen Wertes zu ignorieren, wobei dieser Wert ein Absolutwert oder ein relativer Wert ist. Man kann auch entscheiden, nur einen Teil der Datenbank zum Bevölkern des Wörterbuchs zu verwenden, z. B. wenn ein spezifischer Teil der Datenbank als Verkörperung für die komplette Datenbank berücksichtigt wird. Das würde die Anzahl von lexikalischen Elementen ansehnlich verkleinern und die Berechnungen, die zum Ausführen des Verfahrens nötig sind, reduzieren. Das ist gleichbedeutend zum Filtern oder Auswählen von lexikalischen Elementen zum Gebrauch in dem Wörterbuch.
  • Drittens, die sequenzbildende Regel kann sich ändern und kann von dem Beispiel, das mit Bezug zu 3 bis 5 angegeben ist, verschieden sein; in diesem Beispiel ist eine "Sequenz" aus Elementen gebildet, die in einem Text der Datenbank benachbart sind. Z. B. kann in einem anderen Ausführungsbeispiel die Reihenfolge der Wörter irrelevant sein: in diesem Fall ist eine Sequenz ein Satz von Wörtern, der, in irgendeiner Reihenfolge, in einem Eintrag der Datenbank gefunden werden kann. Das kann beachtenswert von Interesse sein, falls die Reihenfolge von Wörtern (oder Lemmas) in der Sprache der Texte der Datenbank nicht relevant ist. Z. B. würde dies erlauben "Eric's Auto" und "das Auto von Eric" als gleiche Sequenz zu behandeln – vorausgesetzt, das Wörter wie z. B. Artikel nicht berücksichtigt werden. In diesem Ausführungsbeispiel entspricht die "Sequenz" nicht der üblichen Bedeutung einer Sequenz. Wie oben kurz diskutiert, kann die Anzahl von lexikalischen Elementen in einer "Sequenz" auch variieren.
  • Viertens, kann die Regel, die zum Bilden von Sequenzen angewendet wird, von der einen, die in dem Beispiel von 3 berücksichtigt ist, verschieden sein. In der einfachsten Variation kann die Reihenfolge der Ausschneidungen irrelevant sein; in einer anderen Variation können Verkettungen aus Ausschneidungen gebildet sein, die nicht notwendigerweise benachbart sind; beide Variationen können kombiniert sein.
  • Es sollte auch klar sein, dass die verschiedenen oben diskutierten Regeln unabhängig voneinander variieren können; z. B. kann die Wahl der Einträge in das Wörterbuch unabhängig von der Regel zum Sequenz-Bilden ausgewählt werden. Der momentan bevorzugte Satz von Regeln ist der eine, der mit Bezugnahme zu den 3 bis 5 diskutiert wurde: Bevölkern des Wörterbuchs mit allen Wörtern, Aufbauen von Sequenzen aus benachbarten Wörtern in der Reihenfolge, die sie in den Texten haben, und Bilden von Verkettungen mit benachbarten Wörtern.
  • Die Auswahl von Regeln macht es möglich, das Verfahren an die linguistischen Regeln der Sprache der Einträge der Datenbank anzupassen; man kann jedoch auch einen Satz von Regeln und Formeln auswählen – wie z. B. den einen, der oben mit Bezugnahme zu den 3 bis 5 offenbart ist – die es erlauben, Texte in verschiedenen Sprachen zu verarbeiten.
  • Das Verfahren ist nicht auf die oben gemachte Beschreibung beschränkt, und es kann an Rechnermittel angepasst werden, die verwendet werden, um es auszuführen. Andere Wege zum Bevölkern von Wörterbüchern und Sammlungen von Datenbanken können verwendet werden. In dem oben gegebenen Beispiel ist NWi einfach die Anzahl von Vorkommen des Elements Wi; diese Anzahl stellt sich als einfach zu berechnen und zu speichern heraus; man auch das Verhältnis der Anzahl von Vorkommen des Elements zu der Gesamtanzahl von Vorkommen speichern, falls sich dieses zur weiteren Berechnung der Preise als geeignet herausstellt. Man könnte auch die Preise selbst in dem Wörterbuch speichern – obwohl sich das als weniger praktikabel herausstellen könnte. Man könnte auch die Anzahl von Vorkommen genauso wie die Preise speichern – wobei beide Verkörperungen der gleichen Information sind; die Tatsache das die Funktion streng fallend ist, macht es bi-univokal für positive Zahlen.
  • In dem dritten Teil des Verfahrens kann die Verkettung am Ende des Verfahrens als neue Einträge in das Wörterbuch hinzugefügt sein; das unterscheidet sich von dem Ausführungsbeispiel, das in 3 offenbart ist, worin Verkettungen einzeln hinzugefügt werden. Die Vorkommen in dem Wörterbuch können normalisiert sein oder nicht. In dem Beispiel von 3, ist jede Sequenz in der Sammlung von Sequenzen mit einer Nummer verbunden, die ihre Häufigkeit in der Datenbank verkörpert; das macht es möglich, die Anzahl von Vorkommen einer Verkettung zu berechnen, ohne die Datenbank durchsuchen zu müssen; falls ein anderes Mittel zum Berechnen der Anzahl von Vorkommen oder der Häufigkeit einer Verkettung vorgesehen ist, dann kann die Berechnung der Anzahl für jede Sequenz darauf verzichten.
  • Zusätzlich könnte das oben mit Bezugnahme zu 3 und 4 diskutierte Flussdiagramm verbessert werden. Z. B. könnten die Schritte 28 bis 36 aus 4 nach Schritt 22 und vor Schritt 24 für eine gegebene Sequenz ausgeführt werden. Das bedeutet einfach, dass die Verkettungen für eine Sequenz berechnet werden, unmittelbar nachdem die Ausschneidung mit dem niedrigsten Preis identifiziert ist.
  • In dem Flussdiagramm von 5, könnte man in Schritt 50 einfach die Verkettung speichern; jede Verkettung oder ein Teil davon könnte dann in einer späteren Stufe zu dem Wörterbuch hinzugefügt werden. Das stellt sich als vorteilhaft insoweit heraus, als es das Auswählen von einigen der vorgeschlagenen neuen Einträge erlaubt – z. B. nur der relevantesten. Zusätzlich ist in dem Flussdiagramm von 5 die zweite Formel eine Näherung; die Gültigkeit dieser Näherung ist in dem Flussdiagramm von 5 nicht geprüft – es wird angenommen, dass die Näherung nahe genug an der ursprünglichen entropischen Funktion ist, so dass die globalen Merkmale des Wörterbuchs gewahrt sind (erste und zweite Bedingungen, die oben angegeben sind). Es ist auch möglich, nachträglich sicher zu stellen, dass diese Eigenschaften gewahrt sind. Man kann z. B. neue Einträge zu dem Wörterbuch hinzufügen und dann die Preise für alle Einträge des Wörterbuchs wieder berechnen. Das kann sich als vorteilhaft herausstellen, falls die zweite Formel eine grobe Näherung der ersten Formel ist; das kann sich auch als vorteilhaft herausstellen, falls die Anzahl von Iterationen in dem Verfahren groß ist. In beiden Fällen, können die praktischen Grenzen der Annäherung erreicht werden.
  • Zuletzt, das Verfahren wurde in seinem bevorzugten Ausführungsbeispiel zum Extrahieren von Schlüsselwörtern zum Durchsuchen der Datenbank diskutiert. Man kann die Schlüsselwörter für andere Zwecke, z. B. Abstrahieren von Dokumenten, Zusammenfassen von Dokumenten, semantischem Indizieren oder einer Sprachanalyse der natürlichen Sprache verwenden.

Claims (18)

  1. Verfahren zum Extrahieren von Stichwörtern aus einer Datenbank mit Texten, der die Schritte aufweist: a) Bereitstellen (6) eines Wörterbuches mit lexikalischen Elementen Wi aus Texten der Datenbank, wobei ein Element in dem Wörterbuch mit einer Zahl NWi verbunden ist, die seine Häufigkeit in den Texten verkörpert; b) Bereitstellen (6) einer Sammlung von Sequenzen Sj von lexikalischen Elementen von Texten der Datenbank; c) Segmentieren (8) jeder Sequenz in Elemente des Wörterbuchs; d) Bereitstellen (28) einer Sammlung von Verkettungen Ck der Elemente der segmentierten Sequenzen; wobei eine Verkettung in der Sammlung mit einer Anzahl NCk verbunden ist, die seine Häufigkeit in der Text-Datenbank verkörpert; e) basierend auf der Anzahl NCk, die mit einer Verkettung Ck der Sammlung von Verkettungen verbunden ist, und auf den Anzahlen NWi, die in dem Wörterbuch mit den Elementen verbunden sind, die die Verkettungen bilden, Berechnen (46) der Variation der Summe der Preise aller Elemente des Wörterbuchs, falls die Verkettungen dem Wörterbuch hinzugefügt wurden, wobei der Preis eines Elements als eine abnehmende und entropische Funktion der Anzahl berechnet wird, die mit dem Element verbunden ist, und f) Hinzufügen (50) der Verkettung zu dem Wörterbuch gemäß den Ergebnissen der Berechnung.
  2. Verfahren gemäß Anspruch 1, ferner aufweisend: g) Wiederholen der Schritte c), d) und e).
  3. Verfahren gemäß den Ansprüchen 1 oder 2, wobei die lexikalischen Elemente wenigstens eines aus Wörtern, Lemmas, Sätzen, die aus einem Wort gebildet sind und ein Attribut davon, Sätze, die aus einem Lemma gebildet sind und einem Attribut davon, aufweisen.
  4. Verfahren gemäß den Ansprüchen 1, 2 oder 3, wobei der Schritt des Bereitstellens eines Wörterbuches, das Auswählen lexikalischer Elemente unter allen lexikalischen Elementen von Texten der Datenbank aufweist, wobei der Schritt des Auswählens den Schritt des Ignorierens aller lexikalischer Element, die keine spezifische Bedeutung haben und aller lexikalischen Elementen mit einer Anzahl von Vorkommen unter oder über einem vorgegebenen Wert aufweist.
  5. Verfahren gemäß einem der Ansprüche 1 bis 4, wobei eine Sequenz ein geordneter Satz von lexikalischen Elementen ist.
  6. Verfahren gemäß einem der Ansprüche 1 bis 5, wobei eine Sequenz ein Satz von lexikalischen Elementen ist, die in einem Text der Datenbank benachbart sind.
  7. Verfahren gemäß einem der Ansprüche 1 bis 6, wobei der Schritt des Bereitstellens einer Sammlung von Sequenzen, das Extrahieren von Sequenzen mit einer Länge, die kleiner als eine vorgegebene Länge Lmax ist, aus Texten der Datenbank aufweist.
  8. Verfahren gemäß einem der Ansprüche 1 bis 7, wobei eine Verkettung ein Satz von Elementen des Wörterbuches ist, die in einer segmentierten Sequenz benachbart sind.
  9. Verfahren gemäß einem der Ansprüche 1 bis 7, wobei eine Verkettung ein geordneter Satz von Elementen des Wörterbuches ist, die in einer segmentierten Sequenz vorhanden ist.
  10. Verfahren gemäß einem der Ansprüche 1 bis 9, wobei der Schritt des Segmentierens jeder Sequenz aufweist: e1) Bestimmen (8) aller möglichen Segmentationen einer Sequenz in Elemente des Wörterbuchs, und e2) Auswählen (22) einer der möglichen Segmentationen.
  11. Verfahren gemäß Anspruch 10, wobei der Schritt des Auswählens aufweist: e21) Berechnen (18) der Summe der Preise, die mit den Elementen des Wörterbuchs verbunden sind, für jede mögliche Segmentation; e22) Auswählen (22) der Segmentation mit der kleinsten Summe.
  12. Verfahren gemäß einem der Ansprüche 1 bis 11, wobei eine Sequenz in der Sammlung mit einer Anzahl NSj verbunden ist, die ihre Häufigkeit in den Texten verkörpert, und wobei die Anzahl NCk, die die Häufigkeit einer Verkettung Ck verkörpert, als die Summe der Anzahlen NSj berechnet wird, die in der Sammlung von Sequenzen mit Sequenzen Sj verbunden sind, die die Verkettung Ck aufweisen.
  13. Verfahren gemäß einem der Ansprüche 1 bis 12, wobei der Schritt des Hinzufügens aufweist: f1) Berechnen (46, 48) der Variation der Summe der Preise aller Elemente des Wörterbuchs für eine Verkettung, falls die Verkettungen dem Wörterbuch hinzugefügt werden sollen; und f2) Hinzufügen (50) einer Verkettung zu dem Wörterbuch gemäß den Ergebnissen des Berechnens.
  14. Verfahren gemäß einem der Ansprüche 1 bis 13, wobei der Preis eines lexikalischen Elements Wi des Wörterbuchs berechnet werden, als –ln(NWi/NW),wobei NWi die Anzahl von Vorkommen des lexikalischen Elements in der Datenbank ist, und NW die Anzahl von Elementen in dem Wörterbuch ist.
  15. Verfahren gemäß Anspruch 14, wobei die Variation in Schritt (e) berechnet wird als g(x) = –NCk*ln(NCk/NW) – (NWk1 – NCk + 1)*ln((NWk1 – NCk + 1)/NW) – (NWk2 – NCk + 1)*ln((NWk2 – NCk + 1)/NW) – (–NWk1*ln(NWk1/NW) – NWk2*ln(NWk2/NW)),wobei NWk1 und NWk2 die Anzahlen sind, die jeweils mit den Elementen Wk1 bzw. Wk2, die die Verkettung Ck bilden, verbunden sind.
  16. Verfahren gemäß einem der Ansprüche 1 bis 15, wobei die Text-Datenbank ein Protokoll für Benutzeranfragen aufweist.
  17. Verfahren gemäß einem der Ansprüche 1 bis 16, ferner aufweisend den Schritt des h) Bereitstellens einer Anzeigeform des Eintrags für einen Eintrag des Wörterbuchs.
  18. Verfahren gemäß Anspruch 17, wobei die Anzeigeform für einen Eintrag des Wörterbuches die häufigste von allen Ausdrücken oder Textformen der Text-Datenbank ist, die mit dem Eintrag verbunden sind.
DE60106209T 2001-05-16 2001-05-16 Prozess zum Extrahieren von Schlüsselwörtern Expired - Lifetime DE60106209T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP01401273A EP1258815B1 (de) 2001-05-16 2001-05-16 Prozess zum Extrahieren von Schlüsselwörtern

Publications (2)

Publication Number Publication Date
DE60106209D1 DE60106209D1 (de) 2004-11-11
DE60106209T2 true DE60106209T2 (de) 2005-09-08

Family

ID=8182728

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60106209T Expired - Lifetime DE60106209T2 (de) 2001-05-16 2001-05-16 Prozess zum Extrahieren von Schlüsselwörtern

Country Status (3)

Country Link
EP (1) EP1258815B1 (de)
AT (1) ATE278989T1 (de)
DE (1) DE60106209T2 (de)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324726A (ja) * 1992-05-25 1993-12-07 Fujitsu Ltd 文書データ分類装置及び文書分類機能構築装置
US6173298B1 (en) * 1996-09-17 2001-01-09 Asap, Ltd. Method and apparatus for implementing a dynamic collocation dictionary
WO1999027469A1 (en) * 1997-11-24 1999-06-03 British Telecommunications Public Limited Company Information management and retrieval

Also Published As

Publication number Publication date
EP1258815B1 (de) 2004-10-06
DE60106209D1 (de) 2004-11-11
EP1258815A1 (de) 2002-11-20
ATE278989T1 (de) 2004-10-15

Similar Documents

Publication Publication Date Title
DE19952769B4 (de) Suchmaschine und Verfahren zum Abrufen von Informationen mit Abfragen in natürlicher Sprache
DE69834386T2 (de) Textverarbeitungsverfahren und rückholsystem und verfahren
DE69432575T2 (de) Dokumentenerkennungssystem mit verbesserter Wirksamkeit der Dokumentenerkennung
JP4944405B2 (ja) 情報検索システムにおけるフレーズに基づくインデックス化方法
JP5175005B2 (ja) 情報検索システムにおけるフレーズに基づく検索方法
DE69829074T2 (de) Identifizierung der sprache und des zeichensatzes aus text-repräsentierenden daten
JP4944406B2 (ja) フレーズに基づく文書説明の生成方法
DE69833238T2 (de) System zur Schlüsselwortgewinnung und Textwiederauffingungssystem zu seiner Verwendung
JP4976666B2 (ja) 情報検索システムにおけるフレーズ識別方法
DE60315506T2 (de) Identifizierung von kritischen merkmalen in einem geordneten skala-raum
DE102005051617B4 (de) Automatisches, computerbasiertes Ähnlichkeitsberechnungssystem zur Quantifizierung der Ähnlichkeit von Textausdrücken
DE3901485A1 (de) Dokumenten-wiedergewinnungssystem
DE102004003878A1 (de) System und Verfahren zum Identifizieren eines speziellen Wortgebrauchs in einem Dokument
DE10343228A1 (de) Verfahren und Systeme zum Organisieren elektronischer Dokumente
WO2006018041A1 (de) Sprach- und textanalysevorrichtung und entsprechendes verfahren
DE102006040208A1 (de) Patentbezogenes Suchverfahren und -system
DE10028624A1 (de) Verfahren und Vorrichtung zur Dokumentenbeschaffung
WO2010078859A1 (de) Verfahren und system zum ermitteln einer ähnlichkeit von dokumenten
DE112006001822T5 (de) Vorrichtung und Verfahren zum Erfassen eines gemeinschaftsspezifischen Ausdrucks
DE60106209T2 (de) Prozess zum Extrahieren von Schlüsselwörtern
EP1412875B1 (de) Verfahren zur verarbeitung von text in einer rechnereinheit und rechnereinheit
DE112021006602T5 (de) Verfeinern von abfrage-erzeugungsmustern
WO2011044865A1 (de) Verfahren zum bestimmen einer ähnlichkeit von objekten
EP1170678B1 (de) Verfahren und Vorrichtung zur automatischen Suche relevanter Bilddatensätze
DE102016125162A1 (de) Verfahren und Vorrichtung zum maschinellen Verarbeiten von Texten

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: EXALEAD, PARIS, FR

8364 No opposition during term of opposition