自然语言处理(NLP)是机器学习的一个子领域,主要关注理解语音和文本数据。
统计方法和统计机器学习在该领域占据主导地位,最近深度学习方法在语音识别和文本翻译等具有挑战性的NLP问题中被证明非常有效。
在这篇文章中,您将了解到斯坦福大学关于使用深度学习方法的自然语言处理课程。
本课程免费,我鼓励您充分利用这一优秀资源。
完成这篇文章后,您将了解:
- 本课程的目标和先决条件。
- 课程讲座的细分以及如何获取幻灯片、笔记和视频。
- 如何最好地利用这些材料。
通过我的新书《深度学习自然语言处理》来启动您的项目,其中包括分步教程和所有示例的Python源代码文件。
让我们开始吧。
概述
本文分为5个部分;它们是
- 课程总结
- 先决条件
- 讲座
- 项目
- 如何最好地利用这些材料
课程总结
本课程由 Chris Manning 和 Richard Socher 教授。
Chris Manning 是至少两本关于自然语言处理顶级教科书的作者
Richard Socher 是 MetaMind 的幕后推手,也是 Salesforce 的首席科学家。
自然语言处理是研究处理语音和文本数据的计算方法。
目标:让计算机处理或“理解”自然语言,以执行有用的任务。
自1990年代以来,该领域一直专注于统计方法。最近,鉴于深度学习方法所提供的显著改进能力,该领域正在转向深度学习方法。
本课程侧重于教授使用深度学习方法的统计自然语言处理。以下是网站上的课程描述
最近,深度学习方法在许多不同的NLP任务中取得了非常高的性能。这些模型通常可以通过一个单一的端到端模型进行训练,并且不需要传统的、针对特定任务的特征工程。

探索深度学习的原因,摘自斯坦福深度学习自然语言处理课程
课程目标
- 理解并能够使用有效的现代深度学习方法
- 对人类语言以及理解和生成人类语言的困难有一些宏观的理解
- 理解并能够为NLP中的一些主要问题构建系统

