2026/4/16 20:01:13
网站建设
项目流程
wordpress 建站简单吗,企业网站建设维护,网站主页用ps做,商城网站设计目标利用某中心的机器翻译服务自动翻译《动手学深度学习》
《动手学深度学习》#xff08;D2L.ai#xff09;是一本开源教材#xff0c;旨在让每个人都能接触深度学习。该书包含交互式 Jupyter 笔记本#xff0c;其中提供了 PyTorch、JAX、TensorFlow 和 MXNet 的自包含代码D2L.ai是一本开源教材旨在让每个人都能接触深度学习。该书包含交互式 Jupyter 笔记本其中提供了 PyTorch、JAX、TensorFlow 和 MXNet 的自包含代码以及真实世界的示例、说明图和数学公式。迄今为止D2L 已被全球 400 多所大学采用例如剑桥大学、斯坦福大学、麻省理工学院、卡内基梅隆大学和清华大学。由于该书的广泛采用一个贡献者社区已经形成致力于多种语言的翻译工作包括中文、日文、韩文、葡萄牙文、土耳其文和越南文。为了高效处理这些多语言任务我们利用某中心的翻译服务开发了自动机器翻译与同步系统旨在将人工翻译的工作量减少 80%。AMTS 可应用于所有语言的翻译每个特定语言的子 AMTS 流水线都根据语言特点和译者偏好拥有其独特的功能。在本博文中我们将讨论如何构建 AMTS 框架架构、其子流水线以及子流水线的构建模块。我们将通过两个语言对英语 ↔ 中文和英语 ↔ 西班牙语的翻译来演示和分析翻译效果。通过这些分析我们将推荐确保翻译质量和效率的最佳实践。框架概述用户可以使用某中心翻译服务的主动定制翻译功能通过提供定制化的并行数据形式的翻译示例来实时自定义翻译输出。并行数据由源语言中的一系列文本示例以及一种或多种目标语言中的期望翻译组成。在翻译过程中ACT 会自动从并行数据中选择最相关的片段并根据这些片段对实时更新翻译模型。这使得翻译结果能更好地匹配并行数据的风格和内容。AMTS 框架由多个子流水线组成每个子流水线处理一种语言翻译例如英语到中文、英语到西班牙语等。多个翻译子流水线可以并行处理。从根本上说子流水线包含以下步骤准备并行数据并行数据由一系列文本示例对组成分别来自源语言例如英语和目标语言例如中文。使用 AMTS我们首先准备两种语言的数据集然后将它们组合成一 一对应的配对。通过批量作业进行翻译我们使用某中心翻译服务的 API 调用CreateParallelData从某中心的简单存储服务导入输入文件并在某中心翻译服务中创建并行数据资源为批量翻译作业做好准备。使用上一步构建的并行数据资源我们定制某中心翻译服务并使用其异步批量处理操作来批量翻译一组源语言文档。翻译后的目标语言文档存储在某中心的 S3 中。并行数据的准备与创建在并行数据准备步骤中我们从源文档D2L 英文版书的章节和专业人工翻译产生的译文例如 D2L 中文版的对应章节构建并行数据集。软件模块从两个文档中提取文本忽略代码和图片块将它们配对并以 CSV 文件格式存储。并行数据的示例如下表所示EnglishChineseNonetheless, language models are of great service even in their limited form. For instance, the phrases “to recognize speech” and “to wreck a nice beach” sound very similar. This can cause ambiguity in speech recognition, which is easily resolved through a language model that rejects the second translation as outlandish. Likewise, in a document summarization algorithm it is worthwhile knowing that “dog bites man” is much more frequent than “man bites dog”, or that “I want to eat grandma” is a rather disturbing statement, whereas “I want to eat, grandma” is much more benign.尽管如此语言模型依然是非常有用的。例如短语“to recognize speech”和“to wreck a nice beach”读音上听起来非常相似。这种相似性会导致语音识别中的歧义但是这很容易通过语言模型来解决因为第二句的语义很奇怪。同样在文档摘要生成算法中“狗咬人”比“人咬狗”出现的频率要高得多或者“我想吃奶奶”是一个相当匪夷所思的语句而“我想吃奶奶”则要正常得多。Machine translation refers to the automatic translation of a sequence from one language to another. In fact, this field may date back to 1940s soon after digital computers were invented, especially by considering the use of computers for cracking language codes in World War II. For decades, statistical approaches had been dominant in this field before the rise of end-to-end learning using neural networks. The latter is often called neural machine translation to distinguish itself from statistical machine translation that involves statistical analysis in components such as the translation model and the language model.机器翻译machine translation指的是将序列从一种语言自动翻译成另一种语言。事实上这个研究领域可以追溯到数字计算机发明后不久的20世纪40年代特别是在第二次世界大战中使用计算机破解语言编码。几十年来在使用神经网络进行端到端学习的兴起之前统计学方法在这一领域一直占据主导地位Emphasizing end-to-end learning, this book will focus on neural machine translation methods. Different from our language model problem in the last section, whose corpus is in one single language, machine translation datasets are composed of pairs of text sequences that are in the source language and the target language, respectively. Thus, instead of reusing the preprocessing routine for language modeling, we need a different way to preprocess machine translation datasets. In the following, we show how to load the preprocessed data into mini batches for training.本书的关注点是神经网络机器翻译方法强调的是端到端的学习。与 上节中的语料库是单一语言的语言模型问题存在不同机器翻译的数据集是由源语言和目标语言的文本序列对组成的。因此我们需要一种完全不同的方法来预处理机器翻译数据集而不是复用语言模型的预处理程序。下面我们看一下如何将预处理后的数据加载到小批量中用于训练当并行数据文件创建并准备就绪后我们将其上传到 S3 存储桶中的一个文件夹并使用CreateParallelData在某中心翻译服务中启动创建作业。如果只想使用新输入更新现有的并行数据资源则应使用UpdateParallelDataAPI 调用。作业完成后可以在某中心翻译服务管理控制台中找到并行数据资源。该资源可以通过下载、更新和删除按钮在 AWS 控制台中进行进一步管理也可以通过 AWS CLI 和公共 API 进行管理。使用并行数据进行异步批量翻译创建并行数据资源后子流水线的下一步是使用某中心翻译服务的StartTextTranslationJobAPI 调用来启动批量异步翻译。子流水线将源文件上传到某中心 S3 存储桶文件夹中。一个批量作业可以处理多个源文档的翻译输出文件将存放在另一个 S3 存储桶文件夹中。除了输入和输出数据配置外源语言、目标语言和准备好的并行数据资源也作为参数在 API 调用中指定。src_langentgt_langzhsrc_fdrinput-short-test-en2zhpd_named2l-parallel-data_v2responsetranslate_client.start_text_translation_job(JobNameD2L1,InputDataConfig{S3Uri:s3://S3_BUCKET/src_fdr/,ContentType:text/html},OutputDataConfig{S3Uri:s3://S3_BUCKET/output/,},DataAccessRoleArnROLE_ARN,SourceLanguageCodesrc_lang,TargetLanguageCodes[tgt_lang,],ParallelDataNamespd_name)根据输入文件的数量作业可能需要几分钟到几小时才能完成。可以在某中心翻译服务管理控制台上找到作业配置和状态包括输出文件位置。翻译后的文档可在输出 S3 文件夹中找到文件名格式为目标语言.源文件名。用户可以下载它们并进行进一步评估。使用并行数据可获得更好的翻译效果为了评估每个子流水线的翻译性能我们从 D2L 英文版中选择了五篇文章通过英-中子流水线将其翻译成中文。然后计算了每篇翻译文档的 BLEU 分数。BLEU 分数通过计算 AMTS 翻译输出与人工译者参考译文之间的相似度来评估。分数介于 0 和 1 之间分数越高翻译质量越好。然后将 AMTS 生成的结果与使用传统方法不使用并行数据翻译同一文档的结果进行比较。传统方法通过TranslateTextAPI 调用实现其参数包括源文本名称以及源语言和目标语言。src_langentgt_langzhresponsetranslate_client.translate_text(Texttext,TerminologyNames[],SourceLanguageCodesrc_lang,TargetLanguageCodetgt_lang)英-中和中-英翻译的结果对比如下表所示。观察到使用并行数据的翻译相比传统方法有所改进。| Article | EN to ZH | ZH to EN || :— | :— | :— | :— || | 无 ACT | 有 ACT | 无 ACT | 有 ACT || approx-training | 0.553 | 0.549 | 0.717 | 0.747 || bert-dataset | 0.548 | 0.612 | 0.771 | 0.831 || language-models-and-dataset | 0.502 | 0.518 | 0.683 | 0.736 || machine-translation-and-dataset | 0.519 | 0.546 | 0.706 | 0.788 || sentiment-analysis-and-dataset | 0.558 | 0.631 | 0.725 | 0.828 ||Average|0.536|0.5712|0.7204|0.786|微调并行数据以提升翻译质量为了进一步提升翻译质量我们以更细粒度的方式构建并行数据对。不再是从源文档和参考文档中提取并行段落并进行配对而是将每个段落进一步分割成多个句子并使用句子对作为训练示例。ENZHLikewise, in a document summarization algorithm it is worthwhile knowing that “dog bites man” is much more frequent than “man bites dog”, or that “I want to eat grandma” is a rather disturbing statement, whereas “I want to eat, grandma” is much more benign同样在文档摘要生成算法中“狗咬人”比“人咬狗”出现的频率要高得多或者“我想吃奶奶”是一个相当匪夷所思的语句而“我想吃奶奶”则要正常得多For decades, statistical approaches had been dominant in this field before the rise of end-to-end learning using neural networks几十年来在使用神经网络进行端到端学习的兴起之前统计学方法在这一领域一直占据主导地位In the following, we show how to load the preprocessed data into minibatches for training下面我们看一下如何将预处理后的数据加载到小批量中用于训练测试了段落对和句子对两种方法发现更细粒度的数据句子对能产生比粗粒度数据段落对更好的翻译质量。英-中翻译的对比结果如下表所示。| Article | EN to ZH | ZH to EN || :— | :— | :— | :— || | ACT段落对 | ACT句子对 | ACT段落对 | ACT句子对 || approx-training | 0.549 | 0.589 | 0.747 | 0.77 || bert-dataset | 0.612 | 0.689 | 0.831 | 0.9 || language-models-and-dataset | 0.518 | 0.607 | 0.736 | 0.806 || machine-translation-and-dataset | 0.546 | 0.599 | 0.788 | 0.89 || sentiment-analysis-and-dataset | 0.631 | 0.712 | 0.828 | 0.862 ||Average|0.5712|0.6392|0.786|0.8456|将并行数据的使用扩展到通用机器翻译为了将并行数据的可用性扩展到通用机器翻译需要从大量已翻译的文档中构建并行数据集。为了最大限度地提高翻译准确性并行数据集应具有与待翻译文档相同的上下文和主题。在英-西子流水线中测试了这种方法。并行数据对是使用关键词“机器学习”从网络上爬取的英-西文章构建的。在将一篇英文文章在结果表中缩写为 DLvsML翻译成西班牙语时应用了此并行数据并将结果与不使用并行数据的传统翻译结果进行了比较。BLEU 分数表明具有相同主题“机器学习”的并行数据确实有助于提高通用机器翻译的性能。EN to ESES to EN无 ACT有 ACTDLvsML0.7920.824使用和不使用 ACT 的英-西翻译在流畅度上的相对差异可以从下表中看出。EN 源文本ES 参考译文人工翻译ES 翻译无 ACTES 翻译有 ACTMoves through the learning process by resolving the problem on an end-to-end basis.Pasa por el proceso de aprendizaje mediante la resolución del problema de un extremo a otro.Avanza en el proceso de aprendizaje resolviendo el problema de un extremo a otro.Avanza el proceso de aprendizaje resolviendo el problema de forma integral.Deep learning use casesCasos de uso del aprendizaje profundoCasos de uso de aprendizaje profundoCasos prácticos de aprendizaje profundoImage caption generationGeneración de subtítulos para imágenesGeneración de leyendas de imágenesGeneración de subtítulos de imagen结论与最佳实践本文介绍了自动机器翻译与同步框架及其流水线以及其在英-中和英-西 D2L.ai 自动翻译中的应用。还讨论了在翻译流水线中使用某中心翻译服务的最佳实践特别是带有并行数据的主动定制翻译功能的优势。利用某中心翻译服务AMTS 流水线提供了流畅的翻译。非正式的定性评估表明翻译后的文本读起来自然并且大部分语法正确。通常带有并行数据的 ACT 功能提高了 AMTS 子流水线中的翻译质量。结果表明使用 ACT 功能比使用传统的某中心翻译实时翻译服务能带来更好的性能。并行数据对的粒度越细翻译性能越好。建议将并行数据构建为句子对而不是段落对。正在努力进一步改进 AMTS 框架以提高其他语言的翻译质量。欢迎提供反馈。更多精彩内容 请关注我的个人公众号 公众号办公AI智能小助手或者 我的个人博客 https://blog.qife122.com/对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号网络安全技术点滴分享