【NLP】cs224n课程笔记

一、前言

自然语言是人类智慧的结晶,自然语言处理是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满魅力和挑战的。 通过经典的斯坦福cs224n教程,让我们一起和自然语言处理共舞!也希望大家能够在NLP领域有所成就!


二、先修知识(学习的过程中可以遇到问题后再复习)

了解python基础知识了解高等数学、概率论、线性代数知识了解基础机器学习算法:梯度下降、线性回归、逻辑回归、Softmax、SVM、PAC(先修课程斯坦福cs229 或者周志华西瓜书)具有英语4级水平(深度学习学习材料、论文基本都是英文,一定要阅读英文原文,进步和提高的速度会加快!!!!)以上知识要求内容可在最下方的知识工具中查找


三、每周学习时间安排

每周具体学习时间划分为4个部分:

1部分安排周一到周二2部分安排在周四到周五3部分安排在周日4部分作业是本周任何时候空余时间周日晚上提交作业运行截图周三、周六休息_


(以下的部分链接在手机端无法正常显示,请复制链接到电脑浏览器打开)




课程资料:


课程主页: https://web.stanford.edu/class/cs224n /

中文笔记: http://www.hankcs.com/nlp/cs224n-introduction-to-nlp-and-deep-learning.html

http://www.hankcs.com/tag/cs224n/

课程视频: https://www.bilibili.com/video/av30326868/?spm_id_from=333 .788.videocard.0

实验环境推荐使用Linux或者Mac系统,以下环境搭建方法皆适用:

· Docker环境配置: https://github.com/ufoym/deepo

· 本地环境配置: https://github.com/learning511/cs224n-learning-camp/blob/master/environment.md

注册一个github账号:github.com

后续发布的一些project和exercise会在这个github下:

 https://github.com/learning511/cs224n-learning-camp

重要的一些资源:

深度学习斯坦福教程: http://deeplearning.stanford.edu/wiki/index.php/UFLDL教程

廖雪峰python3教程: https://www.liaoxuefeng.com/article/001432619295115c918a094d8954bd493037b03d27bf9a9000

github教程: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

莫烦机器学习教程: http://morvanzhou.github.io/tutorials /

深度学习经典论文: https://github.com/floodsung/Deep-Learning-Papers-Reading-Roadmap

斯坦福cs229代码(机器学习算法python徒手实现): https://github.com/nsoojin/coursera-ml-py

本人博客: https://blog.csdn.net/dukuku5038/article/details/82253966

知识工具

为了让大家逐渐适应英文阅读,复习材料我们有中英两个版本,但是推荐大家读英文

数学工具

斯坦福资料:

