微软高级研究员撰写,剖析机器阅读理解支撑技术、模型架构、前沿算法、模型SDNet源码与落地应用。
全书分为三篇,共8章内容。基础篇(第1~3章),介绍机器阅读理解的基础知识和关键支撑技术,涵盖机器阅读理解任务的定义,阅读理解模型中常用的自然语言处理技术和深度学习网络模块,例如如何让计算机表示文章和问题、做多项选择题及生成回答等。架构篇(第4~6章),介绍解决各类机器阅读理解任务的基本模型架构和前沿算法,并剖析对机器阅读理解研究有着重要影响的预训练模型(如BERT和GPT)。实战篇(第7~8章),包括笔者在2018年获得CoQA对话阅读理解竞赛第一名时所用的模型SDNet的代码解读,机器阅读理解在各种工业界应用中的具体落地过程和挑战,以及笔者对于机器阅读理解未来发展方向的思考。
......(更多)
朱晨光
微软公司自然语言处理高级研究员、斯坦福大学计算机系博士。负责自然语言处理研究与开发、对话机器人的语义理解、机器阅读理解研究等,精通人工智能、深度学习与自然语言处理,尤其擅长机器阅读理解、文本总结、对话处理等方向。带领团队负责客服对话机器人的语义理解与分析,进行机器阅读理解研究,在斯坦福大学举办的SQuAD 1.0机器阅读理解竞赛中获得全球名,在CoQA对话阅读理解竞赛中成绩超过人类水平并获得名。在人工智能和自然语言处理会议ICLR、ACL、EMNLP、NAACL、ICLR中发表多篇文章。
......(更多)
序一
序二
前言
第一篇 基础篇
第1章 机器阅读理解与关键支撑技术 2
1.1 机器阅读理解任务 2
1.1.1 机器阅读理解模型 3
1.1.2 机器阅读理解的应用 4
1.2 自然语言处理 5
1.2.1 研究现状 5
1.2.2 仍需解决的问题 6
1.3 深度学习 7
1.3.1 深度学习的特点 7
1.3.2 深度学习的成果 10
1.4 机器阅读理解任务的测评方式 11
1.4.1 机器阅读理解的答案形式 11
1.4.2 自由回答式答案评分标准ROUGE 12
1.5 机器阅读理解数据集 14
1.5.1 单段落式数据集 14
1.5.2 多段落式数据集 19
1.5.3 文本库式数据集 22
1.6 机器阅读理解数据的生成 23
1.6.1 数据集的生成 23
1.6.2 标准答案的生成 24
1.6.3 如何设计高质量的数据集 26
1.7 本章小结 30
第2章 自然语言处理基础 31
2.1 文本分词 31
2.1.1 中文分词 32
2.1.2 英文分词 33
2.1.3 字节对编码BPE 35
2.2 语言处理的基石:词向量 37
2.2.1 词的向量化 37
2.2.2 Word2vec词向量 39
2.3 命名实体和词性标注 42
2.3.1 命名实体识别 42
2.3.2 词性标注 44
2.4 语言模型 48
2.4.1 N元模型 49
2.4.2 语言模型的评测 52
2.5 本章小结 53
第3章 自然语言处理中的深度学习 54
3.1 从词向量到文本向量 54
3.1.1 利用RNN的最终状态 55
3.1.2 利用CNN和池化 55
3.1.3 利用含参加权和 58
3.2 让计算机做选择题:自然语言理解 59
3.2.1 网络模型 59
3.2.2 实战:文本分类 60
3.3 让计算机写文章:自然语言生成 62
3.3.1 网络模型 62
3.3.2 实战:生成文本 63
3.3.3 集束搜索 65
3.4 让计算机专心致志:注意力机制 67
3.4.1 注意力机制的计算 68
3.4.2 实战:利用内积函数计算注意力 69
3.4.3 序列到序列模型 69
3.5 本章小结 70
第二篇 架构篇
第4章 机器阅读理解模型架构 72
4.1 总体架构 72
4.2 编码层 74
4.2.1 词表的建立和初始化 74
4.2.2 字符编码 75
4.2.3 上下文编码 77
4.3 交互层 79
4.3.1 互注意力 79
4.3.2 自注意力 81
4.3.3 上下文编码 82
4.4 输出层 83
4.4.1 构造问题的向量表示 83
4.4.2 多项选择式答案生成 84
4.4.3 区间式答案生成 85
4.4.4 自由式答案生成 87
4.5 本章小结 93
第5章 常见机器阅读理解模型 94
5.1 双向注意力流模型 94
5.1.1 编码层 94
5.1.2 交互层 95
5.1.3 输出层 98
5.2 R-net 99
5.2.1 基于注意力的门控循环神经网络 100
5.2.2 网络架构 101
5.3 融合网络 104
5.3.1 单词历史 104
5.3.2 全关注注意力 105
5.3.3 总体架构 106
5.4 关键词检索与阅读模型 109
5.4.1 检索器 110
5.4.2 阅读器 112
5.5 本章小结 115
第6章 预训练模型 116
6.1 预训练模型和迁移学习 116
6.2 基于翻译的预训练模型CoVe 118
6.2.1 机器翻译模型 119
6.2.2 上下文编码 120
6.3 基于语言模型的预训练模型ELMo 121
6.3.1 双向语言模型 122
6.3.2 ELMo的使用 123
6.4 生成式预训练模型GPT 125
6.4.1 Transformer 125
6.4.2 GPT模型架构 129
6.4.3 GPT使用方法 129
6.5 划时代的预训练模型BERT 131
6.5.1 双向语言模型 131
6.5.2 判断下一段文本 132
6.5.3 BERT预训练细节 133
6.5.4 BERT在目标任务中的使用 133
6.5.5 实战:在区间答案型机器阅读理解任务中微调BERT 137
6.6 本章小结 138
第三篇 实战篇
第7章 机器阅读理解模型SDNet代码解析 140
7.1 多轮对话式阅读理解模型SDNet 140
7.1.1 编码层 141
7.1.2 交互层与输出层 142
7.2 SDNet代码介绍与运行指南 143
7.2.1 代码介绍 143
7.2.2 运行指南 143
7.2.3 配置文件 145
7.3 预处理程序 147
7.3.1 初始化函数 148
7.3.2 预处理函数 149
7.4 训练程序 154
7.4.1 训练基类 154
7.4.2 训练子类 155
7.5 批次数据产生器 159
7.5.1 掩码 160
7.5.2 准备BERT数据 164
7.6 SDNet模型 166
7.6.1 网络模型类 166
7.6.2 计算层 171
7.6.3 生成BERT编码 177
7.7 本章小结 178
第8章 机器阅读理解的应用与未来 179
8.1 智能客服 179
8.1.1 建立产品客服知识库 180
8.1.2 理解用户意图 181
8.1.3 答案生成 183
8.1.4 智能客服中的其他模块 183
8.2 搜索引擎 184
8.2.1 搜索引擎技术 185
8.2.2 搜索引擎中的机器阅读理解 187
8.2.3 未来与挑战 188
8.3 医疗卫生 189
8.4 法律 190
8.4.1 智能审判 191
8.4.2 确定适用条款 192
8.5 金融 193
8.5.1 股价预测 193
8.5.2 新闻摘要 195
8.6 教育 196
8.7 机器阅读理解的未来 196
8.7.1 机器阅读理解研究面临的挑战 197
8.7.2 机器阅读理解的产业化 202
8.8 本章小结 203
附录A 机器学习基础 205
附录B 深度学习基础 208
......(更多)
......(更多)