Paper笔记: 斯坦福课程 CS224D:Deep Learning for NLP, lecture I
2016-09-16 21:47
337 查看
Paper笔记: 斯坦福课程 CS224D:Deep Learning for NLP, lecture I
①NLP的概念
自然语言处理(NLP):通过设计算法来让计算机能够“理解”人类的语言。
②Word Vector的概念
one-hot vetor:除了某个维度的值为1,其余都为0
这样的词向量不能表示出各个单词之间的关系。
③奇异值分解(SVD分解)来得到词向量(word vectors or word embeddings)
在得到一个X矩阵后,通过奇异值分解得到U S V(转置),其中U的每一行的向量来作为word embeddings,这样就可以得到词向量之间的关系.
现在的问题就在于如何得到这个X矩阵。
3.1:Word-Document Matrix
因为词性相似的单词会经常出现在同一篇文章中,所以构造这样一个矩阵:
当单词i出现在文章j中时,Xij设为1。
3.2:Window based Co-occurrence Matrix
这个矩阵依据相邻单词的关系。
比如:
通过SVD分解,然后取中间的对角矩阵的k行k列(这里有一个判断公式,不是太懂...),之后的U矩阵的行向量再作为word embeddings。
④Iteration Based Methods
这个方法不用大量的数据来获取词向量,而是创造一个模型来学习并最终得到一些概率。(这里理解的不好)
4.1 Language Models
首先我们需要创建一个模型来给出一个句子的概率。如果这个句子完整且有效,那么概率就应该很高,反之很低。
如果这个概率等于每个独立的单词的概率相加,那么就很可笑,因为没有一点依据。
所以可以假设句子的概率等于每两个相邻单词的概率,但这样依然不准确,毕竟只是两个单词。
4.2 Continuous Bag of Words Model (CBOW)
通过一个句子中的周围单词来预测另外一个单词。 通过 the cat over the puddle 来预测jumped
我们需要两个矩阵 U, V,
通过乘这两个矩阵来对周围单词的one-hot vector进行变形,从而得到一个新的一维向量,我们期望这个一维向量能和我们想要预测的单词的one-hot vector很相近。
(中间的计算过程不是很明白,先跳过。)
4.3 Skip-Gram Model
这个模型是通过一个单词来预测周围单词,和上一个模型相反。
所以 U和V矩阵也需要逆用。
①NLP的概念
自然语言处理(NLP):通过设计算法来让计算机能够“理解”人类的语言。
②Word Vector的概念
one-hot vetor:除了某个维度的值为1,其余都为0
这样的词向量不能表示出各个单词之间的关系。
③奇异值分解(SVD分解)来得到词向量(word vectors or word embeddings)
在得到一个X矩阵后,通过奇异值分解得到U S V(转置),其中U的每一行的向量来作为word embeddings,这样就可以得到词向量之间的关系.
现在的问题就在于如何得到这个X矩阵。
3.1:Word-Document Matrix
因为词性相似的单词会经常出现在同一篇文章中,所以构造这样一个矩阵:
当单词i出现在文章j中时,Xij设为1。
3.2:Window based Co-occurrence Matrix
这个矩阵依据相邻单词的关系。
比如:
通过SVD分解,然后取中间的对角矩阵的k行k列(这里有一个判断公式,不是太懂...),之后的U矩阵的行向量再作为word embeddings。
④Iteration Based Methods
这个方法不用大量的数据来获取词向量,而是创造一个模型来学习并最终得到一些概率。(这里理解的不好)
4.1 Language Models
首先我们需要创建一个模型来给出一个句子的概率。如果这个句子完整且有效,那么概率就应该很高,反之很低。
如果这个概率等于每个独立的单词的概率相加,那么就很可笑,因为没有一点依据。
所以可以假设句子的概率等于每两个相邻单词的概率,但这样依然不准确,毕竟只是两个单词。
4.2 Continuous Bag of Words Model (CBOW)
通过一个句子中的周围单词来预测另外一个单词。 通过 the cat over the puddle 来预测jumped
我们需要两个矩阵 U, V,
通过乘这两个矩阵来对周围单词的one-hot vector进行变形,从而得到一个新的一维向量,我们期望这个一维向量能和我们想要预测的单词的one-hot vector很相近。
(中间的计算过程不是很明白,先跳过。)
4.3 Skip-Gram Model
这个模型是通过一个单词来预测周围单词,和上一个模型相反。
所以 U和V矩阵也需要逆用。
相关文章推荐
- Fast.ai: Practical Deep Learning for coders 课程学习笔记:Part1 Lesson1 (Lesson0)
- 斯坦福课程“CS 20SI:TensorFlow for Deep Learning Research”中文讲义(1)
- Fast.ai: Practical Deep Learning for coders 课程学习笔记:Part1 Lesson1 (Lesson0)
- Fast.ai: Practical Deep Learning for coders 课程学习笔记:Part1 Lesson1 (Lesson0)
- [Paper 学习笔记]PCANet: A Simple Deep Learning Baseline for Image Classification?
- Fast.ai: Practical Deep Learning for coders 课程学习笔记:Part1 Lesson1 (Lesson0)
- (Stanford CS224d) Deep Learning and NLP课程笔记(一):Deep NLP
- CS224D:Deep Learning for NLP Note1
- 李菲菲课程笔记:Deep Learning for Computer Vision – Introduction to Convolution Neural Networks
- Fast.ai: Practical Deep Learning for coders 课程学习笔记:Part1 Lesson1 (Lesson0)
- Fast.ai: Practical Deep Learning for coders 课程学习笔记:Part1 Lesson1 (Lesson0)
- 斯坦福课程“CS 20SI:TensorFlow for Deep Learning Research”中文讲义(2)
- Fast.ai: Practical Deep Learning for coders 课程学习笔记:Part1 Lesson1 (Lesson0)
- Fast.ai: Practical Deep Learning for coders 课程学习笔记:Part1 Lesson1 (Lesson0)
- Fast.ai: Practical Deep Learning for coders 课程学习笔记:Part1 Lesson1 (Lesson0)
- Fast.ai: Practical Deep Learning for coders 课程学习笔记:Part1 Lesson1 (Lesson0)
- 【Deep Learning学习笔记】Deep learning for nlp without magic_Bengio_ppt_acl2012
- Fast.ai: Practical Deep Learning for coders 课程学习笔记:Part1 Lesson1 (Lesson0)
- 论文笔记——Deep Residual Learning for Image Recognition(论文及相关代码)
- 深度学习国外课程资料(Deep Learning for Self-Driving Cars)+(Deep Reinforcement Learning and Control )