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

How I can extract matrixes WI and WO from gensim word2vec?

CBOW word2vec 方案如下所示:

如何从 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

w2v_model.wv.vectors 以前称为 "syn0",用作 "projection weights",本质上将单热字编码映射到 N 维度。在你的图中,那是 WI.

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