首页>参考读物>计算机科学与技术>人工智能

面向自然语言处理的深度学习:用Python创建神经网络
作者 : [印]帕拉什·戈雅尔(Palash Goyal)苏米特·潘迪(Sumit Pandey)卡兰·贾恩(Karan Jain)著
译者 : 陶阳 张冬松 徐潇 译
出版日期 : 2019-01-24
ISBN : 978-7-111-61719-8
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 209
开本 : 16
原书名 : Deep Learning for Natural Language Processing: Creating Neural Networks with Python
原出版社: Apress
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

图书特色

通过解决丢弃层、池化层和归一化层的难题,探索并开发你自己的深度学习网络
获得关于强化学习以及如何使用上下文特定的行为令人兴奋的介绍
使用TensorFlow和Keras基于叠加双向LSTM创建自己的聊天机器人

图书前言

本书使用适当和完整的神经网络体系结构示例,例如用于自然语言处理(NLP)任务的循环神经网络(RNN)和序列到序列(seq2seq),以较为全面的方式简化和呈现深度学习的概念。本书试图弥合理论与应用之间的缺口。
本书以循序渐进的方式从理论过渡到实践,首先介绍基础知识,然后是基础数学,最后是相关示例的实现。
前三章介绍NLP的基础知识,从最常用的Python库开始,然后是词向量表示,再到高级算法,例如用于文本数据的神经网络。
最后两章完全侧重于实现,运用广泛流行的Python工具TensorFlow和Keras,处理诸如RNN、长短期记忆(LSTM)网络、seq2seq等复杂架构。我们尽最大努力遵循循序渐进的方法,最后集合全部知识构建一个问答系统。
本书旨在为想要学习面向NLP的深度学习技术的读者提供一个很好的起点。
本书中展示的所有代码都在GitHub上以IPython notebook和脚本的形式公开,使读者能够实践这些示例,并以自己感兴趣的任何方式对它们进行扩展。

上架指导

计算机\人工智能

封底文字

本书通过介绍完整的神经网络模型(包括循环神经网络、长短期记忆网络以及序列到序列模型)实例,向读者阐释用于自然语言处理(NLP)的深度学习概念。
前三章介绍NLP和深度学习的基础知识、词向量表示和高级算法。后两章集中介绍实现,并使用Python工具TensorFlow和Keras来处理复杂的架构,比如RNN、LSTM和seq2seq。本书遵循循序渐进的方法,最后集合全部知识构建一个问答式聊天机器人系统。
对于面向NLP的深度学习的初学者来说,本书是很好的入门材料。书中出现的所有代码均以IPython notebook和脚本的形式公开,使读者能够实践这些代码,并能按任何感兴趣的方式扩展它们。
通过学习本书,读者将:
了解深度学习的基础及其数学预备知识
认识基于Python的深度学习框架
开发一个聊天机器人
实现一篇研究论文中的情感分类

译者序

