亲爱的读者,感谢你选择本书来开启你的自然语言处理(Natural Language Processing, NLP)之路。本书将从实用的角度带领你由浅入深逐步理解并实现NLP解决方案。我们将从访问内置数据源和创建自己的数据源开始指引你踏上这段旅程。之后你将可以编写复杂的NLP解决方案,包括文本规范化、预处理、词性标注、句法分析等。
在本书中,我们将介绍在自然语言处理中应用深度学习所必需的各种基本原理,它们是目前最先进的技术。我们将使用Keras软件来讨论深度学习的应用。
本书的出发点如下:
内容设计上旨在通过细节分析来帮助新手迅速掌握基本原理。并且,对有经验的专业人员来说,它将更新各种概念,以便更清晰地应用算法来选择数据。
介绍了在NLP中深度学习应用的新趋势。
本书的组织结构
第1章教你使用内置的NLTK语料库和频率分布。我们还将学习什么是WordNet,并探索其特点和用法。
第2章演示如何从各种格式的数据源中提取文本。我们还将学习如何从网络源提取原始文本。最后,我们将从这些异构数据源中对原始文本进行规范并构建语料库。
第3章介绍一些关键的预处理步骤,如分词、词干提取、词形还原和编辑距离。
第4章介绍正则表达式,它是最基本、最简单、最重要和最强大的工具之一。在本章中,你将学习模式匹配的概念,它是文本分析的一种方式,基于此概念,没有比正则表达式更方便的工具了。
第5章将学习如何使用和编写自己的词性标注器和文法规则。词性标注是进一步句法分析的基础,而通过使用词性标记和组块标记可以产生或改进文法规则。
第6章帮助你了解如何使用内置分块器以及训练或编写自己的分块器,即依存句法分析器。在本章中,你将学习评估自己训练的模型。
第7章介绍信息抽取和文本分类,告诉你关于命名实体识别的更多信息。我们将使用内置的命名实体识别工具,并使用字典创建自己的命名实体。我们将学会使用内置的文本分类算法和一些简单的应用实例。
第8章介绍高阶自然语言处理方法,该方法将目前为止你所学的所有课程结合到一起,并创建应对你现实生活中各种问题的适用方法。我们将介绍诸如文本相似度、摘要、情感分析、回指消解等任务。
第9章介绍深度学习应用于自然语言处理所必需的各种基本原理,例如利用卷积神经网络(CNN)和长短型记忆网络(LSTM)进行邮件分类、情感分类等,最后在低维空间中可视化高维词汇。
第10章描述如何利用深度学习解决最前沿的问题,包括文本自动生成、情景数据问答,预测下一个最优词的语言模型以及生成式聊天机器人的开发。
本书需要你做什么
为了成功完成本书的实例,你需要在Windows或Unix操作系统上安装Python 3.x及以上版本,硬件要求:CPU 2.0GHz以上,内存4GB以上。就Python开发的IDE而言,市场上有许多可用的IDE,但我最喜欢的是PyCharm社区版。它是一款由JetBrains开发的免费开源工具,它的技术支持很强大,会定期发布该工具的升级和修正版本,你只要熟悉IntelliJ就能保持学习进度顺畅。
本书假设你已经了解Keras的基本知识和如何安装库。我们并不要求读者已经具备深度学习的知识和数学知识,比如线性代数等。
在本书中,我们使用了以下版本的软件,它们在最新的版本下都能很好地运行:
. Anaconda 34.3.1 (Anaconda 中包括所有Python及相关包, Python 3.6.1, NumPy 1.12.1, pandas0.19.2)
Theano0.9.0
Keras2.0.2
feedparser5.2.1
bs44.6.0
gensim3.0.1
本书的读者对象
本书适用于想利用NLP提升现有技能来实现高阶文本分析的数据科学家、数据分析师和数据科学专业人员,建议读者具备自然语言处理的一些基本知识。
本书也适用于对自然语言处理知识毫无了解的新手,或是希望将自己的知识从传统的NLP技术扩展到最先进的深度学习应用技术的有经验的专业人士。
小节
在本书中,有几个标题经常出现(准备工作、如何实现、工作原理、更多、参见)。为了明确说明如何完成一个实例,本书使用了如下内容排布:
准备工作
本节介绍完成实例的预期结果,并说明如何安装所需的软件或初步设置。
如何实现
本节包含完成实例所需遵循的步骤。
工作原理
本节通常对上一节的操作进行详细的解释。
更多
本节包含实例的补充信息,以便读者对实例的实现方法有更多的了解。
参见
本节为实例的其他有用信息提供有效的链接。
约定
在本书中,你会发现许多不同类型信息的文本格式。下面是这些格式的一些范例和它们的含义解释。
任何命令行的输入或输出格式如下:
新术语和重要词以加粗字体显示。
警告或重要提示将跟在这样的符号后面。
提示或小技巧将跟在这样的符号后面。
读者反馈
欢迎读者的反馈。让我们知道你对本书的看法,哪些部分喜欢还是不喜欢。读者反馈对我们来说很重要,因为它有助于我们了解读者真正能从中获益最多的地方。将你的反馈发送到邮箱feedback@packtpub.com即可,并且在你的邮箱标题中提到本书的书名。如果你有一个擅长或是比较感兴趣的话题,可以撰写或投稿书刊,请在www.packtpub.com/authors网站上查看作者指南。
客户支持
既然你是一本Packt书的拥有者,在购买时能够获得很多额外的资源。
示例代码下载
你可以从http://www.packtpub.com通过个人账号下载本书的示例代码文件。如果你在别处购买了本书,可以访问http:// www. packtpub.com/support并进行注册,就可以直接通过邮件方式获得相关文件。你可以按照以下步骤下载代码文件:
1.使用你的电子邮件地址和密码登录或注册到我们的网站;
2.将鼠标指针置于顶部的SUPPORT选项卡上;
3.点击Code Downloads & Errata;
4.在Search框中输入图书的名称;
5.选择你要下载的代码文件的相应图书;
6.从你购买本书的下拉菜单中选择;
7.点击Code Download。
你也可以在Packt出版社网站关于本书的网页上通过点击Code Files按钮来下载代码文件。通过在Search框中输入图书的名称来访问该页面。请注意,你需要登录到你的Packt账户。一旦文件被下载,请确保你使用的是最新版本的工具解压文件夹:
WinRAR/7-Zip for Windows
Zipeg/iZip/UnRarX for Mac
7-Zip/PeaZip for Linux
本书的代码可从GitHub下载,托管在https://github.com/PacktPublishing/Natural-Language-Processing-with-Python-Cookbook上。其余代码包可以从https://github.com/PacktPublishing/上丰富的图书和视频目录中获取。请检验测试!