自然语言处理(NLP)是人工智能领域中最受欢迎的子领域之一,专注于教授机器如何解释人类语言、模仿理解以及生成语言。从Grammarly软件纠正语法错误,到Gmail预测收件箱中的邮件是否重要或有害,所有这些与语言相关的任务都是通过利用自然语言处理技术来完成的。
学习NLP是一种创新和战略性的方式,面对网络上众多的课程和资源,可能会感到挑战。要学习任何技术,首先应该集中精力收集最好的资源,尤其是免费资源。本文将推荐一些最佳的免费开源资源,帮助开始成为NLP专家的旅程。
本文将分为三个部分:
让开始NLP之旅吧!
对于NLP初学者来说,正确的开始方式是同时学习理论和实践。记住,理论是基础,但实践是经验!因此,理论学习和动手实践之间的平衡对于实现目标至关重要。
在NLP中,文本预处理类似于传统机器学习中的数据预处理。它是任何数据科学或AI项目中最重要的部分。清理或预处理数据与机器学习任务中的模型构建同等重要。当涉及到像文本这样的非结构化数据时,这个过程更加关键。
以下是处理任何文本语料库并提取关键特征所需的典型步骤:
这些是可以在文本数据上执行的不同文本预处理步骤。虽然不必在每次遇到NLP问题时都执行所有这些步骤,但必须根据用例仔细选择预处理步骤,因为这部分也起着重要作用。例如,在进行情感分析时,需要表情符号或表情符号来传达有关用户情感的一些关键信息。
既然知道了文本预处理的重要性,让看看一些可以学习和实践文本预处理的最佳场所:
对于刚开始学习机器学习并尝试学习自然语言处理的初学者来说,必须使用传统的机器学习算法解决NLP问题。尽管传统的机器学习算法只应用于玩具数据集(用于实现和测试简单预测模型的虚构数据集),但它们对于建立基础和让为深度学习做好准备至关重要,深度学习用于现实世界项目。
因此,对于使用机器学习学习&实践NLP的人来说,必须利用这些资源:
最后,一些“必须参加”的Kaggle比赛,以获得实践经验:
如前所述,深度学习是机器学习的一个子领域。由于引入了人工神经网络(ANN),它更加通用,因为它提供了比传统机器学习更广泛的预测。实践NLP与深度学习是实现AI和数据科学职业的重要一步。如今,几乎所有现实世界的AI应用都建立在深度学习(神经网络)架构之上。它在现实世界数据上提供了高度泛化的性能和出色的准确性。
已经探索了如何使用传统机器学习算法解决NLP问题的初学者,可以开始使用这些顶级资源进行NLP深度学习:
像往常一样,一些Kaggle比赛列表,以测试学习:
如果是NLP中级水平的人,这三个规则应该是座右铭:
然而,中级或高级实践者必须专注于使用高级NLP技术实现现实世界的NLP驱动应用。让看看一些最先进的NLP技术和架构,以及学习它们并实现自己的最佳资源!
序列到序列学习(Seq2Seq)专注于训练模型,使其能够将一个领域的文本序列(英语句子)转换为另一个部分的序列(将相同的句子翻译成法语)。
学习并实现Seq2Seq的资源:
最富有表现力和强大的语言模型,更精确地说是复杂的神经网络,Transformers,基于自注意力理论,旨在通过输入序列生成输出序列。
学习并实现Transformer架构的资源:
命名实体识别是主要在文本信息提取中使用的高级NLP技术。NER识别并分类非结构化文本数据中的实体到几个类别。
从这些精彩的资源中学习&实现NER:
机器翻译是NLP领域最热门的话题之一,其目标是将文本从一种语言翻译成另一种语言。谷歌的机器翻译系统是使用16层LSTM开发的(由于他们有大量数据进行训练,因此不需要dropout),提供了强烈的最新性能!
学习机器翻译的最佳直观和实践教程:
问答是NLP驱动的应用,它通过从文档、网络文本、段落等已知的知识库中提取信息,以精确直接的方式回答问题,无论是否有上下文。
学习问答的最佳直观和实践教程: