自然语言处理必读:5本平衡理论与实践的书籍
当谈到学习方法时,我们常常会提到教程、博客文章、在线课程等等,书本总是会被忽略掉。即使是在找一本关于某个主题的书,也会很快发现这样的书太多了,无法快速判断哪一本最适合自己。
为了帮助你解决问题,我帮你选择5本关于自然语言处理的书,不像其他的书单,除了第一本之外,这些书都不是免费的,但事实证明它们是值得投资的,希望能对大家有所帮助。
1.应用Python进行自然语言处理(Natural Language Processing with Python)
本书由Steven Bird, Ewan Klein 和 Edward Loper编写,你可以从Python系统的角度学习自然语言处理的实用基础知识,更适合初学者。它也称为NLTK书籍,应用Python进行自然语言处理在整个过程中都很大程度上依赖于NLTK库。以下摘自这本书的序言:
“本书对NLP领域介绍通俗易懂。它可以用于个人学习,也可以作为自然语言处理或计算语言学课程的教科书,或者作为人工智能、文本挖掘或语料库语言学课程的补充。本书非常实用,包含数百个例子和分级练习。本书适合所有人,无论以前的编程经验如何,只要你想学如何编程并分析书面语言,就可以读它。”
如上所述,这本书绝对实用。虽然你肯定会在进行过程中得到概念解释,但毫无疑问,这本书的确是为那些希望用Python实现NLP解决方案的人而设计的。
2.使用PyTorch进行自然语言处理(NaturalLanguage Processing with PyTorch)
图源:unsplash
本书的作者是Delip Rao和Brian McMahan,其中并没有介绍NLP领域的传统技术,而是介绍了如今使用的神经网络。这门学科的另一种实用方法是使用PyTorch进行自然语言处理,将神经网络应用于NLP中。
从这本书的网站你可以直接看到一些主题,包括:
· 探索计算图表和监督学习范式
· 掌握PyTorch优化张量操作库的基础知识
· 对传统的NLP概念和方法进行概述
· 学习建立神经网络的基本概念
· 使用嵌入来表示单词、句子、文档和其他特性
· 探索序列预测并生成Seq2seq模型
· 学习构建生产NLP系统的设计模式
从更传统的(基于非神经网络)NLP技术到当代NLP,NLP越来越依赖于深度学习。
3.用神经网络的方法进行自然语言处理(Neural Network Methods for Natural Language Processing)
这是Yoav Goldberg写的关于NLP的神经网络方法的书。本书针对NLP相关的概念进行了深入解释,你可以学习如何轻松地用代码实现它们。以下摘自本书网站:
“这本书着重于神经网络模型在自然语言数据中的应用。本书第一部分和第二部分涵盖了监督机器学习和前馈神经网络的基础知识,在语言数据上使用机器学习的基础知识,以及使用基于向量而不是符号表征的单词。”
“本书第三部分和第四部分介绍了更专业的神经网络架构,包括一维卷积神经网络、递归神经网络、条件生成模型和基于注意力的模型。这些架构和技术是机器翻译、句法分析和许多其他应用程序的最新算法背后的驱动力。”
在理论或解释性领域,自然语言处理的神经网络方法将大大加强你对基于现代神经网络的NLP方法是如何工作的理解。
4.自然语言处理的语言学基础(LinguisticFundamentals for Natural Language Processing)
在使用NLP时,盲目学习语言基础并不好一个好主意,而且在缺乏任何语言正式学习经历的情况下,如果要从纯计算的角度研究NLP或计算语言学时,你要注意的地方就有很多了。本书旨在帮助你弥合这一差距。
网站上这样描述此书:
“本书旨在提供一种简洁易懂的信息,它关于形态和句法结构的人类语言,可以用于创造更复杂、更独立的语言,因此是更成功的NLP系统。”
“本书第一章的以下内容支撑这一点:关于语言结构的知识可以为NLP的机器学习方法提供特征设计的信息。更具体地说:语言结构的知识将导致机器学习呈现更好的特征。”
“本书由100个为更好地理解形态和语法的要点组成,与要点组成相关主题的章节也包含在内。如果你没有语言学背景,读起来可能有些辛苦,但它将让你更好地理解语言,并在NLP职业生涯中熟练使用。”
5.自然语言处理实践(NaturalLanguage Processing in Action)
Hobson Lane, Hannes Hapke 和Cole Howard合著的这本书将带我们回到现实。本书涵盖了传统的和基于神经网络的NLP方法,可以看作是书单中前两本书的组合,其中涵盖了使用现代工具,如TensorFlow和Keras的实际编码解决方案。
摘自本书网站:
“《自然语言处理实际应用》是一本指南,帮助你建立可以阅读和解释人类语言的机器。你将使用现成的Python包来捕获文本中的含义并做出反应。本书扩展了传统的NLP方法,包括神经网络、现代深度学习算法和生成技术,帮助你解决现实问题,如提取日期和名字,编写文本,和回答自由形式的问题。”
图源:unsplash