33
Universität Paderborn Syntaxbasiertes Parsen natürlicher Sprache in einer XML-Struktur Bachelorarbeit zur Erlangung des Grades „Bachelor of Computer Science“ fur den integrierten Studiengang Informatik von Martin Freund (Matrikelnummer 3661493) Winfriedstraße 27 33100 Paderborn vorgelegt Prof. Dr. Stefan Böttcher Institut für Informatik und Prof. Dr. Manfred Wettler Fachbereich Psychologie

Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Universität Paderborn

Syntaxbasiertes Parsen natürlicherSprache in einer XML-Struktur

Bachelorarbeitzur Erlangung des Grades

„Bachelor of Computer Science“fur den integrierten Studiengang Informatik

vonMartin Freund (Matrikelnummer 3661493)

Winfriedstraße 2733100 Paderborn

vorgelegtProf. Dr. Stefan Böttcher

Institut für Informatikund

Prof. Dr. Manfred WettlerFachbereich Psychologie

Page 2: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

2

Page 3: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Erklärung

Ich versichere, daß ich diese Arbeit ohne fremde Hilfe und ohne Benutzung anderer als derangegebenen Quellen angefertigt habe und daß die Arbeit in gleicher Form noch keiner anderenPrüfungsbehörde vorgelegen hat und von dieser als Teil einer Prüfungsleistung angenommenwurde. Alle Ausführungen, die wörtlich oder sinngemäß übernommen wurden, sind als solchegekennzeichnet.

Paderborn, den 1. 10. 2003Martin Freund

3

Page 4: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Inhaltsverzeichnis

Einleitung 6

1. Grundlagen 71.1. Gegenstand und Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

1.1.1. Satzglieder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71.1.2. Syntaxbaum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

1.2. Tagging mit Morphy und PaPa . . . . . . . . . . . . . . . . . . . . . . . . . .101.2.1. Backtracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

1.3. Das Problem der rekursiven Einbettung . . . . . . . . . . . . . . . . . . . . .111.4. Akzeptierte Sprachteile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

2. Der Parser 132.1. Datenstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

2.1.1. Warum XML? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132.1.2. Arbeiten auf der Datenstruktur . . . . . . . . . . . . . . . . . . . . . .142.1.3. Mustererkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

2.2. Groß- und Kleinschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . .162.3. Haupt- und Nebensatz-Zuordnung . . . . . . . . . . . . . . . . . . . . . . . .17

2.3.1. Probleme mit Kommata . . . . . . . . . . . . . . . . . . . . . . . . .172.4. Bestimmung der Verbalphrase . . . . . . . . . . . . . . . . . . . . . . . . . .18

2.4.1. Valenzzuordnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192.5. Bestimmen von Präpositional- und Nominalphasen . . . . . . . . . . . . . . .19

2.5.1. Unifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202.6. Adverbien und Zusätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

3. Abschluß 223.1. Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223.2. Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

3.2.1. Backtracking und verspätete Disambiguierung . . . . . . . . . . . . .223.2.2. Satzarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233.2.3. Satzzeichen und nebenordnende Konjunktionen . . . . . . . . . . . . .233.2.4. Valenzzuordnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233.2.5. Adverbien und weitere Einstreuungen . . . . . . . . . . . . . . . . . .243.2.6. Hilfsverbtest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

A. Anhang 27A.1. Lemmatisierung des Beispielsatzes . . . . . . . . . . . . . . . . . . . . . . . .27

4

Page 5: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

A.2. Ergebnis des Taggings als Syntaxbaum . . . . . . . . . . . . . . . . . . . . . .31A.3. Ergebnis des Taggings in XML-Form . . . . . . . . . . . . . . . . . . . . . .31

5

Page 6: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Einleitung

Bei der automatischen Verarbeitung von Texten in deutscher Sprache tritt immer wieder dasProblem auf, daß keine grammatische Bestimmung der Eingabeworte (Tagging) vorliegt.

Die grammatikalische Bestimmung aber ist aus verschiedenen Gründen wünschenswert. FürLinguisten ist die automatische Zerlegung in Satzteile in Form eines Syntaxbaumes interes-sant, für die automatische Übersetzung ist die eindeutige Festlegung auf die Wortbedeutungim Satzkontext (Disambiguierung) wichtig.1

Eine Bestimmung von Hand ist zeitaufwendig und nur bei kleinen Texten vertretbar. Die imFachbereich Psychologie an der Universität Paderborn verwendeten Textkorpora von Zeitungs-jahrgängen erreichen aber Größenordnungen von bis zu Hundert Millionen Worten.2 DieseZahlen und der Zeitaufwand für die grammatische Bestimmung von Hand machen das auto-matische Tagging erstrebenswert.

In seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten Parser für deut-schen Text vor, welcher für deutsche Hauptsätze die grammatische Bestimmung mittels einersyntaktischen und einer probabilistischen Methode vornimmt.[Hellmann]In der vorliegenden Studienarbeit beschreibe ich einen in JAVA implementierten Parser, deraus den Erfahrungen mit der syntaktischen Komponente des Parsers von Hellmann hervorge-gangen ist. Dieser wird im folgenden als PaPa (Paderborner Parser) bezeichnet.

Die zum Verständnis notwendigen Begriffe, die Zielsetzung des Parsers, allgemeine dabei auf-tauchende Probleme und die für das Verständnis notwendigen Begriffe werden im ersten Teil,Grundlagen, aufgeführt. Danach beschreibt der zweite Teil den Parser selbst mit seiner Da-tenstruktur und dem Ablauf der eigentlichen Sprachanalyse. Der Abschluß enthält noch einenHinweis zu den Vorgängerversionen für Benotungszwecke und eine Zusammenfassung nochoffener Fragen, auf die in dieser Arbeit nicht eingegangen werden konnte.

An dieser Stelle möchte ich meinen beiden Gutachtern, Prof. Dr. Stefan Böttcher und Prof.Dr. Manfred Wettler danken, die bei mir das Interesse an der automatischen Sprachverarbei-tung geweckt haben, mit der ich mich seit dem Sommer 2000 auseinandergesetzt habe. Zuerstim Rahmen ihres interdisziplinär durchgeführten Seminars „Automatische Analyse natürlicherSprache“, dann als SHK in der Arbeitsgruppe Wettler, wo ich meine Kenntnisse bei der Über-arbeitung der Ergebnisse von [Hellmann] vertiefen konnte, bis zu dieser Studienarbeit.

1Über Fehler, wie sie bei der automatischen wortweisen Übersetzung ohne Beachtung des Kontext entstehen,ist bereits ein Buch erschienen.[BabelFish]

2Beispiel: Vier Jahrgänge Süddeutsche Zeitung: 123.627.615 Worte

6

Page 7: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

1. Grundlagen

In diesem Kapitel wird das notwendige Grundwissen zum Tagging vermittelt und die Aufgabender Programme Morphy und PaPa beschrieben. Das Problem der rekursiven Einbettung wirdvorgestellt, welches in dieser Arbeit für syntaxbasierte Parser gelöst worden ist und die zurVerarbeitung akzeptierten Satzglieder werden aufgezählt.

1.1. Gegenstand und Begriffe

Das eindeutige grammatische Bestimmen der einzelnen Worte eines Satzes wird als Taggingbezeichnet. Dies beinhaltet mindestens die eindeutige Festlegung der Wortart (Verb, Substan-tiv, etc), ggf. damit verbundener weiterer Informationen (Hilfs-, Modalverb, Geschlecht undFall eines Substantivs, etc). Die Gesamtmenge dieser Informationen bezeichnet man als klei-nes, bzw. großes Tagset. Eine einem Wort zugewiesene eindeutige grammatische Bestimmungheißt dann Tag. Die Menge aller möglichen Bestimmungen für ein Wort, die vor der Disam-biguierung erzeugt wird, heißt Lemmata, ihre Elemente Lemma. PaPa bestimmt die Wortegrammatisch nach einem großen Tagset und ermittelt zusätzlich Informationen über die Zuge-hörigkeit eines Wortes zu einem bestimmten Satzteil (Verbstruktur, Satzobjekt, etc) und hältdiese in Form eines Syntaxbaumes als Tiefenstruktur fest.

1.1.1. Satzglieder

Nach der hier verwendeten Nomenklatur unterteilen sich Satzglieder in folgende Kategorien:

Haupt- und Nebensatz

