【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等)交流~

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

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

展开全文
Top
微信扫码咨询专知VIP会员