word2vec中的一些参数和名词解释

负采样

然语言处理领域中,判断两个单词是不是一对上下文词(context)与目标词(target),如果是一对,则是正样本,如果不是一对,则是负样本。采样得到一个上下文词和一个目标词,生成一个正样本(positive example),生成一个负样本(negative example),则是用与正样本相同的上下文词,再在字典中随机选择一个单词,这就是负采样(negative sampling)。

假如我们有一个句子“The dog barked at the mailman”。

target 单词 或者input word

首先我们选句子中间的一个词作为我们的输入词,例如我们选取“dog”作为input word;

skip_window

有了input word以后,我们再定义一个叫做skip_window的参数,它代表着我们从当前input word的一侧(左边或右边)选取词的数量。如果我们设置skip_window=2,那么我们最终获得窗口中的词(包括input word在内)就是[‘The’, ‘dog’,‘barked’, ‘at’]。skip_window=2代表着选取左input word左侧2个词和右侧2个词进入我们的窗口,所以整个窗口大小span=2x2=4。

nums_skip

另一个参数叫num_skips,它代表着我们从整个窗口中选取多少个不同的词作为我们的output word,当skip_window=2,num_skips=2时,我们将会得到两组(input word, output word) 形式的训练数据,即(‘dog’, ‘barked’),(‘dog’, ‘the’)。

参考

玛卡瑞纳_a63b https://www.jianshu.com/p/da235893e4a5

例子

batch nums_skip skip_window
窗口长度=2*skip_window +1

在生成样本的过程中,batch是一次生成样本的个数,nums_skip是每次从窗口中选取的数,选定一定轮数,就是batch的值。所以,batch%nums_skip==0

  • 一个句子 [1,2,3,4,5,6,7,1,2,3,2],其中每个数字代表一个词。
  • batch = 4 nums_skip=1 skip_window = 1
    – 窗口 3 [1,2,3] 选1 [1] 或[3] 生成一个batch [2:1]
    [2,3,4] … 生成一个batch 。。
    …生成4个batch
  • batch = 4 nums_skip =2 skip_window =1
    – 窗口 3 [1,2,3] 选nums_skip=2 生成两个batch [2:1],[2:3]
    [2,3,4 ]选nums_skip=2 生成两个batch [3:2],[3:4]
    共计4个batch
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值