课程笔记:笔记pdf
youtube观看链接:youtube列表
bilibili观看链接:斯坦福CS224n
本讲主要包括四个方面:
自然语言处理(Natural Language Processing)是计算机科学(Computer Science)、人工智能(Artificial Intelligence)和语言学(Linguistics)的交叉学科。它的目标是让计算机能够处理(或者说“理解”)自然语言,从而完成一些有意义的工作。
让计算机理解自然语言是很困难的,因此一个NLP任务通常也会有很多步骤。大体上NLP任务可分为如下几个层次,从上到下具体是:
在这门课程中,我们主要关注句法分析和语义理解这两部分,同时也会涉及一些语音识别的知识。同时因为这门课的名字是Natural Language Processing with Deep Learning,所以在这门课中所使用的方法也大多是深度学习的方法。
从简单到复杂有:
语言与信号处理、数据挖掘时所思考的是不同的,在信号处理、数据挖掘过程中大多数情况下只是处理数据。
人类语言是离散的、明确的符号系统。
语言符号有多种形式(声音、手势、书写),在这些不同的形式中,其意义保持不变:
深度学习(Deep Learning)是机器学习的一个子集。
传统机器学习(主要是决策树、SVM、朴素贝叶斯、LR)中,人类需要对专业问题理解非常透彻,才能手工设计特征。然后把特征交给某个机器学习算法,比如线性分类器。机器为这些特征调整找到合适的权值,将误差优化到最小。
如上图所示,传统的机器学习算法在应用的过程中,大部分的工作是人们研究如何描述特征,同时总结出重要特征。小部分的工作是计算机进行优化。
在深度学习中,我们只需向计算机提供来自世界的原始信号(视觉信号或语音信号),计算机可以得出好的中介表征,来完成任务。
手工特征耗时耗力,且不易拓展
自动特征学习快,方便拓展
深度学习提供了一种通用的学习框架,可用来表示世界、视觉和语言学信息
深度学习既可以无监督学习,也可以监督学习
深度学习可追溯到八九十年代,但在2010年左右才崛起(最先是语音与图像,后来才是NLP),那之前为什么没有呢?
人类语言是充满歧义的,不像编程语言那样明确。
人类语言的解读依赖于现实世界、常识以及上下文。由于说话速度书写速度阅读速度的限制,人类语言非常简练,省略了大量背景知识。
deep nlp = deep learning + nlp
将自然语言处理的思想与表示学习结合起来,用深度学习的手法解决NLP目标。这提高了许多方面的效果:
层次:语音、词汇、语法、语义
工具:词性标注、命名实体识别、句法\语义分析
应用:机器翻译、情感分析、客服系统、问答系统
我们将把某个词的含义,用一个向量来表达。
例如“except”一词,可以使用如下向量表示:
这就意味着,我们将单词放在高维向量空间中,构成了语义空间。具有相似含义的词汇将在矢量空间中形成聚集块。如下图所示,'come' 与 ‘go’ 很相似。
不止如此,我们会发现,向量空间中存在方向,它们会透露关于成分和意义的信息。
传统情况下如果我们看到复杂的词,例如uninterested,会认为它是由更小单元的词素(词素是构成词的要素。是语言中最小单位的音义结合体)组成的。
我们可以把词语的组成部分看做,代表单词部分含义的多个向量。我们要做的,就是建立一个神经网络,用小块单元构成更大的单元。多个词素向量构成语义更丰富的词向量。
NLP工具:句法分析
再进一步,词语之上,我们想了解句子的结构。找出句子的结构,发现句法停顿处。
找到句子的结构后,我们想要了解句子的含义。我们以向量表示词语含义,继而用向量表示短语的含义,甚至句子的含义。
问答系统:
人类可以与移动设备进行交互。
客服系统:
最著名的例子得数GMail的自动回复:
可以生成谷歌收件箱的建议回复,即运用循环神经网络(RNN) 阅读消息,然后对信息给出三条建议回复。
机器翻译
下图所示的机器翻译不同于传统的机器翻译,运用了一个大型的,深层的循环神经网络。通过原文生成向量,由向量构建译文。
所有层级的表示都是向量,我们用来表示所有的语言形式(包括:声音、词的部分、单词、句子,对话),它们都变成了含有真实值的向量。
这可能是因为向量是最灵活的形式,它的维度是自由的,它可以组合成矩阵,或者更高阶的Tensor。它的不同部分,或者不同的方向,代表不同的信息。这实际上是非常灵活的数据结构,拥有强大的表达能力。
CS224N NLP with Deep Learning(一):Introduction
CS224n笔记1 自然语言处理与深度学习简介