Amazon Translate PlatoBlockchain Data Intelligence で構築されたカスタマイズ可能な翻訳ソリューションを使用して、多言語ワークフローを加速します。垂直検索。あい。

Amazon Translate で構築されたカスタマイズ可能な翻訳ソリューションで多言語ワークフローを加速

企業は多くの場合、複数の異なる言語を使用して、大規模な顧客、パートナー、および利害関係者と効果的に通信する必要があります。 マーケティング資料、製品コンテンツ資産、運用マニュアル、法律文書などのコンテンツを翻訳およびローカライズする必要があります。 企業内の各ビジネス ユニットにはさまざまな翻訳ワークロードがあり、多くの場合、独自の翻訳要件とベンダーを管理しています。 この分散型アプローチは、ビジネス ユニットに翻訳の自律性と柔軟性を与える可能性がありますが、企業が企業全体で翻訳の一貫性を維持することは困難になります。

アマゾン翻訳は ニューラル機械翻訳 高速、高品質、手頃な価格、カスタマイズ可能な言語翻訳を提供するサービス。 現在、Amazon Translate は 5,500 を超える言語ペアのスケーラブルな言語翻訳をバッチおよびリアルタイムでサポートしています。 複数のビジネス ユニットを持つ企業が、カスタマイズ サポートによって多言語ワークフローを高速化する方法を探しているときに直面する課題に対処するソリューションを構築するために使用できます。

例えば、 BMWグループ は、販売や製造などのビジネス ユニットが翻訳テクノロジを大規模に使用し、企業全体でよくある誤訳の問題を解決するのに役立つ、統合された翻訳ソリューションを必要としていました。 彼らの解決策 Amazon翻訳 翻訳時間を 75% 以上短縮すると同時に、各ビジネス ユニットが出力をカスタマイズして、特定の翻訳要件に対応できるようにします。

このブログ投稿では、Amazon Translate やその他の AWS サービスを使用して、カスタマイズ機能を備えた統合翻訳ソリューションを構築する方法を示します。 また、ソリューションをインストールしてテストする方法と、部門のローカリゼーションのニーズに応じて、ユーザー向けにカスタマイズ可能でスケーラブルな翻訳ソリューションを構築する方法も示します。

ソリューションの概要

このソリューションでは、リアルタイム翻訳、ソース言語の自動検出、および カスタム用語。 使い方 アマゾンAPIゲートウェイ、これらの機能は XNUMX つの単純な機能として公開されます /translate API。 カスタム用語により、特定のカスタム翻訳ペアを定義できます。 カスタム用語を機能させるには、用語ファイルを Amazon Translate にアップロードする必要があります。 したがって、別の API /customterm 露出しています。

このソリューションは、標準の翻訳とカスタマイズされた翻訳 (カスタム用語機能を使用) の XNUMX つの翻訳オプションを示しています。 ただし、これらのオプションは、ビジネス要件に合わせて必要に応じて変更できます。 コンシューマーは、API Gateway を使用してこれらのオプションを使用できます APIキー. API が翻訳リクエストを受け取ると、API はリクエストを検証します ( AWSラムダ オーソライザー関数) 提供された API キーが、要求されたタイプの翻訳を実行する権限を与えられているかどうか。 私たちは Amazon DynamoDB コンシューマ、アクセス許可、および API キーに関するメタデータ情報を格納するテーブル。

このソリューションは、次の XNUMX つのペルソナ タイプに対応します。

  • 標準翻訳ペルソナ – カスタマイズ要件のないビジネス ユニット内のユーザー。 これには、標準の翻訳オプションと、Amazon Translate の自動言語検出などの機能が含まれます。
  • カスタマイズされた翻訳ペルソナ – カスタマイズ要件を持つビジネス ユニット内のユーザー。 これには、標準翻訳のすべての機能と、カスタム用語ファイルを使用して翻訳をカスタマイズする機能が含まれます。
  • 管理者のペルソナ – カスタム用語ファイルのアップロードを管理することにより、カスタマイズされた翻訳オプションをサポートしますが、他の翻訳 API 呼び出しを行うことはできません。

次の図は、カスタマイズ アーキテクチャを使用した集中型翻訳ソリューションを示しています。

ユーザー翻訳ペルソナの場合、プロセスには次のアクションが含まれます (前の図の青いパス)。

1a。 コー​​ル /translate API ヘッダーで API キーを渡します。 必要に応じて、カスタマイズされた翻訳ペルソナの場合、ユーザーはオプションのクエリ文字列パラメーター (useCustomTerm).

2. API Gateway は API キーを検証します。

3. Lambda カスタムオーソライザーが呼び出され、提供された API キーが許可されているアクションを検証します。 たとえば、標準の翻訳ペルソナはカスタム翻訳を依頼できず、管理者はテキスト翻訳を実行できません。

