我是使用 Notion 来管理我的 nlp 学习过程的,我的 notion 地址在下面。
Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.我使用学习卡片来管理每一个学习阶段,以及每个学习阶段所需要学习的内容的,这样的方式能够帮助我更好的跟踪自己的学习进展,并且能够让我有一种闯关的感觉,让自己坚持下去。
下面是我的模板的截图。
以下为模板内容的介绍:
- ‼️学习框架介绍
- 第 0 阶段 – 准备阶段(选做)
- 第 1 阶段 – 适应自然语言处理
- 第 2 阶段 – 语言学计算和向量表示
- 第 3 阶段 – 深度学习入门
- 第 4 阶段 – 使用深度学习处理自然语言
- 第 5 阶段 – 序列模型
- 第 6 阶段 – 自然语言处理中的迁移学习
- 第 7 阶段 – 对话机器人
- 未完待续
<hr/>学习框架介绍
这部分我会介绍一下,这套学习路径的框架。这套学习框架使用 Notion 作为你的学习任务管理的工具(你也可以使用其他工具,我只是觉得 Notion 的交互设计能够让我有更强的学习反馈),你可以在这里使用我的学习路径的管理模版,里面也包含了所有的学习资料。
Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.这套框架主要由四个部分构成:
- 学习阶段(Phases of Learning):学习阶段会从0开始,随着你不断的学习,提升经验,就好像打游戏升级一样,你 可以从0级升到7级,从对NLP完全不懂,到能够使用NLP技术,开发类似于对话机器人这样的比较复杂的程序。
- 目标(Objective): 目标主要是想告诉你,在本模块的时间内,你能学习到的那些知识?如果把这套学习路径想象成是一个闯关的地图,那么这个目标就是告诉你,在你学完部分之后,你所在的位置是哪里,你将打败哪些 Boss。
- 推荐学习的时间(Time Suggested): 我推荐的一个平均的模块的学习时间,这里你可以根据自己的时间和基础情况进行相应的修改,但是希望这种修改实在你做每个模块之前就确定好的,在本模块的实施的过程中不要随意的进行改动。
- 学习内容(Resource to Learn): 这部分是要告诉你,在学习时间内你需要完成的学习内容,包括一些视频、文章和一些用来验证你是不是掌握知识点的项目,你需要完成他们,并且使用学习管理工具标记他们的完成状态。
这些模块当中,可能有一些是你已经掌握的了,你可以直接跳到本阶段的项目部分,看看自己能不能做出项目,如果做不出来的话,可以回头再去看一遍学习的内容。
你可以使用 todo list 来做学习进度的管理,在学习进度管理的模版中,你可以对于学过的资料画 ✔️ <hr/>第 0 阶段 – 准备阶段(选做)
目标:
这个阶段是给那些还不是很了解 Python 和数据科学(Data Science)相关知识的人准备的,帮你预热到一个能够接受后面知识的状态。在这个阶段的最后,你应该学会怎样使用 Python 并且使用 Python 做一些简单的机器学习的项目。
推荐时间:
6小时/周
学习内容:
- [ ] 数据科学中的 Python:
- [ ] 学习统计学:
- [ ] 机器学习中的数据处理:
- [ ] 几种常见的机器学习模型:
- [ ] 线性回归
- [ ] 逻辑回归
- [ ] 决策树
- [ ] 支持向量机
- [ ] K-fold 交叉验证
<hr/>第 1 阶段 – 适应自然语言处理
目标:
恭喜你进入到自然语言处理学习的第一个阶段 ,这个模块主要是让你熟悉一些文本预处理的技术。你应该能够在学习完这个模块后,搭建一个文本分类的模型。
推荐学习时间:
5 小时/周
学习内容:
- [ ] 从多种不同的数据源中加载文本数据
- [ ] 使用正则表达式
- [ ] 使用各种工具包对文本做预处理
- [ ] 探索并分析文本数据
- [ ] 从文本数据中抽取信息
- [ ] 项目:使用抽取出来的文本信息,创建一个文本分类的任务
<hr/>第 2 阶段 – 语言学计算和词向量
目标:
这个阶段你将开始看到一些神奇的 NLP 技术。你会学习使用语法信息从文本中抽取一些关键的信息。你也会学习在 NLP 中非常核心的技术 — 词向量。
推荐学习时间:
5 小时/周
学习内容:
- [ ] 抽取语言学特征
- [ ] 使用 Spacy 做词性标注(POS)
- [ ] 使用 Spacy 做命名实体识别(NER)
- [ ] 依赖分析
- [ ] 在向量空间中的文本表示
- [ ] 词袋(bag of word)
- [ ] 词向量
- [ ] 主题模型
- [ ] 信息抽取
- [ ] 项目:使用词向量制作情感识别任务
- [ ] 项目:使用主题模型给新闻做分类
<hr/>第 3 阶段 – 深度学习入门
目标:
在最近这些年,使用深度学习之后自然语言处理技术有了长足的进步和突破。从 Google 的Bert到 OpenAI 的 GPT-3, 每一个想要进入自然语言处理领域的人都应该了解深度学习的工作原理以及一些框架的使用方法。在这个阶段中,你将学习到深度学习的概念、算法和相关的开发工具。
推荐学习时间:
5小时/周
学习内容:
- [ ] 神经网络
- [ ] 优化算法
- [ ] 循环神经网络(RNN)和 LSTM
- [ ] Pytorch
第 4 阶段 – 使用深度学习处理自然语言
目标:
现在你应该已经了解了一些深度学习的知识了,那么这个模块就让我们应用它来做自然语言处理的任务吧。这个阶段我们会聚焦在一些处理自然语言常用的进阶的深度学习模型,比如说 RNN 、LSTM 和 CNN。
推荐学习时间:
5小时/周
学习内容:
- [ ] RNN
- [ ] CNN
- [ ] LSTM
- [ ] 项目:使用 LSTM 完成 NER 任务。
第 5 阶段 – 序列模型
目标:
在这个模块,你将会学习到一种处理序列输入的模型。这种模型对于我们后面继续探索 NLP 至关重要。
推荐学习时间:
小时/周
学习内容:
- [ ] 语言模型
- [ ] 序列到序列的模型
- [ ] 项目:使用语言模型创建一个自动完成的系统
- [ ] 项目:创建一个基于深度学习的翻译模型
第 6 阶段 – NLP 中的迁移学习
目标:
迁移学习是目前在 NLP 中主流的一种方法。这些技术能够帮助你快速的得到 SOTA 的模型。在这个阶段我们会介绍 BERT、GPT-2,ULMFiT 和 Transformers。
推荐学习时间:
5小时/周
学习内容:
- [ ] ULMTiT:
- [ ] Transformers:
- [ ] 预训练模型(BERT 和 GPT-2)
- [ ] Fine-Tuning 预训练模型
第 7 阶段 – 对话机器人
待续 ... |