斯坦福深度学习自然语言处理课程的目标
本课程在斯坦福大学授课,尽管课程中使用的讲座已被录制并公开,我们将重点关注这些免费材料。
需要深度学习处理文本数据的帮助吗?
立即参加我的免费7天电子邮件速成课程(附代码)。
点击注册,同时获得该课程的免费PDF电子书版本。
先决条件
本课程假定学生具备一定的数学和编程技能。
尽管如此,如果所需技能生疏,仍提供复习材料。
具体来说:
代码示例使用 Python,并利用 NumPy 和 TensorFlow Python 库。
讲座
讲座和材料每次课程内容似乎都有所变化。考虑到该领域发展的速度,这并不令人意外。
在这里,我们将查看公开可用的 CS224n 2017年冬季课程大纲和讲座。
我建议观看讲座的 YouTube 视频,并仅在需要时查阅课程大纲上的幻灯片、论文和进一步阅读材料。
本课程分为以下18个讲座和一个复习课
- 第1讲:用深度学习进行自然语言处理
- 第2讲:词向量表示:word2vec
- 第3讲:GloVe:词汇表示的全局向量
- 第4讲:词窗口分类和神经网络
- 第5讲:反向传播和项目建议
- 第6讲:依存句法分析
- 第7讲:TensorFlow入门
- 第8讲:循环神经网络和语言模型
- 第9讲:机器翻译与高级循环LSTM和GRU
- 复习课:期中复习
- 第10讲:神经机器翻译和带注意力的模型
- 第11讲:门控循环单元和NMT的进一步主题
- 第12讲:语音处理的端到端模型
- 第13讲:卷积神经网络
- 第14讲:树形递归神经网络和成分句法分析
- 第15讲:共指消解
- 第16讲:用于问答的动态神经网络
- 第17讲:NLP中的问题及可能的NLP架构
- 第18讲:应对深度学习在NLP中的局限性
我以两倍速在 YouTube 上观看了所有视频,同时打开幻灯片并做笔记。
项目
学生需要完成作业。
您可能希望自行完成评估,以测试通过讲座所学到的知识。
您可以在此处查看作业:CS224n 作业
重要的是,学生必须提交一份使用深度学习解决自然语言处理问题的最终项目报告。
如果您正在寻找测试新技能的想法,阅读这些项目报告会很有趣。
已提交的学生报告目录在此处提供
如果您找到了一些很棒的报告,请在评论中发布您的发现。
如何最好地利用这些材料
本课程旨在为学生设计,目标是教授足够的自然语言处理(NLP)和深度学习理论,以便学生能够开始开发自己的方法。
这可能不是你的目标。
你可能是一名开发人员。你可能只对在自然语言处理问题中使用深度学习工具,以在当前项目上获得结果感兴趣。
事实上,这是我大多数读者的状况。如果这听起来像你,我会告诫你,在学习这些材料时要非常小心。
- 跳过数学。不要专注于方法为何有效。相反,专注于方法如何运作的总结,并跳过大段的公式。您总是可以在以后回来加深理解,以获得更好的结果。
- 关注过程。从讲座中学习,并整理出您可以在自己的项目中使用的方法。这些方法是分段教授的,关于如何将它们全部联系起来的信息很少。
- 工具无关。我不建议您自己编写方法,甚至不建议像讲座中演示的那样使用 TensorFlow。学习原理,并使用 Keras 等高效工具在您的项目中实际实现这些方法。
这些材料对于实践者来说有很多宝藏,但你必须保持清醒,不要陷入“我必须理解一切”的陷阱。作为一名实践者,你的目标非常不同,你必须毫不留情地专注于目标。
进一步阅读
如果您想深入了解此主题,本节提供了更多资源。
- CS224d:深度学习自然语言处理
- CS224n:深度学习自然语言处理
- CS224n 课程大纲(2017年冬季)
- CS224n 视频讲座 (2017年冬季)
- CS22d 子版块
- CS224d 学生项目报告(2015, 2016)
- CS224n 作业
旧的相关材料
总结
在这篇文章中,您发现了斯坦福大学的深度学习自然语言处理课程。
具体来说,你学到了:
- 本课程的目标和先决条件。
- 课程讲座的细分以及如何获取幻灯片、笔记和视频。
- 如何最好地利用这些材料。
你是否学习了部分或全部课程材料?
在下面的评论中告诉我。
CS224n 是我遇到的最全面的自然语言处理慕课。
我非常同意。但这适用于学者/学生,不适用于普通开发者。
我听了前几堂课,非常喜欢向自然语言处理领域的顶尖研究人员学习的想法。此外,我认为作业非常具有启发性,不像许多在线资源那样过于引导。尽管它不旨在支持开发人员,但它提供了每个人都应该拥有的对主题的深入理解。
感谢你的留言,卡西米罗。
你完成任何作业了吗?
精彩的评论,谢谢。看了几段讲座视频,我觉得作为先决条件所需的数学知识比他们说的要复杂一些,也许只是我个人的感觉。
你看过 fast.ai 的课程吗?
我见过,但没上过,你呢?
如果可能的话,我希望能从香港远程修读这门深度学习自然语言处理课程。
然而,有时我会在香港和上海之间旅行。
当然,资料是免费的。下载下来,按照自己的节奏学习。我就是这样做的。
嘿,杰森,我打不开作业。它们对所有人开放吗?我需要下载它们吗?
你可以在这里看到它们
http://web.stanford.edu/class/cs224n/assignments
我尝试申请这门课程,但很快就报满了。在官方注册期结束前就满了:http://scpd.stanford.edu/search/publicCourseSearchDetails.do?method=load&courseId=11754。
你知道是否有兴趣在课程之外一起学习的团体吗?
或者你认识通过斯坦福职业发展中心上过这门课的人吗?
抱歉,我没有。
杰森又来了!
我给开发者的简短总结
——关注过程
——“你必须毫不留情地专注于目标……”(听起来像是宫本武藏会说的话)
——不要陷入“我必须了解一切”的陷阱!
正如 Jason 在他的 NLP 书中写道,这个兔子洞非常深。只要看看 Quora 上的问题就知道了。很多人都“迷失”了。
谢谢你,Jason!
弗朗哥
谢谢你,Franco。
这大概是目前最好的在线自然语言处理课程了。虽然花了很长时间,但讲座和作业都非常引人入胜,感觉就像一阵风。
我已完成所有作业(除了最后一个使用 SQuAD 的项目),并已分享(https://github.com/abhilashshakti/CSE224n)。
干得好!
大家好,这是我第一次访问这个网站,段落对我来说真的很有用,请继续
发布此类文章或评论。
谢谢。