Einführung in die Computerlinguistik

Ähnliche Dokumente
Einführung in die Computerlinguistik POS-Tagging

Friedrich-Alexander-Universität Professur für Computerlinguistik. Nguyen Ai Huong

Hidden Markov Models. Vorlesung Computerlinguistische Techniken Alexander Koller. 8. Dezember 2014

Maschinelle Sprachverarbeitung: Part-of-Speech-Tagging

Wortdekodierung. Vorlesungsunterlagen Speech Communication 2, SS Franz Pernkopf/Erhard Rank

Viterbi. Hidden Markov Models und POS Tagging mit dem Viterbi-Algorithmus. von Arndt Faulhaber und Benjamin Schlebes

Hidden Markov Models

Hidden Markov Models in Anwendungen

Tagging mit Hidden Markov Models und Viterbi-Algorithmus

Der Viterbi Algorithmus

Hidden-Markov-Modelle

1 Part-of-Speech Tagging

Hidden Markov Models (HMM)

Part-Of-Speech-Tagging mit Viterbi Algorithmus

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. NLP-Pipeline. Tobias Scheffer Peter Haider Uwe Dick Paul Prasse

Part-of-Speech Tagging. Machine Language Processing Heike Zinsmeister WS 2008/09

Part-of-Speech Tagging. Stephanie Schuldes

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. NLP-Pipeline. Tobias Scheffer Paul Prasse Michael Großhans

Signalverarbeitung 2. Volker Stahl - 1 -

Einführung in die Computerlinguistik

Machine Translation with Inferred Stochastic Finite-State Transducers

Gliederung. Natürlichsprachliche Systeme I. Tagging mit NLTK. Tagging mit NLTK. POS Tagging mit NLTK (II)

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. NLP-Pipeline. Tobias Scheffer Thomas Vanck

RAW TEXT TOKENIZATION + PRE - TAGGING LEXICAL RESSOURCES REFERENCE CORPUS AMBIGUOUSLY ANNOTATED TEXT TRANSITION TABLES + WORD TAG PROBAB.

Part of Speech Tagging. Linguistische Sicht. Carolin Deck

Hidden Markov Model (HMM)

Part-of-Speech-Tagging mit Transduktoren

Programmierkurs Python II

Kognitive Systeme. Übung 4

Probabilistische kontextfreie Grammatiken

Empirie II: Wortarten im Kontext (Tagging)

Hidden Markov Models

Einführung Beispiele Fazit Links. OpenNLP. Nico Beierle, Irina Glushanok

Tagger for German. Online BRILL-Tagger für das Deutsche

Elementare Begriffe der Wahrscheinlichkeitstheorie für die Sprachverarbeitung

A Topical/Local Classifier for Word Sense Idendification (TLC) Anne Schwartz

Hidden Markov Models Erläuterung der Bestimmung der Wahrscheinlichkeit einer Beobachtung

3. Übung zur Vorlesung NLP Analyse des Wissensrohstoffes Text im Sommersemester 2008 mit Musterlösungen

Maschinelle Sprachverarbeitung: N-Gramm-Modelle

Part-of-Speech-Tagging mit Transduktoren

Kontextfreie Grammatiken

Hidden Markov Models (HMM) Karin Haenelt

Reranking. Parse Reranking. Helmut Schmid. Institut für maschinelle Sprachverarbeitung Universität Stuttgart

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Tobias Scheffer, Tom Vanck, Paul Prasse

Maschinelle Sprachverarbeitung: Modelle zu Wortsequenzen Teil 1

