Der VITERBI-Algorithmus

Ähnliche Dokumente
Der Viterbi-Algorithmus im Part-of-Speech Tagging

Hidden Markov Models

Tagging mit Hidden Markov Models und Viterbi-Algorithmus

Der Viterbi Algorithmus

Einführung in die Computerlinguistik

Hidden Markov Models (HMM)

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

Der Viterbi-Algorithmus.

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

Part-Of-Speech-Tagging mit Viterbi Algorithmus

Hidden Markov Models (HMM) Karin Haenelt

Einführung in die Computerlinguistik

Elementare Begriffe der Wahrscheinlichkeitstheorie für die Sprachverarbeitung

Maschinelle Sprachverarbeitung: Part-of-Speech-Tagging

Projektgruppe. Text Labeling mit Sequenzmodellen

Einführung in die Computerlinguistik POS-Tagging

Hidden-Markov-Modelle

1 Part-of-Speech Tagging

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

TnT - Statistischer Part-of- Speech Tagger

Der Earley-Algorithmus

Der Earley-Algorithmus

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

Hidden Markov Models in Anwendungen

TreeTagger. Deborah Watty

Grundbegriffe der Wahrscheinlichkeitstheorie. Karin Haenelt

Einführung in die Computerlinguistik

Hidden Markov Models in Anwendungen

Part-of-Speech Tagging. Stephanie Schuldes

Active Hidden Markov Models for Information Extraction

LI07: Hidden Markov Modelle und Part-of-Speech Tagging

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

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

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

Hidden Markov Model (HMM)

Elementare Grundlagen der Wahrscheinlichkeitstheorie

Elementare Grundlagen der Wahrscheinlichkeitstheorie

HMM-Synthese (Grundzüge)

Hidden Markov Modelle

Programmierkurs Python II

Evaluation und Training von HMMs

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

Mathematische Grundlagen der Computerlinguistik III: Statistische Methoden Probeklausur

Hidden Markov Modelle

Modellierung menschlicher Sprachen mit Regulären Ausdrücken

1 Part-of-Speech Tagging

Softwareprojektpraktikum Maschinelle Übersetzung

Operationen auf endlichen Akzeptoren und Transduktoren

Vorlesung Maschinelles Lernen

Part-of-Speech-Tagging mit Transduktoren

Informationsextraktionssystem ANNIE

Probabilistische kontextfreie Grammatiken

Gleiche Daten, unterschiedliche Erkenntnisziele?

Probabilistisches Parsing Teil II

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

Blockseminar Einführung in die Korpuslinguistik Seminarleitung: Yvonne Krämer, M.A. Das Korpus. und seine Aufbereitung

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

Statistische Verfahren in der Computerlinguistik

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

Das Informationsextraktions- System ANNIE. Anna Mazhayskaya Anna Vinenko

Endliche Automaten. Grundlagen: Alphabet, Zeichenreihe, Sprache. Karin Haenelt

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

Automatische Rekonstruktion und Spezifizierung von Attributnamen in Webtabellen

Part-of-Speech-Tagging mit Transduktoren

Elementare Wahrscheinlichkeitslehre

Automatisiertes Annotieren in CATMA

Dokumentclustering am Beispiel von Liedtexten

1/19. Kern-Methoden zur Extraktion von Informationen. Sebastian Marius Kirsch Back Close

Anwendungen der KI / SoSe 2018

Institut für Informatik Lehrstuhl Maschinelles Lernen

Signalverarbeitung 2. Volker Stahl - 1 -

C++/Python-Programmierprojekte

Machine Translation with Inferred Stochastic Finite-State Transducers

Interdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der Informatik. SS 2016: Grossmann, Jenko

Informationsextraktion mit endlichen Automaten

Kontextfreie Grammatiken

Operationen auf endlichen Automaten und Transduktoren

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

Methoden der KI in der Biomedizin Bayes Netze

11. Übung Algorithmen I

ScanPal Inventur im OrthoFakt

Algebraische Statistik ein junges Forschungsgebiet. Dipl.-Math. Marcus Weber

Wissensrepräsentation

Einführung in das Lehrstuhl-Modul Lehrveranstaltungen

Apriori-Algorithmus zur Entdeckung von Assoziationsregeln

Kürzeste Wege in einem gewichteten Graphen. Anwendungen

Implementierung: Dokumentclustering

