• 基于BERT模型的自然语言处理实战
21年品牌 40万+商家 超1.5亿件商品

基于BERT模型的自然语言处理实战

正版保障 假一赔十 可开发票

92.74 6.7折 138 全新

库存3件

广东广州
认证卖家担保交易快速发货售后保障

作者李金洪

出版社电子工业出版社

ISBN9787121414084

出版时间2021-07

装帧平装

开本16开

定价138元

货号12246068

上书时间2024-12-23

灵感书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介

李金洪,擅长神经网络、算法、协议分析、逆向、移动互联网安全架构等技术;先后担任过CAD算法工程师、手机游戏主程、架构师、项目经理、CTO、部门经理、资深产品总监等职位,目前创业中。



目录

第1篇 入门――基础知识与编程框架


第1章 BERT模型很强大,你值得拥有 /2

★1.1 全球欢腾,喜迎BERT模型 /2

★1.2 为什么BERT模型这么强 /3

★1.3 怎么学习BERT模型 /4

1.3.1 BERT模型的技术体系 /4

1.3.2 学好自然语言处理的4件套――神经网络的基础知识、NLP的基础知识、编程框架的使用、BERT模型的原理及应用 /4

1.3.3 学习本书的前提条件 /5

★1.4 自然语言处理的技术趋势 /5

1.4.1 基于超大规模的高精度模型 /6

1.4.2 基于超小规模的高精度模型 /6

1.4.3 基于小样本训练的模型 /6


第2章 神经网络的基础知识――可能你掌握得也没有那么牢 /7

★2.1 什么是神经网络 /7

2.1.1 神经网络能解决哪些问题 /7

2.1.2 神经网络的发展 /7

2.1.3 什么是深度学习 /8

2.1.4 什么是图神经网络 /8

2.1.5 什么是图深度学习 /9

★2.2 神经网络的工作原理 /10

2.2.1 了解单个神经元 /10

2.2.2 生物神经元与计算机神经元模型的结构相似性 /12

2.2.3 生物神经元与计算机神经元模型的工作流程相似性 /12

2.2.4 神经网络的形成 /13

★2.3 深度学习中包含了哪些神经网络 /13

2.3.1 全连接神经网络 /13

2.3.2 卷积神经网络 /17

2.3.3 循环神经网络 /23

2.3.4 带有注意力机制的神经网络 /30

2.3.5 自编码神经网络 /34

★2.4 图深度学习中包含哪些神经网络 /36

2.4.1 同构图神经网络 /37

2.4.2 异构图神经网络 /37

★2.5 激活函数――加入非线性因素,以解决线性模型的缺陷 /38

2.5.1 常用的激活函数 /38

2.5.2 更好的激活函数――Swish()与Mish() /41

2.5.3 更适合NLP任务的激活函数――GELU() /43

2.5.4 激活函数总结 /44

2.5.5 分类任务与Softmax算法 /44

★2.6 训练模型的原理 /45

2.6.1 反向传播与BP算法 /47

2.6.2 神经网络模块中的损失函数 /49

2.6.3 学习率 /50

2.6.5 优化器 /51

2.6.6 训练模型的相关算法,会用就行 /52

★2.7 【实例】用循环神经网络实现退位减法 /52

★2.8 训练模型中的常见问题及优化技巧 /56

2.8.1 过拟合与欠拟合问题 /56

2.8.2 改善模型过拟合的方法 /56

2.8.3 了解正则化技巧 /57

2.8.4 了解Dropout技巧 /57

2.8.5 Targeted Dropout与Multi-sample Dropout /58

2.8.6 批量归一化(BN)算法 /59

2.8.7 多种BN算法的介绍与选取 /64

2.8.8 全连接网络的深浅与泛化能力的联系 /64


第3章 NLP的基础知识――NLP没那么“玄” /65

★3.1 NLP的本质与原理 /65

3.1.1 情感分析、相似度分析等任务的本质 /65

3.1.2 完形填空、实体词识别等任务的本质 /66

3.1.3 文章摘要任务、问答任务、翻译任务的本质 /67

★3.2 NLP的常用工具 /68

3.2.1 自然语言处理工具包――SpaCy /68

3.2.2 中文分词工具――Jieba /69

3.2.3 中文转拼音工具――Pypinyin /69

3.2.4 评估翻译质量的算法库――SacreBLEU /70

★3.3 计算机中的字符编码 /70

3.3.1 什么是ASCII编码 /71

3.3.2 为什么会出现乱码问题 /71

3.3.3 什么是Unicode /71

