Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta, Jan Rosendahl {peter,guta,rosendahl}@i6.informatik.rwth-aachen.de Vorbesprechung 4. Aufgabe 2. 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 2. Juni 2017
Contents J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 2 Vorbesprechung 2. Juni 2017
1 Wiederholung êî 1 = arg max e I 1 = arg max e I 1 {p(e I1 f J1 ) } {p(e I1 ) p(f J1 ei1 ) } Wo stehen wir? J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 3 Vorbesprechung 2. Juni 2017
Verlauf des Praktikums 1. Extraktion einer Wort-zu-Wort-Übersetzungstabelle (Alignment vorgegeben) 2. Implementieren eines einzelwortbasierten Decoders, A*-Suche für n-best Listen 3. Automatische Metriken WER, PER und BLEU 4. Phrasenextraktion, phrasenbasiertes Decoding, log-lineare Modellierung 5. Optimierung der Modellgewichte: Downhill-Simplex und MERT 6. Reranking mit n-gram Sprachmodell J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 4 Vorbesprechung 2. Juni 2017
2 Phrasenbasierte Übersetzung Segmentierung in zweidimensionale Blöcke Wörter innerhalb einer Phrase können nicht zu Wörtern außerhalb der Phrase aligniert sein Ziel: Zerlegung eines Satzpaares (f J 1, ei 1 ) in Phrasenpaare ( f k, ẽ k ), k = 1,..., K: p(e I 1 f J 1 ) = p(ẽk 1 f K 1 ) = k p(ẽ k f k ) meal toddler a order you did bambini per piatto un ordinato ha J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 5 Vorbesprechung 2. Juni 2017
Extraktion: Gültige Phrasen Gegeben: ein Quellsatz f J 1, ein Zielsatz ei 1 Eine Phrasenpaar (f j2 j1, ei2 i1 und ein zugehöriges Alignment A. ) wird als gültig angesehen, wenn es mindestens ein Alignment zwischen den Phrasen gibt alle Alignments nur innerhalb der Phrasen liegen, und keines links, rechts, oben oder unten außerhalb Formal: Menge der bilingualen Phrasen BP(f J 1, ei 1, A) des Satzpaares (f J 1, ei 1 ) bei gegebener Alignment-Matrix A J I ist definiert als: BP(f J 1, ei 1, A) = {(f j 2 j 1, e i 2 i1 ) : (j, i) A : j 1 j j 2 i 1 i i 2 (j, i) A : j 1 j j 2 i 1 i i 2 } J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 6 Vorbesprechung 2. Juni 2017
Beispiel Beispiel-Alignment für das Sprachpaar Italienisch-Englisch (IWSLT) meal toddler a order you did bambini per piatto un ordinato ha J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 7 Vorbesprechung 2. Juni 2017
Beispiel Einzelwort-Paare wie in Übung 1 meal toddler a order you did bambini per piatto un ordinato ha J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 8 Vorbesprechung 2. Juni 2017
Beispiel Jetzt ungültige Einzelwort-Paare meal toddler a order you did bambini per piatto un ordinato ha J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 9 Vorbesprechung 2. Juni 2017
Beispiel Gültiges Phrasenpaar meal toddler a order you did bambini per piatto un ordinato ha J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 10 Vorbesprechung 2. Juni 2017
Beispiel Ungültiges Phrasenpaar meal toddler a order you did bambini per piatto un ordinato ha J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 11 Vorbesprechung 2. Juni 2017
3 Phrasenextraktion: Implementierung Verschachtelte Schleife (j1, j2) über den Quellsatz Ermitteln des minimalen (i1) und maximalen (i2) Wortes auf Zielseite Überprüfen, ob i1 und i2 ihrerseits nicht über j1 und j2 hinausgehen for j1 := 0 to J-1 for j2 := j1 to J-1 i1 = getminzielalignment(j1, j2) i2 = getmaxzielalignment(j1, j2) if (getminquellalignment(i1, i2) == j1 && getmaxquellalignment(i1, i2) == j2) outputgueltigephrase(j1, j2, i1, i2) J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 12 Vorbesprechung 2. Juni 2017
Beispiel Beispiel für j 1 = 0 und j 2 = 2 meal toddler a order you did bambini per piatto un ordinato ha j1 j2 J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 13 Vorbesprechung 2. Juni 2017
Beispiel Beispiel für j 1 = 0 und j 2 = 2 Ermitteln von i 1 und i 2 meal toddler a order you did bambini per piatto un ordinato ha j1 j2 J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 14 Vorbesprechung 2. Juni 2017
Beispiel Beispiel für j 1 = 0 und j 2 = 2 Ermitteln von i 1 und i 2 Gültige Phrase: ha ordinato un # did you order a i2 i1 meal toddler a order you did bambini per piatto un ordinato ha j1 j2 J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 15 Vorbesprechung 2. Juni 2017
Beispiel Nächste Iteration: j 1 = 0 und j 2 = j 2 + 1 = 3 meal toddler a order you did bambini per piatto un ordinato ha j1 j2 J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 16 Vorbesprechung 2. Juni 2017
Beispiel Nächste Iteration: j 1 = 0 und j 2 = j 2 + 1 = 3 Ermitteln von i 1 und i 2 i2 i1 meal toddler a order you did bambini per piatto un ordinato ha j1 j2 J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 17 Vorbesprechung 2. Juni 2017
Beispiel Nächste Iteration: j 1 = 0 und j 2 = j 2 + 1 = 3 Ermitteln von i 1 und i 2 Ungültige Phrase: ha ordinato un piatto # did you order a toddler meal i2 i1 meal toddler a order you did bambini per piatto un ordinato ha j1 j2 J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 18 Vorbesprechung 2. Juni 2017
Präfixbaum Die Counts der Phrasen werden in Präfixbäumen abgespeichert 8 A B C D A D E 5 Die Phrase A-A wurde 5 mal gesehen J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 19 Vorbesprechung 2. Juni 2017
Präfixbaum von Präfixbäumen Die Counts der Phrasenpaare werden in Präfixbäumen von Präfixbäumen abgespeichert A B C D A D E X Y Z 3 X Das Phrasenpaar A-E # Y wurde 3 mal gesehen Erinnerung: Template-Mechanismus in C++! J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 20 Vorbesprechung 2. Juni 2017
4 Erweiterung des Decoders und der A*-Suche auf Phrasen B A A D F C E G G Wenn ihr alles richtig gemacht habt, ist das trivial :-) J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 21 Vorbesprechung 2. Juni 2017
Phrasenbasiertes Decoding: Expansion von Teilhypothesen Zwei Varianten: 1 2 3 4 1 2 3 4 (Illustration von Philipp Koehn) Besser: Variante 2 Warum? Hinweis: Pruning J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 22 Vorbesprechung 2. Juni 2017
5 Log-lineare Modellkombination Motivation: möglichst viele Wissensquellen hinzunehmen aber: nicht alle Modelle werden gleich zuverlässig sein Gewichtung der einzelnen Modelle durch Skalierungsfaktoren Mathematisch: êî 1 = arg max e I 1 = arg max e I 1 = arg max e I 1 { p(e I 1 f J 1 )} (1) ( M ) exp m=1 λ mh m (e I 1, f 1 J) ( M ) (2) exp m=1 λ mh m (ẽ I 1, f 1 J) { M m=1 ẽ I 1 λ m h m (e I 1, f J 1 ) } (3) für Skalierungsfaktoren λ m und Funktionen h m (e I 1, f 1 J ), m = 1,..., M. Algorithmen zur Optimierung der Skalierungsfaktoren: nächstes Blatt J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 23 Vorbesprechung 2. Juni 2017
Einfache Zusatzmodelle Anzahl der bei der Übersetzung benutzten Phrasen (Phrase Penalty) Anzahl der Wörter auf Ziel-Seite (Word Penalty) Count-Heuristiken (z.b. Phrasenvorkommen >1, >2, >5) Source-Target Ratio Unigramm Sprachmodell... J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 24 Vorbesprechung 2. Juni 2017
Source Language Text f J 1 Preprocessing 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 )} Language Models Phrase Models Word Models Reordering Models... ê I 1 Target Language Text J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 25 Vorbesprechung 2. Juni 2017
6 Übung 4 Extraktion einer Phrasen-Übersetzungstabelle mit relativen Häufigkeiten, Implementierung eines (einfachen) phrasenbasierten Übersetzers Präfixbaum zur Speicherung der Phrasentabelle phrasenbasiertes Decoding monoton von links nach rechts, keine Umordnungen in der Phrasenabfolge log-lineare Kombination mehrerer Einzelmodelle simples Unigramm-Sprachmodell Eingabe: unbekannte deutsche Sätze Ausgabe: Übersetzung ins Englische J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 26 Vorbesprechung 2. Juni 2017
Fragen? Viel Erfolg! J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 27 Vorbesprechung 2. Juni 2017
The Blackslide GoBack