INFORMATION RETRIEVAL

Getting Started Conquestor

Überführung regulärer Ausdrücke in endliche Automaten

Hidden Markov Models

Algorithmen & Datenstrukturen 2 Praktikum 3

Part-of-Speech- Tagging

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester Lösungsblatt 4 Maschinelles Lernen und Spracherkennung

Tutoriums-Paper zu Hidden Markov Models

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

Internet-Technologien

Parsing regulärer Ausdrücke. Karin Haenelt

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

Transkript:

Der VITERBI-Algorithmus Hauptseminar Parsing Sommersemester 2002 Lehrstuhl für Computerlinguistik Universität Heidelberg Thorsten Beinhorn http://janus.cl.uni-heidelberg.de/~beinhorn

2 Inhalt Ziel des Projekts Vorstellung des Viterbi-Algorithmus Beschreibung der Implementierung Vorstellung des Programms VTAG Evaluierung Literatur

3 Ziel des Projekts Implementierung eines Part-of-Speech Taggers mit Hilfe des Viterbi-Algorithmus

4 Zu lösende Probleme Erstellen einer geeigneten Datenbasis Planung der Programmstruktur Anpassung des Algorithmus an Zielsprache (Visual Basic) Training / Evaluierung

5 Sprachliche Phänomene Satzende-Problematik: Behandlung von Satzzeichen, speziell dem Punkt, um das Ende eines Satzes zu finden Diese Aufgabe übernimmt in diesem Projekt der Sentenizer

6 Beispielanwendungen des Viterbi- Algorithmus Part-of-Speech Tagging Muster-Erkennung

7 Funktion des Viterbi-Algorithmus I Der Zweck des Algorithmus besteht darin, auf effiziente Weise die beste verborgene Pfadsequenz durch ein Hidden Markov Modell (HDM) zu finden

8 Funktion des Viterbi-Algorithmus II Voraussetzungen: Eine gegebene Beobachtung Ein gegebenes Modell Ergebnis: Der beste Pfad durch das Übergangsnetzwerk

9 Haenelt, 2002f,10 Funktion des Viterbi-Algorithmus III Dieses Beispiel zeigt die Vorgehensweise des Viterbi-Algorithmus. Ausgehend vom Startsymbol wird der wahrscheinlichste Pfad durch das gegebene Hidden Markov Modell gefunden. wir Adje 0 wir AuxV 0. O wir KopV 0 wir Nomn 0.06 wir Part 0 werden Adje 0 werden AuxV 0.0072 werden KopV 0.009 werden Nomn0 werden Part 0 geschickt Adje geschickt AuxV geschickt KopV geschickt Nomn geschickt Part 0.00036 0 0 0 0.00057

Formale Spezifikation des Viterbi- Algorithmus 0 1 comment: Given: a sentence of length n 2 comment: Initialization 3 d 1 (O) = 1.0 4 d 1 (t) = 0.0 for t? O 5 comment: Induction 6 for i := 1 to n step 1 do 7 for all tags t j do 8 d i+1 (t j ) := max 1=k=T [di(t k ) x P(w i+1 t j ) x P(t j t k )] 9? i+1 (t j ) := arg max 1=k=T [di(t k ) x P(w i+1 t j ) x P(t j t k )] 10 end 11 end 12 comment: Termination and path-readout 13 X n+1 = arg max 1=j=T d n+1 (j) 14 for j := n to 1 step -1 do 15 X j =? j+1 (X j+1 ) 16 end 17 P(X 1,, X n ) = max 1=j=T d n+1 (t j ) Manning/Schütze, 2000: 350

1 Haenelt, 2002f,19 Formale Spezifikation des Viterbi- Algorithmus: Funktion d d i+1 (t j ) := max 1=k=T [d i (t k ) x P(w i+1 t j ) x P(t j t k )] berechnet für jeden Punkt im Gitter (trellis) die Wahrscheinlichkeit des wahrscheinlichsten Pfades, der zu diesem Knoten führt

2 Haenelt, 2002f,21 Formale Spezifikation des Viterbi- Algorithmus: Funktion?? i+1 (t j ) := arg max 1=k=T [d i (t k ) x P(w i+1 t j ) x P(t j t k )] ermittelt für jeden Punkt im Gitter (trellis) den Vorgängerknoten auf dem wahrscheinlichsten Pfad, der zu diesem Knoten führt

