Author:小牛翻译 肖桐 朱靖波
机器翻译:基础与模型 (niutrans.com) 这是一个教程,目的是对机器翻译的统计建模和深度学习方法进行较为系统的介绍(前身为《机器翻译:统计建模与深度学习方法》)。其内容被编纂成书,可以供计算机相关专业高年级本科生及研究生学习之用,亦可作为自然语言处理,特别是机器翻译相关研究人员的参考资料。本书用tex编写,所有源代码均已开放
Tags
Support Statistics
¥.00 ·
0times
Text Preview (First 20 pages)
Registered users can read the full content for free
Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.
Page
1
·
Page
2
Copyright © 2020肖桐 朱靖波 东北大学自然语言处理实验室 ·小牛翻译 顾问:姚天顺 王宝库 https://opensource.niutrans.com/mtbook/homepage.html https://github.com/NiuTrans/MTBook Licensed under the Creative Commons Attribution-NonCommercial 4.0 Unported License (the “License”). You may not use this file except in compliance with the License. You may obtain a copy of the License at http://creativecommons.org/licenses/by-nc/4.0. Unless required by applicable law or agreed to in writing, software distributed under the Li- cense is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. September 4, 2021
Page
3
在此感谢为本书做出贡献的人 曹润柘、曾信、孟霞、单韦乔、周涛、周书含、许诺、李北、许晨、林野、李 垠桥、王子扬、刘辉、张裕浩、冯凯、罗应峰、魏冰浩、王屹超、李炎洋、胡 驰、姜雨帆、田丰宁、刘继强、张哲旸、陈贺轩、牛蕊、杜权、张春良、王会 珍、张俐、马安香、胡明涵
Page
4
4 空 前 言 1. 本书的由来 让计算机进行自然语言的翻译是人类长期的梦想,也是人工智能的终极目标之 一。自上世纪九十年代起,机器翻译迈入了基于统计建模的时代,发展到今天,已经 大量应用了深度学习等机器学习方法,并且取得了令人瞩目的进步。在这个时代背 景下,对机器翻译的模型、方法和实现技术进行深入了解是自然语言处理领域研究 者和实践者所渴望的。 与所有从事机器翻译研究的人一样,笔者也梦想着有朝一日机器翻译能够完全 实现。这个想法可以追溯到 1980年,姚天顺教授和王宝库教授创立了东北大学自然 语言处理实验室,把机器翻译作为毕生为之奋斗的目标。这也影响了包括笔者在内 的许多人。虽然,那时的机器翻译技术并不先进,研究条件也异常艰苦,但是实现机 器翻译的梦想从未改变。 步入二十一世纪后,统计学习方法的兴起给机器翻译带来了全新的思路,同时 也带来了巨大的技术进步。笔者有幸经历了那个时代,同时也加入到机器翻译研究 的浪潮中。笔者从 2007年开始研发 NiuTrans开源系统,在 2012年对 NiuTrans机器 翻译系统进行产业化,并创立了小牛翻译。在此过程中,笔者目睹了机器翻译的成 长,并不断地被机器翻译取得的进步所感动。那时,笔者就曾经思考过将机器翻译 的模型和方法进行总结,形成资料供人阅读。虽然粗略写过一些文字,但是未成体 系,只是在相关的教学环节中进行使用,供实验室同学闲暇时参考阅读。 但是机器翻译领域进展之快是无法预见的。2016年之后,随着深度学习方法在 机器翻译中的进一步应用,机器翻译迎来了前所未有的大好机遇。新的技术方法层 出不穷,机器翻译系统也得到了广泛应用。这时,笔者心里又涌现出将机器翻译的 技术内容编撰成书的想法。这种强烈的念头使得笔者完成了本书的第一个版本(包 含七章),并开源供人广泛阅读。承蒙同行们厚爱,得到了很多反馈,包括一些批评 意见。这些使得笔者可以更加全面地梳理思路。 最初,笔者的想法仅仅是将机器翻译的技术内容做成资料供人阅读。但是,朋 友、同事们一直鼓励将内容正式出版。虽然担心书的内容不够精致,无法给同行作 为参考,但是最终还是下定决心重构内容。所幸,得到电子工业出版社的支持,形成 新版,共十八章。 写作中,每当笔者翻起以前的资料,都会想起当年的一些故事。与其说这部书 是写给读者,还不如说这本书是写给笔者自己,写给所有同笔者一样,经历过或正 在经历机器翻译蓬勃发展年代的人。希望本书可以作为一个时代的记录,但是这个 时代并未结束,还将继续,并更加美好。
Page
5
5 2. 本书的特色 本书全面回顾了近三十年内机器翻译的技术发展历程,并围绕机器翻译的建模 和深度学习方法这两个主题对机器翻译的技术方法进行了全面介绍。在写作中,笔 者力求用朴实的语言和简洁的实例阐述机器翻译的基本模型,同时对相关的技术前 沿进行讨论。其中也会涉及大量的实践经验,包括许多机器翻译系统开发的细节。从 这个角度来说,本书不单单是一本理论书籍,它还结合了机器翻译的应用,给读者 提供了很多机器翻译技术落地的具体思路。 本书可以供计算机相关专业高年级本科生及研究生学习之用,也可以作为自然 语言处理领域,特别是机器翻译方向相关研究人员的参考资料。此外,本书各章主 题明确,内容紧凑。因此,读者也可将每章作为某一专题的学习资料。 用最简单的方式阐述机器翻译的基本思想是笔者所期望达到的目标。但是,书 中不可避免会使用一些形式化定义和算法的抽象描述,因此,笔者尽所能通过图例 进行解释(本书共 396张插图)。不过,本书所包含的内容较为广泛,难免会有疏漏, 望读者海涵,并指出不当之处。 3. 本书的内容 本书共分为四个部分,十八章。章节的顺序参考了机器翻译技术发展的时间脉 络,同时兼顾了机器翻译知识体系的内在逻辑。本书的主要内容包括: • 第一部分:机器翻译基础 – 第一章机器翻译简介 – 第二章统计语言建模基础 – 第三章词法分析和语法分析基础 – 第四章翻译质量评价 • 第二部分:统计机器翻译 – 第五章基于词的机器翻译建模 – 第六章基于扭曲度和繁衍率的模型 – 第七章基于短语的模型 – 第八章基于句法的模型 • 第三部分:神经机器翻译 – 第九章人工神经网络和神经语言建模 – 第十章基于循环神经网络的模型 – 第十一章基于卷积神经网络的模型 – 第十二章基于自注意力的模型 • 第四部分:机器翻译前沿 – 第十三章神经机器翻译模型训练 – 第十四章神经机器翻译模型推断
Page
6
6 – 第十五章神经机器翻译结构优化 – 第十六章低资源机器翻译 – 第十七章多模态、多层次机器翻译 – 第十八章机器翻译应用技术 其中,第一部分是本书的基础知识部分,包含统计建模、语言分析、机器翻译评 价等。在第一章对机器翻译的历史及现状进行介绍之后,第二章通过语言建模任务 将统计建模的思想阐述出来,同时这部分内容也会作为后续机器翻译模型及方法的 基础。第三章重点介绍机器翻译所涉及的词法和语法分析方法,旨在为后续相关概 念的使用进行铺垫,同时进一步展示统计建模思想在相关问题上的应用。第四章相 对独立,系统地介绍了机器翻译结果的评价方法,这部分内容也是机器翻译建模及 系统设计所需的前置知识。 本书的第二部分主要介绍统计机器翻译的基本模型。第五章是整个机器翻译建 模的基础。第六章进一步对扭曲度和产出率两个概念进行介绍,同时给出相关的翻 译模型,这些模型在后续章节的内容中都有涉及。第七章和第八章分别介绍了基于 短语和句法的模型。它们都是统计机器翻译的经典模型,其思想也构成了机器翻译 成长过程中最精华的部分。 本书的第三部分主要介绍神经机器翻译模型,该模型也是近些年机器翻译的热 点。第九章介绍了神经网络和深度学习的基础知识以保证本书知识体系的完备性。同 时,第九章也介绍了基于神经网络的语言模型,其建模思想在神经机器翻译中被大 量使用。第十、十一、十二章分别对三种经典的神经机器翻译模型进行介绍,以模型 提出的时间为序,从最初的基于循环网络的模型,到最新的 Transformer模型均有涉 及。其中也会对编码器-解码器框架、注意力机制等经典方法和技术进行介绍。 本书的第四部分会进一步对机器翻译的前沿技术进行讨论,以神经机器翻译为 主。第十三、十四、十五章是神经机器翻译研发的三个主要方面,也是近几年机器翻 译领域讨论最多的几个方向。第十六章也是机器翻译的热门方向之一,包括无监督 翻译等主题都会在这里被讨论。第十七章会对语音、图像翻译等多模态方法以及篇 章级翻译等方法进行介绍,它们可以被看作是机器翻译在更多任务上的扩展。第十 八章会结合笔者在各种机器翻译比赛和机器翻译产品研发的经验,对机器翻译的应 用技术进行讨论。
Page
7
7 机器翻译基础第一部分 第一章 机器翻译简介 第二章 统计语言建模基础 第三章 词法分析和语法分析基础 第四章 翻译质量评价 统计机器翻译第二部分 第五章 基于词的机器翻译建模 第六章 基于扭曲度和繁衍率的模型 第七章 基于短语的模型 第八章 基于句法的模型 神经机器翻译第三部分 第九章 人工神经网络和神经语言建模 第十章 基于循环神经 网络的模型 第十一章 基于卷积神经 网络的模型 第十二章 基于自注意力 的模型 机器翻译前沿第四部分 第十三章 神经机器翻译模型训练 第十四章 神经机器翻译模型推断 第十五章 神经机器翻译 结构优化 第十六章 低资源神经 机器翻译 第十七章 多模态、多层次 机器翻译 第十八章 机器翻译应用技术
Page
8
(This page has no text content)
Page
9
Contents I 机器翻译基础 1 机器翻译简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.1 机器翻译的概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.2 机器翻译简史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.2.1 人工翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.2.2 机器翻译的萌芽 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.2.3 机器翻译的受挫 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.2.4 机器翻译的快速成长 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.2.5 机器翻译的爆发 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.3 机器翻译现状及挑战. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.4 基于规则的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 1.4.1 规则的定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 1.4.2 转换法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.4.3 基于中间语言的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 1.4.4 规则方法的优缺点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 1.5 数据驱动的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 1.5.1 基于实例的机器翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Page
10
1.5.2 统计机器翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 1.5.3 神经机器翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 1.5.4 对比分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 1.6 推荐学习资源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 1.6.1 经典书籍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 1.6.2 相关学术会议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2 统计语言建模基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.1 概率论基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.1.1 随机变量和概率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.1.2 联合概率、条件概率和边缘概率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.1.3 链式法则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.1.4 贝叶斯法则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.1.5 KL 距离和熵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.2 掷骰子游戏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.3 n-gram 语言模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.3.1 建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.3.2 参数估计和平滑算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.3.3 语言模型的评价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.4 预测与搜索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.4.1 搜索问题的建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.4.2 经典搜索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 2.4.3 局部搜索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 2.5 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3 词法分析和语法分析基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.1 问题概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.2 中文分词 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.2.1 基于词典的分词方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.2.2 基于统计的分词方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.3 命名实体识别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.3.1 序列标注任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.3.2 基于特征的统计学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.3.3 基于概率图模型的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.3.4 基于分类器的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Page
11
3.4 句法分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 3.4.1 句法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 3.4.2 上下文无关文法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.4.3 规则和推导的概率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.5 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4 翻译质量评价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 4.1 译文质量评价所面临的挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 4.2 人工评价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.2.1 评价策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.2.2 打分标准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.3 有参考答案的自动评价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 4.3.1 基于词串比对的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 4.3.2 基于词对齐的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 4.3.3 基于检测点的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.3.4 多策略融合的评价方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.3.5 译文多样性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.3.6 相关性与显著性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 4.4 无参考答案的自动评价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.4.1 质量评估任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.4.2 构建质量评估模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.4.3 质量评估的应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 4.5 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 II 统计机器翻译 5 基于词的机器翻译建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.1 词在翻译中的作用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.2 一个简单实例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 5.2.1 翻译的流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 5.2.2 统计机器翻译的基本框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.2.3 单词级翻译模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.2.4 句子级翻译模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 5.2.5 解码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Page
12
5.3 噪声信道模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 5.4 统计机器翻译的三个基本问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 5.4.1 词对齐 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 5.4.2 基于词对齐的翻译模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 5.4.3 基于词对齐的翻译实例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 5.5 IBM 模型 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 5.5.1 IBM 模型 1 的建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 5.5.2 解码及计算优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 5.5.3 训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 5.6 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 6 基于扭曲度和繁衍率的模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 6.1 基于扭曲度的模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 6.1.1 什么是扭曲度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 6.1.2 IBM 模型 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 6.1.3 隐马尔可夫模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 6.2 基于繁衍率的模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 6.2.1 什么是繁衍率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 6.2.2 IBM 模型 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 6.2.3 IBM 模型 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 6.2.4 IBM 模型 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 6.3 解码和训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 6.4 问题分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 6.4.1 词对齐及对称化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 6.4.2 “缺陷”问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 6.4.3 句子长度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 6.4.4 其他问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 6.5 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 7 基于短语的模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 7.1 翻译中的短语信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 7.1.1 词的翻译带来的问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 7.1.2 更大粒度的翻译单元 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 7.1.3 机器翻译中的短语 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Page
13
7.2 数学建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 7.2.1 基于翻译推导的建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 7.2.2 对数线性模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 7.2.3 判别模型中的特征 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 7.2.4 搭建模型的基本流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 7.3 短语抽取 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 7.3.1 与词对齐一致的短语 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 7.3.2 获取词对齐 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 7.3.3 度量双语短语质量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 7.4 翻译调序建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 7.4.1 基于距离的调序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 7.4.2 基于方向的调序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 7.4.3 基于分类的调序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 7.5 翻译特征 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 7.6 最小错误率训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 7.7 栈解码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 7.7.1 翻译候选匹配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 7.7.2 翻译假设扩展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 7.7.3 剪枝 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 7.7.4 解码中的栈结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 7.8 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 8 基于句法的模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 8.1 翻译中句法信息的使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 8.2 基于层次短语的模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 8.2.1 同步上下文无关文法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 8.2.2 层次短语规则抽取 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 8.2.3 翻译特征 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 8.2.4 CKY 解码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 8.2.5 立方剪枝 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 8.3 基于语言学句法的模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 8.3.1 基于句法的翻译模型分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 8.3.2 基于树结构的文法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 8.3.3 树到串翻译规则抽取 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 8.3.4 树到树翻译规则抽取 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 8.3.5 句法翻译模型的特征 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 8.3.6 基于超图的推导空间表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Page
14
8.3.7 基于树的解码 vs 基于串的解码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 8.4 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 III 神经机器翻译 9 人工神经网络和神经语言建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 9.1 深度学习与人工神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 9.1.1 发展简史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 9.1.2 为什么需要深度学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 9.2 神经网络基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 9.2.1 线性代数基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 9.2.2 人工神经元和感知机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 9.2.3 多层神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 9.2.4 函数拟合能力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 9.3 神经网络的张量实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 9.3.1 张量及其计算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 9.3.2 张量的物理存储形式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 9.3.3 张量的实现手段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 9.3.4 前向传播与计算图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 9.4 神经网络的参数训练. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 9.4.1 损失函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 9.4.2 基于梯度的参数优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 9.4.3 参数更新的并行化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 9.4.4 梯度消失、梯度爆炸和稳定性训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 9.4.5 过拟合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 9.4.6 反向传播 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 9.5 神经语言模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 9.5.1 基于前馈神经网络的语言模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 9.5.2 对于长序列的建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 9.5.3 单词表示模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 9.5.4 句子表示模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 9.6 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 10 基于循环神经网络的模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 10.1 神经机器翻译的发展简史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 10.1.1 神经机器翻译的起源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Page
15
10.1.2 神经机器翻译的品质 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 10.1.3 神经机器翻译的优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 10.2 编码器-解码器框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 10.2.1 框架结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 10.2.2 表示学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 10.2.3 简单的运行实例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 10.2.4 机器翻译范式的对比 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 10.3 基于循环神经网络的翻译建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 10.3.1 建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 10.3.2 长短时记忆网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 10.3.3 门控循环单元 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 10.3.4 双向模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 10.3.5 多层神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 10.4 注意力机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 10.4.1 翻译中的注意力机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 10.4.2 上下文向量的计算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 10.4.3 注意力机制的解读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 10.4.4 实例 - GNMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 10.5 训练及推断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 10.5.1 训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 10.5.2 推断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 10.6 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 11 基于卷积神经网络的模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 11.1 卷积神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 11.1.1 卷积核与卷积操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 11.1.2 步长与填充 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 11.1.3 池化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 11.1.4 面向序列的卷积操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 11.2 基于卷积神经网络的翻译建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 11.2.1 位置编码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 11.2.2 门控卷积神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 11.2.3 残差网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 11.2.4 多步注意力机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 11.2.5 训练与推断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Page
16
11.3 局部模型的改进 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 11.3.1 深度可分离卷积 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 11.3.2 轻量卷积和动态卷积 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 11.4 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 12 基于自注意力的模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 12.1 自注意力机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 12.2 Transformer 模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 12.2.1 Transformer 的优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 12.2.2 总体结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 12.3 位置编码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 12.4 基于点乘的多头注意力机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 12.4.1 点乘注意力机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 12.4.2 多头注意力机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 12.4.3 掩码操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 12.5 残差网络和层标准化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 12.6 前馈全连接网络子层. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 12.7 训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 12.8 推断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 12.9 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 IV 机器翻译前沿 13 神经机器翻译模型训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 13.1 开放词表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 13.1.1 大词表和未登录词问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 13.1.2 子词 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 13.1.3 双字节编码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 13.1.4 其他方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 13.2 正则化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 13.2.1 L1/L2 正则化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 13.2.2 标签平滑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 13.2.3 Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Page
17
13.3 对抗样本训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 13.3.1 对抗样本与对抗攻击 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 13.3.2 基于黑盒攻击的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 13.3.3 基于白盒攻击的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 13.4 学习策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 13.4.1 极大似然估计的问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 13.4.2 非 Teacher-forcing 方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 13.4.3 强化学习方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 13.5 知识蒸馏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 13.5.1 什么是知识蒸馏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 13.5.2 知识蒸馏的基本方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 13.5.3 机器翻译中的知识蒸馏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 13.6 基于样本价值的学习. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 13.6.1 数据选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 13.6.2 课程学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 13.6.3 持续学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 13.7 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 14 神经机器翻译模型推断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 14.1 面临的挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 14.2 基本问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 14.2.1 推断方向 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 14.2.2 译文长度控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 14.2.3 搜索终止条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 14.2.4 译文多样性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 14.2.5 搜索错误 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 14.3 轻量模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 14.3.1 输出层的词汇选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 14.3.2 消除冗余计算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 14.3.3 轻量解码器及小模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 14.3.4 批量推断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 14.3.5 低精度运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 14.4 非自回归翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 14.4.1 自回归 vs 非自回归 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 14.4.2 非自回归翻译模型的结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 14.4.3 更好的训练目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 14.4.4 引入自回归模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Page
18
14.4.5 基于迭代精化的非自回归翻译模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 14.5 多模型集成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 14.5.1 假设选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 14.5.2 局部预测融合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 14.5.3 译文重组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 14.6 小结与拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 15 神经机器翻译结构优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 15.1 注意力机制的改进 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 15.1.1 局部信息建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 15.1.2 多分支结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 15.1.3 引入循环机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 15.1.4 高效的自注意力模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 15.2 神经网络连接优化及深层模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 15.2.1 Post-Norm vs Pre-Norm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 15.2.2 高效信息传递 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 15.2.3 面向深层模型的参数初始化策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 15.2.4 深层模型的训练加速 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 15.2.5 深层模型的健壮性训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 15.3 基于句法的神经机器翻译模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 15.3.1 编码器使用句法信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 15.3.2 解码器使用句法信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 15.4 基于结构搜索的翻译模型优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 15.4.1 网络结构搜索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 15.4.2 网络结构搜索的基本方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511 15.4.3 机器翻译任务下的网络结构搜索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 15.5 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 16 低资源神经机器翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 16.1 数据的有效使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 16.1.1 数据增强 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 16.1.2 基于语言模型的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 16.2 双向翻译模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 16.2.1 双向训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 16.2.2 对偶学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Page
19
16.3 多语言翻译模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 16.3.1 基于枢轴语言的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 16.3.2 基于知识蒸馏的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 16.3.3 基于迁移学习的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 16.4 无监督机器翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 16.4.1 无监督词典归纳 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538 16.4.2 无监督统计机器翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 16.4.3 无监督神经机器翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 16.5 领域适应 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 16.5.1 基于数据的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 16.5.2 基于模型的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 16.6 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 17 多模态、多层次机器翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553 17.1 机器翻译需要更多的上下文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553 17.2 语音翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554 17.2.1 音频处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 17.2.2 级联式语音翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 17.2.3 端到端语音翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558 17.3 图像翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562 17.3.1 基于图像增强的文本翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563 17.3.2 图像到文本的翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565 17.3.3 图像、文本到图像的翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 17.4 篇章级翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 17.4.1 篇章级翻译的挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 17.4.2 篇章级翻译的评价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570 17.4.3 篇章级翻译的建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570 17.4.4 在推断阶段结合篇章上下文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574 17.5 小结及拓展阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 18 机器翻译应用技术 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 18.1 机器翻译的应用并不简单 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 18.2 增量式模型优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 18.3 交互式机器翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 18.4 翻译结果的可干预性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 18.5 小设备机器翻译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Page
20
18.6 机器翻译系统的部署. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584 18.7 机器翻译的应用场景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586 随笔 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 后记 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593 V 附录 A 附录 A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 A.1 统计机器翻译开源系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 A.2 神经机器翻译开源系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599 B 附录 B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601 B.1 公开评测任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601 B.2 基准数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603 B.3 平行语料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604 C 附录 C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607 C.1 IBM 模型 2 的训练方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607 C.2 IBM 模型 3 的训练方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608 C.3 IBM 模型 4 的训练方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610 C.4 IBM 模型 5 训练方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
Comments 0
Loading comments...
Reply to Comment
Edit Comment