科技
类型
可以朗读
语音朗读
302千字
字数
2019-08-01
发行日期
展开全部
主编推荐语
基于TensorFlow深度学习,掌握自然语言处理及其应用。
内容简介
自然语言处理(NLP)是计算机科学、人工智能、语言学关注计算机和人类(自然)语言之间的相互作用的领域。自然语言处理是机器学习的应用之一,用于分析、理解和生成自然语言,它与人机交互有关,最终实现人与计算机之间更好的交流。
本书分为12章,内容包括自然语言处理基础、深度学习基础、TensorFlow、词嵌入(Word Embedding)、卷积神经网络(CNN)与句子分类、循环神经网络(RNN)、长短期记忆(LSTM)、利用LSTM实现图像字幕自动生成、情感分析、机器翻译及智能问答系统。
本书适合TensorFlow自然语言处理技术的初学者、NLP应用开发人员、NLP研究人员,也适合高等院校和培训学校相关专业的师生教学参考。
目录
- 版权信息
- 内容简介
- 前言
- 本书主要内容
- 代码下载与技术支持
- 致谢
- 第1章 自然语言处理基础
- 1.1 认识自然语言处理
- 1.2 自然语言处理方面的任务
- 1.3 第一阶段:偏理论的理性主义
- 1.4 第二阶段:偏实践应用的经验主义
- 1.5 第三阶段:深度学习阶段
- 1.6 NLP中深度学习的局限性
- 1.7 NLP的应用场景
- 1.8 NLP的发展前景
- 1.9 总结
- 第2章 深度学习基础
- 2.1 深度学习介绍
- 2.2 深度学习演变简述
- 2.2.1 深度学习早期
- 2.2.2 深度学习的发展
- 2.2.3 深度学习的爆发
- 2.3 神经网络介绍
- 神经元
- 2.4 神经网络的基本结构
- 2.5 两层神经网络(多层感知器)
- 2.5.1 简述
- 2.5.2 两层神经网络结构
- 2.6 多层神经网络(深度学习)
- 2.6.1 简述
- 2.6.2 多层神经网络结构
- 2.7 编码器-解码器网络
- 2.8 随机梯度下降
- 2.9 反向传播
- 2.10 总结
- 第3章 TensorFlow
- 3.1 TensorFlow概念解读
- 3.2 TensorFlow主要特征
- 3.2.1 自动求微分
- 3.2.2 多语言支持
- 3.2.3 高度的灵活性
- 3.2.4 真正的可移植性
- 3.2.5 将科研和产品联系在一起
- 3.2.6 性能最优化
- 3.3 TensorFlow安装
- 在Linux上安装TensorFlow
- 3.4 TensorFlow计算图
- 3.5 TensorFlow张量和模型会话
- 3.5.1 张量
- 3.5.2 会话
- 3.6 TensorFlow工作原理
- 3.7 通过一个示例来认识TensorFlow
- 3.8 TensorFlow客户端
- 3.9 TensorFlow中常见元素解读
- 3.9.1 在TensorFlow中定义输入
- 3.9.2 在TensorFlow中定义变量
- 3.9.3 定义TensorFlow输出
- 3.9.4 定义TensorFlow运算或操作
- 3.10 变量作用域机制
- 3.10.1 基本原理
- 3.10.2 通过示例解读
- 3.11 实现一个神经网络
- 3.11.1 数据准备
- 3.11.2 定义TensorFlow计算图
- 3.11.3 运行神经网络
- 3.12 总结
- 第4章 词嵌入
- 4.1 分布式表示
- 4.1.1 分布式表示的直观认识
- 4.1.2 分布式表示解读
- 4.2 Word2vec模型(以Skip-Gram为例)
- 4.2.1 直观认识Word2vec
- 4.2.2 定义任务
- 4.2.3 从原始文本创建结构化数据
- 4.2.4 定义词嵌入层和神经网络
- 4.2.5 整合
- 4.2.6 定义损失函数
- 4.2.7 利用TensorFlow实现Skip-Gram模型
- 4.3 原始Skip-Gram模型和改进Skip-Gram模型对比分析
- 4.3.1 原始的Skip-Gram算法的实现
- 4.3.2 将原始Skip-Gram与改进后的Skip-Gram进行比较
- 4.4 CBOW模型
- 4.4.1 CBOW模型简述
- 4.4.2 利用TensorFlow实现CBOW 算法
- 4.5 Skip-Gram和CBOW对比
- 4.5.1 Skip-Gram和CBOW模型结构分析
- 4.5.2 代码层面对比两模型性能
- 4.5.3 Skip-Gram和CBOW模型孰优
- 4.6 词嵌入算法的扩展
- 4.6.1 使用Unigram分布进行负采样
- 4.6.2 降采样
- 4.6.3 CBOW 和其扩展类型比较
- 4.7 结构化Skip-Gram和连续窗口模型
- 4.7.1 结构化Skip-Gram算法
- 4.7.2 连续窗口模型
- 4.8 GloVe模型
- 4.8.1 共现矩阵
- 4.8.2 使用GloVe模型训练词向量
- 4.8.3 GloVe模型实现
- 4.9 使用Word2Vec进行文档分类
- 4.9.1 数据集
- 4.9.2 使用词向量对文档进行分类
- 4.9.3 小结
- 4.10 总结
- 第5章 卷积神经网络与句子分类
- 5.1 认识卷积神经网络
- 5.1.1 卷积神经网络的历史演变
- 5.1.2 卷积神经网络结构简述
- 5.2 输入层
- 5.3 卷积运算层
- 5.3.1 标准卷积
- 5.3.2 带步幅的卷积
- 5.3.3 带填充的卷积
- 5.3.4 转置卷积
- 5.3.5 参数共享机制
- 5.4 激活函数
- 5.4.1 常见激活函数及选择
- 5.4.2 各个非线性激活函数对比分析
- 5.5 池化层
- 5.5.1 理解池化
- 5.5.2 池化作用
- 5.5.3 最大池化
- 5.5.4 平均池化
- 5.6 全连接层
- 5.7 整合各层并使用反向传播进行训练
- 5.8 常见经典卷积神经网络
- 5.8.1 AlexNet
- 5.8.2 VGGNet
- 5.8.3 Google Inception Net
- 5.8.4 ResNet网络
- 5.9 利用CNN对MNIST数据集进行图片分类
- 5.9.1 数据样本
- 5.9.2 实现CNN
- 5.9.3 分析CNN产生的预测结果
- 5.10 利用CNN进行句子分类
- 5.10.1 CNN结构部分
- 5.10.2 池化运算
- 5.10.3 利用CNN实现句子分类
- 5.11 总结
- 第6章 循环神经网络
- 6.1 计算图及其展开
- 6.2 RNN解读
- 6.2.1 序列数据模型
- 6.2.2 数学层面简要解读RNN
- 6.3 通过时间的反向传播算法
- 6.3.1 反向传播工作原理
- 6.3.2 直接使用反向传播的局限性
- 6.3.3 通过反向传播训练RNN
- 6.3.4 截断BPTT
- 6.3.5 BPTT的局限性——梯度消失和梯度爆炸
- 6.4 RNN的应用类型
- 6.4.1 一对一的RNN
- 6.4.2 一对多的RNN
- 6.4.3 多对一的RNN
- 6.4.4 多对多的RNN
- 6.5 利用RNN生成文本
- 6.5.1 定义超参数
- 6.5.2 随着时间的推移展开截断BPTT的输入
- 6.5.3 定义验证数据集
- 6.5.4 定义权重值和偏差
- 6.5.5 定义状态永久变量
- 6.5.6 使用展开的输入计算隐藏状态和输出
- 6.5.7 计算损失
- 6.5.8 在新文本片段的开头重置状态
- 6.5.9 计算验证输出
- 6.5.10 计算梯度和优化
- 6.6 输出新生成的文本片段
- 6.7 评估RNN的文本结果输出
- 6.8 困惑度——文本生成结果质量的度量
- 6.9 具有上下文特征的循环神经网络——RNN-CF
- 6.9.1 RNN-CF的技术说明
- 6.9.2 RNN-CF的实现
- 6.9.3 定义RNN-CF超参数
- 6.9.4 定义输入和输出占位符
- 6.9.5 定义RNN-CF的权重值
- 6.9.6 用于维护隐藏层和上下文状态的变量和操作
- 6.9.7 计算输出
- 6.9.8 计算损失
- 6.9.9 计算验证输出
- 6.9.10 计算测试输出
- 6.9.11 计算梯度和优化
- 6.10 使用RNN-CF生成的文本
- 6.11 总结
- 第7章 长短期记忆
- 7.1 LSTM简述
- 7.2 LSTM工作原理详解
- 7.2.1 梯度信息如何无损失传递
- 7.2.2 将信息装载入长时记忆细胞
- 7.2.3 更新细胞状态可能产生的问题及解决方案
- 7.2.4 LSTM模型输出
- 7.3 LSTM与标准RNN的区别
- 7.4 LSTM如何避免梯度消失和梯度爆炸问题
- 7.5 优化LSTM
- 7.5.1 贪婪采样
- 7.5.2 集束搜索
- 7.5.3 使用词向量
- 7.5.4 双向LSTM
- 7.6 LSTM的其他变体
- 7.6.1 窥视孔连接
- 7.6.2 门控循环单元
- 7.7 总结
- 第8章 利用LSTM自动生成文本
- 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.5 实现LSTM
- 8.5.1 定义超参数
- 8.5.2 定义参数
- 8.5.3 定义LSTM细胞及其操作
- 8.5.4 定义输入和标签
- 8.5.5 定义处理序列数据所需的序列计算
- 8.5.6 定义优化器
- 8.5.7 随着时间的推移衰减学习率
- 8.5.8 进行预测
- 8.5.9 计算困惑度(损失)
- 8.5.10 重置状态
- 8.5.11 贪婪采样打破重复性
- 8.5.12 生成新文本
- 8.5.13 示例生成的文本
- 8.6 标准LSTM与带有窥视孔连接和GRU的LSTM的比较
- 8.6.1 标准LSTM
- 8.6.2 门控循环单元
- 8.6.3 带窥视孔连接的LSTM
- 8.6.4 随着时间的推移训练和验证困惑度
- 8.7 优化LSTM——集束搜索
- 8.7.1 实现集束搜索
- 8.7.2 使用集束搜索生成文本的示例
- 8.8 改进LSTM——使用词而不是n-gram生成文本
- 8.8.1 维度问题
- 8.8.2 完善Word2vec
- 8.8.3 使用Word2vec生成文本
- 8.8.4 使用LSTM-Word2vec和集束搜索生成文本的示例
- 8.8.5 困惑度随着时间推移的变化情况
- 8.9 使用TensorFlow RNN API
- 8.10 总结
- 第9章 利用LSTM实现图像字幕自动生成
- 9.1 简要介绍
- 9.2 发展背景
- 9.3 利用深度学习框架从图像中生成字幕
- 9.3.1 End-to-End 框架
- 9.3.2 组合框架
- 9.3.3 其他框架
- 9.4 评估指标和基准
- 9.5 近期研究
- 9.6 图像字幕的产业布局
- 9.7 详解图像字幕自动生成任务
- 9.7.1 认识数据集
- 9.7.2 用于图像字幕自动生成的深度学习管道
- 9.7.3 使用CNN提取图像特征
- 9.7.4 使用VGG-16加载权重值并进行推理
- 9.7.5 学习词向量
- 9.7.6 为LSTM模型准备字幕数据
- 9.7.7 生成LSTM的数据
- 9.7.8 定义LSTM
- 9.7.9 定量评估结果
- 9.7.10 为测试图像集生成字幕
- 9.7.11 使用TensorFlow RNN API和预训练的GloVe词向量
- 9.8 总结
- 第10章 情感分析
- 10.1 认识情感分析
- 情感分析的应用
- 10.2 情感分析的问题
- 问题的定义
- 10.3 情感文档分类
- 10.4 句子主观性与情感分类
- 10.5 基于方面(Aspect)的情感分析
- 10.6 情感词典生成
- 10.7 意见摘要
- 10.8 比较观点分析
- 10.9 意见搜索
- 10.10 垃圾评论检测
- 10.10.1 垃圾评论概述
- 10.10.2 垃圾评论的类型
- 10.10.3 可观察到的信息
- 10.10.4 数据样本
- 10.10.5 垃圾评论检测方法
- 10.11 评论的质量
- 10.12 利用TensorFlow进行中文情感分析实现
- 10.12.1 训练语料
- 10.12.2 分词和切分词
- 10.12.3 索引长度标准化
- 10.12.4 反向切分词
- 10.12.5 准备词向量矩阵
- 10.12.6 填充和截短
- 10.12.7 构建模型
- 10.12.8 结论
- 10.13 总结
- 第11章 机器翻译
- 11.1 机器翻译简介
- 11.2 基于规则的翻译
- 11.2.1 基于转换的机器翻译
- 11.2.2 语际机器翻译
- 11.2.3 基于字典的机器翻译
- 11.3 统计机器翻译
- 11.3.1 统计机器翻译的基础
- 11.3.2 基于词的翻译
- 11.3.3 基于短语的翻译
- 11.3.4 基于句法的翻译
- 11.3.5 基于分层短语的翻译
- 11.3.6 统计机器翻译的优势与不足
- 11.4 神经网络机器翻译
- 11.4.1 发展背景
- 11.4.2 神经网络机器翻译的特性
- 11.4.3 通过例子来认识神经网络机器翻译(NMT)模型的结构
- 11.4.4 神经网络机器翻译(NMT)模型结构详解
- 11.5 神经网络机器翻译(NMT)系统的前期准备工作
- 11.5.1 训练阶段
- 11.5.2 反转源语句
- 11.5.3 测试阶段
- 11.6 BLEU评分——评估机器翻译系统
- 11.6.1 BLEU简述
- 11.6.2 BLEU度量
- 11.6.3 BLEU的调整和惩罚因子
- 11.6.4 BLEU得分总结
- 11.7 完整实现神经网络机器翻译——德语到英语翻译
- 11.7.1 关于样本数据
- 11.7.2 预处理数据
- 11.7.3 学习词向量
- 11.7.4 定义编码器和解码器
- 11.7.5 定义端到端输出计算
- 11.7.6 神经网络机器翻译系统运行结果(部分)的展示
- 11.8 结合词向量训练神经网络机器翻译系统
- 11.8.1 最大化数据集词汇和预训练词向量之间的匹配
- 11.8.2 为词嵌入层定义TensorFlow变量
- 11.9 优化神经网络机器翻译系统
- 11.9.1 Teacher Forcing算法
- 11.9.2 深度LSTM
- 11.9.3 注意力模型
- 11.10 实现注意力机制
- 11.10.1 定义权重值
- 11.10.2 计算注意力
- 11.10.3 含有注意力机制的神经网络机器翻译的部分翻译结果
- 11.11 可视化源语句和目标语句的注意力
- 11.12 历史性突破——BERT模型
- 11.12.1 BERT模型简述
- 11.12.2 BERT模型结构
- 11.13 总结
- 第12章 智能问答系统
- 12.1 概要
- 12.2 基于知识库的问答
- 12.2.1 信息抽取
- 12.2.2 语义分析模式
- 12.2.3 信息抽取与语义分析小结
- 12.2.4 挑战
- 12.3 机器理解中的深度学习
- 12.3.1 任务描述
- 12.3.2 基于特征工程的机器理解方法
- 12.3.3 机器理解中的深度学习方法
- 12.4 利用TensorFlow实现问答任务
- 12.4.1 bAbI数据集
- 12.4.2 分析GloVe并处理未知令牌
- 12.4.3 已知或未知的数据部分
- 12.4.4 定义超参数
- 12.4.5 神经网络结构部分
- 12.4.6 输入部分
- 12.4.7 问题部分
- 12.4.8 情景记忆部分
- 12.4.9 注意力部分
- 12.4.10 答案模块
- 12.4.11 模型优化
- 12.4.12 训练模型并分析预测
- 12.5 总结
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。