[套装书]Python人工智能项目实战+Python自然语言处理(2册)

作者
[印度] 桑塔努·帕塔纳亚克(Santanu Pattanayak)[印度]雅兰·萨纳卡(Jalaj Thanaki)
丛书名
智能系统与技术丛书
出版社
机械工业出版社
ISBN
9781911191631
简要
简介
内容简介书籍计算机书籍 ---------------------------Python人工智能项目实战--------------------------- 通过结合深度学习和强化学习,帮助你构建智能而且实用的人工智能系统。本书涉及的项目涵盖众多领域,例如医疗健康、电子商务、专家系统、智能安防、移动应用和自动驾驶,使用的技术包括卷积神经网络、深度强化学习、基于LSTM的RNN、受限玻尔兹曼机、生成对抗网络、机器翻译和迁移学习。本书有关构建智能应用的理论知识将帮助读者使用有趣的方法来拓展项目,令其快速创建有影响力的AI应用。读完本书之后,你将有足够的能力建立自己的智能模型,轻松地解决来自任何领域的问题。 ---------------------------Python自然语言处理--------------------------- 本书旨在回答三个问题:第一个,什么是自然语言处理;第二个,为什么大多数人会使用Python来开发自然语言处理应用程序;最后一个也很重要的问题,在学习自然语言处理的时候,有哪些Python相关资源可用。读完本书,读者便会对此了然于胸。
目录



---------------------------Python人工智能项目实战---------------------------


