# 关于自然语言处理的热门书籍

> 原文： [https://machinelearningmastery.com/books-on-natural-language-processing/](https://machinelearningmastery.com/books-on-natural-language-processing/)

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

该领域由统计范例主导，机器学习方法用于开发预测模型。

在这篇文章中，您将发现可以阅读的顶级书籍，以便开始使用自然语言处理。

阅读这篇文章后，你会知道：

*   实用自然语言处理的顶级书籍。
*   自然语言处理理论基础的顶级教科书。
*   我在架子上的 NLP 书籍。

让我们开始吧。

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

作为从业者，我们并不总是在开始一个新主题时抓住一本教科书。

本书中的代码示例使用 Python 编程语言。

虽然 NLP 的实用书籍比教科书少，但我试图挑选前三本书，这些书籍将帮助您入门并将 NLP 方法引入您的机器学习项目。

### 1.使用 Python 进行自然语言处理

由 [Steven Bird](http://www.stevenbird.net/) ， [Ewan Klein](http://homepages.inf.ed.ac.uk/ewan/) 和 [Edward Loper](http://ed.loper.org/) 撰写。

[![Amazon Image](img/19f0f750991783bf68f45d8dd511f0b3.jpg)](http://www.amazon.com/dp/0596516495?tag=inspiredalgor-20)

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

本书侧重于使用 [NLTK Python 库](http://www.nltk.org/)，这对于常见的 NLP 任务非常流行。

内容包括：

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

如果您正在寻找使用首选 NLTK 平台进入经典 NLP 的话，这本书是完美的。

#### 资源

*   [使用 Python 进行自然语言处理：使用自然语言工具包分析文本](http://www.amazon.com/dp/0596516495?tag=inspiredalgor-20)（在亚马逊上）
*   [Python 自然语言处理](http://www.nltk.org/book/)（免费版）

### 2.驯服文字

本书介绍了一套不同的 NLP 工具和问题，例如 [Apache Solr](http://lucene.apache.org/solr/) ， [Apache OpenNLP](https://opennlp.apache.org/) 和 [Apache Mahout](http://mahout.apache.org/) 。

[![Amazon Image](img/ccdaa2c9afcb80ec5c71b6b4473bfff7.jpg)](http://www.amazon.com/dp/193398838X?tag=inspiredalgor-20)

代码示例使用 Java。

它可能更适合开发人员在工作项目中开始使用更大的企业级 NLP 工具。

由 [Grant Ingersoll](https://www.linkedin.com/in/grantingersoll/) ， [Thomas Morton](https://www.linkedin.com/in/tom-morton-5248552/) 和 [Drew Farris](https://www.linkedin.com/in/drewfarris/) 撰写。

值得注意的是，Grant Ingersoll 是 [Apache Mahout](http://mahout.apache.org/) 项目的联合创始人。

内容包括：

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

#### 资源

*   [驯服文本：如何查找，整理和操纵它](http://www.amazon.com/dp/193398838X?tag=inspiredalgor-20)（在亚马逊上）
*   [图书主页](http://www.tamingtext.com/)
*   [Book GitHub Repository](https://github.com/tamingtext/book) （代码和数据）

### 3.使用 R 进行文本挖掘

由 [Julia Silge](https://juliasilge.com/) 和 [David Robinson](http://varianceexplained.org/) 撰写。

[![Amazon Image](img/338ca6b828ebb63d55ae60c4e8b5d4be.jpg)](http://www.amazon.com/dp/1491981652?tag=inspiredalgor-20)

本书展示了一系列现代应用程序的统计自然语言处理方法。

代码示例在 R.

代码侧重于 Hadley Wickham（[论文](https://www.jstatsoft.org/article/view/v059i10)）的“`tidy`”原则和作者的 [tidytext](https://github.com/juliasilge/tidytext) 包。

在这三本书中，这是最近出版的，对演示有更实际和现代的感觉。

内容包括：

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

#### 资源

*   [采用 R 进行文本挖掘：一种整洁的方法](http://www.amazon.com/dp/1491981652?tag=inspiredalgor-20)（在亚马逊上）
*   [图书主页](http://tidytextmining.com/)（及免费预订）
*   [Book GitHub Repository](https://github.com/dgrtwo/tidy-text-mining) （代码和数据）

你知道其他关于自然语言处理的实用书吗？
请在评论中告诉我。

## 关于自然语言处理的顶级教科书

有大量关于自然语言处理和特定子主题的教科书。

在本节中，我试图关注我（和共识）似乎看到的关于初学者的主题的最佳书籍，例如：希望深入理论的本科生或研究生以及从业者。

我试图选择一般的 NLP 书籍以及关于翻译和演讲等高度研究的主题的书籍。

本节的前两本书基本上是 NLP 学生的大炮。

### 1.统计自然语言处理的基础

由 [Christopher Manning](https://nlp.stanford.edu/manning/) 和[HinrichSchütze](http://www.cis.uni-muenchen.de/schuetze/)撰写。

[![Amazon Image](img/293d2a3a7a81bb7ed6fe7bcdb882166e.jpg)](http://www.amazon.com/dp/0262133601?tag=inspiredalgor-20)

值得注意的是，克里斯托弗曼宁在斯坦福大学教授 NLP，并且支持 [CS224n：深度学习自然语言处理](http://web.stanford.edu/class/cs224n/)课程。

本书介绍了自然语言处理的统计方法，涵盖了所需的语言学和较新的（当时，大约 1999 年）统计方法。

本书为更好地掌握新方法和编码提供了坚实的基础。

内容包括：

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

#### 资源

*   [统计自然语言处理基础](http://www.amazon.com/dp/0262133601?tag=inspiredalgor-20)（亚马逊上）
*   [书籍主页](https://nlp.stanford.edu/fsnlp/promo/)

### 2.语音和语言处理

由 [Daniel Jurafsky](https://web.stanford.edu/~jurafsky/) 和 [James Martin](http://www.cs.colorado.edu/~martin/) 撰写。

[![Amazon Image](img/b92b7f11dd51704896a180129d8d3fbc.jpg)](http://www.amazon.com/dp/0131873210?tag=inspiredalgor-20)

本书从语音和文本的角度介绍了 NLP，重点关注应用程序（每章一章）。

该主题的报道感觉详尽无遗。

内容包括：

1.  介绍
2.  正则表达式和自动机
3.  单词和传感器
4.  N 元
5.  词性标注
6.  隐马尔可夫和最大熵模型
7.  语音
8.  语音合成
9.  自动语音识别
10.  语音识别：高级主题
11.  计算音韵学
12.  正式的英语语法
13.  句法分析
14.  统计分析
15.  特色与统一
16.  语言和复杂性
17.  意义的表征
18.  计算语义学
19.  词汇语义学
20.  计算词汇语义学
21.  计算话语
22.  信息提取
23.  问答以及总结
24.  对话和会话代理
25.  机器翻译

#### 资源

*   [语音和语言处理，第 2 版](http://www.amazon.com/dp/0131873210?tag=inspiredalgor-20)（亚马逊上）
*   [书籍主页](http://www.cs.colorado.edu/~martin/slp2.html)

### 4.统计机器翻译

由 [Philipp Koehn 撰写](http://www.cs.jhu.edu/~phi/)。

[![Amazon Image](img/092ba190b6edd38d8ce3841bf20af914.jpg)](http://www.amazon.com/dp/0521874157?tag=inspiredalgor-20)

本书介绍了统计机器翻译的主题，这是 NLP 的一个子领域。

内容包括：

1.  介绍
2.  单词，句子，科帕
3.  概率论
4.  基于单词的模型
5.  基于短语的模型
6.  解码
7.  语言模型
8.  评估
9.  判别训练
10.  整合语言信息
11.  基于树的方法

#### 资源

*   [统计机器翻译](http://www.amazon.com/dp/0521874157?tag=inspiredalgor-20)（亚马逊上）
*   [书籍主页](http://www.statmt.org/book/)

### 5.语音识别的统计方法

由 [Frederick Jelinek 撰写](https://www.clsp.jhu.edu/~jelinek/)。

[![Amazon Image](img/950499028e9afd43c6f0492f7a935db9.jpg)](http://www.amazon.com/dp/0262100665?tag=inspiredalgor-20)

本书介绍了统计语音识别的主题，这是 NLP 的另一个子领域，它在 20 世纪 90 年代通过统计方法进行了大修。

内容包括

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

#### 资源

*   [语音识别统计方法](http://www.amazon.com/dp/0262100665?tag=inspiredalgor-20)（亚马逊上）

## 我拥有的 NLP 书籍

我喜欢在架子上混合使用实用和参考文本。

NLP（对我而言）的难点在于大量的子问题和使用的专业术语和理论。

出于这个原因，我的架子上有以下 3 个 NLP 教科书：

*   [Python 自然语言处理：使用自然语言工具包分析文本](http://www.amazon.com/dp/0596516495?tag=inspiredalgor-20)
*   [统计自然语言处理基础](http://www.amazon.com/dp/0262133601?tag=inspiredalgor-20)
*   [自然语言处理中的神经网络方法](http://www.amazon.com/dp/1627052984?tag=inspiredalgor-20)（未在上面列出）

我也很喜欢这样的样子：

*   [牛津计算语言学手册](http://www.amazon.com/dp/019927634X?tag=inspiredalgor-20)（上未列出）

我建议您选择适合您和您的需求或项目的 NLP 书籍。

让我知道您选择或拥有哪些书籍。
在下面发表评论。

## 进一步阅读

如果您要深入了解，本节将提供有关该主题的更多资源。

### 顶级 NLP 书籍

*   [亚马逊上自然语言处理](http://amzn.to/2eGzVqF)的畅销书
*   [GoodReads 上的流行自然语言处理书籍](https://www.goodreads.com/shelf/show/natural-language-processing)

### Quora 的

*   [对 NLP 感兴趣的人必读的书有哪些？](https://www.quora.com/What-are-some-books-that-people-interested-in-NLP-must-read)
*   [NLP 最好的书籍是什么？](https://www.quora.com/What-are-the-best-books-on-NLP)
*   [什么是最好的自然语言处理教科书？](https://www.quora.com/What-is-the-best-Natural-Language-Processing-textbook-s)
*   [最佳 NLP 书籍](https://gistik.quora.com/Best-NLP-books)

## 摘要

在这篇文章中，您发现了有关自然语言处理的顶级书籍。

具体来说，你学到了：

*   实用自然语言处理的顶级书籍。
*   自然语言处理理论基础的顶级教科书
*   我在架子上的 NLP 书籍。

你有任何问题吗？
在下面的评论中提出您的问题，我会尽力回答。