Wiedersehen in der Language Lounge...
Hey, apoAI! Wie läuft‘s bei dir?
Hallo, Ishmael! Danke, ich kann nicht klagen. Und bei dir?
Bestens! Hast du inzwischen Moby Dick gelesen?
Ehrlich gesagt, bin ich noch nicht dazu gekommen. Ich stehe vor einem Meer von Arbeit.
Gut, dass ich dich treffe. Darf ich dir wieder ein paar Fragen stellen?
Schiess los!
Ich arbeite ja jetzt schon eine Weile mit Post-Editing von maschinellen Übersetzungen (MTPE) und habe manchmal das Gefühl, dass ich fast in eine Art Trance verfalle und der kritische Blick verloren geht. Ich habe auch etwas Angst, dass ich das Übersetzen ohne maschinelle Übersetzung mit der Zeit verlerne und von der Maschine abhängig werde.
Hmmm. Eigentlich bin ich natürlich genau die falsche Adresse für diese Frage.
Warum?
Ich habe null Erfahrung mit Post-Editing! Ich könnte das auch gar nicht.
Ach ja, logisch.
Aber du wirst es nicht glauben: Ich kann dir deine Frage trotzdem beantworten.
Wie kann das sein? Versteckst du hinter den Kulissen einen kleinen Post-Editor?
Das nicht, aber ich habe in einer Pause mal ein Buch darüber gelesen.
Aber klar doch, du Schlitzohr! Also los, raus damit: Wie verhindere ich, dass ich beim Post-Editing «verblöde»?
Da gibt‘s ein paar Tipps dazu:
- Lies zuerst den ganzen Text einmal durch. Das zeigt dir schon mal, worum es geht, und du kannst beim Post-Editing den Text als Ganzes im Hinterkopf behalten – etwas, das ich nicht kann!
- Mach regelmässige, kurze Pausen: Für Menschen ist das erholsamer als wenige, lange. (Ich glaube, das hat irgendwas mit Tomaten zu tun, aber so ganz verstehe ich es nicht.)
- Lies am Schluss den ganzen Text noch einmal durch – idealerweise am nächsten Tag.
- Es wird dir auch helfen, wenn du zwischen verschiedenen Arten von Arbeit – Post-Editing, Übersetzung, Lektorat / Korrektorat etc. – abwechseln kannst.
Vielen Dank, apoAI! Das ist sehr hilfreich – besonders der Tomaten-Hinweis.
Darf ich dich auch etwas fragen? Ich bin neugierig, welche Fehler du in meinen maschinellen Übersetzungen am meisten korrigieren musst.
Da gibt es eine ganze Menge: Manchmal fehlen Wörter oder du hast inhaltlich etwas hinzugefügt. Es gibt Grammatikfehler, falsche Präpositionen oder fehlende Artikel, falsche Terminologie. Oder du übersetzt Wörter, die nicht übersetzt werden sollten, wie zum Beispiel Eigennamen. Und manchmal …
Danke, danke, du kannst aufhören! Mir brummt schon die Festplatte! Ich sehe schon, ich habe noch viel persönliches Entwicklungspotenzial.
… und manchmal übersetzt du denselben Ausgangsbegriff im Zieltext einmal so und einmal anders. Wie kommt das?
Moment, lass mich erst Luft holen … Voilà, jetzt geht es wieder. Also: Es ist so, dass es für mich sehr anstrengend – sprich: rechenintensiv – ist, mich an das zu erinnern, was ich bereits übersetzt habe.
Wie kann das sein? Du hast doch sicher genug Speicherplatz?
Sicher, für Datenbanken und Ähnliches. Wir sprechen aber von der Verarbeitung von Daten, die innerhalb des Übersetzungsprozesses generiert werden und die der Algorithmus beim Berechnen jedes neuen Worts einbeziehen muss. Das für ein ganzes Dokument zu tun, geht momentan noch über meine Kräfte. Nur schon die Fähigkeit, beim Übersetzen eines Worts auch die unmittelbar vorangehenden Wörter des gleichen Satzes zu berücksichtigen, war für die maschinelle Übersetzung ein grosser Fortschritt.
Das klingt spannend! Man müsste dir also zuerst ein Kurzzeitgedächtnis einbauen?
Kann man so sagen, ja.
Wie funktioniert sowas im Detail?
Wir sprechen hier vom Übergang von traditionellen zu rekurrenten (rückgekoppelten) neuronalen Netzen (Recurrent Neuronal Networks – RNN). In traditionellen neuronalen Netzen wird jeder Input einzeln zu einem Output verarbeitet. Bei sequenziellen Daten – zum Beispiel bei Sprache – ist es jedoch ein grosser Vorteil, wenn ich bei der Verarbeitung die Outputs vorangegangener Berechnungen einbeziehen kann. Durch den Einbau von Rückkoppelungen und speziellen Gedächtniseinheiten, sogenannten Hidden Layers, wird dies möglich: So erhalte ich einen Sinn für Zeit und Satzkontext.
Kannst du ein Beispiel geben?
Gern! Nehmen wir den Satz:
Nora isst schon frühmorgens Chips.
Hätte ich ein traditionelles neuronales Netz und müsste diesen Satz ins Englische übersetzen, würde ich mich fragen: Sind mit «Chips» hier jetzt Kartoffelchips oder Computerchips gemeint? Dank meinem rekurrenten neuronalen Netz kann ich aber auf den Satzkontext zurückgreifen und sehe, dass weiter vorn das Wort «isst» vorkommt. Aufgrund dieser Information erhöht sich natürlich die Wahrscheinlichkeit, dass ich «Chips» hier mit dem englischen crisps übersetzen muss.
Warum greifst du bei der Terminologie dennoch manchmal daneben?
Nobody’s perfect – das hast du mir ja gerade eben demonstriert! Hast du ein Beispiel?
Wenn du zum Beispiel «Geldautomat» verwendest statt «Bancomat». Oder «Fahrrad» statt «Velo».
Das hängt natürlich davon ab, mit welchen Trainingsdaten ich gefüttert wurde. Dass ich anstelle des Schweizer Begriffs den in Deutschland gebräuchlichen verwende, sollte eigentlich nicht vorkommen, da ich für die Schweiz trainiert bin – bei DeepL wird das sicher öfter vorkommen. Falls nötig, stellt man mir aber eine Terminologie-Datenbank zur Verfügung, die auf das jeweilige Fachgebiet oder die Kundin abgestimmt ist. Dann weiss ich, dass die Begriffe aus der Datenbank immer Vorrang haben.
Warum sind deine Übersetzungen manchmal unvollständig? Bist du gelegentlich etwas zerstreut?
Nein, das nicht gerade. Aber zugegeben: Manchmal lese ich bei der Arbeit nebenbei ein Buch. (Multitasking ist ja mein zweiter Vorname. Aber pssst!)
Es ist so, dass ich Sätze Wort für Wort aufbaue, und für jedes Wort gibt es immer mehrere mögliche Kandidaten. Diese sind alle mit einer bestimmten Wahrscheinlichkeit richtig. Ich wähle das Wort mit der grössten Wahrscheinlichkeit, gehe dann zum nächsten Wort und mache es wieder gleich. Irgendwann kommt der Moment, in dem die wahrscheinlichste Option die ist, dass der Satz endet. Dann höre ich auf und setze einen Punkt.
Aber du übersetzt doch Wort für Wort? Wie kannst du da Wörter auslassen?
Nicht so, wie du jetzt denkst. Wie gesagt: Ich baue den Satz Wort für Wort auf. Das bedeutet aber nicht, dass ich für jedes Wort im Ausgangssatz genau ein Wort im Zielsatz verwende. Man kann einen Text ja oft nicht auf diese Weise korrekt übersetzen. Da ich mit realen Übersetzungen trainiert habe, weiss ich, dass es relativ unwahrscheinlich ist, dass eine solche Wort-für-Wort-Übersetzung korrekt ist.
Ich bin verwirrt!
Schauen wir das mal etwas technischer an: Die Übersetzung eines Satzes ist immer ein Zusammenspiel zwischen meinem Encoder und meinem Decoder:
- Der Encoder produziert je eine Repräsentation (Zahlenvektor) pro Eingabewort im Satzkontext. (Du erinnerst dich: Wir haben letztes Mal von den Koordinaten im Bedeutungsraum gesprochen, die jedem Wort zugeordnet werden.)
- Der Decoder baut den Ausgabesatz dann schrittweise auf, Wort für Wort, von links nach rechts.
- Er kann dabei diejenigen Encoder-Ausgaben (Wörter in der Ausgangssprache) berücksichtigen, die er als hilfreich betrachtet.
- Es gibt keine Garantie, dass er beim Erreichen des Satzendes alle Encoder-Ausgaben berücksichtigt hat.
Kann dein Encoder denn nicht überprüfen, ob der Decoder beim Übersetzen inhaltlich alles berücksichtigt?
Nein, der macht nur seine Arbeit und übergibt dann an den Decoder. Die reden aber sonst nicht miteinander – weiss auch nicht, was da los ist. Vielleicht mögen sie sich nicht. Jedenfalls hat weder der eine noch der andere eine Ahnung vom Bedeutungsinhalt des Satzes. Für sie geht es immer nur um Zahlen und Wahrscheinlichkeiten. Absolute Sicherheit – eine Wahrscheinlichkeit von 1 – kommt quasi nie vor. In der Praxis kann ich also nur selten ganz sicher sein, dass meine Übersetzung die richtige ist. Das musst du dann im Post-Editing beurteilen.
Kein Problem, das übernehme ich gern. Jetzt brummt mir tatsächlich der Kopf! Diese Zahlen muss ich jetzt erst verarbeiten. Aber vielen Dank, apoAI – man sieht sich!
Immer gern!