Wie kann maschinelle Übersetzung in den Erstellprozess von Displaytexten integriert werden? Das soll am Beispiel eines Use Case in diesem Vortrag veranschaulicht werden. Ziel unseres Projektes war die Entwicklung eines Editor-Protoypen, mit dem Displaytexte in alle erforderlichen Sprachen übersetzt werden können. Es wird gezeigt, wie Daten zusammengestellt, vorverarbeitet und bereinigt werden und wie sie für das Training von MÜ Engines verwendet werden. Außerdem werden Methoden aufgezeigt, mit denen maschineller Übersetzungsoutput evaluiert und optimiert werden kann.
2. • Wir kennen uns in der Content-Branche aus
• Wir arbeiten unabhängig von Softwareanbietern und Agenturen
• Wir automatisieren und strukturieren Ihre Daten
3. 3Folie Nr.
Welche Daten sich für die maschinelle Übersetzung eignen
Wie ein Editor-Prototyp für den Display-Erstellprozess aussehen
kann
Was man davon hat
Was werde ich heute erfahren?
Was mit diesen Daten unternommen werden muss
6. 6Folie Nr.
Das Problem
Texte ändern sich bis zu 30 mal
Jedes Mal von neuem an Übersetzer
Und das bei 40 Sprachen
Mann, ist das teuer
Und das dauert!
7. 7Folie Nr.
Vorteile maschineller Übersetzung
mehr Sprachen
als ein Mensch
Texte stehen
sofort zur Verfügung
große Mengen an Daten
in kurzer Zeit
8. 8Folie Nr.
Anforderungen an das Pilot-Projekt
Lokalisierte Display-Prototypen und –Simulationen für
die Entwicklung in Echtzeit
Einhaltung rechtlicher Rahmenbedingungen bei MÜ
Unnötige Übersetzungsloops vermeiden und
Übersetzungskosten senken
Finale Version für die Veröffentlichung wird durch
Humanübersetzer erstellt
22. 22Folie Nr.
Beispiel: Ausgangstext
Die Testphase für Ihre MARKENNAME Dienstenläuft zeitnah ab…
Beispiel: Nach Pre-Processing / Anonymisierung
Die Testphase für Ihre [2] Dienste läuft zeitnah ab…
Beispiel: Nach maschineller Übersetzung
The trial period for your [2] services ends soon..
Beispiel: Nach Einsetzen der Ursprungsbenennungen
The trial period for your MARKENNAME services ends soon…
Anonymisierung der Daten
32. 32Folie Nr.
Schnellere
Bereitstellung von
Displaytexten für
Software-Tests
Zwei implementierte
Workflows:
1) MÜ-Workflow
2) Qualitätsworkflow
Effizienz gesteigert,
Kosten gespart
glücklicher Henry
Resultate
Anonymisierung oder
Ausschluss geheimer
Daten
MÜ-Segmente werden
eindeutig
gekennzeichnet
34. 34Folie Nr.
keine redundanten, kostspieligen und zeitintensiven
Humanübersetzungen von ‚Entwicklungsloops‘
MÜ steht ad hoc für Testing in der Entwicklung bereit
Fazit
Entzerrung des gesamten Übersetzungsprozesses
Wir sind ein Beratungsbüro in Düsseldorf und helfen Unternehmen bei der Optimierung ihrer Sprachprozesse.
Wir stellen selber keine Übersetzungen her und auch keine Software.
Wir haben ein umfangreiches Wissen und beraten Kunden z. B. bei der Einführung von Übersetzungsworkflows, Terminologieverwaltung, integration maschineller Übersetzung etc.
Ich arbeite bei blc, einem Beratungsbüro in Düsseldorf.
Wir machen selber keine Übersetzungen und verkaufen auch keine Software
…sondern wir helfen unseren Kunden dabei, optimale Sprachprozesse zu erreichen.
Dafür stehen wir bei der Systemauswahl zur Seite und sind dabei komplett unabhängig von Softwareanbietern.
Was werde ich heute erfahren?
Wir werden sehen, wie ein Editor-Prototyp … aussehen kann.
Dafür werde ich einen Ausschnitt aus einem echten Kundenprojekt zeigen. Es war ein Riesenprojekt, deshalb muss ich mich hier auf einen kleinen Teil beschränken.
Wenn Sie mehr wissen möchten, können Sie mich gerne hinterher ansprechen, oder uns per Mail kontaktieren.
Wir werden erfahren, welche Daten sich für das Training einer maschinellen Übersetzungsengine eignen.
Wir werden sehen, was mit den Daten geschehen muss
Und was das ganze am Ende bringt.
Bevor wir jedoch in unseren Beispiel-Fall einsteigen, möchte ich klären, was sich hinter dem Akronym „HMI“ verbirgt. Weiß es jemand?
wo überall Displays vorkommen. Vor allem im Bereich HMI (Human Machine Interface).
Auch genannt: Benutzerschnittstelle, Mensch-Maschine-Schnittstelle.
HMIs bilden, wie der Name schon vermuten lässt, eine Schnittstelle zwischen Mensch und Maschine.
Über ein Display wird die Bedienung der Maschine visuell unterstützt.
Das waren ein paar Beispiele. Jetzt kommen wir zu einem Beispiel fall..
Das ist Henry.
Henry arbeitet als Projektmanager bei einem Automobilkonzern. Dieser Konzern verkauft seine Fahrzeuge in viele Länder dieser Erde. Und deshalb muss auch das Display, das im Armaturenbrett verbaut ist, auf dementsprechend vielen Sprachen verfügbar sein.
In seiner Abteilung ist Henry u. a. verantwortlich für die Erstellung und die Übersetzung von Displaytexten.
Dafür muss er eng mit den Programmieren der HMIs zusammenarbeiten.
Die ändern während der Entwicklungsphase ständig die Text und benötigen diese auch in anderen Sprachen, um zu sehen, ob die Texte in die Schaltflächen passen etc….denn Sprachen haben ja oft unterschiedliche Längen.
- Henry ist unglücklich. Es stört ihn schon länger, dass die Texte, die noch gar nicht die finale Version sind, jedes Mal von neuem an Übersetzer gegeben werden, obwohl sie sich noch bis zu 30 mal ändern.
- Henry mag diese Schleifen nicht, außerdem ist das auch teuer bei 40 Sprachen
Das kostet alles Geld und ist sehr aufwändig.
(vor allem in Entwicklungsphasen und Simulation in der Softwareentwicklung)
Verfügbarkeit lokalisierter Prototypen und Simulationen für die Entwicklung in Echtzeit
Absichern rechtlicher Rahmenbedingungen bezüglich der Einbindung maschineller Übersetzung im neuen Prozess
Reduzieren nicht erforderlicher Übersetzungsloops und Senken der Übersetzungskosten
Finale Version durch Humanübersetzer
MÜ! Wäre das nicht was für seine Prozesse?
Aber wie kann man die maschinelle Übersetzung für die Displaytext-Erstellung einsetzen?
Dafür ruft er blc an
Und zusammen arbeiten sie einen Plan aus.
Video liegt hier: F:\Kunden\Audi\HMI-Displaytexte_MÜ\Machbarkeit_MÜ-Pilot
Prototyp
Öffen und dann erst erzählen:
webbasierte Demonstrationsanwendung
Veranschaulicht den Prozess des Datenabgleichs mit 1) einer Datenbank und 2) dem Translation Memory.
Wird bei diesem Abgleich keine Übersetzung für den Ausgangssatz gefunden, erfolgt eine Anforderung der maschinellen Übersetzung.
Der Prototyp wurde exemplarisch anhand von 11 Sprachen erstellt
Man kann einen beliebigen Satz in der Ausgangssprache Deutsch eingeben.
TMs lagen nur für Englisch und Französisch vor, daher
Wird die eingegebene Zeichenkette im Mustertextkatalog oder im Translation Memory gefunden, wird die Übersetzung in der jeweiligen Zelle der Ergebnistabelle angezeigt.
War der Abgleich nicht erfolgreich, wird die Eingabe über die Microsoft Translator API an alle Engines geschickt, welche mit den Daten der im Prototyp angezeigten Sprachpaare trainiert wurden.
Nach der Verarbeitung durch die Engines werden die Ergebnisse in den entsprechenden Zellen der Ergebnistabelle angezeigt.
Jetzt arbeiten wir nach und nach die einzelnen Workflow-Schritte ab.
Daten für die Bestückung der Datenbanken, aus denen die Übersetzungen ggf. kommen können
Daten für das Training der MÜ, die angesprochen wird falls in den Datenbanken nicht die angefragte Übersetzung gefunden wurde.
Dieses Schaubild wird sich jetzt im Laufe des Vortrags nach und nach aufbauen.
Zuerst müssen wir Daten beschaffen. -> nächste Folie!
Alles, was du da hast, Henry!
Daten, die sich für das Training einer MÜ eignen sind z. B.
- eine bereits vorhandene Terminologiedatenbank
Ein Translation Memory
Einsprachige, also monolinguale Texte
Nach der Beschaffung wurden die Daten in ein Format umgewandelt, in dem sie sich gut bearbeiten lassen. Z. B. wird aus einer tbx eine Excel-Datei.
Deshalb folgt der nächste Schritt: die Vorverarbeitung und Bereinigung der Daten, auch Pre-Processing genannt.
Dass die Dateien so unordentlich aussehen liegt daran, dass z. B. auch Metadaten wie das Erstelldatum, Quelle, Eigenschaften, Ids.…. enthalten sind. Für das Training der Engines und den Inhalt der Datenbanken sind sie nicht relevant.
Nicht nur die Menge der Daten wird reduziert, auch der Inhalt wird bereinigt:
Bereinigung der Daten
Zu den problematischen Inhalten und Formatierungen, die bei der Verarbeitung durch das MÜ-System stören:
a) Die Verwendung von Zeilenumbruchszeichen (‚\n‘) im Fließtext
b) Das Vorkommen von Bindestrichen in Komposita (auch in Verbindung mit dem Zeilenumbruch)
Außerdem: Reduzierung mehrfacher Leerzeichen auf ein einzelnes Leerzeichen
In den Bestandsdaten gab es Sätze in der Ausgangssprache, für die keine Übersetzung in einer anderen Sprache vorliegen ->entfernen
Auch Terminologie bereinigt bzw. in ein Format gebracht, das von MS Translator verarbeitet werden kann.
Tbx ->xls
Terminologie wurde in zweispaltigen Exceltabellen benötigt.
DE-EN
DE-ES
DE-IT usw.
Wichtig: Iso Norm für
.
Henry hat Angst, dass vertrauliche Informationen, der Markenname oder Formulierungen, die auf die Marke hindeuten könnten, in die Cloud gelangen. Was macht man dagegen? Anonymisierung! Hier ein Beispiel…
Klassifizierung von geheimen inhalten die auf Dinge schließen lassen.
Ja, auch daran haben wir gedacht.
Nach der der Bereinigung der Daten, Anonymisierung!
Henry hat Angst, dass geheime Informationen aus der Cloud gestohlen werden können. Was macht man dagegen? Anonymisierung! Hier ein Beispiel…
Platzhalter, wie hier durch die [2] dargestellt.
Die Daten wurden für das MÜ Training genutzt UND für die Datenbankeinträge mit denen zuerst abgeglichen wird.
Die Anonymisierung sowie das Einsetzen des Markennamens kann automatisiert werden.
Nun wissen wir, woher die Daten stammen können, was mit ihnen passiert, bevor sie für die Aufnahme in die Datenbank und für das MÜ-Training verwendet werden können.
Es folgt das Training der maschinellen Übersetzungsengines
Training heißt, dass wir innerhalb eines Übersetzungssystems mehrere Engines trainieren.
In unserem Beispiel ist es der Microsoft Translator Hub. Der MS Translator hub …….->
cloud-basiertes maschinelles Übersetzungssystem
Wir haben es für unser Projekt gewählt weil einfach zu bedienen und günstig. Gute Mechanismen, Ziele erreicht, aber es gibt natürlich noch viele weitere Systeme, die man hätte nehmen können wie z. B. KantanMT, Systran oder Tilde.
Anmeldung über ein Microsoft-Konto
API -> kostenpflichtiges MS Azure Abonnement
Man kann entweder die generische Übersetzung des MS Translators nutzen oder Systeme, die mit den eignen individuellen Nutzerdaten trainiert wurden
mehrere engines für jedes Sprachpaar um zu testen, mit welchen Trainingsdaten die besten Resultate erlangt werden.
Paralleltexte, also eigene Sprachdaten aus den Extraktionen
Eigene Terminologie
MS Models (zusätzliche Sprachdaten von Microsoft) – können helfen, den maschinellen Output flüssiger zu gestalten.
Qualität wichtig und Menge auch. Qualität jedoch über Quantität!
BLEU- nächste Folie!
Evaluation und Auswahl der Engines
So könnte die Auswahl an Sprachen aussehen
BLEU! Bilingual Evaluation Understudy
Qualitätsmetrik für die SMÜ
BLEU-Werte werden vom System mitgeliefert und werden anhand von Testsets aus den Trainingsdaten ermittelt
Berechnung: maschinell übersetzte Sätze mit einem Referenzsatz abgeglichen.
Lexikalischer Abgleich, Anteil des zielsprachlichen Materials in der Übersetzung. Wortebene.
Je ähnlicher die beiden sich sind, desto höher ist der BLEU-Score.
Bleu-Score kann helfen, die beste Engine zu wählen, die dann in Betrieb genommen wird.
Zweck der Evaluation der Engines:
Welches Trainingsmaterial hat welchen Einfluss auf die Qualität der Engines?
Welche ist die bestmögliche Engine für ein Sprachpaar?
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
getestete Trainingsfaktoren:
Dubletten in den Texten
Hinzunahme von MS Models
Hinzunahme von Terminologie
Wie eben erwähnt wurden pro sprachpaar 3 Engines mit unterschiedlichem Trainingsmaterial erstellt.
Die Ergebnisse dieser Trainings lassen folgende Generalisierungen zu:
Dubletten in den Trainingstexten keinen Einfluss auf die Qualität der Übersetzung
Hinzunahme der MS Models führt nicht zu einer Verbesserung der Ergebnisse. Tatsächlich führen die zusätzlichen Daten tendenziell zu einer Verschlechterung der Übersetzungsqualität
Die Hinzunahme der Terminologie führt ebenfalls nicht zu einer Verbesserung der Ergebnisse
Erklärung der Resultate
Das Vorhandensein von Dubletten in den Trainingstexten
Theoretisch sollte dadurch eine höhere Wahrscheinlichkeit im statistischen Modell für die jeweiligen Sätze.
Diese Wahrscheinlichkeiten spielen jedoch nur eine Rolle, wenn es für identische Phrasen unterschiedliche Übersetzungen gibt.
Das interne Pre-Processing des MS Translators berücksichtigt diese Verhältnisse, indem allzu viele Vorkommen von identischen Sätzen unter Beibehaltung der Wahrscheinlichkeitsverteilung aussortiert werden.
Da die MS Models Trainingsdaten aus verschiedensten Themenbereichen enthalten, führen die Daten tendenziell zu Verbesserungen, wenn allgemeinsprachliche Texte übersetzt werden sollen.
Mit dem spezifischen Anwendungsbereich der Displaytexte bestehen nur wenige Schnittmengen, sodass die Daten hier nicht zu Verbesserungen führen. Im Falle der Verschlechterungen von Engines mit Daten aus den MS Models können die vorhandenen Überschneidungen dazu geführt haben, dass Übersetzungen aus den Models bevorzugt wurden, für die es in den Trainingsdaten abweichende (und in dieser Domäne) korrekte Übersetzungen gibt. Eine detaillierte Analyse des Einflusses der MS Models ist nur anhand einer Datensichtung der Modelle möglich. Auf diese hat der Nutzer des MS Translator HUBs jedoch keinen Zugriff.
Die eingespielte eigene Terminologie weist nur wenig Überschneidung mit den Displaytexten auf. Von insgesamt 1331 Benennungen in der Termbank werden lediglich 219 in den Displaytexten verwendet. Da sich auf Basis der Termübersetzungen in der Termbank keine Verbesserung der Qualität ergibt, kann davon ausgegangen werden, dass die vorhandenen Übersetzungen der betreffenden Terme in den Displaytexten korrekt sind.
Wir haben Daten zusammengetragen
Wir haben die Daten bereinigt und anonymisiert
Wir haben unsere Engines trainiert, ausgewertet und uns für die entschieden, die einen BLEU-Score über 20% haben.
Jetzt können die Engines über die API an unseren Editor angebunden werden.
Anbindung maschineller Übersetzung im Übersetzungsworkflow
Jedes MÜ System lässt sich heutzutage über eine API an den Übersetzungsworkflow anbinden.
Um die trainierten Engines im MS Translator HUB über externe Anwendungen nutzbar zu machen, stellt Microsoft eine Programmierschnittstelle (API) bereit.
------------------------------------------------------------------------------------------------------------------------------------------------------------------
API = Programmierschnittstelle
Python = Programmiersprache
JavaScript = Skriptsprache war auch involviert
Der API-Aufruf kann (per REST) über verschiedene Programmiersprachen erfolgen und wurde für den vorliegenden Anwendungsfall über ein Python-Skript realisiert.
Der Editor-Prototyp wurde zur Demonstration des MÜ-Übersetzungsworkflows im Rahmen des Projekts erstellt. Er implementiert die grundlegenden Funktionalitäten des Datenabgleichs und der API-Anfrage.
Was hat das gebracht?
Erinnern wir uns noch einmal an die Problemstellung und die Anforderungen:
Henry benötigte auf schnelle Weise Texte für die Display-Prototypen und Software-Tests – geklappt
Für die finale Version sollten Humanübersetzer zum Einsatz kommen, daher zwei WFs: ein MÜ-Workflow, der nur für die Entwicklungsphase verwendet wird und ein Qualitäts-Workflow, bei dem eine qualitativ hochwertige Humanübersetzung für den finalen Displaytext bereitgestellt wird
- So konnten überflüssige Humanübersetzungen vermieden werden und Kosten eingedämmt werden.
- Geheime Texte werden für MÜ ausgeschlossen oder anonymisiert
MÜ-Segmente werden eindeutig über Status und Ausgabezeichen ausgekennzeichnet
Kurzfristige versus langfristige Ziele
Für die gesetzten kurzfristigen Ziele wird keine menschliche Übersetzungsqualität von der MÜ-Engine erwartet.
Langfristig betrachtet können die Qualitätsansprüche jedoch steigern.
Deswegen:
Wichtig: bereits zu Beginn eine flexible Systemlandschaft einführen, die später andere MÜ-Systeme oder Qualitätsprozesse wie Pre-Editing und Post-Editing zulässt
Laufende Engine-Optimierung durch erneutes Training z. B. mit Terminologie (Bsp: unübersetzte Wörter identifizieren und der Engine „beibringen“)
Cloud-Lösungen vs. Datensicherheit
Datensicherheit im MÜ-Kontext = Risikofaktor.
Cloudlösung eignet sich um Kosten zu reduzieren und den gewünschten Gewinn zu erzielen, muss eine Cloud-Lösung in Erwägung gezogen werden.
Wenn jedoch die Alarmglocken beim Stichwort „Cloud“ läuten und die Datensicherheit infrage gestellt wird kann man dem entgegen wirken indem eine klare Auszeichnung geheimer Texte möglich sein, die davor schützt, sensible Daten in die Cloud zu geben. Zudem werden die Daten automatisch anonymisiert.
MÜ eindeutig auskennzeichnen und von Publikation ausschließen
- Vor allem wenn die MÜ-Qualität – wie hier – keine übergeordnete Rolle spielt, darf die MÜ-Rohübersetzung keinesfalls in die finale Software gelangen.
- Deshalb soll ein komplexes Statuskonzept dafür sorgen, dass die Strings, die maschinell übersetzt wurden, eindeutig erkennbar sind.
- Zum Schluss wird eine automatische Statuserkennung prüfen, ob MÜ-Strings in den zur Publikation gegebenen Texten enthalten sind.
Falls Mü-Strings gefunden werden, gehen diese zurück in die Humanübersetzungsschleife.
Zusammenfassend kann man also sagen, dass..
Wie gesagt, es war ein umfangreiches Projekt