NLTK基础教程 用NLTK和Python库构建机器学习应用pdf

2019年1月15日21:01:40 发表评论 94

自然语言处理(NLP)属于人工智能与计算机语言学的交叉领域,处理的是计算机与人类语言之间的交互问题。随着人机交互需求的日益增长,计算机具备处理当前主要自然语言的能力已经成为了一个必然趋势。NLTK正是这一领域中一个强大而稳健的工具包。

在这本书中,我们首先会介绍一些与NLP相关的知识。然后,我们会探讨一些与数据科学相关的任务,通过这些任务来学习如何从零开始构建自定义的标识器和解析器。在此过程中,我们将会深度探索NLP领域的基本概念,为这一领域各种开源的Python工具和库提供具有实践意义的见解。接下来,我们将会介绍如何分析社交媒体网站,发现热门话题,进行舆情分析。zui后,我们还会介绍一些用于处理大规模文本的工具。

在阅读完本书之后,您将会对NLP与数据科学领域中的概念有一个充分的了解,并能将这些知识应用到日常工作中。

如果您是NLP或机器学习相关领域的爱好者,并有一些文本处理的经验,那么本书就是为你量身定做的。此外,这本书也是专业Python程序员快速学习NLTK库的理想选择。

通过本书,你将学会:

■ 了解自然语言的复杂性以及机器对它们的处理方式。

■ 如何利用标识化处理手段清理文本歧义,并利用分块操作更好地处理数据。

■ 探索不同标签类型的作用,并学习如何将句子标签化。

■ 如何根据自己的需要来创建自定义的解析器和标识器。

■ 如何构建出具有拼写检查、搜索、机器翻译以及问答系统等功能的实用程序。

■ 如何通过信息爬取与捕获的手段对相关数据内容进行检索。

■ 如何通过特性的提取与选取,构建出针对不同文本的分类系统。

■ 如何使用各种第三方Python库,如pandas、scikit-learn、matplotlib、gensim。

■ 如何对社交媒体网站进行分析,包括发掘热门话题、舆情分析等。

NLTK基础教程 用NLTK和Python库构建机器学习应用 内容简介

NLTK 库是当前自然语言处理(NLP)领域zui为流行、使用zui为广泛的库之一, 同时Python语言经过一段时间的发展也已逐渐成为主流的编程语言之一。

本书主要介绍如何通过NLTK库与一些Python库的结合从而实现复杂的NLP任务和机器学习应用。全书共分为10章。第1章对NLP进行了简单介绍。第2章、第3章和第4章主要介绍一些通用的预处理技术、专属于NLP领域的预处理技术以及命名实体识别技术等。第5章之后的内容侧重于介绍如何构建一些NLP应用,涉及文本分类、数据科学和数据处理、社交媒体挖掘和大规模文本挖掘等方面。

本书适合 NLP 和机器学习领域的爱好者、对文本处理感兴趣的读者、想要快速学习NLTK的zishenPython程序员以及机器学习领域的研究人员阅读。

NLTK基础教程 用NLTK和Python库构建机器学习应用 目录

第1章 自然语言处理简介

1.1 为什么要学习NLP

1.2 先从Python开始吧

1.2.1 列表

1.2.2 自助功能

1.2.3 正则表达式

1.2.4 字典

1.2.5 编写函数

1.3 向NLTK迈进

1.4 练习

1.5 小结

第2章 文本的歧义及其清理

2.1 何谓文本歧义

2.2 文本清理

2.3 语句分离器

2.4 标识化处理

2.5 词干提取

2.6 词形还原

2.7 停用词移除

2.8 罕见词移除

2.9 拼写纠错

2.10 练习

2.11 小结

第3章 词性标注

3.1 何谓词性标注

3.1.1 Stanford标注器

3.1.2 深入了解标注器

3.1.3 顺序性标注器

3.1.4 Brill标注器

3.1.5 基于机器学习的标注器

3.2 命名实体识别(NER)

NER标注器

3.3 练习

3.4 小结

第4章 文本结构解析

4.1 浅解析与深解析

4.2 两种解析方法

4.3 为什么需要进行解析

4.4 不同的解析器类型

4.4.1 递归下降解析器

4.4.2 移位-归约解析器

4.4.3 图表解析器

4.4.4 正则表达式解析器

