斯坦福大学在三月份开设了一门“深度学习与自然语言处理”的课程:CS224d: Deep Learning for Natural Language Processing,授课老师是青年才俊 Richard Socher,他本人是德国人,大学期间涉足自然语言处理,在德国读研时又专攻计算机视觉,之后在斯坦福大学攻读博士学位,拜师NLP领域的巨牛 Chris Manning 和 Deep Learning 领域的巨牛Andrew Ng,其博士论文是《Recursive Deep Learning for Natural Language Processing and Computer Vision》,也算是多年求学生涯的完美一击。毕业后以联合创始人及CTO的身份创办了MetaMind,作为AI领域的新星创业公司,MetaMind创办之初就拿了800万美元的风投,值得关注。

回到这们课程CS224d,其实可以翻译为“面向自然语言处理的深度学习(Deep Learning for Natural Language Processing)”,这门课程是面向斯坦福学生的校内课程,不过课程的相关材料都放到了网上,包括课程视频,课件,相关知识,预备知识,作业等等,相当齐备。课程大纲相当有章法和深度,从基础讲起,再讲到深度学习在NLP领域的具体应用,包括命名实体识别,机器翻译,句法分析器,情感分析等。Richard Socher此前在ACL 2012和NAACL 2013 做过一个Tutorial,Deep Learning for NLP (without Magic),感兴趣的同学可以先参考一下: Deep Learning for NLP (without Magic) – ACL 2012 Tutorial – 相关视频及课件 。另外,由于这门课程的视频放在Youtube上,@爱可可-爱生活 老师维护了一个网盘链接:http://pan.baidu.com/s/1pJyrXaF ,同步更新相关资料,可以关注。

第一讲:引言-自然语言处理与深度学习简介(Intro to NLP and Deep Learning)

推荐阅读材料:

  1. 线性代数相关知识点回顾:[Linear Algebra Review]
  2. 概率相关知识点回顾:[Probability Review]
  3. 凸优化相关知识点回顾: [Convex Optimization Review]
  4. 优化相关的另一篇介绍(来自于斯坦福CS231课程资料),随机梯度下降相关[More Optimization (SGD) Review]
  5. 语义向量空间模型的一篇综述[From Frequency to Meaning: Vector Space Models of Semantics]
  6. 课程第一部分的Notes,涉及第一讲和第二讲[Lecture Notes 1]
  7. python及numpy简介[python tutorial]
  8. 第一讲Slides[slides]
  9. 第一讲视频[video]

以下是第一讲的相关笔记,主要参考自课程的slides,视频和其他相关资料。

什么是自然语言处理(NLP)

  • 自然语言处理是一门交叉学科,包括计算机科学,人工智能和语言学
  • 目标:让计算机去处理或“理解”自然语言, 完成一些有用的任务例如问答系统,机器翻译
  • 完全理解或者表示语言的意义(甚至去定义它)都是一个虚幻的目标
  • 完美的理解语言是一个“AI-complete”的问题

自然语言处理的层次

自然语言处理的应用

  • 应用范围从简单到复杂
  • 拼写检查, 关键词提取&搜索,同义词查找&替换
  • 从网页中提取有用的信息例如产品价格,日期,地址,人名或公司名等
  • 分类,例如对教科书的文本进行分级,对长文本进行正负情绪判断
  • 机器翻译
  • 口语对话系统
  • 复杂的问答系统

工业届里的NLP应用

  • 搜索引擎
  • 在线广告
  • 自动的或辅助的翻译技术
  • 市场营销或者金融交易领域的情感分析
  • 语音识别

NLP为什么这么难

  • 语言在表达上就很复杂,使用的时候要综合考虑使用情境
  • Jane hit June and then she [fell/ran].
  • 歧义问题:“I made her duck”

什么是深度学习(DL)

  • 深度学习是机器学习的一个分支
  • 大多数机器学习方法很有效主要依靠人工精心设计的特征,例如下表是一个命名实体识别任务中设计的特征模板(Finkel, 2010)

  • 最终这些机器学习问题会变成优化问题:优化这些特征权重以达到最好的预测效果

机器学习 vs 深度学习

什么是深度学习(DL)续

  • 表示学习 or 表达学习(Representation Learning)尝试自动的学习合适的特征及其表征
  • 深度学习(Deep Learning) 算法尝试学习(多层次)的表征以及输出
  • 从一个“原生”的输入x(例如“单词”)

