Word2vec tutorial-the skip gram &Word2Vec Tutorial Part 2 - Negative Sampling 文章讲解

 

Word2vec tutorial-the skip gram


1.总述:

      创建一个简单的神经网络,一个输入层,一个隐藏层,一个输出层,

我们只需要得到有效的隐藏层的权重即可。

2.构建数据:

      使用word pairs作为一个训练组(w1,w2)

输入一个单词,输出其上下文单词。

3.训练:

      输入w1的one-hot表示,输出所有词的概率分布(通过softmax得到),取           概率最大的那个词w*作为神经网络的输出词。

 

4.获取词向量:

 Hidden layer weight matrix即为词向量

注意:

         神经网络不考虑输出词相对于输出词的位置信息相似上下文的单词,其词向量也会相似。

5.分布式方法的限制:

5.1相似性的定义;不同语境下其效果会变差,即相似性并不只局限于其上下文的相似性,分布式的假设并没有那么的                 鲁棒。

5.2害群之马;许多词的“琐碎”属性不会反映在文本中

5.3反义词;基于分布式的假设的模型趋向于认为反义词之间非常的相似

5.4语料库的偏好;

5.5语境缺乏;词的含义依赖于上下文(语境),对于所有的形式都是用统一个向量是有问题的。


Word2Vec Tutorial Part 2 - Negative Sampling


1.问题:

对于拥有10000个不重复单词,每个单词300维的特征,其weight的个数为300million,如此多的数量,作梯度下降必然十分的slow.

2.词向量训练的优化方式:

2.1把具有普遍意义的词组作为一个单词

例如:Boston Globe 比单个的Boston和Globe更有意义在组成phrase之前,每对单词出现在训练文本的次数,都将决定是否组成phrase

2.2Subsampling Frequent Words

对频繁的单词进行子采样比如(fox,the),这个pairs对fox的含义并没有太大的

贡献,同时由于the出现的太频繁,含有the的pairs的训练对于the的词向量的贡献已经过饱和了。故在训练时,根据这个单词出现的频率决定其在训练时被删除的概率。

词的保留概率公式如下:

x->词频,公式的结果表示其保留的概率。即word的词频越大,

其保留的概率越低。

2.3negative sampling

训练时,由于在一次bp中需要对所有的参数求梯度,故速度太慢,所以每次只对部分的weight求导,更新部分Weight(对本应输出1的神经元(‘positive’)和其他n个本应输出0的神经元(‘negative’)),出现频率越高的词其越有可能被选作为negative samples

 

如何选择negative sample?

构建一个长度为n的table,根据每个单词的出现频率P(w)(f(wi)为word count),计算一个单词填充该单词的index多少次:n*P(w),从中选择单词的在table中的index,其表示的word即为negative sample.


Reference:

[1]http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/

[2]http://mccormickml.com/2017/01/11/word2vec-tutorial-part-2-negative-sampling/

[3]《Neural Network Methods in Natural Language Processing》chapter 10

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值