初学者学习自然语言处理NLP的一些有用资源汇总

也许您正在使用Siri或Google智能助理,阅读推文的分析或使用机器翻译,您想知道如何实现如此复杂的事情。这离不开自然语言处理NLP技术

或许你已经开始为一家开发NLP的公司工作,使用机器学习或深度学习等技术,至少你想要了解公司所说的术语。

现在,您想了解有关NLP的更多信息,但您不知道从哪里开始。

那么,这篇文章的目的是对自然语言处理NLP的优质阅读材料和资源进行汇总。

什么是自然语言处理(NLP)?

首先:NLP不是科学,它是应用科学。它是一门工程学科,结合了人工智能,计算语言学和计算机科学的力量,“理解”自然语言。其次,机器学习和深度学习不是NLP。它们可用于解决NLP问题,因为它们可用于解决与自然语言处理无关的大量问题。

为了澄清这些基本概念,我建议您先阅读这两篇文章。他们将为您提供NLP和机器学习的概述。

  1. 自然语言处理权威指南
  2. 机器学习的温和指南

NLP书籍

正如在每个领域都发生的那样,自然语言处理有其自己的圣经。我在这里提到了两本我认为必不可少且非常有用的教科书。我认为你至少应该看看它们,以了解NLP中解决的问题,以及所使用的经典方法。

统计自然语言处理的基础由克里斯托弗·曼宁和辛里奇Schutze(麻省理工学院出版社)。这是NLP历史上的一本重要书籍,因为它以某种方式定义了该地区统计处理的基础。在那之前(1998年),基于符号或基于规则的方法(即简单地说,工具通常由专家手工制作的方法)是标准,并且由于在90年代失败,人们不屑地看待统计方法,应用于自然语言处理的神经网络(NN)。

本书从理论基础和语言概念开始,然后解决大多数NLP问题:词义消歧,POS标记,概率解析,机器翻译,聚类,主题建模,文本分类等。对于他们提出的每一点,分析和比较大量论文,这些论文是当时最先进的,仍然令人感兴趣的论文。

简介自然语言处理,计算语言学和语音识别由丹尼尔·朱拉夫斯基和James H.马丁。这也是一本很好的书。理论上比前一个理论少一点,非常注重应用。它涵盖了更多的NLP任务,并且通常以更详尽的方式。您将在这里找到诸如组合语义,问答系统,信息提取,对话代理以及最重要的语音识别等主题。

如果您对具有更实际目标的书籍更感兴趣,我建议您:

Python的自然语言处理Steven Bird,Ewan Klein和Edward Loper(O’Reilly编辑)

本书展示了不同的NLP问题,以及如何使用NLTK库(参见下面的部分)和Python对它们进行专门攻击。例如,第一章介绍了基本概念,并解释了NLTK如何轻松处理它们:语料库,KWIC,类似词,频率,标记化,搭配,n-gram等。

在线课程

接近自然语言处理的另一个好方法是看一些在线课程。

我肯定会从Dan Jurafsky和Chris Manning的NLP课程开始。您将获得精彩的NLP专家向您详细解释该领域。

然后,为了理解深度学习 在某些NLP应用程序中如此有用的原因,我想看看:Stanford CS224d:自然语言处理的深度学习。它更先进但它可以给你一些见解。

网站和社交媒体

我认为最好的网站是斯坦福NLP小组的网站。它指向出版物,工具,教学资源甚至研究博客。

我发现非常有趣的博客是https://blog.openai.com。它以教学的方式解释了依赖于非发起读者可能难以理解的研究论文或技术报告的新方法。博客的主题是人工智能和机器人,不仅仅是NLP,但你可以找到关于NLP研究工作的帖子,这些文章产生了很大的影响。

关于Twitter,标签#nlproc可能与NLP最相关。我个人喜欢帐户NLP故事,但您可以在NLPers等列表中找到几个与NLP相关的帐户。

NLP库和框架

如果您还不知道,您必须知道:Python可能是允许您以最简单的方式执行NLP任务的编程语言。有太多的工具和资源,所以我在这里只提到我认为最重要的那些。

自然语言工具包(NLTK)

NLTK是一个Python库,允许NLP的许多经典任务,并提供大量必要的资源,如语料库,语法,本体等。它可用于实际案例,但它主要用于教学或研究目的。

要理解NLTK中的主要概念,您可以先阅读上面提到的“ 使用Python进行自然语言处理”一书的第一章。如果您更喜欢观看视频,可以浏览这个精彩的教程

spaCy

在我看来,spaCy是目前最好的NLP框架。阅读文档对于理解NLP应用程序中使用的关键概念是值得的:令牌,文档,语料库,管道,标记器,解析器等。它非常快且可以很好地扩展。并且它非常易于使用,因此您可以尝试使用,例如,将您的第一个文档标记为(即将文本分段为单词)。

斯坦福CoreNLP

斯坦福NLP集团提供了多个资源和工具,主要NLP问题。特别是,斯坦福CoreNLP是一个广泛的集成工具包,多年来一直是该领域的标准。它是用Java开发的,但在某些情况下还有Python包装器。我认为至少应该对每个工具的作用有一个大概的了解是值得的。

下一步:阅读研究工作

那么,您已经阅读了上面提到的所有材料,并且您渴望更详细地了解一些特定的NLP任务?在这种情况下,我强烈建议您深入研究科学文献。

NLP中科学文献的本质

与其他领域不同,在NLP中,会议通常比期刊更重要,原因主要是历史性的。

鉴于一篇科学文章,了解它的发表地点和论文是什么非常重要。

例如,如果会议仅接受基于摘要的论文(即决定基于200个单词),您会发现许多文章实际上是本科生的作品或正在进行硕士和博士生的工作。也许最显着的例外是LREC:语言资源和评估,虽然材料的质量非常不同,但它是了解NLP可用资源和工具的最佳会议之一。

关于文章的类型,长纸通常比短纸更重,重海报更重。同样,在会议上发表的论文比在会议研讨会上发表的论文“更重要”。论文被引用的次数也是质量的良好指标。我在引号中写“更重要”,因为它是相对的(研讨会的质量可能有很大差异),但是你应该知道,当评估研究人员时,这是标准的标准。

看看Rob Munro的这篇文章吧。他提供了关于如何在NLP中探索科学宇宙的宝贵提示。

NLP会议和期刊

在决定是否阅读论文时,最好知道哪些是该地区最重要的会议和科学期刊。我并不是说只应阅读这些来源的材料。我所说的是,如果在其中一个会议或期刊上发表文章,它很有可能成为优质材料。

会议:

日志:

一些经典的NLP论文

这是一份重要的NLP论文的非详尽列表。

自动文本摘要

机器翻译

信息提取

主题建模

语言建模和Word表示

符号化

POS标记和解析

分类

一般深度学习

最后的想法

作为优质阅读材料和资源的概述,我希望这篇文章可以帮助您接近NLP的世界。这是一个庞大而年轻的领域,在过去几年中,深度学习架构和算法取得了令人瞩目的进步,为一些常见的NLP任务提供了最先进的结果。

最后,如果您有兴趣用NLP分析文本,可以查看MonkeyLearn学习平台,该平台您可以访问可用于分析自己的文本数据的文本分析模型。您可以使用预先训练的公共模型,或使用您自己的标准创建自定义模型。

来了,老弟
-------------    本文结束  感谢您的阅读    -------------
0%