电子工业出版社有限公司店铺主页二维码
电子工业出版社有限公司
电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
微信扫描二维码,访问我们的微信店铺

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

100.10
运费: 免运费
基于BERT模型的自然语言处理实战 商品图0
基于BERT模型的自然语言处理实战 商品图1
基于BERT模型的自然语言处理实战 商品缩略图0 基于BERT模型的自然语言处理实战 商品缩略图1

商品详情

书名:基于BERT模型的自然语言处理实战
定价:139.0
ISBN:9787121414084
作者:李金洪
版次:第1版
出版时间:2021-07

内容提要:
本书介绍如何在PyTorch框架中使用BERT模型完成自然语言处理(NLP)任务。BERT模型是当今处理自然语言任务效果*好的模型。掌握了该模型,就相当于掌握了当今主流的NLP技术。 本书共3篇。第1篇介绍了神经网络的基础知识、NLP的基础知识,以及编程环境的搭建;第2篇介绍了PyTorch编程基础,以及BERT模型的原理、应用和可解释性;第3篇是BERT模型实战,帮助读者开阔思路、增长见识,使读者能够真正驾驭BERT模型,活学活用,完成自然语言处理任务。 通过本书,读者可以熟练地在PyTorch框架中开发并训练神经网络模型,快速地使用BERT模型完成各种主流的自然语言处理任务,独立地设计并训练出针对特定需求的BERT模型,轻松地将BERT模型封装成Web服务部署到云端。 本书结构清晰、案例丰富、通俗易懂、实用性强,适合对自然语言处理、BERT模型感兴趣的读者作为自学教程。另外,本书也适合社会培训学校作为培训教材,还适合计算机相关专业作为教学参考书。



作者简介:
李金洪,擅长神经网络、算法、协议分析、逆向、移动互联网安全架构等技术;先后担任过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.2.1 聊天机器人的种类与实现技术 /353
10.2.2 基于BERT模型完成聊天任务的思路 /354
10.2.3 【实例】用累加梯度训练支持中文的DialoGPT模型 /355
10.2.4 更强大的多轮聊天模型——Meena模型 /360
★10.3 BERT模型在服务器端部署的应用 /360
10.3.1 用transformers-cli工具快速部署BERT模型 /360
10.3.2 用torchserve库部署BERT模型 /362
电子工业出版社有限公司店铺主页二维码
电子工业出版社有限公司
电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
扫描二维码,访问我们的微信店铺

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

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