Beschleunigen Sie mehrsprachige Arbeitsabläufe mit einer anpassbaren Übersetzungslösung, die auf Amazon Translate PlatoBlockchain Data Intelligence basiert. Vertikale Suche. Ai.

Beschleunigen Sie mehrsprachige Arbeitsabläufe mit einer anpassbaren Übersetzungslösung, die mit Amazon Translate erstellt wurde

Unternehmen müssen oft effektiv mit einer großen Anzahl von Kunden, Partnern und Interessenvertretern in mehreren verschiedenen Sprachen kommunizieren. Sie müssen Inhalte wie Marketingmaterialien, Produktinhalte, Betriebshandbücher und rechtliche Dokumente übersetzen und lokalisieren. Jede Geschäftseinheit im Unternehmen hat unterschiedliche Übersetzungsarbeitslasten und verwaltet häufig ihre eigenen Übersetzungsanforderungen und Anbieter. Während dieser verteilte Ansatz Geschäftseinheiten Autonomie und Flexibilität bei der Übersetzung geben kann, wird es für Unternehmen schwierig, die Übersetzungskonsistenz im gesamten Unternehmen aufrechtzuerhalten.

Amazon Translate ist ein neuronale maschinelle Übersetzung Service, der schnelle, qualitativ hochwertige, erschwingliche und anpassbare Sprachübersetzungen liefert. Heute unterstützt Amazon Translate skalierbare Sprachübersetzungen für über 5,500 Sprachpaare in Batch und Echtzeit. Es kann verwendet werden, um Lösungen zu entwickeln, die Unternehmen mit mehreren Geschäftsbereichen begegnen, wenn sie nach Möglichkeiten suchen, mehrsprachige Arbeitsabläufe mit Anpassungsunterstützung zu beschleunigen.

So befasst sich beispielsweise die BMW Group benötigte eine einheitliche Übersetzungslösung, um ihre Geschäftsbereiche wie Vertrieb und Fertigung dabei zu unterstützen, Übersetzungstechnologie in großem Umfang zu nutzen und häufige Probleme mit Fehlübersetzungen im gesamten Unternehmen zu beseitigen. Ihre Lösung mit Amazon Übersetzen reduziert die Übersetzungszeit um über 75 % und gibt gleichzeitig jeder Geschäftseinheit die Möglichkeit, die Ausgabe an ihre spezifischen Übersetzungsanforderungen anzupassen.

In diesem Blogbeitrag demonstrieren wir, wie Sie mit Amazon Translate und anderen AWS-Services eine einheitliche Übersetzungslösung mit Anpassungsfunktionen erstellen. Wir zeigen Ihnen auch, wie Sie die Lösung installieren und testen und wie Sie eine anpassbare und skalierbare Übersetzungslösung für Benutzer erstellen können, die den Lokalisierungsanforderungen ihrer Abteilung entsprechen.

Lösungsüberblick

Die Lösung nutzt die nativen Funktionen von Amazon Translate wie Echtzeitübersetzung, automatische Erkennung der Ausgangssprache und benutzerdefinierte Terminologie. Mit Amazon API-Gateway, werden diese Funktionen als eine einfache ausgesetzt /translate API. Mit benutzerdefinierter Terminologie können Sie bestimmte benutzerdefinierte Übersetzungspaare definieren. Damit benutzerdefinierte Terminologie funktioniert, müssen Sie eine Terminologiedatei in Amazon Translate hochladen. Daher eine andere API /customterm ist entblößt.

Die Lösung veranschaulicht zwei Optionen für die Übersetzung: eine Standardübersetzung und eine benutzerdefinierte Übersetzung (unter Verwendung der benutzerdefinierten Terminologiefunktion). Sie können diese Optionen jedoch nach Bedarf an Ihre geschäftlichen Anforderungen anpassen. Verbraucher können diese Optionen mit API Gateways nutzen API-Schlüssel. Wenn eine Übersetzungsanfrage von der API empfangen wird, validiert sie die Anfrage (unter Verwendung einer AWS Lambda Berechtigungsfunktion), ob der bereitgestellte API-Schlüssel berechtigt ist, den angeforderten Übersetzungstyp auszuführen. Wir verwenden ein Amazon DynamoDB Tabelle zum Speichern von Metadateninformationen zu Verbrauchern, Berechtigungen und API-Schlüsseln.

Diese Lösung eignet sich für drei Persona-Typen:

  • Standardübersetzungspersona – Benutzer innerhalb einer Geschäftseinheit, die keine Anpassungsanforderungen haben. Dazu gehören Standardübersetzungsoptionen und -funktionen wie die automatische Spracherkennung von Amazon Translate.
  • Personalisierte Übersetzungspersona – Benutzer innerhalb einer Geschäftseinheit mit Anpassungsanforderungen. Dies umfasst alle Funktionen für Standardübersetzungen sowie die Möglichkeit, die Übersetzungen mithilfe einer benutzerdefinierten Terminologiedatei anzupassen.
  • Admin-Persona – Unterstützt die benutzerdefinierte Übersetzungsoption, indem das Hochladen von benutzerdefinierten Terminologiedateien verwaltet wird, kann jedoch keine anderen Übersetzungs-API-Aufrufe durchführen.

Das folgende Diagramm veranschaulicht die zentralisierte Übersetzungslösung mit Anpassungsarchitektur.

Für die Benutzerübersetzungs-Persona umfasst der Prozess die folgenden Aktionen (der blaue Pfad im vorherigen Diagramm):

1a. Ruf den /translate API und übergeben Sie den API-Schlüssel im API-Header. Optional kann der Benutzer für die benutzerdefinierte Übersetzungsperson eine benutzerdefinierte Übersetzung aktivieren, indem er einen optionalen Abfragezeichenfolgenparameter (useCustomTerm).

2. API Gateway validiert den API-Schlüssel.

3. Der benutzerdefinierte Lambda-Genehmiger wird aufgerufen, um die Aktion zu validieren, dass der bereitgestellte API-Schlüssel zulässig ist. Beispielsweise kann eine Standardübersetzungsperson keine benutzerdefinierte Übersetzung anfordern oder ein Administrator kann keine Textübersetzung durchführen.

4. Der Lambda-Genehmiger ruft die Benutzerinformationen aus der DynamoDB-Tabelle ab und verifiziert sie anhand des bereitgestellten API-Schlüssels.

5a. Nach der Validierung wird eine weitere Lambda-Funktion (Translate) aufgerufen, um die Amazon Translate-API aufzurufen translate_text.

6a. Der übersetzte Text wird in der API-Antwort zurückgegeben.

Die Administratorperson kann eine benutzerdefinierte Terminologiedatei hochladen, die von der benutzerdefinierten Übersetzungsperson verwendet werden kann, indem sie die /customterm API. Die Workflow-Schritte sind wie folgt (der grüne Pfad im vorherigen Diagramm):

1b. Ruf den /customterm API und übergeben Sie den API-Schlüssel im API-Header.

2. API Gateway validiert den API-Schlüssel.

3. Der benutzerdefinierte Lambda-Genehmiger wird aufgerufen, um die Aktion zu validieren, dass der bereitgestellte API-Schlüssel zulässig ist. Beispielsweise kann nur eine Administratorperson benutzerdefinierte Terminologiedateien hochladen.

4. Der Lambda-Genehmiger ruft die Benutzerinformationen aus der DynamoDB-Tabelle ab und verifiziert sie anhand des bereitgestellten API-Schlüssels.

5b. Nachdem der API-Schlüssel validiert wurde, wird eine weitere Lambda-Funktion (Upload) aufgerufen, um die Amazon Translate-API aufzurufen import_terminology.

6b. Die benutzerdefinierte Terminologiedatei wird mit einem eindeutigen Namen, der von der Lambda-Funktion generiert wird, zu Amazon Translate hochgeladen.

In den folgenden Abschnitten gehen wir durch die Schritte zum Bereitstellen und Testen der Lösung.

Voraussetzungen:

Um die Lösung bereitzustellen, benötigen Sie ein AWS-Konto. Wenn Sie noch kein AWS-Konto haben, können Sie dies tun erstelle einen. Sie müssen Zugriff auf das AWS-Konto haben AWS Identity and Access Management and (IAM)-Berechtigungen zum Starten AWS CloudFormation Vorlagen, die IAM-Rollen erstellen.

