In der digitalen Welt ist die Bereitstellung von Informationen in einer Landessprache nichts Neues, aber es kann eine mühsame und teure Aufgabe sein. Fortschritte beim maschinellen Lernen (ML) und der Verarbeitung natürlicher Sprache (NLP) haben diese Aufgabe viel einfacher und kostengünstiger gemacht.
Wir haben eine zunehmende Akzeptanz von ML für mehrsprachige Daten- und Dokumentenverarbeitungs-Workloads festgestellt. Unternehmens- und Regierungskunden migrieren ihre manuellen Übersetzungsworkloads, um die Vorteile automatisierter ML-Übersetzungsdienste zu nutzen. Amazon Translate ist ein neuronale maschinelle Übersetzung Service, der schnelle, qualitativ hochwertige und erschwingliche Sprachübersetzungen zwischen mehreren tausend Sprachpaaren liefert, die für synchrone (Echtzeit) oder asynchrone Übersetzungsaufgaben verwendet werden können. Eine vollständige Liste der verfügbaren Übersetzungspaare finden Sie unter Unterstützte Sprachen und Sprachcodes.
Kunden, die ihre Übersetzungsworkloads migrieren und modernisieren, benötigen die Möglichkeit, Übersetzungen für ihre Geschäftsdomäne anzupassen. Eine Übersetzungsarbeitslast kann auch die Fähigkeit erfordern, sich an Dialekte oder Verwendung regionaler Sprachen anzupassen. Zum Beispiel ist die spanische Übersetzung von „älterer Mensch“ anciano(a), aber in Puerto Rico wird das Wort envejeciente bevorzugt.
In diesem Beitrag zeigen wir, wie Sie die Active Custom Translation (ACT)-Funktion von Amazon Translate integrieren. Wir schlagen eine Lösung vor, um einen mehrsprachigen Dokumentenübersetzungs-Workflow mit domänen- und sprachspezifischen Anpassungen zu erstellen, die Sie nach Bedarf überprüfen und erweitern können, um die Ergebnisse kontinuierlich zu verbessern und die Endbenutzer zu begeistern.
Lösungsüberblick
ACT erzeugt kundenspezifisch übersetzte Ausgaben, ohne dass ein benutzerdefiniertes Übersetzungsmodell erstellt und verwaltet werden muss. Mit ACT verwendet Amazon Translate Ihre bevorzugten Übersetzungsbeispiele als parallele Daten, um Ihr Übersetzungsergebnis anzupassen, wodurch der Zeit- und Kostenaufwand für das Erstellen und Trainieren eines neuen maschinellen Lernmodells entfällt.
Die in diesem Beitrag behandelte Lösung erklärt, wie Sie einen Human-in-the-Loop-Workflow mit erstellen Amazon Augmented AI (Amazon A2I), um die angepasste Übersetzung kontinuierlich zu verbessern. Amazon A2I bietet eine einfache Möglichkeit, die menschliche Aufsicht in Ihre ML-Workflows zu integrieren, ohne dass ML-Erfahrung erforderlich ist. Amazon A2I macht es einfach, menschliches Urteilsvermögen und KI in jede ML-Anwendung zu integrieren, unabhängig davon, ob sie auf AWS oder einer anderen Plattform ausgeführt wird.
Weitere Informationen finden Sie unter Entwerfen von Workflows für die Überprüfung von Personen mit Amazon Translate und Amazon Augmented AI Post.
Das folgende Diagramm zeigt den Befehls- und Datenfluss der Lösung. Der Befehlsfluss zeigt die logische Abfolge von Ereignissen im Workflow. Ein Datenfluss gibt an, wie Daten von verschiedenen Komponenten in der Lösung erstellt oder verwendet werden.
Das folgende Sequenzdiagramm zeigt zwei separate Prozesse in der Lösung: den Übersetzungsworkflow (A) und den Prozess zum Aktualisieren paralleler Daten (B).
Der Übersetzungsworkflow wird von einem initiiert Amazon CloudWatch geplantes Ereignis, das den Translation Job Invoker startet AWS Lambda Funktion. Diese Funktion erstellt einen asynchronen Übersetzungsauftrag in Amazon Translate und übergibt das zu übersetzende Dokument sowie den Speicherort der parallelen Daten, um die Übersetzung anzupassen. Der Übersetzungsjob liest die parallelen Daten, führt die Übersetzung durch und schreibt das übersetzte Ergebnis zurück in eine Amazon S3 Eimer. Zum jetzigen Zeitpunkt können nur asynchrone Übersetzungsaufträge parallele Daten verwenden.
Wenn der Übersetzungsjob abgeschlossen ist, wird ein Ereignis generiert, das die Lambda-Funktion des Translation Job Completion Handler auslöst. Diese Funktion erstellt eine menschliche Workflow-Schleife – die Hauptkomponente des Amazon A2I-Teils des Workflows.
Menschliche Überprüfer bewerten die Übersetzung und nehmen die Übersetzung an oder modifizieren sie. Jegliche Korrekturen werden verwendet, um das übersetzte Dokument zu aktualisieren und auch zu einem Anpassungswörterbuch hinzugefügt. Wenn die Überprüfung abgeschlossen ist, wird ein weiteres Ereignis generiert, um die Workflow-Abschluss-Handler-Funktion auszulösen. Diese Funktion schreibt das zuletzt übersetzte Dokument zurück in Amazon S3. Die Anpassungsdaten werden verwendet, um eine zu aktualisieren Amazon DynamoDB Tabelle mit den Ausgangs- und übersetzten Textpaaren.
Um den Kreis zu schließen, müssen wir diese in DynamoDB gespeicherten Anpassungsdaten wieder in die in Amazon S3 gespeicherten parallelen Daten integrieren. Um dies zu erreichen, verwenden wir ein geplantes CloudWatch-Ereignis, um die Parallel Data Refresher-Funktion auszulösen, die die Daten aus der DynamoDB-Tabelle liest, sie als parallele Daten neu formatiert und den S3-Bucket aktualisiert, wobei die parallelen Daten gespeichert werden.
Stellen Sie die Lösung mit AWS CloudFormation bereit
Starten Sie die bereitgestellte AWS CloudFormation Vorlage zum Bereitstellen der Lösung in Ihrem Konto. Dieser Stack funktioniert nur in der Region us-east-1. Wenn Sie diese Lösung in anderen Regionen bereitstellen möchten, lesen Sie Folgendes GitHub Repo.
- Auswählen
Stack starten:
- Befolgen Sie die Anweisungen, um die erforderlichen Parameter auszufüllen. Wenn Sie diesen Stapel zum ersten Mal ausführen, SNS-E-Mail ist der einzige erforderliche Parameter.
- Auf dem Bewertung Seite, in der Leistungen Abschnitt, aktivieren Sie das Kontrollkästchen und wählen Sie Stapel erstellen.
Der Stack erstellt die folgenden Schlüsselkomponenten:
- Anpassungsdaten – Eine DynamoDB-Tabelle (
translate_parallel_data
), um die Anpassungsdaten zu verwalten. Sie migrieren die vorhandenen Anpassungsdaten in diese Tabelle. Diese Tabelle wird verwendet, um Anpassungen kontinuierlich hinzuzufügen und zu aktualisieren. - Paralleler Datenauffrischer – Die Lambda-Funktion zum Konvertieren der Anpassungsdaten in der DynamoDB-Tabelle in ein paralleles Datenformat – CSV, TSV oder TMX – und zum Speichern in Amazon S3. Es erstellt und aktualisiert parallele Daten mit der neuen parallelen Datendatei in Amazon S3.
- Übersetzungsauftragsaufrufer – Die Lambda-Funktion zum Starten des Amazon Translate-Batch-Jobs mit parallelen Daten.
- Handler für den Abschluss von Übersetzungsaufträgen – Diese Lambda-Funktion wird ausgelöst, wenn der Amazon Translate-Batch-Job abgeschlossen ist. Die Funktion erstellt eine menschliche Schleife pro Dokument (wir werden dies in Zukunft verfeinern, um eine menschliche Schleife nur für einen ausgewählten Prozentsatz der verarbeiteten Dokumente zu erstellen). Es verwendet das Original und die übersetzten Dokumente, um die menschliche Schleife zu erstellen.
- Benutzerdefinierte Amazon A2I-Vorlage – Diese Vorlage wird verwendet, um das Übersetzungspaar für die menschliche Überprüfung zu rendern. Die Vorlage hat die Speichern Option für jedes Übersetzungssegment. Benutzer können diese Option auswählen, um die Korrekturen zu den Anpassungsdaten hinzuzufügen. Die neuen Anpassungsdaten werden im nächsten Stapelübersetzungsauftrag verwendet.
- Workflow-Abschluss-Handler – Diese Lambda-Funktion wird ausgelöst, wenn der menschliche Arbeitsablauf abgeschlossen ist. Die Funktion aktualisiert das übersetzte Dokument mit Korrekturen und prüft auf parallele Datenaktualisierungen. Der DynamoDB-Tabelle werden neue parallele Daten hinzugefügt.
- Privates Amazon A2I-Team – Ein privates Amazon A2I-Team wird mit einem menschlichen Mitarbeiter unter Verwendung der angegebenen E-Mail-Adresse erstellt. Die ersten Anmeldeinformationen werden nach erfolgreicher Erstellung des privaten Teams per E-Mail gesendet. Sie verwenden diese E-Mail-Adresse und Anmeldeinformationen, um sich beim Amazon A2I-Arbeiterportal anzumelden.
Testen Sie die Lösung
Das sample_text.txt
-Datei unter dem Eingabepräfix des vom Stack erstellten S3-Buckets erstellt worden wäre. Wir verwenden diese Datei für unsere Tests. Es enthält folgende Inhalte:
Führen Sie die folgenden Schritte aus, um die Lösung zu testen:
- Rufen Sie die Translation Job Invoker-Funktion manuell auf oder warten Sie, bis sie von CloudWatch basierend auf dem von Ihnen angegebenen Cron-Zeitplan ausgelöst wird.
Diese Funktion löst den Amazon Translate-Batch-Job aus. Sie können den Fortschritt des Auftrags in der Amazon Translate-Konsole beobachten.
Dieser Batch-Job dauert etwa 30 Minuten. Wenn es fertig ist, dieTextTranslationJob
Das Zustandsänderungsereignis löst die Funktion Übersetzungsjobabschluss-Handler aus. Diese Funktion erstellt eine menschliche Schleife pro übersetztem Dokument. - Navigieren Sie zu der Amazon A2I-Mitarbeiter
- Wähle die Privat Tab.
- Melden Sie sich beim Amazon A2I-Arbeiterportal an, indem Sie den Link für auswählen Anmelde-URL des Bezeichnungsportals.
- Wählen Sie die Aufgabe aus
Human review task
in der Stellenliste. - Auswählen
Beginne zu arbeiten.
Sie können die folgende Seite angezeigt sehen. - Befolgen Sie die Anweisungen, um domänen- und sprachspezifische Korrekturen vorzunehmen.
Im vorherigen Screenshot wurde der Satz „Die Verwendung des Gesundheitsstatus in einer Gruppenkrankenversicherungspolice ist gesetzlich verboten“ in „La ley prohíbe el uso del estado de salud en cualquier póliza de seguro médico de grupo“ übersetzt. Obwohl die Übersetzung korrekt ist, wurden die Sätze neu angeordnet. - Ändern wir dies zu „El uso del estado de salud en cualquier póliza de seguro de salud grupal está prohibido por ley“, um dies zu einer direkteren Übersetzung zu machen, die die ursprüngliche Phraseologie widerspiegelt.
- Auswählen Speichern um dies dem Wörterbuch hinzuzufügen.
- Wenn Sie fertig sind, wählen Sie aus Absenden.
Dadurch wird die Funktion „Workflow Completion Handler“ ausgelöst und die Anpassungsdaten werden in der DynamoDB-Tabelle aktualisiert. Die Funktion speichert auch die korrigierte Übersetzung unter dem Post-Edits-Präfix.
Sie können beobachten, wie die Anpassungen hinzugefügt werden translate_parallel_data
Tabelle auf der DynamoDB-Konsole.
Befehlsablauf
Die Parallel Data Refresher-Funktion wird stündlich durch ein geplantes CloudWatch-Ereignis ausgelöst. Diese Funktion sucht nach neuen Updates in der translate_parallel_data
Tabelle, erstellt eine neue Paralleldaten-TMX-Datei in Amazon S3 unter der parallel_data
Präfix und aktualisiert die parallele Datenkomponente von Amazon Translate. Sie können diese Funktion manuell auslösen, wenn Sie nicht auf den geplanten Ereignisauslöser warten möchten.
Sie können beobachten, wie die parallelen Daten in der Amazon Translate-Konsole aktualisiert werden.
Wenn es abgeschlossen ist, sollte der Auftragsstatus sein Aktives und der Wert für Aktualisierte Aufzeichnungen sollte die Anzahl der hinzugefügten Anpassungen widerspiegeln (in diesem Fall 1).
Jetzt können wir den Übersetzungsjob mit den aktualisierten Daten erneut ausführen. Lösen Sie die Translation Job Invoker-Funktion erneut aus, um zu beobachten, wie die Anpassung in der zweiten Iteration zur Übersetzung hinzugefügt wird. Amazon Translate verwendet nun die bereitgestellten parallelen Daten, um die Übersetzung anzupassen.
Sie können die Änderung in der Übersetzungsausgabe im Kennzeichnungsportal beobachten. Anstelle der Standardübersetzung wird die angepasste Übersetzung angewendet.
Dieser Workflow trägt dazu bei, einen positiven Kreislauf zur kontinuierlichen Verbesserung der Übersetzungsausgabe mit den Anpassungsfunktionen von Amazon A2I und Amazon Translate zu schaffen.
Kosten
Bei Amazon Translate und Amazon A2I zahlen Sie nutzungsabhängig basierend auf der Anzahl der von Ihnen verarbeiteten Textzeichen und für jedes von Menschen überprüfte Objekt. Für dieses Beispiel verwenden wir den On-Demand-Modus von DynamoDB. DynamoDB berechnet Ihnen die Lese- und Schreibvorgänge, die für Ihre Tabellen ausgeführt werden. Siehe die Preisseiten für Amazon Übersetzen, Amazon A2I und Amazon DynamoDB für die tatsächlichen Kosten.
Aufräumen
Wenn Sie mit dem Experimentieren mit dieser Lösung fertig sind, bereinigen Sie Ihre Ressourcen, indem Sie die AWS CloudFormation-Konsole verwenden, um alle in diesem Beispiel bereitgestellten Ressourcen zu löschen. Dies hilft Ihnen, laufende Kosten in Ihrem Konto zu vermeiden.
Zusammenfassung
Sie können die in diesem Beitrag vorgestellte Lösung verwenden, um einen mehrsprachigen Übersetzungsworkflow aufzubauen, der die domänenspezifische Anpassung schrittweise nutzt und erweitert, um die Übersetzungsergebnisse kontinuierlich zu verbessern. Wir haben einen einfachen Mechanismus bereitgestellt, um Ihre vorhandenen Anpassungsressourcen mit verwalteten KI-Diensten wie Amazon Translate und Amazon A2I zu integrieren, um einen robusten Übersetzungsdienst für Ihre Anwendung aufzubauen. Amazon Translate kann Ihnen dabei helfen, diese Lösung so zu skalieren, dass über 5,550 Übersetzungspaare standardmäßig unterstützt werden. Amazon A2I kann Ihnen dabei helfen, sich einfach mit Ihrem internen Sprachexperten zu integrieren oder die Vorteile externer Mitarbeiter zu nutzen, um die Lösung zu skalieren.
Weitere Informationen zu Amazon Translate finden Sie unter Amazon Übersetzen Ressourcen um Video-Ressourcen und Blog-Posts zu finden und zu verweisen Häufig gestellte Fragen zu AWS Translate. Bitte teilen Sie uns Ihre Gedanken im Kommentarbereich oder im Problembereich des Projekts mit Github-Repository.
Über die Autoren
Sathya Balakrishnan ist Senior Customer Delivery Architect im Professional Services-Team von AWS und spezialisiert auf Data/ML-Lösungen. Er arbeitet mit US-Bundesfinanzkunden zusammen. Seine Leidenschaft gilt der Entwicklung pragmatischer Lösungen zur Lösung der Geschäftsprobleme von Kunden. In seiner Freizeit schaut er gerne Filme und wandert mit seiner Familie.
Paul W. Joireman ist Senior Customer Delivery Architect in Professional Services bei AWS, spezialisiert auf Anwendungsmigration und Zusammenarbeit mit US-Bundesfinanzkunden. Paul entwickelt gerne Technologielösungen, reist mit der Familie und wandert im Shenandoah-Nationalpark, solange die Wanderung in einer örtlichen Handwerksbrauerei endet.
- Fortgeschritten (300)
- AI
- Kunst
- KI-Kunstgenerator
- KI-Roboter
- Amazon Übersetzen
- künstliche Intelligenz
- Zertifizierung für künstliche Intelligenz
- Künstliche Intelligenz im Bankwesen
- Roboter mit künstlicher Intelligenz
- Roboter mit künstlicher Intelligenz
- Software für künstliche Intelligenz
- AWS Maschinelles Lernen
- Blockchain
- Blockchain-Konferenz ai
- Einfallsreichtum
- dialogorientierte künstliche Intelligenz
- Krypto-Konferenz ai
- Dalls
- tiefe Lernen
- Google Ai
- Maschinelles Lernen
- Plato
- platon ai
- Datenintelligenz von Plato
- Plato-Spiel
- PlatoData
- Platogaming
- Skala ai
- Syntax
- Zephyrnet