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

Ähnliche Dokumente
Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2018

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

Kognitive Systeme. Übung 4

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2016

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

Algorithmische Bioinformatik 1

Algorithmische Anwendungen WS 2005/2006

Softwareprojektpraktikum Maschinelle Übersetzung Automatische Evaluation

Algorithmen und Datenstrukturen in der Bioinformatik Zweites Übungsblatt WS 05/06 Musterlösung

Hidden-Markov-Modelle

Softwareprojektpraktikum Maschinelle Übersetzung

Informatik II, SS 2014

Maschinelle Sprachverarbeitung: N-Gramm-Modelle

Softwareprojektpraktikum Maschinelle Übersetzung

Algorithmen und Datenstrukturen in der Bioinformatik Erstes Übungsblatt WS 05/06 Musterlösung

19. Dynamic Programming I

Algorithmen auf Sequenzen

Einführung in die Informatik

19. Dynamic Programming I

Der Viterbi Algorithmus

Aufgabe 1 Probabilistische Inferenz

Algorithmen auf Sequenzen Paarweiser Sequenzvergleich: Alignments

Suche. Sebastian Stüker

6. Algorithmen auf Zeichenketten

ALP I Turing-Maschine

Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel

KLAUSUR ZUM BACHELORMODUL PROBEKLAUSUR COMPUTERLINGUISTISCHE ANWENDUNGEN PROBEKLAUSUR, DR. BENJAMIN ROTH KLAUSUR AM

Algorithmen und Datenstrukturen SS09. Foliensatz 15. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

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

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 14, Donnerstag, 6.

Zusammenfassung Tutorien der Woche ALDABI

Algorithmen und Datenstrukturen 2

Informatik II, SS 2018

Schriftlicher Test Teilklausur 2

Minimalpolynome und Implikanten

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 14, Donnerstag, 5.

A3.9: Viterbi Algorithmus: Grundlegendes

Algorithmische Bioinformatik

Algorithmen I - Tutorium 28 Nr. 12

Zeitreihenanalyse mit Hidden Markov Modellen

Schriftlicher Test Teilklausur 2

Übungsaufgaben zur Einführung in die Bioinformatik - Lösungen

Projektgruppe. Text Labeling mit Sequenzmodellen

Grundlagen der theoretischen Informatik

Automaten und Formale Sprachen SoSe 2013 in Trier

Praktikum Maschinelle Übersetzung Lexikon and Word Alignment

Wissensrepräsentation

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

Hidden Markov Models (HMM)

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

2.7 Der Shannon-Fano-Elias Code

Informatik II, SS 2018

Hidden Markov Models

Beispiel Produktautomat

Bioinformatik. Lokale Alignierung Gapkosten. Silke Trißl / Ulf Leser Wissensmanagement in der. Bioinformatik

Seien M 1,M 2 NFAs f. die Sprachen L 1 und L 2. Konstruktion eines NFAs für L 1 L 2 : Erzeuge Kopien von M 1 und M 2. p 1

19. Dynamic Programming I

Einführung in die Computerlinguistik

2. Klausur Datenstrukturen und Algorithmen SS 2014

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Statistische Sprachmodelle

Prüfung Softwareentwicklung I (IB)

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

Technische Universität München SoSe 2015 Institut für Informatik I Mai 2015 Dr. Tobias Lasser. Aufgabe 1 Rechnen mit Landau-Symbolen

11. Übung Algorithmen I

Pairwise Alignment. Steffen Forkmann. Proseminar: BioInformatik

Algorithmen für paarweise Sequenz-Alignments. Katharina Hembach

16. All Pairs Shortest Path (ASPS)

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

Übungen zu Informatik 1

Hidden-Markov-Modelle

Informatik II, SS 2016

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1

Datenstrukturen und Algorithmen (SS 2013)

Globalübungsaufgabe1 (Rucksackproblem):

Proseminar Datenkompression Suchstrategien und Präfixcodes

ADS: Algorithmen und Datenstrukturen 2

Algorithmische Bioinformatik

Informatik II, SS 2018

Datenstrukturen und Algorithmen (SS 2013)

Schriftlicher Test Teilklausur 2

Massive Parallelität : Neuronale Netze

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

Wann sind Codes eindeutig entschlüsselbar?

ALP I Turing-Maschine

Klausur Informatik 2: Algorithmen und Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

Active Hidden Markov Models for Information Extraction

Die mathematische Seite

11. Übungsblatt. x y(top(push(x, y)) = y)

Karlsruher Institut für Technologie. Klausur Algorithmen I

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

Vorlesung Maschinelles Lernen

Einführung in die Programmierung

Klausur. Diskrete Mathematik I. Donnerstag, den um 14 Uhr

