【NLP专题】斯坦福CS224n课程笔记01:自然语言处理与深度学习简介

2018 年 5 月 16 日 专知 Mandy
【NLP专题】斯坦福CS224n课程笔记01:自然语言处理与深度学习简介

【导读】专知内容组近期将会推出自然语言处理、计算机视觉等国外经典课程笔记系列。我们将首先介绍基于深度学习的自然语言处理的相关知识及应用。本系列博文基于斯坦福CS224n 2018最新课程进行总结,请大家密切关注。今天我们就来介绍一下第一课,第一课属于课程大纲篇,首先介绍了自然语言处理相关概念、自然语言处理的应用(情感分析、检索、语音识别、聊天机器人等等),然后介绍深度学习相关概念,以及为什么使用深度学习进行自然语言处理。最终引入基于深度学习的自然语言处理应用(Deep NLP),包括情感分析、智能问答、机器翻译等,感兴趣的读者可以详细阅读一下。


  • 2018CS224n官网:

    http://web.stanford.edu/class/cs224n/index.html 


  • 2017CS224n官方笔记:

    https://github.com/stanfordnlp/cs224n-winter17-notes


  • 2017CS224n视频地址:

    https://www.youtube.com/watch?v=OQQ-W_63UgQ&list=PL3FW7Lu3i5Jsnh1rnUwq_TcylNr7EkRe6


  • 2017CS224n国内在线观看:

    https://www.bilibili.com/video/av13383754


cs224n深度学习与NLP课程详细信息可以参见专知以前的内容:

【最新】2018斯坦福cs224n深度学习与NLP课程又开课了(附ppt下载)


Lecture 01 Introduction to NLP and Deep Learning


本节课计划




什么是自然语言处理? 人类语言的本质 (15 mins)

  • 什么是深度学习?(15 mins)

  • 课程安排 (15mins)

  • 为什么语言理解很困难(10mins)


基于深度学习的自然语言处理应用介绍 (20 mins)


一.自然语言处理




1. 什么是自然语言处理

• 自然语言处理(Natural Language Processing, NLP)是一门集计算机科学、人工智能和语言学知识于一体的交叉学科。其目标是让计算机可以处理或者"理解"自然语言,从而可以执行一系列有用的任务,比如:机器翻译,智能问答(Siri,Google Assistant, Facebook M, Cortana …)。充分理解和表达语言的意义(甚至定义它)是一个困难的目标。


• 自然语言处理的过程,如下图:   

这门课我们将着重于语法分析(Syntactic analysis)和语义解释(Semantic Interpretation)。


• 自然语言处理的应用(一小部分) 应用从简单到复杂,分别为:

  • 拼写检查,关键字搜索,同义词搜索。

  • 从网站中提取信息(比如:产品价格、日期、地点、人员或公司名称)。

  • 分类:文章的情感分析等

  • 机器翻译

  • 口语对话系统

  • 复杂的问答系统


• 自然语言处理在工业界的应用

  • 检索(文字和语音)

  • 在线广告匹配

  • 自动/协助翻译

  • 市场营销或金融/交易中的情感分析

  • 语音识别

  • 聊天机器人/对话代理(自动化客户支持,智能设备控制,订购货物...)


2. 人类语言的特别之处

人类语言是一种专门用来表达说话者/作者意思的系统。它不仅仅是一个环境信号,更是一个深思熟虑的结果。语言可以通过多种方式被编码为沟通信号(声音,手势,文字/图像)。人类语言是一种符号的/分类的信号系统。然而,大脑编码似乎是一种连续的激活模式,这些符号通过声音/视觉的连续信号传送。大量的词汇,以及单词的符号编码导致了一个机器学习的问题——稀疏性! 所以我们将探索一种持续的编码的模式。


3. 为什么自然语言处理是困难的

• 语言/情境/背景/视觉知识的表达、学习和使用的复杂性

• 人类语言是模糊的,有歧义的(不像编程和其他正式语言)


二.深度学习




1. 什么是深度学习?

• 深度学习(Deep Learning, DL)是机器学习的一个分支。机器学习想必大家都不陌生,由于人为设计的表示法和输入特征,使得大多数机器学习方法效果都很不错,例如:命名实体查找的特征。机器学习只是优化权重,以便最好地做出最终预测(如下图)。

与标准机器学习相比,表示学习试图自动学习好的特性或表示。深度学习算法尝试学习(多层)表示,如下图,这里有:h1、h2、h3和输出h4,从“原始”输入x(例如声音、像素、字符或单词)来学习表示。  

• 本课程我们将重点关注不同类型的神经网络以及在深度学习中占主导地位的模型。我们将不再采用历史方法,而是专注于目前在NLP问题上行之有效的方法。

 

2. 为什么要用深度学习?

• 手工设计的特性往往是过度指定的,不完整的,并且需要花很长的时间来设计和验证。深度学习使得学到的特性很容易调整,并且速度很快。深度学习提供了一个非常灵活的,几乎是通用的,可学习的框架来表示这个世界,视觉和语言信息。深度学习可以(从原始文本)进行无监督学习以及(带有特定的标签,如积极/消极)监督学习。


• 从2010年以来,深度学习技术开始超越其他机器学习技术,取得了飞速发展。其原因有如下因素:1.大量训练数据支持深度学习,2.更快的机器和多核CPU/GPU支持深度学习, 3. 更多更新的模型和算法支持,以及更好的正则化和优化方法(例如:端到端学习,迁移学习等)。


• 在多个领域大大提升了性能(首先是语音和视觉,然后是NLP)

  • 语音方面 “深度学习”在大数据集上的第一个突破性成果出现在语音识别中。参考论文:Context-Dependent Pre-trained Deep Neural Networks for Large Vocabulary Speech Recognition. Dahl et al. (2010)  

  • 计算机视觉方面

    深度学习小组的第一个重点是计算机视觉。具有突破性的论文是:ImageNet Classification with Deep Convolutional Neural Networks by Krizhevsky, Sutskever, & Hinton, 2012, U. Toronto.


三.Deep NLP = Deep Learning + NLP




• 深度自然语言处理(Deep NLP),就是利用表示学习和深度学习的方法来解决自然语言处理的问题。近年来,深度学习的应用在自然语言处理领域取得一些重大突破:

  • 在语言上:(语音)、词汇、句法、语义

  • 中间任务/工具:词性,实体,解析

  • 完整的应用:情感分析,智能问答,对话代理,机器翻译


• 单词作为一个神经词向量——可视化。

• 词的相似度


• 自然语言的表征:形态学(Morphology) 传统的方法:单词都是由词素来表示的。 深度学习的方法:每个词素都是一个向量,神经网络将多个词素向量结合成一个单词向量。


• NLP工具:句子结构的解析

• 自然语言的表征:语义(Semantics)


• NLP应用:情感分析(Sentiment Analysis)


• NLP应用:智能问答(Question Answering)


• NLP应用:对话代理/响应生成(Dialogue agents/Respons Generation)

• NLP应用:机器翻译(MachineTranslation)

• NLP应用:神经机器翻译(Neural Machine Translation)


• 总结: 用向量(vectors)来表示一切!下节课我们将学习如何学习单词的向量表示以及它们的实际表示。


建议阅读资料:




线性代数回顾 

http://web.stanford.edu/class/cs224n/readings/cs229-linalg.pdf

概率论回顾 

http://web.stanford.edu/class/cs224n/readings/cs229-prob.pdf

凸优化回顾 

http://web.stanford.edu/class/cs224n/readings/cs229-cvxopt.pdf

更多优化方法(SGD)的回顾 

http://cs231n.github.io/optimization-1/

 

请关注专知公众号(扫一扫最下面专知二维码,或者点击上方蓝色专知),

  • 后台回复“NLPS” 就可以获取 2018年斯坦福CS224n课程PPT下载链接~


更多教程资料请访问:专知AI会员计划

-END-

专 · 知

人工智能领域主题知识资料查看与加入专知人工智能服务群

【专知AI服务计划】专知AI知识技术服务会员群加入人工智能领域26个主题知识资料全集获取

[点击上面图片加入会员]

请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料

请加专知小助手微信(扫一扫如下二维码添加),加入专知主题群(请备注主题类型:AI、NLP、CV、 KG等)交流~

关注专知公众号,获取人工智能的专业知识!

点击“阅读原文”,使用专知

登录查看更多
4

相关内容

自然语言处理(NLP)是语言学,计算机科学,信息工程和人工智能的一个子领域,与计算机和人类(自然)语言之间的相互作用有关,尤其是如何对计算机进行编程以处理和分析大量自然语言数据 。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等

【导读】本文为大家带来了一份斯坦福大学的最新课程CS224n——自然语言处理与深度学习,主讲人是斯坦福大学Chris Manning,他是斯坦福大学机器学习教授,语言学和计算机科学教授,斯坦福人工智能实验室(SAIL)主任,以人为本的人工智能研究所副所长。

