课程概要
1、什么是自然语言处理
2、什么是深度学习(DL)
3、课程简介
4、为什么自然语言处理很难?
5、Deep NLP=Deep learning(深度学习)+NLP
一、什么是自然语言处理
- 自然语言处理是计算机科学,人工智能与语言学的交叉领域。
- 目的:使得计算机能够处理/理解自然语言,以完成任务,比如购物,问答(siri,cortana等)
- 充分理解并表征语言的含义是一个非常困难的任务
- 自然语言处理层次
- 自然语言处理(NLP)的一些应用
– 拼写检查,关键词搜索,寻找同义词
– 从网站进行信息抽取,比如产品价格、日期、地点、人或者公司名字
– 分类:比如情感分类等
– 机器翻译(Machine translation)
– 人机对话 - 在工业上,目前已经实现的自然语言处理(NLP)
– 搜索
– 在线广告匹配
– 自动/辅助翻译
– 市场或者金融的情感分析
– 语音识别
– 聊天机器人(Chatbots/Dialog agents):自动客户辅助,控制设备,产品排序等等 - 人类的语言有什么特点?
- 人类语言是能够传递说话者/写作者想要表达的含义的系统:它不仅仅是一个环境信号,也是一种慎重准确的交流;有趣的是这样一种编码,即使是很小的孩子也能马上学习。
- 人类语言是分离的/象征性的/分类象征系统
- 我们用语言表示概念,比如rocket表示火箭,violin表示小提琴,并基于这些概念建立起我们的交流
- 语言的分类象征性在交流中可以被编码为不同形式的信号(声音,手势,文字等),虽然形式不同,但是象征是一致的。
- 大脑在进行编码的时候是连续的模式,然后通过连续的声音或者信号进行象征的表现。这种词汇巨大的象征编码会导致机器学习的一个问题:稀疏性(sparsity)
二、什么是深度学习(DL)
- 深度学习是机器学习的一个子领域。
- 在深度学习出现之前,大部分的机器学习方法奏效的原因是人类设计的表征和输入的特征,而机器学习主要的任务就是为了获得更好的预测而进行权重优化。
- 而深度学习则相反,它将会从原始输入中尝试学习多层的表征与输出。
- 研究深度学习的原因
- 人工特征往往会有过度设定,不完整,需要花很长的时间设计和验证,而深度学习的特征很容易学习到。
- 深度学习提供了一个灵活的,几乎是普遍性的,可以学习的框架来对世界、语言、图像进行表征。
- 深度学习可以进行无监督学习也可以进行有监督学习
- 从2010开始深度学习技术的表现开始远远超过于其他机器学习的技术,最早是在语音识别上将效果大大提升,接下来在计算机视觉领域有了大大的提升(ImageNet)。(大数据,算力提升以及新的模型算法以及想法)
三、课程简介
- 前置需求
- 熟练使用python
- 多元微积分、线性代数
- 基础概率和统计
- 机器学习基础(损失函数,求导,梯度下降优化)
- 教学内容
- 理解并且能够使用有效的深度学习模型(会涉及到所有的基础模型,但是会对重要的有所侧重)
- 理解人类语言以及理解和生产他们的困难
- 理解并且能够建立系统来解决NLP的主要问题(单词相似,语法分析,机器学习,实体识别,问答系统,句子理解)
四、为什么自然语言处理很难?
- 表征、学习和使用语言知识、生活知识、情景知识以及图像知识是很困难的。
- 人类的语言是很模糊的(不像程序语言)
- 人类语言的解释依赖于现实世界、常识以及上下文知识
五、 Deep NLP=Deep learning(深度学习)+NLP
- 用表征学习和深度学习的方法去解决NLP的问题
- 一些在NLP领域的重大提升
- 层次:语音,单词,句法,语义
- 工具:词性、实体、句法分析
- 应用:机器翻译,情感分析,自动问答
- 将单词含义表征为高维向量,将这些高维向量降维以后转化为2维进行可视化,可以看到相似的单词距离会比较近。
从计算余弦相似度,两个向量之间相似度越高,代表的单词越相似。
- NLP层次的表征:语素,传统认为单词是由语素组成的,在深度学习中每个语素就是一个向量,神经网络会将两个向量合并成为一个向量
- NLP工具:句法分析,神经网络可以确定句子的结构,以辅助解释。
- NLP表征:语义
- NLP应用:情感分析,传统的方法是使用词袋表征(忽视单词顺序)或者是人工设定否定特征(并不能捕捉到全部);基本的深度学习模型RNN就可以解决这个问题。
- 对话机器人/回答生成:一个简单的应用实例就是Google Inbox app。这是神经语言模型(Neural Language Model)的一个应用,是RNN(循环神经网络)的一个实例。
- 机器翻译:使用神经机器翻译(Neural Machine Translation)将源语言投射成向量然后输出生成的句子。
- 结论:所有层次进行向量表征,在下一节课将会介绍怎样进行单词表征。
相关笔记:
(本文)斯坦福大学-自然语言处理与深度学习(CS224n) 笔记 第一课 介绍
斯坦福大学-自然语言处理与深度学习(CS224n) 笔记 第二课 词向量(word vector)
斯坦福大学-自然语言处理与深度学习(CS224n) 笔记 第三课 词向量(2)
斯坦福大学-自然语言处理与深度学习(CS224n) 笔记 第四课 单词窗口分类与神经网络
斯坦福大学-自然语言处理与深度学习(CS224n) 笔记 第五课 反向传播与项目指导
斯坦福大学-自然语言处理与深度学习(CS224n) 笔记 第六课 依存句法分析
斯坦福大学-自然语言处理与深度学习(CS224n) 笔记 第七课 tensorflow教程
斯坦福大学-自然语言处理与深度学习(CS224n)笔记 第八课 循环神经网络
斯坦福大学-自然语言处理与深度学习(CS224n)笔记 第九课 应用于机器翻译的RNN、GRU与LSTM
斯坦福大学-自然语言处理与深度学习(CS224n)笔记 第十课 神经机器翻译与attention模型
斯坦福大学-自然语言处理与深度学习(CS224n)笔记 第十一课 NMT与RNN的进一步讨论
斯坦福大学-自然语言处理与深度学习(CS224n)笔记 第十二课 语音处理的端对端模型
斯坦福大学-自然语言处理与深度学习(CS224n)笔记 第十三课 NLP中的卷积神经网络(CNN)