译者序
前言
作者简介
审校者简介
第1章 人工智能系统基础知识 1
1.1 神经网络 2
1.2 神经激活单元 5
1.2.1 线性激活单元 5
1.2.2 sigmoid激活单元 6
1.2.3 双曲正切激活函数 6
1.2.4 修正线性单元 7
1.2.5 softmax激活单元 9
1.3 用反向传播算法训练神经网络 9
1.4 卷积神经网络 12
1.5 循环神经网络 13
1.6 生成对抗网络 16
1.7 强化学习 18
1.7.1 Q学习 19
1.7.2 深度Q学习 20
1.8 迁移学习 21
1.9 受限玻尔兹曼机 22
1.10 自编码器 23
1.11 总结 24
第2章 迁移学习 26
2.1 技术要求 26
2.2 迁移学习简介 27
2.3 迁移学习和糖尿病视网膜病变检测 28
2.4 糖尿病视网膜病变数据集 29
2.5 定义损失函数 30
2.6 考虑类别不平衡问题 31
2.7 预处理图像 32
2.8 使用仿射变换生成额外数据 33
2.8.1 旋转 34
2.8.2 平移 34
2.8.3 缩放 35
2.8.4 反射 35
2.8.5 通过仿射变换生成额外的图像 36
2.9 网络架构 36
2.9.1 VGG16迁移学习网络 38
2.9.2 InceptionV3迁移学习网络 39
2.9.3 ResNet50迁移学习网络 39
2.10 优化器和初始学习率 40
2.11 交叉验证 40
2.12 基于验证对数损失的模型检查点 40
2.13 训练过程的Python实现 41
2.14 类别分类结果 50
2.15 在测试期间进行推断 50
2.16 使用回归而非类别分类 52
2.17 使用keras sequential工具类生成器 53
2.18 总结 57
第3章 神经机器翻译 58
3.1 技术要求 59
3.2 基于规则的机器翻译 59
3.2.1 分析阶段 59
3.2.2 词汇转换阶段 60
3.2.3 生成阶段 60
3.3 统计机器学习系统 60
3.3.1 语言模型 61
3.3.2 翻译模型 63
3.4 神经机器翻译 65
3.4.1 编码器–解码器模型 65
3.4.2 使用编码器–解码器模型进行推断 66
3.5 实现序列到序列的神经机器翻译 67
3.5.1 处理输入数据 67
3.5.2 定义神经翻译机器的模型 71
3.5.3 神经翻译机器的损失函数 73
3.5.4 训练模型 73
3.5.5 构建推断模型 74
3.5.6 单词向量嵌入 78
3.5.7 嵌入层 79
3.5.8 实现基于嵌入的NMT 79
3.6 总结 84
第4章 基于GAN的时尚风格迁移 85
4.1 技术要求 85
4.2 DiscoGAN 86
4.3 CycleGAN 88
4.4 学习从手绘轮廓生成自然手提包 89
4.5 预处理图像 89
4.6 DiscoGAN的生成器 91
4.7 DiscoGAN的判别器 93
4.8 构建网络和定义损失函数 94
4.9 构建训练过程 97
4.10 GAN训练中的重要参数值 99
4.11 启动训练 100
4.12 监督生成器和判别器的损失 101
4.13 DiscoGAN生成的样例图像 103
4.14 总结 104
第5章 视频字幕应用 105
5.1 技术要求 105
5.2 视频字幕中的CNN和LSTM 106
5.3 基于序列到序列的视频字幕系统 107
5.4 视频字幕系统数据集 109
5.5 处理视频图像以创建CNN特征 110
5.6 处理视频的带标签字幕 113
5.7 构建训练集和测试集 114
5.8 构建模型 115
5.8.1 定义模型的变量 116
5.8.2 编码阶段 117
5.8.3 解码阶段 117
5.8.4 计算小批量损失 118
5.9 为字幕创建单词词汇表 118
5.10 训练模型 119
5.11 训练结果 123
5.12 对未见过的视频进行推断 124
5.12.1 推断函数 126
5.12.2 评估结果 127
5.13 总结 128
第6章 智能推荐系统 129
6.1 技术要求 129
6.2 什么是推荐系统 129
6.3 基于潜在因子分解的推荐系统 131
6.4 深度学习与潜在因子协同过滤 132
6.5 SVD++ 136
6.6 基于受限玻尔兹曼机的推荐系统 138
6.7 对比分歧 139
6.8 使用RBM进行协同过滤 140
6.9 使用RBM实现协同过滤 142
6.9.1 预处理输入 143
6.9.2 构建RBM网络进行协作过滤 144
6.9.3 训练RBM 147
6.10 使用训练好的RBM进行推断 149
6.11 总结 150
第7章 用于电影评论情感分析的移动应用程序 151
7.1 技术要求 152
7.2 使用TensorFlow mobile构建Android移动应用程序 152
7.3 Android应用中的电影评论评分 153
7.4 预处理电影评论文本 154
7.5 构建模型 156
7.6 训练模型 157
7.7 将模型冻结为protobuf格式 159
7.8 为推断创建单词到表征的字典 161
7.9 应用程序交互界面设计 162
7.10 Android应用程序的核心逻辑 164
7.11 测试移动应用 168
7.12 总结 170
第8章 提供客户服务的AI聊天机器人 171
8.1 技术要求 172
8.2 聊天机器人的架构 172
8.3 基于LSTM的序列到序列模型 173
8.4 建立序列到序列模型 174
8.5 Twitter平台上的聊天机器人 174
8.5.1 构造聊天机器人的训练数据 175
8.5.2 将文本数据转换为单词索引 175
8.5.3 替换匿名用户名 176
8.5.4 定义模型 176
8.5.5 用于训练模型的损失函数 178
8.5.6 训练模型 179
8.5.7 从模型生成输出响应 180
8.5.8 所有代码连起来 180
8.5.9 开始训练 181
8.5.10 对一些输入推特的推断结果 181
8.6 总结 182
第9章 基于增强学习的无人驾驶 183
9.1 技术要求 183
9.2 马尔科夫决策过程 184
9.3 学习Q值函数 185
9.4 深度Q学习 186
9.5 形式化损失函数 186
9.6 深度双Q学习 187
9.7 实现一个无人驾驶车的代码 189
9.8 深度Q学习中的动作离散化 189
9.9 实现深度双Q值网络 190
9.10 设计智能体 191
9.11 自动驾驶车的环境 194
9.12 将所有代码连起来 197
9.13 训练结果 202
9.14 总结 203
第10章 从深度学习的角度看CAPTCHA 204
10.1 技术要求 205
10.2 通过深度学习破解CAPTCHA 205
10.2.1 生成基本的CAPTCHA 205
10.2.2 生成用于训练CAPTCHA破解器的数据 206
10.2.3 CAPTCHA破解器的CNN架构 208
10.2.4 预处理CAPTCHA图像 208
10.2.5 将CAPTCHA字符转换为类别 209
10.2.6 数据生成器 210
10.2.7 训练CAPTCHA破解器 211
10.2.8 测试数据集的准确性 212
10.3 通过对抗学习生成CAPTCHA 214
10.3.1 优化GAN损失 215
10.3.2 生成器网络 215
10.3.3 判别器网络 216
10.3.4 训练GAN 219
10.3.5 噪声分布 220
10.3.6 数据预处理 220
10.3.7 调用训练 221
10.3.8 训练期间CAPTCHA的质量 222
10.3.9 使用训练后的生成器创建CAPTCHA 224
10.4 总结 225



---------------------------Python自然语言处理---------------------------


