【中英字幕】CS224n 斯坦福深度自然语言处理课 Christopher Manning/ Richard Socher 领衔主讲

开课时间:5月16日开始正式更新,每周更新1个Lecture
开课时长:18讲视频 +3次课间作业+ 终极课程项目

skip-gram:从中心词预测上下文

CBOW:从上下文预测中心词

SGD 随机梯度下降

[展开全文]

1、word2vec针对的是一整个语料库,对每个窗口移动去算的每一个lost func 

2、共现矩阵对于count 出x的计算方法

1)一些停用词,设置一个最大值,比如 the 最大为100

2)举例中心词越远,给个衰减,比如m=5之后的词,出现一次,加0.5

3、用svd分解,去给词向量(共现计数)降维度,然后去降维后的前两个值,作图

4、svd分解虽然简单,优化上--> glove

5、skip-gram 不用统计信息

6、woman - man + king 后,与他最大的余弦相似性的词是queue

Paper 一词多义

1、一次多义可认为是多个语义向量线性叠加,可以通过稀疏编码,

对比Skip-gram(一次一个窗口,更新的是窗口中涉及到的词的概率) & Glove(先计算所有计数,然后处理计数

Skip-gram & Glove

 

 

[展开全文]

1、wordnet 上位词、同义词,做语义检索的时候很有用,无法区分同义词之间的区别

2、one hot 缺失词之间的联系,词联系nlp中很重要

3、more than one thing we can do about it

4、分布相似性,观察每个出现banking的单词的句子,并通过某种上下文表示统计

5、每一个单词用一个向量表示

6、注意分布式表示和onehot表示是两种词向量的 表示方法,分布式学习,指的是用中心词预测上下文的词的一种理论

7、句向量:1) 计算加权平均的句向量,2)计算向量的第一主成分,然后减去第一主成分的投影

word2vec

1、skip-grams(SG)

选定一个中心词,有且只有一个概率,这个概率就是用来输出上下文单词。

做法:给定一个半径m,行文中的每个词,循环计算它前后各m个词的出现分布。损失函数为

theta就会词向量表示,转化为对数概

sgd方法训练。

2、CBOW

 

 

 

[展开全文]

每一个单词都对应着两个向量:中心向量(center vector)和上下文向量(outside vector或output vector),其中中心向量更多的是表示单词本身的意思,而上下文向量则是表示单词的上下文的意思。

[展开全文]

skip-gram模型试图一次捕获同时出现的一个窗口里词汇上下文的关系。

Glove模型试图捕捉同一个窗口下这些单词的共同出现的词频数关系。

评价词向量的好坏:

1.内部评价。

2.外部评价。

[展开全文]

distributed: 词义分布在向量中,维度低,紧凑。与之对应的是local,局部向量表示词义,如one hot,维度高,稀疏。

distributional:符合分布的词义表示,词义相近,分布距离也近。

skip gram: 每个词有2个向量, 作为上下文的u,和作为中心词的v。

 

[展开全文]

纠错:00:49处翻译有误,what is deep learning,应该是“什么是深度学习”

[展开全文]

交叉熵其实只有一项,就是真实label对应的对数概率。

交叉熵可以理解为KL散度。

[展开全文]

词高维向量没有意义。SVD的坐标没有现实意义。

DL is representation learn. 只需要把数据输入,DL会寻找生成特征

NLP的应用:

1.近义词 similarity

2.词的不同时态Morphology

3.找出句子结构,语法分析

4.句子含义semantics

5.情感分析

6.聊天机器人

7.机器翻译

RNN recurtent neural network

[展开全文]

矩阵很稀疏。

目标函数非凸,初始化很重要。

可以走若干窗口之后,做一次更新。

 

syntactic:句法

semantic:语义

 

Glove中使用两组向量同样是出于优化的考虑。

U和V是可以互换的。

[展开全文]

这节课视频推导里有一个小细节要注意,防止被坑。讲到skip-gram算法的过程图里,中心词与三个不同上下文词做点积运算结果不一样,但实际上应该全部是一样的,因为与中心词做运算的权重举证w'是同一个。他视频讲的也是。最新的课件也更正了这个错误。

http://vedio.leiphone.com/5b03c6334f058.pdf

[展开全文]

Max-margin Objective Funtion是一个powerful的损失函数 

[展开全文]

KL distribution

Regularization for minimizing test error & overfitting

 

[展开全文]

skip-gram:给定中心词,去预测周围的词

损失函数都是非凸的

 

 

 

[展开全文]

1. baby math

2. one_hot coding

3. 几个概念

  • Distributional similarity:分布式相似度,指的是单词在不同的句子中的分布的相似度,

"You shall know a word by the company it keeps" ---J.R.Firth

就是指我们可以通过和该单词搭配的单词来认识这个单词。

 

  • Distributed representation指的是和one-hot编码不同的方式表示一个词汇的含义,即在一个大的向量空间中模糊化词汇的含义。

4.  Basic idea of neural network word embeddings:

p(context|w_t) = ...

loss function: J = 1 - p(w_-t | w_t)

即预测出Word t (中心词汇)周围的词。

这样可以用来预测上下文。 

Directly learning low-dimensional word vectors

5. word2vec:

是一个软件

  • 2个生成Word vectors的算法
  • 2个训练效率中等的训练方法
公式:

Skip-grams(SG)算法:

 

 

[展开全文]

作业1是大量的编程 

skip-gram:中心词预测附近词语

听不懂:negative-sampling

 

[展开全文]

ditributinal 

distrubuted representation

[展开全文]

进入小组观看课程

以下为该课程相关学习小组,您可以选择任意小组加入学习课程并交流