Part-of-Speech Tagging Machine Language Processing Heike Zinsmeister WS 2008/09
Motivation Part of Speech = Wortart Tokenisierung Zerlegung einer Sprache in Wörter Lexikon Wortinventar einer Sprache Anzahl von Wörtern einer Sprache unendlich Anzahl von Wortarten in einer Sprache endlich Klassisch: 8 Wortarten Wortartenklassifikation in der Computerlinguistik: 50-200, je nach Sprache und Anwendungskontext 19. 11. 2008 1
Motivation Large number of rare events: LNRE- Verteilung von Wörtern in Korpora 19. 11. 2008 2
Motivation Token Wortvorkommnisse im Korpus Anzahl aller Token = Korpusgröße Typen Unterschiedliche Tokentypen unterschiedliche Abstraktionen Groß-/Kleinschreibung Lemmatisierung Anzahl aller Typen = Vokabulargröße offene Wortklassen viele Typen geschlossene Wortklassen wenig Typen aber normalerweise hohe Tkenanzahl 19. 11. 2008 3
Motivation Suche auf ungetaggtem versus getaggtem Korpus CQP-Online-Demo http://www.ims.unistuttgart.de/projekte/cqpdemos/cqpdemo.html Gehen Sie auf "CQP Mode" Suchen Sie nach [word=kernkraft] Wechseln Sie auf " CQPMode" [pos="nn"][pos="appr"] ([])? [word="kernkraft"] 19. 11. 2008 4
Motivation Vorverarbeitungsschritt für viele Anwendungen Ambiguität saw => N saw => V 19. 11. 2008 5
Motivation PoS-Tags versus Wörter: höherer Abstraktionsgrad Suche Frequenzzählungen Wie hoch ist die Wahrscheinlichkeit, dass auf "einem" "unvergessenen" "Rückenschwimmer" "qualmen" folgt? Wie hoch ist die Wahrscheinlichkeit, dass auf einen Artikel ein Adjektiv Nomen Verb folgt? 19. 11. 2008 6
Motivation PoS-Tags erlauben Rückschlüsse auf syntaktische Eigenschaften einer Wortfolge PWAV VVAFIN PPER VVPP ART NN VVFIN NN KON NN PPER VVFIN VVIZU 19. 11. 2008 7
Motivation Anwendungen Textindizierung für Information Retrieval Nomen und Adjektive sind informativer als als Adverbien, Verben oder Präpositionen Sprachgenerierung unterschiedliche Betonung bei Homographen verschiedener Wortarten contact, that,.. 19. 11. 2008 8
Architektur eines PoS-Tagger roher Text Vorverarbeitung tokenisierter Text Lexicon Look-Up ambige Analyse Guesser (Lücken) ambige Analyse Disambiguierung (aller Token) vollständig und eindeutig getaggter Text 19. 11. 2008 9
Architektur eines PoS-Tagger roher Text Vorverarbeitung tokenisierter Text Lexicon Look-Up ambige Analyse Guesser (Lücken) ambige Analyse Disambiguierung (aller Token) vollständig und eindeutig getaggter Text 19. 11. 2008 10
Architektur eines PoS-Tagger roher Text Vorverarbeitung tokenisierter Text Lexicon Look-Up ambige Analyse Guesser (Lücken) ambige Analyse Disambiguierung (aller Token) vollständig und eindeutig getaggter Text 19. 11. 2008 11
Architektur eines PoS-Tagger roher Text Vorverarbeitung tokenisierter Text Lexicon Look-Up ambige Analyse Guesser (Lücken) ambige Analyse Disambiguierung (aller Token) vollständig und eindeutig getaggter Text 19. 11. 2008 12
Architektur eines PoS-Tagger roher Text Vorverarbeitung tokenisierter Text Lexicon Look-Up ambige Analyse Guesser (Lücken) ambige Analyse Disambiguierung (aller Token) vollständig und eindeutig getaggter Text 19. 11. 2008 13
Herausforderungen unbekannte Wörter Fremdwörter Ambiguitäten seltene Konstruktionen ungrammatischer Input (Tokenisierung) 19. 11. 2008 14
Evaluierung Geschwindigkeit Speicherbedarf Informationsgehalt (informativeness) des Tagsets Größe des Tagsets Ambiguitätsrate im Lexikon Spezifizierbarkeit (specifiability) des Tagsets interjudge agreement Akkuratheit der Tagzuweisung (accuracy) Vergleich mit "Goldstandard" (auch: benchmark corpus) 19. 11. 2008 15
Spezifizierbarkeit Inter-Judge Agreement/ Inter-Annotator Agreement Übereinstimmung zwischen 2 oder mehr Annotatoren Intra-Annotator Agreement zeitlich versetzte Doppelannotation des selben Annotators 19. 11. 2008 16
Kappa Measure of agreement / reliability n coders place some kind of units into m exclusive classes The kappa coefficient measures pairwise agreement among a set of coders making category judgements, correcting for expected chance agreement: κ = p(a) - p(e) / 1 - p(e) p(a) is the proportion of times that the coders agree. p(e) is the proportion of times that the coders are expected to agree by chance. 19. 11. 2008 17
Kappa Beispiel es gibt 4 Wortartentags, die alle gleich wahrscheinlich sind: 0.25 zufällige Übereinstimmung von zwei Annotatoren: ebenfalls 25 % der Fälle bei 25% => k=0 bei 50% => k= 0.333 50 ist ein Drittel der Spanne zwischen 25 und 100 19. 11. 2008 18
Kappa-Skala Do the coders reach a satisfying level of agreement when they perform the same coding task? κ range: 0 κ 1 Agreement is not different from chance: κ = 0 Perfect agreement: κ = 1 Scale to evaluate kappa values (Krippendorff, 1980): κ 0.67 : to be discarded 0.67 κ 0.80 : allows tentative conclusions 0.80 κ : allows definite conclusions 19. 11. 2008 19
Kappa-Parameter p(e) depends on whether the distribution of proportions over the categories is taken to be equal for the judges: κ Cohen (Cohen, 1960): personal distributions for coders, κ S&C (Siegel and Castellan, 1988): one distribution for all κ is affected by skewed distributions of categories (the prevalence problem) and by the degree to which the coders disagree (the bias problem). Extension to several coders, e.g. Krippendorff s alpha 19. 11. 2008 20
Evaluation Model ( selected ) tn Gold Standard ( target ) fp tp fn tp: true positives fp: false positives system target actual target tn: true negatives fn: false negatives selected selected tp fn fp tn 19. 11. 2008 21
Evaluation Klassische Maße des Document Retrieval Precision:» proportion of selected items that the system got right ( fp» P = tp / (tp + Recall:» proportion of the target items that the system selected ( fn» R = tp / (tp + F-Score:» trade-off between precision and recall ( 1/R» F = 1 / (α 1/P + (1-α) ( mean» α = 0.5 (weighted harmonic ( R» F = (2 P R) / (P + 19. 11. 2008 22
Evaluierungsergebnis Akkuratheit beim PoS-Tagging: 95-98 % Wie viele Fehler sind das auf Satzebene? eine Akkuratheit von 96 % bedeutet für eine Satz von 20 Wörter Länge: Einen so heißen Sommer, hat... 0.96 * 0.96 * 0.96 * 0.96 * 0.96 * 0.96 *... (0.96) 20 44 % der Sätze mit 20 Wörtern sind korrekt. 19. 11. 2008 23
Folien von Stefanie Dipper 19. 11. 2008 24
Einschub: n-gramme n-gram: sequence of n words» bigram: sequence of 2 words» trigram: sequence of 3 words... n-grams are the basis for language models, to predict the next word given the previous word(s): p(w n ) = p(w n w 1,,w n-1 ) Restrictions on n:» number of parameters and sparse data» full-form words vs. lemmata» corpus transfer Application (examples): spelling correction, machine translation, speech recognition 19. 11. 2008 25
Tagging mit Markov-Modellen Sequence of tags in a text is regarded a Markov chain. Limited horizon: A word s tag only depends on the previous tag: p(x i+1 = t j x 1,..., x i ) = p (x i+1 = t j x i ) Time invariant: This dependency does not change over time: p(x i+1 = t j x i ) = p(x 2 = t j x 1 ) Task: Find the most probable tag sequence for a sequence of words. Maximum likelihood estimate of tag t k following t j : p(t k t j ) = f(t j,t k ) / f(t j ) Optimal tags for a sentence: t^1,n = arg max p(t 1,n w 1,n ) = p(w i t i ) p(t i t i-1 ) 19. 11. 2008 26
Grundlagen: Markov-Ketten Endlicher Automat (Finite State Automata, FSA) mit Übergangswahrscheinlichkeiten? -- 0,9-- 0,5-- 0,4-- 0,8 -- 0,1-- a 0,5 -- b? -- b Wohlgeformtheitsbedingung? Wahrscheinlichkeit der Sequenz baa!? Welcher Pfad wurde durch die Zustände genommen? 19. 11. 2008 27
Grundlagen: HMM Frage: Welche Sequenz ist wahrscheinlicher? 19. 11. 2008 28
Grundlagen: HMM Hidden Markov Model erlauben effiziente Berechnung Erweiterung der Markovkette um Ambiguitäten, so dass Pfad durch die Zustände nicht von der beobachtbaren Sequenz ableitbar ist z.b. Wörter (=beobachtbar), die ambig zwischen mehreren Wortarten (=Zustand) sind Emissions-Wahrscheinlichkeiten, dass beobachtbares Ereignis durch einen gegebenen Zustand i hervorgerufen wurde. z.b. Wahrscheinlichkeit P( race VB), dass race durch VB bedingt ist versus P( race NN), dass race durch NN bedingt ist. auch: observation likelihoods 19. 11. 2008 29
Grundlagen: HMM (1) Secretariat is expected to race tomorrow. Frage Welche Tagsequenz passt am besten zu dieser Wortfolge? 19. 11. 2008 30
Umformen Bayes Gesetz 19. 11. 2008 31
Vereinfachen (1) Die Wahrscheinlichkeit für die Wortkette P(w) ist für alle Kandidaten t gleich 19. 11. 2008 32
Vereinfachen (2) Markov-Annahmen Wort ist nur von seinem Wortart-Label ( tag ) abhängig und unabhängig von den anderen Wörtern und Wortarten Worarten-Tag ist nur vom vorhergehenden Tag abhängig und unabhängig von den restlichen vorhergehenden Tags (Bigram). 19. 11. 2008 33
Bigramm-Tagger Zwei Wahrscheinlichkeiten tag transition probabilities word likelihoods 19. 11. 2008 34
Ermitteln der Wahrscheinlichkeiten Quelle: 45-Tag Brown-Korpus 19. 11. 2008 35
Grundlagen: HMM Frage: Welche Sequenz ist wahrscheinlicher? 19. 11. 2008 36
Grundlagen: HMM Hidden Markov Model Frequenzzählungen auf dem 1 Mill. Brown Korpus 19. 11. 2008 37
Grundlagen: HMM Hidden Markov Model Frequenzzählungen auf dem 1 Mill. Brown Korpus 19. 11. 2008 38
HMM: Definition Hidden Markov Model 19. 11. 2008 39
Übergangswahrscheinlichkeiten Hidden States 19. 11. 2008 40
Übergangswahrscheinlichkeiten Hidden States 19. 11. 2008 41
Emissions-Wahrscheinlichkeiten 19. 11. 2008 42
Emissions-Wahrscheinlichkeiten 19. 11. 2008 43
Viterbi-Algorithmus findet die beste Sequenz durch die versteckten Zustände (gegeben eine Sequenz von beobachtbaren Ereignissen und ein HMM) Anwendung des dynamischen Programmierens (vgl. Minimum Edit Distance) 19. 11. 2008 44
Viterbi-Algorithmus Input HMM Sequenz von beobachtbaren Ereignissen, hier: Wortsequenz Output Sequenz der wahrscheinlichsten Zustände, hier: Wortarten-Tags, und ihre Wahrscheinlichkeit 19. 11. 2008 45
Viterbi-Algorithmus Wahrscheinlichkeitsmatrix Spalten: Beobachtung zu Zeitpunkt t Reihen: Zustände s Initialisierung Pseudowort in Zustand 0 Übergänge zu Zustand 1 s 0,1 = 1, wenn s1 der definierte Startzustand ist, andernfalls s 0,1 = 0 19. 11. 2008 46
Viterbi-Algorithmus 19. 11. 2008 47
Viterbi-Algorithmus notiert in jeden Zustand q zum Zeitpunkt t den wahrscheinlichsten Übergang, der zu q geführt hat: [q,t] Maximierung viterbi wobei 19. 11. 2008 48
Trellis 19. 11. 2008 49
Algorithmen Finden der wahrscheinlichsten versteckten Sequenz Viterbi-Algorithmus Optimieren der Überganswahrscheinlichkeiten forward/backward-algorithmus (Variante des Expectation-Maximization (EM)-Algorithmus) 19. 11. 2008 50
Tagging mit Markov Modellen TnT - Trigram Tagger www.coli.uni-saarland.de/~thorsten/tnt/ Thorsten Brants (2000): "TnT - A statistical part-of-speech tagger." In Proceedings of the 6th Applied Natural Language Processing Conference. 19. 11. 2008 51
Transformation-based Tagging Tags can be conditioned on words and on more context: TbT exploits a range of lexical and syntactic regularities. TbT encodes interdependencies between words and tags by selecting and sequencing transformations that transform an imperfect tagging into one with fewer errors. Components:» specification of transformations» learning algorithm Procedure: 1. Each word is tagged with its most frequent tag. 2.The learning algorithm constructs a ranked list of transformations. 19. 11. 2008 52
Transformation-based Tagger A transformation consists of two parts:» triggering environment» rewrite rule Examples: Triggering Environment Source Tag Target Tag previous tag is PTKZU next tag is VAFIN next tag is ADJD one of previous words is VVFIN NN VVFIN ADJA VVFIN VVINF VVPP ADJD VVINF 19. 11. 2008 53
Transformation-based Tagging Ranking der Transformationen Greedy search for the optimal transformation sequence Steps: 1. Each word is tagged with its most frequent tag. 2. The transformation that reduces the error rate most is chosen. 3. Step 2 is repeated iteratively until no transformation is left that reduces the error rate by more than a prespecified threshold. The error rate is measured as the number of mistagged words. 19. 11. 2008 54
Transformation-based Tagging Brill Tagger www.cs.jhu.edu/~brill Eric Brill (1995): "Transformation-based error-driven learning and Natural Language Processing: A case study in part-of-speech tagging". Computational Linguistics, 21(4):543-565. 19. 11. 2008 55
TreeTagger ein statistischer Tagger PoS- und Lemmainformation Parameterdateien für Deutsch, Englisch, Italienisch, (Alt-)Französisch,Spanisch, Bulgarisch, Russisch, Griechisch, Portugiesisch Verzeichnisinhalte bin - die eigentlichen Programme cmd -Shell-Skripte zum Aufruf des Taggers, einschließlich einer Präprozessierung doc - relevante Aufsätze lib - gespeicherte Modelle 19. 11. 2008 56
TreeTagger The decision tree automatically determines the appropriate size of the context to estimate the part-of speech transition probabilities. Possible contexts include bigrams, trigrams, etc., as well as negations of them, such as tag-1 DET. The probability of an n-gram is determined by following the corresponding path through the tree until a leaf is reached. Improves on sparse data, compared to Markov Models; avoids zero frequencies 19. 11. 2008 57
TreeTagger Disambiguierung über einen trainierten Entscheidungsbaum 19. 11. 2008 58
TreeTagger Eingabe im Verzeichnis TreeTagger cmd/tree-tagger-english Text liest robust von der Standardeingabe. Der Text muss praktisch nicht vorverarbeitet sein. Ausgabeformat 19. 11. 2008 59
TreeTagger Tree Tagger www.ims.uni-stuttgart.de/projekte/corplex/treetagger/ Helmut Schmid (1994): "Probabilistic Part-of-Speech Tagging Using Decision Trees". In Proceedings of the International Conference on New Methods in Language Processing. 19. 11. 2008 60
Referenzen Dipper, Stefanie. 2007. POS-Tagging. Universität Potsdam. Seminarfolien. Frank, Anette. 2007. Einführung in die Computerlinguistik. Seminar für CL, Universität Heidelberg. Seminarfolien. Reiter, Nils. 2008. Methoden-Vorkurs. Seminar für CL, Universität Heidelberg. Foliensatz 4. Schmid, Helmut. 1994. Probabilistic part-of-speech tagging using decision trees. In Proceedings of the International Conference on New Methods in Language Processing Schulte im Walde. 2006. Introduction to Corpus Resources, Annotation and Access. ESSLLI summer school 2006, Málaga, Spanien. Seminarfolien. Voutilainen, Atro. 2003. Part-of-Speech Tagging. In Ruslan Mitkov (Hrsg.) The Oxford Handbook of Computational Linguistics. OUP. Kapitel 11. 19. 11. 2008 61