Die im Deutschen möglichen Hauptsatzarten (Aussage-, Fragesatz, Satzreihe, etc) werden fürdie Arbeit mit PaPa auf genau einen Aussagesatz pro Satz beschränkt. Neben diesem Hauptsatzkönnen noch untergeordnete Nebensätze im Satz enthalten sein. Diese können dem Hauptsatzvorgestellt, nachgestellt oder eingebettet werden und können ihrerseits wieder untergeordneteNebensätze besitzen. Nebensätze werden vom Hauptsatz und untereinander durch Kommataabgetrennt. Dabei genügt bei vor- oder nachgestellten Nebensätzen ein Komma, ein eingebet-

7

Page 8: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

teter Nebensatz erfordert zwei Kommata zu Beginn und Ende. Im Syntaxbaum werden sie alsHS undNS bezeichnet.

Beispiel: Ein Hauptsatz mit zwei rekursiv eingebetteten Nebensätzen.Hans[, weil er[, da es spät war,] müde war,] ging schlafen.

Verbalphrase

Die Verbalphrase oder Verbstruktur umfasst alle Worte eines Haupt- oder Nebensatzes, die zurBeschreibung eines Vorgangs oder Zustands gehören. Dazu gehören das Hauptverb (arbeiten,wohnen, etc), die Hilfsverben (haben, sein, werden) und die Modalverben (dürfen, können,etc). Eine mehrteilige Verbalphrase wird auch als Prädikat bezeichnet ([Duden]), für diese Ar-beit will ich aber bei der Bezeichnung Verbalphrase, kurzVP, bleiben. Die Verbalphrase teiltden Satz in Vorfeld und Nachfeld. Bei mehrteiligen Verbalphrasen befindet sich zwischen demnach Person, Numerus, Modus und Tempus bestimmten finiten Verb und der zug. Infinitivkon-struktion das Mittelfeld ([Duden], Randziffer 1265). Alle weiteren Satzteile befinden sich ingenau einem dieser drei Bereiche, schließen also nie Teile der Verbalphrase ein.

Beispiel: Verbalphrase mit Hilfs-, Voll- und Modalverb und weiteren Satzgliedern im Vor- undMittelfeld.Er hätte im Bett schlafen sollen.

Nominal- und Präpositionalphrasen

Das Subjekt und die Objekte eines Teilsatzes werden als Nominal- und Präpositionalphrasengebildet. Nominalphrasen bestehen im einfachsten Falle aus einem Substantiv (Haus, Karl,etc) oder Pronomen (ich, der, etc). Substantive können durch Adjektive (schön, schnell, etc)und Artikel (der, ein, etc) ergänzt werden. Präpositionalphrasen unterscheiden sich von No-minalphrasen nur durch eine vorangestellte Präposition (auf, in, etc), welche Verhältnisse undBeziehungen aufzeigt. Beide können durch untergeordnete Nominal- oder Präpositionalphra-sen weiter spezifiziert werden (siehe Abschnitt 1.3). Im weiteren werden sie alsNP undPNPbezeichnet.

Beispiel:PNP mit Artikel, Adjektiv und Substantiv.auf dem großen Tisch

Adverbien und Zusätze

Mit Hilfe von Adverbien (bald, gern, etc), kurzADV, werden nähere Umstände angegeben;Zusätze, kurzZUS, bezeichnen mögliche nach hinten gestellte Präfixe des Hauptverbs. BeideSatzglieder stehen generell einzeln und werden in dieser Arbeit dem jeweils hierarchisch über-geordneten Satzglied zugeordnet. Adverbien, da sie häufig auftreten, aber noch keine weiterenRegeln zu ihrer Zuordnung erarbeitet worden sind; Zusätze aus dem Grund, daß nicht genau

8

Page 9: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Abbildung 1.1.:Syntaxbaum des Satzes „PaPa analysierte analysierte Sprache“ bei kleinemTagset. Die Informationen des großen Tagsets wurden der Übersichtlichkeitwegen fortgelassen, sie finden sich im Anhang A.2.

geklärt werden konnte, ob bei der Analyse durch Morphy wirklich nur abgetrennte Präfixe alsZusatz möglich sind.

Beispiel: Adverb und Vollverb mit abgetrennten Präfix.Gern ging er spazieren.

1.1.2. Syntaxbaum

Die Ordnung der Satzglieder ist hierarchisch und lässt sich als gerichteter azyklischer Graphdarstellen, der als Syntaxbaum bezeichnet wird. Die Wurzel ist ein Knoten für den gesamtenSatz, die Worte des Satzes (und ihre Lemmata, bzw. Tags) bilden die einzelnen Blätter. Dieweiteren Knoten werden von den Satzgliedern gebildet.

Wie der Syntaxbaum für den Hauptsatz „PaPa analysierte analysierte Sprache“ bei kleinemTagset aussieht, ist in Abb. 1.1 zu sehen. Der Hauptsatz (HS) besteht aus Nominalphrasen(NP), welche die Satzobjekte bilden, der Verbalphrase (VP), welche alle Teile der Verbstrukturumfasst und wird durch ein Satzzeichen (SZ) abgeschlossen. Die Nominalphrasen bestehenentweder aus einem einfachen Substantiv (SUB) oder einem Substantiv mit vorgesetztem Par-tizip (PA2), das als Adjektiv gebraucht wird. Die Verbalphrase besteht hier nur aus einemeinfachen Vollverb (VER).

Dieses Beispiel verdeutlicht sofort das Problem der Doppeldeutigkeit (Ambiguität), welchesbei der Sprachanalyse immer wieder zu lösen ist. Das Wortanalysierte tritt in diesem Satzsowohl als Vollverb, als auch als Partizip auf. Welche Bedeutung richtig ist, hängt vom Kon-text ab. Das Formalisieren und Ausnutzen dieser Kontextinformationen macht den Kern dessyntaxbasierten Parsens aus.

9

Page 10: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Tabelle 1.1.:Hauptsatz mit Lemmata als zwei-dimensionale Liste (vollständig im AnhangA.1).

PaPa analysierte analysierte Sprache .<lemma wkl=SUB <lemma wkl=VER <lemma wkl=VER <lemma wkl=SUB <lemmakas=NOM num=SIN pers=1 num=SIN pers=1 num=SIN kas=NOM num=SIN wkl=SZK>gen=MAS> modtemp=PRT modtemp=PRT gen=FEM>Sprache ,</lemma>PaPa</lemma> konj=SFT> konj=SFT> </lemma> ...... analysieren analysieren ...

</lemma> </lemma>... ...

Abbildung 1.2.:Auswahl von Satzgliedern und Modifikation der Datenstruktur als Lösungs-baumsuche. Jeweils unterhalb der Mittellinie die Lemmata der Worte alsRechtecke, darüber der sich aufbauende Syntaxbaum.

1.2. Tagging mit Morphy und PaPa

Der Weg von einem Satz im Text zur grammatisch bestimmten Tiefenstruktur teilt sich in zweiSchritte.

Zunächst werden mit Hilfe des Programms Morphy die Lemmata mittels einer morphologi-schen Analyse ermittelt. Dabei werden die Grundform anhand des Wortstamms und anhandder Beugung die weiteren Eigenschaften wie Person, Fall, etc bestimmt ([Morphy]). Daraus re-sultiert eine zweidimensionale Liste, wie in Tabelle 1.1 dargestellt. Bei Benutzung des großenTagsets findet Morphy im Durchschnitt pro Wort sieben verschiedene Lemmata. Die morpho-logische Analyse wird auch als Lemmatisieren bezeichnet.

Die Aufgabe von PaPa reduziert sich dann darauf, mit Hilfe von Strukturmustern und syn-taktischen Regeln jedem Wort genau ein Tag zuzuordnen, alle nicht zutreffenden Lemmatazu streichen und die Tiefenstruktur anzupassen. Dazu sucht PaPa mit Hilfe von Strukturmu-stern iterativ nach Satzgliedern, bis alle Worte des Satzes einer Teilstruktur zugeordnet wordensind. Bei jeder Entscheidung für eine Zuordnung stehen meist mehrere Möglichkeiten zur Aus-wahl, welche sich nach der Wahrscheinlichkeit ordnen lassen, mit denen sie korrekt sind. DasAuswählen der jeweils nächsten Struktur kann dann als Tiefensuche in einem Lösungsbaumveranschaulicht werden, wobei ein Knoten des Baumes jeweils einen Satz mit seiner bisherbestimmten Struktur darstellt und alle Nachfolger dadurch gebildet werden, daß jeweils einemögliche weitere Struktur erkannt und der Satz dementsprechend modifiziert wird (vgl. Abb.1.2). Die Suche endet und der Satz mit Tiefenstruktur wird als korrekt angenommen, wenn