Beachten Sie, dass Sie für die Kosten der AWS-Services verantwortlich sind, die während der Ausführung dieser Beispielbereitstellung verwendet werden. Viele dieser Dienste (wie Amazon Translate, API Gateway und Lambda) werden mit einem kostenlosen Kontingent geliefert, um Ihnen den Einstieg zu erleichtern. Ausführliche Informationen finden Sie auf den Preisseiten für jeden AWS-Service, den Sie in diesem Beitrag verwenden.

Stellen Sie die Lösung mit AWS CloudFormation bereit

Starten Sie die bereitgestellte CloudFormation-Vorlage, um die Lösung in Ihrem AWS-Konto bereitzustellen. Dieser Stack funktioniert nur im us-east-1 or eu-west-1 Regionen. Wenn Sie diese Lösung in anderen Regionen bereitstellen möchten, lesen Sie die GitHub Repo und stellen Sie die CloudFormation in der Region Ihrer Wahl bereit.

  1. Stellen Sie die neueste CloudFormation-Vorlage bereit, indem Sie dem Link für Ihre bevorzugte Region folgen:
Region CloudFormation-Stapel
Nord-Virginia (us-east-1) Stack-Schaltfläche starten
Irland (eu-west-1) Stack-Schaltfläche starten
  1. Wenn Sie dazu aufgefordert werden, melden Sie sich mit Ihren AWS-Kontoanmeldeinformationen an.
  2. Lassen Sie die Felder auf der Stapel erstellen Seite mit ihren vorbelegten Standardwerten.
  3. Auswählen Weiter.
  4. Aussichten für Stapelname, geben Sie den Namen des CloudFormation-Stacks ein (für diesen Beitrag EnterpriseTranslate).
  5. Aussichten für DDBTableName¸ geben Sie den Namen der DynamoDB-Tabelle ein (EnterpriseTranslateTable).
  6. Aussichten für apiGatewayName, geben Sie das vom Stack erstellte API-Gateway ein (EnterpriseTranslateAPI).
  7. Aussichten für apiGatewayStageName, geben Sie den Umgebungsnamen für API Gateway (prod) ein.
  8. Auswählen Weiter.
  9. Aktivieren Sie auf der Überprüfungsseite die Kontrollkästchen, um die Erstellung von IAM-Ressourcen zu bestätigen. Dies ist erforderlich, damit CloudFormation eine Rolle erstellen kann, um Zugriff auf die vom Stack benötigten Ressourcen zu gewähren und die Ressourcen dynamisch zu benennen.
  10. Auswählen Stapel erstellen.

Sie können den Fortschritt der Stack-Erstellung auf der überwachen Events Tab. Der Stack ist vollständig, wenn der Stack-Status als angezeigt wird CREATE_COMPLETE.

Die Bereitstellung erstellt die folgenden Ressourcen (alle mit dem Präfix EntTranslate):

  • Eine API Gateway-API mit zwei aufgerufenen Ressourcen /customterm und /translate, mit drei API-Schlüsseln zur Darstellung von zwei Übersetzungspersonen und einer Administratorperson
  • Eine DynamoDB-Tabelle mit drei Elementen, die einen Verbraucher mit drei verschiedenen Rollen widerspiegeln (drei API-Schlüssel)
  • Mehrere Lambda-Funktionen (unter Verwendung von Python 3.9) gemäß dem Architekturdiagramm

Nachdem die Ressourcen in Ihrem Konto in der AWS Cloud bereitgestellt wurden, können Sie die Lösung testen.

Sammeln Sie API-Schlüssel

