自然语言处理顶级书籍

自然语言处理,简称NLP,是研究用于处理语音和文本数据的计算方法。

该领域以统计范式为主,并使用机器学习方法来开发预测模型。

在这篇文章中,您将发现入门自然语言处理的顶级书籍。

阅读本文后,你将了解:

  • 实用自然语言处理的顶级书籍。
  • 自然语言处理理论基础的顶级教材。
  • 我书架上的NLP书籍。

用我新书《深度学习在自然语言处理中的应用》启动您的项目,其中包括分步教程和所有示例的Python源代码文件。

让我们开始吧。

自然语言处理的实用顶级书籍

作为从业者,我们在开始一项新主题时不必总是去翻阅教科书。

书中的代码示例是Python编程语言。

虽然NLP的实用书籍比教材少,但我已尽力挑选出有助于您入门并将NLP方法应用于您的机器学习项目的3本顶级书籍。

1. 《Python自然语言处理》

作者:Steven BirdEwan KleinEdward Loper

Natural Language Processing with Python

《Python自然语言处理》

这本书为从业者提供了使用Python堆栈入门NLP的介绍。

本书重点介绍了使用NLTK Python库,该库在常见的NLP任务中非常受欢迎。

内容包括

  1. 语言处理与Python
  2. 访问文本语料库和词汇资源
  3. 处理原始文本
  4. 编写结构化程序
  5. 分类和标记词语
  6. 学习文本分类
  7. 从文本中提取信息
  8. 分析句子结构
  9. 构建基于特征的语法
  10. 分析句子含义
  11. 管理语言数据

如果您想使用主流的NLTK平台来学习经典的NLP,这本书非常适合。

资源

2. 《驯服文本》

这本书介绍了各种NLP工具和问题,例如Apache SolrApache OpenNLPApache Mahout

Taming Text

《驯服文本》

代码示例为Java。

它可能更适合那些在工作中需要使用大型企业级NLP工具的开发人员。

作者:Grant IngersollThomas MortonDrew Farris

值得注意的是,Grant Ingersoll是Apache Mahout项目的联合创始人。

内容包括

  1. 开始驯服文本
  2. 驯服文本基础
  3. 搜索
  4. 模糊字符串匹配
  5. 识别人物、地点和事物
  6. 文本聚类
  7. 分类、归类和标记
  8. 构建示例问答系统
  9. 驯服文本:探索下一个前沿

资源

需要深度学习处理文本数据的帮助吗?

立即参加我的免费7天电子邮件速成课程(附代码)。

点击注册,同时获得该课程的免费PDF电子书版本。

3. 《R语言文本挖掘》

作者:Julia SilgeDavid Robinson

Text Mining with R

《R语言文本挖掘》

本书在各种现代应用中演示了统计自然语言处理方法。

代码示例为R语言。

代码侧重于Hadley Wickham的“tidy”原则(论文)和作者编写的tidytext包。

在这三本书中,这是出版时间最新的一本,并且演示更具实用性和现代感。

内容包括

  1. 整洁文本格式
  2. 使用整洁数据进行情感分析
  3. 分析词语和文档频率:tf-idf
  4. 词语关系:N-grams和相关性
  5. 转换为整洁格式和从整洁格式转换
  6. 主题建模
  7. 案例研究:比较Twitter档案
  8. 案例研究:挖掘NASA元数据
  9. 案例研究:分析Usenet文本

资源

您知道其他优秀的实用NLP书籍吗?
请在评论中告诉我。

自然语言处理顶级教材

自然语言处理和特定子主题的教材有很多。

在本节中,我试图重点介绍我认为(以及大众普遍认为)最适合初学者,例如本科生或研究生以及希望深入理论的从业者的书籍。

我试图挑选一些通用的NLP书籍,以及一些关于翻译和语音等热门主题的书籍。

本节的前两本书是NLP学生的必读经典。

1. 《统计自然语言处理基础》

作者:Christopher ManningHinrich Schütze

Foundations of Statistical Natural Language Processing

统计自然语言处理基础

值得注意的是,Christopher Manning在斯坦福大学教授NLP,并且是CS224n:NLP深度学习课程的负责人。

本书提供了统计方法在自然语言处理中的入门介绍,涵盖了所需的语言学知识和较新的(当时,约1999年)统计方法。

这本书为更好地理解较新的方法和编码提供了坚实的基础。

