文本分布式表示(一):word2vec理论

Word2vec是Google的Mikolov等人提出来的一种文本分布式表示的方法,这种方法是对神经网络语言模型的“瘦身”, 巧妙地运用层次softmax(hierarchical softmax )和负采样(Negative sampling )两种技巧,使得原本参数繁多、计算量巨大的神经网络语言模型变得容易计算。

Word2vec概括地说是包含了两种模型和两种加速训练方法:

(一)两种模型:CBOW(continuous bag-of-words)和Skip-Gram。CBOW的目标是通过上下文的词语预测中间的词是什么。而skip-gram则相反,由一个特定的词来预测前后可能出现的词。这两个模型并非是在Word2vec中首次提出,而是神经网络语言模型中就有的。

(二)两种方法:层次softmax和负采样。层次softmax是通过构建一种有效的树结构(哈夫曼树,huffman tree)来加速计算词语的概率分布的方法;而负采样则是通过随机抽取负样本,与正样本一起参加每次迭代,变成一个二分类问题而减少计算量的方法。

 

学习资料:

1、cs224n《Introduction and Word Vectors 》

2、《word2vec中的数学原理详解》

https://blog.csdn.net/itplus/article/details/37969519

3、刘建平《word2vec原理》

https://www.cnblogs.com/pinard/p/7160330.html

4、Word2vec数学原理全家桶

http://shomy.top/2017/07/28/word2vec-all/

5、吴恩达 《深度学习》

posted @ 2019-03-25 13:15  Luv_GEM  阅读(3495)  评论(0编辑  收藏  举报