Einführung in die Programmierung

hue04 November 18, 2016

FAKULTÄT FÜR INFORMATIK

Transkript:

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2018 S. Constantin (stefan.constantin@kit.edu) S. Nguyen (thai.nguyen@kit.edu) Lösungsblatt 4 Maschinelles Lernen und Spracherkennung Aufgabe 1: Neuronales Netz a) Zeichnen Sie ein neuronales Netz mit genau einer versteckten Schicht, welches das XOR-Problem löst. Nehmen Sie hierfür 2 binäre Eingänge und einen binären Ausgang an, die jeweils einen der Werte 0 oder 1 annehmen können. Mögliche Onlinefrage Nr. 1: Wieviele versteckte Neuronen muss das Netz mindestens enthalten (d.h., wie viele Knoten enthält die versteckte Schicht), um das XOR-Problem zu lösen? (Hinweis: direkte Verbindungen zwischen Eingabe und Ausgabe seien explizit nicht erlaubt). i) 1 ii) 2 iii) 3 iv) 4 v) 5 ii) 2 (für den Fall das direkte Verbindungen nicht erlaubt sind, ansonsten lautet die Lösung 1). Lösungsblatt 4 zu Kognitive Systeme Seite 1

Aufgabe 2: HMM - Forward- / Viterbi-Algorithmus Gegeben sei das Modell λ wie folgt: Hinweis: Die Zustandsübergänge summieren sich nicht zu 1, dies ist also kein vollständig beschriebenes HMM. Die implizite Annahme ist hier, dass es noch andere, nicht gezeigte Zustände und entsprechende Übergänge gibt, die jedoch die beobachtete Sequenz nicht erzeugen können und somit für die Aufgabe keine Rolle spielen. a) Berechnen Sie die Wahrscheinlichkeit der Zeichenketten O 1 = AAB und O 2 = BAB mit dem Forward-Algorithmus, wobei im Start-Zustand begonnen, im Ende-Zustand terminiert und im Start- Zustand q 0 noch kein Symbol emittiert wird (d.h., es kommt immer zuerst ein Zustandsübergang, und erst danach eine Beobachtung). b) Welche Zustandskette Q = (q 0 q 1 q 2 q 3 ) liefert die maximale Wahrscheinlichkeit P (O, Q λ) für die Ausgabe O 2 mit q 0 = Start wobei im Startzustand q 0 noch kein Symbol emittiert wird? (Hinweis: Annahme ist wieder, das im Startzustand begonnen und im Endzustand terminiert wird). Hinweis: Wenden Sie hier den Viterbi-Algorithmus an. c) Onlinefrage Nr. 2: Welche Zeichenkette aus Teilaufgabe a) ist wahrscheinlicher? i) O 1 ii) O 2 iii) O 1 und O 2 Lösungsblatt 4 zu Kognitive Systeme Seite 2

a) P (O 1, Q λ) = 0.010656 P (O 2, Q λ) = 0.01632 Lösungsblatt 4 zu Kognitive Systeme Seite 3

b) Der wahrscheinlichste Pfad für die Beobachtungssequenz O 2 führt entlang der fett gedruckten Pfeile. c) Die Folge O 2 ist wahrscheinlicher, da P (O 1, Q λ) = 0.010656 < P (O 2, Q λ) = 0.01632 Lösungsblatt 4 zu Kognitive Systeme Seite 4

