Wie oft wünscht man sich, dass man mittelhochdeutsche Texte endlich automatisch mit Wortarten versehen kann? Bei uns lautet die Antwort: ständig. Wenn wir im Kollaborationsprojekt CRETA (https://www.creta.uni-stuttgart.de/) darüber sprechen, wie man Texte aus Bundestagsdebatten, Werther oder Adornos Ästhetischer Theorie mit linguistischen Informationen anreichern kann, fällt der Parzival oftmals mit einem etwas mitleidigen Lächeln unter den Tisch: dafür haben wir nicht die Tools, heißt es dann. Denn für das Mittelhochdeutsche funktionieren Werkzeuge, die für das moderne Deutsch trainiert wurden, erwartungsgemäß nicht besonders gut. Dies, haben wir beschlossen, kann man ändern.
Das erste, was man braucht, wenn man seinen eigenen Wortartentagger erstellen will, sind Trainingsdaten. Als wir mit unserem Vorhaben begonnen haben, war das Referenzkorpus Mittelhochdeutsch (https://www.linguistics.rub.de/rem/), das annotierte mittelhochdeutsche Daten enthält, leider noch nicht veröffentlicht. Das hätte uns damals die Arbeit etwas erleichtert. Wir haben unsere Daten also aus anderer Quelle bezogen. Bei der Mittelhochdeutschen Begriffsdatenbank (http://mhdbdb.sbg.ac.at/) wurden wir fündig. Es handelt sich hierbei zwar nicht um ein mit Wortarten annotiertes Korpus im konventionellen Sinne, aber trotzdem können uns die enthaltenen Annotationen weiterhelfen – Not macht ja bekanntlich erfinderisch. Die Wortarteninformationen, die in der Datenbank enthalten sind, operieren nur auf Ebene der Wortformen und sind losgelöst vom Kontext eines Wortes. Beispielsweise kann das Wort guot als Adjektiv, Nomen oder Adverb verwendet werden (und ist dementsprechend dreifach annotiert); ohne einen konkreten Verwendungskontext lässt sich dies nicht genauer bestimmen.
Hinzu kommt, dass nicht alle möglichen Verwendungsformen der Wörter in der Datenbank abdeckt sind: So kann z.B. daz nicht nur Artikel oder subordinierende Konjunktion sein (Satz 1), sondern auch als Relativ- (2) oder Demonstrativpronomen (3) fungieren:
(1) Daz edel kint hât mir verjehen, daz ez in troume sî geschehen.
(2) Wie staete ist ein dünnez eis daz ougestheize sunnen hât?
(3) Daz sage ich iu vür ungelogen.
Ganz ohne manuelle Annotationen konnten wir die Daten also nicht weiterverwenden. Um die Informationen aus der Begriffsdatenbank für die Entwicklung eines Wortartentaggers nutzen zu können, annotierten wir zuerst ein Teilkorpus bestehend aus unterschiedlichen Textsorten des Mittelhochdeutschen manuell mit einem kleinen, grobkörnigen Tagset. Aus diesem Korpus lernte ein Conditional Random Fields Algorithmus, welche Wortart verschiedene Wörter im Kontext annehmen können. Unter Berücksichtigung des tatsächlichen Vorkommens eines Wortes im Satz wählte dieser Algorithmus dann für alle Wörter in der Datenbank diejenige Annotation aus, die im Kontext am sinnvollsten erschien.
Außerdem kennzeichnete er die Wörter, die in der Begriffsdatenbank bisher nicht ausgezeichnet waren. Denn obwohl das Datenbankprojekt schon seit 1992 besteht, sind noch nicht alle Wörter vollständig mit Annotationen versehen oder zu bestehenden Einträgen in der Datenbank verlinkt. So konnten wir mit wenig manuellem Annotationsaufwand ein großes Trainingskorpus für einen Wortartentagger erzeugen. Dieses enthält zwar hin und wieder Fehlauszeichnungen, da der Algorithmus für die Kontextualisierung nicht immer die richtige Wortart findet, aber die große Menge der Daten gleicht diese Fehler aus.
Computerlinguisten haben über die letzten Jahre einige Standardwerkzeuge für Textanalyse-Aufgaben wie die automatische Wortartenannotation entwickelt. Dazu zählt auch der TreeTagger (http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/), ein Werkzeug zur Annotation textueller Daten mit Wortarten (POS)- und Lemmainformation.
Damit sich unser Werkzeug leicht auch von anderen Interessierten benutzen lässt, entschieden wir uns dafür, ein TreeTagger-Modell zu erstellen. Um einschätzen zu können, ob unsere Mühen bezüglich der Erzeugung von mehr Trainingsmaterial erfolgreich waren, trainierten wir zwei Modelle: eines auf den manuell annotierten Daten (20,000 Wörter) und eines auf den angepassten Daten aus der Mittelhochdeutschen Begriffsdatenbank (10 Millionen Wörter). Tatsächlich erzielt das Modell mit dem großen Trainingsdatensatz ein Ergebnis von 91% Akkuratheit, fast 4% mehr als das Modell mit den manuell annotierten Daten. 91% ist als gutes Ergebnis zu interpretieren, zumal unser Testset eine Reihe von verschiedenen Textsorten und Entstehungszeiträumen abdeckt. Im Vergleich dazu erreicht das TreeTagger-Modell für das moderne Deutsch eine Akkuratheit von 97%. Das Neuhochdeutsche ist in sich aber auch homogener als das Mittelhochdeutsche, das sich unter anderem durch verschiedene dialektale Ausprägungen in der Schriftsprache und fehlende normalisierte Rechtschreibung auszeichnet. Durch die Heterogenität im Trainingskorpus ist zu erwarten, dass unser Wortartentagger auch auf entsprechend vielfältigen Texten des Mittelhochdeutschen einsetzbar ist.
Unser TreeTagger-Modell kann von der Webseite des Instituts für Maschinelle Sprachverarbeitung heruntergeladen werden (http://www.ims.uni-stuttgart.de/forschung/ressourcen/werkzeuge/PoS_Tag_MHG.html) und ist auch im CLARIN Virtual Language Observatory (https://vlo.clarin.eu), einer Suchmaschine für linguistische Ressourcen und Werkzeuge, nachhaltig auffindbar.
Wer Texte lieber direkt online taggen lassen will, kann das hier tun: http://clarin05.ims.uni-stuttgart.de/mhdtt/index.html
Bild: © CrazyCloud / Fotolia.com
Report
My comments