很高兴接受这本书的翻译任务,更加高兴的是能跟读者说说心里话。
接到任务之前,我和团队正在进行人机对话领域的研究与实现工作。我们的导师是国防科技大学计算机学院彭宇行研究员,在他的带领下,我们已经取得了不少成果。这些年导师带领我们在人工智能领域开展了多项研究工作,深度学习算法是其中很重要的一项。所以,我们有较强的理论和实践基础,尤其是近一年来我们一直致力于基于自然语言处理的对话机器人项目的落地实现。正好在这个时候接到了这本书的翻译任务,这种感觉太好了。
拿到这本书之后,我仔细阅读了书的内容,被作者由浅入深、从理论到实践的创作思路深深吸引住了。前面章节对深度学习和自然语言处理的基础理论知识的介绍十分深入,而且强调实用性,也为后面章节的完整实例做好了准备。虽然该书面向的读者是中高级深度学习和自然语言处理开发人员,但读完后你就会感到,即使你在深度学习和自然语言处理方向的知识积累还不够多,也可以立刻开发出一个实际的基于自然语言处理的应用项目。
我们知道,采用计算机技术来研究和处理自然语言是20世纪40年代末50年代初才开始的。几十年来,这项研究取得了长足的进展,成为计算机科学中一门重要的新兴学科—自然语言处理(Natural Language Processing,NLP)。建立自然语言处理模型需要各个方面的知识,比如声学和韵律学、音位学、形态学、词汇学、句法学、语义学、话语分析、语用学等。由于自然语言处理是一个多边缘的交叉学科,除了语言学外,它还涉及多个知识领域,比如计算机科学、数学、统计学、生物学等,尤其是计算机科学领域的深度学习。深度学习是机器学习的一个扩展领域,它已经在文本、图像和语音等领域发挥了巨大作用。在深度学习下实现的算法集合与人脑中的刺激和神经元之间的关系具有相似性。深度学习在计算机视觉、语言翻译、语音识别、图像生成等方面具有广泛的应用。大多数深度学习算法都基于人工神经网络的概念,如今,大量可用的数据和丰富的计算资源使这种算法的训练变得简单了。随着数据量的增长,深度学习模型的性能会不断提高。这些看似高深的理论知识,本书在第1章用很浅显的语言告诉了我们。我向我们的项目团队推荐了这本书,他们反映这本书写得很好,实践性强,特别适用于自然语言处理相关的项目。我就想,如果能把这本优秀的教材翻译成中文,肯定能让国内从事自然语言处理的年轻工程师们从中受益。于是,我欣然接受了本书的翻译任务。
我认真通读本书两遍,对于本书有一定的理解后试着翻译起来,然而不像想象中那样容易。说实话,有时候习惯了阅读英文,即使理解了英文意思,而要把英文的意思表达为确切的中文,大量的术语如何用中文来表达,也是颇费周折、令人踌躇的难题。另外,为了能够及早让本书与读者见面,在我们的导师彭宇行研究员的大力支持下,我跟团队成员商量,请具有较好的自然语言处理方向研究基础的张冬松博士后和海归硕士徐潇两位骨干加入进来,共同完成翻译任务。
接到翻译任务的时候正是暑假,所以我们几乎用了全部的假期时间来进行翻译。暑假之后,每位译者依然十分认真,所有的业余时间都用上了,遇到疑难问题时共同切磋、反复推敲,经常在微信群里讨论,确定最好的翻译结果。每翻译一章,他们就交给我审校,及时统一意见。在我们三人的通力合作下,连续工作两个多月,全书的翻译任务终于大功告成。
这么一本优秀的著作在给我们带来无穷动力的同时,无疑也给翻译工作带来了无形的压力。为了尽量保证每章译稿的质量并保证译文的前后一致性,整本书的审校工作全部由我本人独立完成,同时我及时反馈并提供了统一的术语翻译。在翻译过程中我们阅读了大量相关的教材和论文,也包括网上的常用译法以及公认的英文术语,并前后进行了六次自我校对。在校对过程中,有很多师门的兄弟姐妹们也提出了很多宝贵的意见和建议。对于他们无私的帮助,我表示由衷的感谢。感谢我们的导师彭宇行研究员对我们的翻译工作给予的支持和肯定。另外还要感谢我的妻子,在前前后后两个多月时间里,我几乎所有的时间都用在翻译和校对上,而她却默默地承担起照顾两个孩子的责任。
虽然得到了大家的帮助,翻译团队也认真努力,但由于我们的专业水平、理解能力和文字功底十分有限,加之时间仓促,最后的译稿中一定还存在不少理解上的偏差,译文也会有生硬之处。希望读者不吝赐教,提出宝贵的修改意见和建议,以便我们能够对现有译稿不断改进。
谢谢!

陶 阳

图书目录