4.5 依存性文本解析

4.6 语块分解

4.7 信息提取

4.7.1 命名实体识别(NER)

4.7.2 关系提取

4.8 小结

第5章 NLP应用

5.1 构建第一个NLP应用

5.2 其他NLP应用

5.2.1 机器翻译

5.2.2 统计型机器翻译

5.2.3 信息检索

5.2.4 语音识别

5.2.5 文本分类

5.2.6 信息提取

5.2.7 问答系统

5.2.8 对话系统

5.2.9 词义消歧

5.2.10 主题建模

5.2.11 语言检测

5.2.12 光符识别

5.3 小结

第6章 文本分类

6.1 机器学习

6.2 文本分类

6.3 取样操作

6.3.1 朴素贝叶斯法

6.3.2 决策树

6.3.3 随机梯度下降法

6.3.4 逻辑回归

6.3.5 支持向量机

6.4 随机森林算法

6.5 文本聚类

K均值法

6.6 文本中的主题建模

安装gensim

6.7 参考资料

6.8 小结

第7章 Web爬虫

7.1 Web爬虫

7.2 编写第一个爬虫程序

7.3 Scrapy库中的数据流

7.3.1 Scrapy库的shell

7.3.2 目标项

7.4 生成网站地图的蜘蛛程序

7.5 目标项管道

7.6 参考资料

7.7 小结

第8章 NLTK与其他Python库的搭配运用

8.1 NumPy

8.1.1 多维数组

8.1.2 基本运算

8.1.3 从数组中提取数据

8.1.4 复杂矩阵运算

8.2 SciPy

8.2.1 线性代数

8.2.2 特征值与特征向量

8.2.3 稀疏矩阵

8.2.4 优化措施

8.3 pandas

8.3.1 读取数据

8.3.2 数列

8.3.3 列转换

8.3.4 噪声数据

8.4 matplotlib

8.4.1 子图绘制

8.4.2 添加坐标轴

8.4.3 散点图绘制

8.4.4 条形图绘制

8.4.5 3D绘图

8.5 参考资料

8.6 小结

第9章 Python中的社交媒体挖掘

9.1 数据收集

Twitter

9.2 数据提取

热门话题

9.3 地理可视化

9.3.1 影响力检测

9.3.2 Facebook

9.3.3 有影响力的朋友

9.4 小结

第10章 大规模文本挖掘

10.1 在Hadoop上使用Python的不同方式

10.1.1 Python的流操作

10.1.2 Hive/Pig下的UDF

10.1.3 流封装器

10.2 Hadoop上的NLTK

10.2.1 用户定义函数(UDF)

10.2.2 Python的流操作

10.3 Hadoop上的Scikit-learn

10.4 PySpark

10.5 小结

NLTK基础教程 用NLTK和Python库构建机器学习应用 精彩文摘

先来看一种非常复杂的NLP应用:信息摘要(summarization)。该应用的概念非常简单:对于所提供的文章、短文、故事,通常会需要针对其内容自动生成摘要。事实上,信息摘要这个应用需要具备一些深层次的NLP知识,因为这里需要了解的不单是句子的结构,而是整个文本的结构,除此之外,还得要了解该文本的体裁和主题内容。

鉴于这一切看上去都太过于复杂,所以还是先来尝试一种很直观的方法吧。假设这里所要做的信息摘要是针对句子的重要性和意义进行一次排名。为此,要在理解句子的基础上创建一系列规则,然后用目前为止所学到的处理工具来对新闻文章进行一些可接受的信息摘要处理。

在下面的例子中,我们会将从纽约时报上搜刮来的一篇文章保存在nyt.txt这个文本文件中。这里要对这篇新闻稿进行信息摘要。下面就来创建一个个人版的Google News吧。

一开始,需要记住一件事:在通常情况下,拥有较多实体和名词的句子的重要性往往会相对比较高。现在的任务是要用某种可被标准化的统一逻辑来计算重要性评分(importance score)。即如果想获取前n个句子的信息情况,就要去选择一个重要性评分的阈值。

图书网:NLTK基础教程 用NLTK和Python库构建机器学习应用pdf

此资源下载价格为5图书币,请先

80%的人都看过:

  • 我的微信
  • 扫一扫加好友
  • weinxin
  • 微信公众号
  • 扫一扫关注
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: