猜你喜欢
基于PyTorch的自然语言处理

基于PyTorch的自然语言处理

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

探索计算图和监督学习范式。掌握PyTorch优化张量库的基础。概述传统的NLP概念和方法。学习构建神经网络的基本思想。检查前馈神经网络,例如多层感知器。使用嵌入方式来表示单词、句子、文档等。了解如何使用递归神经网络对序列数据建模。探索序列预测并生成sequence-to-sequence模型。学习用于构建NLP系统的设计模式。


作者简介

Delip Rao是Joostware的创始人,Joostware是一家总部位于旧金山的咨询公司,专门从事机器学习和NLP研究。他还是Fake News Challenge的联合创始人,该活动旨在将黑客和AI研究人员召集在一起,共同研究新闻中与事实相关的问题。Delip之前曾在Twitter和Amazon(Alexa)从事NLP研究和产品的工作。

Brian McMahan是Wells Fargo的NLP研究科学家。 在此之前,他曾在Joostware从事NLP研究。


《基于PyTorch的自然语言处理》电子书免费下载

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

前言

前言

本书旨在将新手带入自然语言处理(Natural Language Processing,NLP)和深度学习的领域,为读者打造涵盖这两个领域关键主题的试验台。如今,这两个主题领域都呈指数增长状态。在介绍深度学习和NLP 并着重于实现的同时,这本书定位于重要的中间立场。写这本书时,我们在省去哪些材料上做出了十分艰难的选择。对于初学者而言,我们希望本书能帮助你打下坚实的知识基础,并让你认识到更高级实现的可能性。机器学习,尤其是深度学习,是一门与知识科学不同的经验学科。每章中大量的端到端代码示例可以让你更好地参与到编程体验中来。

当我们开始编写本书时,我们从PyTorch 0.2 开始。 随着PyTorch 从0.2 更新到0.4,我们也在修订我们的示例。PyTorch 1.0 即将在本书发行时发布。本书中的代码示例与PyTorch 0.4 兼容,并应与即将发布的PyTorch 1.0 版本一起使用。注1

关于本书风格的注释。我们在大多数地方有意避免使用数学,不是因为深度学习数学特别困难(其实没有那么难),而是因为它在许多情况下都偏离了本书的主要目标——鼓励初学者。同样,在许多情况下,无论是在代码方面还是在文本方面,我们都倾向于详细阐述而非简洁。高级读者和经验丰富的编程人员可能有能力和方法简化代码,但是我们选择尽可能明确,以覆盖到接触本书的最广泛受众。

本书内容约定

在本书中,按以下约定进行排版:

斜体英文(Italic)

表示新名词、URL、电子邮件地址、文件名以及文件扩展名。

等宽英文字体(Constant width)

用于程序代码,以及在正文中引用变量、函数名称、数据类型、环境变量、语句、关键字等代码中的元素。

粗体等宽字体(Constant width bold)

需要用户输入的命令或其他文本。

斜体等宽字体(Constant width italic)

需要替换成用户自定义的值或根据上下文决定的值。

使用代码示例

补充材料(代码示例,练习等)可从以下网站下载:

https://nlproc.info/PyTorchNLPBook/repo/。

这本书可以帮助您完成工作。通常,如果本书提供了示例代码,则可以在程序和文档中使用它。除非您要复制大部分代码,否则无需与我们联系以获取许可。例如,编写使用本书中若干代码段的程序无需许可。以CD-ROM 形式出售或发布O’Reilly 书籍中的示例需要获得许可。引用本书并引用示例代码来回答问题无需许可。要将本书中的大量示例代码纳入产品的文档时需获得许可。

我们不强制要求署名,但如果你这么做,我们深表感激。署名一般包括书名、作者、出版社和国际标准书号(ISBN)。例如:“Natural LanguageProcessing with PyTorch by Delip Rao and Brian McMahan (O’Reilly).Copyright 2019, Delip Rao and Brian McMahan, 978-1-491-97823-8. ”。如果你觉得你对示例代码的使用行为超出了合理的方式或超出了上述的允许不获取授权的场景,可以与我们取得联系:[email protected]

O’Reilly 在线学习平台(O’Reilly Online Learning)