深度学习的历史

  • 这门课主要关注至今为止在解决NLP问题上有效果的深度学习技术
  • 关于深度学习模型的相关历史,推荐参考《Deep Learning in Neural Networks: An Overview》

探索深度学习的原因

  • 人工设计的特征常常定义过多,不完整并且需要花费大量的时间去设计和验证
  • 自动学习的特征容易自适应,并且可以很快的学习
  • 深度学习提供了一个弹性的,通用的学习框架用来表征自然的,视觉的和语言的信息。
  • 深度学习可以用来学习非监督的(来自于生文本)和有监督的(带有特别标记的文本,例如正向和负向标记)
  • 在2006年深度学习技术开始在一些任务中表现出众,为什么现在才热起来?
    • 深度学习技术受益于越来越多的数据
    • 更快的机器与更多核CPU/GPU对深度学习的普及起了很大的促进作用
    • 新的模型,算法和idea层出不穷
  • 通过深度学习技术提升效果首先发生在语音识别和机器视觉领域,然后开始过渡到NLP领域

面向语音识别的深度学习

  • “深度学习”在大数据集上的第一个突破性进展发生在语音识别领域
  • Paper:Context-Dependent Pre-trained Deep Neural Networks for Large Vocabulary Speech Recognition Dahl et al. (2010)

面向计算机视觉的深度学习

  • 很多深度学习研究小组把大量的精力放在计算机视觉上(直到现在也是)
  • 突破性的Paper: ImageNet Classification with Deep Convolutional Neural Networks by Krizhevsky et al. 2012

Deep Learning + NLP = Deep NLP

  • 综合使用一些深度学习的方法来解决NLP的相关问题
  • 近几年在NLP的一些应用领域效果有了较大的提升
    • 层次:语音,词形,句法,语义
    • 应用:机器翻译,情感分析,问答系统

音位学层次的表示

  • 传统的方法:音素

  • 深度学习:通过声音特征并将这些特征表示为向量直接来预测音素(或词语)

形态学层次的表示

  • 传统的方法:语素,例如前缀,词干,后缀等
  • 深度学习:
    • 每个语素都用向量表示
    • 神经网络用于向量的两两合并
    • Thang et al. 2013

句法层次的表示

  • 传统的方法:将一个短语或句子划分到多个句法标记,例如NP,VP等

  • 深度学习
    • 每个单词或者短语都是一个向量
    • 神经网络用于向量的两两合并
    • Socher et al. 2011

语义层次的表示

  • 传统的方法: Lambda算子 or Lambda演算(Lambda calculus)

    • 非常精细的函数设计
    • 需要指定其他函数的输入
    • 没有相似性的概念或者模糊语言

  • 深度学习
    • 每个单词或者短语或者逻辑表达式都是一个向量
    • 神经网络用于向量的两两合并
    • Bowman et al. 2014

NLP应用:情感分析

  • 传统的方法:精选的情感词典+词袋模型(忽略词序)+人工设计的特征(很难覆盖所有的信息)
  • 深度学习:和上述词素,句法和语义相似的深度学习模型–>RNN
  • Demo: http://nlp.stanford.edu/sentiment/

NLP应用:问答系统

  • 传统的方法:用了非常多的特征工程去获取相关的知识,例如正则表达式,Berant et al. (2014)

  • 深度学习:和上述词素,句法,语义,情感分析相似的深度学习模型
  • 知识可以储备在向量中

NLP应用:机器翻译

  • 过去尝试过很多层次的机器翻译方法
  • 传统的机器翻译系统是一个非常大的复杂系统
  • 可以思考一下在深度学习中中间语(interlingua)对于翻译系统是如何起作用的?

  • 深度学习:
    • 源句子首先映射为向量,然后在输出的时候进行句子生成

    • Sequence to Sequence Learning with Neural Networks by Sutskever et al. 2014
    • 方法很新但是可以替换传统非常复杂的机器翻译架构

可以发现所有NLP层次的表示都涉及到向量(Vectors), 下一讲将讲到如何来学习词向量以及这些向量表示了什么?

注:原创文章,转载请注明出处“我爱自然语言处理”:http://www.52nlp.cn

本文链接地址:斯坦福大学深度学习与自然语言处理第一讲:引言

