基于机器翻译的深度学习教材自动化翻译系统

本文介绍了一种基于某中心翻译服务的自动化机器翻译与同步系统(AMTS),该系统通过并行数据定制化翻译输出,显著提升深度学习教材多语言翻译效率,可将人工翻译工作量减少80%,并详细阐述了系统架构与最佳实践。

《深入深度学习》(D2L.ai)是一本让深度学习技术普及化的开源教科书,其特色包含采用PyTorch、JAX、TensorFlow和MXNet框架的交互式Jupyter笔记本、自包含代码、真实案例、图解说明和数学公式。目前全球已有超过400所大学采用该教材。

由于该书被广泛采用,贡献者社区形成了多语言翻译计划,涵盖中文、日语、韩语、葡萄牙语、土耳其语和越南语等语言。为高效处理多语言翻译,开发了基于某中心翻译服务的自动化机器翻译与同步系统(AMTS),目标是将人工翻译工作量减少80%。AMTS可应用于所有语言的翻译任务,每种语言的子流水线根据语言特性和译者偏好具备独特功能。

框架概述

系统利用某中心翻译的主动定制翻译(ACT)功能,通过提供定制化的并行数据实时调整翻译输出。并行数据包含源语言文本与目标语言译文的对应范例集合。在翻译过程中,ACT自动选择最相关的文本片段并实时更新翻译模型,使译文更符合并行数据的风格和内容。

AMTS框架由多个并行处理的子流水线构成,每个子流水线处理一种语言对(如英译中、英译西等)。子流水线基本流程包括:

  1. 准备并行数据:将源语言(如英语)和目标语言(如中文)的文本范例配对并存储为CSV文件
  2. 通过批处理作业翻译:使用某中心翻译API创建并行数据资源,并利用异步批处理操作批量翻译源语言文档

并行数据准备与创建

从源文档(D2L英文版章节)和人工翻译版本(如D2L中文版)提取文本(忽略代码和图片块)并构建配对数据。以下为并行数据示例:

英语原文 中文译文
Nonetheless, language models are of great service… 尽管如此,语言模型依然是非常有用的…
Machine translation refers to the automatic translation… 机器翻译(machine translation)指的是将序列从一种语言自动翻译成另一种语言…

并行数据文件上传至某中心存储服务(S3)后,通过API创建或更新并行数据资源。

基于并行数据的异步批翻译

创建并行数据资源后,使用某中心翻译的批量异步翻译API处理存储在S3中的源文件。单批作业可处理多份文档,输出文件存储至指定S3路径。API调用需指定源语言、目标语言和并行数据资源名称。

1
2
3
4
5
6
7
8
response = translate_client.start_text_translation_job(
    JobName='D2L1',
    InputDataConfig={'S3Uri': 's3://bucket/input/', 'ContentType': 'text/html'},
    OutputDataConfig={'S3Uri': 's3://bucket/output/'},
    SourceLanguageCode="en",
    TargetLanguageCodes=["zh"],
    ParallelDataNames="d2l-parallel-data_v2"
)

并行数据提升翻译质量

通过BLEU评分对比显示,使用并行数据的翻译质量显著优于传统方法:

  • 英译中平均BLEU分数从0.536提升至0.571
  • 中译英平均BLEU分数从0.720提升至0.786

通过细粒度调优提升质量

将并行数据从段落级拆分为句子级可进一步改善翻译质量:

  • 英译中平均BLEU分数从0.571提升至0.639
  • 中译英平均BLEU分数从0.786提升至0.846

扩展至通用机器翻译

通过从"机器学习"主题网页抓取英西双语文章构建并行数据,测试显示相同主题的并行数据能有效提升通用机器翻译性能:

  • 英译西BLEU分数从0.792提升至0.824
  • 西译英BLEU分数从0.809提升至0.827

结论与最佳实践

  1. 使用ACT功能与并行数据可显著提升翻译质量
  2. 并行数据粒度越细,翻译性能越好(推荐使用句子级而非段落级)
  3. 并行数据与待翻译文档主题一致时效果最佳

系统持续优化以提升其他语言的翻译质量,欢迎反馈建议。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计