近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。

我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O’Reilly 的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O’Reilly 和200 多家其他出版商提供的大量文本和视频资源。有关的更多信息,请访问http://oreilly.com。

联系我们

请将有关本书的建议和问题发送给出版社:

美国:

O’Reilly Media, Inc.

1005 Gravenstein Highway North

Sebastopol, CA 95472

中国:

北京市西城区西直门南大街2号成铭大厦C座807室(100035)

奥莱利技术咨询(北京)有限公司

我们为本书提供了一个网页,上面有勘误表、示例和其他相关的信息,请访问:http://bit.ly/nlprocbk。

有关本书的建议或者技术问题,请发邮件到[email protected]

有关其他图书、讲座、会议、新闻的信息,请访问我们的网站:http://www.oreilly.com。

我们的Facebook:http://facebook.com/oreilly。

我们的Twitter:http://twitter.com/oreillymedia。

我们的YouTube:http://www.youtube.com/oreillymedia。

致谢

本书经历了各种各样的演变,本书的每个版本看上去都与以前的版本不同。每个版本涉及不同的人员(甚至不同的DL 框架)。

作者要感谢Goku Mohandas 最初参与本书的工作。在Goku 因工作原因不得不离开之前,Goku 为该项目投入了很多精力。Goku 对PyTorch 的热情和他的积极性无与伦比,作者想念与他共事的经历。我们期待他带来卓越的成绩!如果没有我们的技术评论员Liling Tan 和Debasish Gosh 的高质量反馈,这本书就无法达到如此的技术层次。Liling 贡献了他在先进的NLP 产品开发方面的专业知识,而Debasish 从开发人员的角度提供了非常有价值的反馈。我们同样感谢Alfredo Canziani,Soumith Chintala 和其他许多来自PyTorch 开发人员论坛的杰出人员所给予的鼓励。该社区对本书的许多见解的影响与我们自身的实践一样重要。

如果不感谢我们的编辑Jeff Bleiel 给予我们的出色支持,那会是我们的失职。没有他的指导,这本书就无法呈现在各位读者面前。Bob Russell 的文字编辑和Nan Barber 的产品支持将这份手稿从草稿转变成了可印刷的书。我们还要感谢Shannon Cutt 在本书早期所给予的支持。

书中的大部分内容都是根据作者在O’Reilly 的AI and Strata 会议上所提供的NLP 培训发展而来,该培训为期2 天。我们要感谢Ben Lorica,Jason Perdue和Sophia DeMartini 与我们一起参与培训。

Delip 非常感谢Brian McMahan 作为合著者。Brian 竭尽全力支持这本书的发展。这是一次与Brian 同甘共苦的旅程! Delip 还想感谢O’Reilly 的Ben Lorica 最初坚持要写一本关于NLP 的书。

Brian 要感谢Sara Manuel 的无尽支持,并感谢Delip Rao 作为推动本书完成的中坚力量。如果没有Delip 的坚持不懈和超凡毅力,就不会有现在这本书。


目录

目录

前言 1

第1 章 概述 7

监督学习范式 9

随机梯度下降法 11

样本和目标编码 12

独热表示(one-hot) 12

词频表示(TF) 14

TF-IDF 表示 15

目标编码 16

计算图 17

PyTorch 基础 19

动态与静态计算图 19

安装PyTorch 20

创建张量 21

张量的类型和大小 23

张量操作 25

索引、切片、连接 27

张量和计算图 31

CUDA 张量 32

练习题 34

答案 35

小结 36

参考文献 36

第2 章 自然语言处理 37

语料库、词和类型 38

特征工程 40

一元,二元,三元,…,n 元模型 41

词形还原和词干提取 41

文档分类 42

单词分类: 词性标注 42

广度分类: 分块和命名实体识别 43

句子结构 44

词义与语义 45

小结 46

参考文献 47

第3 章 神经网络基础 49

感知器: 最简单的神经网络 49

激活函数 51

sigmoid 52

Tanh 53

ReLU 53

Softmax 54

损失函数 55

均方误差损失 56

分类交叉熵损失 56

交叉熵损失 58

深入监督训练 59

