首页>参考读物>计算机科学与技术>人工智能

机器阅读理解:算法与实践
作者 : 朱晨光
出版日期 : 2020-03-24
ISBN : 978-7-111-64950-2
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 243
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

全书分为三个部分,共计10章内容。第一部分为基础篇,介绍机器阅读理解的基础知识。其中包括机器阅读理解任务的定义,阅读理解模型中常用的自然语言处理技术和深度学习网络模块等。
第二部分为架构篇,对机器阅读理解任务进行分类,然后介绍解决各类任务的基本模型架构和前沿算法,并剖析对机器阅读理解研究有着革命性影响的预训练模型(如BERT和GPT)。
第三部分为实战篇,包括笔者在2018年获得CoQA阅读理解竞赛第一名的模型SDNet的代码解读,机器阅读理解在各种工业界应用中的具体落地过程和挑战,以及笔者对于机器阅读理解未来发展方向的思考。

图书特色

微软人工智能首席技术官黄学东、中国计算机学会秘书长杜子德联袂推荐,微软高级研究员撰写
剖析机器阅读理解支撑技术、模型架构、前沿算法、模型SDNet源码与落地应用

图书前言

阅读是人类获取知识、认识世界的重要手段。传承人类文明的语言文字中包含了丰富的信息、经验和智慧,而语言高度浓缩的特性也决定了阅读能力本身就是一项重要的智能。著名科幻小说作家刘慈欣先生在《乡村教师》中曾经这样描述人类语言交流的效率:
你是想告诉我们,一种没有记忆遗传,相互间用声波进行信息交流,并且是以令人难以置信的每秒1至10比特的速率进行交流的物种,能创造出5B级文明?! 而且这种文明是在没有任何外部高级文明培植的情况下自行进化的?!
根据测算,人类阅读的平均速度约为说话语速的2~3倍。因此,粗略估算一下,一个人哪怕50年如一日地每天阅读8个小时,最终获取的文字信息量也只有4.9GB左右。但人类的文明和智慧程度远远超过了这个量级。可以说,阅读是一种通过理解将精简的文字抽象成概念和思想以及衍生知识的复杂过程。
在人工智能浪潮席卷世界的今天,让计算机学会阅读有着重要的意义。一方面,阅读能力涉及人类的核心智能,也是终极人工智能必不可少的组成部分;另一方面,随着文本数据的爆炸式增长,利用模型将文本信息的理解过程自动化,可节省大量人力物力成本,在许多行业有着广泛的使用价值。
因此,最近三四年,自然语言处理十分热门、前沿的研究课题之一就是机器阅读理解。其研究目标是让计算机读懂文章,并像人类一样回答与文章相关的问题。大量人工智能和深度学习中的核心技术被运用到这一领域,各种机器阅读理解任务层出不穷。笔者有幸作为最早涉足这一领域的研究者之一,设计并实现了若干阅读理解模型,并在斯坦福大学主办的机器阅读理解竞赛SQuAD中获得了第一名的成绩,在CoQA竞赛中让计算机模型的得分首次超越了人类的得分。
然而,随着计算机模型在越来越多的数据集上得分超过人类,一些媒体在相关报道中都冠以“计算机阅读理解水平已超人类”的标题,这也在一定程度上对“人工智能已经可以取代人类”的说法有推波助澜的作用。而作为实际参与模型设计的研究者,笔者深深感觉计算机与人类理解文章和进行思考的能力相差甚远。当前的机器阅读理解模型和十年前的成果相比已经有了巨大的飞跃,但只是在特定的数据集与限定的任务上超过了人类水平。已有研究表明,如果在文章中加入一个对于人类来说很容易判断的迷惑性句子,就会使计算机模型的表现大打折扣。
另外,与机器阅读理解研究热潮不匹配的是,到目前为止,市面上还没有这方面的书籍,大多数模型都是以学术论文方式发表的,而机器阅读理解在工业界应用方面的资料更是寥寥无几。笔者写这本书的目的在于客观地展现当前机器阅读理解研究的现状,从最基础的模块、阅读理解模型的基本架构直到最前沿的算法,完整地展现机器阅读理解模型的核心知识。书中有大量笔者在构建阅读理解模型过程中精炼出的代码实例,这些实例有着很强的实战价值。所有代码均上传至https://github.com/zcgzcgzcg1/MRC_book,并可直接运行。本书还详细阐述了机器阅读理解模型在智能客服、搜索引擎等各种工业界应用中落地的方法、难点和挑战,并探讨了这项研究未来的发展方向。
虽然当前机器阅读理解的能力远逊于人类,但我们可以利用计算机的超快运算速度和超大存储能力找到“弯道超车”的方法。所谓“熟读唐诗三百首,不会吟诗也会吟”,而现在的计算机一秒内就可以读诗千万首,我们完全有理由期待它能取得突破性的成果。例如,2018年横空出世的BERT模型融合了大数据和大模型,在机器阅读理解等多个自然语言处理领域取得了可喜的突破。笔者希望本书能够给大家带来启发和思考,在不远的将来能够真正使计算机达到并超过人类阅读理解的水平。
全书分为3篇,共8章内容。
基础篇(第1~3章),主要介绍机器阅读理解的基础知识和关键支撑技术。其中包括机器阅读理解任务的定义、阅读理解模型中常用的自然语言处理技术和深度学习网络模块,例如如何让计算机表示文章和问题、做多项选择题和生成回答等。
架构篇(第4~6章),介绍解决各类机器阅读理解任务的基本模型架构和前沿算法,并剖析对机器阅读理解研究有着革命性影响的预训练模型(如BERT和GPT)。
实战篇(第7~8章),其中包括笔者在2018年获得CoQA阅读理解竞赛第一名时所用的模型SDNet的代码解读、机器阅读理解在各种工业界应用中的具体落地过程和挑战,以及笔者对机器阅读理解未来发展方向的思考。
由于笔者的水平有限,且编写时间仓促,书中难免会存在疏漏,恳请读者朋友批评指正。如果您有更多的宝贵意见,欢迎通过邮箱zcg.stanford@gmail.com联系我,期待能够得到读者朋友的反馈,在技术之路上互勉共进。
致谢
感谢微软公司语音与语言研究团队黄学东、曾南山和各位同事给予我指导和帮助。
感谢中国计算机学会秘书长杜子德先生一直以来对我的鼓励和支持。
感谢高婧雅编辑在本书策划、写作和完稿过程中给予我巨大帮助。
特别感谢我的太太梦云和女儿,在写作这本书的过程中,我牺牲了很多陪伴她们的时间,有了她们的付出与支持,我才能坚持写下去。
同时,感谢我的父母帮助我们照顾女儿,有了你们的支持,我才有时间和精力完成写作。
谨以此书献给我最亲爱的家人,以及众多热爱机器阅读理解技术的朋友们!

