简介
Word2Vec是Google于2013年推出的开源的获取词向量Word2Vec的工具包,其中包含了两个模型,即跳字模型(skip-gram)和连续词袋模型(continuous bag of words,CBOW),这些模型通常都是用浅层(两层)神经网络训练词向量。
相较于传统的神经网络语言模型,Word2vec把输入层到映射层的操作由『拼接』变成『叠加』,于是『词向量』以及『神经网络参数』就合并为一种,『神经网络参数』就是『词向量』,『词向量』也即是『神经网络参数』。
也不同于N-Gram模型,Word2vec模型主要的目的是计算出词向量word embedding,而不是语言模型。
Word2vec的模型输入是一个大规模语料库,输出是一个词向量空间(通常为几百维)。词典中的每个词都对应了向量空间中的一个独一的向量,而且语料库中拥有共同上下文的词映射到向量空间中的距离会更近。
Word2Vec中的数学原理推荐阅读:Word2Vec中的数学原理详解和Word2Vec-知其然知其所以然
Why not One-Hot?
One-hot Representation有两个缺点:
- 容易出现维度灾难;
- 无法准确表达不同词之间的关系。例如使用余弦相似度,则任何两个词的one-hot向量的余弦相似度都为0。(主要)

Skip-gram
基于中心词来生成周围词。
CBOW
基于周围词来生成中心词。