书籍详情

O'Reilly Python文本分析

O'Reilly Python文本分析

作者:[美]延斯·阿尔布雷希特,[美]西达尔特·拉马钱德兰,[美]克里斯蒂安·温克勒

出版社:中国电力出版社

出版时间:2022-08-01

ISBN:9787519864446

定价:¥128.00

购买这本书可以去
内容简介
  提取API与网页的数据。统计分析和机器学习的文本数据预处理。机器学习分类、主题建模与摘要。解释AI模型与分类的结果。利用单词嵌入,探索及可视化语义相似性。分析产品评论中的客户情感。根据命名实体及其关系创建知识图。
作者简介
  Jens Albrecht是纽伦堡理工学院计算机科学系的全职教授。主要从事数据管理与分析领域的研究,尤其侧重于文本分析。Sidharth Ramachandran负责领导一个数据科学家团队,主要为消费品行业构建数据产品。他拥有十多年电信、银行以及市场营销等领域软件工程与数据科学的工作经验。Christian Winkler是一位数据科学家与和机器学习架构师。他拥有理论物理学博士学位,在大数据与人工智能领域工作了20多年。
目录
目录
前言 . 1
第1 章 洞悉文本数据 11
1.1 本章内容概要 .11
1.2 探索性数据分析 12
1.3 数据集简介 13
1.4 案例:使用Pandas 获取数据概要 14
1.4.1 计算列的汇总统计结果 15
1.4.2 检查缺少的数据 16
1.4.3 绘制值的分布图 17
1.4.4 比较各个类别的分布 .18
1.4.5 可视化一段时间内的变化 19
1.5 案例:构建简单的文本预处理流水线 21
1.5.1 使用正则表达式分词 .21
1.5.2 删除停用词 .22
1.5.3 通过一行代码处理流水线 24
1.6 词频分析案例 .26
1.6.1 案例:使用Counter 统计单词个数 26
1.6.2 案例:创建词频图 29
1.6.3 案例:创建词云 30
1.6.4 案例:TF-IDF 排名 32
1.7 案例:查找上下文关键字 .35
1.8 案例:n 元语法分析 37
1.9 案例:比较不同时间段和类别的词频 40
1.9.1 创建词频时间表 40
1.9.2 创建词频热图 42
1.10 小结 44
第2 章 利用API 提取文本 45
2.1 本章内容概要 .45
2.2 应用程序编程接口 45
2.3 案例:使用requests 模块通过API 提取数据 .47
2.3.1 分页 52
2.3.2 速率限制53
2.4 案例:使用Tweepy 提取推特数据 57
2.4.1 获取凭证58
2.4.2 安装与配置Tweepy 59
2.4.3 通过Search API 提取数据 60
2.4.4 从用户的时间线中提取数据 64
2.4.5 通过流API 提取数据 66
2.5 小结 .69
第3 章 网页抓取与数据提取 71
3.1 本章内容概要 .71
3.2 抓取网页与提取数据 72
3.3 路透社新闻存档简介 73
3.4 URL 生成 75
3.5 案例:下载和解读robots.txt 76
3.6 案例:从sitemap.xml 中寻找URL .77
3.7 案例:通过RSS 查找URL 79
3.8 下载数据 81
3.9 案例:使用Python 下载HTML 页面 .82
3.10 案例:利用wget 下载HTML 页面 83
3.11 提取半结构化数据 .84
3.12 案例:通过正则表达式提取数据 85
3.13 案例:使用HTML 解析器提取数据 86
3.14 案例:爬虫 94
3.14.1 案例介绍 94
3.14.2 错误处理与生产级质量的软件 97
3.15 基于密度的文本提取 98
3.15.1 利用Readability 读取路透社的内容 98
3.15.2 总结基于密度的文本提取100
3.16 一体化解决方案 100
3.17 案例:使用Scrapy 抓取路透社的存档 .101
3.18 爬虫面临的难题 103
3.19 总结和建议 .104
第4 章 准备统计和机器学习的文本数据 105
4.1 本章内容概要 105
4.2 数据预处理流水线 .106
4.3 数据集介绍:Reddit Self-Posts 107
4.3.1 将数据加载到Pandas .107
4.3.2 案例:标准化属性名称 .107
4.3.3 保存和加载数据框 109
4.4 清理文本数据 110
4.4.1 案例:使用正则表达式识别噪声 . 111
4.4.2 案例:使用正则表达式剔除噪声 . 113
4.4.3 案例:使用textacy 规范化字符 115
4.4.4 案例:使用textacy 根据模式遮挡数据 . 116
4.5 分词 118
4.5.1 案例:使用正则表达式分词 118
4.5.2 NLTK 分词 120
4.5.3 分词建议120
4.6 spaCy 的语言处理 .121
4.6.1 实例化流水线 .122
4.6.2 处理文本123
4.6.3 案例:自定义分词 125
4.6.4 案例:处理停用词 127
4.6.5 案例:根据词性提取词元 128
4.6.6 案例:提取名词短语 131
4.6.7 案例:提取命名实体 132
4.7 大型数据集的特征提取 134
4.7.1 案例:创建一个一体化函数 134
4.7.2 案例:使用spaCy 处理大型数据集 135
4.7.3 持久地保存结果 137
4.7.4 有关执行时间的注意事项 137
4.8 补充说明 .138
4.8.1 语言检测138
4.8.2 拼写检查139
4.8.3 分词规范化 139
4.9 小结和建议 139
第5 章 特征工程与句法相似性 141
5.1 本章内容概要 141
5.2 实验数据集 142
5.3 案例:构建自己的向量化器 .143
5.3.1 枚举词汇表 143
5.3.2 向量化文档 144
5.3.3 文档词条矩阵 .146
5.3.4 相似性矩阵 147
5.4 词袋模型 .149
5.4.1 案例:使用scikit-learn 的CountVectorizer .149
5.4.2 案例:计算相似性 151
5.5 TF-IDF 模型 .153
5.5.1 利用TfidfTransformer 优化文档向量 .153
5.5.2 介绍ABC 数据集 .154
5.5.3 案例:降低特征维度 156
5.5.4 案例:通过具体化改进特征 159
5.5.5 案例:使用词元向量化文本 159
5.5.6 案例:限定单词类型 160
5.5.7 案例:删除最常见的单词 161
5.5.8 案例:通过n 元语法添加上下文 .162
5.6 ABC 数据集的句法相似性 .164
5.6.1 案例:查找与杜撰的标题最相似的标题 164
5.6.2 案例:查找大型语料库中最相似的两个文档 .165
5.6.3 案例:查找相关词 169
5.6.4 有关语法相似性分析等运行时间较长的程序的提示 .171
5.7 小结 171
第6 章 文本分类算法 173
6.1 本章内容概要 174
6.2 Java 开发工具错误数据集介绍 174
6.3 案例:构建文本分类系统 178
6.3.1 第一步:准备数据 180
6.3.2 第二步:分割训练与测试数据集 .181
6.3.3 第三步:训练机器学习模型 183
6.3.4 第四步:模型评估 186
6.4 文本分类的最终解决方案 193
6.5 案例:利用交叉验证来评估实际的准确率 196
6.6 案例:通过网格搜索微调超参数 198
6.7 案例回顾与小结 .200
6.8 小结 204
6.9 补充阅读 .204
第7 章 解释文本分类器 . 207
7.1 本章内容概要 208
7.2 案例:使用预测概率确定分类置信度 .208
7.3 案例:衡量预测模型中特征的重要性 .213
7.4 案例:使用LIME 解释分类结果217
7.5 案例:使用ELI5 介绍分类结果 .223
7.6 案例:使用Anchor 解释分类结果 226
7.6.1 使用遮盖后的单词分布 .226
7.6.2 使用实际的单词 229
7.7 小结 231
第8 章 非监督学习:主题建模与聚类 233
8.1 本章内容概要 234
8.2 数据集:联合国一般性辩论 .234
8.2.1 查看语料库的统计信息 .234
8.2.2 准备工作236
8.3 非负矩阵分解(NMF) 237
8.3.1 案例:使用NMF 创建文档的主题模型 238
8.3.2 案例:使用NMF 创建段落的主题模型 240
8.4 潜在语义分析/ 索引 .241
8.5 隐含狄利克雷分布 .245
8.5.1 案例:使用LDA 生成段落的主题模型 .245
8.5.2 案例:可视化LDA 的结果 .247
8.6 案例:使用词云来展示和比较主题模型 248
8.7 案例:计算文档的主题分布以及随时间的变化 .252
8.8 Gensim 主题建模 254
8.8.1 案例:Gensim 的数据准备 254
8.8.2 案例:利用Gensim 执行非负矩阵分解 255
8.8.3 案例:利用Gensim 执行LDA 256
8.8.4 案例:计算连贯分数 257
8.8.5 案例:最佳主题数量 259
8.8.6 案例:使用Gensim 创建层次狄利克雷过程 261
8.9 案例:使用聚集来挖掘文本数据的结构 263
8.10 进一步的想法 267
8.11 建议 267
8.12 小结 267
第9 章 文本摘要 269
9.1 本章内容概要 269
9.2 文本摘要 .269
9.2.1 提取式摘要 271
9.2.2 数据的预处理 .271
9.3 案例:通过主题表示提取文本的摘要 .272
9.3.1 通过TF-IDF 识别重要的单词 273
9.3.2 LSA 算法 274
9.4 案例:通过指示表示总结文本 277
9.5 测量文本摘要方法的表现 282
9.6 案例:使用机器学习生成文本摘要 285
9.6.1 第一步:创建目标标签 .286
9.6.2 第二步:添加特征来辅助模型预测.289
9.6.3 第三步:构建机器学习模型 290
9.7 小结 292
9.8 补充阅读 .293
第10 章 通过单词嵌入探索语义关系 . 295
10.1 本章内容概要 295
10.2 语义嵌入 296
10.2.1 单词嵌入 .297
10.2.2 单词嵌入的类比推理 298
10.2.3 嵌入的类型 298
10.3 案例:预训练模型的相似性查询 301
10.3.1 加载预训练模型 .301
10.3.2 相似性查询 302
10.4 案例:训练与评估自己的嵌入 .305
10.4.1 数据准备 .306
10.4.2 案例:使用Gensim 训练模型 .309
10.4.3 案例:评估不同的模型 310
10.5 案例:可视化嵌入 313
10.5.1 案例:降维 314
10.5.2 案例:使用TensorFlow 的嵌入投影 318
10.5.3 案例:构建相似树 .319
10.6 小结 322
10.7 补充阅读 323
第11 章 文本数据的情感分析 325
11.1 本章内容概要 326
11.2 情感分析 326
11.3 亚马逊客户评论数据集.327
11.4 案例:基于词典的情感分析 329
11.4.1 Bing Liu lexicon 330
11.4.2 基于词典的方法的缺点 332
11.5 监督学习方法 333
11.6 案例:向量化文本数据并应用监督机器学习算法334
11.6.1 第一步:数据准备 .334
11.6.2 第二步:分割训练数据集与测试数据集 335
11.6.3 第三步:文本向量化 335
11.6.4 第四步:训练机器学习模型 .336
11.7 深度学习的预训练语言模型 338
11.8 案例:迁移学习技术与预训练语言模型 .340
11.8.1 第一步:加载模型与分词 341
11.8.2 第二步:训练模型 .345
11.8.3 第三步:模型评估 .349
11.9 小结 351
11.10 补充阅读 351
第12 章 知识图谱 . 353
12.1 本章内容概要 354
12.2 知识图谱 354
12.3 数据集简介 .356
12.4 识别命名实体 357
12.4.1 案例:基于规则的命名实体识别 360
12.4.2 案例:规范化命名实体 361
12.4.3 合并实体词语 363
12.5 共指消解 363
12.5.1 案例:spaCy 的词语扩展 365
12.5.2 案例:别名消解 .366
12.5.3 案例:消解名称的多样性367
12.5.4 案例:利用NeuralCoref 执行回指消解 369
12.5.5 命名规范化 372
12.5.6 实体链接 .373
12.6 案例:创建共现图 374
12.6.1 从文档中提取共现 .375
12.6.2 使用Gephi 可视化共现图 377
12.7 关系提取 378
12.7.1 案例:通过短语匹配提取关系 378
12.7.2 案例:使用依存树提取关系 .381
12.8 创建知识图 .385
12.9 小结 388
12.10 补充阅读 389
第13 章 文本分析的生产应用 391
13.1 本章内容概要 391
13.2 利用Conda 创建可复制的Python 环境 392
13.3 案例:通过容器创建可复制的环境 396
13.4 案例:创建文本分析模型的REST API 404
13.5 案例:通过云服务部署和扩展API 411
13.6 案例:版本自动升级与自动部署构建 416
13.7 小结 420
13.8 补充阅读 421
猜您喜欢

读书导航