3 Beschreibung der Implementierung I Implementierung in Visual Basic 6.0 Datenbasis: Training: Ausgabe: MS-Access 2000 Datenbank Auszüge aus Ätna-Korpus Getaggter Text (Html-Stil)

4 Beschreibung der Implementierung II Datenbasis (Tabellen) reltaglex Emissionswahrscheinlichkeiten: Tag - Wort reltransmission Übergangswahrscheinlichkeiten zwischen den Tags tbllexicon Vollformen-Lexikon tbltagset STTS-Tagset SEQSCORE Hidden Markov Modell (temporär, nur für einen Satz gültig) BACKPTR Beinhaltet die Pfadsequenzen (temporär, nur für einen Satz gültig)

5 Beschreibung der Implementierung III Module basdatabasefunctions Steuert die Datenbank-Zugriffe basfilefunctions Behandelt die Datei-Zugriffe (Öffnen / Speichern) basglobals Globale Variablen basviterbi Der eigentliche Viterbi-Algorithmus TextFunctions Sentenizer / Tokenizer

6 Beschreibung der Implementierung IV graphische Darstellung Eingabe Satz/Text Sentenizer Jeder Satz Tokenizer Jedes Token Lexikon TagSet Emissions- /Übergangswahrscheinlichkeiten Viterbi-Algorithmus Training Ausgabe als Textdatei Bildschirmausgabe

7 Das Programm VTAG 2002 Eingabe eines neuen Textes in VTAG

8 Das Programm VTAG 2002 Ausgabe eines getaggten Textes in VTAG

9 Das Programm VTAG 2002 Auszug aus der Tabelle SEQSCORE nach einem Tag-Vorgang

0 Evaluierung I Qualität der Ausgabe Die Qualität der Ausgabe ist stark vom Trainingsumfang abhängig Nach einführendem Training nimmt die Erkennungsrate schnell zu, da bereits gelernte Übergangswahrscheinlichkeiten wiederverwendet werden können Die Ausgabe bei Texten mit vielen unbekannten Wörtern führt zu eher unbefriedigenden Ergebnissen, allerdings reicht oft ein einmaliges Training aus, um diese neuen Texte korrekt zu taggen

1 Evaluierung II Satzende-Problem Bis auf Abkürzungen und Folge-Pünktchen ist es uns gelungen das Satzende in ca. 90% der Fälle richtig zu erkennen. Bei den Trainingsdaten aus dem Ätna-Korpus war die Erkennung sogar noch höher, da es sich um sehr einfach aufgebaute Sätze handelt. Die oben genannten Sonderfälle stellen allerdings ein schwierig zu lösendes Problem dar, da das Satzende durch reguläre Ausdrücke unter umständen nicht zu finden ist. Beispiel: ging er nach Hause... Dann kochte er Kaffee

2 Evaluierung III Komplexität / Effizienz Pro Durch die Verwendung der Besten-Pfad -Methode ergibt sich auch bei großen Datenmengen eine relativ kurze Verarbeitungsgeschwindigkeit Die Gefahr des Over-Learnings ist relativ gering (durch Trennung der Emissions- und Übergangswahrscheinlichkeiten) Contra Datenbankzugriffe kosten sehr viel Zeit Für jedes neue Wort muss eine neue Emissionswahrscheinlichkeit angelegt werden (auch wenn sie null ist), bei diesem Tagset (55 Tags) ergeben sich demnach 55 Datenbankzugriffe pro neuem Wort nicht sehr performant

3 Literatur Haenelt, Karin (2002s): Der Viterbi-Algoritmus. Eine Erläuterung der formalen Spezifikation am Beispiel des Part-of-Speech Tagging. Kursskript. 11.05.2002 http://www.darmstadt.gmd.de/kontext/haenelt/kurs/folien/viterbi- Tutor.doc Haenelt, Karin (2002f): Der Viterbi-Algoritmus im Part-of-Speech Tagging. Kursfolien. 11.06.2002 http://www.darmstadt.gmd.de/kontext/haenelt/kurs/folien/viterbi- Algorithmus.ppt Manning, Christoph D.: Schütze, Hinrich (1999): Foundations of Statistical Natural Language Procesing. Camebridge, Mass., London: The MIT Press. (vgl.:http://www.sultry.arts.usyd.edu.au/fsnlp)