@songying
2018-10-06T16:02:52.000000Z
字数 1635
阅读 1658
deep-learning
Deep Learning in NLP (一)词向量和语言模型 -- 写的很好
这篇文章闷了20天左右才真正完成,一方面是觉得自己理解不够(毕竟不是专门做词向量的),另一方面是要学习的内容太多,以至于没有时间对自己的知识进行归纳总结,真是一入NLP深似海啊。
阅读本文之前你需要对整个NLP的发展,包括语言模型,Word Embedding等有基本的了解,如果你对此并不熟悉的话,可以参见:
Word2Vec是Word Embedding的一种模型,其与A Neural Probabilistic Language Model中介绍的模型作用相同,但是更有效,是目前使用最广的词向量模型。
如果说要深入了解Word2Vec,我推荐你看以下这几个Paper:
在Word2Vec中,提出了两个模型:
- CBOW(Continuous Bag-of-Word):以上下文词汇预测当前词: 去预测
- SkipGram:以当前词预测其上下文词汇: 去预测
- CBOW(Continuous Bag-of-Word):以上下文词汇预测当前词: 去预测
这是一个两层的神经网络,并且与A Neural Probabilistic Language Model中的模型类似,不同点在于CBOW去掉了最耗时的非线性隐层且所有词共享隐层。而CBOW模型的目的是预测 。
- 已知当前词 的前提下,预测其上下文 。
对于输入层,我们输入的是一个单词,其表示形式依旧是One-hot ,我们将其表示为。
我们先将该词转化为对应的词向量,并作为隐层的输入(因为隐层没有激活函数,所以输入=输出):
输出层输出C个单词,分别为: