运行批量翻译作业 - Amazon Translate

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

运行批量翻译作业

您可以使用 Amazon Translate 控制台 AWS CLI、或 Amazon Translate 运行批量翻译作业API。

注意

批量翻译作业是长时间运行的操作,可能需要大量时间才能完成。例如,对小型数据集进行批量翻译可能需要几分钟时间,而非常大的数据集可能需要 2 天甚至更长时间。完成时间也取决于资源的可用性。

要使用 Amazon Translate 控制台运行翻译作业,请使用批量翻译页面创建作业:

  1. 打开 Amazon Translate 控制台

  2. 在左侧导航菜单中,选择批量翻译

  3. 翻译作业页面上,选择创建作业。控制台显示创建翻译作业页面。

  4. 作业设置下,执行以下操作:

    1. 名称中,输入批量翻译作业的自定义名称。

    2. 源语言中,选择源文件的语言。如果您不知道源文件的语言,或者您的输入文档包含不同源语言,请选择 auto。Amazon Translate 会自动检测每个文件的源语言。

    3. 目标语言中,最多可选择 10 种语言。Amazon Translate 会将每个源文件翻译成每种目标语言。

  5. 输入数据下,执行以下操作:

    1. 输入 S3 位置中,指定在 Amazon S3 中包含翻译源文件的输入文件夹。要通过在 Amazon S3 中导航到该文件夹来提供该文件夹,请选择选择文件夹

    2. 文件格式中,选择翻译源文件的格式。

  6. 输入数据下,执行以下操作:

    1. 输出 S3 位置中,指定 Amazon Translate 在 Amazon S3 中存放翻译输出的输出文件夹。要通过在 Amazon S3 中导航到该文件夹来提供该文件夹,请选择选择文件夹

    2. 或者,如果您要使用您在 () 中管理的客户管理的密钥来加密输出,请选择自定义加密设置 AWS Key Management Service (高级AWS KMS)。

      默认情况下,Amazon Translate 使用由 AWS代表您创建、管理和使用的KMS密钥对您的翻译输出进行加密。如果您想改用自己的密KMS钥加密输出,请选择此选项。

      如果要使用当前 AWS 账户中的KMS密钥,请在 “选择 AWS Key Management Service 密钥” 下将其选中。或者,如果您想使用其他AWS账户的KMS密钥,请输入该密钥的 Amazon 资源名称 (ARN)。

      注意

      在使用自己的KMS密钥之前,您必须为 Amazon Translate 中的服务角色添加权限IAM。如果您想使用其他账户的KMS密钥,还必须更新中的密钥政策 AWS KMS。有关更多信息,请参阅 自定义加密的必备权限

  7. 自定义 - 可选下,您可以选择使用以下设置自定义翻译作业的输出:

    脏话

    掩蔽翻译输出中的污言秽语。如果您为作业指定了多种目标语言,所有目标语言都必须支持脏话掩蔽。如果任何目标语言不支持脏话掩蔽,翻译作业将不会在任何目标语言中掩蔽脏话。

    有关更多信息,请参阅 在 Amazon Translate 中掩蔽污言秽语

    简洁

    Amazon Translate 不支持批量翻译作业的简洁性。

    有关更多信息,请参阅 在 Amazon Translate 中使用简洁性

    正式性

    对于某些目标语言,您可以将正式性设置为正式或非正式。如果您为作业指定了多种目标语言,对于任何不支持正式性设置的目标语言,Translate 将忽略该设置。

    有关更多信息,请参阅 在 Amazon Translate 中设置正式性

    自定义术语

    由示例源术语和每个术语的所需翻译组成。如果您为作业指定了多种目标语言,对于每种在术语文件中具有源术语条目的请求的目标语言,Translate 会为这些语言使用指定的术语。

    有关更多信息,请参阅 使用自定义术语自定义您的翻译

    并行数据

    由展示您希望如何翻译文本句段的示例组成。如果您为作业指定了多种目标语言,则并行数据文件必须包含所有目标语言的翻译。

    向批量翻译作业添加并行数据时,即创建了一个活动自定义翻译作业。

    注意

    与其他不使用并行数据的作业相比,活动自定义翻译作业的定价更高。有关更多信息,请参阅 Amazon Translate 定价

    有关更多信息,请参阅 使用并行数据自定义您的翻译(活动自定义翻译)

  8. 在 “访问权限” 下,为 Amazon Translate 提供一个IAM角色,该角色授予您在 Amazon S3 中输入和输出文件所需的权限:

    • 如果您的账户中已有此IAM角色,请选择 “使用现有IAM角色”,然后在 “角色” 下IAM将其选中。

    • 如果您的账户中还没有此IAM角色,请选择创建IAM角色。对于IAM角色,选择输入和输出 S3 存储桶。在角色名称中,提供一个自定义名称。当您创建翻译任务时,Amazon Translate 会自动创建角色。中的角色名以 AmazonTranslateServiceRole-IAM 为前缀。

      注意

      如果您选择使用自己的密KMS钥加密翻译输出,则无法选择 “创建IAM角色”。在这种情况下,您必须使用先前存在的IAM角色,并且您的KMS密钥必须具有允许该角色使用该密钥的密钥策略。

      有关更多信息,请参阅 自定义加密的必备权限

  9. 请选择创建任务

    控制台会返回翻译作业页面,其中的作业创建状态显示在页面顶部的横幅中。几分钟后,表中会显示您的作业。

  10. 名称列中选择作业名称,以打开作业详细信息页面。

    您的翻译作业运行时,状态字段会显示正在进行

  11. 当状态变为已完成时,选择输出文件位置下的链接进入翻译输出。控制台会转到您在 Amazon S3 中的输出存储桶。

  12. 要下载输出文件,请选中每个文件的复选框,然后选择下载

