首页>参考读物>计算机科学与技术>综合

Python文本分析(原书第2版)
作者 : [印度] 迪潘简·萨卡尔(Dipanjan Sarkar) 著
译者 : 闫龙川 高德荃 李君婷 译
出版日期 : 2020-10-13
ISBN : 978-7-111-66677-6
定价 : 129.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 441
开本 : 16
原书名 : Text Analytics with Python:A Practitioner's Guide to Natural Language Processing,Second Edition
原出版社: Apress
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书遵循结构化和综合性的方法,介绍了文本和语言语法、结构和语义的基础概念和高级概念。从自然语言和Python的基础开始,进而学习先进的分析理念和机器学习概念。全面提供了自然语言处理(NLP)和文本分析的主要概念和技术。包含了丰富的真实案例实现技术,例如构建分类新闻文章的文本分类系统,使用主题建模和文本摘要分析app或游戏评论,进行热门电影概要的聚类分析和电影评论的情感分析。介绍了基于Python和流行NLP开源库和文本分析实用工具,如自然语言工具包(nltk)、gensim、scikit-learn、spaCy和Pattern。

图书特色

图书前言

数据是新的“石油”,特别是文本、图像和视频等非结构化数据,包含了丰富的信息。然而,由于处理和分析这类数据的内在复杂性,人们经常避免在处理结构化数据集之外花费额外的时间和精力去冒险分析这些非结构化数据源,而这些非结构化数据源有可能是潜在的金矿。自然语言处理(NLP)就是所有与利用工具、技术和算法去处理和理解基于自然语言的数据有关的事物,这些数据往往像文本、语音等一样,是非结构化的。在本书中,我们将研究经过验证的策略——技术和工作流程,从业者和数据科学家可以利用这些技术和工作流程从文本数据中提取有用的见解。
在当今这个快节奏的世界中,成为计算机视觉和自然语言处理等领域的专家已经不再是一个奢望,而是任何一位数据科学家所必需的。本书是一本从业者的参考指南,读者可以从中学习和应用NLP技术,从充满噪声和非结构化的文本数据中提取可供操作的见解。本书可帮助读者理解NLP中的关键概念,并通过广泛的案例研究和实际示例,帮助读者掌握应用NLP解决实际问题的最先进的工具、技术和框架。我们使用Python 3和最新的、最先进的框架,包括NLTK、Gensim、spaCy、Scikit-Learn、TextBlob、Keras和TensorFlow,来展示本书中的示例。你可以在GitHub上找到本书中所有的例子,地址为https://github.com/dipanjanS/text-analytics-with-python。
到目前为止,在该领域的学习过程中,我一直在与各种问题作斗争,面临了许多挑战,也随着时间的推移吸取了各种教训。这本书包含了我在文本分析和自然语言处理领域获得的大量知识,在这些领域,仅仅基于一堆文本文档构建一个花哨的词云已经不再足够。也许学习文本分析的最大问题不是缺乏信息,而是信息太多,这通常称为信息过载。有太多的资源、文档、论文、书籍和期刊,包含了太多的内容,以至于常常会让这个领域的新手不知所措。你可能会问这样的问题:解决问题的正确方法是什么?文本摘要是如何工作的?哪些框架最适合解决多类文本分类问题?等等。通过将数学和理论概念与使用Python的真实案例研究的实际实现相结合,本书试图解决这个问题,并帮助读者避免迄今为止我在学习过程中遇到的紧迫问题。
本书遵循了一个全面的结构化的方法。首先,在最初的章节中,本书介绍了自然语言理解和Python文本数据处理的基础知识。一旦你熟悉了这些基础知识,我们将介绍文本处理、解析和理解。接下来,我们将在余下的每一章中讨论文本分析中一些有趣的问题,包括文本分类、聚类和相似性分析、文本摘要和主题模型、语义分析和命名实体识别、情感分析和模型解释。最后一章是一个有趣的章节,介绍了由深度学习和迁移学习带来的NLP的最新进展,我们还介绍了一个使用通用句子嵌入进行文本分类的示例。
本书的目的是让你感受文本分析和NLP的广阔前景,并用必要的工具、技术和知识武装你,以便于解决你需要解决的问题。我希望本书对你有所帮助,并祝你在文本分析和NLP的世界中度过愉快的学习旅程!