朱晨光

上架指导

人工智能\自然语言处理

封底文字

本书作者具有在清华大学和斯坦福大学学习深造的教育背景以及在国际一流IT企业进行相关研究的丰富经历,曾带领团队取得斯坦福大学对话式问答竞赛(CoQA)、斯坦福问答数据集评测(SQuAD 1.0)、AI2 科学问答比赛(ARC)全球第一的佳绩,这使本书具有理论方法与一线实战经验兼备、知行合一的显著特点,卓尔不群。目前机器阅读理解研究方兴未艾,本书正当其用,相信一定会受到读者的欢迎。
—— 孙茂松,清华大学计算机系教授、清华大学人工智能研究院常务副院长
最近几年是自然语言处理,特别是机器阅读理解的黄金时代。这个领域的快速发展很可能取得许多我们以前无法想象的成就。我相信从初学者到机器阅读理解专家都会喜欢这本书,因为它很全面,而且以易于理解的方式解释了其中各种复杂的概念。我强烈推荐这本书!
—— Quoc Le,谷歌大脑首席科学家
本书以精练的文笔和详细的实例深入浅出地介绍了机器阅读理解的自然语言处理基础知识、多种模型架构及其在实际应用中的过程与挑战。作者还分享了他在机器阅读理解方面的领先研究成果和对未来发展方向的深入思考。特向从事自然语言处理,尤其是机器阅读理解工作的学生、研究者和工程师热忱推荐此书。
—— 曾南山,微软公司合伙人、语音和对话研究组负责人
我喜欢这本书:它对初学者和长期研究人员都有帮助,可以用于教学、科研,乃至自主学习和尝试。感谢这本书的出现,希望你也会因为它爱上人工智能和自然语言处理。
—— 蒋朦,圣母大学计算机科学与工程系助理教授、数据决策实验室主任

作者简介

朱晨光:朱晨光,微软公司自然语言处理高级研究员、斯坦福大学计算机系博士。负责自然语言处理研究与开发、对话机器人的语义理解、机器阅读理解研究等,精通人工智能、深度学习与自然语言处理,尤其擅长机器阅读理解、文本总结、对话处理等方向。带领团队负责客服对话机器人的语义理解与分析,进行机器阅读理解研究,在斯坦福大学举办的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

教学资源推荐
作者: 郭斌、刘思聪、王柱 等著
作者: Joseph C. Giarratano, Gary D. Riley
作者: Joseph Giarratano Gary D.Riley
作者: Nils J.Nilsson
参考读物推荐
作者: 彭河森 汪涵 著
作者: (美)乌黛·卡马特(Uday Kamath)克里希纳·肖佩拉(Krishna Choppella)著
作者: [阿联酋] 赫德林·德·庞特维斯(Hadelin de Ponteves) 著