编辑推荐

自然语言处理(NLP)属于人工智能与计算机语言学的交叉领域,处理的是计算机与人类语言之间的交互问题。随着人机交互需求的日益增长,计算机具备处理当前主要自然语言的能力已经成为了一个必然趋势。NLTK正是这一领域中一个强大而稳健的工具包。
在这《NLTK基础教程 用NLTK和Python库构建机器学习应用》中,我们首先会介绍一些与NLP相关的知识。然后,我们会探讨一些与数据科学相关的任务,通过这些任务来学习如何从零开始构建自定义的标识器和解析器。在此过程中,我们将会深度探索NLP领域的基本概念,为这一领域各种开源的Python工具和库提供具有实践意义的见解。接下来,我们将会介绍如何分析社交媒体网站,发现热门话题,进行舆情分析。zui后,我们还会介绍一些用于处理大规模文本的工具。
在阅读完《NLTK基础教程 用NLTK和Python库构建机器学习应用》之后,您将会对NLP与数据科学领域中的概念有一个充分的了解,并能将这些知识应用到日常工作中。
如果您是NLP或机器学习相关领域的爱好者,并有一些文本处理的经验,那么《NLTK基础教程 用NLTK和Python库构建机器学习应用》就是为你量身定做的。此外,这《NLTK基础教程 用NLTK和Python库构建机器学习应用》也是专业Python程序员快速学习NLTK库的理想选择。

通过《NLTK基础教程 用NLTK和Python库构建机器学习应用》,你将学会:
■了解自然语言的复杂性以及机器对它们的处理方式。
■如何利用标识化处理手段清理文本歧义,并利用分块操作更好地处理数据。
■探索不同标签类型的作用,并学习如何将句子标签化。
■如何根据自己的需要来创建自定义的解析器和标识器。
■如何构建出具有拼写检查、搜索、机器翻译以及问答系统等功能的实用程序。
■如何通过信息爬取与捕获的手段对相关数据内容进行检索。
■如何通过特性的提取与选取,构建出针对不同文本的分类系统。
■如何使用各种第三方Python库,如pandas、scikit-learn、matplotlib、gensim。
■如何对社交媒体网站进行分析,包括发掘热门话题、舆情分析等。

内容简介

NLTK库是当前自然语言处理(NLP)领域zui为流行、使用zui为广泛的库之一,同时Python语言经过一段时间的发展也已逐渐成为主流的编程语言之一。
NLTK基础教程 用NLTK和Python库构建机器学习应用》主要介绍如何通过NLTK库与一些Python库的结合从而实现复杂的NLP任务和机器学习应用。《NLTK基础教程 用NLTK和Python库构建机器学习应用》共分为10章。第1章对NLP进行了简单介绍。第2章、第3章和第4章主要介绍一些通用的预处理技术、专属于NLP领域的预处理技术以及命名实体识别技术等。第5章之后的内容侧重于介绍如何构建一些NLP应用,涉及文本分类、数据科学和数据处理、社交媒体挖掘和大规模文本挖掘等方面。
NLTK基础教程 用NLTK和Python库构建机器学习应用》适合NLP和机器学习领域的爱好者、对文本处理感兴趣的读者、想要快速学习NLTK的zishenPython程序员以及机器学习领域的研究人员阅读。

作者简介

NitinHardeniya数据科学家,拥有4年以上从业经验,期间分别任职于Fidelity、Groupon和[24]7等公司,其业务横跨各个不同的领域。此外,他还拥有IIIT-H的计算语言学硕士学位,并且是5项客户体验专利的作者。

目录