Parsing mit NLTK. Parsing mit NLTK. Parsing mit NLTK. Parsing mit NLTK. Beispiel: eine kleine kontextfreie Grammatik (cf. [BKL09], Ch. 8.

Elementare statistische Methoden

herangezogenwerden,wiez.b.online-thesauri.diefurcorpusanfragenzurverfugung

Der Viterbi-Algorithmus.

Softwareprojektpraktikum Maschinelle Übersetzung

Einführung in die Computerlinguistik Statistische Grundlagen

Bayes sche Klassifikatoren. Uwe Reichel IPS, LMU München 16. Juli 2008

KI-Kolloquium am Part-of-Speech-Tagging für Deutsch. Referent: Stefan Bienk

Wahrscheinlichkeitstheorie und Naive Bayes

Moderne IR / Language Models / Page Ranking

"What's in the news? - or: why Angela Merkel is not significant

Phonetische Lexika Part-of-Speech Tagging. Uwe D. Reichel IPSK, LMU München

Korpus. Was ist ein Korpus?

Einführung in die Computerlinguistik

Token, Types, Häufigkeiten und automatische Wortartenerkennung (Statistik-basiertes Tagging)

Linguistische Grundlagen. Warum Tagging? Klassische Wortartenlehre Tagsets Annotation höherer Ebenen Design von Tagsets

Stochastic Processes SS 2010 Prof. Anton Wakolbinger. Klausur am 16. Juli 2010

TnT - Statistischer Part-of- Speech Tagger

Hidden Markov Modelle

Hidden-Markov-Modelle

Themen. GK C: Einführung in die Korpuslinguistik. Vorverarbeitung. Tokenisierung. Tokenisierung. Aber. Vorverarbeitung

Tagging von Online-Blogs

NLP Eigenschaften von Text

Informationsextraktion

Textmining Information Extraction (probabilistisch)

Kapitel 16. Aufgaben. Verständnisfragen. Rechenaufgaben

Aufgaben zu Kapitel 16

Aufgabe 1 Probabilistische Inferenz

Algorithmen für Geographische Informationssysteme

Part-of-Speech- Tagging

Grundbegriffe der Wahrscheinlichkeitstheorie. Karin Haenelt

Stefan Engelberg (IDS Mannheim), Workshop Corpora in Lexical Research, Bucharest, Nov [Folie 1] DWDS-Kernkorpus / DWDS corpus analysis

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Reguläre Ausdrücke. Karin Haenelt

Automatisches Lernen von Regeln zur quellseitigen Umordnung

Zusammenfassung Tutorien der Woche ALDABI

Algorithmische Bioinformatik

Operationen auf endlichen Automaten und Transduktoren

Sprachsynthese: Part-of-Speech-Tagging

Spracherkennung und Sprachsynthese

POS Tagging. Stefanie Dipper. CL-Einführung, 2. Mai 2007

Vortrag 20: Kurze Vektoren in Gittern

Algorithmen für Geographische Informationssysteme

D-ITET, D-MATL Numerische Methoden FS 2018 Dr. R. Käppeli P. Bansal. Lösung 3. j j + 1 P j 1(x), j 1. 2(1 x 2 k ) 2. ((j + 1)P j (x k ))

Zeitstetige Markov-Prozesse: Einführung und Beispiele

Einleitung Kappa F-Score Fazit. Softwarepraktikum. Evaluation. Franz Matthies

Mathematische Grundlagen III

Wirtschafts- und Finanzmathematik

Biometrie und Medizinische Informatik Greifswalder Seminarberichte

Natürlichsprachliche Systeme I Materialien zur Vorlesung

Semantische Technologien (M-TANI)

Aufabe 7: Baum-Welch Algorithmus

Tutoriums-Paper zu Hidden Markov Models

Sprachtechnologie als Grundlage für die maschinelle Auswertung von Texten

Transkript:

Einführung in die Computerlinguistik HMM POS-Tagging Laura Kallmeyer Heinrich-Heine-Universität Düsseldorf Summer 2016 1 / 20

POS Tags (1) Jurafsky and Martin (2009) POS = part-of-speech Tags sind morphosyntaktische Kategorien von Wortformen. Bsp. (Brown Corpus): (The AT) (Fulton NP-TL) (County NN-TL) (Grand JJ-TL) (Jury NN-TL) (said VBD) (Friday NR) (an AT) (investigation NN) (of IN) (Atlanta s NP) (recent JJ) (primary NN) (election NN) (produced VBD) ( ) (no AT) (evidence NN) ( ) (that CS) (any DTI) (irregularities NNS) (took VBD) (place NN) (..) 2 / 20

POS Tags (2) Bsp. (Penn Treebank): (Pierre NNP) (Vinken NNP) (,,) (61 CD) (years NNS) (old JJ) (,,) (will MD) (join, VB) (the DT) (board NN) (as IN) (a DT) (nonexecutive JJ) (director NN) (Nov. NNP) (29 CD) (..) 3 / 20

POS Tags (3) Es gibt kein fest vorgegebenes Inventar von möglichen POS Tags. Die Wahl der POS Tags hängt von der jeweiligen Sprache und von der Anwendung ab, die mit dem getaggten Text vorgenommen werden soll. Morphologisch reichere Sprachen haben in der Regel größere Tagsets. Penn Treebank Tagset (PTB, American English): 45 POS-Tags Brown Corpus (American English): 87 POS-Tags British National Corpus (BNC, British English) basic tagset: 61 POS-Tags Stuttgart-Tübingen Tagset (STTS) für das Deutsche: 54 POS- Tags. Prague Dependency Treebank (PDT, Tschechisch): 4288 POS- Tags. 4 / 20

HMM POS Tagging (1) Problem: Gegeben eine Folge w1 n von n Wörtern, wollen wir die wahrscheinlichste Folge ˆt 1 n aller möglichen Folgen tn 1 von n POS Tags für diese Wortfolge ermitteln. arg max x ˆt n 1 = arg max t n 1 P(t n 1 w n 1 ) f (x) bedeutet das x, für das f (x) maximal groß wird. Mit Bayes gilt ˆt n 1 = arg max t n 1 P(w n 1 tn 1 )P(tn 1 ) P(w n 1 ) Daraus folgt ˆt n 1 = arg max t n 1 P(w n 1 tn 1 )P(tn 1 ) 5 / 20

HMM POS Tagging (2) ˆt n 1 = arg max t1 n berechnen. Annäherungen: P(w1 n tn 1 )P(tn 1 ) ist immer noch zu aufwendig zu P(w n 1 t n 1 ) P(t n 1 ) n P(w i t i ) i=1 n P(t i t i 1 ) i=1 Wenn wir Trainingsdaten in Form eines getaggten Korpus zur Verfügung haben, können wir die benötigten Wahrscheinlichkeiten durch Abzählen ermitteln. C(x) sei die Anzahl von Auftreten von x im Korpus. 6 / 20

HMM POS Tagging (3) Maximum Likelihood Estimates (MLE) Tagübergangswahrscheinlichkeit: P(t i t i 1 ) = C(t i 1, t i ) C(t i 1 ) Bsp. Brown Corpus:P(NN DT) = C(DT,NN) C(DT) = 56509 116454 = 0.49 Wortwahrscheinlichkeit: P(w i t i ) = C(t i, w i ) C(t i ) Bsp. Brown Corpus: P(is VBZ) = C(VBZ,is) C(VBZ) = 10073 21627 = 0.47 7 / 20

POS Tag Sequences (1) Bsp.: race, Ambiguität zwischen VB und NN. (1) Secretariat/NNP is/vbz expected/vbn to/to race/?? tomorrow/nr (Brown tagset) Entscheidung, ob VB oder NN: NNP VBZ VBN TO?? NR Secretariat is expected to race tomorrow 8 / 20

POS Tag Sequences (2) Übergangs- und Wortwahrscheinlichkeiten, die unterschiedlich sind: P(NN TO) = 0.00047 P(VB TO) = 0.83 P(race NN) = 0.00057 P(race VB) = 0.00012 P(NR NN) = 0.0012 P(NR VB) = 0.0027 Je nach POS Tag für race unterscheiden sich die Wahrscheinlichkeiten der beiden Folgen in dem Faktor NN: P(NN TO)P(race NN)P(NR NN) = 0.00000000032 VB: P(VB TO)P(race VB)P(NR VB) = 0.00000027 9 / 20

Bigram-HMMs (1) Formalisierung als gewichteter endlicher Automat. Der Automat erlaubt uns, über beobachtete Ereignisse (die zu taggenden Wörter) zu sprechen und über versteckte Ereignisse (Folgen von POS Tags). Daher die Bezeichnung Hidden Markov model (HMM). Ein HMM besteht aus Zuständen (= POS Tags), Übergangswahrscheinlichkeiten a i 1,i (= P(t i t i 1 )) und Emissionswahrscheinlichkeiten b i (w i ) (P(w i t i )). 10 / 20

Bigram-HMMs (2) Ein HMM ist ein Tupel Q, A, O, B, q 0, q F, wobei Q eine endliche Menge von Zuständen ist; A eine Q Q Matrix ist, deren Elemente aus R sind, die Übergangswahrscheinlichkeiten, O eine endliche Menge von Beobachtungen ist; : O R, Emission- B eine Folge von Q Funktionen b i swahrscheinlichkeiten; q 0, q F / Q der Startzustand und der Endzustand sind. Diese beiden Zustände haben keine Emissionen, und es sind zusätzlich Übergangswahrscheinlichkeiten a 0i und a if für alle 1 i Q gegeben. 11 / 20

Bigram-HMMs (3) Bsp.: HMM-POS Tagger mit Q = {Det, N, Adj, V }, O = {the, chief, rules,... }, folgende Wahrscheinlichkeiten: Emissionswahrscheinlichkeiten (b i (w) = P(w q i )): P(the Det) = 1 P(chief N) = 3 10 3 P(rules N) = 5 10 3 P(chief Adj) = 4 10 3 P(rules V) = 6 10 3 Alle anderen Emissionswahrscheinlichkeiten für chief, the und rules seien 0. Teil der Übergangswahrscheinlichkeiten (A i,j = P(q j q i )): P(N Det) = 5 10 1 P(N N) = 1 10 1 P(N Adj) = 5 10 1 P(Adj Det) = 3 10 1 P(V N) = 4 10 1 P(V Adj) = 1 10 1 Die Wahrscheinlichkeit, dass ein Det am Satzanfang steht, ist 1, die, dass auf ein N oder V ein Satzende folgt, ist jeweils 0.1 = 1 10 1. 12 / 20

Bigram-HMMs (4) Ziel: Gegeben ein HMM und eine Folge von Beobachtungen o 1... o n soll ermittelt werden, welche Folge von Zuständen (POS Tags) die Beobachtung am wahrscheinlichsten macht. Viterbi Algorithmus: Wir durchlaufen die Beobachtungen von links nach rechts und füllen dabei eine Matrix viterbi von Pfadwahrscheinlichkeiten. viterbi ist eine ( Q + 1) n)-matrix. Das Feld viterbi[q, i] soll angeben, wie wahrscheinlich es ist, dass wir nach Abarbeiten der ersten i Beobachtungen in Zustand q sind. Außerdem führen wir Backpointer mit, die uns für viterbi[q, i] sagen, welcher Zustand q voranging. 13 / 20