Führen Sie die folgenden Schritte aus, um die API-Schlüssel zu sammeln:

  1. Navigieren Sie zu der Ausgänge Registerkarte des CloudFormation-Stacks und kopieren Sie den Wert des Schlüssels apiGatewayInvokeURL.Um die von der Lösung erstellten API-Schlüssel zu finden, sehen Sie in der DynamoDB-Tabelle nach, die Sie gerade erstellt haben, oder navigieren Sie zur Seite API-Schlüssel in der API Gateway-Konsole. Dieser Beitrag verwendet den letzteren Ansatz.
  2. Auf dem Downloads Suchen Sie auf der Registerkarte des CloudFormation-Stacks nach der logischen ID EntTranslateApi für API Gateway und öffnen Sie den Link unter der Physische ID Spalte in einem neuen Tab.
  3. Wählen Sie in der API Gateway-Konsole API-Keys im Navigationsbereich.
  4. Beachten Sie die drei API-Schlüssel (Standard, Customized, Admin), die von der Lösung generiert werden. Wählen Sie beispielsweise Standardschlüssel EntTranslateCus1StandardTierKey und wählen Sie Link anzeigen gegen die API-Schlüsseleigenschaft.

Jetzt können Sie die APIs mit beliebigen Open-Source-Tools Ihrer Wahl testen. Für diesen Beitrag verwenden wir die Postman API-Testtool nur zu Illustrationszwecken. Einzelheiten zum Testen der API mit Postman finden Sie unter Überblick über die API-Entwicklung.

Test 1: Standardübersetzung

Um die standardmäßige Übersetzungs-API zu testen, erstellen Sie zunächst eine POST-Anforderung in Postman.

  1. Auswählen Anfrage hinzufügen im Postboten.
  2. Legen Sie den Methodentyp fest als jetzt lesen.
  3. Geben Sie die API Gateway-Aufruf-URL auf der Registerkarte „Ausgabe“ des bereitgestellten CloudFormation-Stacks ein.
  4. Speichern /translate zum URL-Endpunkt.
  5. Auf dem Headers Fügen Sie auf der Registerkarte einen neuen Kopfzeilenschlüssel mit dem Namen hinzu x-api-key.
  6. Geben Sie den Standard-API-Schlüsselwert ein (kopiert in der Phase „API-Schlüssel sammeln“).
  7. Auf dem Body Registerkarte, wählen Sie Roh und geben Sie einen JSON-Text wie folgt ein:
    {   "sourceText": "some text to translate",   "targetLanguage": "fr",   "sourceLanguage":"en"}

    sourceLanguage ist ein optionaler Parameter. Wenn Sie es nicht angeben, wird es vom System als festgelegt auto zur automatischen Erkennung der Ausgangssprache.

  8. Rufen Sie die API auf, indem Sie wählen Absenden und überprüfen Sie die Ausgabe.
    Beschleunigen Sie mehrsprachige Arbeitsabläufe mit einer anpassbaren Übersetzungslösung, die auf Amazon Translate PlatoBlockchain Data Intelligence basiert. Vertikale Suche. Ai.

Die API sollte erfolgreich ausgeführt werden und den übersetzten Text in der zurückgeben Body Abschnitt des Response-Objekts.

Test 2: Kundenspezifische Übersetzung mit kundenspezifischer Terminologie