3.3.4 借助Unicode 处理中文字符的常用操作 /73

★3.4 计算机中的词与句 /74

3.4.1 词表与词向量 /75

3.4.2 词向量的原理及意义 /75

3.4.3 多项式分布 /76

3.4.4 什么是依存关系分析 /77

3.4.5 什么是TF /79

3.4.6 什么是IDF /79

3.4.7 什么是TF-IDF /80

3.4.8 什么是BLEU /80

★3.5 什么是语言模型 /81

3.5.1 统计语言模型 /81

3.5.2 CBOW与Skip-Gram语言模型 /81

3.5.3 自编码(Auto Encoding,AE)语言模型 /82

3.5.4 自回归(Auto Regressive,AR)语言模型 /83

★3.6 文本预处理的常用方法 /83

3.6.1 NLP数据集的获取与清洗 /83

3.6.2 基于马尔可夫链的数据增强 /84


第4章 搭建编程环境――从安装开始,更适合零基础入门 /87

★4.1 编程框架介绍 /87

4.1.1 PyTorch介绍 /87

4.1.2 DGL库介绍 /88

4.1.3 支持BERT模型的常用工具库介绍 /89

★4.2 搭建Python开发环境 /89

★4.3 搭建PyTorch开发环境 /91

★4.4 搭建DGL环境 /95

★4.5 安装Transformers库 /96


第2篇 基础――神经网络与BERT模型


第5章 PyTorch编程基础 /100

★5.1 神经网络中的基础数据类型 /100

★5.2 矩阵运算的基础 /101

5.2.1 转置矩阵 /101

5.2.2 对称矩阵及其特性 /101

5.2.3 对角矩阵与单位矩阵 /101

5.2.4 阿达玛积(Hadamard Product) /102

5.2.5 点积(Dot Product) /102

5.2.6 对角矩阵的特性与操作方法 /103

★5.3 PyTorch中的张量 /104

5.3.1 定义张量的方法 /105

5.3.2 生成随机值张量 /107

5.3.3 张量的基本操作 /108

5.3.4 在CPU和GPU控制的内存中定义张量 /112

5.3.5 张量间的数据操作 /113

★5.4 Variable类型与自动微分模块 /118

5.4.1 Variable对象与Tensor对象之间的转换 /118

5.4.2 控制梯度计算的方法 /119

5.4.3 Variable对象的属性 /121

★5.5 【实例】用PyTorch实现一个简单模型 /124

5.5.1 准备可复现的随机数据 /124

5.5.2 实现并训练模型 /125

5.5.3 可视化模型能力 /128

★5.6 定义模型结构的常用方法 /129

5.6.1 Module类的使用方法 /129

5.6.2 模型中的参数(Parameters变量) /131

5.6.3 为模型添加参数 /132

5.6.4 从模型中获取参数 /133

5.6.5 激活模型接口 /135

5.6.6 L2正则化接口 /136

5.6.7 Dropout接口 /136

5.6.8 批量归一化接口 /137

5.6.9 【实例】手动实现BN的计算方法 /139

★5.7 保存与载入模型的常用方法 /141

★5.8 训练模型的接口与使用 /143

5.8.1 选取训练模型中的损失函数 /143

5.8.2 【实例】Softmax接口的使用 /144

5.8.3 优化器的使用与优化参数的查看 /146

5.8.4 用退化学习率训练模型 /147

5.8.5 为模型添加钩子函数 /152

5.8.6 多显卡的训练方法 /153

5.8.7 梯度累加的训练方法 /153

★5.9 处理数据集的接口与使用 /154

5.9.1 用DataLoader类实现自定义数据集 /155

5.9.2 DataLoader类中的多种采样器子类 /155

5.9.3 Torchtext工具与内置数据集 /156

★5.10 【实例】训练中文词向量 /157

5.10.1 用Jieba库进行中文样本预处理 /158

5.10.2 按照Skip-Gram规则制作数据集 /159

5.10.3 搭建模型并进行训练 /161

5.10.4 夹角余弦值介绍 /164

★5.11 卷积神经网络的实现 /166

5.11.1 了解卷积接口 /166

5.11.2 卷积操作的类型 /168

5.11.3 卷积参数与卷积结果的计算规则 /169

5.11.4 【实例】卷积函数的使用 /169

5.11.5 了解池化接口 /174

5.11.6 【实例】池化函数的使用 /175

★5.12 【实例】用卷积神经网络实现文本分类任务 /177

5.12.1 了解用于文本分类的卷积网络――TextCNN模型 /177

5.12.2 编写代码实现实例 /179

