机器阅读理解:算法与实践pdf下载pdf下载

机器阅读理解:算法与实践百度网盘pdf下载

作者:
简介:本篇主要提供机器阅读理解:算法与实践pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2020-04
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色


编辑推荐

适读人群 :1.进行自然语言处理开发的人员2.对人工智能和深度学习感兴趣的人员3.对机器阅读理解想进一步了解的人员

1)微软人工智能首席技术官黄学东、中国计算机学会秘书长杜子德联袂推荐

2)微软高级研究员朱晨光撰写,曾2次获得全球性阅读理解竞赛第一名

3)剖析机器阅读理解支撑技术、模型架构、前沿算法、模型

4)机器阅读理解模型SDNet源码分析与工业级落地应用分析

5)作者荣获51CTO 2020年度“最受读者喜爱的IT图书作者”奖。本书荣获51CTO 2020年度“最受读者喜爱的IT图书”奖。


作者亲授“机器阅读理解”直播课,搭配图书学习效果更佳!

回放&PPT获取方式

1、微信关注“华章计算机”

2、在后台回复关键词:机器阅读理解


内容简介

微软高级研究员撰写,剖析机器阅读理解支撑技术、模型架构、前沿算法、模型SDNet源码与落地应用。

全书分为三篇,共8章内容。基础篇(第1~3章),介绍机器阅读理解的基础知识和关键支撑技术,涵盖机器阅读理解任务的定义,阅读理解模型中常用的自然语言处理技术和深度学习网络模块,例如如何让计算机表示文章和问题、做多项选择题及生成回答等。架构篇(第4~6章),介绍解决各类机器阅读理解任务的基本模型架构和前沿算法,并剖析对机器阅读理解研究有着重要影响的预训练模型(如BERT和GPT)。实战篇(第7~8章),包括笔者在2018年获得CoQA对话阅读理解竞赛第一名时所用的模型SDNet的代码解读,机器阅读理解在各种工业界应用中的具体落地过程和挑战,以及笔者对于机器阅读理解未来发展方向的思考。


作者亲授“机器阅读理解”直播课,搭配图书学习效果更佳!

回放&PPT获取方式

1、微信关注“华章计算机”

2、在后台回复关键词:机器阅读理解


作者简介

朱晨光

微软公司自然语言处理高级研究员、斯坦福大学计算机系博士。负责自然语言处理研究与开发、对话机器人的语义理解、机器阅读理解研究等,精通人工智能、深度学习与自然语言处理,尤其擅长机器阅读理解、文本总结、对话处理等方向。带领团队负责客服对话机器人的语义理解与分析,进行机器阅读理解研究,在斯坦福大学举办的SQuAD 1.0机器阅读理解竞赛中获得全球名,在CoQA对话阅读理解竞赛中成绩超过人类水平并获得名。在人工智能和自然语言处理会议ICLR、ACL、EMNLP、NAACL、ICLR中发表多篇文章。


作者亲授“机器阅读理解”直播课,搭配图书学习效果更佳!

回放&PPT获取方式

1、微信关注“华章计算机”

2、在后台回复关键词:机器阅读理解


精彩书评

现在市面上完整介绍机器阅读理解算法研究与应用现状的书籍非常少见,相关的中文资料更是少之又少。我们团队的朱晨光博士在机器阅读理解领域深耕多年,并曾在多项国际竞赛中带领团队夺得冠军。他写这本书的目的就是将机器阅读理解的真实面貌展现给读者。书中既有对新研究成果的详细介绍,也有他对机器阅读理解未来发展方向的思考。希望本书能够启发各位读者为实现人类水平的机器阅读理解共同努力。

——黄学东博士,微软公司人工智能首席技术官

晨光的这本书系统地介绍了机器阅读理解领域的关键技术、取得的进展,以及存在的问题。相信读者读完本书后,会对这一领域的研究及应用有一个比较清晰的认识。

——杜子德,原中科院计算所研究员,现任中国计算机学会秘书长 

