如何从gensim word2vec中提取矩阵WI和WO?

时间:2018-07-30 12:38:20

标签: python gensim word2vec

CBOW word2vec方案如下:

enter image description here

如何从gensim.models.word2vec.Word2Vec中提取矩阵WI和WO? 我在gensim w2v模型中只找到了以下字段:

gensim.models.word2vec.Word2Vec.trainables.syn1neg

gensim.models.word2vec.Word2Vec.vw.syn1neg.vectors

我可以假设syn1neg是WI,WO = vectors-syn1neg吗?

为什么要输入这个代码

sentences = [['car', 'tree', 'chip2'], ['chip1', 'sugar']]
model = Word2Vec(sentences, min_count=1, size = 5)

只给Word2Vec.trainables.syn1neg矩阵添加零个元素?

对于30MB的数据集Word2Vec.trainables.syn1neg矩阵也仅包含零个元素,此处的日志为:

gensim log

1 个答案:

答案 0 :(得分:1)

w2v_model.wv.vectors以前被称为“ syn0”,并用作“投影权重”,其实际上将单字编码映射为 N 个维度。在您的图表中,这是 WI

w2v_model.trainables.syn1neg是负采样模式的隐藏到输出的权重,您的图表将其标记为 WO