word2vec学习
word2vector是将语言中的字词转换为计算机可以理解的稠密向量,进而可以做自然语言处理的工作,如,文本分类,机器翻译等。中文常译文词向量。
word2vec提出的原因,
基于计数的N-元语言模型,数据稀疏,忽略语义相似性。
one-hot encoder 与Vector space model存在两个问题:数据稀疏,字词间可能存在的关系。
word2vec主要分为两种模式,
cbow,从原始的句子推目标词,适合小型的数据库。
skip-gram,从目标词推原始的句子,适合大型的语料。
使用word2vec训练语料后,语义相近的词在空间中的位置离得比较近。
简单的说:word2vec用一个一层的神经网络(CBOW的本质)把one-hot形式的词向量映射到分布式形式的词向量,为了加快训练速度,用了Hierarchical softmax,negative sampling 等trick。