在word2vec模型中,有两个线性转换将词汇空间中的一个词带到一个隐藏层(“in”向量),然后返回vocab空间(“out “矢量)。通常在训练后丢弃这个向量。我想知道在gensim python中访问out矢量有没有简单的方法?等同地,我如何访问out矩阵?gensim word2vec存取/导出向量
动机:我想实现这个最近的一篇文章中提出的观点:A Dual Embedding Space Model for Document Ranking
这里有更多的细节。从参考上面我们有以下word2vec模型:
这里,输入层是尺寸$ V $,词汇大小,隐藏层是尺寸$ d $的,和一个输出层大小为$ V $。这两个矩阵是W_ {IN}和W_ {OUT}。 通常,word2vec模型只保留W_IN矩阵。这就是,在gensim训练word2vec模式后,你会得到什么返回东西,如:
模型[ '土豆'] = [ - 0.2,0.5,2,...]
如何访问或保留W_ {OUT}?这可能相当昂贵,我真的希望gensim中的一些内置方法能够做到这一点,因为我害怕如果我从头开始编写代码,它不会提供良好的性能。
到目前为止您是否有任何代码? – rebeling