6.1
 Wortarten-Tagging

Wortarten-Tagging 

Definition 6.1.1 (Wortarten-Tagger). Ein Wortarten-Tagger (engl. Part-of-Speech Tagger, kurz POS-Tagger) ist ein Programm, das für jedes Token eines Korpus die Wortart bestimmt, indem es ein Klassifikationskürzel als Tag zuordnet.

Beispiel 6.1.2 (Zeilenformat mit Schrägstrich).
Sonderrechte/NN für/APPR Minoritätenkollektive/NN widersprechen/VVFIN

N-Best-Tagging

Tagger, welche die Wortarten mit einer Wahrscheinlichkeit versehen zurückliefern, können für n-best-Tagging verwendet werden.

Tag-Sets für Englisch 

Definition 6.1.3 (Tag-Set). Ein Tag-Set (Menge der Tags) kodiert typischerweise nebst Wortarteninformation noch semantische, syntaktische oder morphologische Information. Die Grösse eines Tag-Sets kann stark variieren.


Tag-Set Grösse Beispiel

Bedeutung

Brown 87 (179) she/PPS

Pronoun, personal, subject, 3SG

Penn 45 she/PRP

Pronoun (personal or reflexive)

CLAWS c5 62 she/PNP

Pronoun personal

London-Lund 197 she’s/RA*VB+3

pronoun, personal, nominative + verb "to be", present tense, 3rd person singular


Tabelle 6.1: Übersicht: Tag-Sets für Englisch

Penn-Treebank-Tag-Set (PTTS)

Das wichtigste Tag-Set für Englisch ist eine vereinfachte Version des Brown-Tag-Sets, welches ab den 60-er Jahren in Amerika im Zusammenhang mit dem Brown-Korpus entstanden ist.

Anforderungen an ein Programm für Tagging 
Positive Eigenschaften eines Taggers nach [Cutting et al. 1992, 133]:

6.1.1
 Probleme des Taggings

Wortformen mit mehreren möglichen Tags 

Mehrdeutigkeit

Im Brown-Corpus sind 11% aller Wortformen ambig. Das entspricht jedoch 40% der Token.


pict
Tag-Ambiguität im Englischen


Baseline

Nimm für jedes Wort das Tag, mit dem es am häufigsten vorkommt. Ergibt ca. 90% richtige Entscheidungen.

Optimierungspotential

Berücksichtige den linken Kontext (Tags und/oder Wörter) und ev. den rechten Kontext (Wörter), um die Baseline-Entscheidung umzustossen.

Mehrdeutigkeit bei deutschen Wörtern 

Beispiel 6.1.4 (Verteilung der Mehrdeutigkeit).
Vorkommen in einem Korpus von ca. 80’000 Token

die ART 2351 PRELS 448 PDS 4  
Mehrheit NN 40  
bestimmt VVPP 7 VVFIN 4 ADV 1 ADJD 1

Mehrdeutigkeit in einem deutschen Testkorpus (STTS) 


pict

Abbildung 6.1: Ambiguitätsraten aus der Frankfurter Rundschau [Volk und Schneider 1998]

Dem Tagger unbekannte Wortformen haben die Ambiguitätsrate 0.

Unbekannte Wörter 
Kein Tagger-Lexikon kann vollständig sein (Eigennamen, Komposita, Zahlausdrücke). Wie kann ein Tagger sinnvolle Vorschläge machen?

Beispiel 6.1.5 (Morphologische Heuristiken für Englisch).

Nutzen und Anwendung des POS-Tagging 
POS-Tagging hat sich als eine eigenständige sprachtechnologische Anwendung erwiesen, welche effizient und zuverlässig durchgeführt werden kann, und für verschiedenste Zwecke nützlich ist: Lemmatisierung, Lexikographie, Sprachsynthese, Spracherkennung, Dokumentensuche, Bedeutungsdesambiguierung usw.

Beispiel 6.1.6 (Sprachsynthese/Bedeutungsdesambiguierung).

Beispiel 6.1.7 (Lemmatisierung).

Der Apostroph in der phonetischen Umschreibung steht vor der hauptbetonten Silbe.

6.1.2
 Fallstudie TnT-Tagger

Fallstudie TnT-Tagger: Übersicht 


pict

Abbildung 6.2: Training, Tagging und Evaluation mit dem TnT-Tagger

Fallstudie TnT-Tagger: Anpassbarkeit konkret 
Man nehme …[Clematide 2007]

  1. ein getaggtes Korpus (vertikalisierter Textformat)


    $ head -n 3 ../../uis-vonabisz.tts
    Studienführer           NN
    "                       $(
    Universität             NN
    $ wc ../../uis-vonabisz.tts
    9676  18154 118761 ../../uis-vonabisz.tts
  2. Produziere aus 9/10 davon ein Trainingskorpus, indem alle bis auf die letzten 965 Zeilen in eine neue Datei geschrieben werden.


    $ head --lines -965  ../../uis-vonabisz.tts > training.tts
  3. Produziere aus dem restlichen 1/10 ein Testkorpus, indem die letzten 965 Zeilen in eine neue Datei geschrieben werden.


    $ tail --lines 965  ../../uis-vonabisz.tts > test.tts
  4. Trainiere über dem Trainingskorpus


    $ tnt-para training.tts
  5. Probiere aus, ob der Tagger was Vernünftiges tut.


    $ tnt training /dev/stdin > out.tts
    Der
    Tagger
    läuft
    . [mit Control-D für Dateiende abschliessen
    $ more out.tts
  6. Erstelle ein Testkorpus.


    $ cut -f 1 test.tts > eval.txt
  7. Tagge das Testkorpus mit dem trainierten Modell.


    $ tnt training eval.txt > eval.tts
  8. Evaluiere das getaggte Evaluationskorpus gegen das Testkorpus.


    $ tnt-diff test.tts eval.tts