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

我学习自然语言是从Christopher D.Manning的统计自然语言处理基础这本书开始的,很多文本分析也是应用统计方法,或者机器学习的方法,而近年来深度学习逐渐渗入各个领域,其在自然语言处理领域中也取得了令人惊叹的效果,这成功的引起了我的重视,决定学习一下。何其所幸,让我找到了斯坦福大学深度学习与自然语言的课程,深得我心啊,所以打算好好学习一下,鉴于我爱自然语言处理中有相关课程的slides,我就直接复制粘贴了,接下来打算做的工作是对该课程中推荐阅读的部分论文做一些笔记。本人才疏学浅,专业水平不高,理解错误或不足之处,希望大家可以拿出来一同探讨,共同进步~

本文转载出处“我爱自然语言处理”:http://www.52nlp.cn

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

第一讲:引言-自然语言处理与深度学习简介(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(例如“单词”)

深度学习的历史

探索深度学习的原因

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

面向语音识别的深度学习

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

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)对于翻译系统是如何起作用的?

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

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

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

时间: 2024-08-01 17:49:28

斯坦福大学深度学习与自然语言处理第一讲的相关文章

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

斯坦福大学在三月份开设了一门"深度学习与自然语言处理"的课程:CS224d: Deep Learning for Natural Language Processing ,授课老师是青年才俊Richard Socher,他本人是德国人,大学期间涉足自然语言处理,在德国读研时又专攻计算机视觉,之后在斯坦福大学攻读博士学位,拜师NLP领域的巨牛 Chris Manning和Deep Learning 领域的巨牛 Andrew Ng ,其博士论文是< Recursive Deep Le

斯坦福大学深度学习与自然语言处理第二讲

第二讲:简单的词向量表示:word2vec, Glove(Simple Word Vector representations: word2vec, GloVe) 转载请注明出处及保留链接“我爱自然语言处理”:http://www.52nlp.cn 本文链接地址:斯坦福大学深度学习与自然语言处理第二讲:词向量 推荐阅读材料: Paper1:[Distributed Representations of Words and Phrases and their Compositionality]]

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

前言 理论知识:UFLDL教程和http://www.cnblogs.com/tornadomeet/archive/2013/04/09/3009830.html 实验环境:win7, matlab2015b,16G内存,2T机械硬盘 实验内容:Exercise:Convolution and Pooling.从2000张64*64的RGB图片(它是the STL10 Dataset的一个子集)中提取特征作为训练数据集,训练softmax分类器,然后从3200张64*64的RGB图片(它是th

Deep Learning九之深度学习UFLDL教程:linear decoder_exercise(斯坦福大学深度学习教程)

前言 实验内容:Exercise:Learning color features with Sparse Autoencoders.即:利用线性解码器,从100000张8*8的RGB图像块中提取彩色特征,这些特征会被用于下一节的练习 理论知识:线性解码器和http://www.cnblogs.com/tornadomeet/archive/2013/04/08/3007435.html 实验基础说明: 1.为什么要用线性解码器,而不用前面用过的栈式自编码器等?即:线性解码器的作用? 这一点,Ng

Deep Learning 12_深度学习UFLDL教程:Sparse Coding_exercise(斯坦福大学深度学习教程)

前言 理论知识:UFLDL教程.Deep learning:二十六(Sparse coding简单理解).Deep learning:二十七(Sparse coding中关于矩阵的范数求导).Deep learning:二十九(Sparse coding练习) 实验环境:win7, matlab2015b,16G内存,2T机械硬盘 本节实验比较不好理解也不好做,我看很多人最后也没得出好的结果,所以得花时间仔细理解才行. 实验内容:Exercise:Sparse Coding.从10张512*51

Deep Learning 十一_深度学习UFLDL教程:数据预处理(斯坦福大学深度学习教程)

理论知识:UFLDL数据预处理和http://www.cnblogs.com/tornadomeet/archive/2013/04/20/3033149.html 数据预处理是深度学习中非常重要的一步!如果说原始数据的获得,是深度学习中最重要的一步,那么获得原始数据之后对它的预处理更是重要的一部分. 1.数据预处理的方法: ①数据归一化: 简单缩放:对数据的每一个维度的值进行重新调节,使其在 [0,1]或[ − 1,1] 的区间内 逐样本均值消减:在每个样本上减去数据的统计平均值,用于平稳的数

深度学习与自然语言处理(3)_斯坦福cs224d Lecture 3

原文作者:Rohit Mundra, Richard Socher 原文翻译:@熊杰([email protected]) && @王昱森([email protected]) && @范筑军老师( [email protected]) && @OWEN([email protected]) 内容校正:寒小阳 && 龙心尘 时间:2016年6月 出处:http://blog.csdn.net/han_xiaoyang/article/deta

深度学习与自然语言处理(4)_斯坦福cs224d 大作业测验1与解答

深度学习与自然语言处理(4)_斯坦福cs224d 大作业测验1与解答 作业内容翻译:@胡杨([email protected]) && @胥可([email protected]) 解答与编排:寒小阳 && 龙心尘 时间:2016年6月 出处: http://blog.csdn.net/han_xiaoyang/article/details/51760923 http://blog.csdn.net/longxinchen_ml/article/details/51765

车万翔《基于深度学习的自然语言处理》中英文PDF+涂铭《Python自然语言处理实战核心技术与算法》PDF及代码

自然语言处理是人工智能领域的一个重要的研究方向,是计算机科学与语言学的交叉学科.随着互联网的快速发展,网络文本尤其是用户生成的文本呈爆炸性增长,为自然语言处理带来了巨大的应用需求.但是由于自然语言具有歧义性.动态性和非规范性,同时语言理解通常需要丰富的知识和一定的推理能力,为自然语言处理带来了极大的挑战. 近年来快速发展的深度学习技术为解决自然语言处理问题的解决提供了一种可能的思路,已成为有效推动自然语言处理技术发展的变革力量. 推荐将深度学习理论运用至NLP中的资料<基于深度学习的自然语言处理