Open Source Challenger übernimmt Google Translate

Forscher haben ein Open-Source-System für neuronale Netze zur Durchführung von Sprachübersetzungen veröffentlicht, das eine Alternative zu proprietären Black-Box-Übersetzungsdiensten darstellen könnte.

Open Source Neural Machine Translation (OpenNMT) vereint die Arbeit von Forschern in Harvard mit Beiträgen des langjährigen Entwicklers von Software für maschinelle Übersetzungssoftware Systran. Es läuft auf dem Torch Scientific Computing Framework, das auch von Facebook für seine Projekte zum maschinellen Lernen verwendet wird.

Im Idealfall könnte OpenNMT als offene Alternative zu Closed-Source-Projekten wie Google Translate dienen, das kürzlich grundlegend überarbeitet wurde, um die Qualität seiner Übersetzung zu verbessern.

Aber die Algorithmen sind nicht der schwierige Teil; Es werden gute Datenquellen zur Unterstützung des Übersetzungsprozesses bereitgestellt. Hier haben Google und die anderen Cloud-Giganten, die maschinelle Übersetzung als Service anbieten, die Nase vorn.

In Zungen sprechen

OpenNMT, das die Lua-Sprache für die Schnittstelle mit Torch verwendet, funktioniert wie andere Produkte seiner Klasse. Der Benutzer bereitet einen Datenbestand vor, der die beiden zu übersetzenden Sprachpaare darstellt - normalerweise der gleiche Text in beiden Sprachen, wie er von einem menschlichen Übersetzer übersetzt wurde. Nach dem Training von OpenNMT für diese Daten kann der Benutzer das resultierende Modell bereitstellen und zum Übersetzen von Texten verwenden.

Torch kann die GPU-Beschleunigung nutzen, was bedeutet, dass der Trainingsprozess für OpenNMT-Modelle auf jedem mit GPU ausgestatteten System erheblich beschleunigt werden kann. Der Trainingsprozess kann jedoch lange dauern - „manchmal viele Wochen“. Der Schulungsprozess kann jedoch bei Bedarf erstellt und bei Bedarf fortgesetzt werden. Wenn Sie das trainierte Modell auf einer CPU anstelle einer GPU verwenden möchten, müssen Sie das Modell so konvertieren, dass es im CPU-Modus funktioniert. OpenNMT bietet ein Tool, um genau das zu tun.

Eine von Systran bereitgestellte Live-Demo behauptet, OpenNMT in Verbindung mit Systrans eigener Arbeit zu verwenden. Für gängige Sprachpaare wie Englisch / Französisch sind die Übersetzungen ziemlich genau. Für Paare, bei denen wahrscheinlich weniger Texte verfügbar sind oder bei denen die Sprachpaare nicht so genau aufeinander abgestimmt sind (z. B. Englisch / Japanisch), sind die Übersetzungen etwas gestelzt und ungenau. In einem japanischen Beispielsatz verwechselte die Systran-Demo das japanische Wort „Möwen“ mit „hängenden Schriftrollen“. Google Translate hat es korrekt übersetzt.

Wörter, Wörter, Wörter

Das wichtigste Element, das OpenNMT noch nicht liefert, sind vorab trainierte Sprachmodelldaten. Ein Link zu Beispielmodellen auf der GitHub-Site für das Projekt führt derzeit zu einem Fehler. Voraussichtlich mit der Zeit werden hier Beispieldaten enthalten sein, mit denen das System bewertet oder ein Gefühl für die Funktionsweise des Schulungs- und Bereitstellungsprozesses vermittelt werden kann. Es werden jedoch wahrscheinlich keine Daten enthalten sein, die in einer Produktionsumgebung verwendet werden können.

Dies schränkt die Nützlichkeit von OpenNMT ein, da die Modelldaten für die maschinelle Übersetzung mindestens genauso wichtig sind wie die Algorithmen selbst. Das Übersetzen zwischen Sprachpaaren erfordert parallele Korpora oder Texte in beiden Sprachen, die Satz für Satz oder Satz für Satz eng aufeinander abgestimmt sind und trainiert werden können, um Modelle in Produkten wie OpenNMT zu erhalten.

Viele Korpora sind frei verfügbar, müssen jedoch von Hand zusammengeschustert werden, um für den durchschnittlichen Entwickler nützlich zu sein. Anbieter wie Google und IBM mit ihrem Sprachübersetzersystem auf Watson haben den Vorteil, dass sie mit ihren anderen Diensten problemlos Korpora erstellen können. Google kann über seine Suchmaschine automatisch große Mengen ständig aktualisierter Sprachdaten sammeln.

OpenNMT ist jedoch sicherlich nützlich für diejenigen, die neue Funktionen auf dem Modellierungs- und Schulungscode von OpenNMT aufbauen und nicht auf einen Algorithmus hinter der API wie Google angewiesen sein möchten, um dies zu tun.