[套装书]基于深度学习的自然语言处理+TensorFlow自然语言处理(2册)

作者
(以)约阿夫·戈尔德贝格(Yoav Goldberg)[澳] 图珊·加内格达拉(Thushan Ganegedara)
丛书名
智能科学与技术丛书
出版社
机械工业出版社
ISBN
9787190703163
简要
简介
内容简介书籍计算机书籍 ---------------------------基于深度学习的自然语言处理--------------------------- 本书重点介绍了神经网络模型在自然语言处理中的应用。首先介绍有监督的机器学习和前馈神经网络的基本知识,如何将机器学习方法应用在自然语言处理中,以及词向量表示(而不是符号表示)的应用。然后介绍更多专门的神经网络结构,包括一维卷积神经网络、循环神经网络、条件生成模型和基于注意力的模型。最后讨论树形网络、结构化预测以及多任务学习的前景。 ---------------------------TensorFlow自然语言处理--------------------------- 本书首先介绍NLP和TensorFlow基础知识,然后介绍如何使用Word2vec(包括高级扩展)创建单词嵌入,将单词序列转换为可由深度学习算法访问的向量。关于经典深度学习算法的章节,如卷积神经网络(CNN)和递归神经网络(RNN),展示了句子分类和语言生成等重要的NLP任务。此外还介绍如何将高性能的RNN模型,如长短期记忆(long short memory, LSTM)单元应用于NLP任务,你还将探索神经机器翻译并实现一个神经机器翻译器。
目录



---------------------------基于深度学习的自然语言处理---------------------------


