自动机器翻译与同步系统在深度学习教材翻译中的应用
系统概述
Dive into Deep Learning(D2L.ai)是一个开源教科书项目,通过交互式Jupyter笔记本、自包含代码和真实案例使深度学习技术更易理解。该项目已被全球400多所大学采用。
为处理多语言翻译需求,开发了基于某中心翻译服务的自动机器翻译与同步(AMTS)系统,旨在将人工翻译工作量减少80%。AMTS系统可应用于所有语言翻译,每个语言特定的子管道都基于语言特征和译者偏好具有独特功能。
框架架构
并行数据准备
系统使用某中心翻译的主动定制翻译(ACT)功能,通过提供定制化的并行数据示例来实时自定义翻译输出。并行数据包含源语言文本示例和目标语言期望翻译的集合。
AMTS框架包含多个子管道,每个子管道处理一种语言翻译,多个翻译子管道可以并行处理。
子管道处理流程
-
准备并行数据:并行数据由文本示例对列表组成,包含源语言和目标语言。系统首先准备两种语言数据集,然后将它们组合成一对一配对。
-
通过批处理作业翻译:使用某中心翻译API调用CreateParallelData从某中心简单存储服务导入输入文件,并在某中心翻译中创建并行数据资源。然后使用其异步批处理操作批量翻译源语言文档,翻译后的文档存储在某中心简单存储服务中。
并行数据准备与创建
在并行数据准备步骤中,从源文档和专业人工翻译产生的翻译文本构建并行数据集。软件模块从两个文档中提取文本(忽略代码和图片块),将它们配对并存储在CSV文件中。
当并行数据文件创建完成后,将其上传到某中心简单存储服务存储桶中的文件夹,并使用CreateParallelData在某中心翻译中启动创建作业。
使用并行数据进行异步批处理翻译
创建并行数据资源后,子管道的下一步是使用某中心翻译StartTextTranslationJob API调用启动批量异步翻译。子管道将源文件上传到某中心简单存储服务存储桶文件夹中。
一个批处理作业可以处理多个源文档的翻译,输出文件将放在另一个某中心简单存储服务存储桶文件夹中。
|
|
使用并行数据获得更好的翻译效果
为评估每个子管道中的翻译性能,从D2L英文版本中选择了五篇文章,通过英中子管道将其翻译成中文,然后计算每个翻译文档的BLEU分数。
将AMTS生成的结果与使用传统方法(无并行数据)翻译相同文档的结果进行比较。传统方法通过TranslateText API调用实现:
|
|
英中和中英翻译结果比较显示,使用并行数据的翻译相比传统方法有所改进。
微调并行数据以提高翻译质量
为了进一步提高翻译质量,以更细粒度的方式构建并行数据对。不是从源文档和参考文档中提取并行段落并进行配对,而是将每个段落进一步拆分为多个句子,并使用句子对作为训练示例。
测试了段落对和句子对两种方法,发现更细粒度的数据(句子对)比较粗粒度的数据(段落对)产生更好的翻译质量。
将并行数据使用扩展到通用机器翻译
为了将并行数据的可用性扩展到通用机器翻译,需要从大量翻译文档中构建并行数据集。为了最大化翻译准确性,并行数据集应具有与要翻译文档相同的上下文和主题。
在英西子管道中测试了这种方法,并行数据对是使用关键词"机器学习"从网络爬取的英西文章构建的。
结论与最佳实践
AMTS管道利用某中心翻译服务提供流畅的翻译,非正式定性评估表明翻译文本阅读自然且大多语法正确。
使用并行数据的ACT功能提高了AMTS子管道中的翻译质量,比使用传统某中心翻译实时翻译服务性能更好。
并行数据对越细粒度,翻译性能越好,建议将并行数据构建为句子对而非段落对。