Aufgabe 3: Sprachmodelle Ein 3-gram Sprachmodell einer formalen Sprache mit dem Vokabular V = {abwarten, und, T ee, trinken} enthalte die folgenden Wahrscheinlichkeiten. w i 2 w i 1 w i = abwarten w i = und w i = Tee w i = trinken w i =< /S > n/a <S> 0,35 0,25 0,25 0,1 0,05 <S> abwarten 0,02 0,6 0,05 0,05 0,28 <S> und 0,3 0,05 0,5 0,05 0,1 <S> Tee 0,05 0,2 0,05 0,6 0,1 <S> trinken 0,04 0,6 0,15 0,05 0,16 abwarten abwarten 0,2 0,2 0,20 0,25 0,15 abwarten und 0,04 0,1 0,4 0,4 0,06 abwarten Tee 0,1 0,3 0,2 0,3 0,1 abwarten trinken 0,04 0,4 0,35 0,1 0,11 und abwarten 0,04 0,05 0,25 0,3 0,36 und und 0,2 0,2 0,25 0,2 0,15 und Tee 0,1 0,15 0,05 0,5 0,2 und trinken 0,04 0,05 0,6 0,1 0,21 Tee abwarten 0,1 0,6 0,1 0,1 0,1 Tee und 0,2 0,1 0,1 0,25 0,35 Tee Tee 0,1 0,1 0,1 0,1 0,6 Tee trinken 0,2 0,2 0,2 0,25 0,15 trinken abwarten 0,1 0,3 0,1 0,1 0,4 trinken und 0,4 0,05 0,05 0,05 0,45 trinken Tee 0,1 0,3 0,1 0,1 0,4 trinken trinken 0,2 0,2 0,25 0,2 0,15 Hierbei steht das Symbol <S> für den Anfang des Satzes und </S> für das Satzende. Berechnen Sie die Wahrscheinlichkeiten der folgenden Sätze und die dazugehörigen Perplexitäten des Sprachmodells. Hinweis: Als Anzahl der Wörter bei der Berechnung der Perplexität in der Spracherkennung wird oft die Anzahl der Wortübergänge benutzt (bei n-grammen mit n > 1), da diese letztendlich entscheidend für die Wahrscheinlichkeit der Wortsequenz sind. Benutzen Sie zur Berechnung der Perplexität die aus den Vorlesungsfolien bekannten Formeln für Perplexität und verwenden Sie dazu die Anzahl der Wortübergänge als n in der Berechnung. <S> und </S> werden dabei als Wörter angesehen. Zur Erinnerung, normalisierte Logprob: H(W ) = 1 N N i=1 log 2 P (w i Ψ(w 1,..., w i 1 )), und Perplexität: PP(W ) = 2 H(W ). Umformung: Lösungsblatt 4 zu Kognitive Systeme Seite 5

a) abwarten Wahrscheinlichkeit: 0,35 * 0,28 = 0.098 PP: 0.098 1 2 = 3.19439 b) abwarten und abwarten Wahrscheinlichkeit: 0,35 * 0,6 * 0,04 * 0,36 = 0.003024 PP: 0.003024 1 4 = 4.2643667978 c) abwarten und Tee trinken Wahrscheinlichkeit: 0,35 * 0,6 * 0,4 * 0,5 * 0,15 = 0.0063 PP: 0.0063 1 5 = 2.7550652571 d) Tee trinken und abwarten Wahrscheinlichkeit: 0,25 * 0,6 * 0,2 * 0,4 * 0,36 = 0.00432 PP: 0.00432 1 5 = 2.9710040966 Lösungsblatt 4 zu Kognitive Systeme Seite 6

Aufgabe 4: Wortfehlerrate Zur Bewertung eines Spracherkenners wird oft die Wortfehlerrate (Word Error Rate, WER) herangezogen: W ER = N sub+n del +N ins N Dabei ist N die Anzahl der Wörter in der Referenz und N op sind die Anzahl der Wörter, die in der Hypothese mit der Operation op bearbeitet werden müssen, um die Referenz zu erhalten. Berechnen Sie für die folgenden Sätze die Wortfehlerrate, wenn für die automatisch erkannte Hypothese HYP die Referenz REF gestellt wird: a) HYP Der Anfang ist leer REF Aller Anfang ist schwer sub, match, match, sub WER = 2/4 = 50 % b) HYP Ich esse am liebsten Schokolade mit Reis REF Ich esse am liebsten Schokoladeneis match, match, match, match, sub, del, del WER = 3/5 = 60 % c) HYP Noch zwei Wochen können sieben Verstand ablehnen REF Nach zwei Wochen können Sie den Verband abnehmen sub, match, match, match, sub, ins, sub, sub WER = 5/8 = 62, 5 % Onlinefrage Nr. 3: Berechnen Sie die Wortfehlerrate für die folgende Hypothese und Referenz. d) HYP Strahl und der Sonne scheint wurde für nächste Woche im Voraus gesagt REF Strahlender Sonnenschein wurde für nächste Woche vorausgesagt i) 8/12 ii) 9/12 iii) 8/7 iv) 9/7 v) 10/7 sub, del, del, sub, del, match, match, match, match, del, sub, del WER = 8/7 114, 29 % Lösungsblatt 4 zu Kognitive Systeme Seite 7

