自然语言处理学习资源指南

自然语言处理(NLP)是人工智能领域中最受欢迎的子领域之一,专注于教授机器如何解释人类语言、模仿理解以及生成语言。从Grammarly软件纠正语法错误,到Gmail预测收件箱中的邮件是否重要或有害,所有这些与语言相关的任务都是通过利用自然语言处理技术来完成的。

学习NLP是一种创新和战略性的方式,面对网络上众多的课程和资源,可能会感到挑战。要学习任何技术,首先应该集中精力收集最好的资源,尤其是免费资源。本文将推荐一些最佳的免费开源资源,帮助开始成为NLP专家的旅程。

NLP学习资源概览

本文将分为三个部分:

  • NLP初学者资源
  • NLP中级学者资源
  • 精通NLP的课程推荐

让开始NLP之旅吧!

第一部分:NLP初学者资源

对于NLP初学者来说,正确的开始方式是同时学习理论和实践。记住,理论是基础,但实践是经验!因此,理论学习和动手实践之间的平衡对于实现目标至关重要。

在NLP中,文本预处理类似于传统机器学习中的数据预处理。它是任何数据科学AI项目中最重要的部分。清理或预处理数据与机器学习任务中的模型构建同等重要。当涉及到像文本这样的非结构化数据时,这个过程更加关键。

以下是处理任何文本语料库并提取关键特征所需的典型步骤:

  • 将大写字母转换为小写
  • 去除标点符号
  • 去除停用词
  • 去除高频词
  • 去除低频词
  • 词干提取
  • 词形还原
  • 去除表情符号、标签和URLs
  • 去除HTML标签
  • 拼写更正
  • 分词
  • 归一化
  • 词性标注

这些是可以在文本数据上执行的不同文本预处理步骤。虽然不必在每次遇到NLP问题时都执行所有这些步骤,但必须根据用例仔细选择预处理步骤,因为这部分也起着重要作用。例如,在进行情感分析时,需要表情符号或表情符号来传达有关用户情感的一些关键信息。

既然知道了文本预处理的重要性,让看看一些可以学习和实践文本预处理的最佳场所:

  • 《自然语言工具包》(NLTK Book)——用于实践培训和实际接触
  • 斯坦福大学NLP资源——用于主题知识和理论知识
  • Awesome Cheat Sheets——用于快速实现和参考

对于刚开始学习机器学习并尝试学习自然语言处理的初学者来说,必须使用传统的机器学习算法解决NLP问题。尽管传统的机器学习算法只应用于玩具数据集(用于实现和测试简单预测模型的虚构数据集),但它们对于建立基础和让为深度学习做好准备至关重要,深度学习用于现实世界项目。

因此,对于使用机器学习学习&实践NLP的人来说,必须利用这些资源:

  • 《语言处理》(Jurafsky和Martin著)——NLP使用传统ML的圣经!
  • 《自然语言处理与分类和向量空间》——由Coursera提供

最后,一些“必须参加”的Kaggle比赛,以获得实践经验:

  • Toxic Comment Classification Challenge
  • Natural Language Processing with Disaster Tweets
  • Quora Question Pairs Similarity

如前所述,深度学习是机器学习的一个子领域。由于引入了人工神经网络(ANN),它更加通用,因为它提供了比传统机器学习更广泛的预测。实践NLP与深度学习是实现AI数据科学职业的重要一步。如今,几乎所有现实世界的AI应用都建立在深度学习(神经网络)架构之上。它在现实世界数据上提供了高度泛化的性能和出色的准确性。

已经探索了如何使用传统机器学习算法解决NLP问题的初学者,可以开始使用这些顶级资源进行NLP深度学习:

  • 斯坦福大学的《自然语言处理与深度学习》——用于理论深度
  • Keras的《自然语言处理》——大量的示例代码和案例研究
  • 《深度学习用于NLP——从零到Transformers & BERT》——一个精彩的Kaggle笔记本,涵盖了从基础到高级的深度学习NLP!

像往常一样,一些Kaggle比赛列表,以测试学习:

  • Jigsaw Multilingual Toxic Comment Classification
  • Predict Closed Questions on Stack Overflow
  • TensorFlow 2.0 Question Answering
  • Contradictory, My Dear Watson

第二部分:NLP中级/高级资源

如果是NLP中级水平的人,这三个规则应该是座右铭:

  • 每天阅读一篇最近发表的论文/博客,了解最新动态。
  • 定期参加Kaggle比赛
  • 进行案例研究

然而,中级或高级实践者必须专注于使用高级NLP技术实现现实世界的NLP驱动应用。让看看一些最先进的NLP技术和架构,以及学习它们并实现自己的最佳资源!

序列到序列学习(Seq2Seq)专注于训练模型,使其能够将一个领域的文本序列(英语句子)转换为另一个部分的序列(将相同的句子翻译成法语)。

学习并实现Seq2Seq的资源:

  • Keras的《序列到序列学习》
  • 斯坦福NLP组的《序列到序列模型》

最富有表现力和强大的语言模型,更精确地说是复杂的神经网络,Transformers,基于自注意力理论,旨在通过输入序列生成输出序列。

学习并实现Transformer架构的资源:

  • Hugging Face的《Transformers Hands-On Tutorial》——Hugging Face提供的直觉和实现的完美结合!
  • 《Transformers- Let’s Dive Deeeep!》——理论的巅峰!
  • Hugging Face的《Interactive Transformers Notebooks》——由Hugging Face提供的一系列交互式Colab笔记本。

命名实体识别是主要在文本信息提取中使用的高级NLP技术。NER识别并分类非结构化文本数据中的实体到几个类别。

从这些精彩的资源中学习&实现NER:

  • Keras的《使用Transformers的命名实体识别》
  • Abhishek Thakur的《使用BERT构建实体识别模型》
  • 《微调Transformer进行命名实体识别》——一个交互式Colab笔记本

机器翻译是NLP领域最热门的话题之一,其目标是将文本从一种语言翻译成另一种语言。谷歌的机器翻译系统是使用16层LSTM开发的(由于他们有大量数据进行训练,因此不需要dropout),提供了强烈的最新性能!

学习机器翻译的最佳直观和实践教程:

  • 《带注意力的神经机器翻译》
  • 《神经机器翻译指南》

问答是NLP驱动的应用,它通过从文档、网络文本、段落等已知的知识库中提取信息,以精确直接的方式回答问题,无论是否有上下文。

学习问答的最佳直观和实践教程:

  • 《问答入门包》
  • 斯坦福大学的《问答系统讲座》
  • YSDA自然语言处理课程
  • 加速自然语言处理
  • IIT Madras的应用NLP
  • Krish Naik的NLP播放列表
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485