Bigram-HMMs (5) Bsp.: q F N 15 10 4, Det 300 10 8, Adj V 360 10 8, N Adj 12 10 4, Det Det 1, q 0 1: the 2: chief 3: rules 360 10 9, V chief, Adj: 1 3 10 1 4 10 3 chief, N: 1 5 10 1 3 10 3 rules, N: max{12 10 4 5 10 1 5 10 3 Vorgänger Adj, 15 10 4 1 10 1 5 10 3 Vorgänger N} rules, V: max{12 10 4 1 10 1 6 10 3 Vorgänger Adj, 15 10 4 4 10 1 6 10 3 Vorgänger N} Die beste POS-TAG Folge ist demnach Det N V. 14 / 20

Bigram-HMMs (6) Algorithmus: for q in range( Q ): viterbi(q, 1) = a 0,q b q (o 1 ) backpointer(q, 1) = 0 for i from 2 to n: for all q Q: viterbi(q, i) = arg max (viterbi(q, i 1) a q,q b q (o i )) q Q backpointer(q, i) = arg max (viterbi(q, i 1) a q,q) q Q viterbi(q F, n) = arg max q Q backpointer(q F, n) = arg max q Q (viterbi(q, n) a q,q F ) (viterbi(q, n) a q,q F ) 15 / 20

Bigram-HMMs (7) Anschließend erhält man die beste Tagsequenz (in umgekehrter Reihenfolge), wenn man, von backpointer(q f, n) ausgehend den Backpointern folgt. Die Wahrscheinlichkeit dieser Tagsequenz steht in viterbi(q f, n). 16 / 20

Trigram-HMMs (1) Annahme bisher: Die Übergangswahrscheinlichkeit dafür, dass ein bestimmtes Tag als nächstes folgt, ist nur von dem vorhergehenden Tag abhängig. Erweiterung: es werden die beiden vorhergehenden Tags berücksichtigt: n P(t1 n ) P(t i t i 1, t i 2 ) i=1 Zusätzlich wird noch das Satzende berücksichtig, genauer die Wahrscheinlichkeit, dass das letzte Tag am Satzende steht (t n+1 ist ein neu eingeführtes Satzendetag): ˆt 1 n = arg max t1 n = arg max t1 n P(w n 1 tn 1 )P(tn 1 ) [ n i=1 P(w i t i )P(t i t i 1, t i 2 )] P(t n+1 t n ) 17 / 20

Trigram-HMMs (2) Problem: Man hat oft nicht genug Daten, um alle Wahrscheinlichkeiten abschätzen zu können: P(t i t i 1, t i 2 ) = C(t i 2, t i 1, t i ) C(t i 2, t i 1 ) Viele dieser Anzahlen werden 0 sein, da man nicht alle Folgen im Trainingskorpus findet. Lösung: Kombination von Tri-, Bi- und Unigrams: P(t i t i 1, t i 2 ) = λ 3ˆP(t i t i 1, t i 2 ) + λ 2ˆP(t i t i 1 ) + λ 1ˆP(t i ) 18 / 20

Trigram-HMMs (3) Berechnung der λ 1, λ 2, λ 3 z.b. durch deleted interpolation λ 1 = λ 2 = λ 3 = 0 for each trigram t 1, t 2, t 3 with f (t 1, t 2, t 3 ) > 0: depending on the maximum of the values x 1 = C(t1,t2,t3) 1 C(t, x 1,t 2) 1 2 = C(t2,t3) 1 C(t 2) 1 and x 3 = C(t3) 1 N 1 : case max = x 1 : increment λ 3 by C(t 1, t 2, t 3 ) case max = x 2 : increment λ 2 by C(t 1, t 2, t 3 ) case max = x 3 : increment λ 1 by C(t 1, t 2, t 3 ) normalize λ 1, λ 2, λ 3 (N ist die Gesamtanzahl Tokens im Korpus) Accuracy = (Anzahl korrekter Tags) / (Anzahl Tags) liegt beim POS Tagging deutlich über 95 %. 19 / 20

Jurafsky, D. and Martin, J. H., editors (2009). Speech and Language Processing. An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. Prentice Hall Series in Articial Intelligence. Pearson Education International. Second Edition. 20 / 20