构造样例数据 59

综合起来: 基于梯度的监督学习 62

辅助训练的概念 63

正确度量模型性能:评估指标 64

正确度量模型性能:分割数据集 64

知道何时停止训练 65

找到合适的超参数 65

规范化 66

案例: 餐馆评论分类 67

Yelp 评论数据集 68

理解PyTorch 的数据集表示 70

词汇表(Vocabulary)、矢量化器(Vectorizer) 和数据转换器(DataLoader) 73

一种感知器分类器 79

训练程序 80

评估、推断和检查 86

测试数据评估 87

小结 90

参考文献 91

第4 章 用于自然语言处理的前馈网络 93

多层感知器 94

一个简单的例子: 二分类 96

在PyTorch 中实现MLP 98

示例:用MLP 进行姓氏分类 102

姓氏数据集 103

Vocabulary、Vectorizer 和DataLoader 104

姓氏分类器模型 106

训练程序 108

模型评估及预测 110

正则化MLP: 权重正则化和结构正则化( 或Dropout) 112

卷积神经网络 114

CNN 超参数 115

在PyTorch 中实现CNN 120

示例:使用CNN 对姓氏进行分类 123

姓氏数据集类 124

词汇表、矢量化程序和数据转换器 125

用卷积网络重新实现姓氏分类器 126

培训程序 128

模型评估及预测 129

CNN 中的杂项主题 130

池化 130

批规范化(BatchNorm) 131

网络中的网络连接(1x1 卷积) 131

残差连接/ 残差块 132

小结 133

参考文献 134

第5 章 嵌入单词和类型 135

为什么学习嵌入? 136

嵌入的效率 137

学习单词嵌入的方法 138

预置字的实际使用 138

示例:连续词袋模型的嵌入 145

Frankenstein 数据集 146

Vocabulary、Vectorizer 和DataLoader 148

CBOWClassifier 模型 149

训练程序 150

模型评估及预测 151

示例:使用预先训练的嵌入进行文档分类 151

新闻数据集 152

Vocabulary、Vectorizer 和DataLoader 153

NewsClassifier 模型 156

训练程序 159

模型评估及预测 160

小结 161

参考文献 162

第6 章 自然语言处理的序列建模 165

递归神经网络简介 166

实现Elman RNN 169

示例:使用字符RNN 对姓氏国籍进行分类 171

SurnameDataset 类 171

矢量化数据结构 173

姓氏分类器模型 174

训练程序和结果 177

小结 178

参考文献 178

第7 章 自然语言处理的中级序列建模 179

普通RNN(或Elman RNN)的问题 180

用门控方法解决普通RNN 存在的问题 181

示例:用于生成姓氏的字符RNN 183

SurnameDataset 类 183

矢量化数据结构 185

从ElmanRNN 到GRU 187

模型1:无条件的姓氏生成模型 187

模型2:条件姓氏生成模型 189

训练程序和结果 190

训练序列模型的技巧和窍门 196

参考文献 198

第8 章 自然语言处理的高级序列建模 199

序列到序列模型,编码器- 解码器模型和条件生成 199

从序列中捕获更多信息:双向递归模型 203

从序列中捕获更多信息:注意力 205

深度神经网络中的注意力 207

评估序列生成模型 209

示例:神经机器翻译 211

机器翻译数据集 212

NMT 的矢量化管道 213

NMT 模型中的编码和解码 218

训练程序和结果 229

小结 231

参考文献 232

第9 章 经典,前沿与下一步发展 235

到目前为止,我们学到了什么? 235

NLP 中的永恒主题 236

对话与交互系统 236

话语 237

信息提取与文本挖掘 239

文件分析与检索 239

NLP 前沿 239

生产NLP 系统的设计模式 241

接下来呢? 246

参考文献 247

作者介绍 249

封面介绍 249


短评

送货快,外包装完好,书的质量没的说

2020-07-30 08:31:50

不错,挺好的

2020-08-11 23:44:00

很不错的一本书,从基础到拓展,有实例,非常好用。我觉得新手的确可以考虑入手。从其他领域跳过来的也可以借鉴。

2020-07-27 22:42:55

产品特色