描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111653578
读者对象:1、希望全面回顾自然语言处理领域的深度学习基础知识的数据科学家和工程师;2、对自然语言处理领域的深度学习感兴趣的新生代IT人员;3、从初级到高级的各级学生、教师、研究人员;4、其他对自然语言处理领域的深度学习感兴趣的人员。
本书首先介绍自然语言处理领域的基本构件,接着介绍使用*的神经网络模型可以解决的问题。深入研究各种神经网络架构及其特定的应用领域将有助于你理解如何选择*模型来满足你的需求。随着学习的深入,你将学到卷积神经网络、循环神经网络、递归神经网络以及长短期记忆网络。在后面的章节中,你将能够使用自然语言处理技术(如注意力机制模型和集束搜索)开发应用程序。学完本书,你不仅能具备自然语言处理的基础知识,还能选择绝佳的文本预处理和神经网络模型来解决一些自然语言处理的问题。
将深度学习方法应用于各种自然语言处理任务,可以让你的算法在速度和准确性方面提升到一个全新的水平。本书首先介绍自然语言处理领域的基本构件,接着介绍使用*的神经网络模型可以解决的问题。深入研究各种神经网络架构及其特定的应用领域将有助于你理解如何选择*模型来满足你的需求。随着学习的深入,你将学到卷积神经网络、循环神经网络、递归神经网络以及长短期记忆网络。在后面的章节中,你将能够使用自然语言处理技术(如注意力机制模型和集束搜索)开发应用程序。
学完本书,你不仅能具备自然语言处理的基础知识,还能选择适合的文本预处理和神经网络模型来解决一些自然语言处理的问题。
本书能帮助你:
了解深度学习问题的各种预处理技术。
用word2vec和GloVe构建文本的矢量表示。
使用Apache OpenNLP创建命名实体识别器和词性标注器。
在Keras中构建机器翻译模型。
用LSTM开发文本生成应用程序。
使用注意力模型构建触发词检测应用程序。
译者序
前言
第1章 自然语言处理 1
1.1 本章概览 1
1.2 自然语言处理的基础知识 1
1.3 自然语言处理的能力 3
1.4 自然语言处理中的应用 4
1.4.1 文本预处理 5
1.4.2 文本预处理技术 6
1.5 词嵌入 13
1.6 本章小结 22
第2章 自然语言处理的应用 23
2.1 本章概览 23
2.2 词性标注 24
2.2.1 词性 24
2.2.2 词性标注器 25
2.3 词性标注的应用 27
2.4 分块 33
2.5 加缝 35
2.6 命名实体识别 37
2.6.1 命名实体 37
2.6.2 命名实体识别器 38
2.6.3 命名实体识别的应用 38
2.6.4 命名实体识别器类型 39
2.7 本章小结 43
第3章 神经网络 44
3.1 本章概览 44
3.1.1 深度学习简介 44
3.1.2 机器学习与深度学习的比较 45
3.2 神经网络 46
3.3 训练神经网络 50
3.3.1 计算权重 51
3.3.2 损失函数 52
3.3.3 梯度下降算法 53
3.3.4 反向传播 56
3.4 神经网络的设计及其应用 57
3.4.1 有监督神经网络 57
3.4.2 无监督神经网络 57
3.5 部署模型即服务的基础 60
3.6 本章小结 62
第4章 卷积神经网络 63
4.1 本章概览 63
4.2 理解CNN的架构 65
4.2.1 特征提取 66
4.2.2 随机失活 68
4.2.3 卷积神经网络的分类 69
4.3 训练CNN 71
4.4 CNN的应用领域 77
4.5 本章小结 80
第5章 循环神经网络 81
5.1 本章概览 81
5.2 神经网络的早期版本 82
5.3 RNN 84
5.3.1 RNN架构 87
5.3.2 BPTT 88
5.4 更新和梯度流 90
5.4.1 调整权重矩阵Wy 90
5.4.2 调整权重矩阵Ws 90
5.4.3 关于更新Wx 92
5.5 梯度 94
5.5.1 梯度爆炸 94
5.5.2 梯度消失 94
5.5.3 Keras实现RNN 95
5.5.4 有状态与无状态 99
5.6 本章小结 102
第6章 门控循环单元 103
6.1 本章概览 103
6.2 简单RNN的缺点 104
6.3 门控循环单元 106
6.3.1 门的类型 108
6.3.2 更新门 108
6.3.3 重置门 110
6.3.4 候选激活函数 111
6.3.5 GRU变体 113
6.4 基于GRU的情感分析 114
6.5 本章小结 123
第7章 长短期记忆网络 124
7.1 本章概览 124
7.1.1 LSTM 124
7.1.2 遗忘门 126
7.2 输入门和候选单元状态 128
7.3 输出门和当前激活 132
7.4 神经语言翻译 139
7.5 本章小结 150
第8章 自然语言处理前沿 151
8.1 本章概览 151
8.1.1 注意力机制 152
8.1.2 注意力机制模型 153
8.1.3 使用注意力机制的数据标准化 154
8.1.4 编码器 155
8.1.5 解码器 155
8.1.6 注意力机制 155
8.1.7 α的计算 156
8.2 其他架构和发展状况 167
8.2.1 transformer 168
8.2.2 BERT 168
8.2.3 Open AI GPT-2 168
8.3 本章小结 169
第9章 组织中的实际NLP项目工作流 170
9.1 本章概览 170
9.1.1 机器学习产品开发的一般工作流 170
9.1.2 演示工作流 171
9.1.3 研究工作流 171
9.1.4 面向生产的工作流 172
9.2 问题定义 173
9.3 数据采集 173
9.4 谷歌Colab 174
9.5 Flask 180
9.6 部署 182
9.6.1 对Flask网络应用程序进行更改 183
9.6.2 使用Docker将Flask网络应用程序包装到容器中 183
9.6.3 将容器托管在亚马逊网络服务EC2实例上 185
9.6.4 改进 190
9.7 本章小结 190
附录 191
◆译者序◆
自然语言处理(Natural Language Processing,NLP)属于人工智能的一个子领域,是指用计算机对自然语言的形、音、义等信息进行处理,即对字、词、句、篇章的输入、输出、识别、分析、理解、生成等进行操作和加工。它对计算机和人类的交互方式有许多重要的影响。
本书可划分为三大部分:第一部分包括第1、2章,主要介绍了NLP的常用基本技术,包括词嵌入、文本规范化、标记文本、词性标注等,并且附有练习,以帮助读者实际上手和巩固所学知识;第二部分涵盖第3章到第8章,这部分专门针对用于NLP任务的神经网络与深度学习技术进行讲解,包括CNN、RNN、GRU、LSTM等,特别是第8章讲解了最前沿的用于自然语言处理任务的技术,包括注意力机制、transformer及BERT等;第三部分(第9 章)则是NLP在真正项目工作流中的体现。原理加项目代码实现是整本书的特点。希望读者可以多编码,加深记忆。
译者在本书翻译过程中参考了大量书籍和文献,但由于水平有限,译文中难免有不当之处,恳请读者批评指正。
曾小健
2020年伊始
◆前言 ◆
本书首先介绍自然语言处理领域的基本构件,接着介绍使用最先进的神经网络模型可以解决的问题,将深入涵盖文本处理任务中所需的必要预处理以及自然语言处理领域的一些热门话题,包括卷积神经网络、循环神经网络和长短期记忆网络。通过阅读本书,读者将理解文本预处理以及超参数调整的重要性。
学习目标
学习自然语言处理的基础知识。
了解深度学习问题的各种预处理技术。
使用word2vec和GloVe构建文本的矢量表示。
理解命名实体识别。
使用机器学习进行词性标注。
训练和部署可扩展的模型。
了解神经网络的几种架构。
目标读者
对自然语言处理领域的深度学习感兴趣的有抱负的数据科学家和工程师。
他们将从自然语言处理概念的基础开始,逐渐深入到神经网络的概念及其在文本处理问题中的应用。他们将学习不同的神经网络架构及其应用领域。需要具备丰富的Python知识和线性代数技能。
方法
本书从自然语言处理的基本概念讲起,在了解了基本概念之后,读者将逐渐意识到自然语言处理技术在现实世界中的应用和问题。接下来本书针对这些问题领域介绍开发解决方案的方法。本书还讨论了作为基于解决方案的方法的一部分的神经网络的基本构造块。最后通过实例阐述各种现代的神经网络架构及其相应的应用领域。
硬件要求
为了获得最佳体验,我们推荐以下硬件配置:
处理器:英特尔酷睿i5或同级产品
内存:4 GB内存
存储:5 GB可用空间
软件需求
我们还建议你预先安装以下软件:
操作系统:Windows 7 SP1 64位、Windows 8.1 64位或Windows 10 64位、Linux (Ubuntu、Debian、Red Hat或Suse)或OS X的最新版本。
Python 3.6.5或更高版本,最好是3.7。可访问https://www.python.org/downloads/release/python-371/下载。
Jupyter(访问网站https://jupyter.org/install下载,按照说明安装)。或者,你可以使用Anaconda来安装Jupyter。
Keras(https://keras.io/#installation)。
Google Colab这是一个免费的Jupyter笔记本环境,运行在云基础架构上。强烈建议你使用它,因为其不需要任何设置,并且预先安装了流行的Python包和库(https://colab.research.google.com/note-books/welcome.ipynb)。
安装和设置
每一次伟大的旅程都是从一个不起眼的步骤开始的,对于即将到来的数据领域的冒险也不例外。在能够用数据做令人敬畏的事情之前,我们需要准备好最高效的环境。
在Windows上安装Python
1)在官方安装页面(https://www.python.org/downloads/windows/)上找到你想要的Python版本。
2)确保根据你的计算机系统安装正确的“位”版本(32位或64位)。你可以在操作系统的“系统属性”窗口中找到此信息。
下载安装程序后,只需双击文件,并按照屏幕上显示的用户友好提示操作。
在Linux上安装Python
要在Linux上安装Python,需执行以下操作:
1)在命令提示符下运行python3–version验证尚未安装pPython 3。
2)要安装Python 3,请运行以下命令:
3)如果遇到问题,有许多在线资源可以帮助你解决问题。
在macOS X上安装Python
要在macOS X上安装Python,需执行以下操作:
1)通过按住“CMD 空格”组合键打开终端,在打开的搜索框中键入终端,然后按回车键。
2)通过命令行运行xcode–select–install来安装Xcode。
3)安装Python 3最简单的方法是使用 homebrew,通过命令行运行ruby–e”$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”来安装。
4)将homebrew添加到你的PATH环境变量中。通过运行sudo nano~/.profile在命令行中打开你的配置文件,并在底部插入export PATH=”/usr/local/opt/python/libexec/bin:$PATH”。
5)最后一步是安装Python。在命令行中,运行brew install python。
6)注意,如果你安装Anaconda,最新版本的Python将自动安装。
安装Keras
要安装Keras,需执行以下步骤:
1)由于Keras需要另一个深度学习框架作为后端,你需要先下载另一个框架,建议使用TensorFlow。
要在你的平台上安装TensorFlow,请访问https://www.tensorflow.org/install/。
2)安装后端后,就可以使用以下命令安装Keras:
也可以从GitHub安装它,使用以下方法克隆Keras:
3)使用以下命令在Python上安装Keras:
现在需要配置后端。更多信息请参考链接https://keras.io/backend/。
下载示例代码及彩色图像
本书的示例代码及所有截图和样图,可以从http://www.packtpub.com通过个人账号下载,也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账号下载。
评论
还没有评论。