译者序
推荐序
作者介绍
关于审校人员
前言
第1章 引言 1
1.1 自然语言处理 1
1.2 基础应用 5
1.3 高级应用 6
1.4 NLP和Python相结合的优势 7
1.5 nltk环境搭建 7
1.6 读者提示 8
1.7 总结 9
第2章 实践理解语料库和数据集 10
2.1 语料库 10
2.2 语料库的作用 11
2.3 语料分析 13
2.4 数据属性的类型 16
2.4.1 分类或定性数据属性 16
2.4.2 数值或定量数据属性 17
2.5 不同文件格式的语料 18
2.6 免费语料库资源 19
2.7 为NLP应用准备数据集 20
2.7.1 挑选数据 20
2.7.2 预处理数据集 20
2.8 网页爬取 21
2.9 总结 23
第3章 理解句子的结构 24
3.1 理解NLP的组成 24
3.1.1 自然语言理解 24
3.1.2 自然语言生成 25
3.1.3 NLU和NLG的区别 25
3.1.4 NLP的分支 26
3.2 上下文无关文法 26
3.3 形态分析 28
3.3.1 形态学 28
3.3.2 词素 28
3.3.3 词干 28
3.3.4 形态分析 28
3.3.5 词 29
3.3.6 词素的分类 29
3.3.7 词干和词根的区别 32
3.4 词法分析 32
3.4.1 词条 33
3.4.2 词性标注 33
3.4.3 导出词条的过程 33
3.4.4 词干提取和词形还原的区别 34
3.4.5 应用 34
3.5 句法分析 34
3.6 语义分析 36
3.6.1 语义分析概念 36
3.6.2 词级别的语义 37
3.6.3 上下位关系和多义词 37
3.6.4 语义分析的应用 38
3.7 消歧 38
3.7.1 词法歧义 38
3.7.2 句法歧义 39
3.7.3 语义歧义 39
3.7.4 语用歧义 39
3.8 篇章整合 40
3.9 语用分析 40
3.10 总结 40
第4章 预处理 42
4.1 处理原始语料库文本 42
4.1.1 获取原始文本 42
4.1.2 小写化转换 44
4.1.3 分句 44
4.1.4 原始文本词干提取 46
4.1.5 原始文本词形还原 46
4.1.6 停用词去除 48
4.2 处理原始语料库句子 50
4.2.1 词条化 50
4.2.2 单词词形还原 51
4.3 基础预处理 52
4.4 实践和个性化预处理 57
4.4.1 由你自己决定 57
4.4.2 预处理流程 57
4.4.3 预处理的类型 57
4.4.4 理解预处理的案例 57
4.5 总结 62
第5章 特征工程和NLP算法 63
5.1 理解特征工程 64
5.1.1 特征工程的定义 64
5.1.2 特征工程的目的 64
5.1.3 一些挑战 65
5.2 NLP中的基础特征 65
5.2.1 句法分析和句法分析器 65
5.2.2 词性标注和词性标注器 81
5.2.3 命名实体识别 85
5.2.4 n元语法 88
5.2.5 词袋 89
5.2.6 语义工具及资源 91
5.3 NLP中的基础统计特征 91
5.3.1 数学基础 92
5.3.2 TF-IDF 96
5.3.3 向量化 99
5.3.4 规范化 100
5.3.5 概率模型 101
5.3.6 索引 103
5.3.7 排序 103
5.4 特征工程的优点 104
5.5 特征工程面临的挑战 104
5.6 总结 104
第6章 高级特征工程和NLP算法 106
6.1 词嵌入 106
6.2 word2vec基础 106
6.2.1 分布语义 107
6.2.2 定义word2vec 108
6.2.3 无监督分布语义模型中的必需品 108
6.3 word2vec模型从黑盒到白盒 109
6.4 基于表示的分布相似度 110
6.5 word2vec模型的组成部分 111
6.5.1 word2vec的输入 111
6.5.2 word2vec的输出 111
6.5.3 word2vec模型的构建模块 111
6.6 word2vec模型的逻辑 113
6.6.1 词汇表构建器 114
6.6.2 上下文环境构建器 114
6.6.3 两层的神经网络 116
6.6.4 算法的主要流程 119
6.7 word2vec模型背后的算法和数学理论 120
6.7.1 word2vec算法中的基本数学理论 120
6.7.2 词汇表构建阶段用到的技术 121
6.7.3 上下文环境构建过程中使用的技术 122
6.8 神经网络算法 123
6.8.1 基本神经元结构 123
6.8.2 训练一个简单的神经元 124
6.8.3 单个神经元的应用 126
6.8.4 多层神经网络 127
6.8.5 反向传播算法 127
6.8.6 word2vec背后的数学理论 128
6.9 生成最终词向量和概率预测结果的技术 130
6.10 word2vec相关的一些事情 131
6.11 word2vec的应用 131
6.11.1 实现一些简单例子 132
6.11.2 word2vec的优势 133
6.11.3 word2vec的挑战 133
6.11.4 在实际应用中使用word2vec 134
6.11.5 何时使用word2vec 135
6.11.6 开发一些有意思的东西 135
6.11.7 练习 138
6.12 word2vec概念的扩展 138
6.12.1 para2vec 139
6.12.2 doc2vec 139
6.12.3 doc2vec的应用 140
6.12.4 GloVe 140
6.12.5 练习 141
6.13 深度学习中向量化的重要性 141
6.14 总结 142
第7章 规则式自然语言处理系统 143
7.1 规则式系统 144
7.2 规则式系统的目的 146
7.2.1 为何需要规则式系统 146
7.2.2 使用规则式系统的应用 147
7.2.3 练习 147
7.2.4 开发规则式系统需要的资源 147
7.3 规则式系统的架构 148
7.3.1 从专家系统的角度来看规则式系统的通用架构 149
7.3.2 NLP应用中的规则式系统的实用架构 150
7.3.3 NLP应用中的规则式系统的定制架构 152
7.3.4 练习 155
7.3.5 Apache UIMA架构 155
7.4 规则式系统的开发周期 156
7.5 规则式系统的应用 156
7.5.1 使用规则式系统的NLP应用 156
7.5.2 使用规则式系统的通用AI应用 157
7.6 使用规则式系统来开发NLP应用 157
7.6.1 编写规则的思维过程 158
7.6.2 基于模板的聊天机器人应用 165
7.7 规则式系统与其他方法的对比 168
7.8 规则式系统的优点 169
7.9 规则式系统的缺点 169
7.10 规则式系统面临的挑战 170
7.11 词义消歧的基础 170
7.12 规则式系统近期发展的趋势 171
7.13 总结 171
第8章 自然语言处理中的机器学习方法 172
8.1 机器学习的基本概念 172
8.2 自然语言处理应用的开发步骤 176
8.2.1 第一次迭代时的开发步骤 177
8.2.2 从第二次到第N次迭代的开发步骤 177
8.3 机器学习算法和其他概念 179
8.3.1 有监督机器学习方法 179
8.3.2 无监督机器学习方法 206
8.3.3 半监督机器学习算法 210
8.3.4 一些重要概念 211
8.3.5 特征选择 215
8.3.6 维度约减 219
8.4 自然语言处理中的混合方法 221
8.5 总结 221
第9章 NLU和NLG问题中的深度学习 223
9.1 人工智能概览 223
9.1.1 人工智能的基础 223
9.1.2 人工智能的阶段 225
9.1.3 人工智能的种类 227
9.1.4 人工智能的目标和应用 227
9.2 NLU和NLG之间的区别 232
9.2.1 自然语言理解 232
9.2.2 自然语言生成 232
9.3 深度学习概览 233
9.4 神经网络基础 234
9.4.1 神经元的第一个计算模型 235
9.4.2 感知机 236
9.4.3 理解人工神经网络中的数学概念 236
9.5 实现神经网络 249
9.5.1 单层反向传播神经网络 249
9.5.2 练习 251
9.6 深度学习和深度神经网络 251
9.6.1 回顾深度学习 251
9.6.2 深度神经网络的基本架构 251
9.6.3 NLP中的深度学习 252
9.6.4 传统NLP和深度学习NLP技术的区别 253
9.7 深度学习技术和NLU 255
9.8 深度学习技术和NLG 262
9.8.1 练习 262
9.8.2 菜谱摘要和标题生成 262
9.9 基于梯度下降的优化 265
9.10 人工智能与人类智能 269
9.11 总结 269
第10章 高级工具 270
10.1 使用Apache Hadoop作为存储框架 270
10.2 使用Apache Spark作为数据处理框架 272
10.3 使用Apache Flink作为数据实时处理框架 274
10.4 Python中的可视化类库 274
10.5 总结 275
第11章 如何提高你的NLP技能 276
11.1 开始新的NLP职业生涯 276
11.2 备忘列表 277
11.3 确定你的领域 277
11.4 通过敏捷的工作来实现成功 278
11.5 NLP和数据科学方面一些有用的博客 278
11.6 使用公开的数据集 278
11.7 数据科学领域需要的数学知识 278
11.8 总结 279
第12章 安装指导 280
12.1 安装Python、pip和NLTK 280
12.2 安装PyCharm开发环境 280
12.3 安装依赖库 280
12.4 框架安装指导 281
12.5 解决你的疑问 281
12.6 总结 281




有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4