《神经机器翻译》简介:
本书介绍了机器翻译和评估的挑战——包括历史、语言和应用环境,然后提出了用于自然语言应用的核心深度学习方法。内含Python代码示例,为读者提供理解和实现自己的机器翻译系统的实际蓝图。本书还提供了广泛的机器学习技巧,涉及的问题包括处理各种形式的数据、模型的增强、当前的挑战以及方法分析和可视化。本书包含机器翻译领域的前沿研究,适用于该领域的本科和研究生,以及对神经方法在更广泛的人类语言处理领域的其他应用感兴趣的研究人员,也可以作为开发人员的重要参考。
《神经机器翻译》目录:
作者寄语
译者序
前言
阅读指南
第一部分 绪论
第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
· · · · · ·