首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解释word2vec权重的形状?

如何解释word2vec权重的形状?
EN

Stack Overflow用户
提问于 2018-05-13 06:40:50
回答 1查看 1.4K关注 0票数 1

我正在尝试使用我的word2vec模型中的权重作为keras中神经网络嵌入层的权重。我下面介绍的example code使用:

代码语言:javascript
复制
word_model = gensim.models.Word2Vec(sentences, size=100, min_count=1, 
                                window=5, iter=100)
pretrained_weights = word_model.wv.syn0
keras_model.add(Embedding(input_dim=vocab_size, output_dim=emdedding_size, 
                weights=[pretrained_weights]))

我知道word2vec为每个单词创建向量,在本例中大小为100。

pretrained_weights.shape返回( 1350 ,100),但是我不确定1350这个数字是什么意思。

keras_model.predict(np.array([word_model.wv.vocab['test'].index]))返回一个大小为1350的向量,我不确定如何解释它(模型训练的响应是一个大小为7200的向量)。

我可以运行示例代码并获得良好的结果,但我想知道它为什么工作。

EN

回答 1

Stack Overflow用户

发布于 2018-05-13 07:04:44

你已经说过答案了。每个单词被嵌入以固定大小为100的向量。在你的例子中,1350是词汇量,即单词的数量。至少这是Embedding层所期望的。该矩阵(1350,100)的每一行对应于单个字。Embedding层只是对给定的单词索引i执行weights[i]并返回行。

当你预测模型的输出时,一个单词可能是你词汇表中的1350个单词中的一个,因此你得到了一个大小为1350的向量,很可能是来自softmax的概率分布,告诉你它可能是哪个单词。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50311253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档