Word2Vec原理(二)-Negative Sampling与

2019-04-11  本文已影响0人  MashoO

上文提到了word2vec的核心原理,本质上是对bengio的NNLM模型进行的改进, 介绍了cbow与skipgram以及Hierarchical Softmax这一实现细节.此处将继续介绍另一个重要的细节:Negative Sampling, 再补充下工具包的一些参数以及个人使用过程中的一些心得.

从论文出发

以前对Negative Sampling的认识非常浅显,简单地认为,就是随机地增加几个负样本到模型里,以加速收敛.
翻阅部分网上博客跟知乎回答,发现并不是那么简单的问题,然后我把w2v的三篇论文以及NNLM的论文翻了出来,简单阅读了一下,下面综合了部分论文阅读的粗略见解与网上资料.
从工具包作者的论文可以知道, Negative Sampling是Hierarchical Softmax的一个替代品, 目的也是为了提升训练效率.此外,针对NNLM不关心词序,不能表述词组的问题,又给出了相应的解决办法.

Negative Sampling

  1. 提升效率
    假设训练的词典大小为1000, 那么在Softmax层,每一个训练样本需要更新1000个神经元的参数,Hierarchical Softmax也是为了缓解这个问题,使用了霍夫曼树后,需要更新的神经元数的期望值变成了log1000, 作者觉得这个还不够狠,毕竟谷歌的语料非常非常地大.
  2. 加速收敛
    另外还有个问题就是更新全部神经元必定会在收敛过程中走出折线,为什么?因为假设有一条数据是(我, 要), 中心词是我,那么在更新的时候,如果更新全部神经元,其实是相当于把(我,想),(我,得)这些都当做负样本,反之亦然.这样的话,不可避免会在收敛过程中走弯路.

论文的其他细节

本文最初提到了,论文作者针对NNLM不关心词序,不能表述词组的问题, 给出了词组的解决方案.

参数说明

我们现在项目中使用的是官方的c原版工具包,下载地址.因此下面的介绍也从官方包出发.
这是官方包里的demo脚本,下面简单说明参数的含义与用的时候的一些经验.

time ./word2vec -train huashu.txt -min-count 1 -output $SAVEPATH
 -cbow 0 -size 100 -window 7 -negative 0 -hs 1 -binary 1 -iter 50 -threads 20

我的工作背景是垂直领域下的意图识别与槽位抽取.举个最简单的栗子,系统输入一句话:北京今天天气怎么样, 我的任务是识别出意图:查询天气;识别槽位:city=北京.经验性内容也主要来自日常工作,毕竟是个超级学渣.

参数名 意义 经验值
train 输入路径 文本格式为按空格切分的语料
min-count 最小词频 语料库大的时候建议3以上,小的时候1,防止信息丢失
output 输出路径 输出为.bin文件,其实就是每行一个向量,第一行为元信息
cbow 是否使用cbow 为0时使用skipgram
size 输出维度 50以上就行
window 窗口大小 需要尝试,3456效果都还可以,如果语料已分词建议小点
negative 是否使用负采样 为1使用
hs 是否使用层序softmax 为1时使用
binary 是否输出二进制文件 1使用.默认为1就行
iter 迭代次数 我们一般在100以上,语料库大的时候建议小点,
sample 下采样时的超参数 越大则对高频词影响越大,默认为1e-3

根据官网的说明,工具包内还提供了一个效果评测的工具,根据名字就知道是一个类比方法,也就是验证诸如:国王-王后==男-女,这个评价标准其实也来自于论文,实际工作中的效果还是得看具体的任务.

参考文献

[1]刘建平Pinard.word2vec原理(三) 基于Negative Sampling的模型[EB/OL].http://www.cnblogs.com/pinard/p/7249903.html,2017-07-28.
[2]yuyuqi.word2vec(cbow+skip-gram+hierarchical softmax+Negative sampling)模型深度解析[EB/OL].https://zhuanlan.zhihu.com/p/35074402,2018-03-29.
[3]有道团队.Deep Learning实战之word2vec[EB/OL].http://techblog.youdao.com/?p=915#LinkTarget_699,2014-02-27.
[4]苏剑林.“噪声对比估计”杂谈:曲径通幽之妙[EB/OL].https://spaces.ac.cn/archives/5617/comment-page-1,2018-06-13.

上一篇下一篇

猜你喜欢

热点阅读