バッチ翻訳ジョブの実行 - Amazon Translate

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

バッチ翻訳ジョブの実行

バッチ翻訳ジョブは、Amazon Translate コンソール、 AWS CLI、または Amazon Translate を使用して実行できますAPI。

注記

バッチ翻訳ジョブは長時間実行されるオペレーションであり、完了するまでにかなりの時間がかかる場合があります。たとえば、小さいデータセットのバッチ翻訳に数分かかり、巨大なデータセットのバッチ翻訳には最大 2 日かかることがあります。完了時間はリソースの可用性によっても異なります。

Amazon Translate コンソールを使用して翻訳ジョブを実行するには、バッチ翻訳ページでジョブを作成します。

  1. Amazon Translate コンソールを開きます。

  2. 左側のナビゲーションメニューで、[Batch translation (バッチ翻訳)] を選択します。

  3. [Translation jobs (翻訳ジョブ)] ページで、[Create job (ジョブの作成)] を選択します。コンソールに [Create translation job (翻訳ジョブの作成)] ページが表示されます。

  4. [Job settings (ジョブ設定)] で、次の作業を実行します。

    1. [Name (名前)] で、バッチ翻訳ジョブのカスタム名を入力します。

    2. [ソース言語] で、ソースファイルの言語を選択します。ソースファイルの言語がわからない場合や、入力ドキュメントに異なるソース言語が含まれている場合は、auto を選択します。Amazon Translate が各ファイルのソース言語を自動検出します。

    3. [ターゲット言語] では、最大 10 個の言語を選択できます。Amazon Translate が各ソースファイルを各ターゲット言語に翻訳します。

  5. [Input data (入力データ)] で、次の作業を行います。

    1. [Input S3 location (S3 での入力先)] で、Amazon S3 内にあって、翻訳ソースファイルが含まれている入力フォルダを指定します。Amazon S3 でフォルダに移動することでフォルダを提供するには、[Select folder (フォルダを選択)] を選択します。

    2. [File format (ファイル形式)] で、翻訳ソースファイルの形式を選択します。

  6. [Output data (出力データ)] で、次の作業を行います。

    1. [Output S3 location (S3 での出力先)] で、Amazon S3 内にあって、Amazon Translate からの翻訳の出力先となる出力フォルダーを指定します。Amazon S3 でフォルダに移動することでフォルダを提供するには、[Select folder (フォルダを選択)] を選択します。

    2. オプションで、 () で管理するカスタマーマネージドキーを使用して出力を暗号化する場合は、暗号化設定のカスタマイズ (アドバンスト) を選択しますAWS KMS。 AWS Key Management Service

      デフォルトでは、Amazon Translate は、 がユーザーに代わって作成、管理、使用するKMSキーを使用して翻訳出力を暗号化します AWS。代わりに独自のKMSキーを使用して出力を暗号化する場合は、このオプションを選択します。

      現在の AWS アカウントのKMSキーを使用する場合は、キーの選択 で AWS Key Management Service キーを選択します。または、別のAWSアカウントのKMSキーを使用する場合は、そのキーの Amazon リソースネーム (ARN) を入力します。

      注記

      独自のKMSキーを使用する前に、 で Amazon Translate のサービスロールにアクセス許可を追加する必要がありますIAM。別のアカウントのKMSキーを使用する場合は、 のキーポリシーも更新する必要があります AWS KMS。詳細については、「暗号化をカスタマイズするための前提となるアクセス許可」を参照してください。

  7. [Customizations - optional (カスタマイズ - オプション)]では、次の設定を使用して翻訳ジョブの出力をカスタマイズすることができます。

    Profanity (不敬)

    翻訳出力内の不適切な単語やフレーズをマスクします。ジョブに複数のターゲット言語を指定する場合、すべてのターゲット言語が不敬表現のマスクキングをサポートしている必要があります。いずれかのターゲット言語が不敬表現のマスキングをサポートしていない場合、翻訳ジョブはどのターゲット言語でも不敬表現をマスクしません。

    詳細については、「Amazon Translate における不適切な言葉やフレーズのマスキング」を参照してください。

    明るさ

    Amazon Translate は、バッチ翻訳ジョブの簡潔さをサポートしていません。

    詳細については、「Amazon Translate での簡潔さの使用」を参照してください。

    形式

    一部のターゲット言語では、[形式] をフォーマルまたはインフォーマルに設定できます。ジョブに複数のターゲット言語を指定した場合、Translate はサポートされていないターゲット言語の形式設定を無視します。

    詳細については、「Amazon Translate の形式設定」を参照してください。

    Custom terminology (カスタム用語)

    各用語のソース用語例と翻訳例で構成されています。ジョブに複数のターゲット言語を指定した場合、Translate は、用語ファイルにソース用語のエントリがある要求されたターゲット言語ごとに、指定された用語を使用します。

    詳細については、「カスタム用語による翻訳のカスタマイズ」を参照してください。

    Parallel data (並列データ)

    テキストのセグメントの翻訳方法を示した例で構成されています。ジョブに複数のターゲット言語を指定する場合、並列データファイルにはすべてのターゲット言語の翻訳が含まれている必要があります。

    並列データをバッチ翻訳ジョブに追加するときは、Active Custom Translation ジョブを作成します。

    注記

    Active Custom Translation ジョブは、並列データを使用しない他のジョブよりも高いレートで料金が設定されます。詳細については、「Amazon Translate 料金表」を参照してください。

    詳細については、「並列データによる翻訳のカスタマイズ (Active Custom Translation)」を参照してください。

  8. 「アクセス許可」で、Amazon S3 の入出力ファイルに必要なアクセス許可を付与する ロールを Amazon Translate Amazon S3に提供します。 IAM

    • アカウントにこのIAMロールがすでにある場合は、既存のIAMロールを使用する を選択し、IAMロール で選択します。

    • アカウントにこのIAMロールがまだない場合は、IAMロールの作成 を選択します。IAM ロール で、入力 と出力 S3 バケット を選択します。[Role name (ロール名)] にカスタムの名前を入力します。翻訳ジョブを作成すると、Amazon Translate によってロールが自動的に作成されます。のロール名には、プレフィックス AmazonTranslateServiceRole- IAMが付きます。

      注記

      翻訳出力を独自のKMSキーで暗号化することを選択した場合、IAMロールの作成 を選択することはできません。この場合、既存のIAMロールを使用する必要があります。また、KMSキーには、ロールにキーの使用を許可するキーポリシーが必要です。

      詳細については、「暗号化をカスタマイズするための前提となるアクセス許可」を参照してください

  9. [Create job (ジョブの作成)] を選択します。

    コンソールが [Translation jobs (翻訳ジョブ)] ページに戻ります。このぺージの上部にあるバナーにジョブ作成ステータスが表示されます。数分後、ジョブがテーブルに表示されます。

  10. [Name (名前)] 列でジョブ名を選択すると、ジョブの詳細ページが開きます。

    翻訳ジョブの実行中は、[Status (ステータス)] フィールドに[In progress (進行中)] と表示されます。

  11. ステータスが [Completed (完了)] になったら、[Output file location (出力ファイルの場所)] でリンクを選択して翻訳出力に進みます。コンソールが Amazon S3 の出力バケットに移動します。

  12. 出力ファイルをダウンロードするには、それぞれのチェックボックスを選択して、[ダウンロード] を選択します。

を使用して翻訳ジョブを実行するには AWS CLI、 start-text-translation-job コマンドを使用して、 parallel-data-namesパラメータの並列データリソースの名前を指定します。

例 S tart-text-translation-job コマンド

次の例では、Amazon S3 の入力バケットに保存されている Excel ファイルを送信して、翻訳ジョブを実行します。このジョブは、リクエストに含まれる並列データによってカスタマイズされます。

$ aws translate start-text-translation-job \ > --input-data-config ContentType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,S3Uri=s3://amzn-s3-demo-bucket/input/ \ > --output-data-config S3Uri=s3://amzn-s3-demo-bucket/output/ \ > --data-access-role-arn arn:aws:iam::111122223333:role/my-iam-role \ > --source-language-code en \ > --target-language-codes es it \ > --job-name my-translation-job

コマンドが成功すると、Amazon Translate からジョブ ID と次のステータスでの応答があります。

{ "JobId": "4446f95f20c88a4b347449d3671fbe3d", "JobStatus": "SUBMITTED" }

翻訳ジョブの出力をカスタマイズする場合は、次のパラメータを使用できます。

--settings

翻訳出力を構成するための設定で、以下のオプションを含みます。

翻訳出力で簡潔性を有効にします。Amazon Translate は、バッチ翻訳ジョブの簡潔さをサポートしていません。詳細については、「Amazon Translate での簡潔さの使用」を参照してください。