10

Page 11: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Tabelle 1.2.:Nominalphrase mit rekursiver Einbettung.das analysierende Morphydas die gesprochene Sprache analysierende Morphydas die von Menschen gesprochene Sprache analysierende Morphydas die von ... Menschen gesprochene Sprache analysierende Morphy

PaPa im Verlauf der Suche einen Knoten findet, für den alle Worte einem Satzteil zugeordnetwerden konnten.

1.2.1. Backtracking

Das Beispiel am Wort „analysierte“ zeigt die Notwendigkeit für einen Backtrackingmechanis-mus auf. Wurde bei der Identifikation des Hauptverbs versehentlich das Adjektiv der Nominal-phrase als Verb ausgewählt (weil es auch Verblemmata trägt), können nicht mehr alle Satzteilekorrekt zugeordnet werden. In jedem Fall würde das eigentliche Verb nicht zugeordnet werdenkönnen, da bereits ein Verb existiert und ein einzelnes Adjektiv nicht erlaubt ist. Da dieserFehler erst während der Suche nach Nominalphrasen erkannt werden kann, ist es notwendiggeworden, die bis dahin getroffenen Entscheidungen wieder rückgängig machen zu können.

1.3. Das Problem der rekursiven Einbettung

Im Deutschen ist es möglich, Nominal- und Präpositionalphrasen durch rekursive Einbettunganderer NP und PNP näher zu spezifizieren (vgl. Tabelle 1.2). Zwar wird selten tiefer als biszur dritten Schachtelungstiefe eingebettet, bisher war aber noch kein syntaktischer Ansatz be-kannt, mit dessen Hilfe diese Einbettungen erfolgreich wieder herausgetrennt werden konnten.Ausgehend von der Regel, daß Einbettungen nur an bestimmten Stellen erlaubt sind und derIdee Prof. Dr. Wettlers, die Einbettungen von innen nach außen zu identifizieren, kann PaPadieses Problem syntaxbasiert lösen.

Neben den in Tab. 1.2 aufgeführten Einbettungen gibt es noch Links- (determinatoreingebetteteNP Vaters Mutter) und Rechtseinbettungen (präpositionaleingebettete NPdas Haus im Wald).Diese werden in dieser Arbeit aber den anderen Satzgliedern gleichgestellt und direkt demTeilsatz zugeordnet.

1.4. Akzeptierte Sprachteile

Christian Hellmann unterscheidet in seiner Diplomarbeit [Hellmann], S. 24 [... fünf Arten vonSatzgliedern:

• Direkte Objekte des Satzes, wie Subjekt und weitere Objekte,

11

Page 12: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Abbildung 1.3.:Syntaxbaum des Nebensatzes „da das die Sprache analysierende Morphy dieVorgabe lieferte.“ bei kleinem Tagset. Die Informationen des großen Tagsetswurden der Übersichtlichkeit wegen fortgelassen, sie finden sich im AnhangA.2.

• Verben, die das Zusammenspiel der Objekte definieren,

• Präpositionalphrasen,

• Adverbien und

• Nebensätze mit und ohne Infinitivkonstruktionen, auf die in dieser Arbeit nicht einge-gangen wird. ...]

Die Einteilung ist für PaPa überarbeitet und auf vier Satzglieder wie folgt reduziert worden:

• Direkte Satzobjekte und Präpositionalphrasen werden nun gleich behandelt. Dies ist not-wendig geworden durch die Mischung zwischen Satzobjekten mit und ohne Präposition,wie sie in Einbettungen auftreten kann.

• Verben werden behandelt wie bei Hellmann vorgesehen.

• Adverbien und Zusätze.

• Haupt- und Nebensatzkonstruktionen: Ein Hauptsatz und beliebig viele Nebensätze inForm von Relativ- oder Konjunktionalsätzen (auch geschachtelt) mit Vollverb in End-stellung können mit PaPa erfolgreich getaggt werden. Die Restriktionen bzgl. der Neben-sätze erlauben es in linearer Zeit die Haupt- und Nebensätze voneinander abzugrenzen.(vgl. Abb. 1.3)

12

Page 13: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

2. Der Parser

In diesem Kapitel wird beschrieben, wie die in Abschnitt 1.2 beschriebenen Aufgaben vonPaPa gelöst werden. Dazu wird zunächst die verwendete Datenstruktur beschrieben und dieEntscheidung für XML gerechtfertigt. Das Arbeiten auf der Datenstruktur und der Umgangmit Strukturmustern wird allgemein beschrieben, bevor die Teilschritte der Analyse, welchedarauf aufbauen, der Reihe nach vorgestellt werden.

2.1. Datenstruktur

Die Datenstruktur besteht aus zwei Teilen. Einmal einer XML-Datei und zugehöriger Syntaxfür die Repräsentation eines Satzes, seiner Tags und seiner Tiefenstruktur. Dazu kommen nochListen der zulässigen Strukturen für die VP, NP und PNP.

2.1.1. Warum XML?

Für die Verwendung von XML in der Sprachanalyse sprechen mehrere Gründe. Der nahe-liegendste ist die Fähigkeit zur Repräsentation des Syntaxbaumes. Schließlich wurde XMLausdrücklich für hierarchische Strukturen ausgelegt. Ein weiterer ist die Validierung der Ein-gabe mittels eines Schemas. Da PaPa z. B. keine Regeln für den Umgang mit Worten hat, dienicht im Lexikon von Morphy enthalten sind(Wortklasse NIL), muß die Analyse von Sätzenmit unbekannten Anteilen abgelehnt werden. Durch das Validieren werden solche Eingabenabgelehnt, bevor PaPa vergeblich alle Möglichkeiten ausprobiert, diese Worte einer Strukturzuzuordnen.

XML Data Binding

XML Data Binding stellt die Verbindung zwischen einem XML-Dokument auf einem Daten-träger und einer Datenstruktur im Speicher zur Laufzeit eines Programms her. Diese Verbin-dung ist für PaPa an zwei Stellen interessant: Zum Programmstart das Einlesen der Eingabeund das Wandeln in eine manipulierbare Menge von Datenobjekten, sowie das Schreiben derAusgabe nach erfolgreichem Tagging. Für XML Data Binding stehen inzwischen mehrere frei

13

Page 14: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Abbildung 2.1.:Mapping zwischen einem XML-Element und einer Datenklasse in JAVA, wiesie von Castor automatisch erzeugt wird. Zug. XML-Schema auf dem Daten-träger.

verfügbare Bibliotheken in JAVA zur Verfügung. Die Entscheidung für PaPa fiel auf Castor.[Castor][JAXB][QUICK][ZEUS]

Das Speichern von Objekten als XML-Dokument wird als Marshalling, der umgekehrte Vor-gang als Unmarshalling bezeichnet. Dabei muß geregelt werden, wie die Informationen inXML und der Datenstruktur aufeinander abgebildet werden sollen. Dies kann mit Hilfe ei-ner Mapping-Datei gesteuert werden. Dabei kann für einzelne Informationen die Zuordnungangegeben oder die Entscheidung Castor überlassen werden.

Castor bietet darüber hinaus die Möglichkeit, aus einer vorhandenen Schemadatei die Klassenfür die zugehörigen Datenobjekte automatisch zu generieren. Dabei wird aus jedem komple-xen Element der Schemadatei eine Klasse generiert. Die Attribute und möglichen Unterele-mente des XML-Elements werden als Felder der Klasse angelegt und entsprechende get- undset-Methoden erzeugt. Das Mapping zwischen XML und Objekten kann dann von Castor au-tomatisch hergestellt werden (vgl. Abb. 2.1).

2.1.2. Arbeiten auf der Datenstruktur

Für die notwendigen Funktionen zur Mustersuche wurde eine zweite Vererbungshierarchievon Klassen erstellt, die ähnlich dem Dekorierer-Pattern ([GoF]) die von Castor erzeugtenDatenklassen um die notwendigen Funktionen für die Mustererkennung und die Manipulationder Taglisten und der Tiefenstruktur erweitern. Abb.2.2 zeigt einen Ausschnitt der Struktur zurLaufzeit.

2.1.3. Mustererkennung

Die Identifikation von Satzteilen wird mit Hilfe einer Mustererkennung erledigt, wobei jedesMuster eine erlaubte Konstruktion für ein Satzglied formal darstellt. Die Listen für Verb-, NP-und PNP-Muster befinden sich auf dem beiliegenden Datenträger./papaDeploy/res/vppattern.txt/papaDeploy/res/nppattern.txt

