理解 Word2Vec 之 Skip-Gram 模型
Word2Vec是从大量文本语料中以无监督的方式学习语义知识的一种模型,它被大量地用在自然语言处理(NLP)中。Word2Vec其实是通过学习文本来用词向量的方式表征词的语义信息,即通过一个嵌入空间使得语义上相似的单词在该空间内距离很近。Embedding是一个映射,将单词从原先所属的空间映射到新的多维空间中,也就是把原先词所在空间嵌入到一个新的空间中去。
从直观角度上来理解一下,cat这个单词和kitten属于语义上很相近的词,而dog和kitten则不是那么相近,iphone这个单词和kitten的语义就差的更远了。通过对词汇表中单词进行这种数值表示方式的学习(也就是将单词转换为词向量),能够让我们基于这样的数值进行向量化的操作从而得到一些有趣的结论。比如说,如果我们对词向量kitten、cat以及dog执行这样的操作:kitten - cat + dog,那么最终得到的嵌入向量(embeddedvector)将与puppy这个词向量十分相近。
具体内容请看知乎专栏:
https://zhuanlan.zhihu.com/p/27234078
原文英文文档请参考链接:
- Word2Vec Tutorial- The Skip-Gram Model
- Word2Vec (Part 1):NLP With Deep Learning with Tensorflow (Skip-gram)
这是我按照作者的介绍,复制他的代码,进行了程序的运行,记录在我的博客上面,进行更加深入的学习。