python - 如何从 gensim word2vec 中提取矩阵 WI 和 WO?
问题描述
CBOW word2vec 方案如下所示:
如何从中提取矩阵 WI 和 WO gensim.models.word2vec.Word2Vec
?我在 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
矩阵也只包含零元素,日志在这里:
解决方案
这w2v_model.wv.vectors
是以前称为“syn0”的东西,用作“投影权重”,它本质上将单热词编码映射到N维。在您的图表中,这是WI。
这w2v_model.trainables.syn1neg
是负采样模式的隐藏到输出权重,您的图表标记为WO。
推荐阅读
- python - 根据另一行的条件在 Pandas 数据框中创建新列的最佳方法是什么?
- settings - 故事书:使用 awesome-typescript-loader
- javascript - 如何在 Google Drive Api v3 中获取 webViewLink?
- javascript - YelpApi:JSON 解析错误:意外的标识符“缺失”
- git - Phabricator:未找到 Git 存储库
- php - 如何使用 Axios 在 Laravel 中进行会话?
- python - 带有特殊字符编解码器的 Pandas read_csv 文件路径无法解码
- java - JPA 是否允许 EntityListeners 执行 JPA 操作?
- node.js - 从请求nodejs读取json数据
- azure - 从 Azure Pipeline 模板克隆启用双因素身份验证的私有 GitHub 存储库,并将 PAT 作为机密