14

Page 15: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Abbildung 2.2.:Objektstruktur zur Laufzeit: Die Stellvertreterobjekte und die von ihnen ver-walteten Datenobjekte zum XML-Baum (grau).

Syntax

Ähnlich wie bei Hellmann ([Hellmann], S. 45) besteht die Beschreibungssprache für Musteraus Restriktionen und Wildcards. Restriktionen beschreiben gerade gewünschte Teile einerStruktur und ihre Zuordnung zu einem Wort des Satzes führt direkt zur Disambiguierung die-ses Wortes entsprechend des Musters. Bedingung ist dabei, daß ein Wort noch keiner anderenStruktur zugeordnet worden ist. Um dies erkennen zu können, werden zugeordnete Worte miteiner Markierung versehen. Wildcards überdecken beliebig viele Worte, welche für die ge-suchte Struktur nicht interessant sind. Dabei ist es gleich, ob diese bereits zugeordnet sindoder nicht.

== / != Der Gleichheitsoperator dient zur Überprüfung, ob ein Attribut einen bestimmten Werthat. Es wird geprüft, ob das Muster als Präfix des realen Attributs eingesetzt werdenkann. Die Restriktion der Wortklasse wkl==SZ wird dann sowohl durch Komma (SZK)als auch Punkt (SZE) erfüllt.Umgekehrt kann auf Ungleichheit bzgl. des Präfix geprüft werden. wkl!=SZ würde danndurch alle Lemmata erfüllt, deren Wortklasse nicht mit SZ beginnt.

, Gibt es für ein Wort mehrere Restriktionen, so werden diese durch Kommata getrennt undgelten als UND-verknüpft. Z. B. muß ein Vollverb die Wortklasse Verb besitzen und derTyp darf nicht Modal- oder Hilfsverb sein.wkl==VER,typ!=MOD,typ!=AUX

; Das Semikolon trennt Restriktionen einzelner Worte voneinander. Eine Nominalphrase be-stehend aus Artikel und Substantiv entspricht folgendem Muster.wkl==ART;wkl==SUB;

15

Page 16: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

+ / * Wildcards zur Überdeckung beliebiger Worte. Es können minimal ein (+) oder kein Wort(*) überdeckt werden. Da alle Muster auf einen ganzen Teilsatz angewandt werden, wer-den die Worte vor und nach der gesuchten Struktur üblicherweise durch Wildcards abge-deckt. Desweiteren können die Teile komplexerer Verbalphrasen durch eingeschobeneSatzobjekte getrennt sein, die erst später disambiguiert werden.*;wkl==ART;wkl==SUB;*;

~ Die Tilde dient als Platzhalter für mögliche eingebettete Nominalphrasen. Sie wird nur inMustern für Nominalphrasen verwendet. Die implizite Restriktion im Programm besagt,daß nur erfolgreich erkannte Nominalphrasen oder eine leere Stelle durch eine Tildeüberdeckt werden können. Dadurch wird der Gedanke realisiert, rekursive Einbettungenvon innen nach außen zu suchen. Das folgende Muster erlaubt eine Einbettung zwischenArtikel und Adjektiv einer Nominalphrase.*;wkl==ART;~;wkl=ADJ;wkl==SUB;*;

$ Mit einem Dollarzeichen werden Plätze für Satzzeichen freigehalten. Ein Vollverb in End-stellung wird dann durch folgendes Muster repräsentiert.*;wkl=VER,typ!=AUX,typ!=MOD;$ ;

Ergebnis einer Mustersuche

Alle zulässigen Zuordnungen der Strukturmuster zu Teilen eines Satzes auf Lemmaebene wer-den als Liste temporär erzeugt (vgl. Tab. 2.1). Um das Durchsuchen des Entscheidungsbaumesmöglichst schnell zum Erfolg zu führen, werden diese entsprechend der Wahrscheinlichkeitangeordnet, mit der sie korrekt sind. Allgemeine Heuristik: Die komplexeste erkannte Strukturist mit höchster Wahrscheinlichkeit korrekt. Für Zwecke des Backtrackings können die erstenn Zuordnungen invalidiert werden, deren vorherige Benutzung nicht zu einer vollständigenÜberdeckung geführt hat. Die verwendeten Muster werden aus externen Dateien eingelesen,um Änderungen ohne Kompilieren der Klassen zuzulassen. Da das Programm kein Maß fürdie Komplexität eines Musters besitzt, wird dieses Maß durch die aufsteigende Ordnung derverwendeten Muster in den Dateien definiert.

Da durch Backtracking im Extremfall alle möglichen Muster probiert werden, wirkt sich dieAnordnung der Muster vor allem auf den Zeitaufwand bis Annahme korrekter Sätze aus. Kri-terien zur Ablehnung falscher Sätze ohne vollständiges Durchsuchen des Lösungsbaumes sindnicht erarbeitet worden.

2.2. Groß- und Kleinschreibung

Anhand der Regel, daß Verben nur zu Beginn eines Satzes groß geschrieben werden dürfen,können von allen groß geschriebenen Worten, die nicht am Satzanfang stehen die Verblemmataentfernt werden.

16

Page 17: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Tabelle 2.1.:Ergebnis einer Mustersuche: Die Suche nach einem Hauptverb ergibt für den SatzPaPa analysierte anaylsierte Sprache acht Treffer für das Muster. Die ersten vierbetreffen das falsche Wort und müssen per Backtracking wieder zurückgenom-men werden.

Muster: *;wkl==VER,typ!=AUX,typ!=MOD;*;PaPa analysierte analysierte Sprache.Gefundene Tags:Wort 3, <lemma wkl=VER pers=1 num=SIN modtemp=PRT konj=SFT>analysieren</lemma>×Wort 3, <lemma wkl=VER pers=1 num=SIN modtemp=KJ2 konj=SFT>analysieren</lemma>×Wort 3, <lemma wkl=VER pers=3 num=SIN modtemp=PRT konj=SFT>analysieren</lemma>×Wort 3, <lemma wkl=VER pers=3 num=SIN modtemp=KJ2 konj=SFT>analysieren</lemma>×Wort 2, <lemma wkl=VER pers=1 num=SIN modtemp=PRT konj=SFT>analysieren</lemma>

Wort 2, <lemma wkl=VER pers=1 num=SIN modtemp=KJ2 konj=SFT>analysieren</lemma>Wort 2, <lemma wkl=VER pers=3 num=SIN modtemp=PRT konj=SFT>analysieren</lemma>Wort 2, <lemma wkl=VER pers=3 num=SIN modtemp=KJ2 konj=SFT>analysieren</lemma>

Beispiel: Sustantiviertes Verb (mit erläuternder Pröpositionalphrase). DasSchieben von Ki-sten.

2.3. Haupt- und Nebensatz-Zuordnung

Die Zuordnung von Worten zu einem Haupt- oder Nebensatz muß erfolgen, bevor Teile dieserSätze gesucht werden, um v. a. das fälschliche Erkennen von Verbstrukturen auszuschließen,deren Teile verschiedenen Teilsätzen angehören. Um dieses Problem handhabbar zu machen,wurde die Menge der akzeptierten Teilsatzarten derart beschränkt, daß eine eindeutige Zuord-nung oder Ablehnung nach einer Analyse des Satzes in linearer Zeit möglich ist.

2.3.1. Probleme mit Kommata

In deutschen Sätzen erfüllen Kommata mehrere Funktionen. Sie trennen Teile einer Aufzäh-lung, Nebensätze und Hauptsätze in Satzreihen voneinander. Aufzählungen und Satzreihenwaren von vornherein nicht Bestandteil dieser Arbeit, weshalb die Aufgabe zur Bearbeitungvon Nebensätzen verblieb. Diese teilen sich weiter auf in sechs Gruppen. [...

• Konjunktionalsätze (Nebensätze, die durch eine Konjunktion eingeleitet werden);

• Relativsätze (Nebensätze, die durch ein Relativpronomen oder eine Relativpartikel ein-geleitet werden);

• indirekte Fragesätze (Nebensätze, die durch ein Fragepronomen oder eine Fragepartikeleingeleitet werden);

• uneingeleitete Nebensätze;

17

Page 18: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

• satzwertige Infinitivkonstruktionen;

• satzwertige Partizipialkonstruktionen.

...]([Duden], Randziffer 1192) Diese Nebensätze können gleichberechtigt nebeneinander oderhierarchisch eingebettet stehen. PaPa läßt nur Relativ- und Konjunktionalsätze mit einem Voll-verb in Endstellung neben einem Hauptsatz zu. Dann legt jedes Worttripel mit einem Kommain der Mitte eindeutig fest, ob ein Teilsatz beendet oder durch eine Rekursion unterbrochenwird und ob der neue Teilsatz Haupt- oder Nebensatz ist. Desweiteren ist festgelegt, ob einKomma als Einleitung einem eingebetteten Nebensatz zugeordnet wird oder als Abschluß demvorangegangenen Teilsatz angehört. Der verwendete Algorithmus ist dem Chartparser entlehnt,den James Allen in seinem Buch „Natural Language Understanding“[Allen] beschreibt.

Nach Abschluß der Haupt- und Nebensatzzuordnung sind die Grenzen der Teilsätze bekannt.Desweiteren wurden alle Satzzeichen als solche getaggt und den Sätzen zugeordnet. Dabeibesitzt jeder Teilsatz mindestens ein abschließendes Satzzeichen, eingebettete Nebensätze zu-sätzlich ein einleitendes Satzzeichen. Ebenfalls an dieser Stelle getaggt wird die unterordnendeKonjunktion oder das Relativpronomen, bzw. -partikel, womit ein Nebensatz eingeleitet wird.

Beispiel: Die Worttripel, nach denen ein Hauptsatz und zwei rekursiv eingebettete Konjunktional-und Relativsätze strukturiert werden. Vollständig:PaPa analysierte analysierte Sprache, daMorphy, welches das Lemmatisieren erledigt, die Vorgabe lieferte.

PaPa ... Sprache, da ... Morphy, welches ... erledigt, die ... lieferte.HS Start HS Ende Ns1 unterbrochen Ende Ns2 Ende Ns1

Start Ns1 Start Ns2 Forts. Ns1

2.4. Bestimmung der Verbalphrase

Nach der auch von Hellmann verwendeten Theorie nach [Schank] hängt das Satzverstehenvon der Identifikation der Verstruktur ab. Diese kann aus einem einfachen Vollverb (Er aß)bestehen oder durch Hilfs- und Modalverben ergänzt werden (Er hätte gegessen haben sollen).Für jeden Haupt- und Nebensatz muß die Verbstruktur einmal vor den Satzobjekten bestimmtwerden. Dies geschieht mittels der zuvor beschriebenen Mustererkennung. Die verwendetenMuster befinden sich auf dem beiliegenden Datenträger.

Besteht die Verbalphrase aus mehreren Worten, so muß zus. untersucht werden, ob nicht wei-tere Satzglieder eingeschlossen wurden. Die Lage dieser Satzglieder wird dann als Mittelfeldbezeichnet ([Duden], Randziffer 1265). Die Suche nach diesen Satzgliedern ist identisch zuden im folgenden beschriebenen Verfahren zur Suche nach Nominal- und Präpositionalphra-sen sowie Adverbien und Zusätzen für Haupt- und Nebensätze.

18

Page 19: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

2.4.1. Valenzzuordnung

[... Bezogen zunächst auf das Verb meint ... der Valenzbegriff (Anm. d. Autors) ... dessen Fä-higkeit, um sich herum bestimmte Stellen zu eröffnen, die in einem Satz durch Satzglieder zubesetzen sind. ...] ([Duden], Randzahl 1082) In Übereinstimmung mit dieser Regel hat Hell-mann für seinen Parser ein Valenzwörterbuch erstellt, worin die zulässigen Objekte für einHauptverb aufgelistet sind und anhand dessen der Kasus von Nominalphrasen weiter einge-schränkt werden kann ([Hellmann], S. 33). Er nennt dazu als Beispiel das Verb „geben“ , dasNominativ-, Dativ- und Akkusativobjekt ermöglichen soll, nicht aber ein Genitivobjekt.

Peter gibt Heike einen Korb.

Nun können weitere Objekt aber als Modifikator gesetzt werden:

Peter gibt Heike einen Korb der Mutter.

Auch aufgrund weiterer Gründe wurde daher eine Valenzzuordnung für PaPa nicht implemen-tiert. Zum einen können die freien Stellen solcher Satzglieder nun auch durch Nebensätzebesetzt werden, die Hellmann in seiner Arbeit ausdrücklich ausgeschlossen hat. Zum anderenwurde bisher nur ein größeres Valenzwörterbuch erstellt ([Schumacher]), welches nur einenTeil der deutschen Verben umfasst und auch nicht elektronisch vorlag. Auch ist die sprachwis-senschaftliche Diskussion des Ansatzes noch nicht zu einem Ende gekommen. [Helbig]

2.5. Bestimmen von Präpositional- undNominalphasen

Ist die Verbstruktur eines Teilsatzes bestimmt, werden iterativ das Subjekt (NP im Nominativ),die Satzobjekte und weitere diese modifizierende NP und PNP mit der bereits beschriebenenMustersuche identifiziert. Im Gegensatz zur Verbsuche, die nach dem ersten Treffer unterbro-chen wird, muß die Suche nach NP und PNP solange durchgeführt werden, bis kein Treffermehr erzielt werden kann. Alle bis dahin identifizierten NP und PNP bilden dann die Objekt-struktur des Satzes. Für das Subjekt muß zus. überprüft werden, ob es mit der Verbstruktur inPerson und Numerus übereinstimmt.

Wie im Abschnitt 2.1.3 beschrieben, können NP und PNP an durch~ festgelegten Stellen an-dere NP oder PNP rekursiv einbetten. Diese müssen zuvor bestimmt worden sein, wodurch dieiterative Auflösung der Einbettung von innen nach außen möglich ist, anstatt wie bei traditio-nellen Chartparsern die Einbettungen bei einer wortweisen Analyse in Leserichtung aufzulö-sen.

19

Page 20: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Tabelle 2.2.:Unifizieren einer Präpositionalphrase. Im ersten Fall wird abgelehnt, im zweitenFall wird die PNP als korrekt angenommen.

1. Unifikationsversuch (Genusfehler)unter dem Tischwkl=PRP wkl=ART wkl =SUB

gen=NEU gen=MASkas=DAT kas=DATnum=SIN num=SIN

gen[]==?√

gen[]==NEU√

gen[NEU]==MAS ×kas[]==?

√kas[]==DAT

√kas[DAT]==DAT

num[]==?√

num[]==SIN√

num[SIN]==SIN

2. Unifikationsversuchunter dem Tischwkl=PRP wkl=ART wkl =SUB

gen=MAS gen=MASkas=DAT kas=DATnum=SIN num=SIN

gen[]==?√

gen[]==MAS√

gen[MAS]==MAS√

kas[]==?√

kas[]==DAT√

kas[DAT]==DAT√

num[]==?√

num[]==SIN√

num[SIN]==SIN√

2.5.1. Unifikation

Bevor eine Nominal- oder Präpositionalphrase als korrekt angenommen werden kann, mußüberprüft werden, ob alle Worte den gleichen Kasus, Numerus und Genus besitzen. Dazu wer-den von Anfang bis Ende der Phrase diese drei Merkmale überprüft. Der Prüfwert wird dabeierst in dem Moment vorgeschrieben, in dem er zum ersten Mal in einem Lemma auftaucht.Dieses Vorgehen ermöglicht wieder die Gleichbehandlung von Nominal- und Präpositional-phrasen.

Für das Beispielunter dem Tisch sieht der Vorgang wie in Abb. 2.2 beschrieben aus.

2.6. Adverbien und Zusätze

Für die Behandlung von Adverbien und Zusätzen wurden für diese Arbeit keine Regeln ent-wickelt. Da beide aber recht häufig auftreten und ein Satz von PaPa nur erfolgreich geparstwerden kann, wenn alle Worte einer Struktur zugeordnet werden konnten, werden nach dervollständigen Bestimmungen von Verbal-, Nominal- und Präpositionalphrasen einzeln stehen-de Adverbien markiert, danach einzeln stehende Zusätze.

An dieser Stelle ist auch die Möglichkeit zum erfolgreichen Abbruch des Programms gekom-men. Sind keine Zusätze mehr auffindbar und alle Worte erfolgreich zugeordnet, so wird der

20

Page 21: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Satz angenommen. Sind noch freie Worte vorhanden, aber es kann keine Zuordnung gefundenwerden, wird ein Backtracking angestoßen. Ist auch dieses nicht mehr möglich, so wird derSatz abgelehnt.