4. Lambda オーソライザーは、DynamoDB テーブルからユーザー情報を取得し、提供された API キーに対して検証します。

5a。 検証後、Amazon Translate API を呼び出すために別の Lambda 関数 (Translate) が呼び出されます。 translate_text.

6a。 翻訳されたテキストは、API 応答で返されます。

管理者ペルソナは、カスタマイズされた翻訳ペルソナが使用できるカスタム用語ファイルをアップロードできます。 /customterm API。 ワークフローの手順は次のとおりです (前の図の緑色のパス)。

1b。 コー​​ル /customterm API ヘッダーで API キーを渡します。

2. API Gateway は API キーを検証します。

3. Lambda カスタムオーソライザーが呼び出され、提供された API キーが許可されているアクションを検証します。 たとえば、管理者のみがカスタム用語ファイルをアップロードできます。

4. Lambda オーソライザーは、DynamoDB テーブルからユーザー情報を取得し、提供された API キーに対して検証します。

5b。 API キーが検証された後、Amazon Translate API を呼び出すために別の Lambda 関数 (アップロード) が呼び出されます。 import_terminology.

6b。 カスタム用語ファイルは、Lambda 関数によって生成された一意の名前で Amazon Translate にアップロードされます。

以下のセクションでは、ソリューションをデプロイしてテストする手順について説明します。

前提条件

ソリューションをデプロイするには、AWS アカウントが必要です。 まだ AWS アカウントをお持ちでない場合は、 一つ作る. AWS アカウントへのアクセスには、 AWS IDおよびアクセス管理 起動する (IAM) アクセス許可 AWS CloudFormation IAM ロールを作成するテンプレート。

このサンプル デプロイの実行中に使用される AWS サービスの費用は、お客様の負担となりますのでご注意ください。 これらのサービス (Amazon Translate、API Gateway、Lambda など) の多くには、すぐに使用できる無料利用枠が用意されています。 詳細については、この投稿で使用する各 AWS サービスの料金ページをご覧ください。

AWSCloudFormationを使用してソリューションをデプロイする

提供された CloudFormation テンプレートを起動して、ソリューションを AWS アカウントにデプロイします。 このスタックは、 us-east-1 or eu-west-1 地域。 このソリューションを他のリージョンにデプロイする場合は、 GitHubレポ 選択したリージョンに CloudFormation をデプロイします。

  1. 希望するリージョンのリンクに従って、最新の CloudFormation テンプレートをデプロイします。
地域 CloudFormationスタック
N.バージニア(us-east-1) スタックボタンを起動
アイルランド (eu-west-1) スタックボタンを起動
  1. プロンプトが表示されたら、AWS アカウントの認証情報を使用してログインします。
  2. フィールドを スタックを作成 あらかじめ設定されたデフォルトのページ。
  3. 選択する Next.
  4. スタック名、CloudFormation スタックの名前を入力します (この投稿では、 EnterpriseTranslate).
  5. DDB テーブル名¸ DynamoDB テーブルの名前を入力します (EnterpriseTranslateTable).
  6. apiゲートウェイ名、スタックによって作成された API ゲートウェイを入力します (EnterpriseTranslateAPI).
  7. apiゲートウェイステージ名で、API Gateway (prod) の環境名を入力します。
  8. 選択する Next.
  9. レビュー ページで、チェック ボックスをオンにして、IAM リソースの作成を承認します。これは、CloudFormation がロールを作成して、スタックに必要なリソースへのアクセスを許可し、リソースに動的な方法で名前を付けることができるようにするために必要です。
  10. 選択する スタックを作成.

スタック作成の進行状況は、 イベント タブ。 スタックのステータスが次のように表示されたら、スタックは完了です。 CREATE_COMPLETE.

デプロイにより、次のリソースが作成されます (すべてプレフィックスが EntTranslate):

  • XNUMX つのリソースが呼び出される API Gateway API /customterm および /translate、XNUMX つの翻訳ペルソナと管理ペルソナを表す XNUMX つの API キー
  • XNUMX つの異なるロール (XNUMX つの API キー) を持つ XNUMX 人のコンシューマーを反映する XNUMX つの項目を持つ DynamoDB テーブル
  • アーキテクチャ図に従って、いくつかの Lambda 関数 (Python 3.9 を使用)

リソースが AWS クラウドのアカウントにデプロイされたら、ソリューションをテストできます。

API キーを収集する

