基于Spark NLP的自然语言处理
Alex Thomas
唐晓, 胡乔林, 陈新 译
出版时间:2022年09月
页数:386
“这是一本写得很好的书,它将带你从语法和语言模型的基础知识开始,并利用当今可用的最佳深度学习和迁移学习技术,构建现实世界的生产级AI应用程序。”
——David Talby
John Snow 实验室CTO

如果你想构建一个使用自然语言文本的企业级应用程序,但不确定从哪里开始或使用什么工具,本书将帮助你入门。Wisecube的首席数据科学家Alex Thomas向软件工程师和数据科学家展示了如何使用深度学习和Apache Spark NLP库,来构建可扩展的自然语言处理(NLP)应用程序。
通过在Spark处理框架上使用NLP的具体示例、实践,进行理论解释和动手练习,本书将会介绍从基本语言学和写作系统到情感分析和搜索引擎的所有内容。你还将探索一些开发基于文本的应用程序会遇到的特殊问题,例如性能等。在下面四个部分中,你将学习NLP基础知识和构建模块,然后再深入研究应用程序和系统构建:
● 基础知识:了解自然语言处理、Apache Spark上的NLP和深度学习的基础知识。
● 构建模块:学习构建 NLP 应用程序的技术(包括标记化、句子分割和命名实体识别),并了解它们的工作方式和原因。
● 应用程序:探索构建你自己的NLP应用程序的设计、开发和实验过程。
● 构建NLP系统:考虑生产和部署NLP模型的选项,包括支持哪些人类语言。
  1. 前言
  2. 第一部分 基础知识
  3. 第1章 快速入门
  4. 1.1 简介
  5. 1.2 其他工具
  6. 1.3 建立你自己的开发环境
  7. 1.3.1 前置条件
  8. 1.3.2 启动Apache Spark
  9. 1.3.3 检查代码
  10. 1.4 熟悉Apache Spark
  11. 1.4.1 使用Spark NLP启动Apache Spark
  12. 1.4.2 在Apache Spark中加载和查看数据
  13. 1.5 Spark NLP的Hello World示例
  14. 第2章 自然语言基础知识
  15. 2.1 什么是自然语言
  16. 2.1.1 语言的起源
  17. 2.1.2 口头语言和书面语言
  18. 2.2 语言学
  19. 2.2.1 语音学和音系学
  20. 2.2.2 词法学(形态学)
  21. 2.2.3 语法
  22. 2.2.4 语义学
  23. 2.3 社会语言学:方言、语域和其他变体
  24. 2.3.1 礼节
  25. 2.3.2 语境
  26. 2.4 语用学
  27. 2.4.1 罗曼·雅各布森
  28. 2.4.2 如何运用语用学
  29. 2.5 书写系统
  30. 2.5.1 起源
  31. 2.5.2 字母
  32. 2.5.3 辅音音素文字
  33. 2.5.4 元音附标文字
  34. 2.5.5 音节表
  35. 2.5.6 标识象形符
  36. 2.6 编码
  37. 2.6.1 ASCII
  38. 2.6.2 Unicode
  39. 2.6.3 UTF-8
  40. 2.7 练习:分词
  41. 2.7.1 英语分词
  42. 2.7.2 希腊语分词
  43. 2.7.3 Ge'ez(阿姆哈拉语)分词
  44. 2.8 资源
  45. 第3章 Apache Spark上的NLP
  46. 3.1 并行性、并发性、分布式计算
  47. 3.1.1 Apache Hadoop之前的并行化
  48. 3.1.2 MapReduce和 Apache Hadoop
  49. 3.1.3 Apache Spark
  50. 3.2 Apache Spark架构
  51. 3.2.1 物理架构
  52. 3.2.2 逻辑架构
  53. 3.3 Spark SQL和Spark MLlib
  54. 3.3.1 Transformer(转换器)
  55. 3.3.2 评估器和模型
  56. 3.3.3 预测结果评估
  57. 3.4 NLP库
  58. 3.4.1 功能库
  59. 3.4.2 注释库
  60. 3.4.3 其他库中的自然语言处理功能
  61. 3.5 Spark NLP
  62. 3.5.1 注释库
  63. 3.5.2 阶段
  64. 3.5.3 预训练管道
  65. 3.5.4 Finisher
  66. 3.6 练习:构建主题模型
  67. 3.7 资源
  68. 第4章 深度学习基础知识
  69. 4.1 梯度下降
  70. 4.2 反向传播
  71. 4.3 卷积神经网络CNN
  72. 4.3.1 滤波器
  73. 4.3.2 池化
  74. 4.4 循环神经网络RNN
  75. 4.4.1 通过时间的反向传播
  76. 4.4.2 Elman网络
  77. 4.4.3 LSTM
  78. 4.5 练习1
  79. 4.6 练习2
  80. 4.7 资源
  81. 第二部分 构建模块
  82. 第5章 文字处理
  83. 5.1 分词
  84. 5.2 词表缩减
  85. 5.2.1 词干提取
  86. 5.2.2 词形还原
  87. 5.2.3 词干提取对比词形还原
  88. 5.2.4 拼写校对
  89. 5.2.5 标准化
  90. 5.3 bag-of-words模型
  91. 5.4 CountVectorizer
  92. 5.5 N-Gram
  93. 5.6 可视化:Word和文档分发
  94. 5.7 练习
  95. 5.8 资源
  96. 第6章 信息检索
  97. 6.1 倒排索引
  98. 6.2 向量空间模型
  99. 6.2.1 删除停用词
  100. 6.2.2 逆向文件频率
  101. 6.2.3 使用Spark
  102. 6.3 练习
  103. 6.4 资源
  104. 第7章 分类和回归
  105. 7.1 bag-of-word模型特征
  106. 7.2 正则表达式特征
  107. 7.3 特征选择
  108. 7.4 模型
  109. 7.4.1 朴素贝叶斯算法
  110. 7.4.2 线性模型
  111. 7.4.3 决策/回归树
  112. 7.4.4 深度学习算法
  113. 7.5 迭代
  114. 7.6 练习
  115. 第8章 使用Keras的序列模型
  116. 8.1 语句划分
  117. 8.2 段落划分
  118. 8.3 词性标注
  119. 8.4 条件随机场
  120. 8.5 分块和语法分析
  121. 8.6 语言模型
  122. 8.7 循环神经网络
  123. 8.8 练习:字符 N-Grams模型
  124. 8.9 练习:词义语言模型
  125. 8.10 资源
  126. 第9章 信息提取
  127. 9.1 命名实体识别
  128. 9.2 共指消解
  129. 9.3 断言状态检测
  130. 9.4 关系提取
  131. 9.5 小结
  132. 9.6 练习
  133. 第10章 主题建模
  134. 10.1 K-Means
  135. 10.2 潜在语义索引
  136. 10.3 非负矩阵分解
  137. 10.4 隐含狄利克雷分布模型
  138. 10.5 练习
  139. 第11章 词嵌入
  140. 11.1 Word2vec
  141. 11.2 GloVe
  142. 11.3 fastText
  143. 11.4 Transformer
  144. 11.5 ELMo、BERT和XLNet
  145. 11.6 Doc2vec
  146. 11.7 练习
  147. 第三部分 应用
  148. 第12章 情感分析与情绪检测
  149. 12.1 问题陈述与约束
  150. 12.2 规划项目
  151. 12.3 设计解决方案
  152. 12.4 实施解决方案
  153. 12.5 测试并衡量解决方案
  154. 12.5.1 业务指标
  155. 12.5.2 以模型为中心的指标
  156. 12.5.3 基础设施指标
  157. 12.5.4 过程指标
  158. 12.5.5 离线与在线模型测量
  159. 12.6 审查
  160. 12.6.1 初始部署
  161. 12.6.2 回退计划
  162. 12.6.3 下一步
  163. 12.7 结论
  164. 第13章 建立知识库
  165. 13.1 问题陈述与约束
  166. 13.2 规划项目
  167. 13.3 设计解决方案
  168. 13.4 实施解决方案
  169. 13.5 测试并衡量解决方案
  170. 13.5.1 业务指标
  171. 13.5.2 以模型为中心的指标
  172. 13.5.3 基础设施指标
  173. 13.5.4 过程指标
  174. 13.6 审查
  175. 13.7 结论
  176. 第14章 搜索引擎
  177. 14.1 问题陈述与约束
  178. 14.2 规划项目
  179. 14.3 设计解决方案
  180. 14.4 实施解决方案
  181. 14.5 测试并衡量解决方案
  182. 14.5.1 业务指标
  183. 14.5.2 以模型为中心的指标
  184. 14.6 审查
  185. 14.7 结论
  186. 第15章 聊天机器人
  187. 15.1 问题陈述与约束
  188. 15.2 规划项目
  189. 15.3 设计解决方案
  190. 15.4 实施解决方案
  191. 15.5 测试并衡量解决方案
  192. 15.5.1 业务指标
  193. 15.5.2 以模型为中心的指标
  194. 15.6 审查
  195. 15.7 结论
  196. 第16章 目标字符识别
  197. 16.1 OCR任务的种类
  198. 16.1.1 印刷文本的图像和PDF识别成文本
  199. 16.1.2 手写文本图像识别成文本
  200. 16.1.3 日常环境中的文本图像识别成文本
  201. 16.1.4 文本图像识别成目标
  202. 16.1.5 关于不同书写系统的说明
  203. 16.2 问题陈述与约束
  204. 16.3 规划项目
  205. 16.4 实施解决方案
  206. 16.5 测试并衡量解决方案
  207. 16.6 以模型为中心的指标
  208. 16.7 审查
  209. 16.8 结论
  210. 第四部分 构建NLP系统
  211. 第17章 支持多种语言
  212. 17.1 语言类型学
  213. 17.2 场景:学术论文分类
  214. 17.3 不同语言中的文本处理
  215. 17.3.1 合成词
  216. 17.3.2 形态复杂性
  217. 17.4 迁移学习与多语言深度学习
  218. 17.5 跨语种搜索
  219. 17.6 检查清单
  220. 17.7 结论
  221. 第18章 人工标注
  222. 18.1 指南
  223. 18.2 场景:学术论文分类
  224. 18.3 标注员内部一致性
  225. 18.4 标注迭代
  226. 18.5 标注文本
  227. 18.5.1 分类
  228. 18.5.2 标注
  229. 18.6 检查清单
  230. 18.7 结论
  231. 第19章 NLP应用程序的产品化
  232. 19.1 Spark NLP模型缓存
  233. 19.2 Spark NLP与TensorFlow集成
  234. 19.2.1 Spark优化基础
  235. 19.2.2 设计级优化
  236. 19.2.3 分析工具
  237. 19.2.4 监视
  238. 19.2.5 管理数据资源
  239. 19.2.6 测试基于NLP的应用程序
  240. 19.2.7 单元测试
  241. 19.2.8 集成测试
  242. 19.2.9 冒烟测试与健全测试
  243. 19.2.10 性能测试
  244. 19.2.11 可用性测试
  245. 19.2.12 演示基于NLP的应用程序
  246. 19.3 检查清单
  247. 19.3.1 模型部署清单
  248. 19.3.2 扩展和性能检查表
  249. 19.3.3 测试检查清单
  250. 19.4 结论
  251. 术语表
