书籍详情
TensorFlow+Keras自然语言处理实战
作者:王晓华 著
出版社:清华大学出版社
出版时间:2020-12-01
ISBN:9787302570431
定价:¥69.00
购买这本书可以去
内容简介
神经网络是深度学习的核心内容,TensorFlow是现在最为流行的深度学习框架之一。本书使用TensorFlow 2.1作为自然语言处理实现的基本工具,引导深度学习的入门读者,从搭建环境开始,逐步深入到理论、代码、应用实践中去。 本书分为10章,内容包括搭建环境、TensorFlow基本和高级API的使用、MNIST手写体分辨实战、Dataset API、ResNet模型、词嵌入(word embedding)模型的实现,最后给出3个实战案例:文本分类、基于编码器的拼音汉字转化模型,以及基于编码器、解码器的拼音汉字翻译模型。 本书内容详尽、示例丰富,是机器学习和深度学习读者必备的参考书,非常适合开设人工智能相关专业的大中专院校师生阅读,也可作为高等院校计算机及相关专业教材使用。
作者简介
王晓华,计算机专业讲师,长期讲授面向对象程序设计、数据结构、Hadoop程序设计等研究生和本科生相关课程;主要研究方向为云计算、数据挖掘。曾主持和参与多项国家和省级科研课题,独立科研项目获省级成果认定,发表过多篇论文,拥有一项专利。著有《Spark MLlib机器学习实践》《TensorFlow深度学习应用实践》《OpenCV+TensorFlow深度学习与计算机视觉实战》《TensorFlow 2.0卷积神经网络实战》等图书。
目录
第1章 自然语言之道 1
1.1 何谓自然语言处理 1
1.1.1 自然语言处理是门技术 1
1.1.2 传统自然语言处理 2
1.2 自然语言处理为什么难——以简单的情感分析为例 3
1.3 自然语言处理的展望 5
1.3.1 自然语言处理对于人工智能的意义 6
1.3.2 自然语言在金融、法律、医疗健康等方面的应用 6
1.4 搭建环境1:安装Python 7
1.4.1 Anaconda的下载与安装 7
1.4.2 Python编译器PyCharm的安装 10
1.4.3 使用Python计算softmax函数 14
1.5 搭建环境2:安装TensorFlow 2.1 15
1.5.1 安装TensorFlow 2.1的CPU版本 15
1.5.2 安装TensorFlow 2.1的GPU版本 15
1.5.3 练习——Hello TensorFlow 18
1.6 实战——酒店评论的情感分类 19
1.6.1 步:数据的准备 19
1.6.2 第二步:数据的处理 20
1.6.3 第三步:模型的设计 20
1.6.4 第四步:模型的训练 21
1.6.5 第五步:模型的结果和展示 22
1.7 本章小结 22
第2章 Hello TensorFlow & Keras 23
2.1 TensorFlow & Keras 23
2.1.1 模型!模型!还是模型! 24
2.1.2 使用Keras API实现鸢尾花分类的例子(顺序模式) 24
2.1.3 使用Keras函数式编程实现鸢尾花分类的例子(重点) 27
2.1.4 使用保存的Keras模式对模型进行复用 30
2.1.5 使用TensorFlow标准化编译对iris模型进行拟合 31
2.1.6 多输入单一输出TensorFlow编译方法(选学) 35
2.1.7 多输入多输出TensorFlow编译方法(选学) 38
2.2 全连接层详解 40
2.2.1 全连接层的定义与实现 40
2.2.2 使用TensorFlow自带的API实现全连接层 42
2.2.3 打印显示已设计的model结构和参数 45
2.3 懒人的福音——Keras模型库 47
2.3.1 ResNet50模型和参数的载入 47
2.3.2 使用ResNet50作为特征提取层建立模型 49
2.4 本章小结 51
第3章 深度学习的理论基础 52
3.1 BP神经网络简介 53
3.2 BP神经网络两个基础算法详解 56
3.2.1 小二乘法(LS算法)详解 56
3.2.2 道士下山的故事——梯度下降算法 58
3.3 反馈神经网络反向传播算法介绍 61
3.3.1 深度学习基础 61
3.3.2 链式求导法则 62
3.3.3 反馈神经网络原理与公式推导 64
3.3.4 反馈神经网络原理的激活函数 69
3.3.5 反馈神经网络原理的Python实现 70
3.4 本章小结 74
第4章 卷积层与MNIST实战 75
4.1 卷积运算基本概念 75
4.1.1 卷积运算 76
4.1.2 TensorFlow中卷积函数实现详解 78
4.1.3 池化运算 80
4.1.4 softmax激活函数 81
4.1.5 卷积神经网络原理 82
4.2 编程实战:MNIST手写体识别 85
4.2.1 MNIST数据集 85
4.2.2 MNIST数据集特征和标签介绍 87
4.2.3 TensorFlow 2.X编程实战:MNIST数据集 89
4.2.4 使用自定义的卷积层实现MNIST识别 93
4.3 本章小结 96
第5章 TensorFlow Datasets和TensorBoard详解 97
5.1 TensorFlow Datasets简介 97
5.1.1 Datasets数据集的安装 99
5.1.2 Datasets数据集的使用 99
5.2 Datasets数据集的使用——FashionMNIST 101
5.2.1 FashionMNIST数据集下载与展示 102
5.2.2 模型的建立与训练 104
5.3 使用Keras对FashionMNIST数据集进行处理 106
5.3.1 获取数据集 106
5.3.2 数据集的调整 107
5.3.3 使用Python类函数建立模型 107
5.3.4 Model的查看和参数打印 108
5.3.5 模型的训练和评估 110
5.4 使用TensorBoard可视化训练过程 112
5.4.1 TensorBoard文件夹的设置 113
5.4.2 TensorBoard的显式调用 114
5.4.3 TensorBoard的使用 116
5.5 本章小结 119
第6章 从冠军开始:ResNet 120
6.1 ResNet基础原理与程序设计基础 121
6.1.1 ResNet诞生的背景 121
6.1.2 模块工具的TensorFlow实现——不要重复造轮子 124
6.1.3 TensorFlow高级模块layers用法简介 125
6.2 ResNet实战:CIFAR100数据集分类 132
6.2.1 CIFAR100数据集简介 132
6.2.2 ResNet残差模块的实现 135
6.2.3 ResNet网络的实现 137
6.2.4 使用ResNet对CIFAR100数据集进行分类 140
6.3 ResNet的兄弟——ResNeXt 141
6.3.1 ResNeXt诞生的背景 141
6.3.2 ResNeXt残差模块的实现 143
6.3.3 ResNeXt网络的实现 145
6.3.4 ResNeXt和ResNet的比较 146
6.4 本章小结 147
第7章 有趣的word embedding 148
7.1 文本数据处理 148
7.1.1 数据集介绍和数据清洗 149
7.1.2 停用词的使用 151
7.1.3 词向量训练模型word2vec使用介绍 154
7.1.4 文本主题的提取:基于TF-IDF(选学) 157
7.1.5 文本主题的提取:基于TextRank(选学) 161
7.2 更多的word embedding方法——fastText和预训练词向量 164
7.2.1 fastText的原理与基础算法 164
7.2.2 fastText训练以及与TensorFlow 2.X的协同使用 166
7.2.3 使用其他预训练参数做TensorFlow词嵌入矩阵(中文) 172
7.3 针对文本的卷积神经网络模型简介——字符卷积 173
7.3.1 字符(非单词)文本的处理 173
7.3.2 卷积神经网络文本分类模型的实现——conv1d(一维卷积) 180
7.4 针对文本的卷积神经网络模型简介——词卷积 182
7.4.1 单词的文本处理 183
7.4.2 卷积神经网络文本分类模型的实现——conv2d(二维卷积) 184
7.5 使用卷积对文本分类的补充内容 188
7.5.1 汉字的文本处理 188
7.5.2 其他细节 191
7.6 本章小结 191
第8章 实战——站在冠军肩膀上的情感分类实战 193
8.1 GRU与情感分类 193
8.1.1 什么是GRU 193
8.1.2 使用GRU的情感分类 195
8.1.3 TensorFlow中的GRU层详解 196
8.1.4 单向不行就双向 197
8.2 站在巨人肩膀上的情感分类 198
8.2.1 使用TensorFlow自带的模型做文本分类 199
8.2.2 使用自定义的DPCNN做模型分类 203
8.3 本章小结 207
第9章 从0起步——自然语言处理的编码器 208
9.1 编码器的核心——注意力模型 209
9.1.1 输入层——初始词向量层和位置编码器层 210
9.1.2 自注意力层(本书重点) 211
9.1.3 ticks和LayerNormalization 216
9.1.4 多头自注意力 217
9.2 编码器的实现 221
9.2.1 前馈层的实现 221
9.2.2 构建编码器架构 223
9.3 实战编码器——汉字拼音转化模型 226
9.3.1 汉字拼音数据集处理 227
9.3.2 汉字拼音转化模型的确定 229
9.3.3 模型训练部分的编写 232
9.3.4 推断函数的编写 233
9.4 本章小结 234
第10章 从1起步——自然语言处理的解码器 236
10.1 解码器的核心——注意力模型 236
10.1.1 解码器的输入和交互注意力层的掩码 237
10.1.2 为什么通过掩码操作能够减少干扰 242
10.1.3 解码器的输出(移位训练方法) 243
10.1.4 解码器的实现 244
10.2 解码器实战——拼音汉字翻译模型 246
10.2.1 翻译模型 246
10.2.2 拼音汉字模型的训练(注意训练过程的错位数据输入) 252
10.2.3 拼音汉字模型的使用(循环输出的问题) 254
10.3 本章小结 256
1.1 何谓自然语言处理 1
1.1.1 自然语言处理是门技术 1
1.1.2 传统自然语言处理 2
1.2 自然语言处理为什么难——以简单的情感分析为例 3
1.3 自然语言处理的展望 5
1.3.1 自然语言处理对于人工智能的意义 6
1.3.2 自然语言在金融、法律、医疗健康等方面的应用 6
1.4 搭建环境1:安装Python 7
1.4.1 Anaconda的下载与安装 7
1.4.2 Python编译器PyCharm的安装 10
1.4.3 使用Python计算softmax函数 14
1.5 搭建环境2:安装TensorFlow 2.1 15
1.5.1 安装TensorFlow 2.1的CPU版本 15
1.5.2 安装TensorFlow 2.1的GPU版本 15
1.5.3 练习——Hello TensorFlow 18
1.6 实战——酒店评论的情感分类 19
1.6.1 步:数据的准备 19
1.6.2 第二步:数据的处理 20
1.6.3 第三步:模型的设计 20
1.6.4 第四步:模型的训练 21
1.6.5 第五步:模型的结果和展示 22
1.7 本章小结 22
第2章 Hello TensorFlow & Keras 23
2.1 TensorFlow & Keras 23
2.1.1 模型!模型!还是模型! 24
2.1.2 使用Keras API实现鸢尾花分类的例子(顺序模式) 24
2.1.3 使用Keras函数式编程实现鸢尾花分类的例子(重点) 27
2.1.4 使用保存的Keras模式对模型进行复用 30
2.1.5 使用TensorFlow标准化编译对iris模型进行拟合 31
2.1.6 多输入单一输出TensorFlow编译方法(选学) 35
2.1.7 多输入多输出TensorFlow编译方法(选学) 38
2.2 全连接层详解 40
2.2.1 全连接层的定义与实现 40
2.2.2 使用TensorFlow自带的API实现全连接层 42
2.2.3 打印显示已设计的model结构和参数 45
2.3 懒人的福音——Keras模型库 47
2.3.1 ResNet50模型和参数的载入 47
2.3.2 使用ResNet50作为特征提取层建立模型 49
2.4 本章小结 51
第3章 深度学习的理论基础 52
3.1 BP神经网络简介 53
3.2 BP神经网络两个基础算法详解 56
3.2.1 小二乘法(LS算法)详解 56
3.2.2 道士下山的故事——梯度下降算法 58
3.3 反馈神经网络反向传播算法介绍 61
3.3.1 深度学习基础 61
3.3.2 链式求导法则 62
3.3.3 反馈神经网络原理与公式推导 64
3.3.4 反馈神经网络原理的激活函数 69
3.3.5 反馈神经网络原理的Python实现 70
3.4 本章小结 74
第4章 卷积层与MNIST实战 75
4.1 卷积运算基本概念 75
4.1.1 卷积运算 76
4.1.2 TensorFlow中卷积函数实现详解 78
4.1.3 池化运算 80
4.1.4 softmax激活函数 81
4.1.5 卷积神经网络原理 82
4.2 编程实战:MNIST手写体识别 85
4.2.1 MNIST数据集 85
4.2.2 MNIST数据集特征和标签介绍 87
4.2.3 TensorFlow 2.X编程实战:MNIST数据集 89
4.2.4 使用自定义的卷积层实现MNIST识别 93
4.3 本章小结 96
第5章 TensorFlow Datasets和TensorBoard详解 97
5.1 TensorFlow Datasets简介 97
5.1.1 Datasets数据集的安装 99
5.1.2 Datasets数据集的使用 99
5.2 Datasets数据集的使用——FashionMNIST 101
5.2.1 FashionMNIST数据集下载与展示 102
5.2.2 模型的建立与训练 104
5.3 使用Keras对FashionMNIST数据集进行处理 106
5.3.1 获取数据集 106
5.3.2 数据集的调整 107
5.3.3 使用Python类函数建立模型 107
5.3.4 Model的查看和参数打印 108
5.3.5 模型的训练和评估 110
5.4 使用TensorBoard可视化训练过程 112
5.4.1 TensorBoard文件夹的设置 113
5.4.2 TensorBoard的显式调用 114
5.4.3 TensorBoard的使用 116
5.5 本章小结 119
第6章 从冠军开始:ResNet 120
6.1 ResNet基础原理与程序设计基础 121
6.1.1 ResNet诞生的背景 121
6.1.2 模块工具的TensorFlow实现——不要重复造轮子 124
6.1.3 TensorFlow高级模块layers用法简介 125
6.2 ResNet实战:CIFAR100数据集分类 132
6.2.1 CIFAR100数据集简介 132
6.2.2 ResNet残差模块的实现 135
6.2.3 ResNet网络的实现 137
6.2.4 使用ResNet对CIFAR100数据集进行分类 140
6.3 ResNet的兄弟——ResNeXt 141
6.3.1 ResNeXt诞生的背景 141
6.3.2 ResNeXt残差模块的实现 143
6.3.3 ResNeXt网络的实现 145
6.3.4 ResNeXt和ResNet的比较 146
6.4 本章小结 147
第7章 有趣的word embedding 148
7.1 文本数据处理 148
7.1.1 数据集介绍和数据清洗 149
7.1.2 停用词的使用 151
7.1.3 词向量训练模型word2vec使用介绍 154
7.1.4 文本主题的提取:基于TF-IDF(选学) 157
7.1.5 文本主题的提取:基于TextRank(选学) 161
7.2 更多的word embedding方法——fastText和预训练词向量 164
7.2.1 fastText的原理与基础算法 164
7.2.2 fastText训练以及与TensorFlow 2.X的协同使用 166
7.2.3 使用其他预训练参数做TensorFlow词嵌入矩阵(中文) 172
7.3 针对文本的卷积神经网络模型简介——字符卷积 173
7.3.1 字符(非单词)文本的处理 173
7.3.2 卷积神经网络文本分类模型的实现——conv1d(一维卷积) 180
7.4 针对文本的卷积神经网络模型简介——词卷积 182
7.4.1 单词的文本处理 183
7.4.2 卷积神经网络文本分类模型的实现——conv2d(二维卷积) 184
7.5 使用卷积对文本分类的补充内容 188
7.5.1 汉字的文本处理 188
7.5.2 其他细节 191
7.6 本章小结 191
第8章 实战——站在冠军肩膀上的情感分类实战 193
8.1 GRU与情感分类 193
8.1.1 什么是GRU 193
8.1.2 使用GRU的情感分类 195
8.1.3 TensorFlow中的GRU层详解 196
8.1.4 单向不行就双向 197
8.2 站在巨人肩膀上的情感分类 198
8.2.1 使用TensorFlow自带的模型做文本分类 199
8.2.2 使用自定义的DPCNN做模型分类 203
8.3 本章小结 207
第9章 从0起步——自然语言处理的编码器 208
9.1 编码器的核心——注意力模型 209
9.1.1 输入层——初始词向量层和位置编码器层 210
9.1.2 自注意力层(本书重点) 211
9.1.3 ticks和LayerNormalization 216
9.1.4 多头自注意力 217
9.2 编码器的实现 221
9.2.1 前馈层的实现 221
9.2.2 构建编码器架构 223
9.3 实战编码器——汉字拼音转化模型 226
9.3.1 汉字拼音数据集处理 227
9.3.2 汉字拼音转化模型的确定 229
9.3.3 模型训练部分的编写 232
9.3.4 推断函数的编写 233
9.4 本章小结 234
第10章 从1起步——自然语言处理的解码器 236
10.1 解码器的核心——注意力模型 236
10.1.1 解码器的输入和交互注意力层的掩码 237
10.1.2 为什么通过掩码操作能够减少干扰 242
10.1.3 解码器的输出(移位训练方法) 243
10.1.4 解码器的实现 244
10.2 解码器实战——拼音汉字翻译模型 246
10.2.1 翻译模型 246
10.2.2 拼音汉字模型的训练(注意训练过程的错位数据输入) 252
10.2.3 拼音汉字模型的使用(循环输出的问题) 254
10.3 本章小结 256
猜您喜欢