Architektur und Entwicklung eines hochwertigen PoS Taggers
Architecture and Development of High-Quality PoS Tagger
Wissenschaftsdisziplinen
Informatik (60%); Sprach- und Literaturwissenschaften (40%)
Keywords
-
Computational Linguistics,
Constraint Grammars,
Linguistic Methology,
Human Language Technology,
Part-of-Speech tagging,
Natural Language Processing
Das Projekt widmet sich der Entwicklung und Implementierung einer neuen Architektur für qualitativ hochwertiges Part-of-Speech (PoS) Tagging. Ein PoS Tagger desambiguiert die Wort-formen in einem Text - zumindest auf der Wortklassenebene (z.B. ist "sieben" ambig zwischen einem Numeral und einem Verb) oder aber auch auf einer feineren Ebene (z.B. ist "Leiter" ambig hinsichtlich des grammatischen Genus). Heutzutage gibt es zwei prinzipiell unterschiedliche Ansätze zur Lösung des Problems: - statistische Tagger, die jedem Wort die jeweils wahrscheinlichste Lesart zuordnen, wie sie es automatisch aus einem mit Tags annotiertem Text gelernt haben (also ohne explizites linguistisches Wissen; - "Constraint Grammar" Tagger, die die Desambiguierung aufgrund expliziter, linguistisch motivierter Grammatikregeln durchführen. Beide Ansätze haben ihre Vor- und Nachteile. Aus diesem Grund sollen sie im Projekt in einer gemeinsamen Tagging-Architektur kombinieren werden, in der die jeweilige Vorteile zur Geltung kommen, die Nachteile sich aber kompensieren. Während statistische bei Vorhandensein eines Trainingscorpus schnell einsatzbereit sind, benötigen Constraint Grammar Tagger derzeit noch immer sehr hohen menschlichen Aufwand zur Erstellung der vielen, manchmal sehr komplexen Regeln. Das Hauptproblem dabei ist, dass es keine allgemeine Methode gibt, wie man solche Regeln linguistisch motiviert bzw. findet. Um diese Situation zu verbessern, wird die Entwicklung einer effizienten Methodologie zur Regel-erstellung eine wesentliche Teilaufgabe des Projekts darstellen. Neben diesen theoretischen Zielen sollen die neu entwickelte Architektur und die Methoden in einer Anwendung auf das Deutsche demonstriert und auch validiert werden. Daraus ergeben sich drei Hauptziele, die auch die innovativen Leistungen des Projekts im Bereich des PoS Tagging zusammenfassen: 1. Motivation Entwicklung einer neuartigen Tagger-Architektur, die den statistischen und den Contraint Grammar Ansatz zu einem System kombiniert, mit einer Verlässlichkeit, die höher liegt als die von ihren jeweileigen Komponenten derzeit erzielbare; 2. Entwicklung einer systematischen Methode von Erstellung der Regeln eines Constraint Grammar Taggers, sowie einer neuartigen, leistungsfähigeren Methode zur Regelanwendung; 3. Implementierung und Evaluation eines solchen Taggers für das Deutsche.
Part-of-Speech (PoS) Tagging ist ein Verfahren, das jedem Wort eines Textes automatisch seine korrekte morphologische Kategorie zuweist. Zum Beispiel sollte der Satz "Wir sieben meinen Sand." folgendermaßen annotiert werden: "Wir (Personalpronomen) sieben (Verb) meinen (Possessivpronomen) Sand (Nomen)." Morphologische Kategorien vermitteln wichtige linguistische Information und werden in vielen Anwendungen der automatischen Verarbeitung natürlicher Sprache in einem Vorverarbeitungsschritt ermittelt. Warum ist das eine schwierige Aufgabe? Weil Wörter mehrdeutig sind: "sieben" kann ein Verb oder ein Zahlwort sein, "meinen" ein Possessivpronomen oder ein Verb. Aktuelle PoS-Tagger verwenden statistisches Wissen, das sie aus großen Korpora lernen. Sie lösen ihre Aufgabe recht gut und ermitteln in bis zu 97 von 100 Fällen die korrekte morphologische Kategorie. Aber viele Fehler, die sie machen sind werden als krass empfunden, in dem Sinne, dass kein Mensch würde solche Fehler begehen. Außerdem erfordern viele Anwendungen eine noch bessere Leistung: 99 von 100 sollte erreichbar sein. Ziel des Projektes war es, die Methodologie für einen linguistisch motivierten, hoch-qualitativen, partiellen PoS- Tagger für das Deutsche zu entwickeln und ein entsprechendes System zu implementieren. Ein solcher Tagger desambiguiert mit rein linguistischen Mitteln, d.h. seine Archtektur hat folgende Grundstruktur: - ein Initialisierungsschritt weist jedem Wort alle seine möglichen morphologischen Kategorien zu; - der Tagger entfernt alle jene morphologischen Kategorien, die im gegebenen Kontext (grammatisch) unmöglich sind. Im Projektverlauf wurde eine Methode zur Darstellung linguistischer Beschränkungen in konziser Form entwickelt, nämlich als (grammatisch) unmögliche Sequenzen von morphologischen Kategorien. Insgesamt wurden etwa 160 Regeln dieser Art für das Deutsche gefunden. Die Anwendung dieser Regeln auf Sätze eines Textes erlaubt es, alle zu solchen Sequenzen führenden morphologischen Kategorien zu eliminieren. Der grundlegende Vorteil eines solchen Verfahrens ist, dass das Ergebnis zuverlässig in dem Sinne ist, dass der Tagger keinerlei Fehler macht. Aber die Methode bewirkt im allgemeinen keine vollständige Desambiguierung; das geschieht nur wenn das angewendete linguistische Wissen eine solche erlaubt (dies korrespondiert auch mit der linguistischen Realität - viele Sätze sind inhärent mehrdeutig). Um eine vollständige Desambiguierung auf genau eine morphologische Kategorie pro Wort zu gewährleisten, wird die entwickelte Komponente mit einem statistischen Tagger kombiniert. Da die statistische Komponente nun auf einer wesentlich reduzierten Kategorienanzahl arbeitet, übertrifft die Qualität des Gesamtsystems die rein statistischer Tagger. Die Evaluation an einem großen Korpus von Zeitungsmeldungen zeigte, dass unser Tagger dem Ideal nahe kommt - er erreichte fast 98 korrekte Zuordnungen aus 100.