第1章 自然语言处理简介1
1.1 为什么要学习NLP2
1.2 先从Python开始吧5
1.2.1 列表5
1.2.2 自助功能6
1.2.3 正则表达式8
1.2.4 字典9
1.2.5 编写函数10
1.3 向NLTK迈进11
1.4 练习16
1.5 小结17
第2章 文本的歧义及其清理18
2.1 何谓文本歧义18
2.2 文本清理20
2.3 语句分离器21
2.4 标识化处理22
2.5 词干提取23
2.6 词形还原24
2.7 停用词移除25
2.8 罕见词移除26
2.9 拼写纠错26
2.10 练习27
2.11 小结28
第3章 词性标注29
3.1 何谓词性标注29
3.1.1 Stanford标注器32
3.1.2 深入了解标注器33
3.1.3 顺序性标注器35
3.1.4 Brill标注器37
3.1.5 基于机器学习的标注器37
3.2 命名实体识别(NER)38
3.3 练习40
3.4 小结41
第4章 文本结构解析43
4.1 浅解析与深解析43
4.2 两种解析方法44
4.3 为什么需要进行解析44
4.4 不同的解析器类型46
4.4.1 递归下降解析器46
4.4.2 移位-归约解析器46
4.4.3 图表解析器46
4.4.4 正则表达式解析器47
4.5 依存性文本解析48
4.6 语块分解50
4.7 信息提取53
4.7.1 命名实体识别(NER)53
4.7.2 关系提取54
4.8 小结55
第5章 NLP应用56
5.1 构建第一个NLP应用57
5.2 其他NLP应用60
5.2.1 机器翻译60
5.2.2 统计型机器翻译61
5.2.3 信息检索62
5.2.4 语音识别64
5.2.5 文本分类65
5.2.6 信息提取66
5.2.7 问答系统67
5.2.8 对话系统67
5.2.9 词义消歧67
5.2.10 主题建模68
5.2.11 语言检测68
5.2.12 光符识别68
5.3 小结68
第6章 文本分类70
6.1 机器学习71
6.2 文本分类72
6.3 取样操作74
6.3.1 朴素贝叶斯法76
6.3.2 决策树79
6.3.3 随机梯度下降法80
6.3.4 逻辑回归81
6.3.5 支持向量机81
6.4 随机森林算法83
6.5 文本聚类83
6.6 文本中的主题建模84
6.7 参考资料87
6.8 小结87
第7章 Web爬虫88
7.1 Web爬虫88
7.2 编写第一个爬虫程序89
7.3 Scrapy库中的数据流92
7.3.1 Scrapy库的shell93
7.3.2 目标项98
7.4 生成网站地图的蜘蛛程序99
7.5 目标项管道100
7.6 参考资料102
7.7 小结102
第8章 NLTK与其他Python库的搭配
运用104
8.1 NumPy104
8.1.1 多维数组105
8.1.2 基本运算106
8.1.3 从数组中提取数据107
8.1.4 复杂矩阵运算108
8.2 SciPy112
8.2.1 线性代数113
8.2.2 特征值与特征向量113
8.2.3 稀疏矩阵114
8.2.4 优化措施115
8.3 pandas117
8.3.1 读取数据117
8.3.2 数列119
8.3.3 列转换121
8.3.4 噪声数据121
8.4 matplotlib123
8.4.1 子图绘制123
8.4.2 添加坐标轴124
8.4.3 散点图绘制125
8.4.4 条形图绘制126
8.4.5 3D绘图126
8.5 参考资料126
8.6 小结127
第9章 Python中的社交媒体挖掘128
9.1 数据收集128
9.2 数据提取132
9.3 地理可视化134
9.3.1 影响力检测135
9.3.2 Facebook135
9.3.3 有影响力的朋友139
9.4 小结141
第10章 大规模文本挖掘142
10.1 在Hadoop上使用Python的
不同方式142
10.1.1 Python的流操作143
10.1.2 Hive/Pig下的UDF143
10.1.3 流封装器143
10.2 Hadoop上的NLTK144
10.2.1 用户定义函数
(UDF)144
10.2.2 Python的流操作146
10.3 Hadoop上的Scikit-learn147
10.4 PySpark150
10.5 小结153

其他推荐