上架指导

计算机\人工智能

封底文字

本书介绍了Python中的自然语言处理(NLP),以及如何设置健壮的环境来完成文本分析。本版基于NLP的新趋势对上一版进行了重大的修改,并引入几个重要的变化和新的主题。
你将通过实际案例了解如何使用Python中的先进NLP框架,配合机器学习和深度学习模型进行有监督的情感分析。本书首先回顾了Python以及字符串和文本数据相关的NLP基础知识,接着介绍了文本数据的工程表示方法,包括传统的统计模型和新的基于深度学习的嵌入模型。书中还讨论了文本解析和处理方面的改进技术与新方法。
本版对文本摘要和主题模型的内容进行了全面改写,展示了如何在有趣的数据集——NIPS会议论文数据集上下文中构建、调整和解释主题模型。此外,本书通过一个电影推荐系统实例介绍了文本相似度技术,以及使用有监督和无监督技术的情感分析。
本书还有一章专门讨论语义分析,你将看到如何从头开始构建自己的命名实体识别(NER)系统。虽然本版的总体结构保持不变,但整个代码库、模块和章节都已更新到Python 3.x版本。

通过阅读本书,你将:
  理解NLP和文本的语法、语义和结构。
  发现文本清理和特征工程。
  回顾文本分类和文本聚类。
  评估文本摘要和主题模型。
  学习用于NLP的深度学习。

作者简介

[印度] 迪潘简·萨卡尔(Dipanjan Sarkar) 著:迪潘简·萨卡尔(Dipanjan Sarkar)是红帽(Red Hat)公司的数据科学家、畅销书作者、顾问和培训师。他曾在多家初创公司以及《财富》 500强公司(如英特尔)任职并提供咨询服务,主要致力于利用数据科学、高级分析、机器学习和深度学习来构建大规模智能系统。他拥有数据科学和软件工程专业的硕士学位,是自学教育和大规模开放在线课程的坚定支持者。他目前涉足开源产品领域,致力于提高全球开发人员的生产力。

译者序

