我在Python中使用gensim的word2vec包。我希望获取在skip-gram学习过程中学习到的W
和W'
权重矩阵。
我认为model.syn0
可以给我第一个矩阵,但我不确定如何获取第二个矩阵。有什么想法吗?
实际上,我非常希望找到关于模型可访问属性的详尽文档,因为官方文档似乎不够精确(例如,syn0
没有被描述为一个属性)
回答:
model.wv.syn0
包含了输入嵌入矩阵。当使用层次化softmax(hs=1
)训练时,输出嵌入存储在model.syn1
中;当使用负采样(negative>0
)时,存储在model.syn1neg
中。就是这样!当层次化softmax和负采样都没有启用时,Word2Vec
使用单一的权重矩阵model.wv.syn0
进行训练。
另见相关讨论这里。