21

Page 22: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

3. Abschluß

Am Ende noch eine Zusammenfassung der bearbeiteten Funktionen und für die Benotung not-wendige Hinweise auf Ergebnisse aus meiner vorhergegangenen SHK-Tätigkeit. Zuletzt möch-te ich als Ausblick auf noch zu lösende Probleme und zu implementierende Ansätze hinweisen,die mir bei der Beschäftigung mit der syntaxbasierten Sprachanalyse bewußt geworden sind.

3.1. Zusammenfassung

In der vorliegenden Arbeit wurde ein in Java implementierter syntaxbasierter Parser vorge-stellt, der nach der Lemmatisierung eines Eingabesatzes das Tagging vornimmt und die er-kannten Satzglieder in einer Tiefenstruktur in XML abbildet. Neu gegenüber der Vorgänger-projekt [Hellmann] ist die Implementierung von Backtracking, die Gleichbehandlung von NPund PNP, der (vorläufige) Verzicht auf eine Valenzzuordnung zwischen dem Hauptverb undseinen Objekten, das iterative Zerlegen rekursiv eingebetteter NP und PNP, das Zerlegen undTaggen eines Satzes nach Haupt- und Nebensätzen sowie das Abbilden der Tiefenstruktur. Bisauf die letzten beiden Punkte habe ich alle aufgezählten Funktionen schon einmal für ein Zwi-schenprodukt erarbeitet, welches ich im Rahmen meiner Arbeit als SHK in der ArbeitsgruppeWettler zwischen dem WS 00/01 und dem SS 2002 mit Unterbrechungen erstellt habe. Diegewonnenen Erkenntnisse wurden bei der Neuimplementierung von PaPa im Rahmen dieserStudienarbeit verwertet. Für die Bewertung ist das Arbeitsergebnis der SHK-Tätigkeit auf demDatenträger unter/papaold abgelegt.

3.2. Ausblick

Hier will ich auf mir bewußte, aber in der vorliegenden Arbeit nicht behandelte Probleme undIdeen eingehen, welche in Zukunft noch zu lösen bzw. umzusetzen sind.

3.2.1. Backtracking und verspätete Disambiguierung

Ich hoffe in der vorliegenden Arbeit die Notwendigkeit für Backtracking bei der Analyse derbehandelten VP, NP, PNP und Zusätzen deutlich gemacht zu haben. Das Problem der kombi-

22

Page 23: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

natorischen Explosion (der Größe des zu durchsuchenden Lösungsbaumes) gewinnt, wie nichtanders zu erwarten, in Zukunft noch mehr Gewicht. Zuerst wohl bei der Herstellung von wei-teren Beziehung zwischen Teilsätzen. Z. B. wäre die Ablehnung einer Nebensatzstruktur, weilkeiner der Nebensätze eine verlangte Funktion als Subjekt erfüllt, erst nach erschöpfter Su-che nach NP und PNP im Hauptsatz möglich. Das Zuordnen von Pronomen erfordert späterdas Verknüpfen von Informationen zwischen mehreren Sätzen (zwischen Pronomen und demObjekt im Vorgängersatz, dessen Stelle es vertritt).

3.2.2. Satzarten

Die fehlenden Satz- und Nebensatzarten müssen für PaPa zugänglich gemacht werden. Dieserfordert auf der einen Seite, daß die Satzstruktur nicht wie jetzt eindeutig bestimmt, sondernwie die Satzglieder auch mit Hilfe von Mustern bestimmt und mittels Backtracking korrigier-bar sein muß. Auf der anderen Seite aber steht der Informationsgewinn, der aus der Satzart fürihre Satzglieder hervorgeht. So bestimmt z. B. ein Fragesatz eine Umordnung der Objekt- undVerbstruktur. Diese Informationen könnte man durch die Verwendung anderer Muster als fürAussagesätze ausnutzen.

Beispiel: Umordnung von Aussage- zu Fragesatz.Wir sind in Wien.→ Sind wir in Wien?

3.2.3. Satzzeichen und nebenordnende Konjunktionen

Eng verbunden mit dem Problem der Satzarten ist die Frage nach der Behandlung von Satz-zeichen, v. a. Kommata. Das Suchen der Satzstruktur wird dadurch kompliziert, daß Kommatanicht nur Teilsätze sondern auch Aufzählungen trennen können. Hinzu kommt, daß Aufzäh-lungen in der Regel durch nebenordnende Konjunktionen (und, oder, etc) abgeschlossen wer-den, die für sich selbst noch ein Problem aufwerfen. Nebenordnende Konjunktionen verbindenzwei gleichwertige Strukturen. Diese können sein: Zwei NP oder PNP, zwei Teilsätze oder eineNP/PNP und ein gleichwertiger Teilsatz. Das Problem ist nun, die Grenzen dieser Strukturenzu ermitteln und nachprüfen zu können, ob diese Verbindung zulässig ist. Siehe auch [Duden],Randziffer 654ff.

3.2.4. Valenzzuordnung

Wie bereits beschrieben, wurde aus verschiedenen Gründen für PaPa keine Valenzzuordnungimplementiert. Für sinnvoll halte ich sie indes schon, allerdings sollte sie nicht als starres Re-gelwerk, sondern eher als Satz von Heuristiken ausgelegt werden. Z. B.: WENN Subjekt vor-handen DANN Akkusativobjekt benötigt. Vor allem denke ich, daß Informationen über Satzart,damit Objektstellung, Valenzen des Hauptverbs und die möglichen Objekte noch stärker mit-einander verknüpft werden müssen.

23

Page 24: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

3.2.5. Adverbien und weitere Einstreuungen

Bisher keine Ansätze habe ich bisher zu der Verwendung von Adverbien und anderen Ein-streuungen entwickelt. Bei der Arbeit mit Zeitungstexten tauchen sie beinahe in jedem Satzauf und beeinflussen auf jeden Fall das Textverständnis. Daher sollte in Zukunft geklärt wer-den, welche weiteren Wortkategorien akzeptiert werden und wie ihre Verknüpfung mit denvorhandenen Kategorien beschrieben und verifizierbar gemacht werden kann.

3.2.6. Hilfsverbtest

Nicht alle Vollverben können mit jedem Hilfsverb kombiniert werden (Ich habe sein.) und einHilfsverb beeinflusst die Interpretation eines Satzes maßgeblich (Ich habe gegessen vs.Ich bingegessen). Aus diesen Gründen hat Hellmann bereits einen funktionstüchtigen Hilfsverbtest inseinen Parser integriert. Dieser wurde auch für die SHK-Version bereits implementiert, konn-te aber in der für die Arbeit zur Verfügung stehenden Zeit nicht mehr an die neue Strukturangepasst werden.

24

Page 25: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

Literaturverzeichnis

[Allen] Allen, James: Natural language understanding - 2. ed.; Redwood City: Ben-jamin/Cummings, 1995.ISBN 0-8053-0334-0 18

[BabelFish] Oliver Thomas Domzalski, Jan Simane: Berühmte Texte vom Computer neuübersetzt – Vor Gebrauch kräftig schütteln; Eichborn VerlagISBN: 3-8218-3526-5 6

[Castor] Homepage des Castor Projektshttp://www.castor.org/ 14

[Duden] Günther Drosdowski (Hrsg.), u. a.: Duden „Grammatik der deutschen Ge-genwartssprache“; 4., völlig neu bearb. u. erw. Aufl.; Bibliographisches In-stitut, 1984.ISBN 3-411-20904-6 8, 18, 19, 23

[GoF] Gamma, Erich: Entwurfsmuster: Elemente wiederverwendbarer objektori-entierter Software; Addison-Wesley 1995.ISBN 3-8273-1862-9 14

[Helbig] Helbig, Gerhard: Probleme der Valenz- und Kasustheorie / Gerhard Hel-big Tübingen : Niemeyer, 1992. - VII, 194 S. : graph. Darst. (Konzepte derSprach- und Literaturwissenschaft ; 51)ISBN 3-484-22051-1 19

[Hellmann] Christian Hellmann: Optimierung eines probabilistischen Programms zurAnalyse deutscher Sprache durch eine syntaktische Komponente. Diplom-arbeit, vorgelegt an der Universität Paderborn, Fb 17 und Fb 2. 6, 11, 15,19, 22, 26

[JAXB] Das XML Data Binding Framework von SUNhttp://java.sun.com/xml/jaxb/ 14

[Morphy] http://www.lezius.de/wolfgang/morphy/ 10

