Softwareprojektpraktikum Maschinelle Übersetzung

Ähnliche Dokumente
Softwareprojektpraktikum Maschinelle Übersetzung

Softwareprojektpraktikum Maschinelle Übersetzung

Algorithmen und Datenstrukturen

Übersicht über Informatik und Softwaresystemtechnik WS 99/00, Prof. Dr. Andreas Schwill

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Lineares Programmieren

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.

Grundlagen: Algorithmen und Datenstrukturen

Softwareprojektpraktikum Maschinelle Übersetzung

M. Pester 29. Ein konvexes d-polytop ist eine begrenzte d-dimensionale polyedrale Menge. (d = 3 Polyeder, d = 2 Polygon)

Konvexe Hülle. Konvexe Hülle. Mathematik. Konvexe Hülle: Definition. Mathematik. Konvexe Hülle: Eigenschaften. AK der Algorithmik 5, SS 2005 Hu Bin

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Algorithmen und Datenstrukturen

Numerische Methoden und Algorithmen in der Physik

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block

Informatik II Greedy-Algorithmen

Abschnitt: Algorithmendesign und Laufzeitanalyse

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Programmieren I. Kapitel 7. Sortieren und Suchen

Algorithmen und Datenstrukturen

Suchen und Sortieren Sortieren. Heaps

Geradenarrangements und Dualität von Punkten und Geraden

Überblick. Lineares Suchen

Algorithmen II Vorlesung am

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

2.3.1 Einleitung Einfache Sortierverfahren Höhere Sortierverfahren Komplexität von Sortierverfahren Spezielle Sortierverfahren

Sortieren. Eine Testmenge erstellen

Informatik II, SS 2014

Algorithms for Regression and Classification

Javakurs für Anfänger

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

Geometrie I. Sebastian Redinger Informatik 2 Programmiersysteme Martensstraße Erlangen

Übung Algorithmen I

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Optimierung für Nichtmathematiker

Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Suchverfahren Autor: Stefan Edelkamp / Sven Schuierer

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

Clusteranalyse: Gauß sche Mischmodelle

Algorithmentheorie Randomisierung. Robert Elsässer

7. Sortieren Lernziele. 7. Sortieren

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1

3. Übungsblatt zu Algorithmen I im SoSe 2017

Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5

Effiziente Algorithmen Übung 2

Informatik II, SS 2014

Folge 13 - Quicksort

2. Optimierungsprobleme 6

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

8.1.3 Operation Build-Max-Heap Operation zur Konstruktion eines Heaps Eingabe: Feld A[1..n], n = länge(a) BUILD-MAX-HEAP (A)

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Grundlegende Sortieralgorithmen

Übung zur Vorlesung Berechenbarkeit und Komplexität

Entwurf von Algorithmen - Kontrollstrukturen

Informatik II Greedy-Algorithmen

Programmieren I. Kapitel 5. Kontrollfluss

Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion:

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

Einführung in die Informatik 1

Theorie und Praxis geometrischer Algorithmen

4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java)

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

B: 2 x = 7 logarithmiert zur Basis 10 nicht zu verwechseln mit lg( 7 / 2 ) = lg 7 - lg 2

Übungsklausur Algorithmen I

Informatik II, SS 2014

Grundlagen der Theoretischen Informatik

JAVA - Suchen - Sortieren

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:

Steuerung von Programmabläufen. Vorlesung Computergestützte Mathematik zur Linearen Algebra. Lehrstuhl für Angewandte Mathematik Sommersemester 2009

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

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

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Algorithmische Bioinformatik 1

Algorithmen und Datenstrukturen 1

Termine für Übungstests. Kap. 3 Sortieren HeapSort ff Priority Queues. Motivation. Überblick. Analyse SiftDown

Simulation von Zufallsvariablen und Punktprozessen

Sortierverfahren für Felder (Listen)

damit hätten wir nach Ende der Schleife: "a[0 n-1] enthält nur Elemente aus a[0 n-1], aber in sortierter Reihenfolge".

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Einführung in Heuristische Suche

Sortierverfahren. Sortierverfahren für eindimensionale Arrays

Bemerkung 2.1: Das Newtonverahren kann auch als sequential quad. minimization verstanden werden: 2.1 Ein globalisiertes Newtonverfahren

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

