word2vec
创建日期 星期二 05 三月 2019
word2vec,是用来训练词向量来做nlp的;
google团队在2013年发表了word2vec工具,主要包含两个模型
跳字模型(skip-gram) 连续词袋模型(CBOW)
以及两种高效训练方法
负抽样(negative sampling)和层序 (softmax)
使用word2vec就可以比较好的表达不同次之间的相似和类比关系;
word2vec就是把词语转换为相应的向量,也就是此前如的一种 (word embedding)
one-hot也是以一种词向量,但是只能表示向量,不能表示关系,并且可能带来维度过大;
所以为了把词向量的维度变小,使用词的分布式表示;
思路就是将每个词映射成一个较短的词向量上来,进行降维,这些词向量就构成了向量空间;进而可以使用普通的统计学方法来进行研究词和词之间的关系;
bigram是上下文长,trigram是上下文短,匹配的多;
词的分布式表示主要可以分成三类:基于矩阵的分布式表示,基于聚类的分布式表示和基于神经网络的分布式表示;
神经网络语言模型
Neural Network Language Model ,NNLM
Log-Bilinear Language Model, LBL
Recurrent Neural Network based Language Model,RNNLM
Collobert 和 Weston 在2008 年提出的 C&W 模型
Mikolov 等人提出了 CBOW( Continuous Bagof-Words)和 Skip-gram 模型
CBOW
CBOW(Continuous Bag-of-Word Model) 又称连续词袋模型,是一个三层神经网络,就是已知上下文,输出对当前单词的预测;Skip-gram只是逆转了CBOW的因果关系而已,即已知当前词语,预测上下文。