Python中文网

Python和NLTK自然语言处理

cnpython897

Python和NLTK自然语言处理这本书,是由人民邮电出版社在2019-04-01月出版的,本书著作者是 [印度] 尼天·哈登尼亚(Nitin Hardeniya),雅各布·帕金斯(Jacob Perkins),迪蒂·乔普拉(Deepti Chopra),尼什·斯乔希 等 著,林赐 译,此次本版是第1次印刷发行, 国际标准书号(ISBN):9787115503343,品牌为异步图书, 这本书的包装是16开平装,所用纸张为胶版纸,全书共有621页字数万字, 是一本非常不错的Python编程书籍。

此书内容摘要

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

关于此书作者

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

编辑们的推荐

NLTK是自然语言处理领域中非常受欢迎和广泛使用的Python库。NLTK的优点在于其简单性,其中大多数复杂的自然语言处理任务使用几行代码即可实现。本书旨在讲述如何用Python和NLTK解决各种自然语言处理任务并开发机器学习方面的应用。本书首先介绍任何文本挖掘/ NLP任务中所需的所有预处理步骤,如文本的整理、清洗、语法分析、分类等,然后讲述如何使用NLTK 3进行文本处理,如标记文本、替换和校正单词、创建自定义语料库等,讨论了如何使用Python完成自然语言处理任务,如语义分析、情感分析、信息检索等。
本书适合NLP和机器学习领域的爱好者、对文本处理感兴趣的读者、想要快速学习NLTK的Python程序员以及机器学习领域的专业人士阅读。

本书包括以下主要内容

● 使用词性标注和分块的方法对文本进行整理与清洗。
● 把文本标记为句子,把句子标记为单词。
● 文本分类和情感分析。
● 字符串匹配算法和归一化方法。
● 信息检索和文本摘要的概念。
● 使用Python解决各种NLP任务的方式。

Python和NLTK自然语言处理图书的目录

模块1NLTK基础知识

第1章 自然语言处理简介3
1.1为什么要学习NLP4
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.3NLTK13
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.3Scrapy中的数据流89
7.3.1Scrapy命令行界面89
7.3.2项94
7.4站点地图蜘蛛96
7.5项管道97
7.6外部参考98
7.7本章小结99
第8章与其他Python库一同
使用NLTK100
8.1NumPy100
8.1.1ndarray101
8.1.2基本操作102
8.1.3从数组中提取数据103
8.1.4复杂的矩阵运算103
8.2SciPy107
8.2.1线性代数108
8.2.2特征值和特征向量108
8.2.3稀疏矩阵109
8.2.4优化110
8.3Pandas111
8.3.1读取数据112
8.3.2时序数据114
8.3.3列转换115
8.3.4噪声数据116
8.4Matplotlib117
8.4.1subplot118
8.4.2添加轴119
8.4.3散点图120
8.4.4柱状图120
8.4.53D图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.2Facebook130
9.3.3影响者的朋友134
9.4本章小结135
第10章 大规模的文本挖掘136
10.1在Hadoop上使用Python的
不同方法136
10.1.1Python的流137
10.1.2Hive/Pig UDF137
10.1.3流包装器137
10.2在Hadoop上运行NLTK138
10.2.1UDF138
10.2.2Python流140
10.3在Hadoop上运行
Scikit-learn141
10.4PySpark144
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中单词的
Synset160
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中提取
URL403
9.4.1准备工作403
9.4.2工作方式403
9.4.3工作原理404
9.4.4更多信息404
9.4.5请参阅405
9.5清理和剥离HTML405
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.5CYK图解析算法509
5.6厄雷图解析算法510
5.7本章小结516
第6章语义分析—意义重大517
6.1语义分析517
6.1.1NER简介521
6.1.2使用隐马尔可夫模型的
NER系统525
6.1.3使用机器学习工具包训练
NER530
6.1.4使用POS标注的
NER531
6.2从Wordnet中生成同义词集
ID534
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.1NLP工具(POS标注器、
词干还原器和形态分析器)
的评估603
10.1.2使用黄金数据评估
解析器613

10.2IR系统的评估614
10.3错误识别的指标614
10.4基于词汇匹配的指标615
10.5基于语法匹配的指标619
10.6使用浅层语义匹配的
指标620
10.7本章小结621
参考书目622

部分内容试读

暂无.

关于此书评价

暂无.

书摘内容

暂无.

Python和NLTK自然语言处理最新最全的试读、书评、目录、简介信息由Python中文网整理提供。