书名:基于Spark NLP的自然语言处理
作者:Alex Thomas
译者:唐晓, 胡乔林, 陈新 译
国内出版社:中国电力出版社
出版时间:2022年09月
页数:386
书号:978-7-5198-6967-0
原版书书名:Natural Language Processing with Spark NLP
原版书出版商:O'Reilly Media
Alex Thomas
 
Alex Thomas是Wisecube的首席数据科学家。他将自然语言处理和机器学习与临床数据、身份数据、雇主和求职者数据,以及现在的生物化学数据结合使用。Alex从Apache Spark 0.9版就开始使用,并使用过NLP库和框架,其中包括UIMA和OpenNLP。
 
 
本书封面上的动物是叫隼(学名:Milvago chimango),属于隼科的猛禽。
叫隼生活在南美洲灌木丛中,通常在水边,靠近城镇和田野。它们成群结队地生活,具有侵略性和领地意识。它们经常追逐较大的猛禽。
雄性和雌性叫隼都会筑巢并保护巢穴,孵化和喂养幼鸟。这些鸟吃昆虫、脊椎动物和腐肉,它们还可以在水面上捕鱼。
叫隼在其栖息地是比较常见的。O’Reilly封面上的许多动物濒临灭绝,所有这些对世界都很重要。
购买选项
定价:128.00元
书号:978-7-5198-6967-0
出版社:中国电力出版社