近些年,机器翻译技术发生了翻天覆地的变化。与人工智能中的其他领域一样,深度神经网络已经成为主流范式,在提高翻译质量的同时也带来了新的挑战。
本书的出版恰逢中国机器翻译研究迅猛发展之时。在过去的二十年里,数据驱动方法对中文给予了特别的重视,无论是在学术研究机构内,还是在新兴的人工智能公司中,中国的研究人员都做了大量工作。
机器翻译模型在现实世界中成功与否取决于它在获取信息、跨越语言障碍进行交流方面的实用性。最终希望机器翻译能够让世界各地的人们增进理解,不管他们的母语是什么。开放的思想交流不仅对于科学研究至关重要,而且对于全人类共同努力以实现自由生活,追求与自然和谐相处的幸福这一共同目标同样重要。
本书内容
深度学习正在彻底改变当今机器翻译系统的构建方式。本书从历史、语言和应用背景等方面介绍了机器翻译和评价所面临的挑战,讲述了自然语言应用中常用的深度学习核心方法。此外,本书还包含使用Python撰写的代码示例,为读者理解和实现自己的机器翻译系统提供了一个实践蓝本。本书内容广泛,涵盖了机器学习技巧、处理各种形式的数据所涉及的问题、模型增强,以及分析和可视化面临的挑战和方法等内容。
本书是对机器翻译应用当前研究的一个总结,可作为相关专业本科生和研究生的教材,也可以作为那些对神经方法在人类语言处理更广泛领域中的应用感兴趣的研究人员和开发人员的参考书。
阅读指南
本书分为三部分。第一部分包含第1~4章,简要介绍机器翻译中的问题、机器翻译技术的实际应用及历史,讨论一直困扰机器翻译领域的译文质量评价问题。第二部分包含第5~9章,解释神经网络、基本机器翻译模型的设计,以及训练和解码的核心算法。第三部分包含第10~17章,既涵盖构建新模型的关键内容,也涉及开放性的挑战问题和一些未解决问题的前沿研究。
本书中的核心概念以四种方式进行介绍:非正式描述、正式的数学定义、插图说明和示例代码(用Python和PyTorch实现)。希望读者能够理解神经机器翻译背后的基础知识,能够实现最先进的模型,并能够修改现有的工具包以实现新颖的想法。
谁适合阅读本书
本书可作为大学本科和研究生课程的教材,也可以与其他应用任务的相关材料一起用于自然语言处理课程或者仅用于侧重机器翻译的课程(其中还应介绍统计机器翻译的某些方面,例如词对齐、更简单的翻译模型和解码算法)。由于本书涵盖了撰写时该领域的最新研究进展,因此它也可以作为该领域研究人员的参考书。
跳读指南
着急的读者可以直接跳到开始介绍核心技术的第5章。第二部分(第5~9章)包含了神经机器翻译的所有基本概念,包括实现此类模型的代码指南。本书的第三部分(也是篇幅最长的部分)包含了构建先进系统所需的许多关键主题。第10章、12.3节和14.1节是必读章节。神经机器翻译是一个快速发展的领域,第11章介绍的Transformer模型能够让你快速了解当前的最新技术。
本书作者
本书译者
大咖推荐
本书系统地介绍了神经机器翻译的基本原理、关键技术和实现方法,深入浅出,通俗易懂,是一部精品之作。译者长期从事机器翻译研究,对技术细节有清楚的了解,翻译质量高。特此向读者推荐。
——黄河燕 北京理工大学教授、博士生导师,人工智能研究院院长
神经机器翻译已经成为本领域国际主流方法。由一流的机器翻译专家翻译一流的机器翻译著作,可谓恰逢其时、相得益彰。这部巨著将成为机器翻译技术学习的宝鉴。
——赵铁军 哈尔滨工业大学教授、博士生导师
本书是著名机器翻译专家科恩博士的上一部著作《统计机器翻译》的姊妹篇。这两部著作是数据驱动的机器翻译的经典文献。本书的出版对推动机器翻译技术研究和开发具有十分重要的意义。
——周明 创新工场首席科学家、澜舟科技创始人
《神经机器翻译》全面深入地阐述了神经机器翻译的基本概念、关键技术和研究进展,为机器翻译及人工智能相关领域的研究者提供了重要参考,有助于激发进一步的研究探索。
——王海峰 百度首席技术官、深度学习技术及应用国家工程实验室主任
科恩博士是著名的机器翻译专家,本书是他继《统计机器翻译》之后的又一部力作,系统阐述了机器翻译的最新进展。两部著作由同一国内顶级机器翻译研发团队牵头翻译,是中文读者的幸运,值得大力推荐。
——张民 哈尔滨工业大学(深圳)特聘校长助理、国家杰出青年基金获得者
近五年来,机器翻译技术在深度学习的推动下产生了重要的范式变迁。本书系统全面地介绍了神经机器翻译的基本问题、重要模型与核心算法,对自然语言处理特别是机器翻译领域的研究人员来说具有重要的参考价值,值得深入阅读。
——刘洋 清华大学智能产业研究院副院长、国家杰出青年基金获得者
目录
上拉下滑查看目录 ↓
作者寄语
译者序
前言
阅读指南
第一部分 绪论
第1章 翻译问题 2
1.1 翻译的目标 2
1.2 歧义性 4
1.2.1 词汇翻译问题 4
1.2.2 短语翻译问题 4
1.2.3 句法翻译问题 5
1.2.4 语义翻译问题 5
1.3 语言学观点 6
1.4 数据视角 9
1.4.1 忠实度 9
1.4.2 流畅度 10
1.4.3 齐普夫定律 11
1.5 实际问题 13
1.5.1 公开的数据 13
1.5.2 评测活动 13
1.5.3 工具集 14
第2章 机器翻译的应用 15
2.1 信息获取 15
2.2 人工辅助翻译 16
2.3 交流 18
2.4 自然语言处理的管道式系统 21
2.5 多模态机器翻译 21
第3章 历史回顾 23
3.1 神经网络 24
3.1.1 生物学启发 24
3.1.2 感知器学习 25
3.1.3 多层网络 25
3.1.4 深度学习 26
3.2 机器翻译 27
3.2.1 密码破译 27
3.2.2 ALPAC报告与后续影响 27
3.2.3 首个商用系统 28
3.2.4 基于中间语言的翻译系统 28
3.2.5 数据驱动的方法 28
3.2.6 开源的研发环境 29
3.2.7 深入用户 30
3.2.8 神经翻译的兴起 30
第4章 评价方法 32
4.1 基于任务的评价 32
4.1.1 真实世界的任务 33
4.1.2 内容理解 33
4.1.3 译员翻译效率 34
4.2 人工评价 35
4.2.1 忠实度和流畅度 35
4.2.2 排序 37
4.2.3 连续分数 38
4.2.4 众包评价 40
4.2.5 人工译文编辑率 41
4.3 自动评价指标 41
4.3.1 BLEU 42
4.3.2 同义词和形态变体 43
4.3.3 TER 44
4.3.4 characTER 45
4.3.5 自举重采样 45
4.4 指标研究 47
4.4.1 关于评价的争论 47
4.4.2 对评价指标的评价 48
4.4.3 自动评价指标缺点的相关证据 49
4.4.4 新的评价指标 50
第二部分 基础
第5章 神经网络 54
5.1 线性模型 54
5.2 多层网络 55
5.3 非线性模型 56
5.4 推断 57
5.5 反向传播训练 59
5.5.1 输出节点权重 60
5.5.2 隐藏层节点权重 61
5.5.3 公式总结 63
5.5.4 权重更新示例 63
5.5.5 验证集 64
5.6 探索并行处理 65
5.6.1 向量和矩阵运算 65
5.6.2 小批量训练 65
5.7 动手实践:使用Python实现神经网络 66
5.7.1 Numpy库中的数据结构和函数 66
5.7.2 前向计算 67
5.7.3 反向计算 67
5.7.4 链式法则的重复使用 68
5.8 扩展阅读 71
第6章 计算图 72
6.1 用计算图描述神经网络 72
6.2 梯度计算 73
6.3 动手实践:深度学习框架 77
6.3.1 利用PyTorch实现前向和反向计算 77
6.3.2 循环训练 79
6.3.3 批训练 80
6.3.4 优化器 81
第7章 神经语言模型 83
7.1 前馈神经语言模型 83
7.1.1 表征单词 84
7.1.2 神经网络架构 85
7.1.3 训练 86
7.2 词嵌入 86
7.3 噪声对比估计 88
7.4 循环神经语言模型 89
7.5 长短时记忆模型 91
7.6 门控循环单元 93
7.7 深度模型 94
7.8 动手实践:PyTorch中的神经语言模型 96
7.8.1 循环神经网络 96
7.8.2 文本处理 97
7.8.3 循环训练 98
7.8.4 建议 99
7.9 扩展阅读 100
第8章 神经翻译模型 101
8.1 编码器–解码器方法 101
8.2 添加对齐模型 102
8.2.1 编码器 102
8.2.2 解码器 103
8.2.3 注意力机制 104
8.3 训练 106
8.4 深度模型 108
8.4.1 解码器 108
8.4.2 编码器 109
8.5 动手实践:利用PyTorch实现神经翻译模型 110
8.5.1 编码器 111
8.5.2 解码器 111
8.5.3 训练 113
8.6 扩展阅读 115
第9章 解码 116
9.1 柱搜索 116
9.2 集成解码 119
9.2.1 生成候选系统 120
9.2.2 融合系统输出 120
9.3 重排序 121
9.3.1 利用从右到左解码的重排序 121
9.3.2 利用反向模型的重排序 122
9.3.3 增加n-best列表的多样性 122
9.3.4 评分组件的权重学习 123
9.4 优化解码 126
9.5 约束解码 127
9.5.1 XML模式 127
9.5.2 网格搜索 127
9.5.3 强制注意力 128
9.5.4 评价 129
9.6 动手实践:Python中的解码 129
9.6.1 假设 129
9.6.2 柱空间 129
9.6.3 搜索 131
9.6.4 输出最佳译文 132
9.7 扩展阅读 133
第三部分 提高
第10章 机器学习技巧 138
10.1 机器学习中的问题 138
10.2 确保随机性 140
10.2.1 打乱训练数据 141
10.2.2 权重初始化 141
10.2.3 标签平滑 142
10.3 调整学习率 142
10.3.1 动量项 142
10.3.2 调整每个参数的学习率 143
10.3.3 批梯度更新 144
10.4 避免局部最优 145
10.4.1 正则化 145
10.4.2 课程学习 145
10.4.3 drop-out法 146
10.5 处理梯度消失和梯度爆炸问题 147
10.5.1 梯度裁剪 147
10.5.2 层归一化 147
10.5.3 捷径连接和高速连接 148
10.5.4 LSTM和梯度消失 149
10.6 句子级优化 150
10.6.1 最小风险训练 150
10.6.2 生成对抗训练 151
10.7 扩展阅读 152
第11章 替代架构 155
11.1 神经网络组件 155
11.1.1 前馈层 155
11.1.2 因子分解 156
11.1.3 基本的数学运算 157
11.1.4 循环神经网络 158
11.1.5 卷积神经网络 159
11.2 注意力模型 160
11.2.1 注意力计算 160
11.2.2 多头注意力 161
11.2.3 细粒度注意力 162
11.2.4 自注意力 162
11.3 卷积机器翻译模型 163
11.4 融合注意力机制的卷积神经网络 165
11.4.1 编码器 165
11.4.2 解码器 166
11.4.3 注意力 167
11.5 自注意力:Transformer 167
11.5.1 自注意力层 167
11.5.2 解码器中的注意力 168
11.6 扩展阅读 171
第12章 重温单词 173
12.1 词嵌入 173
12.1.1 潜在语义分析 174
12.1.2 连续词袋模型 175
12.1.3 Skip Gram 176
12.1.4 GloVe 176
12.1.5 ELMo 177
12.1.6 BERT 178
12.2 多语言词嵌入 178
12.2.1 特定语言词嵌入之间的映射 179
12.2.2 语言无关的词嵌入 180
12.2.3 仅使用单语数据 180
12.3 大词汇表 182
12.3.1 低频词的特殊处理 182
12.3.2 字节对编码算法 183
12.3.3 句子片段化算法 184
12.3.4 期望最大化训练 185
12.3.5 子词正则化 185
12.4 基于字符的模型 186
12.4.1 字符序列模型 186
12.4.2 基于字符的单词表示模型 186
12.4.3 集成基于字符的模型 188
12.5 扩展阅读 189
第13章 领域自适应 195
13.1 领域 195
13.1.1 语料库之间的差异 196
13.1.2 多领域场景 197
13.1.3 领域内与领域外 198
13.1.4 自适应效应 198
13.1.5 合理的警告 199
13.2 混合模型 199
13.2.1 数据插值 199
13.2.2 模型插值 200
13.2.3 领域感知训练 201
13.2.4 主题模型 202
13.3 欠采样 204
13.3.1 Moore-Lewis:语言模型交叉熵 204
13.3.2 基于覆盖范围的方法 205
13.3.3 样本加权 206
13.4 微调 206
13.4.1 约束更新 207
13.4.2 文档级自适应 208
13.4.3 句子级自适应 209
13.4.4 课程训练 210
13.5 扩展阅读 210
第14章 超越平行语料库 214
14.1 使用单语数据 215
14.1.1 增加语言模型 215
14.1.2 回译 216
14.1.3 迭代回译 217
14.1.4 往返训练 217
14.2 多种语言对 218
14.2.1 多种输入语言 219
14.2.2 多种输出语言 219
14.2.3 共享模块 220
14.3 训练相关任务 221
14.3.1 预训练词嵌入 221
14.3.2 预训练编码器和解码器 221
14.3.3 多任务训练 222
14.4 扩展阅读 222
第15章 语言学结构 228
15.1 有指导的对齐训练 228
15.2 建模覆盖度 230
15.2.1 在推断过程中约束覆盖度 230
15.2.2 覆盖度模型 231
15.2.3 繁衍率 232
15.2.4 特征工程与机器学习 232
15.3 添加语言学标注 233
15.3.1 输入句子的语言学标注 233
15.3.2 输出句子的语言学标注 234
15.3.3 语言学结构化的模型 235
15.4 扩展阅读 236
第16章 当前挑战 238
16.1 领域不匹配 238
16.2 训练数据规模 240
16.3 稀有词 241
16.4 噪声数据 243
16.4.1 真实世界中的噪声 243
16.4.2 合成噪声 245
16.4.3 噪声对翻译质量的影响 246
16.5 柱搜索 248
16.6 词对齐 250
16.7 扩展阅读 251
第17章 分析与可视化 253
17.1 错误分析 253
17.1.1 神经机器翻译的典型错误 253
17.1.2 语言学错误类型 255
17.1.3 真实世界中的研究案例 256
17.1.4 目标测试集 257
17.1.5 合成语言 259
17.2 可视化 259
17.2.1 词嵌入 260
17.2.2 编码器状态:词义 261
17.2.3 注意力机制 262
17.2.4 多头注意力机制 263
17.2.5 语言模型预测中的记忆 264
17.2.6 解码器状态 266
17.2.7 柱搜索 266
17.3 探测向量表示 267
17.3.1 分类器方法 267
17.3.2 实验发现 268
17.4 分析神经元 269
17.4.1 认知理论 269
17.4.2 个体神经元 269
17.4.3 揭示神经元 271
17.5 追溯模型决策过程 271
17.5.1 层级间相关性传递 271
17.5.2 相关性传递在机器翻译中的应用 273
17.5.3 显著性计算 274
17.6 扩展阅读 275
参考文献 279
扫码即达↓
更多新书
书讯 | 4月书讯(下)| 上新了,华章
书讯 | 4月书讯(上)| 上新了,华章
Webpack实战:入门、进阶与调优(第2版)
工业物联网:平台架构、关键技术与应用实践
数据安全实践指南
Web渗透测试实战:基于Metasploit 5.0