新書推薦:
《
8秒按压告别疼痛
》
售價:NT$
398.0
《
津巴多时间心理学:挣脱束缚、改写命运的6种时间观
》
售價:NT$
352.0
《
大英博物馆东南亚简史
》
售價:NT$
806.0
《
纯粹·我只要少许
》
售價:NT$
367.0
《
经济史的趣味(全新增订版)(经济史与思想史丛书)
》
售價:NT$
383.0
《
中国古代鬼神录
》
售價:NT$
866.0
《
投机苦旅:一位投机客的凤凰涅槃
》
售價:NT$
403.0
《
重返马赛渔场:社会规范与私人治理的局限
》
售價:NT$
316.0
|
編輯推薦: |
将文本转换成有价值的信息是企业寻求竞争优势的关键。随着近年来自然语言处理(NLP)的发展,如今用户可以通过各种方式来解决复杂的难题。但用户不清楚选择何种NLP工具或库才能满足业务需求,他们不知道应该使用何种技术以及按照怎样的顺序使用这些技术。
这本实战手册为数据科学家和开发人员提供了文本分析与自然语言处理中常见任务的最佳实践解决方案。书中介绍了各种Python真实案例研究,并提供了详细的代码示例,可以帮助你快速入门。
|
內容簡介: |
提取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
|
內容試閱:
|
前言文字蕴涵了强大的力量。古老的苏美尔人发明了世界上最早的文字,而古登堡(欧洲活字印刷术发明人)印刷术的发明则极大地推进了文字知识的传播与全世界的启蒙运动。语言对人的思维方式的影响很大,人类学家认为我们的综合推理能力的发展离不开语言的发展。通过文本形式表现出来的语言能够捕捉到人类的大部分思维、行为和动作,而我们的生活也越来越离不开文本。我们通过电子邮件与同事交流,通过聊天工具与朋友和家人沟通,通过各种社交媒体工具与其他人分享我们的热情。领导者通过演讲(文字形式的记录)来激励人们,研究人员通过发表论文来传达他们的发现,公司通过财务报表汇报运营状况。就连本书也是通过文本来传播知识。分析与理解文本可以帮助我们获取知识,并做出决策。文本分析实际上就是通过编写计算机程序,分析以文本形式呈现的大量信息。在购买商品或选择餐馆的时候,我们会参考顾客的评价。而公司则可以利用这些评价来改进自己的产品或服务。出版商可以在出版某个与编程语言相关的书籍之前,通过分析网上的讨论来评估该语言的需求。与其他类型的数据相比,计算机理解文本的难度更大。虽然我们有语法规则以及构成句子的准则,但通常人们不会严格遵守这些规则,而且文本对上下文的依赖非常严重。即使文本的语法都很正确,计算机也很难正确地解释文本的含义。即使是表达相同的想法,人们在发推文时选择的单词与写电子邮件大不相同。随着近年来统计技术与机器学习算法的发展,我们终于能够克服许多困难,从文本数据中获取价值。以前的模型只能统计单词的出现频率,而如今的新模型则能够更好地捕获文本的语义。不过,即使是简单的模型,在许多业务需求中也有非常好的表现。举个例子,我们的一位客户是一家家电制造商,他们通过分析产品评论掌握了影响客户购买产品的关键信息,并根据这些信息调整了营销策略。再举一个例子,一家电子商务零售商使用深度神经网络对客户咨询进行了分类,并将他们分配给正确的部门,以更快地为客户解决问题。分析科学期刊的文摘能够帮助研发公司发现新材料的趋势,并相应地调整研究方向。时装公司通过分析社交网络中的帖子来发现客户群的大型话题。我们希望通过本书将我们从这些项目(以及其他项目)中积累的经验转化成一个个案例,供各位读者参考。本书的主要内容本书主要面向数据科学家与开发人员,帮助他们快速入门文本分析与自然语言处理。本书的重点在于开发实践解决方案,希望能够帮助你解决日常业务的需求。对于案例,我们的定义是常见问题的最佳实践解决方案。这些案例都是模板,可供你复制和重复使用。在各个案例中,我们使用了数据分析、自然语言处理和机器学习方面的Python 框架。除此之外,我们还介绍了基础模型和算法。我们不要求任何有关自然语言处理领域的前提知识,本书会介绍必要的背景知识,帮助你快速入门。在每章中,我们会针对具体任务介绍和讨论多个不同的解决方案及其潜在的优势和劣势。因此,你不仅可以了解如何解决某个问题,而且还可以获得一整套现成的解决方案,你可以在此基础之上,根据自己的数据和需求进行定制。本书共13 章,每一章都提供了一个文本分析特定方面的案例(见表1)。我们会根据示例数据集,逐步开发和解释案例。表1:章节概述章节 数据集 库第1 章,洞悉文本数据。 联合国一般性辩论 Pandas,Regex文本数据的统计探索第2 章,利用API 提取文本。 GitHub、推特和维基百科API Requests,Tweepy使用不同的Python 模块从流行的API 提取数据第3 章,网页抓取与数据提取。 路透社网站 Requests,Beautiful使用Python 库下载网页并提取内容 Soup,Readabilitylxml,Scrapy表1:章节概述(续)章节 数据集 库第4 章,准备统计和机器学习的文本数据。 Reddit 的帖子 Regex,spaCy介绍数据清理和语言处理第5 章,特征工程与句法相似性。 来自ABC 新闻的一百万条 scikit-learn,NumPy介绍特征与向量化 标题第6 章,文本分类算法。 Java 开发工具的错误报告 scikit-learn使用机器学习算法对软件错误进行分类第7 章,解释分本分类器。 Java 开发工具的错误报告 scikit-learn,Lime,解释模型,并对结果进行分类 Anchor,ELI5第8 章,非监督学习:主题建模与聚类。 联合国一般性辩论 scikit-learn,Gensim使用非监督学习方法获得无偏差的文本洞察第9 章,文本摘要。 路透社新闻,旅游论坛讨论 Sumy,scikit-learn使用基于规则和基于机器学习的算法,创建新闻和论坛文章的摘要第10 章,通过单词嵌入探索语义关系。 Reddit 的帖子 Gensim使用单词嵌入探索并可视化特定数据集中的语义相似性第11 章,文本数据的情感分析。 亚马逊商品评价 Transformers,scikit-分析亚马逊商品评价中的客户情感 learn,NLTK第12 章,知识图谱。 关于收购与并购的路透社新闻 spaCy使用预训练的模型和自定义的规则,提取命名实体和它们之间的关系第13 章,文本分析的生产应用。 FastAPI,Docker,在谷歌云平台上部署情感分析解决方案 conda,Kubernetes,的API,并考虑伸缩问题gcloud我们挑选的主题包含了日常文本分析工作中最常见的各类问题,常见的任务包括数据收集、统计数据探索,以及使用监督机器学习与非监督机器学习。涉及的业务问题既有内容分析(“人们在谈论什么?”),也有自动文本分类。前提知识通过本书的学习,你将了解如何使用Python 生态系统有效地解决文本分析问题。我们将详细地解释涉及文本分析和机器学习的所有概念,但你应该对Python 有基本的了解,包括Pandas 之类的基本库。此外,你还需要熟悉Jupyter Notebook,这样就可以在阅读本书时尝试书中的代码了。如果你不具备这些知识,则请参考learnpython.org、docs.python.org 或DataCamp(https://oreil.ly/oB-eH)上的教程。尽管我们会解释书中所用算法的基本概念,但我们不会深入细节。即便你不太明白这些算法背后的数学知识,也可以读懂书中的示例,并使用书中的代码。但拥有大学水平的线性代数以及统计学的基本知识会非常有帮助。本书涉及的主要工具库每个数据分析项目都需要从数据探索与数据处理着手。Pandas(https://pandas.pydata.org)无疑是这方面最流行的Python 库。Pandas 提供了丰富的功能,可用于访问、转换、分析与可视化数据。如果你从未接触过该库,那么我们建议你在阅读本书之前,先行学习官方的入门教程“十分钟入门Pandas”(https://oreil.ly/eWlId),或者你也可以尝试网上其他的免费教程。多年以来,scikit-learn(https://scikit-learn.org)一直是常用的Python 机器学习工具包。该库实现了多种监督机器学习和非监督机器学习的算法,而且还提供了许多数据预处理的功能。本书中的许多章节都利用scikitlearn 将文本转换为数值向量,然后进行文本分类。然而,在深度神经模型方面,PyTorch 与TensorFlow 等框架明显比scikit-learn 更胜一筹。但是,我们不打算直接使用这些库,我们在第11 章使用了Hugging Face 的Transformers 库(https://oreil.ly/f5Ped)进行情感分析。自BERT 注1 发布以来,基于transformer 的模型在需要理解文本含义的任务处理上已经超越了之前的各种方法,而且Transformers 库提供了非常易于访问的预训练模型。spaCy 是我们最喜欢的自然语言处理库。自2016 年第一版发布以来,spaCy 的用户数量一直在增长。尽管这是一个开源库,但主要由Explosion 公司(https://explosion.ai)负责开发。他们提供了多种语言的词性标记、依赖解析与命名实体识别方面的预训练神经语言模型。本书案例的开发使用了spaCy 2.3.2 版,尤其是在数据准备(第4 章)和知识提取(第12 章)方面。在本书发行之际,spaCy 3.0 推出了全新的基于transformer 的模型,而且支持PyTorch 和TensorFlow 的自定义模型以及定义端到端工作流的模板。我们还用到了另一个自然语言处理库Gensim(https://oreil.ly/YJ4Pz),该库由Radim ?eh??ek 负责维护。Gensim 侧重于语义分析,而且还提供了学习主题模型(第8 章)和单词嵌入(第10 章)所需的所有功能。自然语言处理方面的库还有很多,它们都有各自的用途,本书会做简单的介绍,其中包括NLTK(功能丰富的老牌Python 自然语言处理库)、TextBlob(易于上手)、斯坦福大学的Stanza 和CoreNLP,还有Flair(最先进的高级模型)。我们无法仅通过本书介绍所有的库,但我们会选择介绍一些我们认为效果最好的库。推荐书单本书侧重于实际的解决方案,如果你想深入细节或了解本书未能涵盖的主题,则可以参考一些其他的书籍。以下是我们推荐阅读的书单:《Practical Natural Language Processing》,作者:Sowmya Vajjala,Bodhisattwa Majumder,Anuj Gupta 与Harshit Surana(O’Reilly 出版,2020 年),ISBN978-1-492-05405-4。《Natural Language Processing in Action》,作者:Hobson Lane,Cole Howard 与Hannes Hapke(Manning Publications 出版,2019 年),ISBN 978-1-617-29463-1。《Mining the Social Web, 3rd Edition》,作者:Matthew A. Russell 与Mikhail Klassen(O’Reilly 出版,2019 年),ISBN 978-1-491-98504-5。《Applied Text Analysis with Python》,作者:Benjamin Bengfort,Rebecca Bilbro与Tony Ojeda(O’Reilly 出版,2018 年),ISBN 978-1-491-96304-3。《Python for Data Analysis, 2nd Edition》,作者:Wes McKinney(O’Reilly,2017 年),ISBN 978-1-491-95766-0。排版约定本书使用了下述排版约定。斜体(Italic)表示新术语、URL、电子邮件地址、文件名和扩展名。等宽字体(Constant Width)表示程序片段,以及正文中出现的变量、函数名、数据库、数据类型、环境变量、语句和关键字等。加粗等宽字体(constant width bold)表示应该由用户输入的命令或其他文本。等宽斜体(constant width italic)表示应该由用户输入的值或根据上下文确定的值替换的文本。使用代码示例本书提供的案例可供读者自由使用。因此,我们通过GitHub 存储库提供了本书所有的代码:https://oreil.ly/btap-code。本书的每个章节都提供了可执行的Jupyter notebook 代码,可能有一些附加的函数或案例被省略了。此外,本书的GitHub 存储库还提供了必要的数据集以及额外的信息。最简单的运行notebook 的方式是使用谷歌的机器学习公共云平台:Google Colab(https://oreil.ly/colab)。你甚至不需要在本地计算机上安装Python,只需单击GitHub 上相应章节的Colab 链接(但是需要谷歌账号)。但是,我们还在GitHub存储库中添加了有关设置(虚拟)Python 环境的说明。我们设计的Jupyter notebook既可以在本地上运行,也可以在Google Colab 上运行。本书所使用的库、数据和网页都在不断变化。因此,即便你一字不差地复制本书中的代码,也可能会出现无法正常运行的情况。为了解决这个问题,我们会努力保持存储库的更新。如果你发现任何技术问题或改进代码的建议,请随时在存储库内创建议题,并发送拉取请求给我们。如果你对本书代码示例的使用有任何技术问题或困难, 请发送电子邮件到bookquestions@oreilly.com。如果遇到技术问题,我们建议你在GitHub 存储库内创建议题(https://oreil.ly/ApUgF),有关书中的错误请参阅参阅O’Reilly 的勘误页面。本书的目的是帮助你完成工作。一般来说,你可以在自己的程序或者文档中使用本书附带的示例代码。你无需联系我们获得使用许可,除非你要复制大量的代码。例如,使用本书中的多个代码片段编写程序就无需获得许可。但以CD-ROM 的形式销售或者分发O’Reilly 书中的示例代码则需要获得许可。回答问题时援引本书内容以及书中示例代码,无需获得许可。在你自己的项目文档中使用本书大量的示例代码时,则需要获得许可。我们不强制要求署名,但如果你这么做,我们深表感激。署名一般包括书名、作者、出版社和国际标准图书编号。例如:“Blueprints for Text Analytics Using Python by Jens Albrecht, Sidharth Ramachandran, and Christian Winkler (O’Reilly, 2021), 978-1-492-07408-3”。如果你觉得自身情况不在合理使用或上述允许的范围内,请通过邮件和我们联系,地址是 permissions@oreilly.com。O’Reilly 在线学习平台(O’Reilly Online Learning)近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。公司独有的专家和改革创新者网络通过O’Reilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。O’Reilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自O’Reilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:https://www.oreilly.com/。联系我们任何有关本书的意见或疑问,请按照以下地址联系出版社。美国:O’Reilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中国:北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)奥莱利技术咨询(北京)有限公司本书有专属网页,你可以在那儿找到本书的勘误、示例和其他信息。地址是:https://oreil.ly/text-analytics-with-python。如果你对本书有一些评论或技术上的建议,请发送电子邮件到errata@oreilly.com.cn。要了解O’Reilly 的图书和培训课程的新闻和信息,请访问我们的网站,地址是:http://www.oreilly.com。我们的Facebook:http://facebook.com/oreilly。我们的Twitter:http://twitter.com/oreillymedia。我们的Youtube:http://www.youtube.com/oreillymedia。致谢创作书籍无论对作者本身还是家人和朋友来说都是一项挑战。我们明白这个过程需要付出大量的时间,但是在编写每个章节的时候,我们还是很惊讶居然花费了这么多时间。由于我们都有全职工作,因此我们牺牲掉了陪伴家人的时间来讨论本书的创作,编写相应的代码,并反复修改书中的内容。很荣幸此次能有机会与O’Reilly 合作。从最初的提案开始,在整个创作过程乃至到最后的出版,我们都很享受与众多专业人员的共事,他们的建议让我们受益匪浅。对我们来说,最紧张的工作莫过于各个章节的创作。在这段时间里,我们得到了编辑Amelia Blevins 的无私支持。本书得以付梓,我们非常感谢她的帮助。此外, 我们还要感谢审稿人Oliver Zeigermann、Benjamin Bock、Alexander Schneider 和Darren Cook。他们利用各自的专业知识,付出了大量时间,为我们提供了很多中肯的建议和意见,并发现了文本与代码中的一些错误。由于我们使用了各个库中的最新功能,因此有时会遇到各种问题或不兼容。我们采用了spaCy 作为分析的核心组件, Explosion 团队(Ines Montani,Sofie Van Landeghem 和Adriane Boyd)给予了非常积极的响应,与他们的合作非常愉快。他们针对spaCy 提供了非常有帮助性的评论。最后,我们还要感谢Burton DeWilde(textacy 背后的开发人员)帮忙检查了我们的部分代码。
|
|