内容包括

  1. 引言
  2. 数学基础
  3. 语言学要点
  4. 语料库研究
  5. 词组搭配
  6. 统计推断:稀疏数据上的n-gram模型
  7. 词义消歧
  8. 词汇获取
  9. 马尔可夫模型
  10. 词性标注
  11. 概率上下文无关文法
  12. 概率解析
  13. 统计对齐与机器翻译
  14. 聚类
  15. 信息检索专题
  16. 文本分类

资源

2. 《语音与语言处理》

作者:Daniel JurafskyJames Martin

Speech and Language Processing

《语音与语言处理》

本书从语音和文本两个角度介绍了NLP,并重点关注应用(每章一个)。

内容涵盖广泛。

内容包括

  1. 引言
  2. 正则表达式和自动机
  3. 词语和转换器
  4. N-grams
  5. 词性标注
  6. 隐马尔可夫模型和最大熵模型
  7. 语音学
  8. 语音合成
  9. 自动语音识别
  10. 语音识别:高级主题
  11. 计算语音学
  12. 英语形式语法
  13. 句法分析
  14. 统计分析
  15. 特征与合一
  16. 语言与复杂性
  17. 意义的表示
  18. 计算语义学
  19. 词汇语义学
  20. 计算词汇语义学
  21. 计算语篇
  22. 信息提取
  23. 问答与摘要
  24. 对话与会话代理
  25. 机器翻译

资源

4. 《统计机器翻译》

作者:Philipp Koehn

Statistical Machine Translation

统计机器翻译

本书介绍了统计机器翻译这一NLP子领域。

内容包括

  1. 引言
  2. 词语、句子、语料
  3. 概率论
  4. 基于词的模型
  5. 基于短语的模型
  6. 解码
  7. 语言模型
  8. 评估 (Evaluation)
  9. 判别式训练
  10. 整合语言学信息
  11. 基于树的方法

资源

5. 《语音识别统计方法》

作者:Frederick Jelinek

Statistical Methods for Speech Recognition

《语音识别统计方法》

本书介绍了统计语音识别的主题,这是NLP的另一个子领域,在20世纪90年代被统计方法彻底革新。

内容包括

  1. 语音识别问题
  2. 隐马尔可夫模型
  3. 声学模型
  4. 基本语言模型
  5. 维特比搜索
  6. 树上假设搜索和快速匹配
  7. 信息论要素
  8. 任务的复杂性 – 语言模型的质量
  9. 期望最大化算法及其后果
  10. 决策树和树语言模型
  11. 从拼写到语音:拼写到基式的映射
  12. 三音素和同音位
  13. 最大熵概率估计和语言模型
  14. 最大熵估计在语言建模中的应用
  15. 从计数估计概率和回退法

资源

我拥有的NLP书籍

我喜欢在书架上同时放实用性和参考类书籍。

NLP的难点(对我而言)在于子问题数量庞大,以及所使用的专业术语和理论。

因此,我书架上有以下3本NLP教材

我也很喜欢

我建议您根据自己的需求或项目选择合适的NLP书籍。

请告诉我您选择了或拥有哪些书籍。
请在下方留言。

进一步阅读

如果您想深入了解此主题,本节提供了更多资源。

顶级NLP书籍

Quora

总结

在这篇文章中,您了解了自然语言处理的顶级书籍。

具体来说,你学到了:

  • 实用自然语言处理的顶级书籍。
  • 自然语言处理理论基础的顶级教材
  • 我书架上的NLP书籍。

你有什么问题吗?
在下面的评论中提出你的问题,我会尽力回答。

立即开发文本数据的深度学习模型!

Deep Learning for Natural Language Processing

在几分钟内开发您自己的文本模型

...只需几行python代码

在我的新电子书中探索如何实现
用于自然语言处理的深度学习

它提供关于以下主题的自学教程
词袋模型、词嵌入、语言模型、标题生成、文本翻译等等...

最终将深度学习应用于您的自然语言处理项目

跳过学术理论。只看结果。

查看内容