近年来,深度学习方法在许多不同的NLP任务中获得了非常高的性能,使用不需要传统的、特定于任务的特征工程的单个端到端神经模型。在本课程中,学生将深入了解NLP深度学习的前沿研究。通过讲座、作业和期末专题,学生将学习设计、实施和理解自己的神经网络模型所需的必要技能。本课程使用Pytorch 进行教学。

1. 课程介绍(Description)

自然语言处理(NLP)是信息时代最重要的技术之一,也是人工智能的重要组成部分。NLP的应用无处不在,因为人们几乎用语言交流一切:网络搜索、广告、电子邮件、客户服务、语言翻译、虚拟代理、医疗报告等。近年来,深度学习方法在许多不同的NLP任务中获得了非常高的性能,使用不需要传统的、特定于任务的特征工程的单个端到端神经模型。在本课程中,学生将深入了解NLP深度学习的前沿研究。通过讲座、作业和期末专题,学生将学习设计、实施和理解自己的神经网络模型所需的必要技能。作为去年的试点,CS224n将在今年使用Pytorch进行教学。

课程链接:http://web.stanford.edu/class/cs224n/

2. 之前的课程(Previous offerings)

本课程于2017年由早期的CS224n(自然语言处理)和CS224d(自然语言处理与深度学习)课程合并而成。下面你可以找到存档的网站和学生项目报告。

CS224n Websites: Winter 2019 / Winter 2018 / Winter 2017 / Autumn 2015 / Autumn 2014 / Autumn 2013 / Autumn 2012 / Autumn 2011 / Winter 2011 / Spring 2010 / Spring 2009 / Spring 2008 / Spring 2007 / Spring 2006 / Spring 2005 / Spring 2004 / Spring 2003 / Spring 2002 / Spring 2000

CS224n Lecture Videos: Winter 2019 / Winter 2017 CS224n Reports: Winter 2019 / Winter 2018 / Winter 2017 / Autumn 2015 and earlier

CS224d Reports: Spring 2016 / Spring 2015

3. 预备知识(Prerequisites)

1)精通Python

所有的课堂作业都将使用Python(使用NumPy和PyTorch)。如果您需要提醒自己使用Python,或者您对NumPy不是很熟悉,则可以参加第1周的Python复习(在时间表中列出)。如果你有丰富的编程经验,但使用不同的语言(如C/ c++ /Matlab/Java/Javascript),你可能会很好。

2)大学微积分,线性代数(如MATH 51, CME 100)

你应该能够熟练地进行(多变量)求导,理解矩阵/向量符号和运算。

3)基本概率及统计(例如CS 109 或同等课程)

你应该了解基本的概率,高斯分布,均值,标准差等。

4)机器学习的基础(例如CS 221或CS 229)

我们将阐述成本函数,求导数,用梯度下降法进行优化。如果你已经有了基本的机器学习和/或深度学习的知识,课程将会更容易;但是,没有它也可以使用CS224n。在网页、书籍和视频形式中,有很多关于ML的介绍。哈尔·道姆(Hal Daume)正在开设的机器学习课程是一种很好的入门方式。阅读那本书的前5章将是很好的背景知识。知道前7章会更好!

4. 参考书籍(Reference Texts)

所有这些都可以在网上免费阅读:

  • Dan Jurafsky and James H. Martin. Speech and Language Processing (3rd ed. draft)

  • Jacob Eisenstein. Natural Language Processing

  • Yoav Goldberg. A Primer on Neural Network Models for Natural Language Processing

  • Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep Learning

  • Delip Rao and Brian McMahan. Natural Language Processing with PyTorch. (requires Stanford login)

如果你没有神经网络方面的背景知识,但无论如何还是想要学习这门课程,你可能会发现这些书中的一本对你提供更多的背景知识很有帮助:

  • Michael A. Nielsen. Neural Networks and Deep Learning

  • Eugene Charniak. Introduction to Deep Learning

5. 主讲:Christopher Manning

