AutoML Translation – so einfach wie noch nie

9. Aug 2018

Wir alle kennen und – zumeist – schätzen Google Translate. Es gibt uns sofortigen unkomplizierten Zugriff auf Inhalte in jeder beliebigen Sprache dieser Welt. Und jetzt wird es noch besser: danke AutoML Translation. Dieser Beitrag gibt einen ersten Einblick in dieses neue und aufregende Werkzeug.

Das Standard-Übersetzungsinterface von Google

Mit einem Körnchen Salz und realistischen Erwartungen genossen, ist Googles Standard-Übersetzungslösung ein äusserst wertvolles Werkzeug für Unternehmen rund um den Globus. Viele Personen und Firmen verlassen sich auf maschinelle Übersetzung, um schnell den Inhalt zu erfassen von Berichten, Emails, Anfragen, Ausschreibungen, Verordnungen und vielem mehr in Dutzenden von Sprachen. Doch obwohl die Ergebnisse im allgemeinen für einen weiten Bereich an Themen und Texten sehr gut sind, gibt es immer wieder Themenbereiche, wo es um sehr spezifische Fachausdrücke geht oder wo Firmen ihre eigenen Begrifflichkeiten und Taxonomien in die maschinelle Übersetzung integriert sehen möchten.

Mit AutoML TranslationBeta bietet Google diesen Kunden neu die Gelegenheit, ihre ganz eigene, auf sie zugeschnitten Übersetzungslösung zu bauen.

Wie AutoML Translation funktioniert

Googles AutoML für die Übersetzung basiert – wie auch die anderen AutoML-Modelle für Bild- und Textanalyse – auf dem Konzept des Transfer Learning. Vereinfacht gesagt geht es dabei um das „Rezyklieren“ von Machine-Learning-Modellen. In diesem Fall ist es das NMT-Modell (Neural Network for Machine Translation) von Google, das wiederverwendet wird. Dieses Modell ist über Wochen und mit Milliarden von Sätzen in 10’000 Sprachpaaren trainiert worden, und es bildet nun die Basis für AutoML Translation.

Die Abbildung zeigt eine schematische und stark vereinfachte Version des von Google entwickelten Modells. Jeder Pfeil steht dabei für einen individuellen Gewichtungsfaktor (eine Dezimalzahl), der in einem langen Trainingsprozess feinjustiert worden ist. Bei diesem Vorgang werden Millionen von Satzpaaren in der Ausgangs- und Zielsprache wiederholt dem System vorgehalten. Bei jedem Schritt nimmt das System den Ausgangssatz, wandelt ihn in eine numerische Darstellung um, wendet all die Gewichte in unzähligen Multiplikationen an und verwandelt dann ganz am Ende die resultierenden Zahlen zurück in Buchstaben und einen Satz. Wenn nun dieser berechnete Satz genau dem „richtigen“ Satz (d.h. im Vornherein bekannten Zielsatz) entspricht – „Bingo!“

Wenn aber, was viel wahrscheinlicher ist, der berechnete Satz nicht dem erwarteten entspricht, so macht das Netzwerk winzig kleine Anpassungen, welche die Wahrscheinlichkeit erhöhen, dass beim nächsten Mal, wo dieser Ausgangssatz angetroffen wird, das gewünschte Resultat herauskommt. Und so erreicht das System nach unzähligen Iterationen eine Art Equilibrium, wo für (fast) alle Ausgangssätze der erwartete Zielsatz herausgespuckt wird.

AutoML geht nun wie folgt vor: Es startet mit dem von Google vollständig trainierten Basismodell (mit all den fein austarierten Gewichten) und führt nun den Trainingsprozess einfach weiter fort mit neuen, zusätzlichen Satzpaaren, die wir aus unserer eigenen Domäne dem System mitgegeben haben. Das Modell wird so geringfügig geändert, es „vergisst“ in bestimmten Bereichen einige der früheren Übersetzungen und lernt dafür die neuen, die wir ihm vorgegeben haben. Damit solche „Weiterbildung“ keine negativen Nebeneffekte auf die „neutralen“ Teil des Systems hat, müssen die Anpassungen mit grosser Vorsicht und in ganz kleinen Schrittchen vorgenommen werden.

Die guten Neuigkeiten