译者序
前言
致谢
关于作者
关于技术审校人员
第1章 自然语言处理和深度学习概述 1
1.1 Python包 2
1.1.1 NumPy 2
1.1.2 Pandas 6
1.1.3 SciPy 9
1.2 自然语言处理简介 11
1.2.1 什么是自然语言处理 11
1.2.2 如何理解人类的语言 11
1.2.3 自然语言处理的难度是什么 11
1.2.4 我们想通过自然语言处理获得什么 13
1.2.5 语言处理中的常用术语 13
1.3 自然语言处理库 14
1.3.1 NLTK 14
1.3.2 TextBlob 15
1.3.3 SpaCy 17
1.3.4 Gensim 19
1.3.5 Pattern 20
1.3.6 Stanford CoreNLP 21
1.4 NLP入门 21
1.4.1 使用正则表达式进行文本搜索 21
1.4.2 将文本转换为列表 21
1.4.3 文本预处理 22
1.4.4 从网页中获取文本 22
1.4.5 移除停止词 23
1.4.6 计数向量化 23
1.4.7 TF-IDF分数 24
1.4.8 文本分类器 25
1.5 深度学习简介 25
1.6 什么是神经网络 27
1.7 神经网络的基本结构 29
1.8 神经网络的类型 32
1.8.1 前馈神经网络 33
1.8.2 卷积神经网络 33
1.8.3 循环神经网络 33
1.8.4 编码器-解码器网络 34
1.8.5 递归神经网络 35
1.9 多层感知器 35
1.10 随机梯度下降 37
1.11 反向传播 40
1.12 深度学习库 42
1.12.1 Theano 42
1.12.2 Theano安装 43
1.12.3 Theano示例 44
1.12.4 TensorFlow 45
1.12.5 数据流图 46
1.12.6 TensorFlow安装 47
1.12.7 TensorFlow示例 47
1.12.8 Keras 49
1.13 下一步 52
第2章 词向量表示 53
2.1 词嵌入简介 53
2.2 word2vec 56
2.2.1 skip-gram模型 58
2.2.2 模型成分:架构 58
2.2.3 模型成分:隐藏层 58
2.2.4 模型成分:输出层 60
2.2.5 CBOW模型 61
2.3 频繁词二次采样 61
2.4 word2vec代码 64
2.5 skip-gram代码 67
2.6 CBOW代码 75
2.7 下一步 83
第3章 展开循环神经网络 85
3.1 循环神经网络 86
3.1.1 什么是循环 86
3.1.2 前馈神经网络和循环神经网络之间的差异 87
3.1.3 RNN基础 88
3.1.4 自然语言处理和RNN 91
3.1.5 RNN的机制 93
3.1.6 训练RNN 96
3.1.7 RNN中隐藏状态的元意义 98
3.1.8 调整RNN 99
3.1.9 LSTM网络 99
3.1.10 序列到序列模型 105
3.1.11 高级seq2seq模型 109
3.1.12 序列到序列用例 113
3.2 下一步 122
第4章 开发聊天机器人 123
4.1 聊天机器人简介 123
4.1.1 聊天机器人的起源 124
4.1.2 聊天机器人如何工作 125
4.1.3 为什么聊天机器人拥有如此大的商机 125
4.1.4 开发聊天机器人听起来令人生畏 126
4.2 对话型机器人 127
4.3 聊天机器人:自动文本生成 141
4.4 下一步 170
第5章 实现研究论文:情感分类 171
5.1 基于自注意力机制的句子嵌入 172
5.1.1 提出的方法 173
5.1.2 可视化 178
5.1.3 研究发现 181
5.2 实现情感分类 181
5.3 情感分类代码 182
5.4 模型结果 191
5.5 可提升空间 196
5.6 下一步 196

教学资源推荐
作者: [美]阿米特·V. 乔希(Ameet V Joshi) 著
作者: (美)Martin T.Hagan,Howard B.Demuth,Mark Beale
作者: [美]穆罕默德·H. 萨德雷(Mohammad H. Sadraey) 著
参考读物推荐
作者: [意大利]保罗·加莱奥内(Paolo Galeone) 著
作者: 星环科技人工智能平台团队 编著
作者: 刘铁岩 陈薇 王太峰 高飞 著