亚马逊AWS官方博客

Amazon Translate 现在支持 Office 文档

无论您的组织是一家在许多国家开展业务的跨国企业,还是一家渴望在全球获得成功的小型初创企业,将您的内容翻译成当地语言可能都是一个持久的挑战。实际上,文本数据通常有很多种格式,而处理它们可能需要多种不同的工具。而且,由于所有这些工具可能不支持相同的语言对,您可能必须将特定文档转换为中间格式,甚至是求助于人工翻译。所有这些问题都增加了额外的成本,并为构建一致、自动化的翻译工作流造成了不必要的复杂性。

Amazon Translate 的目的是以一种简单且经济高效的方式解决这些问题。使用 AWS 控制台或单个 API 调用,Amazon Translate 使 AWS 客户 能够快速且准确地翻译 55 种不同语言和变体的文本。

今年早些时候Amazon Translate 还为纯文本和 HTML 文档引入了批量翻译。今天,我非常高兴地宣布,批量翻译现在还支持 Office 文档,即 Office Open XML 标准定义的 .docx.xlsx.pptx 文件。

介绍 Amazon Translate 如何用于 Office 文档
这个过程非常简单。如您所料,原文档必须存储在 Amazon Simple Storage Service (S3) 存储桶中。请注意,任何文件都不能大于 20MB,或超过 100 万个字符数。

每个批量翻译作业处理单一的文件类型和单一的源语言。因此,我们建议您在 S3 中以逻辑方式组织文档,从而将每种文件类型和每种语言存储在其各自的前缀下。

然后,您可以使用 AWS 控制台或其中一个 AWS 语言开发工具包中的 StartTextTranslationJob 来启动翻译作业,以传递:

  • S3 中的输入和输出位置、
  • 文件类型、
  • 源语言和目标语言。

当作业完成后,您可以将翻译好的文件收集在输出位置。

我们来做一个快速演示!

翻译 Office 文档
首先,
使用 S3 控制台上传几个 .docx 文档到其中一个存储桶中。

S3 文件

然后,移动到 Translate 控制台,创建一个批量翻译作业,为该作业指定一个名称,然后选择源语言和目标语言。

创建批处理作业

然后,定义文档在 S3 中的位置和文件格式,在此案例中为 .docx。或者,可以应用自定义术语表,以确保特定单词以我希望的方式准确翻译。

同样地,为翻译好的文件定义输出位置。请确保此路径已存在,因此 Translate 不会为您创建该路径。

创建批处理作业

首先,设置 AWS Identity and Access Management (IAM) 角色,从而为 Translate 作业授予访问 S3 的适当权限。我在此使用以前创建的现有角色,您也可以 Translate 为您创建一个角色。然后,点击“Create job”(创建作业)以启动批量作业。

创建批处理作业

作业立即开始。

批处理作业正在运行

不一会儿后,作业完成。三个文档全部已成功翻译。

查看完成的作业

翻译好的文件提供在输出位置,在 S3 控制台中可见。

查看翻译好的文件

我可以下载其中一个翻译好的文件,打开该文件并将它与原始版本比较。

比较文件

对于小规模使用,用 AWS 控制台来翻译 Office 文件非常简单。当然,您也可以使用 Translate API 构建自动化工作流。

自动化批量翻译
以前的博客文章中,我们向您演示了如何使用 AWS Lambda 函数来自动化批量翻译。您可以对这个示例进行扩展,并使用 Amazon Comprehend 添加语言检测。例如,下面介绍了如何结合使用 DetectDominantLanguage API 与 Python-docx 开源库来检测 .docx 文件的语言。

import boto3, docx
from docx import Document

document = Document('blog_post.docx')
text = document.paragraphs[0].text
comprehend = boto3.client('comprehend')
response = comprehend.detect_dominant_language(Text=text)
top_language = response['Languages'][0]
code = top_language['LanguageCode']
score = top_language['Score']
print("%s, %f" % (code,score))

非常简单! 您也可以基于文件的扩展名检测每个文件的类型,并将其移动到 S3 中的适当输入位置。然后,您可以使用 CloudWatch Events安排 Lambda 函数,以定期翻译文件并通过电子邮件发送通知。当然,您还可以使用 AWS Step Functions 来构建更复杂的工作流。有些事情超乎你的想象!

入门
现在,您可以在以下区域中开始翻译 Office 文档:美国东部(弗吉尼亚北部)美国东部(俄亥俄)美国西部(俄勒冈)欧洲(爱尔兰)欧洲(伦敦)欧洲(法兰克福)亚太地区(首尔)

如果您从未使用过 Amazon Translate,那么告诉您一个好消息,在免费套餐中,从首次请求翻译算起,前 12 个月每月为您免费提供 200 万个字符的翻译。

立即试用,并向我们提供反馈。我们期待您的反馈。请将反馈发布到 AWS 论坛Amazon Translate 版块,或者将其发送给您常用的 AWS Support 联系人。

– Julien