5.12.3 用多GPU并行训练模型 /184

5.12.4 在多GPU的训练过程中,保存/读取模型文件的注意事项 /185

5.12.5 处理显存残留问题 /186

★5.13 RNN的实现 /187

5.13.1 LSTM与GRU接口的实现 /187

5.13.2 多项式分布采样接口 /188

★5.14 【实例】用RNN训练语言模型 /189

5.14.1 实现语言模型的思路与步骤 /189

5.14.2 准备样本与代码实现 /189

★5.15 【实例】手动实现一个带有自注意力机制的模型 /192

★5.16 【实例】利用带注意力机制的循环神经网络对文本进行分类 /194

5.16.1 制作等长数据集并实现LSTM模型 /194

5.16.2 用梯度剪辑技巧优化训练过程 /195


第6章 BERT模型的原理 /197

★6.1 BERT模型的起源――Transformer模型 /197

6.1.1 Transformer模型出现之前的主流模型 /197

6.1.2 Transformer模型的原理 /199

6.1.3 Transformer模型的优缺点 /204

★6.2 【实例】用Transformer模型进行中/英文翻译 /204

★6.3 BERT模型的原理 /206

6.3.1 BERT模型的训练过程 /207

6.3.2 BERT模型的预训练方法 /207

6.3.3 BERT模型的掩码机制 /208

6.3.4 BERT模型的训练参数 /210

6.3.5 BERT模型的缺点 /210

★6.4 高精度的BERTology系列模型 /211

6.4.1 适合生成文章的模型――GPT模型 /211

6.4.2 支持人机对话的模型――DialoGPT模型 /212

6.4.3 融合了BERT模型与GPT技术的模型――MASS模型 /212

6.4.4 支持长文本输入的模型――Transformer-XL模型 /212

6.4.5 支持更长文本的模型――XLNet模型 /213

6.4.6 弥补XLNet模型不足的模型――MPNet模型 /217

6.4.7 稳健性更好的模型――RoBERTa模型 /217

6.4.8 使用了稀疏注意力的模型――Longformer、BigBird模型 /218

6.4.9 基于词掩码的模型――BERT-WWM、Wo BERT等模型 /220

6.4.10 基于小段文字掩码的模型――SpanBERT模型 /220

6.4.11 适合翻译任务的模型――T5模型 /221

6.4.12 支持多种语言的翻译模型――XLM、XLM-Roberta模型 /222

6.4.13 既能阅读又能写作的模型――UniLM 2.0模型 /223

6.4.14 适用于语法纠错任务的模型――StructBERT、Bart模型 /224

6.4.15 可以进行定向写作的模型――CTRL模型 /225

6.4.16 适合摘要生成的模型――PEGASUS模型 /226

6.4.17 支持更多语言的模型――T-ULR V2模型 /227

★6.5 小规模的BERTology系列模型 /227

6.5.1 比RoBERTa模型训练速度更快的模型――ELECTRA模型 /228

6.5.2 适用于文本分类的超小模型――PRADO、pQRNN模型 /229

6.5.3 比BERT模型更适合于部署场景的模型――DistillBERT模型 /231

6.5.4 比BERT模型更快的模型――FastBERT模型 /232

6.5.5 带有通用蒸馏方案的模型――MiniLM模型 /233

6.5.6 精简版的BERT模型――ALBERT、ALBERT_tiny、

ALBERT V2模型 /234

★6.6 BERTology系列模型的预训练方法总结 /237

6.6.1 AE式训练方法的常用策略 /237

6.6.2 更多的训练经验 /237


第7章 BERT模型的快速应用――BERT模型虽然强大,使用却不复杂! /239

★7.1 了解Transformers库 /239

★7.2 Transformers库的3层应用结构 /240

★7.3 【实例】用Transformers库的管道方式完成多种NLP任务 /241

7.3.1 在管道方式中指定NLP任务 /241

7.3.2 代码实现:完成文本分类任务 /242

7.3.3 代码实现:完成特征提取任务 /243

7.3.4 代码实现:完成完形填空任务 /244

7.3.5 代码实现:完成阅读理解任务 /245

7.3.6 代码实现:完成摘要生成任务 /247

7.3.7 预训练模型文件的组成与其加载时的固定名称 /248

7.3.8 代码实现:完成实体词识别任务 /248

7.3.9 管道方式的工作原理 /249

7.3.10 在管道方式中应用指定模型 /251

★7.4 Transformers库中的自动模型(AutoModel)类 /252

7.4.1 各种AutoModel类 /252