Wem diese ganze Erklärung zu technisch, mathematisch, kompliziert, oder auch oberflächlich war, oder aus sonst einem Grund nicht gefiel, braucht nicht zu verzagen: All dies kann für eine erfolgreiche Anwendung komplett ignoriert werden. Die Benutzeroberfläche von AutoML könnte nicht leichter zu bedienen sein. Alles, was benötigt wird, ist eine Textdatei mit Tabulator-getrennten Satzpaaren, die das System lernen soll (TMX-Dateien funktionieren ebenfalls). Eine eigene individualisierte Übersetzungsmachine lässt sich nun mit wenigen Klicks aufsetzen:

  1. Man gehe zur AutoML-Translation-Webseite (https://beta-dot-custom-vision.appspot.com/).
  2. Man kreiere ein neues Datenset, indem man einen Namen definiert sowie die Ausgangs- und Zielsprache.
  3. Man lade eine oder mehrere Tabulator-separierte Dateien mit Beispielübersetzungen hoch, die das System lernen soll.
  4. Man klicke „Train“, und schon beginnt der Trainingsprozess.

Das ist alles – der mühsamste Teil ist das Warten auf die Ergebnisse…

Das Trainieren eines angepassten Modells dauert auch mit einer Minimalmenge an neuen Sätzen von etwa 30 Stück gut eineinhalb Stunden. Mit grösseren Datensätzen dauert es typischerweise drei Stunden. Denn wie gesagt: die Anpassungen des Systems haben äusserst sachte zu erfolgen, sonst vergisst es schnell zu viel!

Das neue Modell testen

Nach Abschluss des Trainingsprozess wird eine Email geschickt, und das Modell ist nun bereit zur Anwendung und zum Testen. Das könnte nicht leichter sein: Auf dem „Predict“-Tab der Anwendung gibt man einen Satz ein und erhält als Ergebnis sowohl das Resultat des neutrainierten Modells wie, zum Vergleich, des GNMT-Basismodells.

Das Modell im Screenshot ist mit 137 zusätzlichen Sätzen trainiert worden, um die Übersetzungen von Schachbegriffen zu verbessern. Und obwohl der Ratschlag im Beispiel nicht unbedingt tiefster Schachweisheit entspricht, so ist doch die neue Übersetzung unverkennbar genauer als diejenige des Basismodells (welche, aus welchen Gründen auch immer, eine Weisheit aus dem Bereich der Zoologie zu generieren scheint – die erst noch absurder ist als der ursprüngliche Ratschlag!).

Unsere ersten Experimente haben gezeigt, dass man schon mit ganz wenigen Beispielsätzen neue Terminologie dem System zuverlässig beibringen kann. Idealerweise hat man mehrere Sätze mit unterschiedlichen grammatikalischen Funktionen für jedes neue Wort.

Und wie immer bei Machine Learning gilt auch hier: je höher die Qualität der Daten, desto besser die Ergebnisse.

Integration und Kosten

Die Integration in andere Systeme ist mit AutoML ebenso leicht wie mit dem normalen Translate API von Google.

Die Kosten für das Training eines neuen Modells betragen gegenwärtig $76 pro Stunde, das heisst, etwa $150 bis $225 für ein neues Modell. Es lohnt sich also, die Anzahl Experimente nicht explodieren zu lassen und stattdessen mehr Aufwand in das sorgfältige Planen und Vorbereiten von Datensets zu stecken.

Einmal trainiert, verursacht das Modell keinerlei fixe Kosten. Bezahlt wird stattdessen ausschliesslich die Benutzung des Modells. Der Preis ist deutlich höher als beim Standardmodell, mit $80 pro 1,000,000 Zeichen aber immer noch sehr vernünftig.

Zusammenfassung

AutoML Translate, momentan in Beta, ist kinderleicht anzuwenden. Das Angebot birgt grosses Potenzial um die Qualität der „Gebrauchsübersetzungen“ im spezifischen (Fach-)Alltag erheblich zu verbessern und es wird zweifellos bei den Kunden sofort auf grosses Echo stossen.

Noch gilt es, Best Practices zu entwickeln für das Bereitstellen der Daten, aber eines ist gewiss: Machine Learning für die Sprachübersetzung war noch nie so einfach wie heute.

Wollen Sie herausfinden, wie Sie diese faszinierende neue Technologie auch in Ihren Prozessen aktiv nutzen können, so zögern Sie nicht uns zu kontaktieren!