亚马逊AWS官方博客

使用 Amazon Translate 以 Office Open XML 格式翻译文档、电子表格与演示文稿

Original URL: https://aws.amazon.com/cn/blogs/machine-learning/translating-documents-spreadsheets-and-presentations-in-office-open-xml-format-using-amazon-translate/

 

现在,您可以使用Amazon Translate服务翻译.docx、.xlsx以及.pptx文档。

各类组织会创建大量文档、电子表格与演示文稿,用于同其他团体进行信息共享与交流,并为后续保留记录。而当下,在这个全球互连的时代,我们需要与使用不同语言的其他用户交流,因此文档翻译也就变得越来越重要。部分大型组织会雇用专业的翻译人员翻译文档,但这不仅成本高昂,同时也需要耗费大量时间。我们可以使用多种在线工具,轻松复制并粘贴文本以将其翻译为您所选定的语言,不过很少有安全且简单的方法支持保持文档格式不变直接进行翻译。

Amazon Translate 现在支持对DOCX、PPTX以及XLSX格式的Office Open XML文档进行翻译。Amazon Translate是一项全托管神经机器翻译服务,能够高质量地以合理的价格提供多达55种语言翻译服务。关于所支持语言的完整列表,请参见受支持的语言与语言代码。支持批量翻译的AWS区域,同时也支持文档翻译。请参阅异步批处理查看更多信息。

在本文中,我们将逐步了解如何在AWS管理控制台上翻译文档。您也可以通过AWS命令行界面(AWS CLI)或者AWS SDK访问Amazon Translate BatchTranslation API进行文档翻译。

解决方案概述

本文将引导您完成以下步骤:

创建IAM角色以访问您的S3存储桶

在本文中,我们创建一个能够访问您的账户中所有S3存储桶的角色,用于翻译文档、电子表格以及演示文稿。您将该角色提供给Amazon Translate,确保其能够访问您的S3输入与输出位置。关于更多信息,请参阅AWS身份与访问管理说明文档

  • eneccccncclffnifftdklcvrkehjcbfh登录至您的个人AWS账户。
  • 在IAM控制台的 Access management之下,选择Roles
  • 选择 Create role
  • 选择 Another AWS account
  • Account ID部分,输入您的ID。
  • 前往下一页面。
  • Filter policies部分,搜索并添加 AmazonS3FullAccess策略。
  • 前往下一页面。
  • 为角色输入一个名称,例如 TranslateBatchAPI
  • 查看您刚刚创建完成的角色。
  • 在 Trust relationships选项卡中, 选择 Edit trust relationship
  • 输入以下服务主体:

"Service": [
"translate.aws.internal",
"translate.amazonaws.com"
],

具体示例,详见以下截屏。

对文档排序

Amazon Translate批量翻译适用于存储在S3存储桶内文件夹中的各类文档。如果直接将文件保存在S3存储桶的根目录中,则批量翻译将无法工作。批量翻译也不支持翻译嵌套文件。因此,您首先需要将待翻译文档上传至S3存储桶的一个文件夹内,而后对文档进行排序,使当前文件夹内只包含相同类型(DOCX、PPTX、XLSX)相同语言的文件。如果您需要翻译多个包含不同文件类型的文档,请对文档进行排序,保证每个Amazon S3前缀只有相同语言的同一种文档格式。

  • 在Amazon S3控制台上,选择 Create bucket
  • 执行下列步骤创建存储桶。

在本文中,我们创建两个存储桶,分别为:input-translate-bucket 与 output-translate-bucket

这些存储桶中分别包含以下文件类型的文件夹:

  • docx
  • pptx
  • xlsx

执行批量翻译

要执行批量翻译,请完成以下步骤:

  • 在Amazon Translate控制台上, 选择 Batch Translation
  • 选择 Create job

在本文中,我们翻译DOCX格式的文档。

  • 在 Name部分,输入 BatchTranslation
  • Source language部分, 选择 En
  • Target language部分, 选择 Es
  • 在 Input S3 location部分,输入 s3://input-translate-bucket/docx/
  • 在 File format部分, 选择 docx
  • 在 Output S3 location部分,输入 s3://output-translate-bucket/
  • 在 Access permissions部分,选择 Use an existing IAM role
  • IAM role部分,输入 TranslateBatchAPI

由于这里执行的是异步翻译,因此实际翻译操作要等待机器资源分配完成之后才会正式开始,此过程最多可能需要15分钟。关于执行批量翻译作业的更多信息,请参阅启动批量翻译作业

以下截屏是您的BatchTranslation 作业的详细信息。

在翻译完成之后,您可以在S3存储桶的文件夹内找到输出结果,参见以下截屏。

总结

在本文中,我们探讨了如何通过异步批量翻译对DOCX格式的文档进行翻译。关于翻译电子表格与演示文稿,其过程与翻译DOCX文件相同。AWS提供的翻译服务Amazon Translate使用简单,且您只需要根据翻译的每种格式的文档中的字符数(包含空格)进行付费。您现在可以在支持批量翻译的所有区域内翻译Office文档。如果您还不熟悉Amazon Translate,不妨先从Free Tier免费套餐起步。此套餐将从您提交的第一项翻译请求开始,在随后的12个月内每月提供2百万个字符的免费翻译配额。

本篇作者

Watson G. Srivathsan

是AWS 的自然语言处理服务 Amazon Translate 的高级产品经理。他周末喜欢到太平洋西北地区进行户外探险。

本篇译者

申绍勇

申绍勇是AWS解决方案架构师,主要负责基于AWS的云计算解决方案进行架构咨询和设计,目前服务移动互联网(包含媒体、游戏、广告、电商、区块链等)、金融、制造业等各行业客户,提供有关云计算、AI、大数据、物联网、高性能计算等各类云计算解决方案的咨询和架构设计。