书籍详情
神经机器翻译
作者:菲利普·科恩(Philipp Koehn) 著,张家俊,赵阳,宗成庆 译
出版社:机械工业出版社
出版时间:2022-04-01
ISBN:9787111701019
定价:¥139.00
购买这本书可以去
内容简介
本书介绍自然语言处理的一个应用—机器翻译及相关知识。全书分为三部分。第一部分包含第1~4章,简要介绍机器翻译中的问题、机器翻译技术的实际应用及历史,讨论一直困扰机器翻译领域的译文质量评价问题。第二部分包含第5~9章,解释神经网络、基本机器翻译模型的设计,以及训练和解码的核心算法。第三部分包含第10~17章,既涵盖构建新模型的关键内容,也涉及开放性的挑战问题和一些未解决问题的前沿研究。本书主要面向学习自然语言处理或机器翻译相关课程的本科生和研究生,以及相关研究领域的研究人员。
作者简介
作者简介 菲利普·科恩(Philipp Koehn)是约翰斯·霍普金斯大学计算机科学系的教授。他是机器翻译领域的领军人物,于2010年出版了教材Statistical Machine Translation(剑桥大学出版社出版,中文版为《统计机器翻译》)。他曾获国际机器翻译协会颁发的荣誉奖,是2013年欧洲专利局欧洲发明家奖的最终三名入围者之一。他还活跃在科技产业界,是Omniscien Technology公司的首席科学家、Meta公司的顾问。译者简介 张家俊,中国科学院自动化研究所研究员、博士生导师,主要研究方向为机器翻译和自然语言处理,曾获得国家优秀青年科学基金资助,入选中国科协首届青年人才托举工程和北京智源青年科学家。发表CCF-A/B类论文70余篇,出版学术专著2部,6次获得最佳/优秀论文奖,3次被评为IJCAI、ACL和NAACL的杰出SPC和审稿人。曾获得中国中文信息学会钱伟长中文信息处理科学技术奖一等奖、青年创新奖一等奖和北京市科学技术奖一等奖等,曾担任中国中文信息学会机器翻译专委会副主任、青年工作委员会副主任,多次担任ACL/EMNLP/COLING的(资深)领域主席。 赵阳,博士,中国科学院自动化研究所助理研究员。2019年毕业于中国科学院自动化研究所模式识别国家重点实验室,获博士学位。毕业后留所工作,研究方向为自然语言处理与机器翻译,在国内外相关顶级学术会议(AAAI、IJCAI、EMNLP、COLING等)和著名期刊(TASLP、AI、TALLIP等)上发表20余篇论文。担任国际权威期刊(TASLP等)的审稿人,多次担任国际顶级学术会议(ACL、COLING、IJCAI、AAAI)的程序委员会委员,担任COLING-20的出版主席。作为负责人和参与人员,主持和参与国家自然基金、科技部重点研发计划和中国科学院先导计划等多项国家项目。 宗成庆,中国科学院自动化研究所研究员、博士生导师,中国科学院大学岗位教授(A类),中国人工智能学会会士和中国计算机学会会士。主要从事自然语言处理、机器翻译和语言认知计算等研究,主持国家项目10余项,发表论文200余篇,出版《统计自然语言处理》等专著三部和译著一部,是国际计算语言学委员会(ICCL)委员、亚洲自然语言处理学会(AFNLP)主席和中国中文信息学会副理事长。曾任国际一流学术会议ACL 2015程序委员会主席和ACL 2021大会主席。曾荣获国家科技进步奖二等奖和北京市科学技术奖一等奖等,曾获北京市优秀教师、中国科学院优秀导师和宝钢优秀教师奖等若干荣誉,享受国务院特殊津贴。
目录
作者寄语
译者序
前言
阅读指南
第一部分 绪论
第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
译者序
前言
阅读指南
第一部分 绪论
第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
猜您喜欢