简介
word2vec包含两个模型,跳字模型(skip-gram)和连续词袋模型(CBOW),以及两种高效的训练方法:负采样和层序softmax。
模型
CBOW 根据上下文的词来预测中心词
分为三层:
输入层:我们上下文窗口中包含的词
举个例子:I like my new bike 这句话中,假设中心词my, I like 是上文词,new bike是下文词。 那么我们输入层对应的就是这四个词的one-hot形式。
投影层:可以理解为隐藏层,将上下文的词汇表示进行线性变换后累加求和求平均。将多个向量变成一个向量。
输出层:以文本中出现过的词当做叶子结点,以各词出现的次数当做权值,来构建Huffman树。如果词表中有D个词,则有D个叶子结点。
内部细节:
- 输入的是该中心词对应的2m个上下文词(one-hot)
假设词表有1000个单词,那么每个单词对应的shape=[1,1000],其中有一位为1. - 我们最后希望的稠密词向量的维度为300维,那么初始化一个W