译者序
前言
致谢
第1章引言
11自然语言处理的挑战
12神经网络和深度学习
13自然语言处理中的深度学习
14本书的覆盖面和组织结构
15本书未覆盖的内容
16术语
17数学符号
注释
第一部分有监督分类与前馈神经网络
第2章学习基础与线性模型
21有监督学习和参数化函数
22训练集、测试集和验证集
23线性模型
231二分类
232对数线性二分类
233多分类
24表示
25独热和稠密向量表示
26对数线性多分类
27训练和最优化
271损失函数
272正则化
28基于梯度的最优化
281随机梯度下降
282实例
283其他训练方法
第3章从线性模型到多层感知器
31线性模型的局限性:异或问题
32非线性输入转换
33核方法
34可训练的映射函数
第4章前馈神经网络
41一个关于大脑的比喻
42数学表示
43表达能力
44常见的非线性函数
45损失函数
46正则化与丢弃法
47相似和距离层
48嵌入层
第5章神经网络训练
51计算图的抽象概念
511前向计算
512反向计算(导数、反向传播)
513软件
514实现流程
515网络构成
52实践经验
521优化算法的选择
522初始化
523重启与集成
524梯度消失与梯度爆炸
525饱和神经元与死神经元
526随机打乱
527学习率
528minibatch
第二部分处理自然语言数据
第6章文本特征构造
61NLP分类问题中的拓扑结构
62NLP问题中的特征
621直接可观测特征
622可推断的语言学特征
623核心特征与组合特征
624n元组特征
625分布特征
第7章NLP特征的案例分析
71文本分类:语言识别
72文本分类:主题分类
73文本分类:作者归属
74上下文中的单词:词性标注
75上下文中的单词:命名实体识别
76上下文中单词的语言特征:介词词义消歧
77上下文中单词的关系:弧分解分析
第8章从文本特征到输入
81编码分类特征
811独热编码
812稠密编码(特征嵌入)
813稠密向量与独热表示
82组合稠密向量
821基于窗口的特征
822可变特征数目:连续词袋
83独热和稠密向量间的关系
84杂项
841距离与位置特征
842补齐、未登录词和词丢弃
843特征组合
844向量共享
845维度
846嵌入的词表
847网络的输出
85例子:词性标注
86例子:弧分解分析
第9章语言模型
91语言模型任务
92语言模型评估:困惑度
93语言模型的传统方法
931延伸阅读
932传统语言模型的限制
94神经语言模型
95使用语言模型进行生成
96副产品:词的表示
第10章预训练的词表示
101随机初始化
102有监督的特定任务的预训练
103无监督的预训练
104词嵌入算法
1041分布式假设和词表示
1042从神经语言模型到分布式表示
1043词语联系
1044其他算法
105上下文的选择
1051窗口方法
1052句子、段落或文档
1053句法窗口
1054多语种
1055基于字符级别和子词的表示
106处理多字单元和字变形
107分布式方法的限制
第11章使用词嵌入
111词向量的获取
112词的相似度
113词聚类
114寻找相似词
115同中选异
116短文档相似度
117词的类比
118改装和映射
119实用性和陷阱
第12章案例分析:一种用于句子意义推理的前馈结构
121自然语言推理与 SNLI数据集
122文本相似网络
第三部分特殊的结构
第13章n元语法探测器:卷积神经网络
131基础卷积池化
1311文本上的一维卷积
1312向量池化
1313变体
132其他选择:特征哈希
133层次化卷积
第14章循环神经网络:序列和栈建模
141RNN抽象描述
142RNN的训练
143RNN常见使用模式
1431接收器
1432编码器
1433传感器
144双向RNN
145堆叠RNN
146用于表示栈的RNN
147文献阅读的注意事项
第15章实际的循环神经网络结构
151作为RNN的CBOW
152简单RNN
153门结构
1531长短期记忆网络
1532门限循环单元
154其他变体
155应用到RNN的丢弃机制
第16章通过循环网络建模
161接收器
1611情感分类器
1612主谓一致语法检查
162作为特征提取器的RNN
1621词性标注
1622RNNCNN文本分类
1623弧分解依存句法分析
第17章条件生成
171RNN生成器
172条件生成(编码器解码器)
1721序列到序列模型
1722应用
1723其他条件上下文
173无监督的句子相似性
174结合注意力机制的条件生成
1741计算复杂性
1742可解释性
175自然语言处理中基于注意力机制的模型
1751机器翻译
1752形态屈折
1753句法分析
第四部分其他主题
第18章用递归神经网络对树建模
181形式化定义
182扩展和变体
183递归神经网络的训练
184一种简单的替代——线性化树
185前景
第19章结构化输出预测
191基于搜索的结构化预测
1911基于线性模型的结构化预测
1912非线性结构化预测
1913概率目标函数(CRF)
1914近似搜索
1915重排序
1916参考阅读
192贪心结构化预测
193条件生成与结构化输出预测
194实例
1941基于搜索的结构化预测:一阶依存句法分析
1942基于NeuralCRF的命名实体识别
1943基于柱搜索的NERCRF近似
第20章级联、多任务与半监督学习
201模型级联
202多任务学习
2021多任务设置下的训练
2022选择性共享
2023作为多任务学习的词嵌入预训练
2024条件生成中的多任务学习
2025作为正则的多任务学习
2026注意事项
203半监督学习
204实例
2041眼动预测与句子压缩
2042弧标注与句法分析
2043介词词义消歧与介词翻译预测
2044条件生成:多语言机器翻译、句法分析以及图像描述生成
205前景
第21章结论
211我们学到了什么
212未来的挑战
参考文献


---------------------------TensorFlow自然语言处理---------------------------


译者序
前言
关于作者
关于审阅者
第1章 自然语言处理简介 1
1.1 什么是自然语言处理 1
1.2 自然语言处理的任务 2
1.3 传统的自然语言处理方法 3
1.3.1 理解传统方法 4
1.3.2 传统方法的缺点 7
1.4 自然语言处理的深度学习方法 8
1.4.1 深度学习的历史 8
1.4.2 深度学习和NLP的当前状况 9
1.4.3 理解一个简单的深层模型—全连接神经网络 10
1.5 本章之外的学习路线 12
1.6 技术工具简介 14
1.6.1 工具说明 15
1.6.2 安装Python和scikit-learn 15
1.6.3 安装Jupyter Notebook 15
1.6.4 安装TensorFlow 16
1.7 总结 17
第2章 理解TensorFlow 18
2.1 TensorFlow是什么 18
2.1.1 TensorFlow入门 19
2.1.2 TensorFlow客户端详细介绍 21
2.1.3 TensorFlow架构:当你执行客户端时发生了什么 21
2.1.4 Cafe Le TensorFlow:使用类比理解TensorFlow 23
2.2 输入、变量、输出和操作 24
2.2.1 在TensorFlow中定义输入 25
2.2.2 在TensorFlow中定义变量 30
2.2.3 定义TensorFlow输出 31
2.2.4 定义TensorFlow操作 31
2.3 使用作用域重用变量 40
2.4 实现我们的第一个神经网络 42
2.4.1 准备数据 43
2.4.2 定义TensorFLow图 43
2.4.3 运行神经网络 45
2.5 总结 46
第3章 Word2vec——学习词嵌入 48
3.1 单词的表示或含义是什么 49
3.2 学习单词表示的经典方法 49
3.2.1 WordNet—使用外部词汇知识库来学习单词表示 50
3.2.2 独热编码表示方式 53
3.2.3 TF-IDF方法 53
3.2.4 共现矩阵 54
3.3 Word2vec—基于神经网络学习单词表示 55
3.3.1 练习:queen = king – he + she吗 56
3.3.2 为学习词嵌入定义损失函数 58
3.4 skip-gram算法 59
3.4.1 从原始文本到结构化的数据 59
3.4.2 使用神经网络学习词嵌入 60
3.4.3 使用TensorFlow实现skip-gram 67
3.5 连续词袋算法 69
3.6 总结 71
第4章 高级Word2vec 72
4.1 原始skip-gram算法 72
4.1.1 实现原始skip-gram算法 73
4.1.2 比较原始skip-gram算法和改进的skip-gram算法 75
4.2 比较skip-gram算法和CBOW算法 75
4.2.1 性能比较 77
4.2.2 哪个更胜一筹:skip-gram还是CBOW 79
4.3 词嵌入算法的扩展 81
4.3.1 使用unigram分布进行负采样 81
4.3.2 实现基于unigram的负采样 81
4.3.3 降采样:从概率上忽视常用词 83
4.3.4 实现降采样 84
4.3.5 比较CBOW及其扩展算法 84
4.4 最近的skip-gram和CBOW的扩展算法 85
4.4.1 skip-gram算法的限制 85
4.4.2 结构化skip-gram算法 85
4.4.3 损失函数 86
4.4.4 连续窗口模型 87
4.5 GloVe:全局向量表示 88
4.5.1 理解GloVe 88
4.5.2 实现GloVe 89
4.6 使用Word2vec进行文档分类 90
4.6.1 数据集 91
4.6.2 用词向量进行文档分类 91
4.6.3 实现:学习词嵌入 92
4.6.4 实现:词嵌入到文档嵌入 92
4.6.5 文本聚类以及用t-SNE可视化文档嵌入 93
4.6.6 查看一些特异点 94
4.6.7 实现:用K-means对文档进行分类/聚类 95
4.7 总结 96
第5章 用卷积神经网络进行句子分类 97
5.1 介绍卷积神经网络 97
5.1.1 CNN基础 97
5.1.2 卷积神经网络的力量 100
5.2 理解卷积神经网络 100
5.2.1 卷积操作 100
5.2.2 池化操作 103
5.2.3 全连接层 104
5.2.4 组合成完整的CNN 105
5.3 练习:在MNIST数据集上用CNN进行图片分类 105
5.3.1 关于数据 106
5.3.2 实现CNN 106
5.3.3 分析CNN产生的预测结果 108
5.4 用CNN进行句子分类 109
5.4.1 CNN结构 110
5.4.2 随时间池化 112
5.4.3 实现:用CNN进行句子分类 112
5.5 总结 115
第6章 递归神经网络 116
6.1 理解递归神经网络 116
6.1.1 前馈神经网络的问题 117
6.1.2 用递归神经网络进行建模 118
6.1.3 递归神经网络的技术描述 119
6.2 基于时间的反向传播 119
6.2.1 反向传播的工作原理 120
6.2.2 为什么RNN不能直接使用反向传播 120
6.2.3 基于时间的反向传播:训练RNN 121
6.2.4 截断的BPTT:更有效地训练RNN 121
6.2.5 BPTT的限制:梯度消失和梯度爆炸 122
6.3 RNN的应用 123
6.3.1 一对一RNN 123
6.3.2 一对多RNN 123
6.3.3 多对一RNN 124
6.3.4 多对多RNN 124
6.4 用RNN产生文本 125
6.4.1 定义超参数 125
6.4.2 将输入随时间展开用于截断的BPTT 125
6.4.3 定义验证数据集 126
6.4.4 定义权重和偏置 126
6.4.5 定义状态持续变量 127
6.4.6 用展开的输入计算隐藏状态和输出 127
6.4.7 计算损失 128
6.4.8 在新文本片段的开头重置状态 128
6.4.9 计算验证输出 128
6.4.10 计算梯度和优化 129
6.4.11 输出新生成的文本块 129
6.5 评估RNN的文本结果输出 130
6.6 困惑度:衡量文本结果的质量 131
6.7 有上下文特征的递归神经网络:更长记忆的RNN 132
6.7.1 RNN-CF的技术描述 132
6.7.2 实现RNN-CF 133
6.7.3 RNN-CF产生的文本 138
6.8 总结 140
第7章 长短期记忆网络 142
7.1 理解长短期记忆网络 142
7.1.1 LSTM是什么 143
7.1.2 更详细的LSTM 144
7.1.3 LSTM与标准RNN的区别 149
7.2 LSTM如何解决梯度消失问题 150
7.2.1 改进LSTM 152
7.2.2 贪婪采样 153
7.2.3 集束搜索 153
7.2.4 使用词向量 154
7.2.5 双向LSTM(BiLSTM) 155
7.3 其他LSTM的变体 156
7.3.1 窥孔连接 156
7.3.2 门循环单元 157
7.4 总结 159
第8章 LSTM应用:文本生成 160
8.1 数据集 160
8.1.1 关于数据集 160
8.1.2 数据预处理 162
8.2 实现LSTM 162
8.2.1 定义超参数 163
8.2.2 定义参数 163
8.2.3 定义LSTM单元及操作 165
8.2.4 定义输入和标签 165
8.2.5 定义处理序列数据所需的序列计算 166
8.2.6 定义优化器 167
8.2.7 随时间衰减学习率 167
8.2.8 做预测 168
8.2.9 计算困惑度(损失) 168
8.2.10 重置状态 169
8.2.11 贪婪采样避免单峰 169
8.2.12 生成新文本 169
8.2.13 生成的文本样例 170
8.3 LSTM与窥孔LSTM和GRU对比 171
8.3.1 标准LSTM 171
8.3.2 门控循环单元(GRU) 172
8.3.3 窥孔LSTM 174
8.3.4 训练和验证随时间的困惑度 175
8.4 改进LSTM:集束搜索 176
8.4.1 实现集束搜索 177
8.4.2 集束搜索生成文本的示例 179
8.5 LSTM改进:用单词替代n-gram生成文本 179
8.5.1 维度灾难 179
8.5.2 Word2vec补救 180
8.5.3 使用Word2vec生成文本 180
8.5.4 使用LSTM-Word2vec和集束搜索生成的文本示例 181
8.5.5 随时间困惑度 182
8.6 使用TensorFlow RNN API 183
8.7 总结 186
第9章 LSTM应用:图像标题生成 188
9.1 了解数据 188
9.1.1 ILSVRC ImageNet数据集 189
9.1.2 MS-COCO数据集 189
9.2 图像标题生成实现路径 191
9.3 使用CNN提取图像特征 193
9.4 实现:使用VGG-16加载权重和推理 193
9.4.1 构建和更新变量 194
9.4.2 预处理输入 195
9.4.3 VGG-16推断 196
9.4.4 提取图像的向量化表达 197
9.4.5 使用VGG-16预测类别概率 197
9.5 学习词嵌入 198
9.6 准备输入LSTM的标题 198
9.7 生成LSTM的数据 199
9.8 定义LSTM 201
9.9 定量评估结果 203
9.9.1 BLEU 203
9.9.2 ROUGE 204
9.9.3 METEOR 204
9.9.4 CIDEr 206
9.9.5 模型随着时间变化的BLEU-4 206
9.10 为测试图像生成标题 207
9.11 使用TensorFlow RNN API和预训练的GloVe词向量 210
9.11.1 加载GloVe词向量 210
9.11.2 清洗数据 212
9.11.3 使用TensorFlow RNN API和预训练的词嵌入 213
9.12 总结 218
第10章 序列到序列学习:神经机器翻译 220
10.1 机器翻译 220
10.2 机器翻译简史 221
10.2.1 基于规则的翻译 221
10.2.2 统计机器翻译(SMT) 222
10.2.3 神经机器翻译(NMT) 223
10.3 理解神经机器翻译 225
10.3.1 NMT原理 225
10.3.2 NMT架构 226
10.4 为NMT系统准备数据 228
10.4.1 训练阶段 229
10.4.2 反转源句 229
10.4.3 测试阶段 230
10.5 训练NMT 230
10.6 NMT推理 231
10.7 BLEU评分:评估机器翻译系统 232
10.7.1 修正的精确度 232
10.7.2 简短惩罚项 233
10.7.3 最终BLEU得分 233
10.8 从头开始实现NMT:德语到英语的翻译 233
10.8.1 数据介绍 234
10.8.2 处理数据 234
10.8.3 学习词嵌入 235
10.8.4 定义编码器和解码器 236
10.8.5 定义端到端输出计算 238
10.8.6 翻译结果 239
10.9 结合词嵌入训练NMT 241
10.9.1 最大化数据集词汇表和预训练词嵌入之间的匹配 241
10.9.2 将嵌入层定义为TensorFlow变量 243
10.10 改进NMT 245
10.10.1 教师强迫 246
10.10.2 深度LSTM 247
10.11 注意力 247
10.11.1 突破上下文向量瓶颈 247
10.11.2 注意力机制细节 248
10.11.3 注意力NMT的翻译结果 253
10.11.4 源句子和目标句子注意力可视化 254
10.12 序列到序列模型的其他应用:聊天机器人 256
10.12.1 训练聊天机器人 256
10.12.2 评估聊天机器人:图灵测试 257
10.13 总结 258
第11章 自然语言处理的现状与未来 259
11.1 NLP现状 259
11.1.1 词嵌入 260
11.1.2 神经机器翻译 264
11.2 其他领域的渗透 266
11.2.1 NLP与计算机视觉结合 266
11.2.2 强化学习 268
11.2.3 NLP生成式对抗网络 269
11.3 走向通用人工智能 270
11.3.1 一个模型学习全部 271
11.3.2 联合多任务模型:为多个NLP任务生成神经网络 272
11.4 社交媒体NLP 273
11.4.1 社交媒体中的谣言检测 274
11.4.2 社交媒体中的情绪检测 274
11.4.3 分析推特中的政治框架 274
11.5 涌现的新任务 275
11.5.1 讽刺检测 275
11.5.2 语言基础 276
11.5.3 使用LSTM略读文本 276
11.6 新兴的机器学习模型 277
11.6.1 阶段LSTM 277
11.6.2 扩张RNN(DRNN) 278
11.7 总结 278
11.8 参考文献 279
附录 数学基础与高级TensorFlow 282




有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4