DE69934195T2 - Identifikation einer Wortgruppe durch modifizierte Schlüsselwörter, die aus Transformationen von aufeinanderfolgenden Suffixen erzeugt sind - Google Patents

Identifikation einer Wortgruppe durch modifizierte Schlüsselwörter, die aus Transformationen von aufeinanderfolgenden Suffixen erzeugt sind Download PDF

Info

Publication number
DE69934195T2
DE69934195T2 DE69934195T DE69934195T DE69934195T2 DE 69934195 T2 DE69934195 T2 DE 69934195T2 DE 69934195 T DE69934195 T DE 69934195T DE 69934195 T DE69934195 T DE 69934195T DE 69934195 T2 DE69934195 T2 DE 69934195T2
Authority
DE
Germany
Prior art keywords
suffix
word
query word
data
phrases
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
DE69934195T
Other languages
English (en)
Other versions
DE69934195D1 (de
Inventor
Eric Gaussier
Gregory Grefenstette
Jean-Pierre Chanod
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.)
Xerox Corp
Original Assignee
Xerox Corp
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 Xerox Corp filed Critical Xerox Corp
Publication of DE69934195D1 publication Critical patent/DE69934195D1/de
Application granted granted Critical
Publication of DE69934195T2 publication Critical patent/DE69934195T2/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/3332Query translation
    • G06F16/3338Query expansion
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (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 die Identifizierung einer aus einer Anzahl von Gruppen von Wörtern.
  • US-A-5,551,049 offenbart eine Technik, in welcher Information über eine aus einer Anzahl von Gruppen von Wörtern bestimmt wird, indem ein Kennzeichen eines empfangenen Wortes abgeglichen wird. Das Kennzeichen wird mit Wortkennzeichen verglichen, die in Folge gruppiert sind, um Synonymgruppen zu repräsentieren. Wenn eine Übereinstimmung gefunden ist, wird die Gruppe von Kennzeichen, die das passende Kennzeichen enthält, verwendet, um die Synonymgruppe zu erhalten, die das empfangene Wort enthält.
  • US-A-4,779,188 betrifft ein System zum Erkennen von Schreibfehlern bei Computer-Textverarbeitung. Um die notwendige Speicherkapazität zu minimieren, werden nur Wortstämme gespeichert. Von den gespeicherten Stämmen abgeleitete Wörter werden vom System trotzdem erkannt, wenn sie in der natürlichen Sprache existieren, und korrekt geschrieben sind. Um einen der gespeicherten Wortstämme zu identifizieren und einem Eingabewort zuzuordnen, ist nur eine Entfernung von Suffixen erforderlich. Das System schließt nicht die Fähigkeit ein, einen Suffix durch einen anderen zu ersetzen.
  • US-A-4,864,501 beschreibt ein System zum Kommentieren eines digital codierten Textes, welches ein Wörterbuch von Basisformen einschließt. Das System schließt einen grammatischen und morphologischen Textanalysator ein. Der Analysator klassifiziert im Text auftretende Wörter. Die Analyse umfasst eine detaillierte Untersuchung von Wortstämmen und Suffixvariationen. Dies kann auch den Schritt des sukzessiven Ersetzens eines Wortsuffix einschließen.
  • Es ist ein Nachteil des Zugangs von US-A-4,864,501, dass eine ziemlich komplizierte Datenstruktur erforderlich ist, und dass in Abhängigkeit von dem Suffix eines im Text auftretenden Wortes und gemäß der vom Analysator ausgeführten Klassifikation eine Mehrzahl von verschiedenen Verarbeitungsprozeduren angewandt werden müssen. Die Mehrzahl von verschiedenen Prozeduren, die generell eine Mehrzahl von Verarbeitungs schritten haben, ist deshalb zeitaufwändig. Darüber hinaus erfordert der Zugang von US-A-4,864,501 eine komplexe und anspruchsvolle Ausnahmebehandlung.
  • "Stemming Algorithms" von W.B. Frakes, in W.B. Frakes und R. Baeza-Yates, Hrsg., "Information Retrieval", Prentice Hall, 1992, Seiten 131–160, offenbart eine Taxonomie für Wortstammbildungsalgorithmen, die verschiedene automatische Zugänge einschließt. Affix-Entfernungsalgorithmen entfernen Suffixe und/oder Präfixe, um einen Stamm zu erhalten, wobei Tabellennachschlageverfahren das Aufsuchen in einer Tabelle ausführen, in welcher Ausdrücke und die dazugehörigen Stämme gespeichert sind. Affix-Entfernungsalgorithmen, wie etwa der Porter-Stammbildner, können, nach dem Entfernen von Zeichen gemäß einem Satz von Ersetzungsregeln, umcodieren, eine kontextsensitive Transformation, um Zeichen des Stammes zu wechseln.
  • "Stemming Algorithms: A Case Study for Detailed Evaluation" von D.A. Hull, Journal of American Society for Information Science, Band 47, Nr. 1, 1996, Seiten 70–84, offenbart eine lexikalische Datenbank, die Flexions- und Ableitungsmorphologie analysieren und erzeugen kann. Die Flexionsdatenbank reduziert jedes Oberflächenwort auf eine Wörterbuchform, während die Ableitungsdatenbank Oberflächenformen auf Stämme reduziert, die sich sowohl formal als auch semantisch auf das Original beziehen. Die Datenbanken werden unter Verwendung von Wandlern endlicher Zustände (finite state transducers – FSTs) konstruiert, was es dem Zusammenführungsprozess ermöglicht, in umgekehrter Richtung zu agieren, und alle denkbaren Oberflächenformen aus einer einzigen Basisform zu erzeugen.
  • Introduction to Modern Information Retrieval, von G. Salton und M.J. McGill, New York: McGraw-Hill, 1983, Seiten 75–87, offenbart Infonnationsbeschaffungstechniken, die einen Thesaurus benutzen. Ein Thesaurus kann z.B. in einer automatischen Indizierungsumgebung verwendet werden, und wenn ein Dokument einen Ausdruck, wie etwa "Supraleitung" oder (Stamm "Supraleit") enthält, kann dieser Ausdruck durch ein Klassenkennzeichen für eine Klasse von Wörtern mit verwandten Bedeutungen ersetzt werden. Der gleiche Vorgang kann für eine Benutzeranfrage, die ein Wort in der Klasse enthält, benutzt werden. Sollte das Dokument "Supraleitung" enthalten, während der Abfrageausdruck "kryogen" ist, so würde durch Thesaurus-Transformation eine Ausdrucksübereinstimmung resultieren. Anstelle einen ursprünglichen Ausdruck mit dem entsprechen den Klassenkennzeichen zu ersetzen, kann das Thesaurus-Klassenkennzeichen dem Originalausdruck hinzugefügt werden.
  • Die Erfindung spricht Grundprobleme an, die auftreten, wenn ein Wort, hier als "Abfragewort" bezeichnet, verwendet wird, um eine aus einer Anzahl von Gruppen von Wörtern zu identifizieren. Mit konventionellen Tabellennachschlagtechniken, FST-Techniken und anderen Techniken, die auf Abgleichen des Abfragewortes aufbauen, wird ein unbekanntes Abfragewort zu Misserfolg führen. Affix-Algorithmen, wie der Porter-Stammbildner, können den Stamm zu jedem Wort bilden, einschließlich eines unbekannten Abfragewortes, aber konventionelle Informationsbeschaffungstechniken, die auf Affix-Algorithmen basieren, stellen keine Rückfallstrategie zur Verfügung, wenn der zuerst erhaltene Stamm das unbekannte Wort nicht mit einem anderen Wort in Beziehung setzt.
  • Das in US-A-4,864,501 beschriebene Wortkommentierungssystem erfordert, obwohl es in der Lage ist Wörter zu identifizieren, die sich von einer Basisform, die in einem Wörterbuch ist, unterscheiden, eine anspruchsvolle morphologe und grammatikalische Textanalyse, die durch eine komplexe Datenstruktur und eine Vielzahl komplexer Verarbeitungsschritte widergespiegelt wird.
  • Es ist Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren und System zum Identifizieren einer Gruppe von Wörtern aus einem Abfragewort bereitzustellen, die eine verbesserte Verarbeitungsgeschwindigkeit ermöglichen.
  • Die Erfindung basiert auf der Entdeckung einer neuen Technik zum Benutzen eines Abfragewortes zum Identifizieren eines aus einer Anzahl von Wortgruppen. Die Technik bestimmt zuerst, ob das Abfragewort in einer der Wortgruppen ist. Wenn nicht, versucht die Technik, das Abfragewort gemäß aufeinander folgender Suffixbeziehungen in einer Folge zu modifizieren, bis es ein modifiziertes Abfragewort erhält, das in einer der Wortgruppen ist. Die neue Technik stellt effektiv zwei Stufen beim Aufsuchen einer Wortgruppe bereit – die erste Stufe kann durch schnelles Vergleichen eines Abfragewortes mit den Wörtern in den Gruppen implementiert werden, während die zweite Stufe langsamer ist, weil sie das Versuchen, modifizierte Abfrageworte gemäß Suffixbeziehungen zu erhalten, einschließt.
  • Die neue Technik wird mit einer geordneten Liste, die die Folge von Suffixbeziehungen wie z.B. paarweise Beziehungen, festlegt, implementiert. Es wird ein Versuch unternommen, das Abfragewort gemäß jeder Beziehung in der Liste zu modifizieren, bis ein modifiziertes Abfragewort erhalten wird, das in einer der Gruppen ist. Die Beziehungen in der Liste sind gemäß der Frequenz ihres Auftretens in einer natürlichen Sprache geordnet, und Modifikationen werden beginnend mit der Suffixbeziehung mit der höchsten Frequenz versucht. Vorzugsweise wird die geordnete Liste automatisch als Teil einer automatischen Technik zum Erzeugen der Wortgruppen erhalten.
  • Vorzugsweise wird die neue Technik implementiert, um Modifikationen des Abfragewortes iterativ zu versuchen, wobei jede Iteration versucht, das Abfragewort gemäß einer entsprechenden Suffixbeziehung zu modifizieren. Wenn eine Iteration ein modifiziertes Abfragewort erhält, bestimmt sie auch, ob das modifizierte Abfragewort in einer der Wortgruppen ist.
  • Wenn ein modifiziertes Abfragewort erhalten wird, das in einer der Wortgruppen ist, wird vorzugsweise Information, die die Wortgruppe identifiziert, bereitgestellt, wie etwa ein Repräsentant der Gruppe oder eine Liste von Wörtern in der Gruppe.
  • Die neue Technik wird in einem System implementiert, das ein Abfragewort und einen Prozessor, der bestimmt, ob das Abfragewort in einer der Wortgruppen ist, einschließt. Wenn nicht, versucht der Prozessor, das Abfragewort gemäß aufeinander folgenden Suffixbeziehungen in der in der geordneten Liste festgelegten Reihenfolge zu modifizieren, bis ein modifiziertes Abfragewort erhalten wird, das in einer der Wortgruppen ist. Das System schließt vorzugsweise gespeicherte Wortgruppen-Daten ein, die die Wortgruppen anzeigen, und die Wortgruppen-Daten sind vorzugsweise eine FST-Datenstruktur. Das System schließt vorzugsweise gespeicherte Suffixbeziehungs-Folgedaten ein, die die Folge der Suffixbeziehungen anzeigen.
  • Vorzugsweise wird die neue Technik in einem Erzeugnis zur Benutzung in einem System, das eine Zugriffseinrichtung für ein Speichermedium einschließt, implementiert. Das Erzeugnis schließt vorzugsweise ein Speichermedium und durch das Speichermedium gespeicherte Instruktionsdaten ein. Der Prozessor des Systems bestimmt beim Ausführen der durch die Instruktionsdaten angezeigten Instruktionen, ob das Abfragewort in einer der Wortgruppen ist. Wenn nicht, versucht der Prozessor, das Abfragewort gemäß aufeinander folgender Suffixbeziehungen in einer Folge zu modifizieren, bis ein modifiziertes Abfragewort erhalten wird, das in einer der Wortgruppen ist.
  • Vorzugsweise wird die neue Technik in einem Verfahren implementiert, in dem eine erste Maschine betrieben wird, um Daten zu einer zweiten über ein Netz zu übertragen, wobei die übertragenen Daten Instruktionsdaten, wie oben beschrieben, enthalten.
  • Die neue Technik ist vorteilhaft, weil sie eine robustere Wortgruppen-Identifikation erlaubt, als konventionelle Techniken. Im Vergleich mit konventionellen Wortanpassungstechniken ist die neue Technik vorteilhaft, weil sie die Benutzung eines unbekannten Wortes oder eines Wortes, das nicht exakt passt, erlaubt, was z.B. auftreten kann, wenn ein Benutzer ein Abfragewort bereitstellt, das in keiner der Wortgruppen ist. Im Vergleich mit konventionellen Affix-Entfernungstechniken, kann die neue Technik mit dem Erhalten modifizierter Abfrageworte fortfahren, bis sie eines findet, das in einer der Wortgruppen ist, so dass es nicht versagt, wenn das erste modifizierte Abfragewort nicht in einer der Wortgruppen ist.
  • Die neue Technik ist auch vorteilhaft, weil sie eine vollautomatische Implementierung erlaubt. Eine vollautomatische Implementierung erhält automatisch eine geordnete Liste von Suffixbeziehungen beim automatischen Erzeugen einer Wortgruppen-Datenstruktur.
  • Die folgende Beschreibung, die Zeichnungen und die Ansprüche legen diese und andere Aspekte, Ziele, Merkmale und Vorteile der Erfindung weiter dar.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein schematisches Flussdiagramm, welches zeigt, wie ein Abfragewort benutzt werden kann, um eine Wortgruppe zu identifizieren, indem versucht wird, modifizierte Abfrageworte gemäß aufeinander folgender Suffixbeziehungen in einer Folge zu erhalten.
  • 2 ist ein Ablaufdiagramm, das allgemeine Aktionen beim Identifizieren einer Wortgruppe durch Versuchen, modifizierte Abfragewörter zu erhalten, darstellt.
  • 3 ist eine schematische Darstellung, die Komponenten eines Systems, das die allgemeinen Aktionen von 2 ausführen kann, zeigt.
  • 4 ist eine schematische Darstellung eines Systems, in dem die allgemeinen Aktionen von 2 implementiert sind.
  • 5 ist ein Ablaufdiagramm, das zeigt, wie das System von 4 die Aktionen in 2 implementiert.
  • 6 ist ein Ablaufdiagramm, das zusätzliche Details darstellt, wie in 5 eine Iteration ausgeführt wird.
  • 7 ist ein Ablaufdiagramm, das darstellt, wie das System von 4 Suffix-Paardaten erhält.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • A. Konzeptioneller Rahmen
  • Der folgende konzeptionelle Rahmen ist hilfreich zum Verständnis des breiten Umfangs der Erfindung, und die unten definierten Termini haben die angegebenen Bedeutungen in der gesamten Anmeldung, einschließlich der Patentansprüche.
  • Der Ausdruck "Daten" bezieht sich hier auf physikalische Signale, die Information anzeigen oder einschließen. Wenn ein Datenobjekt eine aus einer Anzahl möglicher Alternativen anzeigen kann, so hat das Datenobjekt einen einer Anzahl von "Werten". Zum Beispiel hat ein binäres Datenobjekt, auch als "Bit" bezeichnet, einen von zwei Werten, die austauschbar bezeichnet werden als "1" und "0" oder "EIN" und "AUS" oder "hoch" und "niedrig".
  • Der Ausdruck "Daten" schließt Daten, die in jeder physikalischen Form existieren ein, und schließt Daten ein, die sich in einem Übergangszustand befinden oder die gerade gespeichert oder übertragen werden. Zum Beispiel können Daten als elektromagnetische oder andere übertragene Signale existieren, oder als Signale, die in elektronischer, magnetischer oder anderer Form gespeichert sind.
  • "Schaltung" oder ein "Schaltkreis" ist jede physikalische Anordnung von Materie, die auf ein erstes Signal an einem Ort oder zu einer Zeit reagieren kann, indem ein zweites Signal an einem anderen Ort oder zu einer anderen Zeit bereitgestellt wird. Eine Schaltung "speichert" ein erstes Signal, wenn sie das erste Signal zu einer Zeit empfängt und, als Antwort, im Wesentlichen dasselbe Signal zu einer anderen Zeit bereitstellt. Eine Schaltung "überträgt" ein erstes Signal, wenn sie das erste Signal an einem ersten Ort empfängt, und als Antwort im Wesentlichen das gleiche Signal an einem zweiten Ort bereitstellt.
  • Ein "Datenspeichermedium" oder "Speichermedium" ist ein physikalisches Medium, das Daten speichern kann. Beispiele von Datenspeichermedien schließen magnetische Medien, wie etwa Disketten und Band, optische Medien, wie etwa Laserdisks und CD-ROMs, und Halbleitermedien, wie etwa Halbleiter-ROMs und RAMs, ein. Wie hier benutzt, umfasst "Speichermedium" einen oder mehrere getrennte Einheiten eines Mediums, die zusammen einen Datenkörper speichern. Zum Beispiel wäre ein Satz von Disketten, die einen einzigen Datenkörper speichern, zusammen ein Speichermedium.
  • Ein "Speichermedium-Zugriffsgerät" ist ein Gerät, welches eine Schaltung einschließt, die auf Daten auf einem Datenspeichermedium zugreifen kann. Beispiele schließen Laufwerke zum Zugriff auf magnetische und optische Datenspeichermedien ein.
  • "Speicherschaltkreis" oder "Speicher" ist jede Schaltung, die Daten speichern kann, und kann lokale und entfernte Speicher- und Eingabe-/Ausgabegeräte einschließen. Beispiele schließen Halbleiter-ROMs, RAMs, und Speichermedien-Zugriffsgeräte mit Datenspeichermedien, auf die sie zugreifen können, ein.
  • Ein "Datenprozessor" oder "Prozessor" ist jede Komponente oder jedes System, die Daten verarbeiten können, und kann einen oder mehrere zentrale Verarbeitungseinheiten oder andere Verarbeitungskomponenten einschließen.
  • Ein Prozessor führt einen Betriebsvorgang oder eine Funktion "automatisch" aus, wenn er den Betriebsvorgang oder die Funktion unabhängig von gleichzeitiger menschlicher Einflussnahme oder Steuerung ausführt.
  • Jegliche zwei Komponenten sind "verbunden", wenn es eine Kombination von Schaltungen gibt, die Signale von einer der Komponenten zur anderen übertragen kann. Zum Beispiel sind zwei Komponenten "verbunden" durch jede Kombination von Verbindungen zwischen ihnen, die Übertragung von Signalen von einer der Komponenten zur anderen erlaubt.
  • Ein "Netz" ist eine Kombination von Schaltungen, durch die eine Verbindung zur Datenübertragung zwischen Maschinen eingerichtet werden kann. Ein Betriebsvorgang "richtet eine Beziehung über" ein Netz "ein", wenn die Verbindung nicht existiert, bevor der Betriebsvorgang beginnt, und der Betriebsvorgang dazu führt, dass die Verbindung existiert.
  • Ein Prozessor "greift" auf ein Datenobjekt in einem Speicher "zu" durch jeden Betriebsvorgang, der das Objekt oder Information innerhalb des Objekts erlangt oder modifiziert, wie z.B. durch Lesen oder Schreiben einer Speicherposition, die das Objekt einschließt. Ein Prozessor kann "zum Zugreifen auf' ein Datenobjekt "verbunden" sein durch jede Kombination von Verbindungen mit lokalen oder entfernten Speicher- oder Eingabe/Ausgabegeräten, die es dem Prozessor gestatten, auf das Objekt zuzugreifen.
  • Ein Prozessor oder eine andere Schaltungskomponente "benutzt" oder "verwendet" ein Datenobjekt bei der Ausführung eines Betriebsvorgangs, wenn das Ergebnis des Betriebsvorgangs vom Wert des Objekts abhängt.
  • Eine "Instruktion" ist ein Datenobjekt, den ein Prozessor benutzen kann, um seinen eigenen Betrieb zu bestimmen. Ein "Prozessor" führt einen Satz von Instruktionen aus, wenn er die Instruktionen verwendet, um seine Betriebsvorgänge zu bestimmen.
  • Ein Prozessor greift auf ein erstes Datenobjekt "mit" einem zweiten Datenobjekt zu, wenn der Prozessor das zweite Datenobjekt beim Zugreifen auf das erste verwendet, wie z.B. durch Verwenden des zweiten Objekts, um eine Position des ersten Datenobjekts zu erhalten, oder um Information von innerhalb des ersten Datenobjekts zu erhalten.
  • Ein Datenobjekt "erhalten" oder "erzeugen" ist jede Kombination von Betriebsvorgängen auszuführen, die ohne das Datenobjekt beginnt, und das Datenobjekt zum Ergebnis hat.
  • Das erste Datenobjekt "basierend auf' einem zweiten Datenobjekt zu erhalten heißt, das zweite Objekt zu benutzen, um das erste Objekt zu erhalten.
  • Ein Datenobjekt "zeigt" ein Ding, Ereignis oder Eigenschaftsmerkmal "an", wenn das Objekt einen Wert hat, der von der Existenz oder dem Auftreten des Dinges, des Ereignisses oder des Eigenschaftsmerkmals abhängt durch Einwirken auf das Datenobjekt erhalten werden kann. Ein Datenobjekt "zeigt" einen anderen Wert "an", wenn der Wert des Objekts gleich dem oder abhängig von dem anderen Wert ist.
  • Ein Betriebsvorgang oder Ereignis "überträgt" ein Datenobjekt von einer ersten Komponente zu einer zweiten, wenn das Resultat des Betriebsvorgangs oder Ereignis ist, dass ein Datenobjekt in der zweiten Komponente derselbe wie ein Datenobjekt ist, der in der ersten Komponente vor dem Betriebsvorgang oder Ereignis war. Die erste Komponente "stellt" die Daten "bereit" und die zweite Komponente "empfängt" oder "erhält" die Daten.
  • Eine "natürliche Sprache" ist ein identifiziertes System von Symbolen, die zum menschlichen Ausdruck und zur Kommunikation innerhalb einer Gemeinschaft, wie etwa ein Land, eine Region oder Örtlichkeit oder ethnische oder Berufsgruppe, in einem Zeitraum, verwendet wird. Einige natürliche Sprachen haben ein Standardsystem, welches als korrekt betrachtet wird, aber der Ausdruck "natürliche Sprache" wie hier benutzt, kann auch auf einen Dialekt, Jargon, Slang, eine Mundart, Umgangssprache oder Fachsprache angewendet werden, wenn diese als unterscheidbar identifiziert werden können, durch Unterschiede, etwa in Aussprache, Grammatik oder Vokabular.
  • Ein "Satz natürlicher Sprachen" ist eine Menge von einer oder mehreren natürlichen Sprachen.
  • "Zeichen" bedeutet ein diskretes Element, das in einer geschriebenen, gedruckten oder phonetisch transkribierten Form einer natürlichen Sprache auftritt. Zeichen in der heutigen englischen Sprache können somit nicht nur alphabetische und numerische Elemente einschließen, sondern auch Interpunktionszeichen, diakritische Zeichen, mathematische und logische Symbole und andere Elemente, die im geschriebenen, gedruckten oder phonetisch transkribierten Englisch verwendet werden. Allgemeiner können Zeichen, zusätzlich zu alphanumerischen Elementen, phonetische, ideografische oder Piktogrammelemente enthalten.
  • Ein 'Wort" ist eine Kette aus einem oder mehreren Elementen, wobei jedes ein Zeichen oder eine Kombination von Zeichen ist, wobei die Kette in wenigstens einer natürlichen Sprache als eine semantische Einheit behandelt wird. Ein Wort "tritt" in jeder Sprache "auf', in der es als eine semantische Einheit behandelt wird.
  • Ein "Präfix" ist eine Teilkette von Zeichen, die am Beginn eines Wortes auftritt, und ein "Suffix" ist eine Teilkette von Zeichen, die am Ende eines Wortes auftritt.
  • Ein Suffix "folgt" einer Teilkette in einem Wort und die Teilkette "geht" dem Suffix "voran", wenn das letzte Zeichen der Teilkette unmittelbar den ersten Zeichen des Suffix vorangeht.
  • Eine "Beziehung" zwischen Suffixen bezeichnet das Auftreten einer Menge von Wörtern in einem Satz natürlicher Sprachen, die verwandt sind, aber verschiedene Suffixe haben, die somit "verwandte Suffixe" sind. Eine "paarweise Beziehung" ist eine Beziehung zwischen zwei Suffixen. Eine Beziehung zwischen Suffixen "tritt auf', wenn ein Satz natürlicher Sprachen eine Menge verwandter Wörter einschließt, bei denen jedes einen der Suffixe hat. Wenn für jeden Suffix auch eine Wortart angegeben ist, "tritt" die Beziehung nur "auf', wenn das verwandte Wort, das den Suffix hat, auch die angegebene Wortart hat.
  • Teilketten, die verwandten Suffixen in einer Menge verschiedener Wörter vorangehen, sind "äquivalent", wenn die Wörter alle aufgrund einer Beziehung zwischen den Teilketten verwandt sind. Zum Beispiel ist es üblich, während Flexionsänderungen kleinere grafische Änderungen in einer Teilkette, die einem Suffix vorangeht, durchzuführen, wie etwa durch Hinzufügen oder Streichen eines diakritischen Zeichens oder Wechseln eines Zeichens in anderer Weise, um einen Betonungswechsel anzuzeigen, oder durch Wechsel zwischen einem einzelnen Zeichen und einem verdoppelten Zeichen. Teilketten, die Suffixen vorangehen, können auch äquivalent sein, weil sie phonetische Alternativen sind, aufgrund einer historischen Beziehung durch die die eine sich aus der anderen entwickelt hat, oder beide sich aus einem gemeinsamen Vorgänger entwickelt haben, weil sie in zwei verschiedenen Sprachen verwandt sind, oder aufgrund jedweder von verschiedenartigen anderen Beziehungen.
  • Die "Frequenz des Auftretens" einer Suffixbeziehung in einer Menge von Wörtern, wie z.B. einer natürlichen Sprache, ist die Anzahl von verschiedenen Teilmengen von Wörtern in der Menge, die durch die Suffixbeziehung verwandt sind.
  • Eine Menge von Suffixen "setzt" eine Menge von Wörtern "in Beziehung", wenn jedes der Wörter aus einem anderen in der Menge durch einen Prozess erhalten werden kann, der das Entfernen eines der Suffixe und das Hinzufügen eines anderen der Suffixe einschließt. Der Prozess kann auch andere Modifikationen einschließen, wie etwa an einer Teilkette, die dem Suffix vorangeht, oder an einem Präfix, der der Teilkette vorangeht, aber wenn es keine solcher anderen Modifikationen gibt "tritt" ein Präfix, der die Teilkette einschließt, mit jedem der Suffixe in der Menge "auf', um die Menge verwandter Wörter zu bilden.
  • Eine Menge von Wörtern, die alle denselben Suffix haben, sind "äquivalent", wenn die Teilketten, die dem Suffix in allen Wörtern vorangehen, äquivalent sind. Jedes Wort in der Menge ist "ein Äquivalent", jedes anderen Wortes in der Menge.
  • Ein "Repräsentant" einer Gruppe ist ein Datenobjekt, der für die Gruppe einzigartig ist, so dass er verwendet werden kann, um die Gruppe zu repräsentieren. Ein Repräsentant kann einer der Mitglieder einer Gruppe von Datenobjekten sein, oder ein datenobjekt sein, das auf andere Weise erhalten wurde.
  • Wenn eine Gruppe von Wörtern alle äquivalente Teilketten haben, die verwandten Suffixen vorangehen, kann ein Repräsentant der Gruppe eine "normalisierte Form" sein, die durch "Normalisieren" eines Wortes in der Gruppe erhalten werden kann. Normalisieren eines Wortes kann Bearbeitungsvorgänge, wie etwa Entfernen von Suffixen und Ausführen geeigneter Modifikationen in der Teilkette, die dem Suffix vorangeht, einschließen. Abhängig davon, wie Normalisierung ausgeführt wird, kann die normalisierte Form einer Gruppe von Wörtern eine Wörterbuchform, ein Stamm oder eine andere Version der Teilkette, die dem Suffix eines Wortes in der Gruppe vorangeht, sein. Sobald die normalisierten Formen von Wörtern bekannt sind, kann natürlich eine geeignete Datenstruktur erzeugt werden, um die normalisierte Form eines Wortes als Reaktion auf das Wort bereitzustellen. Weil Normalisierung die Wörterbuchform eines Wortes erzeugen kann, wird die normalisierte Form mitunter als "Lemma" bezeichnet. Aber Normalisierung kann auch an einem Lemma ausgeführt werden, um eine normalisierte Form zu erhalten.
  • Ein Wort ist "in" einer Gruppe von Wörtern, wenn das Wort selbst, ein Äquivalent des Wortes, oder eine normalisierte Form des Wortes in der Gruppe ist.
  • Ein Arbeitsvorgang "identifiziert" eine Wortgruppe, wenn der Arbeitsvorgang Information erhält, die für die Wortgruppe einzigartig ist, wie etwa einen Repräsentanten oder ein anderes einzigartiges Kennzeichen einer Gruppe oder einer Liste von Wörtern in der Gruppe.
  • Ein "Abfragewort" ist einfach ein Wort, das in einem Arbeitsvorgang verwendet wird, der eine Gruppe von Wörtern identifiziert. Ein "modifiziertes Abfragewort" ist ein Wort, das durch Modifizieren eines Abfragewortes erhalten wird.
  • Ein Abfragewort "gemäß einer Suffixbeziehung" zu modifizieren, heißt, einen Suffix in der Beziehung vom Abfragewort zu entfernen, und ihn durch einen anderen zu ersetzen, möglicherweise auch die Teilkette, die dem Suffix vorangeht, zu wechseln. Zu "versuchen" ein Abfragewort zu modifizieren, heißt, einen Arbeitsvorgang auszuführen, der, wenn erfolgreich, das Abfragewort modifiziert. Zum Beispiel könnte ein Versuch, ein Abfragewort gemäß einer paarweisen Beziehung zu modifizieren einschließen, die paarweise Beziehung "in beiden Richtungen" zu verfolgen, versuchen, es gegen beide Suffixe in der Beziehung abzugleichen, und, wenn einer passt, ihn vom Abfragewort zu entfernen, und durch das andere zu ersetzen.
  • Ein Wandler endlicher Zustände (finite state transducer – FST) ist ein Datenverarbeitungssystem, das eine endliche Anzahl von Zuständen und Übergängen (oder Verbindungsbögen) hat, wobei jeder Übergang in einem Zustand beginnt und zu einem Zustand führt, und wobei jeder Übergang zugeordnete Werte auf mehr als einem Niveau hat. Im Ergebnis kann ein FST auf ein eingegebenes Signal antworten, welches einen Wert auf einem der Niveaus anzeigt, indem er einem Übergang mit einem passenden Wert auf dem Niveau folgt, und indem er als Ausgabe den dem Übergang zugeordneten Wert auf einem anderen Niveau bereitstellt. Ein Zwei-Niveauwandler kann z.B. verwendet werden, um zwischen Eingabe- und Ausgabezeichenketten abzubilden, und wenn die Werte Zeichentypen sind, können die Eingabe- und Ausgabezeichenketten Wörter sein.
  • Eine "Datenstruktur eines Wandlers endlicher Zustände" oder "FST-Datenstruktur" ist eine Datenstruktur, die Information enthält, die ausreichend ist, um die Zustände und Übergänge einer FST zu definieren.
  • B. Allgemeine Merkmale
  • 1 bis 3 veranschaulichen allgemeine Merkmale der Erfindung.
  • 1 ist ein Flussdiagramm, welches schematisch darstellt, wie aufeinander folgende Versuche, ein Abfragewort zu modifizieren, gemäß aufeinander folgenden Suffixbeziehungen in einer Folge ausgeführt werden können, bis ein modifiziertes Abfragewort erhalten wird, das in einer der Gruppen ist.
  • Das Abfragewort 10 ist nicht in einer Anzahl von Gruppen von Wörtern, die zur Identifikation verfügbar sind, wie in Kasten 12 gezeigt. Trotzdem kann das Abfragewort 10 zu einem anderen Wort, das in einer der Gruppen von Wörtern ist, in Beziehung gesetzt werden.
  • Die Folge 20 schließt eine Anzahl von Suffixbeziehungen ein, von denen mehrere illustrativ dargestellt sind. Aufeinander folgende Versuche, das Abfragewort 10 zu modifizieren, können in Übereinstimmung mit aufeinander folgenden Suffixbeziehungen in der Folge 20 vorgenommen werden.
  • Das Resultat des Versuchens, das Abfragewort 10 gemäß Suffixbeziehung 0 zu modifizieren (und illustrativ auch jede der Suffixbeziehungen 1 bis m-1 und m+1 bis n-1) ist, dass kein Wort erhalten wird, wie in Kasten 30 gezeigt. Zum Beispiel kann es sein, dass die Suffixbeziehung keine Suffix in Beziehung setzt, der einem Suffix des Abfragewortes 10 äquivalent ist.
  • Das Resultat des Versuchens, das Abfragewort 10 gemäß der Suffixbeziehung m zu modifizieren, ist aber ein modifiziertes Abfragewort 32. Anders gesagt setzt die Suffixbeziehung m einen Suffix, der äquivalent zu einem Suffix eines Abfragewortes 10 ist, zu einem anderen Suffix in einer Weise in Beziehung, die das modifizierte Abfragewort 32 erzeugt. Das modifizierte Abfragewort 32 ist wie das Abfragewort 10 nicht in einer der Wortgruppen, wie in Kasten 34 gezeigt.
  • Ähnlich ist das Ergebnis des Versuchens, Abfragewort 10 gemäß der Suffixbeziehung n zu modifizieren, das modifizierte Abfragewort 36. Aber das modifizierte Abfragewort 36 ist in einer der Wortgruppen, wie in Kasten 38 gezeigt. Außer, wenn es für einen anderen Zweck erforderlich ist, müssen die Suffixbeziehungen, die Suffixbeziehung n in der Folge 20 folgen, beim Versuchen, das Abfragewort 10 zu modifizieren, nicht verwendet werden – eine Wortgruppe ist identifiziert worden, und es kann auf sie, wie erforderlich, zugegriffen werden.
  • In Kasten 40 in 2 bestimmt eine Technik, ob ein Abfragewort in einer aus einer Anzahl von Wortgruppen ist. Wenn nicht, versucht die Technik in Kasten 42 das Abfragewort gemäß aufeinander folgender Suffixbeziehungen in einer Folge zu modifizieren. Die Technik setzt fort, bis sie ein modifiziertes Abfragewort erhält, das in einer der Wortgruppen ist.
  • Die Maschine 50 in 3 schließt den Prozessor 52 ein, der zum Erhalten des Abfragewortes 54 verbunden ist, und auch zum Zugriff auf Daten in Speicher 56 verbunden ist. Der Prozessor 52 ist auch zum Empfangen von Daten durch die Dateneingabeschaltung 58 verbunden, die illustrativ Daten bereitstellen kann, die von Verbindungen zum Speicher 60, zum Speichermedium-Zugriffsgerät 62, oder Netz 64 empfangen werden. Das Abfragewort 54 kann von jeder geeigneten Quelle erhalten werden, einschließlich einer Benutzereingabeschaltung (nicht gezeigt), Speicher 56 oder Dateneingabeschaltung 58.
  • Der Datenkörper 70, illustrativ von der Dateneingabeschaltung 58 bereitgestellt, schließt Wortgruppendaten 72, Suffixbeziehungs-Folgedaten 74 und Instruktionsdaten 76 ein. Beim Ausführen der Instruktionen, die durch Instruktionsdaten 76 angezeigt werden, bestimmt der Prozessor 52 nach Laden der Wortgruppendaten 72 und Suffixbeziehungs-Folgedaten 74 in den Speicher 56, ob das Abfragewort 54 in einer der Wortgruppen, die durch die Wortgruppendaten 72 definiert werden, ist. Wenn nicht, versucht der Prozessor 52 dann, das Abfragewort 54 gemäß aufeinander folgenden Suffixbeziehungen in der durch die Suffixbeziehungs-Folgedaten 74 angezeigten Reihenfolge zu modifizieren. Der Prozessor 52 setzt fort, bis er ein modifiziertes Abfragewort erhält, das in einer der Wortgruppen ist.
  • Wie oben bemerkt, stellt 3 drei mögliche Quellen dar, aus denen die Dateneingabeschaltung 58 Daten zum Prozessor 52 bereitstellen könnte – Speicher 60, Speichermedium-Zugriffsgerät 62 und Netz 64.
  • Speicher 60 könnte jeder konventionelle Speicher innerhalb der Maschine 50 sein, einschließlich Direktzugriffsspeicher (random access memory – RAM) oder Festwertspeicher (read-only memory -ROM), oder könnte ein peripheres oder entferntes Speichergerät jeglicher Art sein.
  • Speichermedium-Zugriffsgerät 62 könnte ein Laufwerk oder ein anderes geeignetes Gerät oder eine Schaltung zum Zugriff auf Speichermedium 80 sein, die z.B. ein magnetisches Medium, wie etwa ein Satz von einem oder mehreren Bändern oder Disketten sein könnte, ein optisches Medium, wie etwa ein Satz von einer oder mehreren CD-ROMs, oder jedes andere geeignete Medium zum Speichern von Daten. Speichermedium 80 könnte Teil einer Maschine 50 sein, Teil eines Servers oder einer anderen peripheren oder entfernten Speichereinrichtung, oder ein Software-Produkt. In jedem dieser Fälle ist Speichermedium 80 ein Erzeugnis, das in einer Maschine verwendet werden kann.
  • Netz 64 kann einen Datenkörper von Maschine 90 bereitstellen. Prozessor 92 in der Maschine 90 kann eine Verbindung mit dem Prozessor 52 über das Netz 64 durch die Netzverbindungsschaltung 94 und Dateneingabeschaltung 58 einrichten. Jeder Prozessor könnte die Verbindung initiieren, und die Verbindung könnte durch ein geeignetes Protokoll eingerichtet werden. Dann kann Prozessor 92 auf einen in Speicher 96 gespeicherten Datenkörper zugreifen, und den Datenkörper zum Prozessor 52 über das Netz 64 übertragen. Prozessor 92 kann den Datenkörper in Speicher 56 oder anderswo speichern, und kann dann die Instruktionen ausführen, um in den Daten nachzuschlagen.
  • 3 stellt auch dar, dass Prozessor 52 zum Ausgabegerät 100 verbunden werden kann, um Resultate bereitzustellen, etwa für einen Benutzer.
  • C. Implementierung
  • Die oben beschriebenen allgemeinen Merkmale könnten in vielfältiger Art und Weise auf unterschiedlichen Maschinen implementiert werden, um Wortgruppen, unter Verwen dung von Abfragewörtern, zu identifizieren. Eine im Folgenden beschriebene Implementierung wurde auf einer Sun-SPARC-Workstation mit dem Betriebssystem Sun-OS implementiert, die aus C- und Perl-Quellcode kompilierten Code ausführt.
  • C.1. Überblick
  • In 4 schließt System 120 die zentrale Verarbeitungseinheit (central processing unit – CPU) 122 einer Sun-SPARC-Workstation ein, die an Display 124 zum Darstellen von Bildern und Tastatur 126 und Maus 128 zum Bereitstellen von Signalen von einem Benutzer angeschlossen ist. CPU 122 ist auch so verbunden, dass sie auf Speicher 130 zugreifen kann, der illustrativ Programmspeicher 132 und Datenspeicher 134 einschließen kann.
  • Die in Programmspeicher 132 gespeicherten Routinen können in verschiedene Funktionen gruppiert werden – Suffixpaar-Extraktionsroutinen 140, relationale Familien-Erzeugungsroutinen 142, FST-Umwandlungsroutinen 144 und Nachschlageroutinen 146. 4 zeigt auch mehrere Datenstrukturen, die in Datenspeicher 134 gespeichert sind, und auf die CPU 122 während der Ausführung von Routinen im Programmspeicher 132 zugreift, – Flexionslexikon 150, geordnete Liste 152 von Suffixpaaren, FST-Datenstruktur 154, Eingabe-Wortdaten 156, modifizierte Wortdaten 158, identifizierte Familiendaten 160 und verschiedenartige Datenstrukturen 162, von denen einige weiter unten beschrieben werden. Flexionslexikon 150 kann jedes geeignete Lexikon für die Sprache, in der Eingabewörter empfangen werden, sein, wie etwa Xerox Lexika für englisch oder für französisch, beide von InXight Corporation, Palo Alto, Kalifornien, erhältlich.
  • Beim Ausführen von Suffixpaar-Extraktionsroutinen 140 kann Prozessor 122 Flexionslexikon 150 verwenden, um automatisch die geordnete Liste 152 zu erhalten, die einen Satz von Suffixpaaren in der Reihenfolge ihrer Frequenz in Lexikon 150 auflistet. Die geordnete Liste 152 ist damit eine Implementation der Suffixbeziehungs-Folgedaten 74 in 3. Die Suffixpaare können als Zeichenketten zum Ausführen eines Übergangs zwischen Paaren verwandter Wörter angesehen werden, wobei ein Suffix eine Zeichenkette ist, die von einem Wort im Paar entfernt wird, um ein Präfix zu erhalten, und das andere Suffix eine Zeichenkette ist, die dann, nach jeglichen erforderlichen Modifikationen am Präfix, zum Präfix hinzugefügt wird, um das andere Wort im Paar zu erhalten.
  • Beim Ausführen relationaler Familien-Erzeugungsroutinen 142 kann Prozessor 122 eine oder mehrere Mengen von Wörtern unter Benutzung von Suffixpaar-Frequenzen zusammenfassen. Das Ergebnis ist eine Liste einer Menge von Wortfamilien, deren jede eine Teilmenge der zusammengefassten Wörter ist. Die auf diese Weise erhaltenen Wortfamilien werden als "relationale Familien" bezeichnet, um sie von herkömmlichen Ableitungsfamilien zu unterscheiden, welchen sie ähnlich sind.
  • Bei Ausführung von FST-Umwandlungsroutinen 144 kann Prozessor 122 eine FST-Datenstruktur 154 erhalten, die eine Eingabe-Ausgabepaarung zwischen jedem der Wörter in einer Familie und einem Repräsentanten der Familie bereitstellt. Der Repräsentant einer Familie könnte z.B. ihr kürzestes Wort sein. FST-Datenstruktur 154 kann so einen Zwei-Niveau-FST repräsentieren, mit einem Familienniveau, das alle Wörter in allen der Familien akzeptiert, und mit einem Repräsentantenniveau, das alle der Repräsentanten von Familien akzeptiert. Auf die FST-Datenstruktur 154 kann auf dem Familienniveau mit einem Wort in einer der Familien zugegriffen werden, um den Repräsentanten der Familie aus dem Repräsentantenniveau auszulesen. Umgekehrt kann auf die FST-Datenstruktur 154 auf dem Repräsentantenniveau mit dem Repräsentanten einer der Familien zugegriffen werden, um alle Wörter in der Familie vom Familienniveau auszulesen.
  • Beim Ausführen von Nachschlageroutinen 146 versucht Prozessor 122, eine der relationalen Familien zu identifizieren. Prozessor 122 kann z.B. eine Familie identifizieren, die das durch Eingabewortdaten 156 angegebene Wort einschließt, oder die eines der durch modifizierte Wortdaten 158 angegebenen Wörter einschließt. Jedes modifizierte Wort wird aus dem Eingabewort unter Verwendung der geordneten Liste 152 von Suffixpaaren erzeugt. Identifizierte Gruppendaten 160 können z.B. den Repräsentanten der identifizierten Familie oder eine Liste von Wörtern in der identifizierten Familie angeben.
  • Suffixpaar-Extraktionsroutinen 140 und Nachlageroutinen 146 können, wie im Folgenden beschrieben, implementiert werden. Relationale Familienerzeugungsroutinen 142 und FST-Umwandlungsroutinen 144 können implementiert werden, wie in der parallelen US-Patentanmeldung Nr. 09/213,309, mit dem Titel "Grouping Words with Equivalent Substrings by Automatic Clustering Based on Suffix Relationships".
  • 5 stellt allgemeine Aktivitäten dar, die vom Prozessor 122 beim Ausführen von Nachschlageroutinen 146 ausgeführt werden. Die Aktivität im Kasten 180 beginnt nach Empfangen von Eingabewortdaten 156, wie etwa in einem Aufruf von Nachschlageroutinen 146. Neben der Möglichkeit, aus Speicher 130 gewonnen zu werden, könnte das Eingabewort auch von Tastatur 126 empfangen werden, oder könnte durch eine Auswahl von einer Maus 128 angezeigt werden.
  • Die Aktivität in Kasten 182 greift dann auf Flexionslexikon 150 zu, welches als ein FST oder in jeder anderen geeigneten Weise implementiert werden kann, wobei die Zeichen des Wortes durch Eingabewortdaten 156 angezeigt werden, um ein Lemma oder eine Wörterbuchform oder eine Wortart für das Eingabewort zu erhalten. In einigen Fällen kann das Flexionslexikon mehr als ein Paar von (Lemma + Wortart) bereitstellen, woraufhin Folgeaktivitäten an jedem erhaltenen Lemma ausgeführt werden können. Die Aktivität in Kasten 182 kann optional auch Normalisierung des Lemma enthalten, welches in der Weise, wie unten mit Bezug auf Kasten 256 in 7 beschrieben, erfolgen kann. Zur Vereinfachung wird im Folgenden jede Ausgabe aus Kasten 182, unabhängig davon, ob es sich um ein Lemma oder ein normalisiertes Lemma handelt, und ob von Daten, die eine Wortart angeben, begleitet oder nicht, oder anderen derartigen Indizien, als "Lemma-Zeichenkette" bezeichnet, und in 5 einfach als "Lemma".
  • Die Aktivität in Kasten 184 greift dann auf die FST-Datenstruktur 154 mit den Zeichen jeder Lemma-Zeichenkette aus Kasten 182 zu. Die Aktivität in Kasten 184 kann mit konventionellen FST-Nachschlagetechniken, wie etwa jenen, die in Cutting et al., US-A-5,625,554 beschrieben werden, implementiert werden.
  • Die Aktivität in Kasten 190 verzweigt sich dann, basierend darauf, ob die Aktivität in Kasten 184 erfolgreich im Anpassen der Zeichen einer Lemma-Zeichenkette mit einer Zeichenkette war, die auf dem Familienniveau der FST-Datenstruktur 154 akzeptabel ist. Wenn z.B. Kasten 184 einen Zustand erreicht, in dem keiner der ausgehenden Übergänge ein Zeichen auf Familienniveau hat, welches auf das nächste Zeichen der Lemma-Zeichenkette passt, ist die Lemma-Zeichenkette, und demzufolge das Eingabewort, nicht akzeptabel. Wenn, in ähnlicher Weise, Kasten 184 in der Lage ist, alle Zeichen der Lemma-Zeichenkette mit Zeichen auf Familienniveau entlang eines Pfades der FST-Datenstruktur anzupassen, aber der letzte Übergang führt zu einem Zustand, der am Ende einer akzeptablen Lemma-Zeichenkette nicht auftreten kann, ist die Lemma- Zeichenkette, und demzufolge das Eingabewort, nicht akzeptabel. Wenn aber Kasten 184 in der Lage ist, alle Zeichen der Lemma-Zeichenkette entlang eines Pfades auf Familienniveau der FST-Datenstruktur anzupassen, und der Pfad zu einem Zustand am Ende einer akzeptablen Zeichenkette führt, können die Zeichenkette und demzufolge das Eingabewort als akzeptabel behandelt werden, abhängig von jeglichen Wortart- oder anderen dem Zeichen folgenden Markierungen, die möglicherweise auch passen müssen.
  • Die Aktivitäten in Kästen 184 und 186 implementieren somit die Aktivität in Kasten 40 in 2, wobei das Abfragewort in Kasten 40 die in Kasten 182 erhaltene Lemma-Zeichenkette ist. Zusätzlich kann die Aktivität in Kasten 184 die ausgelesenen Zeichen auf Repräsentantenniveau speichern, wobei der Repräsentant der Familie, die die Lemma-Zeichenkette und somit das Eingabewort einschließt, erhalten wird.
  • Wenn eine im Kasten 182 erhaltene Lemma-Zeichenkette zu einem der akzeptablen Zeichenketten der FST-Datenstrukturen 154 passt, erhält die Aktivität in Kasten 192 die identifizierten Familiendaten 160 und gibt diese zurück. Wenn die identifizierten Familiendaten 160 der Repräsentant der Familie, die die Lemma-Zeichenkette enthält, ist, kann die Aktivität in Kasten 192 den während der Aktivität in Kasten 184 ausgelesenen Repräsentanten zurückgeben. Wenn die identifizierten Familiendaten 160 eine Liste der Wörter in der Familie sind, kann die Aktivität in Kasten 192 den in Kasten 184 ausgelesenen Repräsentanten benutzen, um die Wörter vom Familienniveau der FST-Datenstruktur 158 auszulesen, und diese dann zurückgeben. In jedem Falle kann die durch die identifizierten Familiendaten 160 angegebene Information auf dem Display 124, wie in 4 gezeigt, dargestellt werden.
  • Wenn aber die Lemma-Zeichenkette nicht passt, beginnt die Aktivität in Kasten 200 eine iterative Schleife, die die Suffixpaare in der geordneten Liste 152 durchläuft, und versucht, jede von ihnen zu benutzen, um eine akzeptable Zeichenkette zu erhalten. Wie die Lemma-Zeichenketten von Kasten 182, können die Suffixpaare in der geordneten Liste 152 Wortarten-Marken oder Ähnliches angehängt haben.
  • Die Aktivität in Kasten 202 versucht das nächste Suffixpaar auf der geordneten Liste 152 in beiden Richtungen zu verwenden, um eine modifizierte Version der Lemma-Zeichenkette von Kasten 182 zu erhalten. Die Aktivität in Kasten 204 verzweigt basie rend auf dem Ergebnis: wenn Kasten 202 nicht erfolgreich war, wird eine weitere Iteration in Kasten 200 begonnen, um das nächste Suffixpaar auf der geordneten Liste 152 zu behandeln. Wenn aber Kasten 202 Erfolg hatte, könnte die modifizierte Version der Lemma-Zeichenkette in einer der Familien sein.
  • Die Aktivität in Kasten 206 greift auf die FST-Datenstruktur 154 mit den Zeichen der modifizierten Version der Lemma-Zeichenkette in derselben Weise wie in Kasten 184 zu, und die Aktivität in Kasten 210 verzweigt nach dem Ergebnis in gleicher Weise, wie in Kasten 190. Wenn die modifizierte Version der Lemma-Zeichenkette eine akzeptable Zeichenkette ist, erhält die Aktivität in Kasten 192 die identifizierten Familiendaten 160 und gibt diese zurück, wie oben beschrieben. Wenn nicht, wird in Kasten 200 eine weitere Iteration begonnen.
  • Die Aktivitäten in Kästen 200, 202, 204, 206 und 210 implementieren somit die Aktivität in Kasten 42 in 2, wobei das Abfragewort die Lemma-Zeichenkette aus Kasten 182, wie oben angegeben, ist. Da die geordnete Liste 152 gemäß der Frequenz sortiert ist, wird die Implementierung in 5 fortgesetzt, bis sie das häufigste Suffixpaar erreicht, welches die Lemma-Zeichenkette mit einer akzeptablen Zeichenkette in Beziehung setzt.
  • Wenn alle Suffixpaare in der geordneten Liste 152 behandelt wurden, ohne dass eine modifizierte Version der Lemma-Zeichenkette erhalten wurde, die akzeptabel ist, gibt die Aktivität in Kasten 212 die in Kasten 180 empfangenen Eingabe-Wortdaten 156 zurück, damit anzeigend, dass das Eingabewort in keiner der Familien ist.
  • C.2. Modifizierte Wörter
  • 6 veranschaulicht eine FST-Datenstruktur, die verwendet werden kann, um die Aktivitäten in Kästen 202 und 204 von 5 zu implementieren.
  • Die FST-Datenstruktur 220 wurde für die Suffixbeziehung "ism+N:istic+Adj" aufgebaut, die Substantive mit dem Suffix "-ism" in Adjektive mit dem Suffix "-istic" und umgekehrt übertragen kann. Beispiele für diese Beziehung treten (in englischer Sprache – Anm. des Übersetzers) auf in idealism:idealistic, realism:realistic und so weiter.
  • Kasten 202 in 5 kann implementiert werden, indem man am Startzustand 222 beginnt und nach einem Pfad durch die Datenstruktur 220 unter Benutzung der Lemma-Zeichenkette aus Kasten 182 sucht. Jeder Übergang in der Datenstruktur 220 hat zwei Beschriftungen, jeweils als "linke Beschriftung" und "rechte Beschriftung" bezeichnet, obgleich die Reihenfolge nicht von Bedeutung ist. Die Suche kann z.B. versuchen, die linke Beschriftung mit einem Eingabezeichen in Übereinstimmung zu bringen, und die rechte Beschriftung als Ausgabe zu nehmen, wenn die linke Beschriftung in Übereinstimmung gebracht ist. Die Suche kann auch einen Ausgabe-Buffer verwenden, um eine Kette von Ausgabezeichen zu speichern und zu modifizieren, und einen Wahl-Datenstapel zum Speichern von Wahlpunkten zur Benutzung beim Zurückverfolgen. Die Suche kann die Inhalte des Ausgabe-Buffers als eine Ausgabezeichenkette bereitstellen, nachdem eine akzeptable Eingabezeichenkette in Übereinstimmung gebracht wurde, bevor jegliches weitere Rückwärtsverfolgen ausgeführt wird.
  • Wenn z.B. die Lemma-Zeichenkette aus Kasten 182 "idealistic+Adj" ist, kann die Suche nach einem Pfad beginnen durch Versuchen, dem ausgehenden Übergang 224 aus einem Startzustand 222 zu folgen. Dem Übergang 224 kann mit jedem Zeichen gefolgt werden, und er stellt dasselbe Zeichen als Ausgabe zur Verfügung, so dass, nachdem dem Übergang 224 für alle Zeichen in der Lemma-Zeichenkette gefolgt wurde, der Ausgabe-Buffer die Lemma-Zeichenkette "idealistic+Adj" enthalten wird, und der Wahl-Datenstapel wird anzeigen, dass eine Auswahl mindestens am ersten, sechsten und neunten Zeichen der Eingabezeichenkette auftrat. Aber der Startzustand 222 tritt nicht am Ende einer akzeptablen Eingabezeichenkette auf, so dass die Suche rückverfolgen muss.
  • Die Suche kann zuerst bis zum neunten Zeichen in der Lemma-Zeichenkette zurückverfolgen, so dass im Ausgabe-Buffer die Zeichenkette "idealist" enthalten bleibt. Die Suche kann dann dem Übergang 226 folgen, dem nur gefolgt werden kann, wenn das nächste Zeichen der Eingabekette ein "i" ist, und welches ein "i" als Ausgabe bereitstellt. Hierbei wird aber die Suche wiederum nicht erfolgreich sein, weil das nächste Eingabezeichen "c" ist, so dass die Suche nicht dem Übergang 228 folgen kann. Deshalb muss die Suche erneut rückverfolgen.
  • Die Suche kann als nächstes zum sechsten Zeichen in der Lemma-Zeichenkette rückverfolgen, so dass im Ausgabe-Buffer die Kette "ideal" enthalten bleibt. Die Suche kann dann dem Übergang 226 mit dem "i" und dem Übergang 228 mit dem "s" folgen, und dabei den Zustand 230, indem der Ausgabe-Buffer "idealis" enthält. Die Suche kann dann dem oberen Ast aus Zustand 230 folgen, die Zeichen "t", "i", "c" und "+Adj" abgleichen, und "m+N" als Ausgabe aus den Übergängen 232, 234, 236 und 238 erhalten, weil "å"-Kennungen ignoriert werden. Deshalb enthält der Buffer "idealism+N". In diesem Falle tritt Zustand 240 am Ende einer akzeptablen Eingabekette auf, wie dies durch das "F" angezeigt wird, so dass die Zeichenkette "idealism+N" aus dem Ausgabe-Buffer ausgegeben wird. Deshalb folgt, wenn die Suche vollendet ist, die Aktivität in Kasten 204 der Verzweigung nach Kasten 206, anstelle zu Kasten 200 zurückzukehren, wie es wäre, wenn keine Ausgabezeichenkette in Kasten 202 erhalten worden wäre.
  • Vor Beendigung kann die Suche allerdings erneut rückverfolgen, um nachzusehen, ob es noch andere Ausgabezeichenketten gibt. Die Suche kann zunächst zum ersten Zeichen der Lemma-Zeichenkette zurückverfolgen, wobei der Ausgabe-Buffer leer bleibt. Die Suche kann dann dem Übergang 226 mit dem "i" folgen, aber kann dem Übergang 228 mit dem "d" nicht folgen, so dass keine weiteren Ausgabezeichenketten erhalten werden können.
  • Die Datenstruktur 220 kann günstig in beiden Richtungen laufen, von "-istic+Adj" zu "-ism+N", wie oben beschrieben, und auch in der umgekehrten Richtung, von "-ism+N" zu "-istic+Adj", indem den Zuständen zwischen Zustand 230 und Endzustand 242 gefolgt wird.
  • Anstelle einer einzelnen Datenstruktur, wie in 6 gezeigt, wäre es möglich, zwei separate Datenstrukturen zu verwenden, eine, um von "-istic+Adj" zu "-ism+N" zu gehen, und die andere, um in der anderen Richtung zu gehen. In diesem Fall wird die Aktivität in Kasten 204 erfolgreich sein, wenn von einer der Datenstrukturen erfolgreich eine Ausgabe erhalten wird. Dies kann aber weniger effizient sein, da es die Anzahl von Datenstrukturen verdoppeln würde.
  • Ein anderer Zugang im Umfang der Erfindung besteht darin, eine Anzahl von Datenstrukturen, wie Datenstruktur 220, zu kombinieren, um eine FST-Datenstruktur zu erhalten, die eine zusammengesetzte Suffixbeziehung definiert. Dieser Zugang wurde durch beliebiges Unterteilen der frequenzgeordneten Liste von paarweisen Suffixbeziehungen in eine relativ kleine Anzahl, etwa fünf, von Teillisten, und anschließendes Erzeugen einer FST-Datenstruktur für jede Teilliste implementiert. Die fünf resultierenden FST-Datenstrukturen werden in einer frequenzgeordneten Liste bereitgestellt.
  • Ein Nachteil von beliebigen Unterteilen der frequenzgeordneten Liste ist aber, dass die resultierenden FSTs mehr als eine Ausgabezeichenkette für einige Lemma-Zeichenketten bereitstellen können, und die Ausgabezeichenketten für eine gegebene Lemma-Zeichenkette können nicht gemäß der Frequenzordnung der paarweisen Suffixbeziehungen bereitgestellt werden. Es kann möglich sein, diesen Nachteil zu überwinden, indem die frequenzgeordnete Liste in einer grundsätzlicheren Weise unterteilt wird, wie etwa, indem man sie vor jeder paarweisen Suffixbeziehung, die, wenn mit den paarweisen Beziehungen nach der letzten Teilung kombiniert, für einige Lemma-Zeichenketten in mehr als einer Ausgabezeichenkette resultieren würde, in Teillisten zerlegt.
  • C.3. Suffixpaar-Extraktion
  • 7 erläutert detaillierter, wie die Suffixpaar-Extraktionsroutinen 140 in 4 implementiert werden können.
  • Wie in 7 gezeigt, beginnt die Implementierung im Kasten 250 durch Erhalten einer FST-Datenstruktur eines Flexionslexikons, wie etwa die Xerox-Flexionslexika für englisch oder französisch, erhältlich von InXight Corporation, Palo Alto, Kalifornien. Diese Lexika schließen jede akzeptable Zeichenkette mit einem Wortart (part-of-speech -POS)-Anhängsel ab. Die Aktivität in Kasten 250 kann einschließen, eine Handhabe zu erhalten, um auf ein Lexikon zuzugreifen, das bereits im Speicher gespeichert ist, wie mit dem Flexionslexikon 150 in 4 gezeigt.
  • Die Aktivität im Kasten 252 extrahiert die ungebeugte oder Lemma-Seite der FST-Datenstruktur, um eine ungefilterte FSM-Datenstruktur zu erhalten, die alle Zeichen+POS-Ketten akzeptiert, die für die Lemma-Seite der FST-Datenstruktur akzeptabel sind. Da die FST-Datenstruktur typischerweise eine unendliche Menge von Zeichen+POS-Ketten akzeptiert, einschließlich Zahlenketten, akzeptiert typischerweise auch die ungefilterte FSM-Datenstruktur eine unendliche Menge, obwohl diese endlich sein könnte, wenn die FST nur eine endliche Menge von Zeichen+POS-Ketten akzeptiert. Die Aktivität in Kasten 252 kann mit einer herkömmlichen automatischen FSM- Extraktionseinrichtung implementiert werden. Wege, um diese und verwandte Arbeitsvorgänge zu implementieren, können auch aus US-A-5,625,554 und R.M. Kaplan, und M. Kay, "Regular Models of Phonological Rule Systems", Computational Linguistics, Band 20, Nr. 3, 1994, Seiten 331–380 ("der Kaplan-und-Kay-Artikel") verstanden werden.
  • Die Aktivität in Kasten 254 filtert dann die ungefilterte FSM-Datenstruktur aus Kasten 252, um eine gefilterte FSM-Datenstruktur zu erzeugen, die nur geeignete Zeichen+POS-Ketten akzeptiert. Zum Beispiel können Zeichenketten ausgefiltert werden, die mit unpassenden POS-Anhängseln enden, wie etwa POS-Anhängseln, die verschiedenartige Zahlen anzeigen, oder die andere Arten von Zeichenketten anzeigen, die unpassend sind. In Sprachen, in denen Wörter durch Zusammensetzung erzeugt werden können, wie etwa deutsch, können Zeichenketten ausgefiltert werden, die eine geeignete Maximallänge oder eine geeignete Maximalanzahl von zusammengesetzten Teilen, wie etwa vier, überschreiten. Die Aktivität in Kasten 254 kann durch Zusammenfügen der ungefilterten FSM mit einer filternden FSM, die die Bedingungen für das Einbeziehen einer Zeichenkette in die gefilterte FSM festlegt, implementiert werden. Die filternde FSM kann unter Verwendung herkömmlicher Techniken erzeugt werden, ähnlich den in US-A-5,625,554 und dem Kaplan-und-Kay-Artikel beschriebenen.
  • Die Aktivität in Kasten 256 benutzt dann die gefilterte FSM-Datenstruktur aus Kasten 254, um eine voranstellende FST-Datenstruktur zu erzeugen, die ein normalisiertes Präfix-Äquivalent als Antwort auf ein akzeptables Wort ausgibt. Mit anderen Worten, das Eingabeniveau der voranstellenden FST akzeptiert alle von der gefilterten FSM akzeptierten Zeichen+POS-Ketten, und das Ausgabeniveau stellt für jede eingegebene Zeichen+POS-Kette eine normalisierte p-Zeichenkette bereit, die für einen Wert von q einem Präfix der eingegebenen Zeichen+POS-Kette p/q-äquivalent ist. Der Begriff der p/p-Äquivalenz kann aus der Beschreibung in der parallelen US-Patentanmeldung Nr. 09/213,309 mit dem Titel "Grouping Words with Equivalent Substings by Automatic Clustering Based on Suffix Relationships" verstanden werden.
  • Die Aktivität in Kasten 256 kann durch Erzeugen einer intermediären FST implementiert werden, die auf eine Zeichenkette durch automatisches Normalisieren der Zeichen antwortet, bis eine Kette von p-normalisierten Zeichen erhalten wird; Normalisieren kann z.B. einschließen, diakritische Marken zu entfernen, und möglicherweise Zeichen zu ersetzen und andere Modifikationen auszuführen, die äquivalente Präfixe erzeugen. In der gegenwärtigen Implementierung ersetzt jeder Normalisierungsvorgang ein Zeichen mit einem anderen Zeichen, wodurch Eins-zu-Eins oder p/p-Äquivalenz zwischen Zeichen erhalten wird; die Implementierung könnte leicht erweitert werden, um ein verdoppeltes Zeichen als einfaches Zeichen zu normalisieren oder umgekehrt, oder um andere Normalisierungen vorzunehmen, die die Zeichenanzahl verändern.
  • Man kann dann die intermediäre FST auf der durch die gefilterte FSM angezeigte Wortliste ablaufen lassen, um eine Präfix-FSM zu erzeugen, die alle die Präfix-Äquivalente anzeigt. Die Präfix-FSM kann mit der gefilterten FSM zusammengefügt werden, um die voranstellende FST zu erzeugen. In der voranstellenden FST sind das (p+1)-te und die folgenden Zeichen entlang jeden Pfades auf dem Eingabeniveau mit einem Epsilon auf dem Ausgabeniveau gepaart, was bedeutet, dass in Antwort auf jene Zeichen keine Ausgabe bereitgestellt wird.
  • Die Aktivität in Kasten 260 invertiert die voranstellende FST aus Kasten 256, um eine invertierte voranstellende FST mit Präfix-Äquivalenten auf dem Eingabeniveau, und mit akzeptablen Wörtern auf dem Ausgabeniveau zu erzeugen. Die Aktivität in Kasten 260 kann durch einfaches Umschalten der Elemente in der Kennzeichnung jedes Übergangs in der FST implementiert werden.
  • Die Aktivität in Kasten 262 fügt die voranstellende FST aus Kasten 256 mit der invertierten voranstellenden FST aus Kasten 260 zusammen, wobei die Zusammenfügung so ausgeführt wird, dass die Präfix-Äquivalente herausfallen, und dass die Epsilons angefügt werden, um eine kürzere Eingabezeichen+POS-Kette an eine Ausgabezeichen+POS-Kette anzugleichen, wobei eine Präfix-Gruppen-FST erzeugt wird. Die Präfix-Gruppen-FST akzeptiert die Wortliste der gefilterten FSM aus Kasten 254 als ihr Eingabeniveau, und kann jedes Wort ausgeben, das in der FST zur Präfix-Bildung in Kasten 256 dasselbe Präfix-Äquivalent hat. Die Zusammenfügung in Kasten 262 kann mit herkömmlichen Techniken ausgeführt werden, ähnlich jenen, die in US-A-5,625,554 und dem Kaplan-und-Kay-Artikel beschrieben sind.
  • Die Aktivität in Kasten 264 benutzt dann die Präfix-Gruppen-FST aus Kasten 262, um eine Liste von Präfix+Suffix-Alternativen zu erzeugen. Die Aktivität in Kasten 264 kann durch Auslesen der Zeichenpaare entlang jedes Pfades der Präfix-Gruppen-FST und Vergleichen der Zeichen in jedem Paar, bis eine Nicht-Übereinstimmung gefunden wird, implementiert werden. Bevor eine Nicht-Übereinstimmung gefunden wird, wird nur ein Zeichen für das Präfix gespeichert, aber nachdem eine Nicht-Übereinstimmung gefunden wird, werden beide Zeichen jedes Paares für den Suffix gespeichert.
  • Zum Beispiel könnten für den Pfad, der das Verb "produce" mit dem Substantiv "production" in Beziehung setzt (in englischer Sprache – Anm. des Übersetzers), den Präfix+Suffix-Alternativen durch folgende Zeichenkette dargestellt werden: (p, r, o, d, u, c, <:t>, <+V:i>, <å:o>, <å:n>, <å:+N>), wobei "å"-Zeichen eingefügt wurden, um die Längendifferenz auszugleichen, und wobei "+V" und "+N" jeweils ein Verb und ein Substantiv anzeigen. Das Präfix des Pfades ist somit "produc", und der Pfad hat zwei alternative Suffixe, "e+V" und "tion+N".
  • Die Aktivität in Kasten 266 kann dann die in Kasten 264 erzeugte Liste benutzen, um eine Liste von Suffixpaaren und Frequenzen zu erzeugen. Die Liste kann durch Umwandeln der Suffix-Alternativen jedes Objekts auf der Liste aus Kasten 264 in ein Suffixpaar erzeugt werden. Wenn das Suffixpaar mit einem Suffixpaar auf einer Liste von früher erhaltenen Suffixpaaren übereinstimmt, erhöht die Aktivität in Kasten 266 seine Frequenz; wenn nicht, wird das Suffixpaar mit einer Frequenz von eins der Liste hinzugefügt. Nachdem alle Objekte auf der Liste aus Kasten 264 behandelt worden sind, sortiert die Aktivität in Kasten 266 die Liste nach der Frequenz, um die geordnete Liste 152 von Suffixpaaren zu erhalten, von denen jedes dann unter Verwendung herkömmlicher Techniken in ein FST der in 6 gezeigten Art umgewandelt werden kann. Die Suffix-paar-FSTs können wie oben beschrieben, in Bezug auf die Kästen 202 und 204 von 5 benutzt werden.
  • C.4. Variationen
  • Die oben beschriebene Implementierung kann im Rahmen der Erfindung vielfältig variiert werden.
  • Die oben beschriebene Implementierung wurde erfolgreich auf Sun-SPARC-Workstations ausgeführt, aber Implementierungen könnten auf anderen Maschinen ausgeführt werden.
  • Die oben beschriebene Implementierung ist erfolgreich in der C-Programmierumgebung auf der Sun-OS-Plattform ausgeführt worden, aber andere Programmierumgebungen und Plattformen könnten verwendet werden.
  • Die oben beschriebene Implementierung versucht Modifikationen gemäß einer Folge von Suffixbeziehungen, die durch eine geordnete Liste von Suffixpaaren angezeigt werden, die gemäß der Frequenz geordnet sind. Die Erfindung könnte implementiert werden, um Modifikationen gemäß einer Folge von Suffixbeziehungen zu versuchen, wobei eine Suffixbeziehung mehr als zwei Suffixe in Beziehung setzt. Wie oben mit Bezug auf 6 erklärt, kann es vorteilhaft sein, die Erfindung mit mehreren zusammengesetzten Suffixbeziehungen zu implementieren, deren jede durch eine FST definiert ist, die eine Anzahl von paarweisen Suffixbeziehungen einschließt.
  • Die oben beschriebene Implementierung kann für ein gegebenes Abfragewort nur ein modifiziertes Wort erhalten, das in einer der Wortgruppen ist, aber die Erfindung kann auch implementiert werden, um fortgesetzt Modifikationen zu versuchen, nachdem ein modifiziertes Wort erhalten wurde, das in einer der Wortgruppen ist.
  • Die oben beschriebene Implementierung benutzt ein Flexionslexikon einer Sprache, um Suffixpaare zu erhalten, aber andere Informationen über eine Sprache könnte verwendet werden, um Suffixpaare zu erhalten, wie etwa eine Liste oder andere Datenstruktur, die Wörter anzeigt, die in der Sprache akzeptabel sind, und Suffixpaare könnten in einer großen Variabilität von Wegen erhalten werden, einschließlich aus einer Wortliste unter Benutzung von Unix-Tools, wie Findaffix. Die Implementierung nutzt das Flexionslexikon auch, um Lemmas von Eingabeworten zu erhalten, aber die Erfindung könnte durch direktes Benutzen von Eingabewörtern implementiert werden, anstelle Lemmata zu erhalten, oder durch Stammbildung oder andere Arbeitsvorgänge, um ungebeugte Formen von Wörtern zu erhalten. Weiterhin könnte die oben beschriebene Implementierung in Kombination mit anderen Techniken zur Identifizierung einer Gruppe von Wörtern, die ein Eingabewort einschließen, oder mit diesem verwandt sind, verwendet werden.
  • Die oben beschriebene Implementierung benutzt eine FST-Datenstruktur, um eine Gruppe von Familien zu identifizieren, die ein Wort beinhaltet, aber Gruppen von Wörtern könnten zusätzlich zu einer FST in vielen anderen Arten von Datenstrukturen gespeichert sein, wie etwa in relationalen Datenbanken, und eine Gruppe könnte dementspre chend in jeder für solche andere Arten von Datenstrukturen geeigneten Weise identifiziert werden.
  • Die oben beschriebene Implementierung benutzt eine FST, die ein Wort auf einen Repräsentanten einer relationalen Familie abbildet, die ähnlich einer Ableitungsfamilie ist. Eine FST kann aber auf jede andere geeignete Information, die eine Gruppe, die ein Wort einschließt, identifiziert, abbilden, und die Gruppen müssen nicht relationale Familien sein, sondern können andere Arten von Familien oder Gruppen sein, innerhalb derer verwandte Wörter miteinander in Beziehung stehende Suffixe haben, wie Flexionsfamilien.
  • Die oben beschriebene Implementierung schließt in jedem Suffixpaar die Wortart ein, aber dies ist optional. Die Erfindung könnte ohne Berücksichtigung der Wortart implementiert werden.
  • Die oben beschriebene Implementierung wurde auf Englisch und Französisch angewandt, aber die Erfindung kann auf andere Sprachen als Englisch und Französisch angewandt werden.
  • In der oben beschriebenen Implementierung werden die Aktivitäten in einer Reihenfolge ausgeführt, die in vielen Fällen modifiziert werden können.
  • Die oben beschriebene Implementierung benutzt aktuell verfügbare Rechentechniken, aber könnte leicht modifiziert werden, um neu entdeckte Rechentechniken zu verwenden, wenn diese verfügbar werden.
  • D. Anwendungen
  • Die Erfindung kann angewendet werden, um automatisch eine Gruppe von Wörtern, die ein Eingabewort beinhaltet oder mit diesem in Beziehung steht, zu erhalten, und die Gruppe von Wörtern kann dann benutzt werden, um eine Informationsbeschaffungsanfrage zu formulieren. Um die Leistung der Informationsbeschaffung zu verbessern, kann dies für jedes Wort in einer Abfrage ausgeführt werden.
  • E. Verschiedenes
  • Die Erfindung ist mit Bezug auf Software-Implementierungen beschrieben, aber die Erfindung könnte mit spezialisierter Hardware implementiert werden.
  • Die Erfindung ist mit Bezug auf Implementierungen, die serielle Verarbeitungstechniken verwenden, beschrieben worden. Die Erfindung könnte auch mit parallelen Verarbeitungstechniken implementiert werden.

Claims (15)

  1. Verfahren zum Benutzen eines Abfragewortes (10, 54), um eine aus einer Anzahl von Wortgruppen zu identifizieren, wobei das Verfahren die Schritte umfasst: (A) Bestimmen (40), ob das Abfragewort in einer der Wortgruppen ist; und (B) wenn das Abfragewort (10, 54) nicht in einer der Wortgruppen ist, versuchen, das Abfragewort (10, 54) gemäß einer Folge von Suffixbeziehungen (20) durch Wechseln eines Suffix zu modifizieren, bis ein modifiziertes Abfragewort (36) erhalten wird, das in einer der Wortgruppen ist, wobei die Suffixbeziehung (20) Wechsel zwischen verschiedenen Suffixen für ein Wort anzeigen, und die Folge von Suffixbeziehungen in einer Liste gemäß den Frequenzen des Auftretens der Suffixbeziehungen (20) in einer natürlichen Sprache geordnet ist, wobei die Frequenz des Auftretens einer Suffixbeziehung (20) in einer natürlichen Sprache die Anzahl verschiedener Untermengen von Wörtern in der natürlichen Sprache ist, die durch die Suffixbeziehung verwandt sind, und der Schritt (B) versucht (202), das Abfragewort (10, 54) zuerst gemäß einer Suffixbeziehung (20) zu modifizieren, die die höchste Frequenz des Auftretens in der natürlichen Sprache hat.
  2. Verfahren nach Anspruch 1, wobei der Schritt (B) versucht, das Abfragewort (10, 54) gemäß paarweisen Suffixbeziehungen (20) zu modifizieren (42).
  3. Verfahren nach Anspruch 2, wobei (B) weiterhin umfasst: Versuchen (202), das Abfragwort (10, 54) durch Folgen jeder paarweisen Beziehung in beiden Richtungen zu modifizieren.
  4. Verfahren nach einem der Ansprüche 1 bis 3, weiterhin umfassend, vor (A): automatisches Erzeugen (250, 252, 254, 256, 260, 262) einer Wortgruppen-Datenstruktur (154, 220), die die Wortgruppen anzeigt, wobei die geordnete Liste (152) von Suffixbeziehungen (20) beim Erzeugen der Wortgruppendatenstruktur (154, 220) automatisch erhalten wird (264, 266).
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei (B) eine Serie von Iterationen (30, 32, 36), jede für eine der Suffixbeziehungen (20) in der Folge, umfasst, wobei jede Iteration umfasst: (B1) Versuchen (42), das Abfragewort (10, 54) gemäß der Suffixbeziehung der Iteration zu modifizieren und (B2) wenn (B1) das Abfragwort (10, 54) erfolgreich modifiziert, um ein modifiziertes Abfragewort (32, 36) zu erhalten, bestimmen, ob das modifizierte Abfragewort (32, 36) in einer der Wortgruppen ist.
  6. Verfahren nach einem der Ansprüche 1 bis 5, weiterhin umfassend: (C) nach Erhalten eines modifizierten Abfragewortes (36), das in einer der Wortgruppen ist, Bereitstellen von Information (192), die die Wortgruppe identifiziert.
  7. Verfahren nach Anspruch 6, wobei jede der Wortgruppen einen Repräsentanten hat, und wobei (C) den Repräsentanten der Wortgruppe ausgibt.
  8. Verfahren nach Anspruch 6, wobei (C) eine Liste von Wörtern in der Wortgruppe ausgibt.
  9. Verfahren nach einem der Ansprüche 1 bis 8, wobei die Schritte (A) bis (C) von einem Prozessor (52) einer zweiten Maschine gemäß durch Instruktionsdaten (132) angezeigten Instruktionen (76) ausgeführt werden, und die Instruktionsdaten (132) von einer ersten Maschine (90) über ein Netz (64) übertragen werden.
  10. System zum Benutzen eines Abfragewortes (10, 54) um eine aus einer Anzahl von Wortgruppen zu identifizieren, umfassend: einen Speicher (56, 50, 130) zum Speichern von Eingabe-Wortdaten (156), und einen Prozessor (52) zum Bestimmen, ob das Abfragewort (10, 54) in einer der Wortgruppen ist, und wenn das Abfragewort (10, 54) nicht in einer der Wortgruppen ist, Versuchen das Abfragewort (10, 54) gemäß einer Folge von Suffixbeziehungen durch Wechseln eines Suffix zu modifizieren (42), bis ein modifiziertes Abfragewort (36) erhalten wird, das in einer der Wortgruppen ist, wobei die Suffixbeziehungen (20) Wechsel zwischen verschiedenen Suffixen für ein Wort anzeigen, und der Speicher weiterhin angepasst ist, die Folge von Suffixbeziehungen geordnet in einer Liste gemäß den Frequenzen des Auftretens der Suffixbeziehungen unter den Wörtern einer natürlichen Sprache zu speichern, wobei die Frequenz des Auftretens einer Suffixbeziehung (20) in einer natürlichen Sprache die Anzahl verschiedener Untermengen von Wörtern in der natürlichen Sprache ist, die durch die Suffixbeziehung verwandt sind, und der Prozessor (52) angepasst ist, zu versuchen (202), das Abfragewort (10, 54) zuerst gemäß einer Suffixbeziehung (20) zu modifizieren, die die höchste Frequenz des Auftretens in der natürlichen Sprache hat.
  11. System nach Anspruch 10, wobei der Prozessor (52) angepasst ist, zu versuchen, das Abfragewort (10, 54) gemäß paarweisen Suffixbeziehungen (20) zu modifizieren.
  12. System nach Anspruch 10 oder 11, wobei der Speicher (56, 60, 130) weiterhin angepasst ist, Wortgruppendaten (72) zu speichern, die die Wortgruppen anzeigen, und der Prozessor (52) weiterhin angepasst ist, nach Erhalten eines modifizierten Abfragewortes (32, 36), auf die gespeicherten Wortgruppendaten (72) zuzugreifen, um zu bestimmen, ob das modifizierte Abfragewort (32, 36) in einer der Wortgruppen ist.
  13. System nach Anspruch 12, wobei die Wortgruppendaten (72) eine FST-Datenstruktur (154) sind.
  14. System nach Anspruch 12 oder 13, wobei der Speicher (56, 60, 130) weiterhin angepasst ist, Suffixbeziehungs-Folgedaten (74) zu speichern, die die Folge von Suffixbeziehungen (152) anzeigen, und der Prozessor (52) weiterhin angepasst ist, beim Versuchen, das Abfragewort (10, 54) zu modifizieren, auf die Suffixbeziehungs-Folgedaten (74) zuzugreifen, um eine nächste Suffixbeziehung zu erhalten.
  15. Computer-Speichermedium (80), worauf ein Computerprogramm gespeichert ist, wobei das Computerprogramm Codemittel umfasst, die, wenn sie auf einem Datenverarbeitungssystem ausgeführt werden, jeden der Schritte eines der Verfahrensansprüche 1 bis 9 ausführen.
DE69934195T 1998-12-16 1999-12-14 Identifikation einer Wortgruppe durch modifizierte Schlüsselwörter, die aus Transformationen von aufeinanderfolgenden Suffixen erzeugt sind Expired - Lifetime DE69934195T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/212,662 US6430557B1 (en) 1998-12-16 1998-12-16 Identifying a group of words using modified query words obtained from successive suffix relationships
US212662 1998-12-16

Publications (2)

Publication Number Publication Date
DE69934195D1 DE69934195D1 (de) 2007-01-11
DE69934195T2 true DE69934195T2 (de) 2007-03-15

Family

ID=22791958

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69934195T Expired - Lifetime DE69934195T2 (de) 1998-12-16 1999-12-14 Identifikation einer Wortgruppe durch modifizierte Schlüsselwörter, die aus Transformationen von aufeinanderfolgenden Suffixen erzeugt sind

Country Status (4)

Country Link
US (1) US6430557B1 (de)
EP (1) EP1011057B1 (de)
JP (1) JP2000181920A (de)
DE (1) DE69934195T2 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6498921B1 (en) * 1999-09-01 2002-12-24 Chi Fai Ho Method and system to answer a natural-language question
US5836771A (en) * 1996-12-02 1998-11-17 Ho; Chi Fai Learning method and system based on questioning
TW388826B (en) * 1998-12-21 2000-05-01 Inventec Corp Quickly word-identifying method
US6865532B2 (en) * 2001-09-19 2005-03-08 Mitsubishi Electric Research Laboratories, Inc. Method for recognizing spoken identifiers having predefined grammars
US6886010B2 (en) * 2002-09-30 2005-04-26 The United States Of America As Represented By The Secretary Of The Navy Method for data and text mining and literature-based discovery
US7941310B2 (en) * 2003-09-09 2011-05-10 International Business Machines Corporation System and method for determining affixes of words
US20050120300A1 (en) * 2003-09-25 2005-06-02 Dictaphone Corporation Method, system, and apparatus for assembly, transport and display of clinical data
US7617091B2 (en) * 2003-11-14 2009-11-10 Xerox Corporation Method and apparatus for processing natural language using tape-intersection
CA2498728A1 (en) * 2004-02-27 2005-08-27 Dictaphone Corporation A system and method for normalization of a string of words
US7409334B1 (en) * 2004-07-22 2008-08-05 The United States Of America As Represented By The Director, National Security Agency Method of text processing
JPWO2006051966A1 (ja) * 2004-11-12 2008-05-29 株式会社ジャストシステム 文書管理装置及び文書管理方法
US7805430B2 (en) * 2005-12-22 2010-09-28 Sap Ag Evaluation of name prefix and suffix during a search
US9069547B2 (en) 2006-09-22 2015-06-30 Intel Corporation Instruction and logic for processing text strings
US20080208566A1 (en) * 2007-02-23 2008-08-28 Microsoft Corporation Automated word-form transformation and part of speech tag assignment
US9218336B2 (en) * 2007-03-28 2015-12-22 International Business Machines Corporation Efficient implementation of morphology for agglutinative languages
KR101254362B1 (ko) * 2007-05-18 2013-04-12 엔에이치엔(주) 공통 접사를 이용한 키워드 순위를 제공하는 방법 및시스템
US20100145854A1 (en) * 2008-12-08 2010-06-10 Motorola, Inc. System and method to enable a secure environment for trusted and untrusted processes to share the same hardware
KR101485940B1 (ko) * 2013-08-23 2015-01-27 네이버 주식회사 시멘틱 뎁스 구조 기반의 검색어 제시 시스템 및 방법
US9971714B2 (en) * 2015-05-05 2018-05-15 Oath Inc. Device interfacing
US10134388B1 (en) * 2015-12-23 2018-11-20 Amazon Technologies, Inc. Word generation for speech recognition
US10831797B2 (en) * 2018-03-23 2020-11-10 International Business Machines Corporation Query recognition resiliency determination in virtual agent systems

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61217863A (ja) 1985-03-23 1986-09-27 Brother Ind Ltd 電子辞書
US5551049A (en) 1987-05-26 1996-08-27 Xerox Corporation Thesaurus with compactly stored word groups
US4864501A (en) 1987-10-07 1989-09-05 Houghton Mifflin Company Word annotation system
US5940624A (en) * 1991-02-01 1999-08-17 Wang Laboratories, Inc. Text management system
US5488725A (en) * 1991-10-08 1996-01-30 West Publishing Company System of document representation retrieval by successive iterated probability sampling
US5625554A (en) 1992-07-20 1997-04-29 Xerox Corporation Finite-state transduction of related word forms for text indexing and retrieval
JPH0756933A (ja) * 1993-06-24 1995-03-03 Xerox Corp 文書検索方法
US5963940A (en) * 1995-08-16 1999-10-05 Syracuse University Natural language information retrieval system and method
US6012053A (en) * 1997-06-23 2000-01-04 Lycos, Inc. Computer system with user-controlled relevance ranking of search results
US6105023A (en) * 1997-08-18 2000-08-15 Dataware Technologies, Inc. System and method for filtering a document stream
US6081774A (en) * 1997-08-22 2000-06-27 Novell, Inc. Natural language information retrieval system and method
US6092065A (en) * 1998-02-13 2000-07-18 International Business Machines Corporation Method and apparatus for discovery, clustering and classification of patterns in 1-dimensional event streams
US6101492A (en) * 1998-07-02 2000-08-08 Lucent Technologies Inc. Methods and apparatus for information indexing and retrieval as well as query expansion using morpho-syntactic analysis
US6308149B1 (en) * 1998-12-16 2001-10-23 Xerox Corporation Grouping words with equivalent substrings by automatic clustering based on suffix relationships

Also Published As

Publication number Publication date
US6430557B1 (en) 2002-08-06
EP1011057A1 (de) 2000-06-21
DE69934195D1 (de) 2007-01-11
EP1011057B1 (de) 2006-11-29
JP2000181920A (ja) 2000-06-30

Similar Documents

Publication Publication Date Title
DE69934195T2 (de) Identifikation einer Wortgruppe durch modifizierte Schlüsselwörter, die aus Transformationen von aufeinanderfolgenden Suffixen erzeugt sind
DE60304331T2 (de) Abrufen übereinstimmender dokumente durch abfragen in einer nationalen sprache
DE69631457T2 (de) Vorrichtung und verfahren zum übertragbaren indexieren von dokumenten gemäss einer n-gram-wortzerlegung
DE69726339T2 (de) Verfahren und Apparat zur Sprachübersetzung
DE3650417T2 (de) Informationsaufzeichnungs- und Wiederauffindungssystem.
DE69934371T2 (de) Apparat und Verfahren zum Verarbeiten einer natürlichen Sprache
DE60029845T2 (de) System zum identifizieren der verhältnisse zwischen bestandteilen in aufgaben vom typ informations-wiederauffindung
DE60029732T2 (de) Phrasenübersetzungsverfahren und -system
DE69028592T2 (de) Gerät zur automatischen Generierung eines Index
DE69820343T2 (de) Linguistisches Suchsystem
DE68928231T2 (de) Verfahren und Vorrichtung zur Maschinenübersetzung
DE69911842T2 (de) Verfahren und Vorrichtung zum Wiederauffinden von Information und entsprechendes Speichermedium
DE19952769B4 (de) Suchmaschine und Verfahren zum Abrufen von Informationen mit Abfragen in natürlicher Sprache
US6308149B1 (en) Grouping words with equivalent substrings by automatic clustering based on suffix relationships
DE3853894T2 (de) Auf Paradigmen basierende morphologische Textanalyse für natürliche Sprachen.
US5708829A (en) Text indexing system
DE69834386T2 (de) Textverarbeitungsverfahren und rückholsystem und verfahren
DE69930690T2 (de) Verfahren und Gerät um einen Index herzustellen, Benutzung von einem Index und ein Speichermedium
DE69432575T2 (de) Dokumentenerkennungssystem mit verbesserter Wirksamkeit der Dokumentenerkennung
DE3852341T2 (de) Zeichenverarbeitungssystem mit Funktion zur Prüfung von Rechtschreibung.
US5323316A (en) Morphological analyzer
DE69400207T2 (de) Sprachabhängiges textvergleichssystem
DE69733294T2 (de) Einrichtung und Verfahren zum Zugriff auf eine Datenbank
DE60101668T2 (de) Verfahren und gerät zum erzeugen eines auf einer formatvorlage basierten index für ein strukturiertes dokument
DE69933123T2 (de) Zugriff auf eine semi-strukturierte datenbank

Legal Events

Date Code Title Description
8364 No opposition during term of opposition