7.4.2 AutoModel类的模型加载机制 /253

7.4.3 Transformers库中的其他语言模型 /254

★7.5 Transformers库中的BERTology系列模型 /255

7.5.1 Transformers库的文件结构 /255

7.5.2 获取和加载预训练模型文件 /257

7.5.3 查找Transformers库中可以使用的模型 /260

7.5.4 【实例】用BERT模型实现完形填空任务 /261

7.5.5 【扩展实例】用自动模型类替换BertForMaskedLM类 /264

★7.6 Transformers库中的词表工具 /264

7.6.1 PreTrainedTokenizer类中的特殊词 /265

7.6.2 PreTrainedTokenizer类中的特殊词的使用 /266

7.6.3 向PreTrainedTokenizer类中添加词 /269

7.6.4 【实例】用手动加载GPT-2模型权重的方式将句子补充完整 /270

7.6.5 子词拆分 /274

★7.7 【实例】用迁移学习训练BERT模型来对中文分类 /275

7.7.1 NLP中的迁移学习 /275

7.7.2 构建数据集 /277

7.7.3 构建并加载BERT模型的预训练模型 /279

7.7.4 Transformers库中的底层类 /280

7.7.5 用退化学习率训练模型 /281

7.7.6 用数据增强方法训练模型 /282


第8章 模型的可解释性――深入模型内部,探究其工作的根源 /283

★8.1 模型的可解释库 /283

8.1.1 了解Captum库 /283

8.1.2 Captum库的可视化工具――Captum Insights /284

★8.2 什么是梯度积分方法 /284

★8.3 【实例】对NLP模型的可解释性分析 /284

8.3.1 分析词嵌入模型 /284

8.3.2 拆解NLP模型的处理过程 /285

8.3.3 用Captum库提取NLP模型的词嵌入层 /286

8.3.4 用梯度积分的方法计算模型的可解释性 /287

8.3.5 可视化模型的可解释性 /289

★8.4 【实例】BERT模型的可解释性分析 /291

8.4.1 了解BERT模型的可解释性工具――Bertviz /291

8.4.2 用Bertviz工具可视化BERT模型的权重 /292

8.4.3 分析BERT模型的权重参数 /296

★8.5 用图神经网络解释BERT模型 /300

8.5.1 点积计算与聚合计算的关系 /300

8.5.2 从图的角度思考BERT模型 /302


★★第3篇 BERT模型实战


第9章 图神经网络与BERT模型的结合 /306

★9.1 图神经网络基础 /306

9.1.1 图的相关术语和操作 /306

9.1.2 图卷积神经网络 /310

★9.2 DGL库的使用方法 /314

9.2.1 创建图结构 /314

9.2.2 DGL库与NetWorkx库的相互转换 /316

9.2.3 图的基本操作 /319

9.2.4 图的消息传播机制 /322

9.2.5 DGL库中的多图处理 /324

★9.3 【实例】用图节点的聚合方法实现BERT模型 /325

9.3.1 基于Transformers库的BERT模型修改方案 /325

9.3.2 实现图节点聚合的核心代码 /326

9.3.3 将原BERT模型的权重应用到基于图节点聚合方法实现的

BERT模型上 /327

★9.4 什么是关系图卷积网络(R-GCN)模型 /329

9.4.1 R-GCN模型的原理 /329

9.4.2 基于R-GCN模型的优化 /330

9.4.3 R-GCN模型的实现 /330

★9.5 【实例】用R-GCN模型理解文本中的代词 /332

9.5.1 代词数据集(GAP)介绍 /332

9.5.2 将GAP数据集转换成“图”结构数据的思路 /333

9.5.3 用BERT模型提取代词特征 /335

9.5.4 用BERT模型提取其他词特征 /337

9.5.5 用SpaCy工具和批次图方法构建图数据集 /339

9.5.6 搭建多层R-GCN模型 /344

9.5.7 用5折交叉验证方法训练模型 /345


第10章 BERT模型的行业应用 /347

★10.1 BERT模型在文本纠错领域的应用 /347

10.1.1 文本纠错中的常见任务及解决办法 /347

10.1.2 理解BERT模型的纠错能力 /348

10.1.3 改进BERT模型使其具有更强的纠错能力 /348

10.1.4 专用于文本纠错的模型――Soft-Masked BERT模型 /349

10.1.5 基于图神经网络的文本纠错模型――SpellGCN模型 /350

10.1.6 【实例】用Transformers和DGL库实现SpellGCN模型 /351

★10.2 BERT技术在聊天机器人领域的应用 /352

10.

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP