2026/4/21 13:27:27
网站建设
项目流程
临安规划建设局网站,网上房地产上海,2008 .net 网站 目录 权限管理,郑州经济技术开发区实验中学利用某中心翻译自动翻译《动手学深度学习》的技术解析
《动手学深度学习》#xff08;D2L.ai#xff09;是一本让深度学习触手可及的开源教科书。其特色在于包含了使用PyTorch、JAX、TensorFlow和MXNet框架的交互式Jupyter笔记本#xff0c;以及自包含代码、现实世界的示例…利用某中心翻译自动翻译《动手学深度学习》的技术解析《动手学深度学习》D2L.ai是一本让深度学习触手可及的开源教科书。其特色在于包含了使用PyTorch、JAX、TensorFlow和MXNet框架的交互式Jupyter笔记本以及自包含代码、现实世界的示例、说明性图表和数学公式。迄今为止D2L已被全球400多所大学采用例如剑桥大学、斯坦福大学、麻省理工学院、卡内基梅隆大学和清华大学。随着这本书被广泛采用一个贡献者社区已经形成致力于多种语言的翻译工作包括中文、日语、韩语、葡萄牙语、土耳其语和越南语。为了高效处理这些多种语言我们使用某中心翻译开发了自动机器翻译与同步AMTS系统目标是减少人工翻译80%的工作量。AMTS可以应用于所有语言的翻译并且每个特定语言的子AMTS管道根据语言特性和译者偏好都有其独特的功能。在本博客文章中我们将讨论如何构建AMTS框架架构、其子管道以及子管道的构建模块。我们将演示并分析两种语言对之间的翻译英语 ↔ 中文和英语 ↔ 西班牙语。通过这些分析我们将推荐确保翻译质量和效率的最佳实践。框架概述客户可以使用某中心翻译的主动定制翻译ACT功能通过提供定制化的并行数据形式的翻译示例来实时定制翻译输出。并行数据由源语言中的一系列文本示例以及一个或多个目标语言中的期望翻译组成。在翻译过程中ACT会自动从并行数据中选择最相关的片段并根据这些片段对实时更新翻译模型。这使得翻译结果能更好地匹配并行数据的风格和内容。AMTS框架由多个子管道组成每个子管道处理一种语言的翻译——英语到中文、英语到西班牙语等。多个翻译子管道可以并行处理。从根本上说子管道包括以下步骤准备并行数据并行数据由一系列文本示例对组成包括源语言例如英语和目标语言例如中文。使用AMTS我们首先准备两种语言的数据集然后将它们组合成一一对应的配对。通过批处理作业进行翻译我们使用某中心翻译API调用CreateParallelData从某中心简单存储服务S3导入输入文件并在某中心翻译中创建一个并行数据资源为批处理翻译作业做好准备。使用上一步构建的并行数据资源我们定制某中心翻译并使用其异步批处理操作批量翻译一组源语言文档。翻译后的目标语言文档存储在某中心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)下表比较了英-中和中-英翻译的结果。我们观察到使用并行数据的翻译比传统方法有所改进。ArticleEN to ZHZH to ENWithout ACTWith ACTapprox-training0.5530.549bert-dataset0.5480.612language-models-and-dataset0.5020.518machine-translation-and-dataset0.5190.546sentiment-analysis-and-dataset0.5580.631Average0.5360.5712微调并行数据以提高翻译质量为了进一步提高翻译质量我们以更细粒度的方式构建并行数据对。我们不再从源文档和参考文档中提取并行段落并进行配对而是将每个段落进一步分割成多个句子并使用句子对作为训练示例。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下面我们看一下如何将预处理后的数据加载到小批量中用于训练我们测试了段落对和句子对两种方法发现更细粒度的数据句子对比粗粒度的数据段落对能产生更好的翻译质量。下表显示了英-中翻译的比较结果。ArticleEN to ZHZH to ENACT by “pair of paragraph”ACT by “pair of sentence”approx-training0.5490.589bert-dataset0.6120.689language-models-and-dataset0.5180.607machine-translation-and-dataset0.5460.599sentiment-analysis-and-dataset0.6310.712Average0.57120.6392将并行数据的应用扩展到通用机器翻译为了将并行数据的可用性扩展到通用机器翻译我们需要从大量的翻译文档中构建并行数据集。为了最大限度地提高翻译准确性并行数据集应具有与待翻译文档相同的上下文和主题。我们在英-西子管道中测试了这种方法。并行数据对是使用关键词“机器学习”从网络上爬取的英-西文章构建的。我们将此并行数据应用于将一篇英文文章结果表中缩写为DLvsML翻译成西班牙语并将结果与不使用并行数据的传统翻译结果进行了比较。BLEU分数表明具有相同主题“机器学习”的并行数据确实有助于提高通用机器翻译的性能。EN to ESES to ENWithout ACTWith ACTDLvsML0.7920.824下表显示了使用和不使用ACT的英-西翻译的相对流畅度比较。EN source textES reference text (human translation)ES translation without ACTES translation with 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结论与最佳实践在本文中我们介绍了自动机器翻译与同步AMTS框架和管道及其在英-中和英-西D2L.ai自动翻译中的应用。我们还讨论了在翻译管道中使用某中心翻译服务的最佳实践特别是使用并行数据的主动定制翻译ACT功能的优势。利用某中心翻译服务AMTS管道提供了流畅的翻译。非正式的定性评估表明翻译后的文本读起来自然并且在语法上基本正确。总的来说带有并行数据的ACT功能提高了AMTS子管道中的翻译质量。我们的结果表明使用ACT功能比使用传统的某中心翻译实时翻译服务能带来更好的性能。并行数据对的粒度越细翻译性能越好。我们建议将并行数据构建为句子对而不是段落对。我们正在努力进一步改进AMTS框架以提高其他语言的翻译质量。随时欢迎您的反馈。更多精彩内容 请关注我的个人公众号 公众号办公AI智能小助手或者 我的个人博客 https://blog.qife122.com/对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号网络安全技术点滴分享