本书作者具有在清华大学和斯坦福大学学习深造的教育背景以及在国际一流IT企业进行相关研究的丰富经历,曾带领团队取得斯坦福大学对话式问答竞赛(CoQA)、斯坦福问答数据集评测(SQuAD 1.0)、AI2 科学问答比赛(ARC)冠军的佳绩,这使本书具有理论方法与一线实战经验兼备、知行合一的显著特点,卓尔不群。目前机器阅读理解研究方兴未艾,本书正当其用,相信一定会受到读者的欢迎。
—— 孙茂松,清华大学计算机系教授、清华大学人工智能研究院常务副院长


最近几年是自然语言处理,特别是机器阅读理解的黄金时代。这个领域的快速发展很可能取得许多我们以前无法想象的成就。我相信从初学者到机器阅读理解专家都会喜欢这本书,因为它很全面,而且以易于理解的方式解释了其中各种复杂的概念。我强烈推荐这本书!
—— Quoc Le,谷歌大脑首席科学家


本书以精练的文笔和详细的实例深入浅出地介绍了机器阅读理解的自然语言处理基础知识、多种模型架构及其在实际应用中的过程与挑战。作者还分享了他在机器阅读理解方面的领先研究成果和对未来发展方向的深入思考。特向从事自然语言处理,尤其是机器阅读理解工作的学生、研究者和工程师热忱推荐此书。
—— 曾南山,微软公司合伙人、语音和对话研究组负责人


我喜欢这本书:它对初学者和长期研究人员都有帮助,可以用于教学、科研,乃至自主学习和尝试。感谢这本书的出现,希望你也会因为它爱上人工智能和自然语言处理。
—— 蒋朦,圣母大学计算机科学与工程系助理教授、数据决策实验室主任

目录

序一


序二


前言


第一篇 基础篇


第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


精彩书摘

序  一

智能可以分为两个层次。一是感知智能,即让计算机可以看见、听见和触摸。在这些领域,人工智能取得了许多突破,包括语音识别、语音合成、计算机视觉等。而更高的层次是认知智能,它需要计算机能够真正理解和分析各种概念、关系、逻辑等。在这个层次,人工智能的进展还处于起步阶段。

语言作为人类进行交流和传播思想的重要媒介,集中承载了最高层级的智能水平。从20世纪50年代提出的图灵测试开始,到深度学习方兴未艾的今天,理解和应用自然语言一直是全世界人工智能研发同行们梦寐以求想解决的共同课题。语音和语言技术是镶在AI皇冠上的明珠。如果计算机在未来的某一天可以完全理解人类的语言,我们就实现了强人工智能。

近年来,机器阅读理解成为语言处理研究中最热门、最前沿的方向之一。利用计算机建立模型,使计算机能像人类一样阅读文章、分析语义和回答问题,有着重要的科研价值和实用价值。从智能客服到搜索引擎,从作文自动评分到智能金融,机器阅读理解技术可以将大量耗时费力的人工分析自动化,极大地提高了社会的生产力。

随着深度学习技术的不断发展,机器阅读理解研究有了长足的进步。在一些特定的任务中,计算机模型的回答已经可以媲美人类的水平,一些媒体也对这些成果冠以“计算机的阅读理解能力已超人类”的标题。但是,现有的模型能力离真正智能的阅读还有很大距离。大多数情况下,模型仍然简单依赖于局部词句的匹配,而并非基于对篇章结构和语义的理解。

一般来说,人工智能如果要在某个领域获得成功,3个因素缺一不可:平台、数据和算法。而随着硬件算力的不断提升和大数据的爆炸式增长,对算法的探索与改进就成为人工智能研究的必争之地。

现在市面上完整介绍机器阅读理解算法研究与应用现状的书籍非常少见,相关的中文资料更是少之又少。我们团队的朱晨光博士在机器阅读理解领域深耕多年,并曾在多项国际竞赛中带领团队夺得冠军。他写这本书的目的就是将机器阅读理解的真实面貌展现给读者。书中既有对最新研究成果的详细介绍,也有他对机器阅读理解未来发展方向的思考。希望本书能够启发各位读者为实现人类水平的机器阅读理解共同努力。

黄学东博士  

微软公司人工智能首席技术官  

序  二

朱晨光博士现在(美国)微软公司担任高级研究员,主要从事自然语言处理方面的研究,包括机器阅读理解、任务驱动对话和文本摘要等。他在CCCF(《中国计算机学会通讯》)上写的一篇特约专稿《机器阅读理解:如何让计算机读懂文章》很受欢迎。机械工业出版社的编辑看到后,特邀他写书。近期,他完成了专著《机器阅读理解:算法与实践》,让我写一段序言。

