Python和NLTK自然语言处理

Python和NLTK自然语言处理 pdf epub mobi txt 电子书 下载 2026

出版者:人民邮电出版社
作者:[印度] 尼天·哈登尼亚(Nitin Hardeniya)
出品人:异步图书
页数:621
译者:
出版时间:2019-4
价格:138.00
装帧:平装
isbn号码:9787115503343
丛书系列:
图书标签:
  • 自然语言处理
  • 编程
  • 人工智能
  • python
  • Python
  • 自然语言处理
  • NLTK
  • 文本分析
  • 机器学习
  • 数据科学
  • 语言学
  • 计算机科学
  • 人工智能
  • NLP
  • 文本挖掘
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

NLTK是自然语言处理领域中非常受欢迎和广泛使用的Python库。NLTK的优点在于其简单性,其中大多数复杂的自然语言处理任务使用几行代码即可完成。本书旨在讲述如何用Python和NLTK解决各种自然语言处理任务并开发机器学习方面的应用。本书介绍了NLTK的基本模块,讲述了采用NLTK实现自然语言处理的大量技巧,讨论了一些文本处理方法和语言处理技术,展示了使用Python实现NLP项目的大量实践经验。本书主要内容包括文本挖掘/NLP任务中所需的所有预处理步骤,如何使用Python 3的NLTK 3进行文本处理,如何通过Python开展NLP项目。 本书适合NLP和机器学习领域的爱好者、Python程序员以及机器学习领域的研究人员阅读。

探索语言的奥秘:深度学习驱动的自然语言处理进阶之路 这本书并非一本教你如何使用 Python 和 NLTK 库进行基础自然语言处理(NLP)操作的入门指南。相反,它是一次深入探索现代 NLP 领域前沿技术的旅程,侧重于那些由深度学习模型驱动的、能够处理复杂语言现象的先进方法。如果你已经掌握了 NLP 的基础概念,并且渴望了解如何构建更强大、更智能的语言应用,那么这本书将为你打开一扇通往未知的门。 我们不再止步于简单的词袋模型或 TF-IDF 权重,而是直击当前 NLP 研究的核心——神经网络架构。从经典的循环神经网络(RNN)及其变种,如长短期记忆网络(LSTM)和门控循环单元(GRU),到近年来席卷整个 AI 领域的 Transformer 模型,我们将一一剖析它们的原理、优缺点以及在各种 NLP 任务中的实际应用。每一章都将以理论讲解为基础,紧接着是翔实的示例代码,展示如何利用成熟的深度学习框架(如 TensorFlow 和 PyTorch)来实现这些模型,并应用于实际问题。 第一部分:重塑语言表示——从词嵌入到上下文感知 在深入探讨复杂模型之前,理解语言的底层表示至关重要。本书的第一部分将带你超越传统的独热编码(One-hot Encoding),进入动态、丰富的词嵌入(Word Embeddings)时代。我们将详细介绍 Word2Vec(Skip-gram 和 CBOW 模型)、GloVe 以及 FastText 等经典词嵌入技术,理解它们如何捕捉词语之间的语义和句法关系,并讨论它们在降维、可视化以及作为下游任务输入时的优势。 然而,词嵌入的局限性在于它们是静态的,无法捕捉词语在不同语境下的多义性。为了解决这一问题,我们将在接下来的章节中深入探讨上下文感知词嵌入(Contextualized Word Embeddings)的强大之处。ELMo(Embeddings from Language Models)将作为我们探索的起点,它展示了如何通过双向 LSTM 来生成基于上下文的词表示。 随后,我们将迎来 NLP 领域的一次革命性飞跃——Transformer 模型。本书将花费大量篇幅来解析 Transformer 的核心机制,包括自注意力(Self-Attention)机制、多头注意力(Multi-Head Attention)、位置编码(Positional Encoding)以及 encoder-decoder 架构。我们将深入理解点积注意力(Dot-Product Attention)的计算过程,以及它如何使得模型能够并行处理序列数据,并捕捉长距离依赖关系。 第二部分:驾驭语言理解——神经网络在核心 NLP 任务中的应用 掌握了强大的语言表示方法后,我们将把这些技术应用于各种标志性的 NLP 任务。 文本分类与情感分析的高级技术: 超越朴素贝叶斯,我们将探索如何利用卷积神经网络(CNN)从文本中提取局部特征,以及如何使用 LSTM 和 GRU 来捕捉序列中的时序信息,从而实现更精准的文本分类和情感分析。更进一步,我们将介绍如何微调预训练的 Transformer 模型(如 BERT、RoBERTa)来解决这些任务,并获得 state-of-the-art 的性能。我们将深入探讨 BERT 的掩码语言模型(Masked Language Model)和下一句预测(Next Sentence Prediction)训练任务,理解它们如何让模型具备强大的语义理解能力。 序列标注的深度学习方法: 从命名实体识别(NER)到词性标注(POS Tagging),这些序列标注任务是许多 NLP 应用的基础。我们将讲解如何将 BiLSTM-CRF(Conditional Random Field)模型应用于序列标注,理解 CRF 层在序列解码过程中的作用,如何利用其对标签之间的依赖关系进行建模,以获得更流畅、更准确的标注结果。同样,我们将展示如何利用预训练的 Transformer 模型进行迁移学习,以更少的标注数据达到更好的效果。 文本生成的前沿探索: 从简单的语言模型到如今能够生成高质量、连贯文本的生成式模型,文本生成经历了巨大的进步。我们将详细介绍基于 RNN 和 Transformer 的文本生成模型,包括如何使用 Beam Search、Top-k Sampling 和 Nucleus Sampling 等解码策略来控制生成文本的多样性和质量。我们将深入研究 GPT 系列模型(GPT-2, GPT-3)的原理,理解它们如何通过大规模无监督预训练实现强大的零样本(Zero-shot)和少样本(Few-shot)学习能力,并应用于故事创作、代码生成甚至对话系统。 机器翻译的演进与挑战: 机器翻译(Machine Translation)一直是 NLP 领域的一个核心研究方向。我们将追溯从统计机器翻译(SMT)到神经机器翻译(NMT)的演变过程,重点讲解基于 Encoder-Decoder 架构(特别是基于 Attention 机制)的 NMT 模型。我们将深入理解 Beam Search 在机器翻译中的应用,以及如何评估翻译质量(如 BLEU 分数)。同时,我们将讨论当前 NMT 面临的挑战,如低资源语言翻译、领域适应性等,并探讨一些前沿的研究思路。 问答系统与对话生成: 构建智能的问答系统(Question Answering)和对话机器人(Dialogue Systems)是 NLP 的终极目标之一。我们将探讨基于 Transformer 的阅读理解模型(如 BERT、RoBERTa),它们如何理解上下文并抽取答案。对于开放域的问答,我们将介绍检索式和生成式方法的结合。在对话生成方面,我们将讨论基于检索的方法和基于生成的方法,以及如何利用强化学习来优化对话策略,提升对话的自然度和用户满意度。 第三部分:高级主题与未来展望 在掌握了深度学习在核心 NLP 任务中的应用后,我们将触及一些更高级的主题,并展望 NLP 的未来发展方向。 模型的可解释性与偏差: 随着深度学习模型在 NLP 中的应用越来越广泛,理解模型的决策过程以及识别和缓解模型中的偏差变得尤为重要。我们将探讨一些模型解释技术,例如 LIME、SHAP,以及如何分析注意力权重来理解模型关注的文本片段。我们还将讨论如何识别和减轻模型中存在的性别、种族等方面的偏见,并探讨负责任的 AI 发展方向。 多模态 NLP: 语言并非孤立存在,它常常与图像、音频等其他模态信息相结合。我们将介绍多模态 NLP 的概念,以及如何利用 Transformer 模型来融合文本和其他模态信息,从而构建更全面的理解系统。例如,图像字幕生成(Image Captioning)、视觉问答(Visual Question Answering)等任务。 低资源 NLP 与迁移学习的进阶: 许多语言由于缺乏大规模标注数据,难以应用先进的 NLP 技术。我们将深入探讨低资源 NLP 的挑战,并介绍更高级的迁移学习和元学习(Meta-Learning)方法,以及如何利用跨语言预训练模型(如 XLM-R)来解决低资源语言的 NLP 问题。 NLP 在特定领域的应用: 我们还将简要介绍 NLP 在不同领域的应用,如医疗文本分析、法律文本处理、金融信息挖掘、社交媒体情感分析等,并讨论这些领域特有的挑战和解决方案。 实践至上,理论与代码并重 本书最大的特点在于其理论讲解与实践操作的紧密结合。每介绍一种模型或技术,我们都会提供清晰、可运行的 Python 代码示例,使用主流的深度学习框架(TensorFlow/Keras, PyTorch)。读者可以通过运行这些代码,亲身体验模型的工作过程,并尝试修改参数、数据集来观察结果的变化。我们鼓励读者在掌握基本示例后,将其应用于自己感兴趣的数据集或 NLP 问题。 谁适合阅读这本书? 这本书适合那些对自然语言处理有浓厚兴趣,并且已经具备一定 Python 编程基础和机器学习概念的读者。如果你是以下人群之一,那么这本书将是你的理想选择: 对自然语言处理(NLP)领域有深入了解,并希望掌握最前沿深度学习技术的开发者。 正在进行 NLP 相关研究的学术界人士,希望了解和复现最新的研究成果。 希望构建更强大、更智能的语言理解和生成应用的工程师。 对人工智能如何理解和处理人类语言充满好奇的学习者。 本书的目标是让你能够独立地理解、实现和应用当前最先进的 NLP 模型,并为你在该领域的进一步探索打下坚实的基础。让我们一起踏上这段激动人心的语言智能之旅吧!

作者简介

Nitin Hardeniya是一位数据科学家,精通Python、NLTK、机器学习,与多家知名公司都有长期的合作。他的业务范围比较广,擅长解决不同领域的各种业务问题。他发表过5篇专利。

目录信息

模块1 NLTK基础知识
第 1章 自然语言处理简介 3
1.1 为什么要学习NLP 4
1.2 从Python的基本知识开始 7
1.2.1 列表 7
1.2.2 自助 8
1.2.3 正则表达式 9
1.2.4 词典 11
1.2.5 编写函数 11
1.3 NLTK 13
1.4 试一试 18
1.5 本章小结 18
第 2章 文本的整理和清洗 19
2.1 文本整理 19
2.2 文本清洗 21
2.3 句子拆分器 22
2.4 标记解析 22
2.5 词干提取 24
2.6 词形还原 25
2.7 停用词删除 26
2.8 生僻字删除 27
2.9 拼写校正 27
2.10 试一试 28
2.11 本章小结 28
第3章 词性标注 30
3.1 什么是词性标注 30
3.1.1 斯坦福标注器 33
3.1.2 深入了解标注器 34
3.1.3 序列标注器 35
3.1.4 布里尔标注器 37
3.1.5 基于标注器的机器学习 37
3.2 命名实体识别 38
3.3 试一试 40
3.4 本章小结 41
第4章 对文本的结构进行语法分析 42
4.1 浅层语法分析与深层语法
分析 42
4.2 语法分析的两种方法 43
4.3 为什么需要语法分析 43
4.4 不同类型的语法分析器 45
4.4.1 递归下降的语法分析器 45
4.4.2 移位归约语法分析器 45
4.4.3 图表语法分析器 45
4.4.4 正则表达式语法
分析器 46
4.5 依存分析 47
4.6 组块化 49
4.7 信息抽取 51
4.7.1 命名实体识别 52
4.7.2 关系抽取 52
4.8 本章小结 53
第5章 NLP应用 54
5.1 构建第 一个NLP应用 54
5.2 其他的NLP应用 58
5.2.1 机器翻译 58
5.2.2 统计机器翻译 59
5.2.3 信息检索 59
5.2.4 语音识别 61
5.2.5 文本分类 62
5.2.6 信息提取 63
5.2.7 问答系统 64
5.2.8 对话系统 64
5.2.9 词义消歧 64
5.2.10 主题建模 64
5.2.11 语言检测 65
5.2.12 光学字符识别 65
5.3 本章小结 65
第6章 文本分类 66
6.1 机器学习 67
6.2 文本分类 68
6.3 采样 70
6.3.1 朴素贝叶斯 73
6.3.2 决策树 75
6.3.3 随机梯度下降 76
6.3.4 逻辑回归 77
6.3.5 支持向量机 78
6.4 随机森林算法 79
6.5 文本聚类 79
6.6 文本的主题建模 81
6.7 参考资料 83
6.8 本章小结 83
第7章 网络爬取 85
7.1 网络爬虫 85
7.2 编写第 一个爬虫程序 86
7.3 Scrapy中的数据流 89
7.3.1 Scrapy命令行界面 89
7.3.2 项 94
7.4 站点地图蜘蛛 96
7.5 项管道 97
7.6 外部参考 98
7.7 本章小结 99
第8章 与其他Python库一同
使用NLTK 100
8.1 NumPy 100
8.1.1 ndarray 101
8.1.2 基本操作 102
8.1.3 从数组中提取数据 103
8.1.4 复杂的矩阵运算 103
8.2 SciPy 107
8.2.1 线性代数 108
8.2.2 特征值和特征向量 108
8.2.3 稀疏矩阵 109
8.2.4 优化 110
8.3 Pandas 111
8.3.1 读取数据 112
8.3.2 时序数据 114
8.3.3 列转换 115
8.3.4 噪声数据 116
8.4 Matplotlib 117
8.4.1 subplot 118
8.4.2 添加轴 119
8.4.3 散点图 120
8.4.4 柱状图 120
8.4.5 3D图 121
8.5 外部参考 121
8.6 本章小结 121
第9章 使用Python进行社交媒体
挖掘 122
9.1 数据收集 122
9.2 数据提取 126
9.3 地理可视化 128
9.3.1 影响者检测 129
9.3.2 Facebook 130
9.3.3 影响者的朋友 134
9.4 本章小结 135
第 10章 大规模的文本挖掘 136
10.1 在Hadoop上使用Python的
不同方法 136
10.1.1 Python的流 137
10.1.2 Hive/Pig UDF 137
10.1.3 流包装器 137
10.2 在Hadoop上运行NLTK 138
10.2.1 UDF 138
10.2.2 Python流 140
10.3 在Hadoop上运行
Scikit-learn 141
10.4 PySpark 144
10.5 本章小结 146
模块2 使用Python 3的NLTK 3进行文本处理
第 1章 标记文本和WordNet的基础 149
1.1 引言 149
1.2 将文本标记成句子 150
1.2.1 准备工作 150
1.2.2 工作方式 151
1.2.3 工作原理 151
1.2.4 更多信息 151
1.2.5 请参阅 152
1.3 将句子标记成单词 152
1.3.1 工作方式 152
1.3.2 工作原理 153
1.3.3 更多信息 153
1.3.4 请参阅 154
1.4 使用正则表达式标记语句 154
1.4.1 准备工作 155
1.4.2 工作方式 155
1.4.3 工作原理 155
1.4.4 更多信息 155
1.4.5 请参阅 156
1.5 训练语句标记生成器 156
1.5.1 准备工作 156
1.5.2 工作方式 156
1.5.3 工作原理 157
1.5.4 更多信息 158
1.5.5 请参阅 158
1.6 在已标记的语句中过滤
停用词 158
1.6.1 准备工作 158
1.6.2 工作方式 159
1.6.3 工作原理 159
1.6.4 更多信息 159
1.6.5 请参阅 160
1.7 查找WordNet中单词的
Synset 160
1.7.1 准备工作 160
1.7.2 工作方式 160
1.7.3 工作原理 161
1.7.4 更多信息 161
1.7.5 请参阅 163
1.8 在WordNet中查找词元和
同义词 163
1.8.1 工作方式 163
1.8.2 工作原理 163
1.8.3 更多信息 163
1.8.4 请参阅 165
1.9 计算WordNet和Synset的
相似度 165
1.9.1 工作方式 165
1.9.2 工作原理 165
1.9.3 更多信息 166
1.9.4 请参阅 167
1.10 发现单词搭配 167
1.10.1 准备工作 167
1.10.2 工作方式 167
1.10.3 工作原理 168
1.10.4 更多信息 168
1.10.5 请参阅 169
第 2章 替换和校正单词 170
2.1 引言 170
2.2 词干提取 170
2.2.1 工作方式 171
2.2.2 工作原理 171
2.2.3 更多信息 171
2.2.4 请参阅 173
2.3 使用WordNet进行词形还原 173
2.3.1 准备工作 173
2.3.2 工作方式 173
2.3.3 工作原理 174
2.3.4 更多信息 174
2.3.5 请参阅 175
2.4 基于匹配的正则表达式替换
单词 175
2.4.1 准备工作 175
2.4.2 工作方式 175
2.4.3 工作原理 176
2.4.4 更多信息 177
2.4.5 请参阅 177
2.5 移除重复字符 177
2.5.1 准备工作 177
2.5.2 工作方式 178
2.5.3 工作原理 178
2.5.4 更多信息 179
2.5.5 请参阅 179
2.6 使用Enchant进行拼写校正 180
2.6.1 准备工作 180
2.6.2 工作方式 180
2.6.3 工作原理 181
2.6.4 更多信息 181
2.6.5 请参阅 183
2.7 替换同义词 183
2.7.1 准备工作 183
2.7.2 工作方式 183
2.7.3 工作原理 184
2.7.4 更多信息 184
2.7.5 请参阅 185
2.8 使用反义词替换否定形式 186
2.8.1 工作方式 186
2.8.2 工作原理 187
2.8.3 更多信息 187
2.8.4 请参阅 188
第3章 创建自定义语料库 189
3.1 引言 189
3.2 建立自定义语料库 190
3.2.1 准备工作 190
3.2.2 工作方式 190
3.2.3 工作原理 191
3.2.4 更多信息 192
3.2.5 请参阅 192
3.3 创建词汇表语料库 192
3.3.1 准备工作 192
3.3.2 工作方式 193
3.3.3 工作原理 193
3.3.4 更多信息 194
3.3.5 请参阅 194
3.4 创建已标记词性单词的
语料库 195
3.4.1 准备工作 195
3.4.2 工作方式 195
3.4.3 工作原理 196
3.4.4 更多信息 196
3.4.5 请参阅 199
3.5 创建已组块短语的语料库 199
3.5.1 准备工作 199
3.5.2 工作方式 199
3.5.3 工作原理 201
3.5.4 更多信息 201
3.5.5 请参阅 203
3.6 创建已分类文本的语料库 203
3.6.1 准备工作 204
3.6.2 工作方式 204
3.6.3 工作原理 204
3.6.4 更多信息 205
3.6.5 请参阅 206
3.7 创建已分类组块语料库
读取器 206
3.7.1 准备工作 206
3.7.2 工作方式 207
3.7.3 工作原理 208
3.7.4 更多信息 209
3.7.5 请参阅 213
3.8 懒惰语料库加载 213
3.8.1 工作方式 213
3.8.2 工作原理 214
3.8.3 更多信息 214
3.9 创建自定义语料库视图 215
3.9.1 工作方式 215
3.9.2 工作原理 216
3.9.3 更多信息 217
3.9.4 请参阅 218
3.10 创建基于MongoDB的
语料库读取器 218
3.10.1 准备工作 219
3.10.2 工作方式 219
3.10.3 工作原理 220
3.10.4 更多信息 221
3.10.5 请参阅 221
3.11 在加锁文件的情况下编辑
语料库 221
3.11.1 准备工作 221
3.11.2 工作方式 221
3.11.3 工作原理 222
第4章 词性标注 224
4.1 引言 224
4.2 默认标注 225
4.2.1 准备工作 225
4.2.2 工作方式 225
4.2.3 工作原理 226
4.2.4 更多信息 227
4.2.5 请参阅 228
4.3 训练一元组词性标注器 228
4.3.1 工作方式 228
4.3.2 工作原理 229
4.3.3 更多信息 230
4.3.4 请参阅 231
4.4 回退标注的组合标注器 231
4.4.1 工作方式 231
4.4.2 工作原理 232
4.4.3 更多信息 232
4.4.4 请参阅 233
4.5 训练和组合N元标注器 233
4.5.1 准备工作 233
4.5.2 工作方式 233
4.5.3 工作原理 234
4.5.4 更多信息 235
4.5.5 请参阅 236
4.6 创建似然单词标签的
模型 236
4.6.1 工作方式 236
4.6.2 工作原理 237
4.6.3 更多信息 237
4.6.4 请参阅 238
4.7 使用正则表达式标注 238
4.7.1 准备工作 238
4.7.2 工作方式 238
4.7.3 工作原理 239
4.7.4 更多信息 239
4.7.5 请参阅 239
4.8 词缀标签 239
4.8.1 工作方式 239
4.8.2 工作原理 240
4.8.3 更多信息 240
4.8.4 请参阅 241
4.9 训练布里尔标注器 241
4.9.1 工作方式 241
4.9.2 工作原理 242
4.9.3 更多信息 243
4.9.4 请参阅 244
4.10 训练TnT标注器 244
4.10.1 工作方式 244
4.10.2 工作原理 244
4.10.3 更多信息 245
4.10.4 请参阅 246
4.11 使用WordNet进行
标注 246
4.11.1 准备工作 246
4.11.2 工作方式 247
4.11.3 工作原理 248
4.11.4 请参阅 248
4.12 标注专有名词 248
4.12.1 工作方式 248
4.12.2 工作原理 249
4.12.3 请参阅 249
4.13 基于分类器的标注 249
4.13.1 工作方式 250
4.13.2 工作原理 250
4.13.3 更多信息 251
4.13.4 请参阅 252
4.14 使用NLTK训练器训练
标注器 253
4.14.1 工作方式 253
4.14.2 工作原理 254
4.14.3 更多信息 258
4.14.4 请参阅 260
第5章 提取组块 261
5.1 引言 261
5.2 使用正则表达式组块和
隔断 262
5.2.1 准备工作 262
5.2.2 工作方式 262
5.2.3 工作原理 263
5.2.4 更多信息 265
5.2.5 请参阅 267
5.3 使用正则表达式合并和拆分
组块 267
5.3.1 工作方式 267
5.3.2 工作原理 269
5.3.3 更多信息 270
5.3.4 请参阅 271
5.4 使用正则表达式扩展和删除
组块 271
5.4.1 工作方式 271
5.4.2 工作原理 272
5.4.3 更多信息 273
5.4.4 请参阅 273
5.5 使用正则表达式进行部分
解析 273
5.5.1 工作方式 273
5.5.2 工作原理 274
5.5.3 更多信息 275
5.5.4 请参阅 276
5.6 训练基于标注器的组块器 276
5.6.1 工作方式 276
5.6.2 工作原理 277
5.6.3 更多信息 278
5.6.4 请参阅 279
5.7 基于分类的分块 279
5.7.1 工作方式 279
5.7.2 工作原理 282
5.7.3 更多信息 282
5.7.4 请参阅 283
5.8 提取命名实体 283
5.8.1 工作方式 283
5.8.2 工作原理 284
5.8.3 更多信息 284
5.8.4 请参阅 285
5.9 提取专有名词组块 285
5.9.1 工作方式 286
5.9.2 工作原理 286
5.9.3 更多信息 286
5.10 提取部位组块 287
5.10.1 工作方式 288
5.10.2 工作原理 290
5.10.3 更多信息 290
5.10.4 请参阅 290
5.11 训练命名实体组块器 290
5.11.1 工作方式 290
5.11.2 工作原理 292
5.11.3 更多信息 292
5.11.4 请参阅 293
5.12 使用NLTK训练器训练
组块器 293
5.12.1 工作方式 293
5.12.2 工作原理 294
5.12.3 更多信息 295
5.12.4 请参阅 299
第6章 转换组块与树 300
6.1 引言 300
6.2 过滤句子中无意义的
单词 301
6.2.1 准备工作 301
6.2.2 工作方式 301
6.2.3 工作原理 302
6.2.4 更多信息 302
6.2.5 请参阅 303
6.3 纠正动词形式 303
6.3.1 准备工作 303
6.3.2 工作方式 303
6.3.3 工作原理 305
6.3.4 请参阅 306
6.4 交换动词短语 306
6.4.1 工作方式 306
6.4.2 工作原理 307
6.4.3 更多信息 307
6.4.4 请参阅 307
6.5 交换名词基数 308
6.5.1 工作方式 308
6.5.2 工作原理 309
6.5.3 请参阅 309
6.6 交换不定式短语 309
6.6.1 工作方式 309
6.6.2 工作原理 310
6.6.3 更多信息 310
6.6.4 请参阅 310
6.7 单数化复数名词 310
6.7.1 工作方式 310
6.7.2 工作原理 311
6.7.3 请参阅 311
6.8 链接组块变换 311
6.8.1 工作方式 311
6.8.2 工作原理 312
6.8.3 更多信息 312
6.8.4 请参阅 313
6.9 将组块树转换为文本 313
6.9.1 工作方式 313
6.9.2 工作原理 314
6.9.3 更多信息 314
6.9.4 请参阅 314
6.10 平展深度树 314
6.10.1 准备工作 315
6.10.2 工作方式 315
6.10.3 工作原理 316
6.10.4 更多信息 317
6.10.5 请参阅 318
6.11 创建浅树 318
6.11.1 工作方式 318
6.11.2 工作原理 320
6.11.3 请参阅 320
6.12 转换树标签 320
6.12.1 准备工作 320
6.12.2 工作方式 321
6.12.3 工作原理 322
6.12.4 请参阅 322
第7章 文本分类 323
7.1 引言 323
7.2 词袋特征提取 324
7.2.1 工作方式 324
7.2.2 工作原理 325
7.2.3 更多信息 325
7.2.4 请参阅 327
7.3 训练朴素贝叶斯
分类器 327
7.3.1 准备工作 327
7.3.2 工作方式 328
7.3.3 工作原理 329
7.3.4 更多信息 330
7.3.5 请参阅 333
7.4 训练决策树分类器 334
7.4.1 工作方式 334
7.4.2 工作原理 335
7.4.3 更多信息 335
7.4.4 请参阅 337
7.5 训练最大熵分类器 337
7.5.1 准备工作 337
7.5.2 工作方式 337
7.5.3 工作原理 338
7.5.4 更多信息 339
7.5.5 请参阅 340
7.6 训练scikit-learn
分类器 340
7.6.1 准备工作 341
7.6.2 工作方式 341
7.6.3 工作原理 342
7.6.4 更多信息 343
7.6.5 请参阅 345
7.7 衡量分类器的精准率和
召回率 346
7.7.1 工作方式 346
7.7.2 工作原理 347
7.7.3 更多信息 348
7.7.4 请参阅 349
7.8 计算高信息量单词 349
7.8.1 工作方式 350
7.8.2 工作原理 351
7.8.3 更多信息 352
7.8.4 请参阅 354
7.9 使用投票组合分类器 354
7.9.1 准备工作 355
7.9.2 工作方式 355
7.9.3 工作原理 356
7.9.4 请参阅 356
7.10 使用多个二元分类器
分类 357
7.10.1 准备工作 357
7.10.2 工作方式 357
7.10.3 工作原理 361
7.10.4 更多信息 362
7.10.5 请参阅 363
7.11 使用NLTK训练器训练
分类器 363
7.11.1 工作方式 363
7.11.2 工作原理 364
7.11.3 更多信息 365
7.11.4 请参阅 371
第8章 分布式进程和大型数据集的
处理 372
8.1 引言 372
8.2 使用execnet进行分布式
标注 372
8.2.1 准备工作 373
8.2.2 工作方式 373
8.2.3 工作原理 374
8.2.4 更多内容 375
8.2.5 请参阅 377
8.3 使用execnet进行分布式
组块 377
8.3.1 准备工作 377
8.3.2 工作方式 377
8.3.3 工作原理 378
8.3.4 更多内容 379
8.3.5 请参阅 379
8.4 使用execnet并行处理
列表 379
8.4.1 工作方式 379
8.4.2 工作原理 380
8.4.3 更多内容 381
8.4.4 请参阅 381
8.5 在Redis中存储频率分布 382
8.5.1 准备工作 382
8.5.2 工作方式 382
8.5.3 工作原理 384
8.5.4 更多内容 385
8.5.5 请参阅 386
8.6 在Redis中存储条件频率
分布 386
8.6.1 准备工作 386
8.6.2 工作方式 386
8.6.3 工作原理 387
8.6.4 更多内容 388
8.6.5 请参阅 388
8.7 在Redis中存储有序
字典 388
8.7.1 准备工作 388
8.7.2 工作方式 388
8.7.3 工作原理 390
8.7.4 更多内容 391
8.7.5 请参阅 392
8.8 使用Redis和execnet进行
分布式单词评分 392
8.8.1 准备工作 392
8.8.2 工作方式 392
8.8.3 工作原理 393
8.8.4 更多内容 396
8.8.5 请参阅 396
第9章 解析特定的数据类型 397
9.1 引言 397
9.2 使用dateutil解析日期和
时间 398
9.2.1 准备工作 398
9.2.2 工作方式 398
9.2.3 工作原理 399
9.2.4 更多信息 399
9.2.5 请参阅 399
9.3 时区的查找和转换 400
9.3.1 准备工作 400
9.3.2 工作方式 400
9.3.3 工作原理 402
9.3.4 更多信息 402
9.3.5 请参阅 403
9.4 使用lxml从HTML中提取
URL 403
9.4.1 准备工作 403
9.4.2 工作方式 403
9.4.3 工作原理 404
9.4.4 更多信息 404
9.4.5 请参阅 405
9.5 清理和剥离HTML 405
9.5.1 准备工作 405
9.5.2 工作方式 405
9.5.3 工作原理 405
9.5.4 更多信息 406
9.5.5 请参阅 406
9.6 使用BeautifulSoup转换
HTML实体 406
9.6.1 准备工作 406
9.6.2 工作方式 406
9.6.3 工作原理 407
9.6.4 更多信息 407
9.6.5 请参阅 407
9.7 检测和转换字符编码 407
9.7.1 准备工作 408
9.7.2 工作方式 408
9.7.3 工作原理 409
9.7.4 更多信息 409
9.7.5 请参阅 410
附录A 宾州treebank词性标签 411
模块3 使用Python掌握自然语言处理
第 1章 使用字符串 417
1.1 标记化 417
1.1.1 将文本标记为句子 418
1.1.2 其他语言文字的标记化 418
1.1.3 将句子标记为单词 419
1.1.4 使用TreebankWordTokenizer
进行标记化 420
1.1.5 使用正则表达式进行
标记化 421
1.2 规范化 424
1.2.1 消除标点符号 424
1.2.2 转化为小写和大写 425
1.2.3 处理停用词 425
1.2.4 计算英语中的停用词 426
1.3 替代和纠正标记 427
1.3.1 使用正则表达式替换
单词 427
1.3.2 使用一个文本替换另一个
文本的示例 428
1.3.3 在标记化之前进行
替代 428
1.3.4 处理重复的字符 428
1.3.5 删除重复字符的示例 429
1.3.6 使用单词的同义词替换
单词 430
1.4 在文本上应用齐夫定律 431
1.5 相似性量度 431
1.5.1 使用编辑距离算法应用
相似性量度 432
1.5.2 使用杰卡德系数应用
相似性量度 434
1.5.3 使用史密斯-沃特曼算法
应用相似性量度 434
1.5.4 其他字符串相似性指标 435
1.6 本章小结 436
第 2章 统计语言模型 437
2.1 单词频率 437
2.1.1 对给定文本进行最大
似然估计 441
2.1.2 隐马尔可夫模型估计 448
2.2 在MLE模型上应用平滑 450
2.2.1 加一平滑法 450
2.2.2 古德-图灵算法 451
2.2.3 聂氏估计 456
2.2.4 威滕 贝尔估计 457
2.3 为MLE指定回退机制 457
2.4 应用数据插值获得混合和
匹配 458
2.5 应用困惑度评估语言模型 458
2.6 在建模语言中应用
梅特罗波利斯-黑斯廷斯算法 459
2.7 在语言处理中应用
吉布斯采样 459
2.8 本章小结 461
第3章 词语形态学—试一试 462
3.1 词语形态学 462
3.2 词根还原器 463
3.3 词形还原 466
3.4 开发用于非英语语言的词根
还原器 467
3.5 词语形态分析器 469
3.6 词语形态生成器 471
3.7 搜索引擎 471
3.8 本章小结 475
第4章 词性标注—识别单词 476
4.1 词性标注 476
4.2 创建POS标注的语料库 482
4.3 选择某个机器学习算法 484
4.4 涉及n元组方法的统计建模 486
4.5 使用POS标注的语料库开发
组块器 491
4.6 本章小结 494
第5章 解析—分析训练数据 495
5.1 解析 495
5.2 构建树库 496
5.3 从树库中提取上下文无关文法的
规则 501
5.4 从CFG中创建概率上下文无关的
文法 507
5.5 CYK图解析算法 509
5.6 厄雷图解析算法 510
5.7 本章小结 516
第6章 语义分析—意义重大 517
6.1 语义分析 517
6.1.1 NER简介 521
6.1.2 使用隐马尔可夫模型的
NER系统 525
6.1.3 使用机器学习工具包训练
NER 530
6.1.4 使用POS标注的
NER 531
6.2 从Wordnet中生成同义词集
ID 534
6.3 使用Wordnet消除歧义 537
6.4 本章小结 541
第7章 情感分析—我很高兴 542
7.1 情感分析 542
7.2 使用机器学习的情感分析 548
7.3 本章小结 572
第8章 信息检索—访问信息 573
8.1 信息检索 573
8.1.1 停用词删除 574
8.1.2 利用向量空间模型进行
信息检索 576
8.2 向量空间评分以及与查询
操作器交互 583
8.3 利用隐含语义索引开发IR
系统 586
8.4 文本摘要 587
8.5 问答系统 588
8.6 本章小结 589
第9章 话语分析—知识就是信仰 590
9.1 话语分析 590
9.1.1 使用定中心理论进行
话语分析 595
9.1.2 回指解析 596
9.2 本章小结 601
第 10章 NLP系统的评估—
性能分析 602
10.1 对NLP系统进行评估的
需求 602
10.1.1 NLP工具(POS标注器、
词干还原器和形态分析器)
的评估 603
10.1.2 使用黄金数据评估
解析器 613
10.2 IR系统的评估 614
10.3 错误识别的指标 614
10.4 基于词汇匹配的指标 615
10.5 基于语法匹配的指标 619
10.6 使用浅层语义匹配的
指标 620
10.7 本章小结 621
参考书目 622
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