35条回复“NLP顶级书籍”

  1. Redentor Del Rosario 2017年9月8日上午5:29 #

    如果有模拟器来做这个,并且包含指南和所有命令行会更好。

  2. Jaime B. Allen 2017年9月8日上午5:31 #

    《Python自然语言处理》无疑是我在这个领域的第一本书。此外,我最近还看了Springer出版的《Python文本分析》(http://www.springer.com/us/book/9781484223871),这本书深入介绍了文本处理和挖掘的核心概念,提供了大量的代码片段/实践示例。好的一点是,作者已在GitHub上开源了全部源代码(https://github.com/dipanjanS/text-analytics-with-python

  3. BL 2017年9月8日上午9:17 #

    嗨,Jason
    您对spaCy、NLTK、TextBlob和CoreNLP有什么经验/评论吗?谢谢。

    • Jason Brownlee 2017年9月9日上午11:48 #

      我有一些关于这些主题的帖子即将发布。

      总的来说,我使用NLTK进行数据预处理,并使用Keras自己构建模型,而不是spaCy。

  4. Overflow012 2017年9月12日凌晨12:43 #

    Jason您好!感谢您的帖子。我有一个问题……“Python自然语言处理”免费版和“Python自然语言处理:使用自然语言工具包分析文本”之间有什么区别?

  5. Tim 2017年9月15日晚上11:52 #

    您怎么看待这本书?
    http://ciml.info/

    • Jason Brownlee 2017年9月16日早上8:41 #

      我没读过,抱歉 Tim。你觉得怎么样?

      • Tim 2017年9月22日晚上7:26 #

        我也没读过。但它是出自一位相当有名的计算语言学家之手,而且也是免费提供的,所以我想它可能值得关注。它似乎在数学方面比较深入,但这只是我粗略浏览了一下,可能不准确。

  6. Irfan 2017年9月26日晚上10:54 #

    你好 Jason,

    您提到的所有书籍都没有使用用C++开发的库,或者面向C++开发人员。您能否推荐一个类似于NLTK但用C++开发并面向C++开发人员的库?关于一本面向C++开发人员的书籍的信息也会很受欢迎。
    非常感谢您的回复。

  7. Franco 2018年1月30日早上8:05 #

    我拥有几本NLP书籍,但我最喜欢的NLP书是Jason Brownlee的“DL for NLP”:)

    为什么?
    – 我喜欢数学,但它对我构建应用深度学习模型没有帮助。
    – 我喜欢理论,但它有点拖慢我的速度。
    – 我是一名工程师;我喜欢构建(模型)。

    对我来说,Jason专注于构建深度学习模型最重要的方面:代码,代码,代码……。

  8. Harish Yadav 2018年3月3日晚上8:39 #

    我想做一个文本到语音的项目…你能给我一些参考书籍、视频或代码吗?

  9. Corey 2018年7月30日早上7:27 #

    我知道文本会很快过时。根据您在亚马逊上NLP的顶级参考资料,我看到了《Python应用文本分析》。它很新。有什么看法吗?

    https://www.amazon.com/Applied-Text-Analysis-Python-Language-Aware/dp/1491963042/ref=zg_bs_271581011_4?_encoding=UTF8&psc=1&refRID=PDSJSPFCWQH6N41N9RGK

  10. Tenzin Bhotia 2018年8月5日下午2:04 #

    如果我的项目是关于使用Python和深度学习进行文本摘要,您会推荐哪本书?

  11. Happy Buzaaba 2018年8月7日下午2:38 #

    感谢 Jason 的推荐!如果我的项目是关于使用Python进行问答,您会推荐哪本书?

    • Jason Brownlee 2018年8月8日早上6:14 #

      我认为没有专门针对该主题的书籍,也许可以尝试一本通用的NLP入门书籍?

  12. John 2018年9月19日晚上6:19 #

    Jason您好 – 希望您能帮我指明方向。我对NLP是新手,并一直在使用NLTK库学习。但是,我真正想理解的是如何解析句子来提取含义 – 例如,软件使用条款中规定用户可以执行X,禁止执行Y,或者在获得许可的情况下可以执行Z。
    市面上有哪些好的工具可以帮助我做到这一点?您能指引我进一步了解吗?

  13. Aqsa Zafar 2020年6月20日下午4:49 #

    非常有帮助,列出的书籍也很棒。
    感谢您提供如此有信息量的帖子。

    我想提供一些额外的NLP书籍。
    https://www.mltut.com/best-books-for-natural-language-processing-you-should-read/

    • Jason Brownlee 2020年6月21日早上6:19 #

      感谢分享。

    • Flavio Mosafi 2022年5月11日凌晨12:51 #

      很棒 Aqza,谢谢!

  14. Arnold 2022年2月18日早上3:01 #

    这是一个非常复杂的领域。我很欣赏您的推荐 – 您是一个值得信赖的来源!

    • James Carmichael 2022年2月18日中午12:48 #

      Arnold,不客气!

  15. Stan Jaromin 2024年9月6日早上7:55 #

    不错的藏书。尤其是Python的书。

    • James Carmichael 2024年9月7日早上8:10 #

      谢谢 Stan 的反馈!我们非常感激!

发表回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。