API キーを収集するには、次の手順を実行します。

  1. に移動します 出力 CloudFormation スタックのタブを開き、キーの値をコピーします apiGatewayInvokeURLソリューションによって作成された API キーを見つけるには、作成した DynamoDB テーブルを調べるか、API Gateway コンソールの API キー ページに移動します。 この投稿では、後者のアプローチを使用します。
  2. ソフトウェア設定ページで、下図のように リソース CloudFormation スタックのタブで、論理 ID を見つけます EntTranslateApi API Gateway の場合は、下のリンクを開きます 物理ID 新しいタブの列。
  3. API Gatewayコンソールで、 APIキー ナビゲーションペインに表示されます。
  4. ソリューションによって生成された XNUMX つの API キー (標準、カスタマイズ、管理) に注意してください。 たとえば、標準キーを選択します EntTranslateCus1StandardTierKey 選択して リンクを表示 API キー プロパティに対して。

これで、任意のオープンソース ツールを使用して API をテストできます。 この記事では、 Postman 説明のみを目的とした API テスト ツール。 Postman を使用した API のテストの詳細については、次を参照してください。 API 開発の概要.

テスト 1: 標準翻訳

標準の翻訳 API をテストするには、まず Postman で POST 要求を作成します。

  1. 選択する リクエストの追加 ポストマンで。
  2. メソッドタイプを次のように設定します POST.
  3. デプロイされた CloudFormation スタックの [出力] タブから API Gateway 呼び出し URL を入力します。
  4. Add /translate URL エンドポイントに。
  5. ソフトウェア設定ページで、下図のように ヘッダ タブで、という名前の新しいヘッダー キーを追加します。 x-api-key.
  6. 標準の API キーの値を入力します (API キーの収集ステージでコピーされます)。
  7. ソフトウェア設定ページで、下図のように ボディ タブ、選択 Raw 次のように JSON 本文を入力します。
    {   "sourceText": "some text to translate",   "targetLanguage": "fr",   "sourceLanguage":"en"}

    sourceLanguage オプションのパラメータです。 指定しない場合、システムは次のように設定します。 auto ソース言語の自動検出用。

  8. を選択して API を呼び出します。 送信 出力を確認します。
    Amazon Translate PlatoBlockchain Data Intelligence で構築されたカスタマイズ可能な翻訳ソリューションを使用して、多言語ワークフローを加速します。垂直検索。あい。

API が正常に実行され、翻訳されたテキストが ボディ 応答オブジェクトのセクション。

テスト 2: カスタム用語によるカスタマイズされた翻訳

カスタム用語のアップロード機能をテストするには、まず Postman で PUT 要求を作成します。

  1. 選択する リクエストの追加 ポストマンで。
  2. メソッドタイプを次のように設定します PUT.
  3. API Gateway 呼び出し URL を入力します。
  4. Add /customterm URLの最後に。
  5. ソフトウェア設定ページで、下図のように ヘッダ タブで、という名前の新しいヘッダー キーを追加します。 x-api-key.
  6. 管理 API キーの値を入力します (API キーの収集ステージでコピーします)。
  7. ソフトウェア設定ページで、下図のように ボディ タブで、フォーマットを バイナリ カスタム用語の CSV ファイルをアップロードします。 サンプルの CSV ファイルは、 /Resources GitHub リポジトリのフォルダー。
  8. を選択して API を呼び出します。 送信 出力を確認します。
    Amazon Translate PlatoBlockchain Data Intelligence で構築されたカスタマイズ可能な翻訳ソリューションを使用して、多言語ワークフローを加速します。垂直検索。あい。
    API は正常に実行され、応答オブジェクトの Body セクションに「カスタム用語が正常にアップロードされました」というメッセージが表示されます。
  9. Amazon Translateコンソールで、 カスタム用語 ナビゲーションペインに表示されます。
    カスタム用語ファイルがアップロードされ、用語リストに表示されます。 ファイル名の構文は、選択した API キーの DynamoDB テーブルからの顧客 ID とそれに続く文字列です。 _customterm_1.Amazon Translate PlatoBlockchain Data Intelligence で構築されたカスタマイズ可能な翻訳ソリューションを使用して、多言語ワークフローを加速します。垂直検索。あい。
    admin API キーを使用しなかった場合、システムはカスタム用語ファイルのアップロードに失敗することに注意してください。これで、カスタム翻訳を実行する準備が整いました。
  10. 選択する リクエストの追加 ポストマンで。
  11. メソッドタイプを次のように設定します POST.
  12. API Gateway 呼び出し URL を入力します。
  13. Add /translate URL エンドポイントに。
  14. ソフトウェア設定ページで、下図のように ヘッダ タブで、という名前の新しいヘッダー キーを追加します。 x-api-key.
  15. 標準 API キーの値を入力します。
  16. ソフトウェア設定ページで、下図のように ボディ タブで、JSON 本文を次のように入力します。
    {   "sourceText": "some text to translate",   "targetLanguage": "fr",   "sourceLanguage":"en"}

  17. ソフトウェア設定ページで、下図のように Params タブで、という名前の新しいクエリ文字列パラメーターを追加します useCustomTerm 値は 1.
  18. を選択して API を呼び出します。 送信 出力を確認します。API は「Unauthorized」というメッセージで失敗するはずです。 これは、標準の Persona API キーを使用してカスタマイズされた翻訳機能を呼び出そうとしているためです。
  19. ソフトウェア設定ページで、下図のように ヘッダ タブで、カスタマイズされた API キーの値を入力します。
  20. テストを再度実行すると、カスタム用語ファイルを使用して翻訳できるはずです。

