自然语言处理(NLP)作为人工智能研究的核心领域之一,长久以来都受到广泛关注。微软全球执行副总裁沈向洋博士曾表示“懂语言者得天下,人工智能对人类影响最为深刻的就是自然语言方面。”现在很多研究人员都在进入自然语言领域,希望可以解决“让机器理解人类语言”这一难题。
为了帮助大家更好地学习NLP,我们邀请微软亚洲研究院自然语言计算组资深研究员韦福如为大家推荐了一些关于自然语言学习方面经典的书籍和课程,分为入门级和进阶级两大类。
一、入门篇
主要目标:熟悉和了解自然语言处理领域的基本术语、任务定义和基本算法,比如输入输出、评价标准和应用场景。为以后的进一步学习、科研、产品开发以及学术和技术交流奠定基础。
1、Speech and Language Processing, 2nd Edition
作者:Daniel Jurafsky and James H. Martin
中文译名:语音与语言处理
适合人群:初级到中级学者
推荐指数:★★★★★
主要内容:本书内容涵盖了自然语言处理的方方面面,从底层的词法分词、语法分析和语义分析,到和应用更为接近的自然语言处理任务,如信息抽取、机器翻译、自动问答、文本摘要、对话系统等。书中将自然语言处理、计算语言学以及语音识别等内容融合在一起,把各种技术相互联系起来,让读者了解怎样才能最佳地利用每种技术,怎样才能将各种技术结合起来使用。
推荐理由:最经典的自然语言处理的入门教程,也被国外许多著名大学选为自然语言处理和计算语言学课程的主要教材。本书写作风格引人入胜,深入技术细节而又不让人感觉枯燥,不仅可以作为高等学校自然语言处理和计算语言学等课程的本科生和研究生教材,对于自然语言处理相关领域的研究人员和技术人员也是不可或缺的权威参考书。
2、Foundations of Statistical Natural Language Processing
作者:Christopher Manning and Hinrich Schütze
中文译名:统计自然语言处理基础
适合人群:初级到中级学者
推荐指数:★★★★★
主要内容:本书涵盖的内容十分广泛,分为四个部分,共16章,包括了构建自然语言处理软件工具将用到的几乎所有理论和算法。全书的论述过程由浅入深,从数学基础到精确的理论算法,从简单的词法分析到复杂的语法分析,适合不同水平的读者群的需求。同时,《统计自然语言处理基础:国外计算机科学教材系列》将理论与实践紧密联系在一起,在介绍理论知识的基础上给出了自然语言处理技术的高层应用(如信息检索等)。
推荐理由:经典的统计自然语言处理的入门教材。内容涉及统计自然语言处理用到的数学基础,词法到语法分析,以及自然语言处理的基本任务(比如文本分类、聚类,统计机器翻译,以及信息检索)。本教材成书较早(1999年),但是自然语言处理领域的基本概念和任务没有太大的变化,仍然适用于初学者快速了解自然语言处理相关的概念和任务。
3、统计自然语言处理(第2版)
作者:宗成庆
适合人群:初级到中级学者
推荐指数:★★★★☆
主要内容:本书介绍了统计自然语言处理的基本概念、理论方法和最新研究进展,内容包括形式语言与自动机及其在自然语言处理中的应用、语言模型、隐马尔可夫模型、语料库技术、汉语自动分词与词性标注、句法分析、词义消歧、篇章分析、统计机器翻译、语音翻译、文本分类、信息检索与问答系统、自动文摘和信息抽取、口语信息处理与人机对话系统等。
推荐理由:本书既有对基础知识和理论模型的介绍,也有对相关问题的研究背景、实现方法和技术现状的详细阐述。可作为高等院校计算机、信息技术等相关专业的高年级本科生或研究生的教材或参考书,也可供从事自然语言处理、数据挖掘和人工智能等研究的相关人员参考。
二、进阶篇
主要目标:近年来,深度学习的算法和模型在自然语言处理的主要任务(例如机器翻译、自动问答、机器阅读、文本摘要、文本生成等)上取得了很好的效果。虽然现在对深度学习的模型和传统模型的优劣尚不能定论(根据不同的任务、应用场景和需求以及数据规模可能有不同的结论,实际系统中更多时候也是共存互补),但这个方向目前成为学术界和工业界关注和投入的重点方向,实际的自然语言应用系统中也都或多或少、或直接或间接用到深度学习的技术,值得大家关注。
1、Neural Network Methods in Natural Language Processing (Synthesis Lectures on Human Language Technologies)
作者:Yoav Goldberg
适合人群:初级到中级学者
推荐指数:★★★★★
主要内容:本书着重介绍神经网络模型在自然语言数据中的应用。本书的前半部分介绍了有监督的机器学习和前馈神经网络的基础知识,基于语言数据的机器学习的基础知识。它还涵盖了可以定义和训练任意神经网络的计算图形抽象方面的知识,是当代神经网络软件库设计的基础。本书的第二部分介绍了更多专门的神经网络体系结构,包括一维卷积神经网络、递归神经网络、条件生成模型和基于注意力的模型。这些体系结构和技术是机器翻译、句法分析和许多其他应用程序的最先进算法的推动力量。最后,本书还讨论了树形网络,结构化预测和多任务学习的前景。
推荐理由:大家都知道最近几年由于深度学习的兴起,使得图像识别、语音识别等多个方面都发生了很大的变革。深度学习在自然语言处理方面也是非常普遍了,一些经典的自然语言模式也都是基于神经网络的,这本书是目前市面上唯一一本介绍神经网络在自然语言处理的应用,是最新、最前沿的东西,而且书中的大量参考文献非常有价值。本书的作者在这个领域非常知名,并且对待学术态度极其严谨。深入浅出,值得对深度学习在自然语言处理中应用感兴趣的同学系统地读一读。
2、CS224d: Deep Learning for Natural Language Processing
课程导师:Richard Socher
适合人群:初级到中级学者
课程链接:
http://cs224d.stanford.edu/syllabus.html
推荐指数:★★★★★
主要内容:斯坦福大学自然语言小组的基于深度学习的自然语言处理的课程。介绍了自然语言处理领域广泛应用的网络结构(例如循环神经网络、卷积神经网络以及递归神经网络等)及其在自然语言处理的经典任务,例如分类任务(情感分类),序列标注任务(实体识别),序列到序列的生成任务(机器翻译)的实际应用。
推荐理由:自然语言处理是信息时代最重要的技术之一。理解复杂的语言也是人工智能的重要组成部分。自然语言处理的应用无处不在,因为人们用语言沟通了大部分内容:网络搜索、广告、电子邮件、客户服务、语言翻译、放射学报告等等。本课程比较适合对这个领域感兴趣的初学者。
3、Oxford Deep Learning for NLP class
课程导师:Phil Blunsom. (2017) Class by Deep Mind NLP Group.
适合人群:中级到高级学者
课程链接:https://machinelearningmastery.com/oxford-course-deep-learning-natural-language-processing/
推荐指数:★★★★★
主要内容:DeepMind团队成员在牛津大学教授基于深度学习的自然语言处理的课程。内容涉及到词嵌入,基于循环神经网络的语言模型,基于循环神经网络和卷积神经网络的文本分类,基于循环神经网络的条件语言模型(广泛应用于机器翻译、文本摘要等)及其中的注意力机制,以及基于深度学习模型的自动问答等主要自然语言处理的任务。
推荐理由:深度学习方法在一套自然语言处理问题上达到了最先进的效果,这是英国牛津大学教授的一门关于自然语言处理深度学习的课程,本课程的大部分材料都可以在线免费获取。比较适合对这个领域有一定的基础,希望了解最新进展和进一步学习和研究的同学。
好,读到这里的同学,我可以很负责任地告诉你,你已经是个NLP界的老司机了!
希望韦福如博士推荐的书单能够对想进入自然语言处理领域却有些迷茫、无从入手的小伙伴们有所帮助,也希望这些小可爱们将来能在这个领域发光发热!
也欢迎大家在下方留言区留言,分享你的NLP书单。
这里我整理的一份人工智能200G学习资料大礼包,内含(Python快速入门、深度学习入门、深度学习必备框架TensorFlow、pytorch、计算机视觉OpenCV、NLP自然语言处理等视频课程、学习笔记或源码等)对于想学习人工智能或者转行到AI行业的,大学生都非常实用,免费提供!扫码加VX就能领取!