不敬表現のマスキングを有効にして、不適切な単語やフレーズをマスクします。有効にするには、不敬表現のパラメータを Profanity=MASK に設定します。詳細については、「Amazon Translate における不適切な言葉やフレーズのマスキング」を参照してください。いずれかのターゲット言語が不敬表現のマスキングをサポートしていない場合、翻訳ジョブはどのターゲット言語でも不敬表現をマスクしません。

翻訳出力の形式レベルを設定します。Formality パラメータを FORMAL または INFORMAL に設定します。ジョブに複数のターゲット言語を指定した場合、Translate はサポートされていないターゲット言語の形式設定を無視します。詳細については、「Amazon Translate の形式設定」を参照してください。

--terminology-names

翻訳ジョブに追加するカスタム用語リソースの名前。このリソースでは、各用語のソース用語と翻訳例を挙げています。ジョブに複数のターゲット言語を指定した場合、Translate は、用語ファイルにソース用語のエントリがある要求されたターゲット言語ごとに、指定された用語を使用します。

このパラメータでは、カスタム用語リソースが 1 つだけ許容されます。

使用可能なカスタム用語リソースのリストについては、list-terminologies コマンドを使用してください。

詳細については、「カスタム用語による翻訳のカスタマイズ」を参照してください。

--parallel-data-names

翻訳ジョブに追加する並列データリソースの名前。このリソースには、テキストのセグメントの翻訳方法を示した例が含まれています。ジョブに複数のターゲット言語を指定する場合、並列データファイルにはすべてのターゲット言語の翻訳が含まれている必要があります。

並列データを翻訳ジョブに追加するときは、Active Custom Translation ジョブを作成します。

このパラメータでは、並列データリソースが 1 つだけ許容されます。

注記

Active Custom Translation ジョブは、並列データを使用しない他のジョブよりも高いレートで料金が設定されます。詳細については、「Amazon Translate 料金表」を参照してください。

使用可能な並列データリソースのリストについては、list-parallel-data コマンドを使用してください。

詳細については、「並列データによる翻訳のカスタマイズ (Active Custom Translation)」を参照してください。

翻訳ジョブのステータスを確認するには、describe-text-translation-job コマンドを使用します。

例 D escribe-text-translation-job コマンド

次の例では、ジョブ ID を指定してジョブのステータスを確認します。この ID は、ジョブが start-text-translation-job コマンドで開始されたときに Amazon Translate により提供されたものです。

$ aws translate describe-text-translation-job \ > --job-id 4446f95f20c88a4b347449d3671fbe3d

Amazon Translate からジョブプロパティでの応答があります。これにはそのジョブのステータスが含まれます。

{ "TextTranslationJobProperties": { "JobId": "4446f95f20c88a4b347449d3671fbe3d", "JobName": "my-translation-job", "JobStatus": "COMPLETED", "JobDetails": { "TranslatedDocumentsCount": 0, "DocumentsWithErrorsCount": 0, "InputDocumentsCount": 1 }, "SourceLanguageCode": "en", "TargetLanguageCodes": [ "es", "it" ], "SubmittedTime": 1598661012.468, "InputDataConfig": { "S3Uri": "s3://amzn-s3-demo-bucket/input/", "ContentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, "OutputDataConfig": { "S3Uri": "s3://amzn-s3-demo-bucket/output/111122223333-TranslateText-4446f95f20c88a4b347449d3671fbe3d/" }, "DataAccessRoleArn": "arn:aws:iam::111122223333:role/my-iam-role" } }

JobStatus 値が IN_PROGRESS である場合は、数分が経過してから describe-text-translation-job を再実行し、ステータスが COMPLETED になるまで続けます。ジョブが完了すれば、OutputDataConfigS3Uri フィールドにある場所に翻訳結果をダウンロードできます。

Amazon Translate を使用してバッチ翻訳ジョブを送信するにはAPI、 StartTextTranslationJobオペレーションを使用します。