克里斯托弗·曼宁(Christopher Manning)是斯坦福大学(Stanford University)计算机科学和语言学系机器学习教授,斯坦福大学人工智能实验室(SAIL)主任。他的研究目标是能够智能处理、理解和生成人类语言材料的计算机。曼宁是将深度学习应用于自然语言处理领域的领军人物,在树递归神经网络、词向量手套模型、情感分析、神经网络依赖分析、神经机器翻译、问答和深度语言理解等领域都有著名的研究成果。他还专注于解析、自然语言推理和多语言处理的计算语言方法,包括斯坦福依赖关系和通用依赖关系的主要开发者。曼宁与人合著了《自然语言处理的统计方法》(Manning and Schütze 1999)和《信息检索》(Manning,Raghavan and Schütze,2008)两本领先的教科书,还合著了关于能性和复杂谓词的语言学专著。他是ACM Fellow,AAAI Fellow,ACL Fellow,也是前ACL主席(2015)。他的研究曾获得ACL、Coling、EMNLP和CHI最佳论文奖。1994年,他在澳大利亚国立大学获得学士学位,在斯坦福大学获得博士学位。在回到斯坦福大学之前,他曾在卡内基梅隆大学和悉尼大学担任教职。他是斯坦福NLP小组的创始人,负责斯坦福大学CoreNLP软件的开发。

个人主页:https://nlp.stanford.edu/~manning/

6. 课程安排

01: 介绍和词向量(Introduction and Word Vectors)

 Gensim字矢量示例(Gensim word vectors example)

02:单词向量2和单词意义(Word Vectors 2 and Word Senses)

03:Python复习课(Python review session)

04:词窗口分类、神经网络和矩阵演算(Word Window Classification, Neural Networks, and Matrix Calculus)

05:反向传播和计算图(Backpropagation and Computation Graphs)

06:语言结构:依存分析(Linguistic Structure: Dependency Parsing)

07:一个句子的概率?递归神经网络和语言模型(The probability of a sentence? Recurrent Neural Networks and Language Models)

08:消失的梯度和花哨的RNNs (Vanishing Gradients and Fancy RNNs)

09:机器翻译,Seq2Seq and Attention (Machine Translation, Seq2Seq and Attention)

10:最终项目的实用技巧(Practical Tips for Final Projects)

11:问答和默认的最终项目(Question Answering and the Default Final Project)

12:NLP的ConvNets(ConvNets for NLP)

13:部分单词(子单词模型)和转换器结构的信息(部分单词(子单词模型)和转换器结构的信息)

14:上下文单词表示(Contextual Word Representations)

15:使用的建模上下文:上下文表示和预训练(Modeling contexts of use: Contextual Representations and Pretraining)

16:自然语言生成(Natural Language Generation)

17:语言参考和共指解析(Reference in Language and Coreference Resolution)

18:AI中的公平和包容(Fairness and Inclusion in AI)

19:选区解析和树递归神经网络(Constituency Parsing and Tree Recursive Neural Networks)

20:NLP以及深度学习的未来(NLP+深度学习的未来)

PPT下载链接:https://pan.baidu.com/s/1opTmkGfaRHF-xBRHGtUIRw 提取码:re2l

成为VIP会员查看完整内容
0
58
小贴士
相关论文
Visualizing and Measuring the Geometry of BERT
Andy Coenen,Emily Reif,Ann Yuan,Been Kim,Adam Pearce,Fernanda Viégas,Martin Wattenberg
5+阅读 · 2019年10月28日
Hang Yan,Xipeng Qiu,Xuanjing Huang
4+阅读 · 2019年4月9日
Interpretable machine learning: definitions, methods, and applications
W. James Murdoch,Chandan Singh,Karl Kumbier,Reza Abbasi-Asl,Bin Yu
12+阅读 · 2019年1月14日
Joint Embedding of Meta-Path and Meta-Graph for Heterogeneous Information Networks
Lichao Sun,Lifang He,Zhipeng Huang,Bokai Cao,Congying Xia,Xiaokai Wei,Philip S. Yu
4+阅读 · 2018年9月11日
Antoine J. -P. Tixier
10+阅读 · 2018年8月30日
Zhuwei Qin,Funxun Yu,Chenchen Liu,Xiang Chen
10+阅读 · 2018年4月30日
Holger R. Roth,Chen Shen,Hirohisa Oda,Masahiro Oda,Yuichiro Hayashi,Kazunari Misawa,Kensaku Mori
5+阅读 · 2018年3月23日
Matthew E. Peters,Mark Neumann,Mohit Iyyer,Matt Gardner,Christopher Clark,Kenton Lee,Luke Zettlemoyer
9+阅读 · 2018年3月22日
Qiuyuan Huang,Li Deng,Dapeng Wu,Chang Liu,Xiaodong He
6+阅读 · 2018年2月20日
Wenlin Wang,Zhe Gan,Wenqi Wang,Dinghan Shen,Jiaji Huang,Wei Ping,Sanjeev Satheesh,Lawrence Carin
5+阅读 · 2017年12月29日
Top