斯坦福大学深度学习与自然语言处理第一讲:引言相关推荐

  1. 斯坦福大学深度学习与自然语言处理第一讲引言

    http://www.52nlp.cn/%E6%96%AF%E5%9D%A6%E7%A6%8F%E5%A4%A7%E5%AD%A6%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A ...

  2. 斯坦福大学深度学习与自然语言处理第二讲:词向量

    斯坦福大学在三月份开设了一门"深度学习与自然语言处理"的课程:CS224d: Deep Learning for Natural Language Processing,授课老师是 ...

  3. 斯坦福大学深度学习与自然语言处理第三讲:高级的词向量表示

    斯坦福大学在三月份开设了一门"深度学习与自然语言处理"的课程:CS224d: Deep Learning for Natural Language Processing,授课老师是 ...

  4. 斯坦福大学深度学习与自然语言处理第四讲:词窗口分类和神经网络

    斯坦福大学在三月份开设了一门"深度学习与自然语言处理"的课程:CS224d: Deep Learning for Natural Language Processing,授课老师是 ...

  5. 【CS224n】2斯坦福大学深度学习自然语言处理课程笔记——词向量、词义和神经分类器

    Natural Language Processing with Deep Learning 课程笔记2 1. 词向量和word2vec 2. 优化基础知识 3. 我们能否通过计数更有效地抓住词义的本 ...

  6. Deep Learning 9_深度学习UFLDL教程:linear decoder_exercise(斯坦福大学深度学习教程)...

    前言 实验内容:Exercise:Learning color features with Sparse Autoencoders.即:利用线性解码器,从100000张8*8的RGB图像块中提取颜色特 ...

  7. Deep Learning 10_深度学习UFLDL教程:Convolution and Pooling_exercise(斯坦福大学深度学习教程)...

    前言 理论知识:UFLDL教程和http://www.cnblogs.com/tornadomeet/archive/2013/04/09/3009830.html 实验环境:win7, matlab ...

  8. 【双语字幕】斯坦福大学-深度学习分析

    课程描述 深度学习是一种变革性的技术,在图像分类和语音识别方面取得了令人印象深刻的进步.许多研究人员正试图更好地理解如何提高预测性能,以及如何改进训练方法.有些研究人员使用实验技术,有人则使用理论方法 ...

  9. 斯坦福大学深度学习公开课cs231n学习笔记(10)卷积神经网络

    前记:20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时,发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(Convolution ...

最新文章

  1. 什么是SAAS 即软件即服务模式
  2. Windows7自带桌面截图不小心删了怎么办?
  3. tcp 二次握手时延_一篇搞懂TCP的三次握手 四次挥手
  4. laravel的validator验证
  5. python版本切换_怎么切换python版本
  6. 高效利用无标注数据:自监督学习简述
  7. spring4.0基于Java配置_Spring MVC学习笔记之Controller查找(基于Spring4.0.3)
  8. ES6——函数的name属性
  9. 用Redis实现分布式锁 与 实现任务队列【转载】
  10. 【142】阿蛮歌霸使用技巧
  11. 408计算机考研题型分布,计算机考研:计算机408大纲考点变化解析指导
  12. matlab中变压器的仿真,基于MATLAB的稳压变压器建模与仿真
  13. 大数据,云计算和物联网,三者之间的关系是什么?
  14. Switch开关大调节和提示文字样式调节
  15. codevs1515 瞎搞+Lucas
  16. 基于QT的商场线上购物管理系统之客户端
  17. Python超实用小技巧:统计每列缺失值的占比
  18. win10下装win7双系统_Win10用不惯?试试Win10加Win7双系统吧
  19. 关于不过洋节的通知_关于不过洋节的作文 3篇
  20. python爬虫——图片

热门文章

  1. 还能开发搜索引擎吗?
  2. MySQL - 锁等待及死锁初探
  3. 白话Elasticsearch70-ES生产集群部署之production mode下启动时的bootstrap check
  4. gitlab mysql 表_gitlab-mysql_高可用
  5. mysql连接优先级设置_MySQL的按优先级等效连接
  6. MySQL与Redis一致性解决同步问题
  7. python如何使用apriori_python-如何加快基于Apriori框架的速度,以仅生...
  8. GreenDao高级用法
  9. java绘制地球绕太阳转_Unity3D 公转小案例:地球围绕太阳转
  10. 路面平整度采集和计算方法