线性代数(链接地址: http://web.stanford.edu/class/cs224n/readings/cs229-linalg.pdf )概率论(链接地址: http://101.96.10.44/web.stanford.edu/class/cs224n/readings/cs229-prob.pdf )凸函数优化(链接地址: http://101.96.10.43/web.stanford.edu/class/cs224n/readings/cs229-cvxopt.pdf )随机梯度下降算法(链接地址: http://cs231n.github.io/optimization-1 /)

中文资料:

机器学习中的数学基本知识(链接地址: https://www.cnblogs.com/steven-yang/p/6348112.html )统计学习方法(链接地址: http://vdisk.weibo.com/s/vfFpMc1YgPOr )大学数学课本(从故纸堆里翻出来_

编程工具

斯坦福资料:

Python复习(链接地址: http://web.stanford.edu/class/cs224n/lectures/python-review.pdf )TensorFlow教程(链接地址: https://github.com/open-source-for-science/TensorFlow-Course#why-use-tensorflow )

中文资料:

廖雪峰python3教程(链接地址: https://www.liaoxuefeng.com/article/001432619295115c918a094d8954bd493037b03d27bf9a9000 )莫烦TensorFlow教程(链接地址: https://morvanzhou.github.io/tutorials/machine-learning/tensorflow /)

作业参考答案:http://www.hankcs.com/nlp/cs224n-assignment-1.html
达观杯:https://github.com/MLjian/TextClassificationImplement

第一周


第1部分学习任务:



(1)观看自然语言处理课学习绪论,了解深度学习的概括和应用案例以及训练营后续的一些学习安排

学习时长:10/23—10/28

绪论视频地址: https://m.weike.fm/lecture/10194068

(2)自然语言处理和深度学习简介,观看课件lecture01、视频1、学习笔记

学习时长:10/23

课件: lecture01(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture1.pdf )观看视频1(链接地址: https://www.bilibili.com/video/av30326868/?spm_id_from=333 .788.videocard.0)学习笔记:自然语言处理与深度学习简介(链接地址: http://www.hankcs.com/nlp/cs224n-introduction-to-nlp-and-deep-learning.html )


第2部分学习任务:


(1)词的向量表示1,观看课件lecture02、视频2、学习笔记
学习时长:10/25—10/26
课件: lecture02(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture2.pdf )
观看视频2(链接地址: https://www.bilibili.com/video/av30326868/?p=2 )
学习笔记:wordvecotor(链接地址: http://www.hankcs.com/nlp/word-vector-representations-word2vec.html )


第3部分学习任务:


(1)论文导读:一个简单但很难超越的Sentence Embedding基线方法
学习时长:10/28
论文原文: paper(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/A Simple but Tough-to-beat Baseline for Sentence Embeddings.pdf )
论文分析: highlight(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/highlight/cs224n-2017-lecture1-highlight.pdf )
论文笔记:Sentence Embedding(链接地址: http://www.hankcs.com/nlp/cs224n-sentence-embeddings.html )


第4部分作业:

Assignment 1.1-1.2(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/Assignmnet.md )
1.1 Softmax 算法
1.2 Neural Network Basics 神经网络基础实现

第二周

第1部分学习任务:


(1)高级词向量表示:word2vec 2,观看课件lecture03、视频3、学习笔记
学习时长:10/29—10/30
课件: lecture03(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture3.pdf )
观看视频3(链接地址: https://www.bilibili.com/video/av30326868/?p=3 )
学习笔记:word2vec 2(链接地址: http://www.hankcs.com/nlp/cs224n-advanced-word-vector-representations.html )


第2部分学习任务:


(1)Word Window分类与神经网络,观看课件lecture04、视频4、学习笔记
学习时长:11/1—11/2
课件: lecture04(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture4.pdf )
观看视频4(链接地址: https://www.bilibili.com/video/av30326868/?p=4 )
学习笔记:Word Window分类与神经网络(链接地址: http://www.hankcs.com/nlp/cs224n-word-window-classification-and-neural-networks.html )


第3部分学习任务:


(1)论文导读:词语义项的线性代数结构与词义消歧
学习时长:11/4
论文原文: paper(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/Linear Algebraic Structure of Word Senses%2C with Applications to Polysemy.pdf )
论文分析: highlight(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/highlight/cs224n-2017-lecture2-highlight.pdf )
论文笔记:Sentence Embedding(链接地址: http://www.hankcs.com/nlp/cs224n-word-senses.html )


第4部分作业:

Assignment 1.3-1.4(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/Assignmnet.md )
1.3 word2vec 实现
1.4 Sentiment Analysis 情绪分析

第三周

(因为中间跳过一周,11/4-11/10,所以本周从11/12开始)

第1部分学习任务:

(1)反向传播与项目指导:Backpropagation and Project Advice,观看课件lecture05、视频5、学习笔记
学习时长:11/12—11/13
课件: lecture05(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture5.pdf )
观看视频5(链接地址: https://www.bilibili.com/video/av30326868/?p=5 )
学习笔记:反向传播与项目指导(链接地址: http://www.hankcs.com/nlp/cs224n-backpropagation-and-project-advice.html )

第2部分学习任务:


(1)依赖解析:Dependency Parsing,观看课件lecture06、视频6、学习笔记
学习时长:11/15—11/16
课件: lecture06(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture3.pdf )
观看视频6(链接地址: https://www.bilibili.com/video/av30326868/?p=6 )
学习笔记:句法分析和依赖解析(链接地址: http://www.hankcs.com/nlp/cs224n-dependency-parsing.html )

第3部分学习内容


(1)论文导读:高效文本分类
学习时长:11/18
论文原文: paper(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/Bag of Tricks for Efficient Text Classification.pdf )
论文分析: highlight(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/highlight/cs224n-2017-lecture3-highlight.pdf )
论文笔记:高效文本分类(链接地址: http://www.hankcs.com/nlp/cs224n-bag-of-tricks-for-efficient-text-classification.html )


第4部分作业:

Assignment 2.2(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/Assignmnet.md )
Neural Transition-Based Dependency Parsing 基于神经网络的依赖分析

第四周

第1部分学习任务:

(1)TensorFlow入门,观看课件lecture07、视频、学习笔记
学习时长:11/19—11/20
课件: lecture07(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture7-tensorflow.pdf )
观看视频7(链接地址: https://www.bilibili.com/video/av30326868/?p=7 )
学习笔记:TensorFlow(链接地址: http://www.hankcs.com/nlp/cs224n-tensorflow.html )

第2部分学习任务:

第2部分学习任务:
(1)RNN和语言模型,观看课件lecture08、视频、学习笔记
学习时长:11/22—11/23
课件: lecture08(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture8.pdf )
观看视频8(链接地址: https://www.bilibili.com/video/av30326868/?p=8 )
学习笔记:TensorFlow(链接地址: http://www.hankcs.com/nlp/cs224n-rnn-and-language-models.html )

第3部分学习任务:

(1)论文导读:词嵌入对传统方法的启发
学习时长:11/25
论文原文: paper(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/Impoving distributional similarly with lessons learned from word embeddings.pdf )
论文分析: highlight(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/highlight/cs224n-2017-lecture4-highlight.pdf )
论文笔记:词嵌入对传统方法的启发(链接地址: http://www.hankcs.com/nlp/cs224n-improve-word-embeddings.html )

第4部分作业:

Assignment 2.1,2.2(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/Assignmnet.md )
2.1Tensorflow Softmax 基于TensorFlow的softmax分类
2.2 Neural Transition-Based Dependency Parsing 基于神经网络的依赖分析

第五周

第1部分学习任务:

(1)高级LSTM及GRU:LSTM and GRU,观看课件lecture09、视频、学习笔记

学习时长:11/26—11/27

课件: lecture09(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture9.pdf )观看视频9(链接地址: https://www.bilibili.com/video/av30326868/?p=9 )学习笔记:高级LSTM及GRU(链接地址: http://www.hankcs.com/nlp/cs224n-mt-lstm-gru.html )

第2部分学习任务:

(1)期中复习,观看课件和视频、回顾上一阶段学习的知识
学习时长:11/29—11/30
课件: (链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-midterm-review.pdf )
观看视频(链接地址: https://www.youtube.com/watch?v=2DYxT4OMAmw&list=PL3FW7Lu3i5Jsnh1rnUwq_TcylNr7EkRe6&index=10 )

第3部分学习任务:

(1)论文导读:基于转移的神经网络句法分析的结构化训练

学习时长:12/2

论文原文: paper(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/Structured Training for Neural Network Transition-Based Parsing.pdf )论文分析: highlight(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/highlight/cs224n-2017-lecture6-highlight.pdf )论文笔记:基于神经网络句法分析的结构化训练(链接地址: http://www.hankcs.com/nlp/cs224n-syntaxnet.html )

第4部分作业:

Assignment 2.3(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/Assignmnet.md )
Recurrent Neural Networks: Language Modeling 循环神经网络语言建模

第六周

第1部分学习任务:

(1)机器翻译、序列到序列、注意力模型,观看课件lecture10、视频、学习笔记
学习时长:12/3—12/4
课件: lecture10(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture10.pdf )
观看视频9(链接地址: https://www.bilibili.com/video/av30326868/?p=10 )
学习笔记:机器翻译、序列到序列、注意力模型(链接地址: http://www.hankcs.com/nlp/cs224n-9-nmt-models-with-attention.html )

第2部分学习任务:

(1)GRU和NMT的进阶,观看课件lecture11、视频、学习笔记
学习时长:12/6—12/7
课件: lecture11(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture11.pdf )
观看视频9(链接地址: https://www.bilibili.com/video/av30326868/?p=11 )
学习笔记:GRU和NMT的进阶(链接地址: http://www.hankcs.com/nlp/cs224n-gru-nmt.html )

第3部分学习任务:

(1)论文导读:谷歌的多语种神经网络翻译系统
学习时长:12/9
论文原文: paper(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/Google’s Multilingual Neural Machine Translation System_ Enabling Zero-Shot Translation.pdf )
论文分析: highlight(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/highlight/cs224n-2017-lecture8-highlight.pdf )
论文笔记:基于神经网络句法分析的结构化训练(链接地址: http://www.hankcs.com/nlp/cs224n-google-nmt.html )

第4部分作业:

Assignment 3.1(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/Assignmnet.md )
A window into named entity recognition(NER)基于窗口模式的名称识别

第七周

第1部分学习任务:

(1)语音识别的end-to-end模型,观看课件lecture12、视频、学习笔记
学习时长:12/10—12/11
课件: lecture12(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture12.pdf )
观看视频12(链接地址: https://www.bilibili.com/video/av30326868/?p=12 )
学习笔记:语音识别的end-to-end模型(链接地址: http://www.hankcs.com/nlp/cs224n-end-to-end-asr.html )

第2部分学习任务:

(1)卷积神经网络:CNN,观看课件lecture13、视频、学习笔记
学习时长:12/13—12/14
课件: lecture13(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture13.pdf )
观看视频13(链接地址: https://www.bilibili.com/video/av30326868/?p=13 )
学习笔记:卷积神经网络(链接地址: http://www.hankcs.com/nlp/cs224n-convolutional-neural-networks.html )

第3部分学习任务:

(1)论文导读:读唇术
学习时长:12/16
论文原文: paper(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/Lip Reading Sentences in the Wild.pdf )
论文分析: highlight(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/highlight/cs224n-2017-lecture9-highlight.pdf )
论文笔记:读唇术(链接地址: http://www.hankcs.com/nlp/cs224n-lip-reading.html )

第4部分作业:

Assignment 3.2(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/Assignmnet.md )
Recurrent neural nets for named entity recognition(NER) 基于RNN的名称识别

第八周

第1部分学习任务:

(1)Tree RNN与短语句法分析,观看课件lecture14、视频、学习笔记
学习时长:12/17—12/18
课件: lecture14(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture14.pdf )
观看视频14(链接地址: https://www.bilibili.com/video/av30326868/?p=14 )
学习笔记:Tree RNN与短语句法分析(链接地址: http://www.hankcs.com/nlp/cs224n-tree-recursive-neural-networks-and-constituency-parsing.html )

第2部分学习任务:

(1)指代消解,观看课件lecture15、视频、学习笔记
学习时长:12/20—12/21
课件: lecture15(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture15.pdf )
观看视频15(链接地址: https://www.bilibili.com/video/av30326868/?p=15 )
学习笔记:指代消解(链接地址: http://www.hankcs.com/nlp/cs224n-coreference-resolution.html )

第3部分学习任务:

(1)论文导读:谷歌的多语种神经网络翻译系统
学习时长:12/23
论文原文: paper(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/Character-Aware Neural Language Models.pdf )
论文分析: highlight(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/highlight/cs224n-2017-lecture10-highlight.pdf )
论文笔记:Character-Aware神经网络语言模型(链接地址: http://www.hankcs.com/nlp/cs224n-character-aware-neural-language-models.html )

第4部分作业:

Assignment 3.3(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/Assignmnet.md )
3Grooving with GRUs((NER)基于GRU的名称识别

第九周

第1部分学习任务:

DMN与问答系统,观看课件lecture16、视频、学习笔记

学习时长:12/24—12/25

课件: lecture16(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture16.pdf )观看视频16(链接地址: https://www.bilibili.com/video/av30326868/?p=16 )学习笔记:DMN与问答系统(链接地址: http://www.hankcs.com/nlp/cs224n-dmn-question-answering.html )

第2部分学习任务:

NLP存在的问题与未来的架构,观看课件lecture17、视频、学习笔记
学习时长:12/27—12/28
课件: lecture17(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture17.pdf )
观看视频17(链接地址: https://www.bilibili.com/video/av30326868/?p=17 )
学习笔记:指代消解(链接地址: http://www.hankcs.com/nlp/cs224n-nlp-issues-architectures.html )

第3部分学习任务:

(1)论文导读:谷歌的多语种神经网络翻译系统
学习时长:12/30
论文原文: paper(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/Learning Program Embeddings to Propagate Feedback on Student Code.pdf )
论文分析: highlight(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/paper/highlight/cs224n-2017-lecture12-highlight.pdf )
论文笔记:学习代码中的语义(链接地址: http://www.hankcs.com/nlp/cs224n-program-embeddings.html )

第4部分作业:

Assignment 3.3(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/Assignmnet.md )
3Grooving with GRUs((NER)基于GRU的名称识别

第十周

第1部分学习任务:

挑战深度学习与自然语言处理的极限,观看课件lecture18、视频、学习笔记

学习时长:12/31—1/1

课件: lecture18(链接地址: https://github.com/learning511/cs224n-learning-camp/blob/master/lecture-notes/cs224n-2017-lecture18.pdf )观看视频18(链接地址: https://www.bilibili.com/video/av30326868/?p=18 )学习笔记:挑战深度学习与自然语言处理的极限(链接地址: http://www.hankcs.com/nlp/cs224n-tackling-the-limits-of-dl-for-nlp.html )

第2、3部分学习任务:

(1)论文导读:neural-turing-machines
学习时长:1/3—1/6
论文原文: paper( https://github.com/learning511/cs224n-learning-camp/blob/master/paper/Deep Reinforcement Learning for Dialogue Generation.pdf )
论文分析: highlight( https://github.com/learning511/cs224n-learning-camp/blob/master/paper/highlight/cs224n-2017-lecture14-highlight.pdf )
论文笔记:neural-turing-machines( http://www.hankcs.com/nlp/cs224n-neural-turing-machines.html )

(2)论文导读: 深度强化学习用于对话生成
学习时长:1/3—1/6
论文原文: paper( https://github.com/learning511/cs224n-learning-camp/blob/master/paper/Deep Reinforcement Learning for Dialogue Generation.pdf )
论文分析: highlight( https://github.com/learning511/cs224n-learning-camp/blob/master/paper/highlight/cs224n-2017-lecture11-highlight.pdf )
论文笔记:深度强化学习用于对话生成( http://www.hankcs.com/nlp/cs224n-deep-reinforcement-learning-for-dialogue-generation.html )


第十一周

二、分节学习内容

(1)论文导读:图像对话

学习时长:1/7—1/13

论文原文: paper( https://github.com/learning511/cs224n-learning-camp/blob/master/paper/highlight/cs224n-2017-lecture5-highlight.pdf )论文分析: highlight( https://github.com/learning511/cs224n-learning-camp/blob/master/paper/Visual Dialog.pdf )论文笔记:图像对话( http://www.hankcs.com/nlp/cs224n-visual-dialog.html )

(2)比赛复盘:对之前的比赛进行回顾

(3)课程总结:输出自己的笔记内容


达观杯比赛

1.观看达观杯NLP算法大赛报名指导PDF和入门指导视频


学习时长:10/25—11/4
零基础1小时完成一场AI比赛
达观杯文本智能挑战赛入门指导(视频在下方,如果不清楚也可以去荔枝微课看 https://m.weike.fm/lecture/10195400 ,密码是011220)

02零基础1小时完成一场AI比赛.pdf
2018.10.22
03 达观杯文本智能挑战赛.mp4 2018.10.22

2.观看达观杯NLP算法大赛进阶指导视频

学习时长:11/19—12/2
达观杯文本智能挑战赛进阶指导(视频在下方,如果不清楚也可以去荔枝微课看 https://m.weike.fm/lecture/10726829 ,密码是011220)
04达观杯之文本分类任务解析与代码使用(进阶指导).mp4 2018.11.18

你可能感兴趣的:(NLP)