网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 基于BERT模型的自然语言处理实战 |
分类 | 教育考试-考试-计算机类 |
作者 | 李金洪 |
出版社 | 电子工业出版社 |
下载 | ![]() |
简介 | 内容推荐 本书介绍如何在PyTorch框架中使用BERT模型完成自然语言处理(NLP)任务。BERT模型是当今处理自然语言任务效果优选的模型。掌握了该模型,就相当于掌握了当今主流的NLP技术。本书共3篇。第1篇介绍了神经网络的基础知识、NLP的基础知识,以及编程环境的搭建;第2篇介绍了PyTorch编程基础,以及BERT模型的原理、应用和可解释性;第3篇是BERT模型实战,帮助读者开阔思路、增长见识,使读者能够真正驾驭BERT模型,活学活用,完成自然语言处理任务。通过本书,读者可以熟练地在PyTorch框架中开发并训练神经网络模型,快速地使用BERT模型完成各种主流的自然语言处理任务,独立地设计并训练出针对特定需求的BERT模型,轻松地将BERT模型封装成Web服务部署到云端。本书结构清晰、案例丰富、通俗易懂、实用性强,适合对自然语言处理、BERT模型感兴趣的读者作为自学教程。另外,本书也适合社会培训学校作为培训教材,还适合计算机相关专业作为教学参考书。 目录 ★★第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 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。