猜你喜欢
机器阅读理解:算法与实践

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

书籍作者:朱晨光 ISBN:9787111649502
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3107
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
下载地址
内容简介

全书分为三个部分,共计10章内容。第壹部分为基础篇,介绍机器阅读理解的基础知识。其中包括机器阅读理解任务的定义,阅读理解模型中常用的自然语言处理技术和深度学习网络模块等。

第二部分为架构篇,对机器阅读理解任务进行分类,然后介绍解决各类任务的基本模型架构和前沿算法,并剖析对机器阅读理解研究有着革命性影响的预训练模型(如BERT和GPT)。

第三部分为实战篇,包括笔者在2018年获得CoQA阅读理解竞赛名的模型SDNet的代码解读,机器阅读理解在各种工业界应用中的具体落地过程和挑战,以及笔者对于机器阅读理解未来发展方向的思考。


作者简介

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

编辑推荐
适读人群 :本书主要适合于以下读者:1.进行自然语言处理开发的人员2.对人工智能和深度学习感兴趣的人员3.对机器阅读理解想进一步了解的人员

微软人工智能首席技术官黄学东、中国计算机学会秘书长杜子德联袂推荐,微软高级研究员撰写

《机器阅读理解:算法与实践》电子书免费下载

pdf下载 txt下载 epub下载 mobi下载 azw3下载

前言

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


你是想告诉我们,一种没有记忆遗传,相互间用声波进行信息交流,并且是以令人难以置信的每秒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的代码解读、机器阅读理解在各种工业界应用中的具体落地过程和挑战,以及笔者对机器阅读理解未来发展方向的思考。


由于笔者的水平有限,且编写时间仓促,书中难免会存在疏漏,恳请读者朋友批评指正。如果您有更多的宝贵意见,欢迎通过邮箱[email protected]联系我,期待能够得到读者朋友的反馈,在技术之路上互勉共进。


致谢


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


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


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


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


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


谨以此书献给我最亲爱的家人,以


目录

序一


序二


前言


第一篇 基础篇


第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


短评

专业,权威,非常好的一本书

2020-04-09 09:55:49

标签
计算机,NLP