词向量表示
离散表示:one_hot 方法、TF-IDF方法,N-gram方法,从维度,权重,语序上构建词向量,但随着预料增多,都会出现维度膨胀,数据稀疏,计算量大的问题。
分布式表示:word2vec ,wordvec是词向量的一种,wordvec包含cbow和skip_gram
Word2Vec模型中,主要有Skip-Gram和CBOW两种模型,从直观上理解,Skip-Gram是给定input word来预测上下文。而CBOW是给定上下文,来预测input word,普通的CBOW模型通过上下文来预测中心词,抛弃了词序信息。
![](https://img2018.cnblogs.com/i-beta/1303129/201912/1303129-20191211205431602-167027062.png)
关于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://app.yinxiang.com/shard/s25/res/b8475392-6117-43cd-a9a4-5ecf97a50efe.jpg)
![](https://app.yinxiang.com/shard/s25/res/97c3aa65-906d-4f27-8505-6b699d2b0520.jpg)