[QUICK] Homepage des QUICK Projektshttp://qare.sourceforge.net/web/2001-12/products/index.html# quick 14

25

Page 26: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

[Schank] R.C. Schank: Conceptual dependency theory. In: R.C. Schank: ConceptualInformation Processing. Amsterdam: North Holland. S. 22-82. 1975Quelle nach [Hellmann], S. 68 18

[Schumacher] Schumacher, Helmut [Hrsg.]: Verben in Feldern : Valenzwörterbuch zurSyntax u. Semantik dt. Verben / hrsg. von Helmut Schumacher; Berlin [u.a.]: de Gruyter, 1986. (Schriften des Instituts für Deutsche Sprache ; 1)ISBN 3-11-010782-1 19

[ZEUS] Homepage des ZEUS Projektshttp://zeus.enhydra.org/ 14

26

Page 27: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

A. Anhang

A.1. Lemmatisierung des Beispielsatzes

Ausgabe von Morphy in SGML-Form.

<form>PaPa</form><lemma wkl=SUB kas=NOM num=SIN gen=MAS>PaPa</lemma><lemma wkl=SUB kas=GEN num=SIN gen=MAS>PaPa</lemma><lemma wkl=SUB kas=DAT num=SIN gen=MAS>PaPa</lemma><lemma wkl=SUB kas=AKK num=SIN gen=MAS>PaPa</lemma><form>analysierte</form><lemma wkl=VER pers=1 num=SIN modtemp=PRT konj=SFT>analysieren</lemma><lemma wkl=VER pers=1 num=SIN modtemp=KJ2 konj=SFT>analysieren</lemma><lemma wkl=VER pers=3 num=SIN modtemp=PRT konj=SFT>analysieren</lemma><lemma wkl=VER pers=3 num=SIN modtemp=KJ2 konj=SFT>analysieren</lemma><lemma wkl=PA2 kas=NOM num=SIN gen=FEM komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=SIN gen=FEM komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=PLU gen=MAS komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=PLU gen=FEM komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=PLU gen=NEU komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=PLU gen=MAS komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=PLU gen=FEM komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=PLU gen=NEU komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=SIN gen=MAS komp=GRU art=DEF der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=SIN gen=FEM komp=GRU art=DEF der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=SIN gen=NEU komp=GRU art=DEF der=VER

27

Page 28: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

ableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=SIN gen=FEM komp=GRU art=DEF der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=SIN gen=NEU komp=GRU art=DEF der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=SIN gen=FEM komp=GRU art=IND der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=SIN gen=FEM komp=GRU art=IND der=VERableitung=analysieren>analysiert</lemma><form>analysierte</form><lemma wkl=VER pers=1 num=SIN modtemp=PRT konj=SFT>analysieren</lemma><lemma wkl=VER pers=1 num=SIN modtemp=KJ2 konj=SFT>analysieren</lemma><lemma wkl=VER pers=3 num=SIN modtemp=PRT konj=SFT>analysieren</lemma><lemma wkl=VER pers=3 num=SIN modtemp=KJ2 konj=SFT>analysieren</lemma><lemma wkl=PA2 kas=NOM num=SIN gen=FEM komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=SIN gen=FEM komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=PLU gen=MAS komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=PLU gen=FEM komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=PLU gen=NEU komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=PLU gen=MAS komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=PLU gen=FEM komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=PLU gen=NEU komp=GRU art=SOL der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=SIN gen=MAS komp=GRU art=DEF der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=SIN gen=FEM komp=GRU art=DEF der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=SIN gen=NEU komp=GRU art=DEF der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=SIN gen=FEM komp=GRU art=DEF der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=SIN gen=NEU komp=GRU art=DEF der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=NOM num=SIN gen=FEM komp=GRU art=IND der=VERableitung=analysieren>analysiert</lemma><lemma wkl=PA2 kas=AKK num=SIN gen=FEM komp=GRU art=IND der=VERableitung=analysieren>analysiert</lemma><form>Sprache</form><lemma wkl=SUB kas=NOM num=SIN gen=FEM>Sprache</lemma><lemma wkl=SUB kas=GEN num=SIN gen=FEM>Sprache</lemma>

28

Page 29: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

<lemma wkl=SUB kas=DAT num=SIN gen=FEM>Sprache</lemma><lemma wkl=SUB kas=AKK num=SIN gen=FEM>Sprache</lemma><form>,</form><lemma wkl=SZK>,</lemma><form>da</form><lemma wkl=ZUS>da</lemma><lemma wkl=KON typ=UNT>da</lemma><lemma wkl=ADV typ=LOK>da</lemma><form>das</form><lemma wkl=PRO typ=PER kas=AKK num=SIN gen=NEU>der</lemma><lemma wkl=PRO typ=PER kas=NOM num=SIN gen=NEU>der</lemma><lemma wkl=PRO typ=DEM kas=NOM num=SIN gen=NEU>der</lemma><lemma wkl=PRO typ=DEM kas=AKK num=SIN gen=NEU>der</lemma><lemma wkl=ART typ=DEF kas=NOM num=SIN gen=NEU>der</lemma><lemma wkl=ART typ=DEF kas=AKK num=SIN gen=NEU>der</lemma><form>die</form><lemma wkl=PRO typ=PER kas=NOM num=SIN gen=FEM>der</lemma><lemma wkl=PRO typ=PER kas=NOM num=PLU gen=ALG>der</lemma><lemma wkl=PRO typ=PER kas=AKK num=SIN gen=FEM>der</lemma><lemma wkl=PRO typ=PER kas=AKK num=PLU gen=ALG>der</lemma><lemma wkl=PRO typ=DEM kas=AKK num=SIN gen=FEM>der</lemma><lemma wkl=PRO typ=DEM kas=NOM num=SIN gen=FEM>der</lemma><lemma wkl=PRO typ=DEM kas=NOM num=PLU gen=ALG>der</lemma><lemma wkl=PRO typ=DEM kas=AKK num=PLU gen=ALG>der</lemma><lemma wkl=ART typ=DEF kas=NOM num=PLU gen=MAS>der</lemma><lemma wkl=ART typ=DEF kas=AKK num=PLU gen=MAS>der</lemma><lemma wkl=ART typ=DEF kas=NOM num=SIN gen=FEM>der</lemma><lemma wkl=ART typ=DEF kas=AKK num=SIN gen=FEM>der</lemma><lemma wkl=ART typ=DEF kas=NOM num=PLU gen=FEM>der</lemma><lemma wkl=ART typ=DEF kas=AKK num=PLU gen=FEM>der</lemma><lemma wkl=ART typ=DEF kas=NOM num=PLU gen=NEU>der</lemma><lemma wkl=ART typ=DEF kas=AKK num=PLU gen=NEU>der</lemma><form>Sprache</form><lemma wkl=SUB kas=NOM num=SIN gen=FEM>Sprache</lemma><lemma wkl=SUB kas=GEN num=SIN gen=FEM>Sprache</lemma><lemma wkl=SUB kas=DAT num=SIN gen=FEM>Sprache</lemma><lemma wkl=SUB kas=AKK num=SIN gen=FEM>Sprache</lemma><form>analysierende</form><lemma wkl=PA1 kas=NOM num=SIN gen=FEM komp=GRU art=SOL der=VERableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=AKK num=SIN gen=FEM komp=GRU art=SOL der=VERableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=NOM num=PLU gen=MAS komp=GRU art=SOL der=VERableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=NOM num=PLU gen=FEM komp=GRU art=SOL der=VERableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=NOM num=PLU gen=NEU komp=GRU art=SOL der=VER

29

Page 30: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

ableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=AKK num=PLU gen=MAS komp=GRU art=SOL der=VERableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=AKK num=PLU gen=FEM komp=GRU art=SOL der=VERableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=AKK num=PLU gen=NEU komp=GRU art=SOL der=VERableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=NOM num=SIN gen=MAS komp=GRU art=DEF der=VERableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=NOM num=SIN gen=FEM komp=GRU art=DEF der=VERableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=NOM num=SIN gen=NEU komp=GRU art=DEF der=VERableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=AKK num=SIN gen=FEM komp=GRU art=DEF der=VERableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=AKK num=SIN gen=NEU komp=GRU art=DEF der=VERableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=NOM num=SIN gen=FEM komp=GRU art=IND der=VERableitung=analysieren>analysierend</lemma><lemma wkl=PA1 kas=AKK num=SIN gen=FEM komp=GRU art=IND der=VERableitung=analysieren>analysierend</lemma><form>Morphy</form><lemma wkl=EIG kas=NOM num=SIN gen=NEU art=ART typ=PER>Morphy</lemma><lemma wkl=EIG kas=GEN num=SIN gen=NEU art=ART typ=PER>Morphy</lemma><lemma wkl=EIG kas=DAT num=SIN gen=NEU art=ART typ=PER>Morphy</lemma><lemma wkl=EIG kas=AKK num=SIN gen=NEU art=ART typ=PER>Morphy</lemma><lemma wkl=EIG kas=NOM num=SIN gen=NEU art=NOA typ=PER>Morphy</lemma><lemma wkl=EIG kas=DAT num=SIN gen=NEU art=NOA typ=PER>Morphy</lemma><lemma wkl=EIG kas=AKK num=SIN gen=NEU art=NOA typ=PER>Morphy</lemma><form>die</form><lemma wkl=PRO typ=PER kas=NOM num=SIN gen=FEM>der</lemma><lemma wkl=PRO typ=PER kas=NOM num=PLU gen=ALG>der</lemma><lemma wkl=PRO typ=PER kas=AKK num=SIN gen=FEM>der</lemma><lemma wkl=PRO typ=PER kas=AKK num=PLU gen=ALG>der</lemma><lemma wkl=PRO typ=DEM kas=AKK num=SIN gen=FEM>der</lemma><lemma wkl=PRO typ=DEM kas=NOM num=SIN gen=FEM>der</lemma><lemma wkl=PRO typ=DEM kas=NOM num=PLU gen=ALG>der</lemma><lemma wkl=PRO typ=DEM kas=AKK num=PLU gen=ALG>der</lemma><lemma wkl=ART typ=DEF kas=NOM num=PLU gen=MAS>der</lemma><lemma wkl=ART typ=DEF kas=AKK num=PLU gen=MAS>der</lemma><lemma wkl=ART typ=DEF kas=NOM num=SIN gen=FEM>der</lemma><lemma wkl=ART typ=DEF kas=AKK num=SIN gen=FEM>der</lemma><lemma wkl=ART typ=DEF kas=NOM num=PLU gen=FEM>der</lemma><lemma wkl=ART typ=DEF kas=AKK num=PLU gen=FEM>der</lemma><lemma wkl=ART typ=DEF kas=NOM num=PLU gen=NEU>der</lemma><lemma wkl=ART typ=DEF kas=AKK num=PLU gen=NEU>der</lemma><form>Vorgabe</form>

30

Page 31: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

<lemma wkl=SUB kas=NOM num=SIN gen=FEM>Vorgabe</lemma><lemma wkl=SUB kas=GEN num=SIN gen=FEM>Vorgabe</lemma><lemma wkl=SUB kas=DAT num=SIN gen=FEM>Vorgabe</lemma><lemma wkl=SUB kas=AKK num=SIN gen=FEM>Vorgabe</lemma><form>lieferte</form><lemma wkl=VER pers=1 num=SIN modtemp=PRT konj=SFT>liefern</lemma><lemma wkl=VER pers=1 num=SIN modtemp=KJ2 konj=SFT>liefern</lemma><lemma wkl=VER pers=3 num=SIN modtemp=PRT konj=SFT>liefern</lemma><lemma wkl=VER pers=3 num=SIN modtemp=KJ2 konj=SFT>liefern</lemma><form>.</form><lemma wkl=SZE>.</lemma>

A.2. Ergebnis des Taggings als Syntaxbaum

Abbildung A.1.:Ergebnis des Taggings als Syntaxbaum

A.3. Ergebnis des Taggings in XML-Form

<?xml version=“1.0“ encoding=“iso-8859-1“?><Papa:sentence xsi:schemaLocation=“file:///res PapaXML.xsd“xmlns:Papa=“file:///D:/papatest“ xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance“>

<Papa:hs><Papa:np pattern=“*;wkl==SUB;*;“>

<Papa:form alreadyMatched=“true“ crossable=“true“><word>PaPa</word><Papa:lemma gen=“MAS“ kas=“NOM“ num=“SIN“wkl=“SUB“>PaPa</Papa:lemma>

</Papa:form>

31

Page 32: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

</Papa:np><Papa:vp pattern=“*;wkl==VER,typ!=AUX,typ!=MOD,form!=IMP;*;“>

<Papa:form alreadyMatched=“true“ crossable=“false“><word>analysierte</word><Papa:lemma konj=“SFT“ modtemp=“PRT“ num=“SIN“ pers=“1“wkl=“VER“>analysieren</Papa:lemma>

</Papa:form></Papa:vp><Papa:np pattern=“*;wkl==PA2;wkl==SUB;*;“>

<Papa:form alreadyMatched=“true“ crossable=“true“><word>analysierte</word><Papa:lemma gen=“FEM“ kas=“AKK“ num=“SIN“wkl=“PA2“>analysiert</Papa:lemma>

</Papa:form><Papa:form alreadyMatched=“true“ crossable=“true“>

<word>Sprache</word><Papa:lemma gen=“FEM“ kas=“AKK“ num=“SIN“wkl=“SUB“>Sprache</Papa:lemma>

</Papa:form></Papa:np><Papa:form alreadyMatched=“true“ crossable=“false“>

<word>,</word><Papa:lemma wkl=“SZK“>,</Papa:lemma>

</Papa:form></Papa:hs><Papa:ns>

<Papa:form alreadyMatched=“true“ crossable=“false“><word>da</word><Papa:lemma typ=“UNT“ wkl=“KON“>da</Papa:lemma>

</Papa:form><Papa:np pattern=“*;wkl==ART; ;wkl==PA1;wkl==EIG;*“>

<Papa:form alreadyMatched=“true“ crossable=“true“><word>das</word><Papa:lemma gen=“NEU“ kas=“AKK“ num=“SIN“ typ=“DEF“wkl=“ART“>der</Papa:lemma>

</Papa:form><Papa:np pattern=“*;wkl==ART;wkl==SUB;*;“>

<Papa:form alreadyMatched=“true“ crossable=“true“><word>die</word><Papa:lemma gen=“FEM“ kas=“AKK“ num=“SIN“ typ=“DEF“wkl=“ART“>der</Papa:lemma>

</Papa:form><Papa:form alreadyMatched=“true“ crossable=“true“>

<word>Sprache</word><Papa:lemma gen=“FEM“ kas=“AKK“ num=“SIN“wkl=“SUB“>Sprache</Papa:lemma>

</Papa:form>

32

Page 33: Syntaxbasiertes Parsen natürlicher Sprache in einer XML ...groups.uni-paderborn.de/psychologie/wt-Studienarbeit.pdfIn seiner Diplomarbeit stellt Christian Hellmann einen in C++ implementierten

</Papa:np><Papa:form alreadyMatched=“true“ crossable=“true“>

<word>analysierende</word><Papa:lemma gen=“NEU“ kas=“AKK“ num=“SIN“wkl=“PA1“>analysierend</Papa:lemma>

</Papa:form><Papa:form alreadyMatched=“true“ crossable=“true“>

<word>Morphy</word><Papa:lemma gen=“NEU“ kas=“AKK“ num=“SIN“ typ=“PER“wkl=“EIG“>Morphy</Papa:lemma>

</Papa:form></Papa:np><Papa:np pattern=“*;wkl==ART;wkl==SUB;*;“>

<Papa:form alreadyMatched=“true“ crossable=“true“><word>die</word><Papa:lemma gen=“FEM“ kas=“AKK“ num=“SIN“ typ=“DEF“wkl=“ART“>der</Papa:lemma>

</Papa:form><Papa:form alreadyMatched=“true“ crossable=“true“>

<word>Vorgabe</word><Papa:lemma gen=“FEM“ kas=“AKK“ num=“SIN“wkl=“SUB“>Vorgabe</Papa:lemma>

</Papa:form></Papa:np><Papa:vp pattern=“*;wkl==VER,typ!=AUX,typ!=MOD,form!=IMP;*;“>

<Papa:form alreadyMatched=“true“ crossable=“false“><word>lieferte</word><Papa:lemma konj=“SFT“ modtemp=“PRT“ num=“SIN“ pers=“1“wkl=“VER“>liefern</Papa:lemma>

</Papa:form></Papa:vp><Papa:form alreadyMatched=“true“ crossable=“false“>

<word>.</word><Papa:lemma wkl=“SZE“>.</Papa:lemma>

</Papa:form></Papa:ns>

</Papa:sentence>

33