
Word2Vec-知其然知其所以然
【博客笔记】Word2Vec-知其然知其所以然
https://www.zybuluo.com/Dounm/note/591752
Fiona-Dong
这个作者很懒,什么都没留下…
展开
-
(三)Word2vec -- 3 基于Negative Sampling的模型
3. 基于Negative Sampling的模型3.1 选取负样本选取负样本需要按照一定的概率分布,Word2vec的作者们经测试发现:最佳的分布是34\frac {3}{4}43次幂的Unigram distribution。Unigram distribution的定义Unigram来自于Unigram Model(即,一元模型),认为语料库中所有词出现的概率都是互相独立的。因此,Unigram distribution是在语料库中随机选择,即,高频词被选中的概率大,低频词被选中的概率小转载 2020-09-06 14:02:08 · 631 阅读 · 0 评论 -
(三)Word2vec -- 2 基于Hierarchical Softmax的模型
2. 基于Hierarchical Softmax的模型从上一小节 相比神经概率语言模型的改进 的内容可以了解到,Word2vec提出了两种优化Softmax计算过程的方法,分别对应Word2vec的两种框架:Hierarchical Softmax 和 Negative Sampling。而Word2vec中存在两种重要模型:CBOW模型(Continuous Bag-of-Words Model)和Skip-gram模型(Continuous Skip-gram模型),分别可以基于上述两种框架进行实转载 2020-08-23 16:05:38 · 305 阅读 · 0 评论 -
(三)Word2vec -- 1 相比神经概率语言模型的改进
1. 相比神经概率语言模型的改进神经概率语言模型的主要目的是得到语言模型(N-gram模型同上),该过程可以求解出词向量。而Word2vec模型主要的目的是计算「词向量 word embedding」,因此会引起网络结构的调整;而计算词向量,通常是通过对语言模型的概率求最大似然来实现的。具体展开如下:1.1 优化网络结构基于上一小节 神经概率语言模型结尾的内容,可以了解到,对于神经概率语言模型,其缺点主要是计算量太大:具体体现在「隐层和输出层之间的矩阵运算」和「输出层上的Softmax归一化运算」转载 2020-08-16 12:21:32 · 576 阅读 · 0 评论 -
(二)背景知识 -- 4 神经概率语言模型
4. 神经概率语言模型对应上一小节 概率模型函数化,神经概率语言模型即用「神经网络」构建「函数FFF」。4.1 词向量对词典DDD中任意词www,指定一个固定长度的实值向量 v(w)∈Rmv(w)\in \Bbb R^mv(w)∈Rm。则,v(w)v(w)v(w)称为www的词向量,mmm为词向量的长度。词向量存在两种表示方法:(1) One-hot Representation用维度为字典长度的向量表示一个词,仅一个分量为1,其余为0。缺点:容易导致维度灾难,且无法很好地刻画词与词之间的关系转载 2020-08-08 21:59:39 · 1155 阅读 · 0 评论 -
(二)背景知识 -- 3 概率模型函数化
3. 概率模型函数化机器学习领域存在一种较为通用的做法:对所考虑的问题建模后,先为其构造一个目标函数,通过优化求得一组最优参数,然后利用最优参数对应的模型来进行预测。因此,对于N-gram模型,并不需要存储所有可能的概率参数,而是求解对问题建模后得到的目标函数的最优参数(通常好的建模可以使得最优参数的个数远小于所有概率参数的个数),然后计算时对概率进行连乘即可。对于统计语言模型,通常使用的目标函数为「最大似然函数」:∏w∈Cp(w∣Context(w))\prod_{w\in C}p(w|Cont转载 2020-08-08 21:02:35 · 229 阅读 · 0 评论 -
(二)背景知识 -- 2 N-gram模型
2. N-gram模型2.1 统计语言模型在自然语言处理中,统计语言模型(Statistic Language Model)是很重要的一环。简单来说,统计语言模型就是计算一个句子的概率的概率模型,即,语料库中出现这个句子的概率。假设 W=w1T:=(w1,w2,...,wT)W=w_1^T:=(w_1, w_2, ..., w_T)W=w1T:=(w1,w2,...,wT) 表示由TTT个词w1,w2,...,wTw_1, w_2, ..., w_Tw1,w2,...,wT按照顺序构成的转载 2020-08-08 20:23:19 · 732 阅读 · 0 评论 -
(二)背景知识 -- 1 Huffman树与Huffman编码
1. Huffman树与Huffman编码1.1 Huffman树1.1.1 背景在介绍赫夫曼编码前,需要介绍赫夫曼树,而介绍赫夫曼树,就不得不提到美国数学家赫夫曼(David Huffman) , 也译为哈夫曼。他在1952年发明了赫夫曼编码,为了纪念他的成就,于是将他在编码中用到的特殊二叉树称为赫夫曼树,将他的编码方法称为赫夫曼编码。也就是说,我们现在介绍的知识全都来自于近60年前这位伟大科学家的研究成果,而我们平时所用的压缩和解压缩技术也都是基于赫夫曼的研究之上发展而来的。1.1.2 概转载 2020-08-02 20:20:27 · 1119 阅读 · 0 评论 -
(一)介绍
1. 介绍Word2vec是Google于2013年推出的获取词向量的开源工具包,包括一组用于word embedding的模型。Word2vec的模型通常使用浅层(两层)神经网络训练词向量得到,以大规模语料库作为输入,然后生成一个向量空间(通常为几百维)。词典中的每个词都对应了向量空间中的一个唯一向量,且语料库中拥有共同上下文的词映射到向量空间中的距离会更近。参考博客:Word2Vec-知其然知其所以然...转载 2020-08-02 15:55:20 · 200 阅读 · 0 评论