DE69617612T2 - Verfahren und Vorrichtung zum Parsen von Unifikations-basierten Grammatiken unter Verwendung von disjunktiven 'lazy copy' Links - Google Patents
Verfahren und Vorrichtung zum Parsen von Unifikations-basierten Grammatiken unter Verwendung von disjunktiven 'lazy copy' LinksInfo
- Publication number
- DE69617612T2 DE69617612T2 DE69617612T DE69617612T DE69617612T2 DE 69617612 T2 DE69617612 T2 DE 69617612T2 DE 69617612 T DE69617612 T DE 69617612T DE 69617612 T DE69617612 T DE 69617612T DE 69617612 T2 DE69617612 T2 DE 69617612T2
- Authority
- DE
- Germany
- Prior art keywords
- feature
- lazy
- disjunctive
- structures
- feature structure
- 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
Links
- 238000000034 method Methods 0.000 title claims description 49
- 239000000470 constituent Substances 0.000 claims description 79
- 230000015654 memory Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 17
- 230000003993 interaction Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 238000010561 standard procedure Methods 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 241000269319 Squalius cephalus Species 0.000 description 1
- 241001422033 Thestylus Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
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)
Description
- Die vorliegende Erfindung betrifft ein Verfahren zum Parsen von Sprachzeichenketten. Konkret betrifft die Erfindung ein Verfahren zum Parsen von Sprachzeichenketten unter Verwendung von unifikationsbasierten Grammatiken und Merkmalstrukturen mit disjunktiven 'Lazy-Copy'-Links.
- Die Explosion der Informationsmenge hat zu einer bisher unerfüllten Forderung nach einer automatischen Verarbeitung von Texten natürlicher Sprachen geführt. Eine solche Fähigkeit würde Schnittstellen natürlicher Sprachen zu Datenbanken, eine automatisierte Erzeugung von Auszügen und Zusammenfassungen von Texten in natürlichen Sprachen sowie die automatische Übersetzung und Interpretation natürlicher Sprache ermöglichen. Gehemmt wird die Entwicklung dieser Technologien durch den erforderlichen Zeitaufwand für die Verarbeitung moderner grammatischer Formalismen. Viele moderne grammatische Formalismen verwenden rekursive Merkmalstrukturen zum Beschreiben der syntaktischen Struktur natürlicher Sprachäußerungen. Zum Beispiel nutzen die Lexical-Functional Grammar (Kapfan und Bresnan 1982) (siehe Anhang bezüglich der vollständigen Auflistung dieser und aller anderen Quellen), Functional Unification Grammar (Kay 1979), HPSG (Pollard und Sag 1987) und die Definite Clause Grammars (Pereira und Warren 1980) sämtlich rekursive Merkmalstrukturen als eine Hauptkomponente grammatischer Beschreibungen. Merkmalstrukturen haben den Vorteil, dass sie leicht zu verstehen und umzusetzen sind, vorausgesetzt, es werden unifikationsbasierte Programmiersprachen verwendet, z.B. Prolog. Von Nachteil ist bei ihnen jedoch, dass sie das effiziente Parsen der entstehenden Grammatikformalismen schwierig gestalten, sowohl in der Theorie als auch in der Praxis. Theoretisch kann bei Grammatikformalismen mit arbiträren rekursiven Merkmalstrukturen im schlimmsten Fall keine Entscheidung getroffen werden (Blackburn und Spaan 1993). Selbst mit geeigneten Beschränkungen, z.B. Offline- Parsabilitäts-Constraint von LFG, können die Formalismen im schlimmsten Fall exponentiell sein (Barton, Berwick und Ristad 1987). Wenngleich in der Praxis die Arten von Phänomen rar sind, für die ein Formalismus exponentiell viel Zeit benötigt, brauchen unabgestimmte unifikationsbasierte Parser gewöhnlich einige Minuten zum Parsen eines mittelmäßig komplizierten Satzes.
- In den vergangenen Jahren gab es verschiedene Ansätze, die Arbeitsgeschwindigkeit von unifikationsbasierten Parsern zu erhöhen. Ein solcher Ansatz bestand darin, die Unifikation an sich schneller zu gestalten. Zusätzlich zu den allgemeinen Bemühungen im Hinblick auf eine effiziente Unifikation (Knight 1989) wurde von Computer-Linguisten an einer umkehrbaren Unifikation (Karttunen 1986), am Lazy- Copying (Godden 1990) und an Kombinationen von beiden gearbeitet (Tomabechi 1991). Eine andere Herangehensweise konzentrierte sich auf das Problem der Disjunktion und schlug Verfahren zum effizienten Umgang mit besonderen Disjunktionsfällen vor. Zum Beispiel können Disjunkte, die inkonsistent zu dem nichtdisjunktiven Teil sind, zeitig eliminiert werden (Kasper 1987). Darüber hinaus können bestimmte Arten von Disjunktionen effizient verarbeitet werden, indem sie in die Merkmalstruktur eingebettet werden (Karttunen 1984; Bear 1988; Maxwell und Kaplan 1989; Dörre und Eisele 1990). Zudem gab es einige Arbeiten über die kontextfreie Komponente grammatischer Formalismen. Es wurde nachgewiesen, dass sich die Granularität von Phrasenstrukturregeln entscheidend auf die Parsing-Effizienz auswirkt (Nagata 1992). Ebenso können die Strategien zum Umgang mit der Interaktion zwischen den Phrasen- und Funktionskomponenten einen erstaunlichen Effekt hervorbringen (Maxwell und Kaplan 1993).
- Ein Ziel der vorliegenden Erfindung besteht darin, die Zeit zu verkürzen, die zum Parsen einer unifikationsbasierten Grammatik mit Merkmalstrukturen erforderlich ist. Ein weiteres Ziel der Erfindung besteht in der Ausnutzung der Kontextfreiheit in Sprachzeichenketten, um die Parsing-Zeit zu verringern.
- Die vorliegende Erfindung schafft ein Verfahren zum Unifizieren von Merkmalstrukturen unter Verwendung von disjunktiven Lazy-Copy-Links. Das Verfahren beginnt mit der Unifikation von zwei Tochter-Merkmalstrukturen, um deren Mutter-Merkmalstruktur zu erzeugen. Lazy-Copy-Links zeigen von der Mutter-Merkmalstruktur zurück zu deren Tochter-Merkmalstrukturen. Wenn die Unifikation einen dieser Lazy- Copy-Links aktiviert, wird eine der Merkmalstrukturen, auf die ein aktivierter Lazy- Copy-Link weist, erweitert. Die Erweiterung einer disjunktiven Merkmalstruktur kann eine Reihe alternativer Merkmalstrukturen hervorbringen. Wenn dies der Fall ist, werden die alternativen Merkmalstrukturen untersucht, um zu bestimmen, ob deren Anzahl reduziert werden kann, indem mehrere Merkmalstrukturen durch eine Merkmalstruktur mit mehreren disjunktiven Lazy-Copy-Links ersetzt werden, wobei jeder disjunktive Lazy-Copy-Link auf einen alternativen Wert zeigt. Zwei oder mehr Merkmalstrukturen können miteinander verflochten werden, wenn sie die gleichen Attribute und Attributwerte aufweisen. Nachdem das Verflechten abgeschlossen ist, wird die Unifikation der beiden Tochter-Merkmalstrukturen mit jedem Attribut einzeln nacheinander an der Stelle wieder aufgenommen, an der die Unifikation zwecks Erweiterung anhielt. Immer wenn die Unifikation eines Attributs einen Lazy-Copy-Link aktiviert, wird erneut eine Erweiterung ausgelöst. Der Prozess des Erweiterns, Verflechtens und Unifizierens wird so lange wiederholt, bis eine Mutter-Merkmalstruktur erzeugt worden ist, die keine aktivierten Lazy-Copy-Links mehr einschließt.
- Die vorliegende Erfindung schafft ein Verfahren zum Parsen einer Sprachzeichenkette unter Verwendung einer unifikationsbasierten Grammatik, welche disjunktive Lazy- Copy-Links einschließt, wobei das Verfahren von einem Prozessor ausgeführt wird, der an einen Speicher angeschlossen ist, welcher Befehle zum Ausführen des Verfahrens speichert, wobei das Verfahren die folgenden Schritte umfasst: a) Unifizieren einer ersten disjunktiven Merkmalstruktur, die einer ersten Konstituente zugeordnet ist, und einer zweiten disjunktiven Merkmalstruktur, die einer zweiten Konstituente zugeordnet ist, um eine dritte Merkmalstruktur zu erzeugen, die einer dritten Konstituenten zugeordnet ist, wobei die erste disjunktive Merkmalstruktur ein erstes Attribut und zwei disjunktive Lazy-Copy-Links aufweist, wobei jeder disjunktive Lazy-Copy- Link auf einen alternativen Wert des ersten Attributs verweist, wobei die dritte Merkmalstruktur unterspezifiziert ist und einen ersten Lazy-Copy-Link zu der ersten disjunktiven Merkmalstruktur aufweist; b) wenn eine Unifikation den ersten Lazy-Copy- Link aktiviert, Erweitern der Spezifikation der ersten disjunktiven Merkmalstruktur, um eine erste Vielzahl alternativer Merkmalstrukturen zu erzeugen, wobei jede von der ersten Vielzahl alternativer Merkmalstrukturen weiter spezifiziert ist als die erste disjunktive Merkmalstruktur und mindestens ein Attribut aufweist, wobei jedes Attribut einen Wert hat; c) falls möglich, Reduzieren der ersten Vielzahl alternativer Merkmalstrukturen auf ein erstes Minimum erster disjunktiver Merkmalstrukturen durch Verflechtung jener von den ersten alternativen Merkmalstrukturen, die über einen ersten Satz identischer Attribute verfügen, um eine von dem ersten Minimum disjunktiver Merkmalstrukturen zu erzeugen, wobei die eine von dem ersten Minimum disjunktiver Merkmalstrukturen über den ersten Satz identischer Attribute verfügt und mindestens ein Paar disjunktiver Lazy-Copy-Links aufweist, das auf alternative Werte innerhalb der verflochtenen alternativen Merkmalstrukturen verweist; und d) Unifizieren des ersten Minimums erster Merkmalstrukturen mit der zweiten Merkmalstruktur, um die Spezifikationsebene der dritten Merkmalstruktur zu erhöhen, wobei die dritte Merkmalstruktur mindestens einen Lazy-Copy-Link zu den ersten Merkmalstrukturen aufweist.
- Des Weiteren schafft die Erfindung einen Gegenstand gemäß Anspruch 3 der beiliegenden Patentansprüche.
- Weiterhin schafft die Erfindung eine programmierbare Datenverarbeitungseinrichtung, bei geeigneter Programmierung, zur Ausführung des Verfahrens aus Anspruch 1 oder 2 der beiliegenden Patentansprüche oder gemäß einer der beschriebenen Ausführungsformen.
- Weitere Ziele, Merkmale und Vorteile der Erfindung werden aus den beiliegenden Zeichnungen und der nachfolgenden detaillierten Beschreibung deutlich.
- Die vorliegende Erfindung wird an Beispielen und anhand der beiliegenden Zeichnungen, deren Figuren keine Eingrenzung darstellen, veranschaulicht, wobei die gleichen Bezugsziffern gleiche Elemente angeben.
- Fig. 1 zeigt ein Rechnersystem zum Parsen unifikationsbasierter Grammatiken mit Hilfe disjunktiver Lazy-Copy-Links.
- Fig. 2 ist ein Chart einer natürlichen Sprachzeichenkette in einer unifikationsbasierter Grammatik.
- Fig. 3 ist ein Chart einer natürlichen Sprachzeichenkette mit Hilfe einer unifikationsbasierten Grammatik und disjunktiven Lazy-Copy-Links.
- Fig. 4 ist ein Ablaufdiagramm eines Verfahrens zum Initialisieren eines Charts.
- Fig. 5 veranschaulicht ein Ablaufdiagramm für ein Verfahren zum Unifizieren von Merkmalstrukturen mit disjunktiven Lazy-Copy-Links, um die Kontextfreiheit auszunutzen.
- Fig. 6 zeigt ein Beispiel-Chart.
- Fig. 7 zeigt ein Ablaufdiagramm eines Verfahrens zum rekursiven Erweitern von Merkmalstrukturen mit konjunktiven Lazy-Copy-Links und disjunktiven Lazy-Copy- Links.
- Fig. 8 zeigt ein Chart für die Unifikation von zwei Schwester-Konstituenten auf einer ersten Stufe.
- Fig. 9 stellt ein Chart für die Unifikation von zwei Schwester-Konstituenten auf einer zweiten Stufe dar.
- Fig. 10 zeigt ein Chart für die Unifikation von zwei Schwester-Konstituenten auf einer dritten Stufe.
- Fig. 11 zeigt ein Chart für die Unifikation von zwei Schwester-Konstituenten auf einer vierten Stufe.
- Fig. 12 zeigt ein Chart für die Unifikation von zwei Schwester-Konstituenten auf einer fünften Stufe.
- Fig. 13 zeigt ein Chart für die Unifikation von zwei Schwester-Konstituenten auf einer sechsten Stufe.
- Fig. 14 zeigt ein Chart für die Unifikation von zwei Schwester-Konstituenten auf einer siebten Stufe.
- Aktivierter Lazy-Gopy-Link - Ein Lazy-Copy-Link wird während der Unifizierung aktiviert, wenn er mit einem Element einer anderen Merkmalstruktur interagiert. (Siehe nachstehende Definition von Merkmalstruktur.) Ein Lazy-Copy-Link kann beispielsweise von einem anderen Lazy-Copy-Link oder einem Merkmal aktiviert werden. Ein Lazy-Copy-Link, der durch Verkürzung (truncation) in eine Merkmalstruktur eingebettet ist, wird nur dann aktiviert, wenn die Merkmalstruktur, in die er eingebettet ist, mit einer Merkmalstruktur unifiziert wird, die nicht leer ist. Zum Beispiel: Unifikation von [lazy-link1] mit [A+] aktiviert lazy-link1. Die Unifikation von [lazy-link1] mit [lazy-link2]
- Attribut - Ein Attribut ist der Name einer grammatischen Funktion, wie z.B. Subjekt, Objekt, Anzahl, etc. Jedes Attribut nimmt einen Wert an. Attribute werden auch als Merkmale bezeichnet.
- Chart - Ein Chart ist eine Datenstruktur zum Cachen der Konstituenten, die bereits von einem Parser erstellt wurden.
- Konstituente - Eine Gruppe von Wörtern innerhalb einer Zeichenkette, die innerhalb der Zeichenkette benachbart sein kann oder auch nicht. Nach dieser Definition kann eine Zeichenkette Konstituenten unabhängig davon einschließen, ob die verwendete Grammatik die Konstituenten explizit oder implizit definiert. Wird als Synonym zu "Kante" verwendet.
- Kontextfrei - Eine Grammatik ist kontextfrei, wenn zwei Konstituenten miteinander kombiniert werden können, ohne die interne Struktur der kombinierten Konstituenten zu beachten.
- Cross Product - Prozess der Betrachtung aller Elementpaare aus zwei Sätzen (Sets).
- Disjunktion - Komplexes Constraint in der Logik, die wahr ist, wenn eine ihrer Disjunkte wahr ist.
- Erweitern - Erweitern ist das Erhöhen der Spezifizierungsebene einer Merkmalstruktur, sodass die entstehende Merkmalstruktur Informationen einschließt, die vorher durch Verkürzen weggelassen wurden und über einen Lazy-Copy-Link angezeigt werden. Durch Erweiterung werden möglicherweise nicht alle Lazy-Copy-Links aus einer Merkmalstruktur entfernt, da die unteren Ebenen über Lazy-Copy-Links dargestellt werden.
- Merkmalstruktur - Eine Darstellung einer Oberflächen-Grammatikfunktion eines Teils einer Zeichenkette. Diese Information wird als ein Satz geordneter Paare repräsentiert, von denen jedes aus einem Attribut und einer Spezifikation des Wertes jenes Attributs besteht. In der Notation werden Merkmalstrukturen beschrieben, indem der Satz geordneter Paare vertikal in eckigen Klammern angeordnet wird, wobei jedes Attribut-Wort-Paar auf einer einzigen horizontalen Linie angeordnet ist.
- Interagieren - Man sagt, ein Lazy-Copy-Link interagiert bzw. wird aktiviert, wenn er mit einem anderen Lazy-Copy-Link oder Merkmal unifiziert wird.
- Lazy-Copying - Ein Standardverfahren zum Unifizieren von Merkmals-Graphen miteinander, das nur jene Teile von Merkmals-Graphen kopiert, die interagieren.
- Nichtendliche Merkmalstruktur - Eine Merkmalstruktur, die Merkmalstrukturen als die Werte ihrer Merkmale aufweist.
- NP - Nominalphrase.
- O() - Notation mit der Bedeutung von "in der Ordnung von", z.B. bedeutet "O(n)" in der Ordnung von n.
- Parsing - Verfahren zum Analysieren eines Satzes oder einer Zeichenkette, um dessen/deren zugrunde liegende Bedeutung zu bestimmen.
- PP - Präpositionalphrase
- Verkürzt (truncated) - Eine verkürzte Merkmalstruktur ist eine solche, die nicht vollständig spezifiziert ist; d.h., eine verkürzte Merkmalstruktur ist eine partielle Kopie alternativer Merkmalstrukturen.
- Unterspezifiziert - Eine Merkmalstruktur wird als unterspezifiziert bezeichnet, wenn sie nicht sämtliche Informationen einschließt, die zum Beschreiben ihrer Merkmale notwendig sind, und anstatt dessen Lazy-Copy-Links zu anderen Merkmalstrukturen aufweist, um die weggelassenen Informationen anzugeben.
- Unifikation - Unifikation ist eine Kombinieroperation an zwei Merkmalstrukturen, mit der eine dritte Merkmalstruktur hergestellt wird. Im Allgemeinen repräsentiert die konjunktive Merkmalstruktur mehr Informationen als jede der Merkmalstrukturen, die sie unifiziert.
- Unspezifiziert - Eine Merkmalstruktur wird als unspezifiziert bezeichnet, wenn sie nur einen Lazy-Copy-Link zu einer anderen Merkmalstruktur bzw. Lazy-Copy-Links zu einer oder mehreren anderen Merkmalstrukturen aufweist.
- Fig. 1 zeigt ein Rechnersystem 30, welches das erfindungsgemäße Unifizierungsverfahren ausführt. Mit Hilfe von im Speicher 45 gespeicherten Befehlen 100 ist das Computersystem 30 imstande, in Kubikzeit jene Teile einer Zeichenkette zu parsen, die von einer unifikationsbasierten Grammatik repräsentiert werden und kontextfrei sind. Kurz gesagt, die Befehle 100 führen dazu, dass das Rechnersystem 30 die disjunktiven Merkmalstrukturen von zwei Schwester-Konstituenten unifiziert. Wenn durch jene Unifikation ein Lazy-Copy-Link aktiviert wird, erweitert das Rechnersystem 30 die Spezifikationsebene von einer (der) Schwester-Merkmalstruktur(en), auf die ein oder mehrere aktivierte Lazy-Copy-Link(s) verweisen. Durch Erweiterung einer disjunktiven Merkmalstruktur kann eine Reihe alternativer Merkmalstrukturen erzeugt werden. Wenn dies der Fall ist, werden die alternativen Merkmalstrukturen von dem Rechnersystem 30 untersucht, um festzustellen, ob deren Anzahl reduziert werden kann, indem mehrere Merkmalstrukturen durch eine Merkmalstruktur mit mehreren disjunktiven Lazy-Copy-Links ersetzt werden, von denen jeder auf einen alternativen Wert verweist. Wenn mehrere Merkmalstrukturen dieselben Attribute und Werte haben, verflechtet das Rechnersystem diese, sodass eine einzige disjunktive Merkmalstruktur mit eingebetteten disjunktiven Lazy-Copy-Links entsteht. Man geht davon aus, dass zwei Attribute denselben Wert haben, wenn von Lazy-Copy-Links jener Wert angezeigt wird, wodurch das Hochkopieren unnötiger Informationen verhindert wird. Anschließend nimmt das Rechnersystem 30 die Unifikation der beiden Schwester-Merkmalstrukturen wieder auf, und zwar bei jedem Attribut einzeln nacheinander. Immer dann, wenn die Unifikation eines Attributs einen bzw. mehrere Lazy-Copy- Links aktiviert, erweitert das Rechnersystem 30 wiederum eine der Tochter- Merkmalstrukturen, auf die von einem aktivierten Lazy-Copy-Link verwiesen wird, wobei die so entstandenen alternativen Merkmalstrukturen, wann immer möglich, verflochten werden. Dieser Prozess der Unifikation und Erweiterung wird so lange fortgesetzt, bis eine Mutter-Merkmalstruktur entsteht, die keine aktivierten Lazy- Copy-Links mehr enthält. Da Merkmalstrukturen nur dann erweitert werden, wenn eine verkürzte Information relevant wird, nutzt das Rechnersystem 30 die Kontextfreiheit, wo immer sie auftritt, aus, um das wiederholte Kopieren von Informationen zu verhindern, die für den Prozess der Unifikation nicht relevant sind.
- Vor einer näheren Erörterung der vorliegenden Erfindung wird das Rechnersystem 30 betrachtet. Das Rechnersystem 30 verfügt über einen Monitor 32 zum visuellen Anzeigen von Informationen für einen Benutzer des Rechners. Des Weiteren gibt das Rechnersystem 30 über den Drucker 33 Informationen an den Benutzer des Rechners aus. Das Rechnersystem 30 bietet dem Benutzer des Rechners mehrere Möglichkeiten zum Eingeben von Daten. Über die Tastatur 34 kann er manuell Daten eingeben. Darüber hinaus kann er Informationen eingeben, indem er mit dem Stift 40 auf einem elektronischen Tablett 38 schreibt. Alternativ kann der Benutzer des Rechners Daten eingeben, die auf maschinenlesbaren Medien, z.B. einer Diskette 43, gespeichert sind, indem die maschinenlesbaren Medien in das Plattenlaufwerk eingeschoben werden. Eine optische Zeichenerkennungseinheit (Optical Character Recognition Unit - OCR-Einheit) 44 gestattet es den Benutzern, ein auf Papier ausgedrucktes Dokument 46 in einer natürlichen Sprache einzugeben, das in eine codierte elektronische Darstellung konvertiert wird, im typischen Fall in American National Standard Code for Information Interchange (ASCII).
- Der Prozessor 31 steuert und koordiniert die Funktionsweise des Rechnersystems 30, um die Befehle vom Rechnerbenutzer auszuführen. Als Reaktion auf jeden Befehl bestimmt der Prozessor 31 die angemessene Maßnahme und führt sie aus, indem Befehle ausgeführt werden, die elektronisch in einem Speicher, entweder in dem Speicher 45 oder auf der Diskette 43 innerhalb des Laufwerks 42, gespeichert sind. Normalerweise sind die Betriebsbefehle für den Prozessor 31 in einem Festkörperspeicher 45 gespeichert, wodurch ein häufiger und schneller Zugriff zu den Befehlen ermöglicht wird. Speichervorrichtungen, die als Speicher 45 verwendet werden können, umfassen standardmäßige Halbleiter-Schaltvorrichtungen, wie z.B. Read Only Memories (ROM), Random Access Memories (RAM), Dynamic Random Access Memories (DRAM), Programmable Read Only Memories (PROM), Erasable Programmable Read Only Memories (EPROM) sowie Electrically Erasable Programmable Read Only Memories (EEPROM), wie z.B. Flash-Kartenspeicher.
- Das erfindungsgemäße Parsing-Verfahren nutzt die Beobachtung aus, dass standardmäßige Verfahren zum Parsen unifikationsbasierter Grammatiken sogar dann exponentiell viel Zeit in Anspruch nehmen, wenn linguistische Phänomene, für die ein Modell erstellt wird, kontextfrei sind. Das heißt, selbst wenn linguistische Phänomene mittels einfacher Phrasenstrukturregeln repräsentiert werden können, sodass ein Phrasenstrukturparser höchstens eine Zeit O(n³) zum Parsen eines Satzes benötigt, wobei n die Länge des Satzes in Wörtern ist, braucht ein standardmäßiger unifikationsbasierter Merkmalstruktur-Parser, der denselben Satz modelliert, eine Zeitspanne von O(2n). Um zu begreifen, warum zusätzliche Merkmalstrukturen die Parsing-Zeit so dramatisch erhöhen, muss man verstehen, wie eine kontextfreie Grammatik mit Hilfe eines Charts in Kubikzeit geparst werden kann und wie zusätzliche Merkmalstrukturen das entstehende System exponentiell machen, wenn standardmäßige Ansätze zum Parsen genutzt werden. Beide Themen werden nachstehend näher erläutert.
- Ein Chart ist einfach eine Datenstruktur zum Cachen der Konstituenten, die bereits von einem Parser erstellt wurden. Der Hauptvorteil eines Charts liegt darin, dass der Parser vorhandene Konstituenten erneut verwenden kann, wenn er versucht, den Satz anders zu parsen (Sheil 1976). Wenn die Grammatik kontextfrei ist, braucht der Parser nicht zu wissen, wie die Konstituenten aufgebaut werden, sondern nur, dass sie konstruierbar sind. Zum Beispiel muss der Parser wissen, ob eine NP vorhanden ist, die vom fünften bis zum zehnten Wort reicht, er braucht jedoch nicht zu wissen, ob die NP eine PP enthält. Deswegen gibt es lediglich 0(Cn²) verschiedene Konstituenten, die für einen Satz der Längen erstellt werden könnten, wobei C die Anzahl verschiedener Kategorien ist, welche die Grammatik zulässt. Die n² ergibt sich aus dem Cross Product aller möglichen Wortpositionen. Von der Konzeption her ist das Chart lediglich eine dreidimensionale Anordnung aus (Kategorie, Linker Position, Rechter Position), die angibt, ob eine Konstituente des Typs Kategorie vorliegt, die an der Linken Position beginnt und an der Rechten Position endet. Ein Satz verfügt über ein Parse, wenn eine Kategorie S vorliegt, die am Anfang des Satzes beginnt und am Ende des Satzes endet. Eine Möglichkeit zum Ausfüllen des Charts besteht darin, mit allen Ein-Wort-Konstituenten zu beginnen, anschließend alle Zwei-Wort- Konstituenten zu erstellen, dann die Drei-Wort-Konstituenten usw., wobei jede Ebene auf den Ergebnissen der vorherigen Ebenen aufbaut. Dies wird als CKY-Algorithmus bezeichnet (Younger 1967). Der Algorithmus ist 0(n³) und nicht 0(n²), weil jede Konstituente auf verschiedene Weisen aufgebaut sein kann. Im schlimmsten Fall kann eine Konstituente mit einer Größe von 0(n) auf 0(n) verschiedene Arten erstellt werden. Für die Erstellung von 0(n²)-Konstituenten auf 0(n) Arten ist die Zeit 0(n³) erforderlich. Bei dem CKY-Algorithmus müssen die Konstituenten in einer bestimmten Reihenfolge erstellt werden, und zwar vom kleineren zum größeren hin. Eine flexiblere Möglichkeit zum Aufbau eines Charts besteht in der Aufrechterhaltung einer Agenda von Konstituenten, die noch nicht verarbeitet worden sind (Early 1970). Die Konstituenten werden einzeln nacheinander von der Agenda genommen und wie folgt verarbeitet: Jede Konstituente sucht rechts und links nach Konstituenten zum Kombinieren. Wenn sie eine Konstituente zum Kombinieren findet, überprüft sie das Chart, um festzustellen, ob sich die entstehende Konstituente bereits im Chart befindet. Ist dies nicht der Fall, wird die Konstituente zu dem Chart hinzugefügt und auf die Agenda gesetzt. Anschließend wird der Prozess so lange fortgesetzt, bis die Agenda leer ist. Die Agenda ermöglicht eine größere Flexiblität, da Konstituenten in jeder beliebigen Reihenfolge von der Agenda genommen werden können. Diese Art Parser wird als "aktiver Chart-Parser" bezeichnet.
- Wie bereits beschrieben, bestimmen die obigen Algorithmen lediglich, ob ein Satz geparst werden kann oder nicht; sie bestimmen nicht, welches die gültigen Parsing- Bäume sind. Allerdings ist diese Information durch einfache Hinzufügungen zu diesen Algorithmen erhältlich. Immer dann, wenn eine Konstituente, die als "Mutter"- Konstituente bezeichnet wird, aus Teilkonstituenten oder "Tochter"-Konstituenten aufgebaut ist, wird dieser Aufbau als lokaler Teilbaum der erstellten Konstituenten festgehalten. Ein Chart, das solche Teilbäume notiert, wird auch als "Parse-Wald" bezeichnet. Wenn der Parser fertig ist, kann ein spezieller Parse-Baum ausgelesen werden, indem bei dem den gesamten Satz überspannenden S-Konstituenten begonnen wird und willkürlich ein Teilbaum herausgesucht wird. Anschließend wird für jede Tochter-Konstituente willkürlich ein Teilbaum ausgewählt. Dieser Prozess wird so lange fortgesetzt, bis der Baum vollständig spezifiziert ist. Allgemein kann es exponentiell viele solche vollständig spezifizierten Bäume geben, doch der Parse-Wald für sie kann in Kubikzeit erzeugt werden, da sie in einer kompakten Darstellung gespeichert sind.
- Viele Grammatik-Formalismen fügen Merkmalstrukturen zu einem Grundgerüst kontextfreier Phrasenstrukturregeln hinzu. Je nach Grammatik können die Merkmalstrukturen explizit sein, wie im Fall der lexikalisch-funktionalen Grammatik (Kaplan und Bresnan 1982), oder implizit, wie im Falle der funktionalen Unifikations-Grammatik (Kay 1979).
- Ein standardmäßiger Ansatz zum Parsen von Merkmalstrukturen, ungeachtet dessen, ob sie explizit oder implizit sind, besteht darin, zuerst ein kontextfreies Phrasenstruktur-Chart zu erstellen und anschließend einen zweiten Durchlauf an der Chart- Datenstruktur auszuführen, bei dem die Merkmalstrukturen von unten nach oben aufgebaut werden (siehe Maxwell und Kaplan 1993). Entsprechend den gegebenen Merkmal-Constraints werden zuerst von den lexikalischen Elementen Instanzen gebildet, sodass Merkmalstrukturen entstehen. Wenn die lexikalischen Elemente mehrdeutig sind, führt dies zu mehreren Merkmalstrukturen. Daraufhin werden Merkmalstrukturen für eine Mutter-Konstituente erstellt, indem das Cross Product der zu den Tochter-Konstituenten gehörenden Merkmalstrukturen ermittelt wird. Im Anschluss werden alle inkonsistenten Kombinationen herausgefiltert. Das Ergebnis ist ein Satz von Merkmalstrukturen, die bis zu diesem Punkt konsistent sind. Wenn es mehr als eine Möglichkeit für die Herstellung der Mutter-Konstituente aus den Tochter- Konstituenten gibt, dann werden Sätze von Merkmalstrukturen aus allen Analysen unifiziert. Dieser Prozess wird so lange von unten nach oben fortgesetzt, bis für alle Konstituenten Merkmalstrukturen entstanden sind.
- Aufgrund des Cross Product, das auf jeder Ebene entsteht, ist dieser Prozess im schlimmsten Fall exponentiell. Wenn beispielsweise ein lexikalisches Element zweideutig ist, kann es sogar dann, wenn die Phrasenstrukturgrammatik eindeutig ist, 0(2n) verschiedene Merkmalstrukturen für die oberste Konstituente geben.
- Wenn nur Merkmale mit endlichen Werten verwendet werden, kann ein Parser in Kubikzeit arbeiten, da nur eine endliche Anzahl von Merkmalstrukturen möglich ist, und auf jeder Ebene müssen wir nur jene verfolgen, ohne alle Möglichkeiten aufzuzählen, wie sie entstanden sind. Nachdem die obere Grenze der Anzahl möglicher Merkmalstrukturen erreicht ist, wächst die Anzahl der Merkmalstrukturen auf jeder Ebene nicht mehr weiter. Wenn sämtliche Werte der Merkmale binär sind, kann die Konstituente auf der obersten Ebene höchstens 0(2k) verschiedene Merkmalstrukturen haben, wobei k die Anzahl verschiedener Merkmale ist. Somit wird aus einer Exponentialfunktion der Satzlänge eine exponentielle Grammatikkonstante, indem nur endliche Merkmal-Graphen verwendet werden. Leider lässt sich die zum Parsen von nichtendlichen Merkmalstrukturen benötigte Zeit nicht auf die gleiche Art und Weise verringern.
- Das erfindungsgemäße Verfahren zum Parsen von unifikationsbasierten Grammatiken verringert die zum Parsen von kontextfreien Zeichenketten erforderliche Zeit durch Einführung von disjunktiven Lazy-Copy-Links. Durch diese neue Art von Lazy- Copy-Links können Merkmalstrukturen so behandelt werden, als seien sie verkürzt, doch gegebenenfalls können sie auch erweitert werden, wenn die verkürzte Information relevant wird.
- Bereits vorhandene Kenntnisse über standardmäßige Lazy-Copy-Links sind bei der folgenden Erörterung disjunktiver Lazy-Copy-Links hilfreich. Standardmäßige Lazy- Copy-Links bilden die typische Möglichkeit zum Reduzieren des Kopierumfangs, der von einem unifikationsbasierten Chart-Parser benötigt wird (Godden 90). Immer dann, wenn Merkmalstrukturen aus Tochter-Konstituenten unifiziert werden, müssen die Merkmalstrukturen kopiert werden, um eine Kreuzkopplung (cross talk) zu verhindern, denn die Tochter-Merkmalstrukturen können auch in anderen Satzanalysen verwendet werden. Allerdings ist das Kopieren von Merkmalstrukturen sehr kostspielig. Deshalb schlug Godden 1990 das Lazy-Copying von Merkmalstrukturen vor. Bei dem Lazy-Copying werden zuerst nur die obersten Ebenen jeder Merkmalstruktur kopiert. An der Kantezone dessen, was kopiert worden ist, weisen standardmäßig Lazy-Copy-Links zu dem noch nicht kopierten Material zurück. Anschließend werden die kopierten Merkmalstrukturen unifiziert. Wenn während der Unifikation keine standardmäßigen Lazy-Copy-Links vorliegen, waren die Merkmale getrennt, und die Unifikation kann aufhören. Die entstehende Merkmalstruktur verfügt wahrscheinlich über ein Gemisch aus Lazy-Copy-Links, von denen einige auf eine Tochter und einige auf eine andere verweisen.
- In Fig. 2 ist eine Situation, wie sie gerade beschrieben wurde, graphisch dargestellt. Merkmalstruktur 60 entsteht durch die Unifikation von Tochter-Merkmalstrukturen 62 und 64. Merkmalstruktur 60 ist nicht vollständig spezifiziert und repräsentiert über standardmäßige Lazy-Copy-Links 66 und 68 die Werte von zwei ihrer Attribute. Lazy- Copy-Link 66 weist zu der Information innerhalb der Tochter-Merkmalstruktur 62, während Lazy-Copy-Link 68 zu der Information zeigt, die in der Tochter-Merkmalstruktur 64 enthalten ist.
- Lazy-Copy-Links müssen erweitert werden, wenn man während des Unifizierens auf sie stößt, weil es möglich ist, dass das nicht kopierte Material mit dem entsprechenden Material in einer Schwester-Konstituenten nicht unifizierbar ist. Lazy-Copy-Links werden erweitert, indem eine Merkmalebene in der darunter liegenden Merkmalstruktur hochkopiert wird, wobei ein neuer Satz von Lazy-Copy-Links auf das noch zu kopierende Material verweist. Daraufhin wird die Unifikation fortgesetzt, wobei möglicherweise noch weitere Lazy-Copy-Links erweitert werden müssen.
- Der Hauptunterschied zwischen disjunktiven Lazy-Copy-Links und standardmäßigen Lazy-Copy-Links besteht darin, dass jeder disjunktive Lazy-Copy-Link eine alternative Erweiterung eines Merkmalwertes repräsentiert. Gleiche standardmäßige Lazy- Copy-Links, auf die man während der Unifizierung disjunktiver Lazy-Copy-Links trifft, lösen eine Erweiterung ihrer dazugehörigen Merkmalstrukturen aus, die durch Lazy- Copy-Links entstanden sind. Anders als standardmäßige Lazy-Copy-Links können zwei oder mehr disjunktive Lazy-Copy-Links mit demselben Attribut verbunden sein, ohne eine Erweiterung auszulösen. Die erweiterten Merkmalstrukturen können ebenfalls Lazy-Copy-Links einschließen.
- Durch Verwendung disjunktiver Lazy-Copy-Links verfügt jede Konstituente bzw. jede Kante eines Charts über zwei Arten von Merkmalstrukturen: konjunktive und disjunktive. Konjunktive Merkmalstrukturen entstehen durch Unifizieren von Tochter- Merkmalstrukturen. Konjunktive Merkmalstrukturen verwenden Lazy-Copy-Links standardmäßig, um ein Hochkopieren von Material von unten nach oben zu vermeiden. Im Gegensatz dazu resultieren disjunktive Merkmalstrukturen aus dem Verflechten konjunktiver Merkmalstrukturen, die bis zu einem bestimmten Punkt gleich sind. Disjunktive Merkmalstrukturen verwenden disjunktive Lazy-Copy-Links, um alternative Erweiterungen einer verkürzten Merkmalstruktur zu repräsentieren. Da disjunktive Merkmalstrukturen zu einem Konsumenten einer Konstituente exportiert werden, werden sie auch als "extern" bezeichnet, während konjunktive Merkmalstrukturen, die typischerweise nicht exportiert werden, als "intern" bezeichnet werden.
- In Fig. 3 sind die konjunktiven und disjunktiven Merkmalstrukturen dargestellt, die zu der Konstituenten 70 gehören. Die Merkmalstrukturen 72, 74, 76 und 78 sind konjunktiv. Die disjunktive Merkmalstruktur 80 ist verkürzt und leer. Alle von der disjunktiven Merkmalstruktur 80 repräsentierten Alternativen werden durch einen disjunktiven Copy-Link 82, 84, 86 oder 88 angegeben. Strichlinien unterscheiden disjunktive Copy-Links 82, 84, 86 und 88 von den konjunktiven Copy-Links aus Fig. 2, die durch durchgezogene Linien dargestellt sind. Rechnerseitig lassen sich diese beiden Arten von Links auf der Grundlage ihrer Verknüpfung mit deren dazugehöriger Kante voneinander unterscheiden.
- Die konjunktiven und disjunktiven Merkmalstrukturen eines Charts bilden einen Und- Oder-Baum von Merkmalstrukturen: Die konjunktiven Merkmalstrukturen zeigen zu den disjunktiven Tochter-Merkmalstrukturen, welche sie unifizieren, und die disjunktiven Merkmalstrukturen zeigen zu den alternativen konjunktiven Merkmalstrukturen, von denen sie eine partielle bzw. verkürzte Kopie bilden. Diese Und-Oder-Struktur spiegelt die Und-Oder-Struktur des Charts wider, wobei Konstituenten alternative Teilbaumanalysen haben können und Teilbäume die Konjunktion von Konstituenten sind.
- In der gesamten verbleibenden Erörterung sind Kanten, Lazy-Copy-Links und Merkmalstrukturen graphisch wie in Fig. 2 und 3 dargestellt. Rechnerseitig sind diese Einheiten allerdings als Datenstrukturen repräsentiert. Jede Kanten-Datenstruktur verfügt über eine Liste von:
- 1. Zeigern zu disjunktiven Merkmalstrukturen, die zu jener Kante gehören;
- 2. Zeigern zu Teilbäumen, die zu Tochterkanten zeigen; und
- 3. Zeigern zu Mutterkanten.
- Jede disjunktive Merkmalstruktur-Datenstruktur verfügt über eine Liste von:
- 1. einem Zeiger zu einer Kante, der die disjunktive Merkmalstruktur zugeordnet ist;
- 2. Zeigern zu konjunktiven Merkmalstrukturen, von denen die disjunktive Merkmalstruktur eine verkürzte Version repräsentiert; und
- 3. Inhalten der disjunktiven Merkmalstruktur, einschließlich aller in der disjunktiven Merkmalstruktur eingebetteten Lazy-Copy-Links.
- Jede konjunktive Merkmalstruktur-Datenstruktur verfügt über eine Liste von:
- 1. einem Zeiger zu der Kante, die der konjunktiven Merkmalstruktur zugeordnet ist; und
- 2. Attributen und einer Spezifikation der Werte der konjunktiven Merkmalstruktur, soweit möglich, wenn Attributwerte unterspezifiziert sind, einschließlich aller in der konjunktiven Merkmalstruktur eingebetteten Lazy-Copy-Links;
- 3. einem Zeiger zu dem Teilbaum, der für deren Kombination verantwortlich ist. Vorzugsweise befindet sich jede Merkmalstruktur entweder "auf dem Chart" oder "auf der Agenda". Das heißt, wenn eine Kante einen Zeiger zu einer speziellen Merkmalstruktur aufweist, dann ist die Merkmalstruktur nicht auf der Agenda, und umgekehrt, wenn eine Merkmalstruktur in der Agenda enthalten ist, weist keine Kantendatenstruktur einen Zeiger zu jener Merkmalstruktur auf. Wenngleich dies bevorzugt wird, können zur besseren Veranschaulichung der Funktionsweise des erfindungsgemäßen Verfahrens die graphischen Darstellungen der Charts in den folgenden Figuren Merkmalstrukturen umfassen, die sich tatsächlich auf der Agenda befinden.
- In Kürze lässt sich sagen, dass die Lazy-DNF-Unifikation disjunktive Lazy-Copy- Links Einschließt, mit denen die Merkmalstrukturen so behandelt werden, als wären sie verkürzt. Wenn ein Lazy-Copy-Link durch die Unifikation von Schwester-Konstituenten aktiviert wird, erweitert das Rechnersystem 30 die Spezifikationsebene von einer der Schwester-Merkmalstrukturen, auf die ein aktivierter Lazy-Copy-Link verweist. Durch Erweitern einer disjunktiven Merkmalstruktur kann das Rechnersystem 30 eine Reihe alternativer Merkmalstrukturen erzeugen. Wenn dies der Fall ist, untersucht das Rechnersystem 30 die alternativen Merkmalstrukturen, um zu bestimmen, ob deren Anzahl verringert werden kann, indem mehrere Merkmalstrukturen durch eine einzige Merkmalstruktur mit mehreren disjunktiven Lazy-Copy-Links ersetzt werden, von denen jeder zu einem alternativen Wert zeigt. Wenn mehrere Merkmalstrukturen dieselben Attribute und Werte haben, verschmilzt das Rechnersystem 30 diese zu einer einzigen disjunktiven Merkmalstruktur mit eingebetteten disjunktiven Lazy-Copy-Links. Dabei werden zwei Attribute so behandelt, als hätten sie den gleichen Wert, wenn jener Wert von Lazy-Copy-Links angezeigt wird, wodurch das Hochkopieren unnötiger Informationen verhindert wird. Anschließend nimmt das Rechnersystem 30 die Unifikation der beiden Tochter-Merkmalstrukturen wieder auf, wobei jedes Attribut einzeln nacheinander bearbeitet wird. Wenn die Unifikation von zwei Attributen einen oder mehrere Lazy-Copy-Links aktiviert, erweitert das Rechnersystem 30 eine Merkmalstruktur, auf die einer der aktivierten Lazy- Copy-Links verwiesen hat. Der Prozess des Erweiterns, Verflechtens und Unifizierens wird so lange fortgesetzt, bis die Mutter-Merkmalstruktur keine aktivierten Lazy- Copy-Links mehr enthält. Somit werden Merkmalstrukturen also nur dann erweitert, wenn eine verkürzte Information relevant wird, wobei immer dann, wenn eine Kontextfreiheit vorliegt, diese ausgenutzt wird, um das wiederholte Kopieren von Informationen, die für den Prozess für den Unifikation nicht relevant sind, zu verhindern.
- Vor Beginn des Unifizierens der Merkmalstrukturen eines Charts muss das Chart mit leeren Merkmalstrukturen initialisiert werden. In Fig. 4 sind in Form eines Ablaufdiagramms Befehle 90 zum Initialisieren eines Charts abgebildet. Die Befehle 90 können in maschinenlesbarer Form in einem Festkörperspeicher 45 oder auf einer in das Diskettenlaufwerk 42 eingelegten Diskette gespeichert sein. Die Befehle 90 können in jeder beliebigen Computersprache vorliegen, einschließlich Prolog, LISP und C++.
- In Schritt 92 beginnt Prozessor 31 mit der Ausführung der Befehle 90. In Schritt 92 ordnet Prozessor 31 den lexikalischen Einträgen des Charts Merkmalstrukturen zu. Hierbei handelt es sich um die konjunktiven, internen Merkmalstrukturen für die untersten Kanten des Charts. Anschließend geht Prozessor 31 zu Schritt 94 über.
- In Schritt 94 ordnet Prozessor 31 jeder lexikalischen Kante eine leere disjunktive Merkmalstruktur zu. Die leere Merkmalstruktur wird der Kante von einem Zeiger zugeordnet, während die leere Merkmalstruktur noch nicht dem Chart hinzugefügt worden ist. Im Anschluss, während Schritt 96, fügt Prozessor 31 disjunktive Lazy-Copy- Links hinzu, die von der leeren Merkmalstruktur zu den alternativen konjunktiven Merkmalstrukturen verweisen. Daraufhin verlässt Prozessor 31 Schritt 96 und fährt bei Schritt 98 fort.
- In Schritt 98 platziert Prozessor 31 alle in Schritt 94 erzeugten leeren Merkmalstrukturen auf eine Agenda. Jetzt ist Prozessor 31 bereit, mit der Lazy-DNF-Unifikation des Charts zu beginnen.
- Fig. 5 zeigt in Form eines Ablaufdiagramms Befehle 100 zum Ausführen der Lazy- DNF-Unifikation. Die Befehle 100 können in maschinenlesbarer Form in einem Festkörperspeicher 45 oder auf maschinenlesbaren Medien, z.B. einer Diskette 43, gespeichert sein. Kurz gesagt, die Befehle 100 veranlassen den Prozessor 31, eine aus der Agenda ausgewählte Merkmalstruktur mit den Merkmalstrukturen von Schwesterkanten zu unifizieren. Eine Erweiterung von externen Merkmalstrukturen wird immer dann ausgelöst, wenn Prozessor 31 während der Unifikation auf Lazy-Copy- Links trifft. Prozessor 31 fährt so fange mit der Ausführung von Befehlen 100 fort, bis alle Merkmalstrukturen aus der Agenda entfernt worden sind. Die Befehle 100 können in jeder beliebigen Computersprache vorliegen, einschließlich Prolog, LISP und C++.
- Nachdem ein Chart initialisiert worden ist, beginnt Prozessor 31 mit der Ausführung der Befehle 100. In Schritt 102 bestimmt Prozessor 31, ob Unifikationen durchzuführen sind. Diese Bestimmung führt Prozessor 31 durch Untersuchen der Agenda aus. Wenn die Agenda leer ist, brauchen keine weiteren Unifikationen durchgeführt zu werden. Wenn demgegenüber die Agenda nicht leer ist, ist mindestens eine Unifikation durchzuführen. Als Reaktion auf diese Situation verlässt Prozessor 31 Schritt 102 und geht zu Schritt 104 über.
- In Schritt 104 entfernt Prozessor 31 die nächste Merkmalstruktur von oben aus der Agenda. Diese Merkmalstruktur bezeichnen wir als die "ausgewählte Merkmalstruktur". Nachdem eine Merkmalstruktur ausgewählt worden ist, verlässt Prozessor 31 Schritt 104 und geht zu Schritt 106 über.
- In Schritt 106 bestimmt Prozessor 31, ob die Kante, die der ausgewählten Merkmalstruktur zugeordnet ist, eine weitere Merkmalstruktur aufweist, mit der die ausgewählte Merkmalstruktur kompatibel ist. Falls ja, werden die beiden Merkmalstrukturen in Schritt 108 verflochten. Wenn demgegenüber die zu der ausgewählten Merkmalstruktur gehörende Kante gegenwärtig keine weiteren zu ihr gehörenden Merkmalstrukturen aufweist, zweigt Prozessor 31 zu Schritt 110 ab. An dieser Stelle fügt Prozessor 31 Merkmalstrukturen zu der ausgewählten Kante hinzu. Anschließend geht Prozessor 31 zu Schritt 112.
- In Schritt 112 fängt Prozessor 31 an, Merkmalstrukturen zu identifizieren, die mit der ausgewählten Merkmalstruktur unifiziert werden sollen. Dabei beginnt Prozessor 31 mit der Auswahl einer Schwesterkante der ausgewählten Kante. In der vorliegenden Patentschrift werden zwei Kanten als Schwestern bezeichnet, wenn sie die Töchter derselben Mutterkante sind. In Fig. 6 hat beispielsweise Kante 132 zwei Schwestern, die Kanten 130 und 134. Kante 132 hat eine andere Mutter als jede ihrer Schwesterkanten. Anders ausgedrückt, Kante 132 hat zwei Mütter, die Kanten 136 und 138. Die Kanten 132 und 130 sind Töchter von Kante 136, während die Kanten 132 und 134 Töchter von Kante 138 sind. Nachdem eine Schwesterkante ausgewählt wurde, zweigt Prozessor 31 von Schritt 112 zu Schritt 114 ab.
- In Schritt 114 durchsucht Prozessor 31 die ausgewählte Schwesterkante nach einer dazugehörigen Merkmalstruktur. Wenn die ausgewählte Schwesterkante noch keinen Link zu einer disjunktiven Merkmalstruktur aufweist, wird die Unifikation im Hinblick auf die beiden Kanten verschoben. Als Reaktion darauf verlässt Prozessor 31 Schritt 114 und verzweigt sich zu Schritt 128, um zu überprüfen, ob dort möglicherweise eine Unifikation ausgeführt werden kann. Wenn andererseits die ausgewählte Schwesterkante eine disjunktive Merkmalstruktur aufweist, zweigt Prozessor 31 von Schritt 114 zu Schritt 116 ab.
- In Schritt 116 wählt Prozessor 31 eine der disjunktiven Merkmalstrukturen aus, die der ausgewählten Schwesterkante zugeordnet sind. Danach geht Prozessor 31 zu Schritt 118 über.
- In Schritt 118 vereinigt Prozessor 31 die ausgewählte Merkmalstruktur mit jener der ausgewählten Schwester. Hierbei handelt sich um einen rekursiven Prozess, der mit der Erzeugung einer leeren Mutter-Merkmalstruktur beginnt, die konjunktive Lazy- Copy-Links zu beiden Töchtern zurück aufweist. Diese Lazy-Copy-Links interagieren, halten die Unifikation an und lösen eine Erweiterung von einer der Merkmalstrukturen aus, auf die von einem der aktivierten Lazy-Copy-Links nach dessen Aktivierung verwiesen wird. Wenn die Tochter-Merkmalstruktur leer ist, ist die aktivierte Merkmalstruktur die Tochter-Merkmalstruktur, wenn die Tochter-Merkmalstruktur hingegen nicht leer ist, kann die aktivierte Merkmalstruktur ein Teilabschnitt der Tochter- Merkmalstruktur sein. Prozessor 31 erweitert die aktivierte Merkmalstruktur durch Aufruf einer rekursiven Subroutine, die nachstehend anhand von Fig. 7 näher beschrieben wird. Nach Erweiterung der aktivierten Merkmalstruktur nimmt Prozessor 31 die Unifikation der beiden Merkmalstrukturen wieder auf. Prozessor 31 kopiert die gerade erweiterten Attribute der Merkmalstruktur nach oben in die Mutter- Merkmalstruktur, und zwar jedes Attribut einzeln nacheinander, wobei der Wert des Attributs von einem Lazy-Copy-Link angezeigt wird und zurück zum ursprünglichen Wert des Attributs weist. Als nächstes werden die anderen Attribute der Tochter- Merkmalstrukturen in die Mutter-Merkmalstruktur hochkopiert, und zwar jeweils ein Attribut und ein Lazy-Link, sodass die passenden Attribute unifiziert werden. Immer dann, wenn ein Lazy-Copy-Link durch diesen Prozess aktiviert wird, wird die Unifikation angehalten, und es wird von einem der aktivierten Lazy-Links eine Ziel- Merkmalstruktur erweitert. Dieser Prozess des Unifizierens, Erfassens eines aktivierten Lazy-Copy-Links, Erweiterns einer Ziel-Merkmalstruktur, falls erforderlich, und des anschließenden Wiederaufnehmens der Unifikation wird so lange fortgesetzt, bis eine Version der Mutter-Merkmalstruktur erzeugt wird, die keine aktivierten Lazy- Copy-Links mehr enthält. An dieser Stelle verlässt Prozessor 31 Schritt 118 und geht zu Schritt 122.
- In Schritt 122 fügt Prozessor 31 die in Schritt 118 erzeugte Mutter-Merkmalstruktur zu der Agenda hinzu. Daraufhin macht Prozessor 31 bei Schritt 126 weiter.
- In Schritt 126 bestimmt Prozessor 31, ob die ausgewählte Schwesterkante andere Merkmalstrukturen einschließt, mit denen die ausgewählte Merkmalstruktur unifiziert werden sollte. Wenn ja, verlässt Prozessor 31 Schritt 126 und kehrt zu Schritt 116 zurück, um mit dieser Aufgabe zu beginnen. Prozessor 31 durchläuft die Schritte 116 bis 126 in der oben beschriebenen Art und Weise so lange, bis die ausgewählte Merkmalstruktur mit allen Merkmalstrukturen unifiziert worden ist, die mit der ausgewählten Schwesterkante verknüpft sind. Wenn dies geschieht, geht Prozessor 31 von Schritt 126 zu Schritt 128.
- In Schritt 128 stellt Prozessor 31 fest, ob er sämtliche Schwesterkanten der ausgewählten Merkmalstruktur verarbeitet hat. Falls nicht, muss Prozessor 31 möglicherweise weitere Unifikationen durchführen. Als Reaktion auf diese Situation kehrt Prozessor 31 zu Schritt 112 zurück, um jenen Prozess in Gang zu setzen. Wenn andererseits alle Schwesterkanten verarbeitet worden sind, hat Prozessor 31 die gesamte Merkmalstruktur unifiziert, die er gegenwärtig mit der ausgewählten Merkmalstruktur unifizieren kann. Darauf reagiert Prozessor 31, indem er von Schritt 128 zu Schritt 102 abzweigt. Stellt der Prozessor 31 in Schritt 102 fest, dass die Agenda nicht leer ist, durchläuft er noch einmal die Schritte 102 bis 128, bis sämtliche Merkmalstrukturen aus der Agenda entfernt worden sind. Wenn dies der Fall ist, geht Prozessor 31 von Schritt 102 zu Schritt 130, da die Unifikation abgeschlossen ist.
- Fig. 7 zeigt in Form eines Ablaufdiagramms Befehle 158 zum rekursiven Erweitern einer aktivierten Merkmalstruktur einer ausgewählten Merkmalstruktur. Die Befehle 158 können in maschinenlesbarer Form in einem Festkörperspeicher 45 oder auf maschinenlesbaren Medien, z.B. einer Diskette 43, gespeichert sein. Kurz beschrieben, beginnt die Erweiterung einer aktivierten Merkmalstruktur mit N disjunktiven Lazy-Copy-Links, indem N-1 Kopien der ausgewählten Merkmalstruktur angefertigt werden. In der vorliegenden Patentschrift ist eine Kopie identisch mit der ausgewählten Merkmalstruktur, schließt jedoch nur einen der deaktivierten Lazy-Copy-Links der aktivierten Merkmalstruktur ein. Beim Anfertigen jeder Kopie wird der gerade kopierte Lazy-Copy-Link aus der ursprünglichen ausgewählten Merkmalstruktur entfernt. Anschließend wird jede der N-1 Kopien der ausgewählten Merkmalstruktur zur Agenda hinzugefügt, wodurch sichergestellt wird, dass sie später mit jenen der Schwesterkanten unifiziert werden. Danach wird der einzige verbleibende aktivierte Lazy-Copy- Link innerhalb der ausgewählten Merkmalstruktur zu der Merkmalstruktur hin verfolgt, auf die er zeigt, d.h. die Ziel-Merkmalstruktur. Gegebenenfalls wird die Ziel- Merkmalstruktur erweitert und anschließend in die aktivierte Merkmalstruktur innerhalb des Originals der ausgewählten Merkmalstruktur hochkopiert. Wo es angemessen ist, werden zueinander passende Attributwerte unifiziert.
- Die Ausführung der Befehle 158 beginnt bei Schritt 160. In Schritt 160 stellt Prozessor 31 fest, ob er die Erweiterung der aktivierten Merkmalstruktur abgeschlossen hat, indem ermittelt Wird, ob alle zu der aktivierten Merkmalstruktur innerhalb des Originals der ausgewählten Merkmalstruktur gehörenden Lazy-Copy-Links deaktiviert worden sind. Wenn dies der Fall ist, geht Prozessor von Schritt 160 zu Schritt 162 über.
- In Schritt 162 entscheidet Prozessor 31, ob Kopien von der ausgewählten aktivierten Struktur angefertigt werden müssen. Prozessor 31 fertigt Kopien der ausgewählten Merkmalstruktur an, wenn deren aktivierte Merkmalstruktur mehr als einen disjunktiven Lazy-Copy-Link einschließt. Wenn die aktivierte Merkmalstruktur disjunktiv ist, zweigt Prozessor 31 von Schritt 162 zu Schritt 164 ab, um mit dem Anfertigen der Kopien zu beginnen. Prozessor 31 wählt einen der aktivierten Lazy-Copy-Links aus, der der aktivierten Merkmalstruktur innerhalb der ausgewählten Original- Merkmalstruktur zugeordnet ist, und erzeugt eine Kopie der ausgewählten Merkmalstruktur, die eine Kopie der aktivierten Merkmalstruktur und nur den ausgewählten Lazy-Copy-Link von den Lazy-Copy-Links, der der aktivierten Merkmalstruktur zugeordnet ist, einschließt. Anschließend wird der ausgewählte Lazy-Copy-Link aus der aktivierten Merkmalstruktur innerhalb der ausgewählten Original-Merkmalstruktur entfernt, wodurch in Schritt 166 der ausgewählte Lazy-Copy-Link deaktiviert wird. Anschließend geht Prozessor 31 von Schritt 166 zu Schritt 168 über.
- In Schritt 168 erweitert Prozessor 31 die gerade erzeugte Kopie der ausgewählten Merkmalstruktur, indem rekursiv die Lazy-Merkmalstrukturerweiterungs-Subroutine 158 aufgerufen wird, um die Kopie der aktivierten Merkmalstruktur zu erweitern. Da die aktivierte Merkmalstruktur innerhalb der Kopie der ausgewählten Merkmalstruktur nur einen Lazy-Copy-Link enthält, werden zu einer Tochter-Merkmalstruktur gehörende Attribute in sie hinein kopiert. Danach nimmt Prozessor 31 den Abzweig zu Schritt 170 und fügt die erweiterte Kopie der ausgewählten Merkmalstruktur zu der Agenda hinzu.
- Prozessor 31 führt wiederholt die Befehle 162, 164, 166, 168 und 170 so lange aus, bis die aktivierte Merkmalstruktur innerhalb des Originals der ausgewählten Merkmalstruktur nur noch einen disjunktiven Lazy-Copy-Link bzw. nur noch konjunktive Lazy-Copy-Links aufweist. Wenn dies der Fall ist, geht Prozessor 31 von Schritt 162 zu 172 über. In Schritt 172 ermittelt Prozessor 31, ob alle der aktivierten Merkmalstruktur zugeordneten Lazy-Copy-Links innerhalb des Originals der ausgewählten Merkmalstruktur deaktiviert worden sind. Wenn nicht, geht es von Schritt 172 im Prozessor weiter zu Schritt 174.
- In Schritt 172 beginnt Prozessor 31, die aktivierte Merkmalstruktur innerhalb des Originals der ausgewählten Merkmalstruktur zu erweitern, indem relevante Informationen aus den Merkmalstrukturen, auf die durch die verbleibenden Lazy-Copy-Links verwiesen wird, zu ihr hinzugefügt werden. Diese Merkmalstrukturen seien hier "Ziel- Merkmalstrukturen" genannt. Zuerst bestimmt Prozessor 31 in Schritt 174 einen der verbleibenden aktivierten Lazy-Copy-Links zum ausgewählten Lazy-Copy-Link, wodurch zugleich eine ausgewählte Ziel-Merkmalstruktur bestimmt wird. Als nächstes stellt Prozessor 31 in Schritt 176 fest, ob die ausgewählte Ziel-Merkmalstruktur Lazy- Copy-Links enthält. Falls ja, wird die ausgewählte Ziel-Merkmalstruktur aktiviert. Prozessor 31 reagiert auf diese Feststellung durch einen Übergang von Schritt 176 zu Schritt 178. Hier erweitert Prozessor 31 die ausgewählte Ziel-Merkmalstruktur durch Aufruf der Befehle 158. Durch Erweiterung der ausgewählten Ziel-Merkmalstruktur können mehr als eine Merkmalstruktur entstehen. Wenn dies der Fall ist, werden alle bis auf eine Merkmalstruktur zur späteren Verarbeitung auf die Agenda gesetzt. Nachdem die Ziel-Merkmalstruktur angemessen spezifiziert ist, begibt sich der Prozessor 31 entweder von Schritt 178 oder von Schritt 176 weiter zu Schritt 180.
- In Schritt 180 kopiert der Prozessor 31 die relevante Information aus einer der Merkmalstrukturen, die durch Erweiterung der Ziel-Merkmalstruktur entstanden ist, in das Original der ausgewählten Merkmalstruktur hinein, jeweils ein Attribut nach dem anderen. Jedes hochkopierte Attribut weist als seinen Wert einen Lazy-Copy-Link zurück zu dem Wert jenes Attributs innerhalb der Ziel-Merkmalstruktur auf. Wenn ein Attribut aus der Ziel-Merkmalstruktur mit jenen der aktivierten Merkmalstruktur innerhalb des Originals der ausgewählten Merkmalstruktur übereinstimmt, werden die Attributwerte unifiziert. Wenn diese Unifikation einen oder mehrere Lazy-Copy-Links aktiviert, erweitert Prozessor 31 die neu aktivierte Merkmalstruktur durch Aufruf der Befehle 158. Wenn demgegenüber ein Attribut, das in die aktivierte Merkmalstruktur hochkopiert ist, nicht mit einem residenten Attribut zusammenpasst, wird jenes Attribut zu der aktivierten Merkmalstruktur mit einem Lazy-Copy-Link zurück zum Wert des Attributs der Ziel-Merkmalstruktur hinzugefügt. Danach verlässt Prozessor 31 Schritt 180 und geht über zu Schritt 182.
- In Schritt 182 deaktiviert Prozessor 31 den ausgewählten Lazy-Copy-Link durch dessen Entfernung aus der aktivierten Merkmalstruktur innerhalb des Originals der ausgewählten Merkmalstruktur. Anschließend kehrt Prozessor 31 zu Schritt 160 zurück, um festzustellen, ob die Erweiterung der aktivierten Merkmalstruktur abgeschlossen ist. Ist die Erweiterung der aktivierten Merkmalstruktur beendet, geht Prozessor 31 zu Schritt 190 über und gibt die Steuerung an die Routine zurück, die die Befehle 159 aufrief.
- Die Fig. 8 bis 14 zeigen, wie eine Lazy-DNF-Unifikation funktioniert. Die Lazy- DNF-Unifikation beginnt in Fig. 8 mit zwei Konstituenten 200 und 202, deren Merkmalstrukturen 201 und 203 verknüpft werden sollen. Die Konstituenten 200 und 202 schließen jeweils eine Reihe alternativer konjunktiver Merkmalstrukturen ein. Die konjunktiven Merkmalstrukturen 210, 212, 214 und 216 sind Alternativen für die Merkmalstruktur 201, wohingegen die konjunktiven Merkmalstruktur 220, 222, 224 und 226 Alternativen für die Merkmalstruktur 202 sind. Die Merkmalstrukturen 210, 212, 214, 216, 220, 222, 224 und 226 könnten von lexikalischen und/oder Phrasen- Ambiguitäten herrühren. Jeder Konstituente wird eine leere disjunktive Merkmalstruktur zugeordnet, wobei disjunktive Lazy-Copy-Links zu den konjunktiven Merkmalstrukturen vorhanden sind (die disjunktiven Lazy-Copy-Links sind als gestrichelte Pfeile abgebildet). In Fig. 8 ist eine Situation dargestellt, in der alles verkürzt worden ist, weshalb alle konjunktiven Merkmalstrukturen äquivalent sind. In der Mutter- Konstituente 205 werden die disjunktiven Merkmalstrukturen 201 und 203 mittels standardmäßigem Lazy-Copying unifiziert. Dadurch entsteht eine Merkmalstruktur 206 mit interagierenden Lazy-Copy-Links 207 und 208. Die beiden interagierenden Lazy-Copy-Links lösen eine Erweiterung der Merkmalstruktur 206 aus, die eine Erweiterung der Tochter-Merkmalstrukturen 201 und 203 erfordert.
- In Fig. 9 sind die disjunktiven Merkmalstrukturen 201 und 203 erweitert worden, sodass vier partielle Kopien 240, 242, 244 und 246 für die Tochterkante 200 und vier partielle Kopien 250, 252, 254 und 256 für die Tochterkante 202 entstanden sind. Unter jedem Attribut hat jede partielle Kopie Lazy-Copy-Links, die zu den Originalwerten zurückweisen. Natürlich sind mit Ausnahme der Lazy-Copy-Links viele der partiellen Kopien identisch.
- In Fig. 10 sind die identischen partiellen Kopien miteinander verflochten worden. Dadurch entstehen eine disjunktive Merkmalstruktur 248 für die Konstituente 200 und zwei disjunktive Merkmalstrukturen 258 und 259 für die Konstituente 202. Die Lazy- Copy-Links sind ebenfalls verflochten worden, wodurch disjunktive Lazy-Copy-Links erzeugt wurden, die wiederum als gestrichelte Pfeile dargestellt sind. Die Reduzierung der Anzahl von Merkmalstrukturen infolge dieser Verflechtung beschleunigt nachfolgende Unifikationen mit den Konstituenten 200 und 202.
- Fig. 11 zeigt die partielle Erweiterung der Merkmalstruktur 206 in erweiterte Merkmalstrukturen für die Konstituenten 200 und 202. Die Unifikation der Konstituenten 200 und 202 beginnt damit, dass das Cross Product für die Merkmalstrukturen der Töchter 200 und 202 erstellt wird. Das erste Ergebnis davon ist die Merkmalstruktur 260 mit den Attributen A, B und C mit Lazy-Copy-Links, um den Wert jedes Attributs zu repräsentieren. Da zwei konjunktive Lazy-Copy-Links den Wert des Attributs A in der Merkmalstruktur 260 repräsentieren, ist der Wert des Attributs A zu erweitern. Da jedoch die involvierten Lazy-Copy-Links zu disjunktiven Werten zeigen, müssen zuerst die disjunktiven Werte erweitert werden.
- Fig. 12 zeigt die Erweiterung der Attribute A der Merkmalstrukturen 248 und 258. Durch die Erweiterung entstehen vier neue partielle Kopien für die Konstituente 200 und zwei partielle Kopien für die Konstituente 202. Die vier partiellen Kopien, die zu der Konstituente 200 gehören, werden zu zwei Merkmalstrukturen 270 und 272 verflochten. Die Merkmalstruktur 270 repräsentiert die drei Merkmalstrukturen, deren Wert des Attributs A + ist, und die Merkmalstruktur 272 repräsentiert die Merkmalstruktur, in der A = -1 ist. Die beiden partiellen Kopien der Konstituente 202 sind zu der Merkmalstruktur 280 verflochten worden. Durch Verringerung der Anzahl von Merkmalstrukturen zur Darstellung der Konstituenten 200 und 202 reduziert sich die Verarbeitungszeit in kontextfreien Situationen. Nachdem diese erweiterten, verkürzten Tochter-Merkmalstrukturen entstanden sind, wird die Cross Product-Unifikation wieder aufgenommen, indem die Merkmalstrukturen 270 und 280 unifiziert werden. Dadurch entsteht die Merkmalstruktur 300, die keine Interaktion zwischen Lazy- Copy-Links aufweist. Durch die Unifikation der Merkmalstrukturen 270 und 250 entsteht die Merkmalstruktur 302, in der eine Interaktion zwischen den Lazy-Copy-Links der Werte des Attributs A vorliegt. Folglich muss das Attribut A in der Merkmalstruktur 302 erweitert werden.
- Fig. 13 zeigt die entstehende Erweiterung und Unifikation. Die Erweiterung der Merkmalstruktur 259 erzeugt die Merkmalstruktur 282. Durch Unifikation der Merkmalstruktur 282 mit Merkmalstruktur 270 wird die Merkmalstruktur 304 gebildet. Da sich die Attribute der Merkmalstruktur 304 von jenen der Merkmalstruktur 300 unterscheiden, lassen sich die beiden Merkmalstrukturen nicht verflechten. Jetzt kann die Unifikation der Merkmalstrukturen, die zu dem Konstituenten 200 und 202 gehören, wieder aufgenommen werden.
- Die Unifikation von Konstituenten 200 und 202 wird erneut fortgesetzt, indem das Cross Product der Merkmalstruktur 272 und der Merkmalstrukturen 280 und 282 ermittelt wird. Fig. 14 zeigt die Zustände nach Abschluss dieser Unifikationen auf, die scheitern, weil deren Attribute A inkonsistente Werte aufweisen. Somit verbleiben zwei gültige Merkmalstrukturen, die nicht miteinander verflochten werden können. Zum Repräsentieren dieser beiden alternativen Merkmalstrukturen wird die leere Merkmalstruktur 310 mit den Lazy-Copy-Links zu den Merkmalstrukturen 300 und 304 erzeugt. Nun ist die Unifikation der Konstituenten 200 und 202 so lange abgeschlossen, bis zu einem späteren Zeitpunkt entdeckt wird, dass keine Interaktion zwischen den Lazy-Copy-Links der Merkmalstruktur 300 bzw. 304 vorliegt. Wie schon vorher werden nur jene Attributwerte erweitert, die an einer Interaktion beteiligt sind. Indem das Hochkopieren von Informationen so lange hinausgeschoben wird, bis eine Interaktion stattfindet, verringert das Parsing-Verfahren die Anzahl von Merkmalstrukturen, die zur Darstellung jeder Konstituente notwendig sind, und nutzt somit die Kontextfreiheit aus, wo immer möglich, um das Parsen auf Kubikzeit zu verkürzen. Bei dem vorliegenden Beispiel hätten, falls das erfindungsgemäße Verfahren nicht angewandt worden wäre, zwölf Merkmalstrukturen anstelle von zwei hergestellt werden müssen.
- Vorstehend wurde demnach ein Verfahren zum Parsen einer unifikationsbasierten Grammatik in Kubikzeit mit Hilfe disjunktiver Lazy-Copy-Links beschrieben. Das Verfahren beginnt mit der Unifikation von zwei Tochter-Merkmalstrukturen, um deren Mutter-Merkmalstruktur zu erzeugen. Lazy-Copy-Links weisen von der Mutter- Merkmalstruktur zurück zu deren Tochter-Merkmalstrukturen. Wenn die Unifikation einen dieser Lazy-Copy-Links aktiviert, wird eine ausgewählte von den beiden Tochter-Merkmalstrukturen erweitert. Durch Erweiterung einer disjunktiven Merkmalstruktur entsteht eine Reihe alternativer Merkmalstrukturen. Diese alternativen Merkmalstrukturen werden untersucht, um festzustellen, ob deren Anzahl verringert werden kann, indem mehrere Merkmalstrukturen durch eine mit mehreren disjunktiven Lazy- Copy-Links ersetzt wird, wobei jeder disjunktive Lazy-Copy-Link auf einen alternativen Wert verweist. Zwei oder mehr Merkmalstrukturen können miteinander verflochten werden, wenn sie die gleichen Attribute und Attributwerte aufweisen. Nachdem das Verflechten abgeschlossen ist, wird die Unifikation der beiden Tochter- Merkmalstrukturen an der Stelle, an der die Unifikation zwecks Erweiterung angehalten wurde, wieder aufgenommen, wobei jedes Attribut einzeln nacheinander bearbeitet wird. Immer dann, wenn die Unifikation eines Attributs einen Lazy-Copy-Link aktiviert, wird erneut eine Erweiterung ausgelöst. Der Prozess des Erweiterns, Verflechtens und Unifizierens wird so lange wiederholt, bis eine Mutter-Merkmalstruktur erzeugt wird, die keine aktivierten Lazy-Copy-Links enthält.
- Barton, G. Edward; Berwick, Robert C. und Ristad, Eric Sven. (1987). Computational Complexity and Natural Language. MIT Press, Cambridge, Mass.
- Bear, John und Hobbs, Jerry R. (1988). "Localizing expression of ambiguity." In Second Conference on Applied Natural Language Processing, S. 235-241.
- Blackburn, Patrick, und Spaan, Edith. (1993). "Decidability and Undecidability in standalone Feature Logics? In Proceedings of the Sixth Conference of the EACL, Utrecht, Niederlande, S. 30-36.
- deKleer, Johan. (1986). "An Assumption-based TMS." Artificial Intelligence, 28: 127-162.
- Dörre, Jochen und Eisele, Andreas. (1990). Feature logic with disjunctive unification." In Proceedings, 13th International Conference on Computational Linguistics (COLING 90), Helsinki, Finnland, S. 100-105.
- Earley, J. (1970). "An efficient context-free algorithm." Communications of the ACM, 13: 94-102.
- Gazdar, Gerald; Klein, Ewan; Pullum, Geoffrey; und Sag, Ivan. (1985). Generalized Phrase Structure Grammar. Harvard University Press, Cambridge, Mass.
- Godden, K. (1990). Lazy unification." In Proceedings of the 28th Annual Meeting of the ACL, S. 180-187.
- Johnson, Mark. (1988). Attribute-Value Logic and the Theory of Grammar, Band 16 von CSLI Lecture Notes. CSLI, Stanford.
- Kaplan, Ronald M., und Bresnan, Joan. (1982). "Lexical-Functional Grammar. A formal system for grammatical representation." In Joan Bresnan, Hrsg., The Mental Representation of Grammatical Relations, S. 173-281. MIJ Press, Cambridge, Mass.
- Karttunen, Lauri. (1984). "Features and Values." In Proceedings of COLING 1984, Stanford, Calif.
- Karttunen, Lauri. (1986). "D-PATR: A development environment for unification-based grammars." In Proceedings, 11th International Conference on Computational Linguistics (COLING 86), Bonn, Deutschland, S. 74-80.
- Kay, Martin. (1979). "Functional Grammar." In C. Chiarello u.a.., Hrsg., Proceedings of the 5th Annual Meeting of the Berkeley Linguistic Society, Berkeley, California, S. 142-1 58.
- Knight, Kevin. (1989). "Unification: A multidisciplinary? survey." ACM Computing Surveys, 21(1): 93-124.
- Maxwell, John T. III, und Kaplan, Ronald M. (1989). "An overview of disjunctive constraint satisfaction." In Proceedings of the International Workshop an Parsing Technologies, S. 18-27. (Auch veröffentlicht unter "A method for disjunctive constraint satisfaction" in M. Tomita, Hrsg., Current Issues in Parsing Technology, Kluwer Academic Publishers, 1991).
- Maxwell, John T. III und Kaplan, Ronald M. (1993). "The interface between phrasal and functional constraints." Computational Linguistics, 19(3).
- Pereira, Femando C. N. und Warren, David H. D. (1980). "Definite clause grammars for language analysis - a survey of the formalism and a comparison with augmented transition networks." Artificial Intelligence, 13(3): 231-278.
- Pollard, Carl und Sag, Ivan. (1987). Information-Based Syntax and Semantics, Band 13 von CSLI Lecture Notes. CSLI, Stanford.
- Rogers, James. (1994). "Capturing CFLs with Tree Adjoining Grammars? In Proceedings of the 32nd Annual Meeting of the ACL, Las Cruces, New Mexico, S. 155-162.
- Schabes, Yves und Waters, Richard C., (1993). "Lexicalized Context-Free Grammars." In Proceedings of the 3lst Annual Meeting of the ACL, Columbus, Ohio, S. 121-129.
- Sheil, Beau. (1976). "Observations an context-free parsing." In Statistical Methods in Linguistics, 1976: 71-109.
- Tomabechi, Hideto. (1991). "Quasi-destructive graph unification." In Second International Workshop an Parsing Technology, S. 164-171.
- Younger, D.H. (1967). "Recognition and parsing of context-free languages in time n³" Information and Control, 10: 189-208.
Claims (4)
1. Verfahren zum Parsen einer Sprachzeichenkette unter Verwendung einer
unifikationsbasierten Grammatik, welche disjunktive Lazy-Copy-Links einschließt,
wobei das Verfahren von einem Prozessor ausgeführt wird, der an einen
Speicher angeschlossen ist, welcher Befehle zum Ausführen des Verfahrens
speichert, wobei das Verfahren die folgenden Schritte umfasst:
a) Unifizieren einer ersten disjunktiven Merkmalstruktur (201), die einer ersten
Konstituente zugeordnet ist, und einer zweiten disjunktiven Merkmalstruktur
(203), die einer zweiten Konstituente zugeordnet ist, um eine dritte
Merkmalstruktur (206) zu erzeugen, die einer dritten Konstituente zugeordnet ist, wobei
die erste disjunktive Merkmalstruktur ein erstes Attribut und mindestens zwei
disjunktive Lazy-Copy-Links aufweist, wobei jeder disjunktive Lazy-Copy-Link
auf einen alternativen Wert des ersten Attributs verweist, wobei die dritte
Merkmalstruktur unterspezifiziert ist und einen ersten Lazy-Copy-Link (208) zu der
ersten disjunktiven Merkmalstruktur aufweist;
b) wenn eine Unifikation den ersten Lazy-Copy-Link (208) aktiviert, Erweitern
der Spezifikation der ersten disjunktiven Merkmalstruktur (201), um eine erste
Vielzahl alternativer Merkmalstrukturen zu erzeugen, wobei jede von der ersten
Vielzahl alternativer Merkmalstrukturen weiter spezifiziert ist als die erste
disjunktive Merkmalstruktur und mindestens ein Attribut aufweist, wobei jedes
Attribut einen Wert hat;
c) falls möglich, Reduzieren der ersten Vielzahl alternativer Merkmalstrukturen
auf ein erstes Minimum erster disjunktiver Merkmalstrukturen durch
Verflechtung jener von den ersten alternativen Merkmalstrukturen, die über einen ersten
Satz identischer Attribute verfügen, um eine von dem ersten Minimum
disjunktiver Merkmalstrukturen (248) zu erzeugen, wobei die eine von dem ersten
Minimum disjunktiver Merkmalstrukturen über den ersten Satz identischer Attribute
verfügt und mindestens ein Paar disjunktiver Lazy-Copy-Links aufweist, das auf
alternative Werte innerhalb der miteinander verflochtenen alternativen
Merkmalstrukturen verweist; und
d) Unifizieren des ersten Minimums erster Merkmalstrukturen (248) mit der
zweiten Merkmalstruktur (203), um die Spezifikationsebene der dritten
Merkmalstruktur zu erhöhen, wobei die dritte Merkmalstruktur mindestens einen
Lazy-Copy-Link zu den ersten Merkmalstrukturen aufweist.
2. Verfahren nach Anspruch 1, weiterhin mit den folgenden Schritten:
e) falls einer der Lazy-Copy-Links von der dritten Merkmalstruktur zu dem
ersten Minimum erster Merkmalstrukturen aktiviert ist:
e1) Erweitern einer von dem ersten Minimum erster Merkmalstrukturen, auf die
von dem einen der Lazy-Copy-Links verwiesen wird, auf eine zweite Vielzahl
erster alternativer Merkmalstrukturen;
e2) falls möglich, Verringern der zweiten Vielzahl erster alternativer
Merkmalstrukturen auf ein zweites Minimum erster Merkmalstrukturen durch Verflechten
jener von der zweiten Vielzahl erster Merkmalstrukturen mit einem zweiten Satz
identischer Attribute, um eine aus dem zweiten Minimum erster
Merkmalstrukturen zu erzeugen, wobei die eine aus dem zweiten Minimum erster
Merkmalstrukturen den zweiten Satz identischer Attribute und mindestens ein Paar
disjunktiver Lazy-Copy-Links aufweist, das auf alternative Werte innerhalb der
zweiten Vielzahl erster alternative Merkmalstrukturen verweist;
e3) Unifizieren des zweiten Minimums erster Merkmalstrukturen mit der zweiten
Merkmalstruktur, um die Spezifikationsebene der dritten Merkmalstruktur zu
erhöhen, wobei die dritte Merkmalstruktur Lazy-Copy-Links zu den ersten
Merkmalstrukturen aufweist;
e4) wenn einer der Lazy-Copy-Links von der dritten Merkmalstruktur zu einer
von dem zweiten Minimum erster Merkmalstrukturen aktiviert ist, Wiederholen
der Schritte e1) bis e3), bis die dritte Merkmalstruktur nur nichtaktivierte Lazy-
Copy-Links aufweist.
3. Programmdatenträger mit einer Rechnerprogramm-Codiereinrichtung zum
Ausführen aller Schritte des Verfahrens zum Parsen einer Zeichenkette einer
natürlichen Sprache gemäß Anspruch 1 oder 2.
4. Programmierbare Datenverarbeitungsvorrichtung zum Ausführen des
Verfahrens gemäß Anspruch 1 oder 2, die einen Prozessor, einen Speicher und eine
Eingabe-/Ausgabeschaltung aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/572,393 US5727222A (en) | 1995-12-14 | 1995-12-14 | Method of parsing unification based grammars using disjunctive lazy copy links |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69617612D1 DE69617612D1 (de) | 2002-01-17 |
DE69617612T2 true DE69617612T2 (de) | 2002-05-08 |
Family
ID=24287603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69617612T Expired - Lifetime DE69617612T2 (de) | 1995-12-14 | 1996-12-11 | Verfahren und Vorrichtung zum Parsen von Unifikations-basierten Grammatiken unter Verwendung von disjunktiven 'lazy copy' Links |
Country Status (4)
Country | Link |
---|---|
US (1) | US5727222A (de) |
EP (1) | EP0779578B1 (de) |
JP (1) | JP4311772B2 (de) |
DE (1) | DE69617612T2 (de) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819210A (en) * | 1996-06-21 | 1998-10-06 | Xerox Corporation | Method of lazy contexted copying during unification |
US5836771A (en) * | 1996-12-02 | 1998-11-17 | Ho; Chi Fai | Learning method and system based on questioning |
US6498921B1 (en) * | 1999-09-01 | 2002-12-24 | Chi Fai Ho | Method and system to answer a natural-language question |
US6330530B1 (en) * | 1999-10-18 | 2001-12-11 | Sony Corporation | Method and system for transforming a source language linguistic structure into a target language linguistic structure based on example linguistic feature structures |
US7113905B2 (en) * | 2001-12-20 | 2006-09-26 | Microsoft Corporation | Method and apparatus for determining unbounded dependencies during syntactic parsing |
US7165055B2 (en) * | 2002-02-14 | 2007-01-16 | Xerox Corporation | Systems and methods for solving nogood databases |
US7225121B2 (en) * | 2002-02-20 | 2007-05-29 | Palo Alto Research Center Incorporated | Generating with Lexical Functional Grammars |
CA2508791A1 (en) * | 2002-12-06 | 2004-06-24 | Attensity Corporation | Systems and methods for providing a mixed data integration service |
US7203668B2 (en) * | 2002-12-19 | 2007-04-10 | Xerox Corporation | Systems and methods for efficient ambiguous meaning assembly |
US7171403B2 (en) | 2003-01-09 | 2007-01-30 | Palo Alto Research Center Incorporated | Systems and methods for efficient conjunction of Boolean variables |
US7657420B2 (en) * | 2003-12-19 | 2010-02-02 | Palo Alto Research Center Incorporated | Systems and methods for the generation of alternate phrases from packed meaning |
JP5015658B2 (ja) * | 2007-05-23 | 2012-08-29 | 泰章 岩井 | ポインティングデバイスおよびコンピュータ |
US9317595B2 (en) * | 2010-12-06 | 2016-04-19 | Yahoo! Inc. | Fast title/summary extraction from long descriptions |
US10042840B2 (en) | 2016-08-04 | 2018-08-07 | Oath Inc. | Hybrid grammatical and ungrammatical parsing |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5438511A (en) * | 1988-10-19 | 1995-08-01 | Xerox Corporation | Disjunctive unification |
US5642519A (en) * | 1994-04-29 | 1997-06-24 | Sun Microsystems, Inc. | Speech interpreter with a unified grammer compiler |
-
1995
- 1995-12-14 US US08/572,393 patent/US5727222A/en not_active Expired - Lifetime
-
1996
- 1996-12-06 JP JP32673496A patent/JP4311772B2/ja not_active Expired - Lifetime
- 1996-12-11 DE DE69617612T patent/DE69617612T2/de not_active Expired - Lifetime
- 1996-12-11 EP EP96308998A patent/EP0779578B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0779578B1 (de) | 2001-12-05 |
EP0779578A2 (de) | 1997-06-18 |
US5727222A (en) | 1998-03-10 |
EP0779578A3 (de) | 1997-10-01 |
JPH09179862A (ja) | 1997-07-11 |
DE69617612D1 (de) | 2002-01-17 |
JP4311772B2 (ja) | 2009-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69712411T2 (de) | Verfahren und System um Datenstrukturen zu vereinigen | |
DE69710458T2 (de) | Verfahren und system für die berechnung von semantischen logischen formen von syntaxbäumen | |
DE68928693T2 (de) | Verfahren zur Behandlung von digitalen Textdaten | |
DE69229204T2 (de) | Iteratives Verfahren zum Suchen von Satzteilen und Informationsauffindungssystem, welches dieses benützt | |
DE69617612T2 (de) | Verfahren und Vorrichtung zum Parsen von Unifikations-basierten Grammatiken unter Verwendung von disjunktiven 'lazy copy' Links | |
DE69807699T2 (de) | Vorrichtung und verfahren zur syntaxanalyse und transformation von befehlen | |
DE3751276T2 (de) | Zergliedergerät für Naturalsprachen. | |
DE69726339T2 (de) | Verfahren und Apparat zur Sprachübersetzung | |
DE68928775T2 (de) | Verfahren und Vorrichtung zur Herstellung einer Zusammenfassung eines Dokumentes | |
DE69331209T2 (de) | Umformung von verwandten Wortformen für Textindexierung und Wiederauffindung mittels endlicher Automaten | |
DE69527026T2 (de) | Maschinelles Übersetzungssystem | |
DE68929038T2 (de) | Verfahren zur Verarbeitung von digitalen Textdaten | |
DE69513369T2 (de) | Verfahren und vorrichtung zur zusammenfassung statischer prozesse in eine auf regeln basierende grammatikalisch definierte natuerliche sprache | |
DE69009522T2 (de) | Diagrammanalysator für stochastische Unifikationsgrammatik. | |
DE69331044T2 (de) | Vorrichtung und Verfahren zur syntaktischen Signalanalyse | |
DE60029732T2 (de) | Phrasenübersetzungsverfahren und -system | |
DE69432575T2 (de) | Dokumentenerkennungssystem mit verbesserter Wirksamkeit der Dokumentenerkennung | |
DE69031354T2 (de) | Natursprachenverarbeitungssystem | |
DE69820343T2 (de) | Linguistisches Suchsystem | |
DE60029845T2 (de) | System zum identifizieren der verhältnisse zwischen bestandteilen in aufgaben vom typ informations-wiederauffindung | |
EP1779271B1 (de) | Sprach- und textanalysevorrichtung und entsprechendes verfahren | |
DE69032921T2 (de) | Direkte Manipulationsschnittstelle zum Abrufen von logischen Informationen | |
DE60109999T2 (de) | Spracherkennung mittels lexikalischer Bäumen | |
DE202005022113U1 (de) | Training für eine Text-Text-Anwendung, die eine Zeichenketten-Baum-Umwandlung zum Training und Decodieren verwendet | |
DE112010000947T5 (de) | Verfahren zur völlig modifizierbaren Framework-Datenverteilung im Data-Warehouse unter Berücksichtigung der vorläufigen etymologischen Separation der genannten Daten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |