word embedding 精要整理

word embedding
Embedding就是用一个低维稠密的向量“表示”一个对象,这里所说的对象可以是一个词(Word2vec),也可以是一个物品(Item2vec),亦或是网络关系中的节点(Graph Embedding)。其中“表示”这个词意味着Embedding向量能够表达相应对象的某些特征,同时向量之间的距离反映了对象之间的相似性。
具体含义:词的实数向量化表示,可以通过向量相似性度量语义相似性,相似性原理是上下文的一致性
 
Embedding在数学上表示一个maping, f: X -> Y, 也就是一个function,通俗的翻译是单词嵌入,把X所属空间的单词映射为到Y空间的多维向量,word embedding,就是找到一个映射或者函数,生成在一个新的空间上的表达。
分布式表示 distributed representation
分布式表示的理论基础:上下文相似的词,语义也相似  Harris 在 1954 年提出的分布假说( distributional hypothesis)为这一设想提供了理论基础:上下文相似的词,其语义也相似。
基于矩阵:矩阵的每一行表示词的上下文分布,上下文相似,语义相似。矩阵向量的空间距离即代表了相似性
基于神经网络:通过神经网络对上下文,以及上下文与目标词之间的关系进行建模
词向量如何生成:
用一个神经网络来训练。一个训练的样本输入是一个词和另外一个词的one-hot形式,而样本的标签是这两个词的关系,如果他们两经常出现在一起(根据skip-gram方法),则标签为1,反之为0。训练得到的网络中的权重就是词向量。网络倒数第二层的权重。

词向量表示

离散表示:one_hot 方法、TF-IDF方法,N-gram方法,从维度,权重,语序上构建词向量,但随着预料增多,都会出现维度膨胀,数据稀疏,计算量大的问题。

分布式表示:word2vec ,wordvec是词向量的一种,wordvec包含cbow和skip_gram

Word2Vec模型中,主要有Skip-Gram和CBOW两种模型,从直观上理解,Skip-Gram是给定input word来预测上下文。而CBOW是给定上下文,来预测input word,普通的CBOW模型通过上下文来预测中心词,抛弃了词序信息。

CBOW算法对于很多分布式信息进行了平滑处理(例如将一整段上下文信息视为一个单一观察量)。很多情况下,对于小型的数据集,这一处理是有帮助的。相比之下,Skip-Gram模型将每个“上下文-目标词汇”的组合视为一个新观察量,这种做法在大型数据集中会更为有效
 

 关于Word2Vec几个问题思考

(1) Hierarchical Softmax方法中哈夫曼树是如何初始化生成的?也就是哈夫曼树是如何构建的呢?

答:Hierarchical Softmax依据词频构建Huffman树,词频大的节点离根节点较近,词频低的节点离根节点较远,距离远参数数量就多。

(2)Hierarchical Softmax对词频低的和词频高的单词有什么影响?为什么?

答:词频高的节点离根节点较近,词频低的节点离根节点较远,距离远参数数量就多,在训练的过程中,低频词的路径上的参数能够得到更多的训练,所以Hierarchical Softmax对词频低的单词效果会更好。

(3)Hierarchical Softmax方法中其实是做了一个二分类任务,写出它的目标函数?

答: [公式] ,其中 [公式] 是真实标签, [公式] 是模型预测的标签。

(4)Negative Sampling是一种什么采样方式?是均匀采样还是其它采样方法?

答:词典 [公式] 中的词在语料 [公式] 中出现的次数有高有低,对于那些高频词,被选为负样本的概率就应该比较大,反之,对于那些低频词,其被选中的概率就应该比较小。这就是我们对采样过程的一个大致要求,本质上就是一个带权采样问题。

(5)详细介绍一下Word2vec中负采样方法?

答:先将概率以累积概率分布的形式分布到一条线段上,以 [公式] 为例, [公式] 所处线段为 [公式] , [公式] 所处线段为 [公式] , [公式] 所处线段为 [公式] ,然后定义一个大小为 [公式] 的数组,并把数组等距离划分为 [公式] 个单元,然后与上面的线段做一次映射,这样我们便知道了数组内的每个单元所对应的字符了,这种情况下算法的时间复杂度为 [公式] ,空间复杂度为 [公式] , [公式] 越小精度越大。

最后,我们来聊一聊Word2vec对Embedding技术的奠基性意义。Word2vec是由谷歌于2013年正式提出的,其实它并不完全由谷歌原创,对词向量的研究可以追溯到2003年论文《a neural probabilistic language model》,甚至更早。但正是谷歌对Word2vec的成功应用,让词向量的技术得以在业界迅速推广,使Embedding这一研究话题成为热点。毫不夸张地说,Word2vec对深度学习时代Embedding方向的研究具有奠基性的意义。

从另一个角度看,在Word2vec的研究中提出的模型结构、目标函数、负采样方法及负采样中的目标函数,在后续的研究中被重复使用并被屡次优化。掌握Word2vec中的每一个细节成了研究Embedding的基础。


天才是百分之一的灵感,加百分之九十九的汗水,但那百分之一的灵感往往比百分之九十九的汗水来的重要
原文地址:https://www.cnblogs.com/Christbao/p/12022218.html