Um die Funktion zum Hochladen benutzerdefinierter Begriffe zu testen, erstellen wir zunächst eine PUT-Anfrage in Postman.

  1. Auswählen Anfrage hinzufügen im Postboten.
  2. Legen Sie den Methodentyp fest als SETZEN.
  3. Geben Sie die API Gateway-Aufruf-URL ein.
  4. Speichern /customterm bis zum Ende der URL.
  5. Auf dem Headers Fügen Sie auf der Registerkarte einen neuen Kopfzeilenschlüssel mit dem Namen hinzu x-api-key.
  6. Geben Sie den Admin-API-Schlüsselwert ein (kopiert in der Phase „API-Schlüssel sammeln“).
  7. Auf dem Body Registerkarte, ändern Sie das Format in binär und laden Sie die benutzerdefinierte Term-CSV-Datei hoch. Eine Beispiel-CSV-Datei finden Sie unter der /Resources Ordner im GitHub-Repo.
  8. Rufen Sie die API auf, indem Sie wählen Absenden und überprüfen Sie die Ausgabe.
    Beschleunigen Sie mehrsprachige Arbeitsabläufe mit einer anpassbaren Übersetzungslösung, die auf Amazon Translate PlatoBlockchain Data Intelligence basiert. Vertikale Suche. Ai.
    Die API sollte erfolgreich mit einer Meldung im Body-Abschnitt des Antwortobjekts ausgeführt werden, die besagt: „Benutzerdefinierter Begriff wurde erfolgreich hochgeladen“.
  9. Wählen Sie in der Amazon Translate-Konsole aus Benutzerdefinierte Terminologie im Navigationsbereich.
    Eine benutzerdefinierte Terminologiedatei sollte hochgeladen worden sein und wird in der Terminologieliste angezeigt. Die Dateinamensyntax ist die Kunden-ID aus der DynamoDB-Tabelle für den ausgewählten API-Schlüssel, gefolgt von einer Zeichenfolge _customterm_1.Beschleunigen Sie mehrsprachige Arbeitsabläufe mit einer anpassbaren Übersetzungslösung, die auf Amazon Translate PlatoBlockchain Data Intelligence basiert. Vertikale Suche. Ai.
    Beachten Sie, dass das System die benutzerdefinierte Termdatei nicht hochladen kann, wenn Sie den Admin-API-Schlüssel nicht verwendet haben. Jetzt können Sie Ihre benutzerdefinierte Übersetzung durchführen.
  10. Auswählen Anfrage hinzufügen im Postboten.
  11. Legen Sie den Methodentyp fest als jetzt lesen.
  12. Geben Sie die API Gateway-Aufruf-URL ein.
  13. Speichern /translate zum URL-Endpunkt.
  14. Auf dem Headers Fügen Sie auf der Registerkarte einen neuen Kopfzeilenschlüssel mit dem Namen hinzu x-api-key.
  15. Geben Sie den Standard-API-Schlüsselwert ein.
  16. Auf dem Body geben Sie wie folgt einen JSON-Text ein:
    {   "sourceText": "some text to translate",   "targetLanguage": "fr",   "sourceLanguage":"en"}

  17. Auf dem params Fügen Sie auf der Registerkarte einen neuen Abfragezeichenfolgenparameter mit dem Namen hinzu useCustomTerm mit einem Wert von 1.
  18. Rufen Sie die API auf, indem Sie wählen Absenden und überprüfen Sie die Ausgabe. Die API sollte mit der Meldung „Nicht autorisiert“ fehlschlagen. Dies liegt daran, dass Sie versuchen, eine angepasste Übersetzungsfunktion mit einem Standard-Persona-API-Schlüssel aufzurufen.
  19. Auf dem Headers Geben Sie auf der Registerkarte den benutzerdefinierten API-Schlüsselwert ein.
  20. Führen Sie den Test erneut aus, und er sollte in der Lage sein, mit der benutzerdefinierten Terminologiedatei zu übersetzen.

Sie werden auch feststellen, dass der übersetzte Text dieses Mal das Wort „übersetzen“ enthält, ohne es zu übersetzen (wenn Sie die bereitgestellte Beispieldatei verwendet haben). Dies liegt daran, dass die zuvor hochgeladene benutzerdefinierte Terminologiedatei das Wort „übersetzen“ enthält, was darauf hindeutet, dass die benutzerdefinierte Terminologie die Basisausgabe von Amazon Translate geändert hat.

Test 3: Fügen Sie weitere Verbraucher und Geschäftseinheiten hinzu

Diese Lösung stellte einen Verbraucher bereit (customerA) mit drei verschiedenen API-Schlüsseln als Teil der CloudFormation-Stack-Bereitstellung. Sie können zusätzliche Verbraucher hinzufügen, indem Sie einen neuen Nutzungsplan in API Gateway erstellen und diesem Nutzungsplan neue API-Schlüssel zuordnen. Weitere Einzelheiten zum Erstellen von Nutzungsplänen und API-Schlüsseln finden Sie unter Erstellen und Verwenden von Nutzungsplänen mit API-Schlüsseln. Sie können diese API-Schlüssel dann als zusätzliche Einträge in der DynamoDB-Tabelle hinzufügen.

Aufräumen

Um zukünftige Gebühren zu vermeiden, bereinigen Sie die Ressourcen, die Sie als Teil des CloudFormation-Stacks erstellt haben:

  1. Navigieren Sie in der AWS CloudFormation-Konsole zu dem von Ihnen erstellten Stack.
  2. Wähle den Stapel aus und wähle Stapel löschen.

Es kann einige Zeit dauern, bis Ihr Stack gelöscht wird. Sie können den Fortschritt auf der verfolgen Events Tab. Wenn der Löschvorgang abgeschlossen ist, ändert sich der Stapelstatus von DELETE_IN_PROGRESS zu DELETE_COMPLETE. Es verschwindet dann aus der Liste.

Überlegungen

Beachten Sie Folgendes, wenn Sie diese Lösung verwenden:

  • API-Aufrufe für diese Lösung sind langsamer als der direkte Aufruf der Amazon Translate-API. Dies liegt daran, dass die Lösung zusätzliche Geschäftslogik implementiert und zusätzliche Dienste (API Gateway und Lambda) verwendet.
  • Bitte beachten Sie den Amazon Translate Servicelimits für synchrone Echtzeitübersetzung und benutzerdefinierte Terminologiedateien.
  • Diese Lösung konzentriert sich auf die Offenlegung einer API mithilfe eines API-Schlüssels. Wenn Sie beabsichtigen, dies in Produktionsumgebungen zu übernehmen, ziehen Sie einen Authentifizierungsmechanismus in Betracht, der offene Industriestandards (wie OIDC) verwendet, um die Anforderung zuerst zu authentifizieren. Weitere Informationen finden Sie unter Verwaltung mandantenfähiger APIs mit Amazon API Gateway.

Zusammenfassung

In diesem Beitrag haben wir gezeigt, wie einfach es ist, Echtzeitübersetzungen durchzuführen, benutzerdefinierte Terminologiedateien hochzuladen und benutzerdefinierte Übersetzungen in Amazon Translate mithilfe seiner nativen APIs durchzuführen, und wir haben eine Lösung zur Unterstützung der Anpassung mit API Gateway erstellt.

Sie können die Lösung mit Anpassungen erweitern, die für Ihre Geschäftsanforderungen relevant sind. Beispielsweise können Sie zusätzliche Funktionen wie z Aktive benutzerdefinierte Übersetzung Verwenden Sie parallele Daten über einen anderen API-Schlüssel, oder erstellen Sie eine Caching-Schicht, um mit dieser Lösung zu arbeiten, um die Kosten für Übersetzungen weiter zu senken und Übersetzungen, auf die häufig zugegriffen wird, aus einem Cache bereitzustellen. Sie können API-Drosselung und Ratenbegrenzung aktivieren, indem Sie die Vorteile nutzen API Gateway-Funktionen. Die Möglichkeiten sind endlos, und wir würden gerne hören, wie Sie diese Lösung für Ihr Unternehmen auf die nächste Stufe bringen, indem Sie eine einreichen AWS-Kontakt Anfrage. Sie können mit der Anpassung dieser Lösung beginnen, indem Sie zu gehen GitHub Repo für diesen Blog.

Weitere Informationen zu Amazon Translate finden Sie unter Amazon Übersetzen Ressourcen um Video-Ressourcen und Blog-Beiträge zu finden, und beziehen Sie sich auch auf Häufig gestellte Fragen zu Amazon Translate. Wenn Sie neu bei Amazon Translate sind, probieren Sie es mit aus Freie Stufe, das ab Ihrer ersten Übersetzungsanfrage in den ersten 2 Monaten bis zu 12 Millionen Zeichen pro Monat kostenlos anbietet.


Über den Autor

Beschleunigen Sie mehrsprachige Arbeitsabläufe mit einer anpassbaren Übersetzungslösung, die auf Amazon Translate PlatoBlockchain Data Intelligence basiert. Vertikale Suche. Ai.Fahad Ahmed ist Solutions Architect bei Amazon Web Services (AWS) und betreut Digital Native Businesses in Großbritannien. Er verfügt über mehr als 17 Jahre Erfahrung im Erstellen und Entwerfen von Softwareanwendungen. Vor kurzem entdeckte er eine neue Leidenschaft darin, KI-Dienste für die breite Masse zugänglich zu machen.

Zeitstempel:

Mehr von AWS Maschinelles Lernen