Word2vec

Word2Vec

Word2vec是一种从原始语料学习获得低维、实值、稠密的词向量表示的方法,核心思想是使得具有相似上下文的字/词能够在向量空间具有相近的距离。word2vec比较好的解决了one-hot词向量的词汇鸿沟问题,最经典的例子就是“国王-王后=男人-女人”。

基本思想和直观理解

word2vec的基本框架可以描述为:

  • 我们有一个大规模的语料库以及词库
  • 词库中的每个词都有一个向量表达
  • 遍历文档中的每个位置t,我们有一个center word c和context/outside words o
    • 所谓context word是指在给定window size下center word的邻近词
  • 通过词向量co之间的相似度来计算p(c|o)或者p(o|c)
  • 不断调整词向量来最大化这个概率

Word2vec

Word2vec

word2vec有两种架构:

  • Skip gram:根据center word来预测context word
  • CBOW (continuous bag of words): 根据context word来预测center word

神经网络架构

Word2vec
Word2vec
Word2vec
Word2vec
Word2vec

Why one-hot

权重矩阵的行其实就是我们需要的词向量。
Word2vec
因此权重矩阵也称为”word vector lookup table“。
Word2vec


参考资料

Word2Vec Tutorial - The Skip-Gram Model
Stanford CS 224n- word2vec slides
Stanford CS 224n- word2vec lecture notes
learn word2vec by implementing it in tensorflow