基本概念梳理
词向量的名字形式:
- 词向量(word vector),图像和音频等信号都可以用一个矩阵或者向量表示,所以我们也希望用一个数学方法来表达单词,这样可以方便的用于各种后续计算,这就是词向量
- 词嵌入( word embedding)
词向量有两种类型:
- one-hot representation
- distributed representation
通过神经网络训练语言模型可以得到词向量。
神经网络语言模型:
- Neural Network Language Model ,NNLM
- Recurrent Neural Network based Language Model,RNNLM
- Collobert 和 Weston 在2008 年提出的 C&W 模型
- Mikolov 等人提出了 CBOW( Continuous Bagof-Words)和 Skip-gram 模型
怎样实现/训练上面的神经网络语言模型:
- CBOW 和 Skip-gram :word2vec(在传统神经网络基础上进行了改进)
- C&W :SENNA
参考
word2vec就是用一个一层的神经网络(CBOW的本质)把one-hot形式的词向量映射为分布式形式的词向量,为了加快训练速度,用了Hierarchical softmax,negative sampling 等trick。
分布式词向量并不是word2vec的作者发明的,他只是提出了一种更快更好的方式来训练也就是:连续词袋模型Continous Bag of Words Model(CBOW)和Skip-Gram Model。这两种都是训练词向量的方法,可以选择其一,不过据论文说CBOW要更快一些(1天vs.3天的区别)。统计语言模型statistical language model就是给你几个词,在这几个词出现的前提下来计算某个词出现的(事后)概率。CBOW也是统计语言模型的一种,顾名思义就是根据某个词前面的C个词或者前后C个连续的词,来计算某个词出现的概率。Skip-Gram Model相反,是根据某个词,然后分别计算它前后出现某几个词的各个概率。
对CBOW和Skip-gram模型的训练中,word2vec采用distributed representation表示的词向量。
word2vec的语言模型改进传统的神经网络有两种方法:
- 基于Hierarchical Softmax
- 基于Negative Sampling
入门参考文章
- 词向量和语言模型:Deep Learning in NLP (一)词向量和语言模型
- 关于CBOW和Skip-Gram传统神经网络的具体解释(即还没有用word2vec改进时的基本思想):通俗理解word2vec
- 关于word2vec的系列文章:
word2vec原理(一) CBOW与Skip-Gram模型基础
word2vec原理(二) 基于Hierarchical Softmax的模型
word2vec原理(三) 基于Negative Sampling的模型 - 关于word2vec的数学原理解释: word2vec 中的数学原理详解 这一篇可以和上面的系列文章结合起来看
- seq2seq
学习线路
-
阅读Mikolov 两篇原论文:
『Efficient estimation of word representations in vector space』『Distributed Representations of Sentences and Documents』
-
Xin Rong 的论文:『word2vec Parameter Learning Explained』
-
来斯惟的博士论文『基于神经网络的词和文档语义向量表示方法研究』
这里主要参考了知乎上的这篇文章给出的阅读材料建议。

本文深入探讨了词向量(wordvector)与词嵌入(wordembedding)的概念,介绍了词向量的两种类型:one-hotrepresentation和distributedrepresentation。重点讲解了通过神经网络训练语言模型获取词向量的方法,包括NNLM、RNNLM、C&W模型、CBOW和Skip-gram模型。同时,讨论了word2vec如何改进传统神经网络语言模型,以及其背后的数学原理。
1309

被折叠的 条评论
为什么被折叠?