这本书给我带来的最大收获,在于它提供了一种全新的看待问题的方式,而不仅仅是提供了一堆即插即用的解决方案。在最后的几个案例研究中,作者展示了如何将前面学到的所有零散的工具和方法论,整合进一个复杂的、需要多步协同的真实世界项目流程中。这种高屋建瓴的视角,成功地将读者从“代码实现者”提升到了“系统架构思考者”的层面。它不再局限于教会你“如何使用”这个特定的库,而是深入探讨了在处理现实世界数据时,必须权衡的各种技术决策背后的利弊。读完这些高级篇章后,我感到自己对整个领域有了更宏观的把握,那种知识融会贯通后带来的豁然开朗的感觉,是其他只关注单一工具的书籍所无法给予的。它成功地培养了一种批判性思维,促使我在面对新问题时,能够主动去设计最优的解决方案组合,而非仅仅依赖既定的模板。

评分

这本技术专著的封面设计着实吸引眼球,那种深邃的蓝色调与简洁的白色字体搭配,散发出一种专业而又不失现代感的科技气息。我拿起它时,首先注意到的是纸张的质感,厚实而略带纹理,显然是为长期阅读和参考而精心挑选的材料,这在如今很多轻飘飘的速食读物中是难得的。内页的排版也极为考究,字体大小适中,行距宽松,即便是长时间面对屏幕学习后转向纸质书阅读,也不会感到视觉疲劳。装帧工艺看起来也非常扎实,预计即便是经常翻阅,也不会轻易散页。对于任何一个希望在特定领域深入探索的技术爱好者来说,第一印象往往决定了他们是否愿意投入时间去“啃”下一页。这本书在视觉和触觉上的用心,无疑为接下来的知识汲取过程奠定了非常积极的基调,让人感觉这不仅仅是一本工具书,更像是一件值得收藏的知识载体。它传达出的信号是:作者和出版方对内容质量和阅读体验都抱有极高的标准,这让我对正文内容充满了期待。

评分

从编纂的规范性来看,这本书展现出一种令人信服的严谨性。无论是术语的统一使用,还是引用来源的标注,都遵循了行业内的最高标准。我特别留意了它的索引和术语表部分,内容详尽且交叉引用做得非常到位。这对于需要频繁查阅特定函数或概念的资深用户来说,是至关重要的。翻阅目录时,我能感受到作者在知识点组织上的匠心独运,他们似乎在平衡理论的广度与工具细节的深度之间找到了一个微妙的平衡点。很少有技术书籍能够在保持学术完整性的同时,还能保持如此高的可读性和实用性。特别是对于那些需要将书本知识快速转化为工作成果的专业人士而言,这种严谨的结构和清晰的导航,极大地节省了查找信息的时间成本,使得这本书可以被当作一个随时待命的、可靠的参考手册来使用。

评分

阅读完前几章的引言和基础概念铺陈后,我发现作者在构建知识体系时,采取了一种极其平缓但逻辑严密的渐进式教学方法。他们没有一开始就抛出复杂的代码示例和晦涩的理论,而是从最核心的底层逻辑开始,用生活化的比喻来解释那些初听起来令人望而生畏的抽象概念。这种“搭积木”式的讲解方式,极大地降低了初学者的入门门槛。举例来说,对于那些首次接触此类主题的读者,往往最容易被那些晦涩的数学公式和复杂的算法定义所劝退,但这本书巧妙地将理论与实际应用场景紧密结合,让读者在理解“为什么”的同时,也清晰地看到了“怎么做”。整个章节的过渡处理得如同行云流水,每一个新的知识点都建立在前一个知识点稳固的基础上,使得整体的学习路径清晰可见,很少出现思维上的断裂感。这种细致入微的引导,体现了作者深厚的教学经验和对目标读者群体的深刻洞察力。

评分

深入到中高级的实践章节,我开始感受到作者在内容深度上的“后劲”。这里的代码块不再是简单的“展示”功能,而更像是一系列精心设计的实验,引导读者去探索参数变化对结果的微妙影响。更令人称道的是,作者似乎预见到了读者在调试过程中可能遇到的常见陷阱,并在关键的代码段旁边用小框或脚注的形式,详细标注了“易错点”和“性能优化建议”。这比那些只给出标准答案的代码书要实用得多,它教会的不仅是如何实现功能,更是如何写出健壮、高效的代码。对于我个人而言,以往阅读的技术书籍在进入实战环节后,往往会变得干巴巴的,只有代码和输出,缺乏必要的“幕后解说”。但这本则不然,它总是在关键节点进行适时的“停顿”,用一种近乎对话的语气来分析背后的设计哲学,使得每一次成功的编译和运行,都伴随着对底层原理更深一层的领悟。

评分

评分

评分

评分

评分

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有