今回は、翻訳されたテキストが「翻訳」という単語を翻訳せずに保持していることにも気付くでしょう (提供されたサンプル ファイルを使用した場合)。 これは、以前にアップロードされたカスタム用語ファイルに「翻訳」という単語が含まれているためであり、カスタム用語が Amazon Translate からのベース出力を変更したことを示唆しています。

テスト 3: コンシューマーとビジネス ユニットを追加する

このソリューションは、XNUMX つのコンシューマー (customerA) CloudFormation スタックのデプロイの一部として XNUMX つの異なる API キーを使用します。 API Gateway で新しい使用プランを作成し、新しい API キーをこの使用プランに関連付けることで、コンシューマーを追加できます。 利用プランやAPIキーの作成方法については、こちらをご覧ください。 API キーを使用した使用量プランの作成と使用. その後、これらの API キーを追加のエントリとして DynamoDB テーブルに追加できます。

クリーンアップ

今後料金が発生しないようにするには、CloudFormation スタックの一部として作成したリソースをクリーンアップします。

  1. AWS CloudFormation コンソールで、作成したスタックに移動します。
  2. スタックを選択して選択 スタックを削除.

スタックが削除されるまでに時間がかかる場合があります。 その進行状況は、 イベント タブ。 削除が完了すると、スタックのステータスが DELETE_IN_PROGRESS 〜へ DELETE_COMPLETE. その後、リストから消えます。

考慮事項

このソリューションを使用する場合は、次の点を考慮してください。

  • このソリューションの API 呼び出しは、Amazon Translate API を直接呼び出すよりも遅くなります。 これは、ソリューションが追加のビジネス ロジックを実装し、追加のサービス (API Gateway および Lambda) を使用しているためです。
  • アマゾン翻訳に注意してください サービス制限 同期リアルタイム翻訳およびカスタム用語ファイル用。
  • このソリューションは、API キーを使用して API を公開することに重点を置いています。 これを本番環境に導入する予定がある場合は、オープンな業界標準 (OIDC など) を使用して最初に要求を認証する認証メカニズムを検討してください。 詳細については、次を参照してください。 Amazon API Gateway を使用したマルチテナント API の管理.

まとめ

この投稿では、ネイティブ API を使用して Amazon Translate でリアルタイム翻訳を実行し、カスタム用語ファイルをアップロードし、カスタム翻訳を行うことがいかに簡単かを示し、API Gateway でカスタマイズをサポートするソリューションを作成しました。

ビジネス要件に関連するカスタマイズを使用して、ソリューションを拡張できます。 たとえば、次のような追加機能を提供できます。 アクティブなカスタム翻訳 別の API キーを介して並列データを使用するか、このソリューションと連携するキャッシュ レイヤーを作成して、翻訳のコストをさらに削減し、頻繁にアクセスされる翻訳をキャッシュから提供します。 を利用して、API スロットリングとレート制限を有効にすることができます。 API ゲートウェイの機能. 可能性は無限です。このソリューションを組織の次のレベルに引き上げる方法をぜひお聞かせください。 AWS お問い合わせ リクエスト。 このソリューションのカスタマイズを開始するには、 GitHubレポ このブログのために。

Amazon Translate の詳細については、こちらをご覧ください。 Amazon翻訳リソース ビデオ リソースとブログ投稿を検索し、以下も参照してください。 Amazon Translate のよくある質問. Amazon Translate を初めて使用する場合は、 無料利用枠、最初の翻訳リクエストから開始して、最初の 2 か月間は 12 か月あたり最大 XNUMX 万文字まで無料で提供されます。


著者,

Amazon Translate PlatoBlockchain Data Intelligence で構築されたカスタマイズ可能な翻訳ソリューションを使用して、多言語ワークフローを加速します。垂直検索。あい。ファハド・アーメド アマゾン ウェブ サービス (AWS) のソリューション アーキテクトであり、英国のデジタル ネイティブ ビジネスを担当しています。 ソフトウェア アプリケーションの構築と設計に 17 年以上の経験があります。 彼は最近、AI サービスを大衆が利用できるようにするという新たな情熱を見出しました。

タイムスタンプ:

より多くの AWS機械学習