Aufgabe 5: Programmieraufgabe: Dynamische Programmierung Gegeben sind die korrekte Sequenz (Referenz) wenn es im Juni viel donnert kommt ein trüber Sommer und fünf Hypothesen: 1) im Juni viel Sonne kommt einen trüberen Sommer 2) viel Donner im Juni einen trüben Sommer bringt 3) Juni Donner einen Sommer 4) im Juni viel Donner bringt einen trüben Sommer 5) wenns im Juno viel Donner gibts einen trüben Sommer a) Schreiben Sie ein Programm, um die gegebenen Hypothesen mit der korrekten Sequenz auf Wortebene (Editierdistanz auf Wortebene, englisch word edit distance) zu vergleichen. Implementieren Sie dabei eine Zurückverfolgung des Pfades und vergeben Sie Strafpunkte, um dadurch die ähnlichste Hypothese auszuwählen. Dabei sollen übereinstimmende Wörter 0 Strafpunkte bekommen, und substitutions (Ersetzungen), insertions (Einfügungen), und deletions (Auslassungen) jeweils 1 Strafpunkt. Achten Sie darauf, dass ihr Algorithmus case-sensitive arbeitet, d.h. Donner und donner als 2 unterschiedliche Wörter betrachtet. Welche der 5 Hypothesen ist der Referenz am ähnlichsten? Beispiel Python-Code (Quelle: en.wikibooks.org/wiki/algorithm Implementation/Strings/Levenshtein distance): def l e v e n s h t e i n ( s1, s2 ) : i f l e n ( s1 ) < l e n ( s2 ) : return l e v e n s h t e i n ( s2, s1 ) i f l e n ( s2 ) == 0 : return l e n ( s1 ) p r e v i o u s r o w = range ( l e n ( s2 ) + 1) f o r i, c1 in enumerate ( s1 ) : c u r r e n t r o w = [ i + 1] f o r j, c2 in enumerate ( s2 ) : i n s e r t i o n s = p r e v i o u s r o w [ j + 1] + 1 d e l e t i o n s = c u r r e n t r o w [ j ] + 1 s u b s t i t u t i o n s = p r e v i o u s r o w [ j ] + ( c1!= c2 ) c u r r e n t r o w. append ( min ( i n s e r t i o n s, d e l e t i o n s, s u b s t i t u t i o n s ) ) p r e v i o u s r o w = c u r r e n t r o w return p r e v i o u s r o w [ 1] Distanzen auf Wortebene: 5, 8, 8, 6, 7. Somit ist Hypothese 1 der Referenz am ähnlichsten. b) Modifizieren Sie Ihr Programm, so dass die Ähnlichkeit auf Buchstabenebene bestimmt wird (character edit distance). Dazu soll jeder Buchstabe inklusive Leerzeichen als eigenes Wort behandelt werden. Welche der 5 Hypothesen ist nun der Referenz am ähnlichsten? Anstatt Wörter in einer Liste übergeben, String übergeben (String ist eine Liste von Buchstaben). Distanzen auf Wortebene: 15, 33, 30, 18, 13. Somit ist Hypothese 5 der Referenz am ähnlichsten. Lösungsblatt 4 zu Kognitive Systeme Seite 8

c) Onlinefrage Nr. 4: Nun sei die Anzahl der Strafpunkte für substitutions (Ersetzungen) 2 (statt 1), die anderen Strafpunkte bleiben wie zuvor. Welche Hypothese ist nun der Referenz am ähnlichsten (gemessen in Editierdistanz auf Wortebene), und was ist die entsprechende Editierdistanz? i) Hyptothese 4 (Editierdistanz 6) ii) Hyptothese 1 (Editierdistanz 5) iii) Hyptothese 2 (Editierdistanz 5) iv) Hyptothese 3 (Editierdistanz 8) v) Hyptothese 1 (Editierdistanz 8) vi) Hyptothese 2 (Editierdistanz 6) v) Hyptothese 1 (Editierdistanz 8) Hinweis: Die Onlinefrage Nr. 4 kann auch durch manuelles Berechnen der Punktzahlen beantwortet werden, jedoch dürfte eine Implementierung schneller und sicherer sein, da man sich bei diesem Algorithmus leicht verrechnen kann. Anmerkung zur Dynamischen Programmierung Man kann die dynamischen Programmierung als eine Art Viterbi-Algorithmus ansehen, bei dem statt dem Pfad mit der maximalen Wahrscheinlichkeit der Pfad mit dem höchsten Score gesucht wird. Die Dynamische Programmierung unterteilt sich in drei Schritte: 1. Die Generierung einer Matrix mit M + 1 Spalten auf N + 1 Zeilen, wobei M die Anzahl der Wörter der korrekten Sequenz ist, und N die Anzahl der Wörter in der Hypothese. Die erste Zeile und Spalte können bereits mit der Bewertung für ausschließlich Auslassungen bzw. Einfügungen gefüllt werden, siehe Beispiel: im Juni viel Donner bringt einen trüben Sommer 0 1 2 3 4 5 6 7 8 im 1 Juni 2 viel 3 Donner 4 bringt 5 einen 6 trüben 7 Sommer 8 2. Das Füllen der Matrixfelder (engl. scoring) mit dem maximalen Score. 3. Das Zurückverfolgen des Pfades (engl. alignment). Lösungsblatt 4 zu Kognitive Systeme Seite 9