要使用运行翻译作业 AWS CLI,请使用start-text-translation-job命令,然后为parallel-data-names参数指定 parallel 数据资源的名称。

例 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 参数设置为 FORMALINFORMAL。如果您为作业指定了多种目标语言,对于任何不支持正式性设置的目标语言,Translate 将忽略该设置。有关更多信息,请参阅 在 Amazon Translate 中设置正式性

--terminology-names

要添加到翻译作业中的自定义术语资源的名称。此资源列出了示例资源术语和每个术语所需的翻译。如果您为作业指定了多种目标语言,对于每种在术语文件中具有源术语条目的请求的目标语言,Translate 会为这些语言使用指定的术语。

此参数仅接受一个自定义术语资源。

要查看可用的自定义术语资源列表,请使用 list-terminologies 命令。

有关更多信息,请参阅 使用自定义术语自定义您的翻译

--parallel-data-names

要添加到翻译作业的并行数据资源的名称。此资源由展示您希望如何翻译文本句段的示例组成。如果您为作业指定了多种目标语言,则并行数据文件必须包含所有目标语言的翻译。

向翻译作业添加并行数据时,即创建了一个活动自定义翻译作业。

此参数仅接受一个并行数据资源。

注意

与其他不使用并行数据的作业相比,活动自定义翻译作业的定价更高。有关更多信息,请参阅 Amazon Translate 定价

要查看可用并行数据资源的列表,请使用 list-parallel-data 命令。

有关更多信息,请参阅 使用并行数据自定义您的翻译(活动自定义翻译)

要查看翻译作业,请使用 describe-text-translation-job 命令。

例 D escribe-text-translation-job 命令

以下示例通过提供作业 ID 来检查作业状态。此 ID 由 Amazon Translate 在使用 start-text-translation-job 命令启动作业时提供的。

$ 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。作业完成后,您可以在 OutputDataConfig 下的 S3Uri 字段提供的位置中下载翻译结果。

要使用 Amazon Translate 提交批量翻译作业API,请使用StartTextTranslationJob操作。