自然语言处理旨在解决对自然语言的理解和生成问题。自然语言问题是人工智能皇冠上的明珠,是计算机重要的能力之一,也是研究难度很大的一个领域。人类常用的每一种自然语言都有其语法,但由于使用语言的人的风格不同,加上地方话和习惯用语等因素,所产生的语言千变万化。人和人之间的交流和理解一般是没有障碍的,但让计算机理解就非常困难。这是因为,目前的冯·诺依曼计算机体系结构处理有明确规则的事务比较容易,但处理规则多变的事务就显得有些力不从心。

多少年来,研究者提出和发展了很多方法,有基于语言学规则的技术,也有基于统计机器学习的模型。最近一段时间以来,研究者发展了端到端训练的深度学习自然语言处理体系,包括词嵌入、句子嵌入、注意力机制、编码/解码方法以及最近的预训练模型等,大幅提升了模型处理各项任务的能力,给自然语言理解带来了新的、有趣的思路。

机器(就是计算机)阅读理解是自然语言处理中最热门、最前沿的研究课题之一。阅读是人们获得信息的基本手段,没有阅读就没有理解,没有理解就无法交流。市面上已有很多聊天机器人产品,但人们发现这些机器人往往答非所问。究其原因,就是目前采用的技术是“文本比对”的黑盒方式,而实际上机器人并不理解人类在和它说什么。大家知道,人们在交流时是有语境(即上下文)的,通过联想,人们可以方便地理解对方在说什么,但是让机器了解语境确实是一件非常困难的事。为了解决这些问题,研究者提出了许多改进方法,不断提高模型理解对话与文章的能力。而且,一大批阅读理解数据集的发布强有力地推动了技术的发展。

机器阅读除了研究价值以外,还有许多很有意义的应用,比如文本摘要可以省去人们阅读全文的时间,问答系统可以从海量文档中精确地找到用户问题的答案。机器阅读也是翻译和对话的基础,这对计算机辅助人工服务有重大价值。

晨光的这本书系统地介绍了这个领域的关键技术、取得的进展,以及存在的问题。相信读者读完本书后,会对这一领域的研究及应用有一个比较清晰的认识。

晨光在上中学时参加了CCF主办的信息学奥林匹克竞赛,曾获得全国竞赛的金牌,也是国际赛IOI中国队的候选队员。因我是主席,那时就认识他了。他后来被保送到清华大学计算机系读书,毕业后又去斯坦福大学攻读博士学位,然后在微软从事自然语言处理方面的研究,造诣很高。我们很少见面,但一直保持联系。我认为他是一个天资聪颖、学风严谨而又非常通达事理的青年学者,因此非常乐意和他讨论问题。他提出让我写篇序,看到他的新的研究进展,我深感高兴,于是欣然提笔,也借此向他表示祝贺。

杜子德  

原中科院计算所研究员,现任中国计算机学会秘书长  


前言/序言

阅读是人类获取知识、认识世界的重要手段。传承人类文明的语言文字中包含了丰富的信息、经验和智慧,而语言高度浓缩的特性也决定了阅读能力本身就是一项重要的智能。著名科幻小说作家刘慈欣先生在《乡村教师》中曾经这样描述人类语言交流的效率:

你是想告诉我们,一种没有记忆遗传,相互间用声波进行信息交流,并且是以令人难以置信的每秒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联系我,期待能够得到读者朋友的反馈,在技术之路上互勉共进。

致谢

感谢微软公司语音与语言研究团队黄学东、曾南山和各位同事给予我指导和帮助。

感谢中国计算机学会秘书长杜子德先生一直以来对我的鼓励和支持。

感谢高婧雅编辑在本书策划、写作和完稿过程中给予我巨大帮助。

特别感谢我的太太梦云和女儿,在写作这本书的过程中,我牺牲了很多陪伴她们的时间,有了她们的付出与支持,我才能坚持写下去。

同时,感谢我的父母帮助我们照顾女儿,有了你们的支持,我才有时间和精力完成写作。

谨以此书献给我最亲爱的家人,以及众多热爱机器阅读理解技术的朋友们!

朱晨光