Lec3.0 Word2vec

word2vec

Word2vec是一群用来生成词向量的模型。这些模型很浅,用两层神经网络来训练构建词的语义上下文。Word2vec输入是一个大的文本语料库,输出是一个向量空间,通常有数百维,语料库中每一个词对应向量空间中的一个向量。语料库中上下文相似的词它们对应的词向量也相近。

Word2vec是由Google的Tomas Mikolov和他的团队在2013年创造的。由Word2vec产生的词向量比以前的算法比如latent semantic analysis更好。

CBOW and skip grams

Word2vec可以用任意一个模型来产生词的分布式表示:continuous bag-of-words(CBOW)continuous skip-gram。在CBOW中,这个模型从一个窗口中的上下文中预测当前的词。在skip-gram中,模型用当前的词来预测窗口中的上下文。skip-gram看重附近的词。根据作者的笔记,CBOW快,skip-gram慢,但对不常见的词效果更好。

参数

Training algorithm

Word2vec模型可以用hierarchical softmax和/或negative sampling训练。hierarchical softmax方法用Huffman tree来估算目标函数conditional log-likelihood用以减少计算量。另一方面,negative sampling,通过最小化负实例的log-likelihood来最大化目标函数。根据作者的描述,hierarchical softmax在不常见的词上表现更好,negative sampling在常见词和地位向量上表现更好。

Sub-sampling

高频词通常提供的信息量少。可以去掉频率超过一个阈值的子集来提高训练速度。

Dimensionality

word embedding的质量随着维度增加而增高。但到达一定值后,会边际效益递减。通常,词的维度设置在100到1000之间。

Context window

上下文窗口大小决定给定一个词后前面由多少词,后面有多少词来组成给定词的上下文。根据作者的笔记,skip-gram推荐10,CBOW推荐5。

你可能感兴趣的:(深度学习,STAT,946:,Deep,Learning,笔记)