Kapitel 6 Elementare Sortieralgorithmen

Sortieren. Maple sortiert; Unordnung schaffen. > restart;

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

Mobile Objekte Indexstrukturen

Dr. Monika Meiler. Inhalt

Polygontriangulierung

Grundlagen der Programmierung

Temporal Difference Learning

Gierige Algorithmen Interval Scheduling

Der CG-Algorithmus (Zusammenfassung)

Virtuelle Realität Kollisionserkennung

Kapitel 9 Algorithm. Geometrie. Kürzeste Abstände Konvexe Hülle

Sortieralgorithmen. Jan Pöschko. 18. Januar Problemstellung Definition Warum Sortieren?... 2

Transkript:

Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta, Jan Rosendahl max.bleu@i6.informatik.rwth-aachen.de Vorbesprechung 5. Aufgabe 22. Juni 2017 Human Language Technology and Pattern Recognition Lehrstuhl für Informatik 6 Computer Science Department RWTH Aachen University, Germany J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 1 Vorbesprechung 22. Juni 2017

Contents 1 Log-lineare Modellkombination 3 2 Downhill-Simplex-Verfahren 7 3 Och s Minimum Error Rate Training (MERT) 18 4 Übung 5 29 J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 2 Vorbesprechung 22. Juni 2017

1 Log-lineare Modellkombination Source Language Text f J 1 Preprocessing Language Models Global Search )} ê = arg max e I 1 { p ( e I 1 f J 1 = arg max e I 1 { m λ m h m ( e I 1, f J 1 Postprocessing )} Phrase Models Word Models Reordering Models... ê I 1 Target Language Text J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 3 Vorbesprechung 22. Juni 2017

Log-lineare Modellkombination Mathematisch: êî 1 = arg max e I 1 = arg max e I 1 = arg max e I 1 { p(e I 1 f J 1 )} ( M ) exp m=1 λ mh m (e I 1, f 1 J) ( M ) exp ẽ I m=1 λ mh m (ẽ I 1, f 1 J) 1 { M } λ m h m (e I 1, f J 1 ) m=1 für Skalierungsfaktoren λ m und Funktionen h m (e I 1, f J 1 ), m = 1,..., M. J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 4 Vorbesprechung 22. Juni 2017

Optimierung der Skalierungsfaktoren êî 1 = arg max e I 1 { M m=1 λ m h m (e I 1, f J 1 ) } für Skalierungsfaktoren λ m und Funktionen h m (e I 1, f J 1 ), m = 1,..., M. Algorithmen zur Optimierung der Skalierungsfaktoren λ m ideale Gewichtung der Einzelmodelle h m (e I 1, f 1 J) direkte Optimierung bzgl. des verwendeten Fehlermaßes Optimierung auf Development-Daten (nicht in Trainingsdaten enthalten) evaluiere auf ungesehenen Test-Daten J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 5 Vorbesprechung 22. Juni 2017

Optimieren auf N-Best Listen eine manuelle Optimierung benötigt viele Iterationen sehr zeitaufwendig verschiedene Parameter-Konfigurationen wiederholt zu übersetzen optimieren auf N-Best Listen wiederhole solange neue N-Best Listen Einträge generiert werden: erstelle eine N-Best Liste für jeden Quell-Satz für die aktuelle Parameter- Konfiguration füge die neu generierten mit den alten N-Best Listen zusammen optimiere die Parameter auf den zusammengefügten N-Best Listen starte eine neue Iteration mit den neuen Parametern Vorteil viel schneller Nachteil Das globale Optimum wird nicht immer erreicht (nur lokales) J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 6 Vorbesprechung 22. Juni 2017

2 Downhill-Simplex-Verfahren Wie optimiert man nun die verschiedenen Skalierungsfaktoren? Downhill Simplex Hillclimbing-Verfahren langsame Konvergierung, aber relativ robust aufspannen eines M-Dimensionalen Simplex (M +1 Ecken) Schrittweise Verbesserung des schlechtesten Punktes (hier: Parameter- Konfiguration) Ziel: verringern der Kosten hier: verbessern des BLEU-Wertes J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 7 Vorbesprechung 22. Juni 2017

Beispiel Beispielverlauf einer Simplex-Optimierung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 8 Vorbesprechung 22. Juni 2017

Beispiel Beispielverlauf einer Simplex-Optimierung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 9 Vorbesprechung 22. Juni 2017

Beispiel Beispielverlauf einer Simplex-Optimierung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 10 Vorbesprechung 22. Juni 2017

Beispiel Beispielverlauf einer Simplex-Optimierung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 11 Vorbesprechung 22. Juni 2017

Beispiel Beispielverlauf einer Simplex-Optimierung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 12 Vorbesprechung 22. Juni 2017

Beispiel Beispielverlauf einer Simplex-Optimierung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 13 Vorbesprechung 22. Juni 2017

Algorithmus Initialisierung: Simplex aufspannen: M + 1 Kosten berechnen In jeder Iteration (bis Abbruch-Kriterium erfüllt): Kosten sortieren, Simplex-Schwerpunkt berechnen versuchen den schlechtesten Punkt zu verbessern keine Verbesserung den Simplex zusammenziehen J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 14 Vorbesprechung 22. Juni 2017

Schlechtesten Punkt verbessern Berechnung des Simplex-Schwerpunktes x 0 = Verlagerung des schlechtesten Punktes Mm=1 x m M durch Reflektion: x r = x 0 + α(x 0 x worst ) durch Erweiterung: x e = x 0 + γ(x 0 x worst ) durch Kontraktion: x c = x worst + ρ(x 0 x worst ) x 0 x worst x 0 x worst x 0 x worst typische Werte: α = 1.0, γ = 2.0, ρ = 0.5 J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 15 Vorbesprechung 22. Juni 2017

Schlechtesten Punkt verbessern nicht möglich den schlechtesten Punkt zu verbessern? ziehe den kompletten Simplex zusammen x i = x 1 + σ(x i x 1 ) i {2,..., M + 1} typischer Wert: σ = 0.5 x 1 die Optimierung endet, wenn abs (BLEU(x i ) BLEU(x j )) ɛ oder wenn z.b. eine bestimmte Anzahl an Iterationen erreicht wurde J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 16 Vorbesprechung 22. Juni 2017

Downhill Simplex Algorithm 1: Downhill Simplex while Optimierungskriterium nicht erreicht do SORTIERE Simplexpunkte: BLEU(x 1 ) BLEU(x 2 ) BLEU(x M+1 ) ; BERECHNE Schwerpunkt x 0 aller Punkte ausser x M+1 ; if BLEU(x 1 ) BLEU(x r ) BLEU(x M ) then REFLEKTIERE, d.h. ersetze x M+1 durch x r ; else if BLEU(x r ) > BLEU(x 1 ) then if BLEU(x e ) BLEU(x r ) BLEU(x 1 ) then EXPANDIERE, d.h. ersetze x M+1 durch x e ; else REFLEKTIERE, d.h. ersetze x M+1 durch x r ; else if BLEU(x c ) BLEU(x M+1 ) then KONTRAHIERE, d.h. ersetze x M+1 durch x c ; else KOMPRIMIERE Simplex, x i = x 1 + σ(x i x 1 ) i {2,..., M + 1}; // BLEU(x r ) < BLEU(x M ) J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 17 Vorbesprechung 22. Juni 2017

3 Och s Minimum Error Rate Training (MERT) Basiert auf der Powell s Methode Üblicherweise schneller und stabiler als Downhill Simplex Ansatz: es wird jeweils nur ein Parameter λ k verändert λ m h m (e I 1, f J 1 ) = λ m h m (e I 1, f J 1 ) + λ kh k (e I 1, f J 1 ) m k m J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 18 Vorbesprechung 22. Juni 2017

Beispiel M m=1 λ mh m (E I 1, F J 1 ) λ k Gesamtkosten von einer einzigen Übersetzung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 19 Vorbesprechung 22. Juni 2017

Beispiel M m=1 λ mh m (E I 1, F J 1 ) λ k Schnittpunkte der N-Best Hypothesen für Satz Eins J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 20 Vorbesprechung 22. Juni 2017

Beispiel M m=1 λ mh m (E I 1, F J 1 ) λ k Schnittpunkte der N-Best Hypothesen für Satz Zwei J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 21 Vorbesprechung 22. Juni 2017

Update eines Parameters berechne BLEU an jedem Schnittpunkt (bzw. in der Mitte zwischen zwei Schnittpunkten) update den aktuellen Parameter auf den Wert des Schnittpunktes mit dem höchsten BLEU optimiere den nächsten Parameter J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 22 Vorbesprechung 22. Juni 2017

Berechnung der Konvexen Hülle Algorithm 2: Line Sweep Algorithmus input : Array a der Größe K mit Linien sortiert nach Steigung, j = 0 for (i = 0... K 1; ) do l = a[i]; // Aktuelle Gerade (line) l.x = ; // letzter Schnittpunkt if (j > 0) then // l.m Steigung if (a[j 1].m == l.m) then // l.y Schnittpunkt mit der y-achse (offset) if l.y <= a[j 1].y) then continue; //Überspringe diese Gerade j = j 1; //Löschung des letzten Schnittpunkts while (j > 0) do l.x = (l.y a[j 1].y) ; //Schnittpunkt von l und a[j 1] (a[j 1].m l.m) if (a[j 1].x < l.x) then break; j = j 1; //Löschung des letzten Schnittpunkts if (j == 0) then l.x = ; a[j] = l; j = j + 1; return a[0... j 1]; J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 23 Vorbesprechung 22. Juni 2017

Algorithm 3: Eliminiere niedriger gelegene Linien // l.m Steigung if (a[j 1].m == l.m) then // l.y Schnittpunkt mit der y-achse if l.y <= a[j 1].y) then continue; //Überspringe diese Gerade j = j 1; //Löschung des letzten Schnittpunkts J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 24 Vorbesprechung 22. Juni 2017

upper envelope a[j-1] Algorithm 4: Vergleiche Schnittpunkte while (j > 0) do l.x = (l.y a[j 1].y) ; //Schnittpunkt von l und a[j 1] (a[j 1].m l.m) if (a[j 1].x < l.x) then break; j = j 1; //Löschung des letzten Schnittpunkts J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 25 Vorbesprechung 22. Juni 2017

upper envelope a[j-1] Schnittpunkt mit a[j-1] currentintersection bisheriger Schnittpunkt von a[j-1] Algorithm 5: Vergleiche Schnittpunkte while (j > 0) do l.x = (l.y a[j 1].y) ; //Schnittpunkt von l und a[j 1] (a[j 1].m l.m) if (a[j 1].x < l.x) then break; j = j 1; //Löschung des letzten Schnittpunkts J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 26 Vorbesprechung 22. Juni 2017

upper envelope a[j-1] currentintersection Algorithm 6: Vergleiche Schnittpunkte while (j > 0) do l.x = (l.y a[j 1].y) ; //Schnittpunkt von l und a[j 1] (a[j 1].m l.m) if (a[j 1].x < l.x) then break; j = j 1; //Löschung des letzten Schnittpunkts J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 27 Vorbesprechung 22. Juni 2017

Algorithmus Algorithm 7: MERT INITIALISIERE; while Neue Hypothese produziert wird do while Parameter ändern sich do Berechne neue (zufällige) Parameter-Reihenfolge; for Jeden Parameter do Berechne alle Schnittpunkte aller N-Best Listen; Berechne BLEU neu für alle Schnittpunkte (effizient!); Wähle besten Parameter; Erzeuge neue N-Best Liste mit neuen Parametern; Füge die neuen N-Best Einträge zu der alten Liste hinzu J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 28 Vorbesprechung 22. Juni 2017

4 Übung 5 Optimierung der Skalierungsfaktoren in der log-linearen Modellkombination Downhill Simplex MERT Effiziente Schnittpunktberechnung (Aufgabe: wie?) Effiziente BLEU Berechnung (Aufgabe: wie?) ist es notwendig an jedem Schnittpunkt BLEU komplett neu zu berechnen? Begrenzung der Veränderung eines Parameters? Normierung der Parameter? N-Best Listen Größe? weitere Ideen? J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 29 Vorbesprechung 22. Juni 2017

Fragen? J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 30 Vorbesprechung 22. Juni 2017