使用 Amazon Translate 实现多语言支持 - 实时翻译与自定义术语表
详解通过 Translate 实现实时翻译、使用自定义术语表提升翻译质量以及批量翻译的应用。
Translate 概述
Translate 是一项通过神经机器翻译提供 75 种以上语言间文本翻译的服务,每次请求最多可处理 100 KB 的文本。实时翻译 API (TranslateText) 以同步调用的方式即时返回结果,适合集成到聊天和 Web 表单中。响应中除翻译文本外还包含源语言自动检测结果,即使输入语言未知也可处理。批量翻译 (StartTextTranslationJob) 作为异步任务执行大量文档的批量翻译,使用 S3 作为存储。可选择 Standard 和 Active Custom Translation 两种翻译模式,根据用途调整精度和成本的平衡。
自定义术语表与批量翻译
自定义术语表以 CSV 或 TMX 格式定义术语对,翻译时确保使用指定的术语。例如,可以防止产品名"Amazon Aurora"被翻译为本地化名称,保持原文不变。每个账户最多可创建 5,000 个术语表,每个术语表的最大大小为 10 MB。DirectionalTerminology 可按翻译方向定义不同的映射,实现日英和英日使用不同译词等精细控制。批量翻译将文档放置在 S3 存储桶的输入文件夹中,翻译结果存储到输出文件夹。支持 HTML、DOCX、XLIFF、PowerPoint、Excel 格式,在保持标签结构的同时进行翻译。每个任务最多可处理 500 万字符,可并行执行的任务数受区域默认配额限制。
平行数据与 Active Custom Translation
平行数据(平行语料库)以 CSV 或 TMX 格式提供原文和译文对,使翻译模型适应领域特定的表达方式。在技术文档、法律文档、医疗文档等专业术语较多的领域,翻译质量可大幅提升。Active Custom Translation(ACT)使用平行数据实时调整模型,生成比自定义术语表更符合上下文的自然翻译。平行数据最少支持 10 个句对,但在数千对以上时效果显著。Profanity 遮蔽功能可自动检测不当表达并进行遮蔽或排除。Formality 设置可控制翻译的正式程度(敬语/随意),在商务文档和休闲聊天中使用适当的语气。支持 Formality 的语言限于日语、德语、法语、意大利语、葡萄牙语等部分语言,需事先确认目标语言对的支持情况。 从基础到应用系统学习 Translate,书籍(Amazon)可供参考。
用例与架构模式
Translate 可应用于多种工作负载。电商网站的商品描述多语言化中,通过 EventBridge + Lambda + Translate 的管道在新商品注册时自动翻译并将结果存储到 DynamoDB 的无服务器架构非常有效。在客户支持场景中,与 Amazon Connect 结合实现聊天消息的实时翻译,使客服和用户能够使用不同语言进行对话。知识库多语言化方面,对存储在 S3 中的技术文档进行批量翻译,通过 Amazon Kendra 提供多语言搜索。在社交媒体监控中,通过 Kinesis Data Streams 接收帖子文本,用 Translate 统一为英语后再用 Comprehend 进行情感分析,构建实时管道。
与其他翻译服务的比较
Translate 的优势在于与 AWS 生态系统的集成。支持通过 IAM 进行细粒度访问控制、通过 CloudTrail 进行 API 审计、通过 VPC 端点进行私有连接,满足企业安全要求。与 Google Cloud Translation 相比,ACT 可以以额外训练成本使用平行数据适应,Google 的 Glossary 相当于自定义术语表,但没有上下文适应模型的自定义功能。DeepL API 在少数语言对中具有较高的翻译质量,但在 75 种以上的语言支持和 Formality 设置的语言覆盖范围上 Translate 更胜一筹。与本地部署的神经翻译相比,无需管理 GPU 基础设施且自动扩展也是优势。不过,翻译质量在文学表达和惯用语方面偏弱是所有云翻译服务共同的课题。
Translate 的定价
Translate 按翻译的字符数计费,实时翻译约 15 美元/百万字符。批量翻译单价相同,但可通过 S3 批量处理大量文档。前 12 个月每月有 200 万字符的免费额度。使用自定义术语表无需额外付费。Active Custom Translation 的平行数据训练需额外付费,按训练时间计费。通过事先从翻译目标文本中去除 HTML 标签和元数据,减少无需翻译的字符数来优化成本。设置缓存层避免相同文本的重复翻译也是有效的设计。每次请求的最低计费为 15 个字符,因此大量发送极短字符串的设计是低效的。
总结
Translate 是通过神经机器翻译实现 75 种以上语言间多语言支持的服务。通过自定义术语表控制产品名和专业术语的翻译,利用 Active Custom Translation 进行平行数据的领域适应。通过 Formality 设置区分敬语和随意语气,利用批量翻译自动化大量内容的多语言化。通过与 AWS 生态系统的集成,支持无服务器管道自动翻译和实时聊天翻译等广泛用例。