Hinzufügen von linguistischen Informationen

Wenn das Korpus die Texte in tokenisierter Form enthält, kann man sie schon für viele Zwecke nutzen und beispielsweise zählen lassen, wie oft ein bestimmtes Wort vorkommt oder nach bestimmten interessanten Phrasen suchen.

Interessanter wird es jedoch, wenn man die Texte mit linguistischen Informationen anreichern kann. Damit ist in erster Linie Folgendes gemeint:
  1. Bestimmung der Wortart der einzelnen Token (Part-of-Speech-Tagging)
  2. Bestimmung der Grundformen der Token (Lemmatisierung)
  3. Syntaktische Kategorisierung von Gruppen von Token (Chunking und Parsing)
  4. Oder Hinzufügen beliebiger anderer Metainformationen, z.B. zur Semantik von einzelnen oder Gruppen von Token.
Damit kann man beispielsweise nach allen Adjektiv-Nomen-Konstruktionen suchen, muss bei der Abfrage nicht alle Flexionsformen eines Wortes eingeben und kann interessante syntaktische Konstruktionen finden.

Dieses Anreichern mit linguistischen Informationen nennt sich "annotieren"; die "Annotation". Man verfügt dann über ein annotiertes Korpus. Mit "Tagging" wird dabei im Speziellen die Annotation mit Wortarten bezeichnet, mit "Parsing" das Erkennen von syntaktischen Strukturen. Beim Tagging wird ein sog. Tagset definiert, ein Set von Wortarten, wobei auch Tags für die Interpunktion oder Zahlen vorgesehen sein müssen. Ein solches Tagset kann sich an einem einfachen Wortartenmodell wie die Fünf-Wortarten-Lehre von Glinz orientieren, oft ist es aber auf die speziellen Bedürfnisse und Möglichkeiten der maschinellen Analyse angepasst und entsprechend erweitert.

Maschinelles Tagging und Parsing

Natürlich möchte man diese Arbeiten gerne dem Computer überlassen. Computerlinguistische Methoden haben sich teilweise schon weit entwickelt, damit das mit grosser Trefferquote funktioniert.

Es gibt mehrere Programme, die frei verfügbar sind, und solches Part-of-Speech-Tagging machen. Die ComputerlinguistInnen an der Universität Zürich haben z.B. den Dependenz-Parser Pro3GresDE fürs Deutsche entwickelt und kann online ausprobiert werden: http://kitt.cl.uzh.ch/kitt/progresde/.

Aufgabe
Probiere den Dependenz-Parser Pro3GresDE der ComputerlinguistInnen der Uni Zürich aus und prüfe, wie genau er arbeitet und wo er Fehler macht!
http://kitt.cl.uzh.ch/kitt/progresde/

Vom Institut für maschinelle Sprachverarbeitung der Universität Stuttgart ist der TreeTagger erhältllich, der in kurzer Zeit riesige Mengen an Text sprachunabhängig mit Wortarten und Lemmata taggt. TreeTagger läuft unter Windows, Unix-Systemen und unter Mac OS X. Die Bedienung ist leider etwas kompliziert, da das Programm eigentlich dafür gedacht ist, über die Kommandozeile bedient zu werden. Es gibt allerdings für Windows eine grafische Benutzeroberfläche, entwickelt von Ciarán Ó Duibhín.

Wie funktioniert maschinelles Tagging und Parsing?
  1. Regelbasiertes Tagging: Der Computer verlässt sich beim Tagging auf ein umfangreiches Regelwerk, ein Taggerlexikon, das von Hand erstellt wurde und in dem festeht, welche Wörter welchen Wortarten angehören (ggf. in Abhängigkeit zum Kontext).
  2. Stochastisches Tagging: Basis ist auch hier ein Taggerlexikon. Es wird jedoch zusätzlich ein sog. Trainingskorpus erstellt, das von Hand getaggt wurde. Nun kann mit statistischen Methoden die Wahrscheinlichkeit von bestimmten Wortartenabfolgen errechnet werden. Dadurch entstehen auch Regeln, die jedoch auf Wahrscheinlichkeitswerten beruhen und beispielsweise besagen, dass in "der grosse Bär" das Token "der" wahrscheinlich kein Relativpronomen, sondern ein bestimmter Artikel ist, da dieser oft in der Kombination Artikel-Adjektiv-Nomen vorkommt.
    Stochastische Tagger bestimmen je nach Textsorte bei 90 bis 97% der Token die richtige Wortart. Mit speziell angepassten Trainingskorpora kann dieser Wert erhöht werden.
  3. Syntax-Parsing: Komplizierter ist das Parsing der syntaktischen Struktur. Die Grundidee ist hier, dass man mit einem Set an Syntaxregeln arbeitet, die z.B. besagen, dass ein Satz aus einer Verbal- und mind. einer Nominalphrase oder einer Präpositionalphrase besteht. Eine Nominalphrase wiederum kann aus einem Artikel und einem Nomen bestehen, etc. Mit einem "Bottom-up"- oder einem "Top-down"-Parsing versucht das Programm nun, auf die getaggten Sätze diese Regeln so anzuwenden, dass ein möglichst kompletter Strukturbaum entsteht.
    Oft muss man sich mit sog. Chunks begnügen, also Teilen eines Satzes, die syntaktisch bestimmt werden konnten. Mit der Kombination von automatischem und manuellem Parsing kann aber mit vernünftigem Aufwand eine kleinere Textmenge geparst werden.

Vgl. Carstensen (2001, 373ff.), Lemnitzer/Zinsmeister (2006, 60ff.)