自然语言处理和文本分析是当今人工智能研究与应用的重要方向,在人机交互方面拥有广泛的应用和前景,学术界和产业界因此对其投入巨大。目前已经有一些产品陆续面世,在机器学习、问答系统、语音助理、情感分析等方面取得了非常不错的进展,给人们的生活带来了便利。
本书作者Dipanjan Sarkar是红帽公司的数据科学家、畅销书作者、顾问和培训师,曾在多家初创公司以及《财富》 500强公司(如英特尔)任职或提供咨询服务。Sarkar的研究领域涉及数据科学与软件工程,他有着丰富的文本分析研究和工程方面的经验,出版过R、Python、机器学习、社交媒体分析、自然语言处理和深度学习等方面的著作。作者在GitHub(https://github.com/dipanjanS/text-analytics-with-python)上开源了本书相关的程序代码和数据集,感兴趣的读者可以下载研究。
本书首先介绍了与文本分析相关的自然语言基本概念,以及Python语言的一些特性和常用功能,然后结合示例代码详细阐述了文本理解与处理、特征工程、文本分类、文本摘要与主题模型、文本相似性与聚类、语义分析和情感分析等内容,具有很强的实用性。本书覆盖了文本分析的重要方面,可以为相关应用的开发和研究提供很好的参考作用。
本书是关于自然语言处理的实践教程,作者在本书第1版的基础上增加了很多深度学习技术在文本分析方面的最新研究成果。通过学习本书,读者可以全面掌握文本分析的基本概念、一些经典的机器学习方法和前沿的深度学习技术,包括SVM、贝叶斯分类器、
k-均值聚类、层次聚类、Word2Vec、GloVe、FastText等。本书为读者进一步的学习和研究奠定了基础,感兴趣的读者可以继续研究和探索深度学习技术在文本分析中的应用,这是人工智能应用中发展非常迅速的领域。
最后,感谢本书的作者和机械工业出版社华章分社的编辑,是他们的鼓励和支持,使本书能够与读者见面。感谢家人的理解。尽管我们努力准确地表达出作者的思想和方法,但仍难免有不当之处,敬请各位亲爱的读者指出译文中的错误,我们将非常感激。

译者
2020年4月

推荐序

得益于机器学习(machine learning)的发展,文本分析(text analytics)和自然语言处理(Natural Language Processing,NLP)的强大功能已开始不负众望。
如果你已经阅读过本书的第1版,那么你可能已有所了解。该书于2016年出版并迅速成为自然语言处理社区的主要参考书籍。然而,在技术世界中,几年时间太漫长了!因此欢迎阅读本书第2版!
尽管本版保留了第1版的核心内容,但全书仍进行了许多更新和修改。值得注意的是,随着神经网络在自然语言处理方法中越来越重要,文本分类(text classification)和情感分析(sentiment analysis)已扩展到包括传统的机器学习模型和深度学习模型。此外,主题建模(topic modeling),即一系列抽象主题发现技术的集合,已得到进一步开发,包括了许多互补方法,并利用了其他Python库。
还有一个关于特征工程的全新章节,特征工程在自然语言处理和文本数据中发挥着特别重要的作用,其中涵盖了传统方法和基于神经网络的方法。此外,如今在自然语言处理方面对深度学习已进行了很多探讨,但我们有一种明显的感觉,即这仅仅只是开始。为此,本书包括全新的一章专门介绍使用深度学习进行自然语言处理。
为什么要阅读本书?因为本书不仅涵盖了各种前沿文本分析和自然语言处理技术背后的思想和直觉的知识,而且还全面介绍了实现这些思想的实用方法和Python代码,使读者可以灵活使用它们。Sarkar已经证明了他在文本分析方面的知识和指导的价值,所以阅读本书第2版,了解这些扩展和更新,会是一个很棒的主意。

Matthew Mayo
编辑,KDnuggets
@mattmayo13

图书目录

译者序
推荐序
前言
致谢
作者简介
技术审校者简介
第1章 自然语言处理基础1
1.1 自然语言2
1.1.1 什么是自然语言2
1.1.2 语言哲学2
1.1.3 语言习得和用法4
1.2 语言学6
1.3 语言句法和结构7
1.3.1 单词9
1.3.2 短语10
1.3.3 从句12
1.3.4 语法13
1.3.5 语序类型学20
1.4 语言语义21
1.4.1 词汇语义关系22
1.4.2 语义网络和模型24
1.4.3 语义表示25
1.5 文本语料库31
1.5.1 文本语料库标注及使用31
1.5.2 流行的语料库32
1.5.3 访问文本语料库33
1.6 自然语言处理38
1.6.1 机器翻译38
1.6.2 语音识别系统39
1.6.3 问答系统39
1.6.4 上下文识别与消解39
1.6.5 文本摘要40
1.6.6 文本分类40
1.7 文本分析40
1.8 机器学习41
1.9 深度学习41
1.10 本章小结42
第2章 Python自然语言处理43
2.1 了解Python43
2.2 Python之禅44
2.3 应用:何时使用Python45
2.4 缺点:何时不用Python47
2.5 Python的实现和版本47
2.6 建立强大的Python环境48
2.6.1 用哪个Python版本48
2.6.2 用哪个操作系统49
2.6.3 集成开发环境49
2.6.4 环境设置50
2.6.5 软件包管理52
2.6.6 虚拟环境53
2.7 Python语法和结构55
2.8 使用文本数据55
2.8.1 字符串文字56
2.8.2 表示字符串57
2.8.3 字符串操作和方法58
2.9 基本的文本处理和分析:综合案例67
2.10 自然语言处理框架70
2.11 本章小结71
第3章 处理和理解文本73
3.1 文本预处理和整理74
3.1.1 删除HTML标签74
3.1.2 文本标记解析76
3.1.3 删除重音字符87
3.1.4 扩展缩写词87
3.1.5 删除特殊字符89
3.1.6 大小写转换89
3.1.7 文本校正89
3.1.8 词干提取96
3.1.9 词形还原99
3.1.10 删除停用词100
3.1.11 将以上整合在一起—构建文本规范器101
3.2 理解文本句法和结构102
3.2.1 安装必要的依赖项103
3.2.2 机器学习的重要概念105
3.2.3 词性标注105
3.2.4 浅层解析或分块112
3.2.5 依存关系解析120
3.2.6 成分结构解析123
3.3 本章小结129
第4章 用于文本表示的特征工程131
4.1 理解文本数据132
4.2 构建文本语料库132
4.3 预处理文本语料库133
4.4 传统特征工程模型135
4.4.1 词袋模型135
4.4.2 n-gram词袋模型137
4.4.3 TF-IDF模型137
4.4.4 提取新文档的特征143
4.4.5 文档相似度143
4.4.6 主题模型146
4.5 高级特征工程模型149
4.5.1 加载圣经语料库150
4.5.2 Word2Vec模型150
4.5.3 基于Gensim的强大Word2Vec模型163
4.5.4 Word2Vec特征用于机器学习任务165
4.5.5 GloVe模型169
4.5.6 GloVe特征用于机器学习任务170
4.5.7 FastText模型173
4.5.8 FastText特征用于机器学习任务174
4.6 本章小结175
第5章 文本分类176
5.1 什么是文本分类177
5.1.1 正式定义177
5.1.2 主要的文本分类类型178
5.2 自动文本分类178
5.2.1 正式定义179
5.2.2 文本分类任务类型180
5.3 文本分类蓝图180
5.4 数据检索182
5.5 数据预处理和规范化183
5.6 构建训练和测试数据集186
5.7 特征工程技术187
5.7.1 传统特征工程模型188
5.7.2 高级特征工程模型188
5.8 分类模型189
5.8.1 多项式朴素贝叶斯190
5.8.2 逻辑回归191
5.8.3 支持向量机193
5.8.4 集成模型194
5.8.5 随机森林195
5.8.6 梯度提升机195
5.9 评估分类模型196
5.10 构建和评估文本分类器199
5.10.1 分类模型的词袋特征200
5.10.2 分类模型的TF-IDF特征202
5.10.3 比较模型性能评估205
5.10.4 分类模型的Word2Vec嵌入205
5.10.5 分类模型的GloVe嵌入207
5.10.6 分类模型的FastText嵌入208
5.10.7 模型调优209
5.10.8 模型性能评估212
5.11 应用217
5.12 本章小结217
第6章 文本摘要和主题模型219
6.1 文本摘要和信息提取220
6.1.1 关键短语提取220
6.1.2 主题建模221
6.1.3 自动文档摘要221
6.2 重要概念221
6.3 关键短语提取223
6.3.1 搭配223
6.3.2 基于权重标签的短语提取228
6.4 主题建模231
6.5 研究论文的主题建模232
6.5.1 主要目标232
6.5.2 数据检索233
6.5.3 加载和查看数据集233
6.5.4 基本文本整理234
6.6 Gensim的主题模型235
6.6.1 特征工程的文本表示236
6.6.2 潜在语义索引238
6.6.3 从头开始实现LSI主题模型245
6.6.4 LDA250
6.6.5 MALLET的LDA模型257
6.6.6 LDA调优:查找最佳主题数259
6.6.7 解释主题模型结果263
6.6.8 预测新研究论文的主题266
6.7 Scikit-Learn的主题模型269
6.7.1 特征工程的文本表示270
6.7.2 潜在语义索引270
6.7.3 LDA274
6.7.4 非负矩阵分解276
6.7.5 预测新研究论文的主题279
6.7.6 可视化主题模型280
6.8 自动文档摘要282
6.8.1 文本整理284
6.8.2 特征工程的文本表示285
6.8.3 潜在语义分析285
6.8.4 TextRank288
6.9 本章小结291
第7章 文本相似度和聚类293
7.1 基本概念294
7.1.1 信息检索294
7.1.2 特征工程294
7.1.3 相似度度量295
7.1.4 无监督的机器学习算法295
7.2 文本相似度295
7.3 分析词项相似度296
7.3.1 汉明距离297
7.3.2 曼哈顿距离298
7.3.3 欧几里得距离300
7.3.4 莱文斯坦编辑距离300
7.3.5 余弦距离和相似度304
7.4 分析文档相似度307
7.5 构建电影推荐系统308
7.5.1 加载和查看数据集308
7.5.2 文本预处理310
7.5.3 提取TF-IDF特征311
7.5.4 成对文档相似度的余弦相似度311
7.5.5 查找与示例电影最相似的电影312
7.5.6 构建电影推荐系统313
7.5.7 获取流行的电影列表313
7.5.8 成对文档相似度的Okapi BM25排名315
7.6 文档聚类322
7.7 电影聚类323
7.7.1 特征工程324
7.7.2 k-均值聚类324
7.7.3 近邻传播算法329
7.7.4 Ward凝聚层次聚类332
7.8 本章小结335
第8章 语义分析336
8.1 语义分析简介337
8.2 探索WordNet337
8.2.1 理解同义词集338
8.2.2 分析词汇的语义关系339
8.3 词义消歧345
8.4 命名实体识别347
8.5 从零开始构建NER标注器353
8.6 使用训练的NER模型构建端到端的NER标注器360
8.7 分析语义表示362
8.7.1 命题逻辑362
8.7.2 一阶逻辑364
8.8 本章小结368
第9章 情感分析369
9.1 问题描述370
9.2 安装依赖项370
9.3 获取数据370
9.4 文本预处理与规范化371
9.5 无监督的词典模型372
9.5.1 Bing Liu词典373
9.5.2 MPQA主观词典373
9.5.3 pattern词典374
9.5.4 TextBlob词典374
9.5.5 AFINN词典376
9.5.6 SentiWordNet词典377
9.5.7 VADER词典380
9.6 使用有监督的学习进行情感分类382
9.7 传统的有监督机器学习模型384
9.8 新的有监督深度学习模型386
9.9 高级的有监督深度学习模型392
9.10 分析情感成因399
9.10.1 解释预测模型399
9.10.2 分析主题模型404
9.11 本章小结409
第10章 深度学习的前景410
10.1 为什么我们对嵌入痴迷411
10.2 词嵌入模型的趋势412
10.3 通用句子嵌入模型的趋势413
10.4 理解文本分类问题417
10.5 使用通用句子嵌入417
10.5.1 加载依赖417
10.5.2 加载和查看数据集418
10.5.3 构建训练、验证和测试数据集419
10.5.4 基本文本整理419
10.5.5 构建数据接入函数420
10.5.6 使用通用句子编码器构建深度学习模型421
10.5.7 模型训练421
10.5.8 模型评估423
10.6 红利:使用不同的通用句子嵌入进行迁移学习423
10.7 本章小结与展望429

教学资源推荐
作者: (美)Jeffrey D. Ullman 斯坦福大学Jennifer Widom 著斯坦福大学岳丽华 金培权 万寿红 等译
作者: 叶乃文 王丹 编著
参考读物推荐
作者: Tony Roame
作者: (美) David Croslin 著
作者: [美]格雷戈里·S. 纳尔逊 (Gregory S. Nelson) 著